From dc6aeeb5a2f9ae85219511e053ddfe2c3d9824fe Mon Sep 17 00:00:00 2001 From: IsharaEkanayaka Date: Thu, 22 Aug 2024 23:30:49 +0530 Subject: [PATCH 01/72] Create livewire component for Corse create and reference component --- .../Controllers/Backend/CourseController.php | 112 + app/Http/Livewire/Backend/CreateCourses.php | 22 + public/css/backend.css | 2 +- public/css/frontend.css | 2 +- public/js/backend.js | 38 +- public/js/frontend.js | 90 +- .../views/backend/courses/create.blade.php | 7 + .../views/backend/courses/delete.blade.php | 31 + .../views/backend/courses/edit.blade.php | 114 + .../backend/courses/index-table-row.blade.php | 42 + .../views/backend/courses/index.blade.php | 34 + .../views/backend/includes/sidebar.blade.php | 17 +- resources/views/backend/layouts/app.blade.php | 1 + .../components/backend/addItem.blade.php | 52 + .../livewire/backend/create-courses.blade.php | 72 + routes/backend/courses.php | 55 + yarn.lock | 9255 +++++++++-------- 17 files changed, 5254 insertions(+), 4692 deletions(-) create mode 100644 app/Http/Controllers/Backend/CourseController.php create mode 100644 app/Http/Livewire/Backend/CreateCourses.php create mode 100644 resources/views/backend/courses/create.blade.php create mode 100644 resources/views/backend/courses/delete.blade.php create mode 100644 resources/views/backend/courses/edit.blade.php create mode 100644 resources/views/backend/courses/index-table-row.blade.php create mode 100644 resources/views/backend/courses/index.blade.php create mode 100644 resources/views/components/backend/addItem.blade.php create mode 100644 resources/views/livewire/backend/create-courses.blade.php create mode 100644 routes/backend/courses.php diff --git a/app/Http/Controllers/Backend/CourseController.php b/app/Http/Controllers/Backend/CourseController.php new file mode 100644 index 00000000..2cf8a84c --- /dev/null +++ b/app/Http/Controllers/Backend/CourseController.php @@ -0,0 +1,112 @@ +validate([ + 'area' => ['required', Rule::in(array_keys(Announcement::areas()))], + 'type' => ['required', Rule::in(array_keys(Announcement::types()))], + 'message' => 'string|required', + 'enabled' => 'nullable', + 'starts_at' => 'required|date_format:Y-m-d\\TH:i', + 'ends_at' => 'required|date_format:Y-m-d\\TH:i', // TODO: Test ends>starts + ]); + + try { + $announcement = new Announcement($data); + $announcement->enabled = ($request->enabled != null); + $announcement->save(); + + return redirect()->route('dashboard.announcements.index', $announcement)->with('Success', 'Announcement was created !'); + } catch (\Exception $ex) { + return abort(500); + } + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Announcement $announcement + * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View + */ + public function edit(Announcement $announcement) + { + $areas = Announcement::areas(); + $types = Announcement::types(); + return view('backend.announcements.edit', compact('announcement', 'areas', 'types')); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Announcement $announcement + * @return \Illuminate\Http\RedirectResponse + */ + public function update(Request $request, Announcement $announcement) + { + $data = request()->validate([ + 'area' => ['required', Rule::in(array_keys(Announcement::areas()))], + 'type' => ['required', Rule::in(array_keys(Announcement::types()))], + 'message' => 'string|required', + 'enabled' => 'nullable', + 'starts_at' => 'required|date_format:Y-m-d\\TH:i', + 'ends_at' => 'required|date_format:Y-m-d\\TH:i', // TODO: Test ends>starts + ]); + + try { + $announcement->enabled = ($request->enabled != null); + $announcement->update($data); + return redirect()->route('dashboard.announcements.index')->with('Success', 'Announcement was updated !'); + } catch (\Exception $ex) { + return abort(500); + } + } + + /** + * Confirm to delete the specified resource from storage. + * + * @param \App\Models\Announcement $announcement + * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View + */ + public function delete(Announcement $announcement) + { + return view('backend.announcements.delete', compact('announcement')); + } + + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Announcement $announcement + * @return \Illuminate\Http\RedirectResponse|null + */ + public function destroy(Announcement $announcement) + { + try { + $announcement->delete(); + return redirect()->route('dashboard.announcements.index')->with('Success', 'Announcement was deleted !'); + } catch (\Exception $ex) { + return abort(500); + } + } +} diff --git a/app/Http/Livewire/Backend/CreateCourses.php b/app/Http/Livewire/Backend/CreateCourses.php new file mode 100644 index 00000000..97094332 --- /dev/null +++ b/app/Http/Livewire/Backend/CreateCourses.php @@ -0,0 +1,22 @@ +formStep++; + } + + public function previous(){ + $this->formStep--; + } +} diff --git a/public/css/backend.css b/public/css/backend.css index 8aa81d77..3c9ceb37 100644 --- a/public/css/backend.css +++ b/public/css/backend.css @@ -24854,4 +24854,4 @@ h3 { } } -/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2JhY2tlbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSxnQkFBZ0IsQ0NBaEI7Ozs7OztFQ0FBLFlBQ0UsNkJBQ0EsNENBQ0EsZ1BBSUEsZ0JBQ0Esa0JDUUYsZ0NESEUsdUNBQ0EsV0FDQSxrQkFDQSxnQkFDQSxvQkFDQSxvQkFDQSxjQUdBLG1DQUNBLGtDQUlBLG1CQUVJLGVBRkosMkJBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixtQkFFSSxlQUZKLDJCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLHdCQUVJLGVBRkosdUJBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosdUJBRUksZUFGSiwwQkFFSSxlQUZKLDJCQUVJLGVBRkosMkJBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkosaUJBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosaUJBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosK0JBRUksZUFGSixzQkFFSSxlQUZKLHdCQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSiwyQkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixtQkFFSSxlQUZKLDRCQUVJLGVBRkosMEJBRUksZUFGSixnQ0FFSSxlQUZKLDhCQUVJLGVBRkosc0JBRUksZUFGSiwyQkFFSSxlQUZKLG1CQUVJLGVBRkosaUJBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkoseUJBRUksZUFGSix1QkFFSSxlQUZKLHlCQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosdUJBRUksZUFGSix1QkFFSSxlQUZKLHlCQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosMkJBRUksZUFGSiwyQkFFSSxlQUZKLDJCQUVJLGVBRkosMkJBRUksZUFGSiw2QkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLDBCQUVJLGVBRkosaUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosNEJBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosNEJBRUksZUFGSiwyQkFFSSxlQUZKLHlCQUVJLGVBRkosOEJBRUksZUFGSiwyQkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosMEJBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkosb0JBRUksZUFGSixnQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSiw2QkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSixtQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLGtCQUVJLGVBRkoscUJBRUksZUFGSixpQkFFSSxlQUZKLGtCQUVJLGVBRkoscUJBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkosNEJBRUksZUFGSiwrQkFFSSxlQUZKLCtCQUVJLGVBRkosK0JBRUksZUFGSiwrQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLG1CQUVJLGVBRkosZ0JBRUksZUFGSixzQkFFSSxlQUZKLGtCQUVJLGVBRkosMkJBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkosMkJBRUksZUFGSiwwQkFFSSxlQUZKLCtCQUVJLGVBRkosMEJBRUksZUFGSix5QkFFSSxlQUZKLDBCQUVJLGVBRkosMEJBRUksZUFGSiwwQkFFSSxlQUZKLHdCQUVJLGVBRkosNkJBRUksZUFGSixtQkFFSSxlQUZKLHVCQUVJLGVBRkoseUJBRUksZUFGSiwwQkFFSSxlQUZKLDBCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLHNCQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLDBCQUVJLGVBRkosa0JBRUksZUFGSiwwQkFFSSxlQUZKLDJCQUVJLGVBRkosaUJBRUksZUFGSixzQkFFSSxlQUZKLG1CQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSiwwQkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosMEJBRUksZUFGSiw0QkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSiwwQkFFSSxlQUZKLDZCQUVJLGVBRkosMkJBRUksZUFGSixvQkFFSSxlQUZKLG9DQUVJLGVBRkosb0NBRUksZUFGSixpQ0FFSSxlQUZKLDBCQUVJLGVBRkosd0JBRUksZUFGSix5QkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkosdUJBRUksZUFGSixvQ0FFSSxlQUZKLHFDQUVJLGVBRkoscUJBRUksZUFGSix5QkFFSSxlQUZKLHlCQUVJLGVBRkosMEJBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosdUJBRUksZUFGSiwyQkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLDZCQUVJLGVBRkosNkJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosNEJBRUksZUFGSiwwQkFFSSxlQUZKLDJCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLDBCQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLGdDQUVJLGVBRkosK0JBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHFCQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLHdCQUVJLGVBRkosNkJBRUksZUFGSiwyQkFFSSxlQUZKLDRCQUVJLGVBRkosNkJBRUksZUFGSiwrQkFFSSxlQUZKLDZCQUVJLGVBRkosdUJBRUksZUFGSixrQkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSix5QkFFSSxlQUZKLHlCQUVJLGVBRkosMkJBRUksZUFGSix1QkFFSSxlQUZKLHVCQUVJLGVBRkosbUNBRUksZUFGSixtQ0FFSSxlQUZKLGdDQUVJLGVBRkosdUJBRUksZUFGSix3Q0FFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSix5QkFFSSxlQUZKLDJCQUVJLGVBRkosd0JBRUksZUFGSix5QkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSiw0QkFFSSxlQUZKLHlCQUVJLGVBRkoseUJBRUksZUFGSiwwQkFFSSxlQUZKLGtCQUVJLGVBRkosbUNBRUksZUFGSiwyQkFFSSxlQUZKLDBCQUVJLGVBRkosaUNBRUksZUFGSiwrQkFFSSxlQUZKLGdDQUVJLGVBRkosOEJBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosZ0NBRUksZUFGSixxQ0FFSSxlQUZKLG1DQUVJLGVBRkosb0NBRUksZUFGSixrQ0FFSSxlQUZKLDhCQUVJLGVBRkosK0JBRUksZUFGSixtQ0FFSSxlQUZKLGlDQUVJLGVBRkosa0NBRUksZUFGSixnQ0FFSSxlQUZKLDZCQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLHdCQUVJLGVBRkosMEJBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSixtQkFFSSxlQUZKLHVCQUVJLGVBRkosMEJBRUksZUFGSiw0QkFFSSxlQUZKLHFDQUVJLGVBRkoscUNBRUksZUFGSixzQ0FFSSxlQUZKLG1DQUVJLGVBRkosaUNBRUksZUFGSixpQ0FFSSxlQUZKLGtDQUVJLGVBRkosK0JBRUksZUFGSixtQ0FFSSxlQUZKLDBCQUVJLGVBRkosMkJBRUksZUFGSix5QkFFSSxlQUZKLHVCQUVJLGVBRkosdUJBRUksZUFGSixtQkFFSSxlQUZKLHFCQUVJLGVBRkoseUJBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSiw4QkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLDRCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLHFCQUVJLGVBRkosZ0NBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosaUJBRUksZUFGSixrQkFFSSxlQUZKLDJCQUVJLGVBRkosb0JBRUksZUFGSix5QkFFSSxlQUZKLDJCQUVJLGVBRkosMEJBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkosaUJBRUksZUFGSix5QkFFSSxlQUZKLG1CQUVJLGVBRkoseUJBRUksZUFGSixxQkFFSSxlQUZKLGtCQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLG1CQUVJLGVBRkoseUJBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkoseUJBRUksZUFGSix1QkFFSSxlQUZKLDZCQUVJLGVBRkosNkJBRUksZUFGSiw0QkFFSSxlQUZKLGVBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSix1QkFFSSxlQUZKLG1CQUVJLGVBRkosaUJBRUksZUFGSixpQkFFSSxlQUZKLHNCQUVJLGVBRkosdUJBRUksZUFGSiwyQkFFSSxlQUZKLDRCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLHdCQUVJLGVBRkosZ0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSiwrQkFFSSxlQUZKLDRCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLDRCQUVJLGVBRkoscUJBRUksZUFGSiwrQkFFSSxlQUZKLGdCQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLCtCQUVJLGVBRkosd0JBRUksZUFGSiw2QkFFSSxlQUZKLGdCQUVJLGVBRkosd0JBRUksZUFGSix5QkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSiwyQkFFSSxlQUZKLHlCQUVJLGVBRkoseUJBRUksZUFGSix3QkFFSSxlQUZKLDBCQUVJLGVBRkosaUNBRUksZUFGSixnQ0FFSSxlQUZKLGlDQUVJLGVBRkosZ0NBRUksZUFGSix3QkFFSSxlQUZKLHdCQUVJLGVBRkosaUJBRUksZUFGSixtQkFFSSxlQUZKLHdCQUVJLGVBRkosMEJBRUksZUFGSixxQkFFSSxlQUZKLGdCQUVJLGVBRkosbUJBRUksZUFGSiwrQkFFSSxlQUZKLHlCQUVJLGVBRkosd0JBRUksZUFGSix3QkFFSSxlQUZKLGdCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHlCQUVJLGVBRkosNkJBRUksZUFGSiw2QkFFSSxlQUZKLDJCQUVJLGVBRkosa0JBRUksZUFGSiwwQkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLGlCQUVJLGVBRkosa0JBRUksZUFGSiwwQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLHlCQUVJLGVBRkosMkJBRUksZUFGSiwyQkFFSSxlQUZKLCtCQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosOEJBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkoscUJBRUksZUFGSiw0QkFFSSxlQUZKLHdCQUVJLGVBRkosa0JBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkosc0JBRUksZUFGSiw0QkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLDBCQUVJLGVBRkosaUJBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLDJCQUVJLGVBRkosd0JBRUksZUFGSixrQkFFSSxlQUZKLG1CQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLHlCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosaUJBRUksZUFGSix5QkFFSSxlQUZKLDRCQUVJLGVBRkosNEJBRUksZUFGSixvQkFFSSxlQUZKLDZCQUVJLGVBRkosNkJBRUksZUFGSiw4QkFFSSxlQUZKLDJCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSTtBRnRCTix1Q0FBdUMsQztBSVB2QyxnQkFBZ0IsQ0NBaEI7Ozs7OztFQ0FBLFlBQ0UsOEJBQ0EsNENBQ0EsZ1BBSUEsZ0JBQ0Esa0JDUUYsZ0NESEUsd0NBQ0EsV0FDQSxrQkFDQSxnQkFDQSxvQkFDQSxvQkFDQSxjQUdBLG1DQUNBLGtDQUlBLHFCQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosaUJBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosa0NBRUksZUFGSixpQ0FFSSxlQUZKLDRCQUVJLGVBRkosa0NBRUksZUFGSiwrQkFFSSxlQUZKLCtCQUVJLGVBRkosNEJBRUksZUFGSixxQ0FFSSxlQUZKLDZCQUVJLGVBRkosNkJBRUksZUFGSiw0QkFFSSxlQUZKLDJCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSix3QkFFSSxlQUZKLG9CQUVJLGVBRkosaUJBRUksZUFGSiw4QkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSix5QkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSiwrQkFFSSxlQUZKLHFCQUVJLGVBRkoscUJBRUksZUFGSiw0QkFFSSxlQUZKLDBCQUVJLGVBRkosMEJBRUksZUFGSixvQkFFSSxlQUZKLDJCQUVJLGVBRkosdUJBRUksZUFGSix5QkFFSSxlQUZKLHVCQUVJLGVBRkosNEJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLGdDQUVJLGVBRkoscUJBRUksZUFGSix3QkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosa0JBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSiw2QkFFSSxlQUZKLDBCQUVJLGVBRkosNkJBRUksZUFGSixtQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosd0JBRUksZUFGSixrQkFFSSxlQUZKLGlCQUVJLGVBRkosdUJBRUksZUFGSixxQkFFSSxlQUZKLHlCQUVJLGVBRkosbUJBRUksZUFGSix3QkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSixxQkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkosdUJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSiw2QkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSixlQUVJLGVBRkoscUJBRUksZUFGSiw4QkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosMkJBRUksZUFGSixxQkFFSSxlQUZKLDBCQUVJLGVBRkosNEJBRUksZUFGSix5QkFFSSxlQUZKLG9CQUVJLGVBRkosMkJBRUksZUFGSix1QkFFSSxlQUZKLHVCQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLGtCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLHdCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSix3QkFFSSxlQUZKLHFCQUVJLGVBRkoseUJBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSiwwQkFFSSxlQUZKLHNDQUVJLGVBRkosc0JBRUksZUFGSix5QkFFSSxlQUZKLHFCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosdUJBRUksZUFGSixpQ0FFSSxlQUZKLG9DQUVJLGVBRkosb0NBRUksZUFGSixpQ0FFSSxlQUZKLGlDQUVJLGVBRkoscUNBRUksZUFGSixpQ0FFSSxlQUZKLG9DQUVJLGVBRkosaUNBRUksZUFGSiw0Q0FFSSxlQUZKLHVDQUVJLGVBRkosb0NBRUksZUFGSixtQ0FFSSxlQUZKLDhCQUVJLGVBRkosd0JBRUksZUFGSix5QkFFSSxlQUZKLHlCQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLG1CQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLDJCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixrQkFFSSxlQUZKLDJCQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLDRCQUVJLGVBRkosMkJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLGtCQUVJLGVBRkosc0JBRUksZUFGSixzQkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLG1CQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSix3QkFFSSxlQUZKLGtCQUVJLGVBRkosc0JBRUksZUFGSiw4QkFFSSxlQUZKLGtCQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLDJCQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosb0JBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSiwwQkFFSSxlQUZKLDBCQUVJLGVBRkosMkJBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosd0JBRUksZUFGSixvQkFFSSxlQUZKLGdCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLGlCQUVJLGVBRkosbUJBRUksZUFGSixvQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkosK0JBRUksZUFGSix3QkFFSSxlQUZKLGlCQUVJLGVBRkosZ0JBRUksZUFGSiwwQkFFSSxlQUZKLHFCQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLHdCQUVJLGVBRkoseUJBRUksZUFGSiw4QkFFSSxlQUZKLDJCQUVJLGVBRkosMEJBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkoseUJBRUksZUFGSiw2QkFFSSxlQUZKLG9CQUVJLGVBRkosNEJBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLHFCQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkoseUJBRUksZUFGSix1QkFFSSxlQUZKLHdCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLDZCQUVJLGVBRkosa0JBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixnQkFFSSxlQUZKLDBCQUVJLGVBRkosbUJBRUksZUFGSix5QkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLDJCQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLHVCQUVJLGVBRkosd0JBRUksZUFGSixtQkFFSSxlQUZKLDBCQUVJLGVBRkosc0JBRUksZUFGSiwrQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLGtCQUVJLGVBRkosaUJBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLGdCQUVJLGVBRkosc0JBRUksZUFGSixzQkFFSSxlQUZKLGtCQUVJLGVBRkoscUJBRUksZUFGSix3QkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSixvQkFFSSxlQUZKLHlCQUVJLGVBRkosaUJBRUksZUFGSixtQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkosd0JBRUksZUFGSixvQkFFSSxlQUZKLDZCQUVJLGVBRkosMEJBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLDBCQUVJLGVBRkosd0JBRUksZUFGSixrQkFFSSxlQUZKLHVCQUVJLGVBRkosMEJBRUksZUFGSix5QkFFSSxlQUZKLGtCQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLDhCQUVJLGVBRkosd0JBRUksZUFGSixtQkFFSSxlQUZKLHlCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLGlCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSiw2QkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLDBCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLHdCQUVJLGVBRkosMkJBRUksZUFGSiw0QkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSiwwQkFFSSxlQUZKLGlCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkosNkJBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosMEJBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLG1CQUVJLGVBRkosaUJBRUksZUFGSiwwQkFFSSxlQUZKLCtCQUVJLGVBRkosNkJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixvQkFFSSxlQUZKLDRCQUVJLGVBRkosb0JBRUksZUFGSiwyQkFFSSxlQUZKLHlCQUVJLGVBRkosNkJBRUksZUFGSixxQkFFSSxlQUZKLG9DQUVJLGVBRkosMkJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixvQkFFSSxlQUZKLGlCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosaUJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLGlCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSix5QkFFSSxlQUZKLHVCQUVJLGVBRkosNEJBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSix5QkFFSSxlQUZKLDBCQUVJLGVBRkosMEJBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkoseUJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosd0JBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSix5QkFFSSxlQUZKLDBCQUVJLGVBRkosc0JBRUksZUFGSix3QkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixtQkFFSSxlQUZKLGdCQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLHdCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixlQUVJLGVBRkoseUJBRUksZUFGSixtQkFFSSxlQUZKLDBCQUVJLGVBRkosbUJBRUksZUFGSiwyQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixvQkFFSSxlQUZKLHVCQUVJLGVBRkosd0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLG1CQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHdCQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLHlCQUVJLGVBRkoscUJBRUksZUFGSixpQkFFSSxlQUZKLHNCQUVJLGVBRkosa0JBRUksZUFGSix1QkFFSSxlQUZKLG1CQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLDJCQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLHdCQUVJLGVBRkosOEJBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkoseUJBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosMEJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSix5QkFFSSxlQUZKLHNCQUVJLGVBRkosMkJBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosd0JBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosdUJBRUksZUFGSix3QkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSiwwQkFFSSxlQUZKLHdCQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLG1CQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSix3QkFFSSxlQUZKLGlCQUVJLGVBRkosdUJBRUksZUFGSiw0QkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLHdCQUVJLGVBRkosdUJBRUksZUFGSixtQkFFSSxlQUZKLHdCQUVJLGVBRkosZ0NBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSix5QkFFSSxlQUZKLG1CQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLG1CQUVJLGVBRkosa0JBRUksZUFGSixxQkFFSSxlQUZKLDJCQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosMkJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSixpQkFFSSxlQUZKLGdCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixrQkFFSSxlQUZKLGdDQUVJLGVBRkosMkJBRUksZUFGSixnQkFFSSxlQUZKLGlCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSiwrQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkoseUJBRUksZUFGSixpQkFFSSxlQUZKLGtCQUVJLGVBRkosdUJBRUksZUFGSixxQkFFSSxlQUZKLGtCQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLDhCQUVJLGVBRkosaUNBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLGtCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLGtCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSTtBRnRCTix3Q0FBd0MsQztBSVB4QyxnQkFBZ0I7QUNBaEI7OztFQUFBO0FDR0E7Ozs7OztFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGTUY7O0FHakJBO0VBQ0U7RUFDQTtFQUNBO0FIb0JGOztBR2pCQTtFQUNFO0FIb0JGOztBR2pCQTtFQUNFO0FIb0JGOztBR2hCRTtFQUNFO0FIbUJKOztBR3BCRTtFQUNFO0FIdUJKOztBR3hCRTtFQUNFO0FIMkJKOztBRzVCRTtFQUNFO0FIK0JKOztBR2hDRTtFQUNFO0FIbUNKOztBR3BDRTtFQUNFO0FIdUNKOztBR3hDRTtFQUNFO0FIMkNKOztBRzVDRTtFQUNFO0FIK0NKOztBR2hERTtFQUNFO0FIbURKOztBR3BERTtFQUNFO0FIdURKOztBSXpFQTtFQUNFO0VBQ0EsYUNPcUI7QUxxRXZCOztBTTdFQTtFQUNFO0VBQ0E7RUFDQTtBTmdGRjtBTTlFRTtFQUFPO0FOaUZUOztBTTlFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFVETHFCO0VDTXJCO0FOaUZGOztBTzlGQTtFQUNFO0VBQ0E7RUFDQTtBUGlHRjs7QU85RkE7RUFBK0I7QVBrRy9COztBT2pHQTtFQUFnQztBUHFHaEM7O0FPOUZFOzs7OztFQUFnQztBUHNHbEM7QU9yR0U7Ozs7O0VBQWlDO0FQNEduQzs7QVEzSEE7RUFDRTtBUjhIRjs7QVEzSEE7RUFDRTtBUjhIRjs7QVEzSEE7RUFDRTtJQUNFO0VSOEhGO0VRM0hBO0lBQ0U7RVI2SEY7QUFDRjtBUzVJQTtFQ1dFO0VBQ0E7QVZvSUY7O0FTL0lBO0VDVUU7RUFDQTtBVnlJRjs7QVNuSkE7RUNTRTtFQUNBO0FWOElGOztBU3RKQTtFQ1lFO0VBQ0E7QVY4SUY7O0FTMUpBO0VDV0U7RUFDQTtBVm1KRjs7QVM5SkE7RUNVRTtFQUNBO0FWd0pGOztBUzdKRTs7Ozs7O0VBTUU7QVRnS0o7O0FXbExBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYcUxGOztBV2xMQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBWHFMRjs7QVdsTEE7RUFDRTtBWHFMRjs7QVdsTEE7RUFDRTtBWHFMRjs7QVdsTEE7RUFDRSxXTnBCcUI7QUx5TXZCOztBWWxOQTtnRUFBQTtBQUdBO0VBQWtDO0FacU5sQzs7QVlwTkE7RUFBNEM7QVp3TjVDOztBWXZOQTtFQUFxQztBWjJOckM7O0FZMU5BO0VBQXNEO0FaOE50RDs7QVk3TkE7RUFBK0I7QVppTy9COztBWWhPQTtFQUF5QztBWm9PekM7O0FZbk9BO0VBQXlDO0FadU96Qzs7QVl0T0E7RUFBbUM7QVowT25DOztBWXpPQTtFQUFnQztBWjZPaEM7O0FZNU9BO0VBQXFDO0FaZ1ByQzs7QVkvT0E7RUFBMkM7QVptUDNDOztBWWxQQTtFQUEwQztBWnNQMUM7O0FZclBBO0VBQW1DO0FaeVBuQzs7QVl4UEE7RUFBb0M7QVo0UHBDOztBWTNQQTtFQUF5QztBWitQekM7O0FZOVBBO0VBQTBDO0Faa1ExQzs7QVlqUUE7RUFBdUM7QVpxUXZDOztBWXBRQTtFQUF3QztBWndReEM7O0FZdlFBO0VBQW1DO0FaMlFuQzs7QVkxUUE7RUFBc0M7QVo4UXRDOztBWTdRQTtFQUFtQztBWmlSbkM7O0FZaFJBO0VBQXVDO0Fab1J2Qzs7QVluUkE7RUFBc0M7QVp1UnRDOztBWXRSQTtFQUFnRTtBWjBSaEU7O0FZelJBO0VBQW1DO0FaNlJuQzs7QVk1UkE7RUFBbUM7QVpnU25DOztBWS9SQTtFQUFvQztBWm1TcEM7O0FZbFNBO0VBQXNDO0Fac1N0Qzs7QVlyU0E7RUFBOEM7QVp5UzlDOztBWXhTQTtFQUE4QztBWjRTOUM7O0FZM1NBO0VBQStDO0FaK1MvQzs7QVk5U0E7RUFBNEM7QVprVDVDOztBWWpUQTtFQUF1QztBWnFUdkM7O0FZcFRBO0VBQXVDO0Fad1R2Qzs7QVl2VEE7RUFBd0M7QVoyVHhDOztBWTFUQTtFQUFxQztBWjhUckM7O0FZN1RBO0VBQWtDO0FaaVVsQzs7QVloVUE7RUFBMEM7QVpvVTFDOztBWW5VQTtFQUFvQztBWnVVcEM7O0FZdFVBO0VBQWlDO0FaMFVqQzs7QVl6VUE7RUFBc0M7QVo2VXRDOztBWTVVQTtFQUEwQztBWmdWMUM7O0FZL1VBO0VBQWtDO0FabVZsQzs7QVlsVkE7RUFBa0M7QVpzVmxDOztBWXJWQTtFQUFzQztBWnlWdEM7O0FZeFZBO0VBQXNDO0FaNFZ0Qzs7QVkzVkE7RUFBb0M7QVorVnBDOztBWTlWQTtFQUFvQztBWmtXcEM7O0FZaldBO0VBQWtEO0FacVdsRDs7QVlwV0E7RUFBa0Q7QVp3V2xEOztBWXZXQTtFQUFtRDtBWjJXbkQ7O0FZMVdBO0VBQWdEO0FaOFdoRDs7QVk3V0E7RUFBOEM7QVppWDlDOztBWWhYQTtFQUE4QztBWm9YOUM7O0FZblhBO0VBQStDO0FadVgvQzs7QVl0WEE7RUFBNEM7QVowWDVDOztBWXpYQTtFQUF1QztBWjZYdkM7O0FZNVhBO0VBQXVDO0FaZ1l2Qzs7QVkvWEE7RUFBd0M7QVptWXhDOztBWWxZQTtFQUFxQztBWnNZckM7O0FZcllBO0VBQXVDO0FaeVl2Qzs7QVl4WUE7RUFBeUM7QVo0WXpDOztBWTNZQTtFQUF5QztBWitZekM7O0FZOVlBO0VBQXVDO0Faa1p2Qzs7QVlqWkE7RUFBd0Q7QVpxWnhEOztBWXBaQTtFQUFxQztBWndackM7O0FZdlpBO0VBQXVDO0FaMlp2Qzs7QVkxWkE7RUFBK0I7QVo4Wi9COztBWTdaQTtFQUFrQztBWmlhbEM7O0FZaGFBO0VBQXNDO0Fab2F0Qzs7QVluYUE7RUFBaUM7QVp1YWpDOztBWXRhQTtFQUFvQztBWjBhcEM7O0FZemFBO0VBQThDO0FaNmE5Qzs7QVk1YUE7RUFBeUM7QVpnYnpDOztBWS9hQTtFQUFvQztBWm1icEM7O0FZbGJBO0VBQW1DO0Fac2JuQzs7QVlyYkE7RUFBa0M7QVp5YmxDOztBWXhiQTtFQUFnQztBWjRiaEM7O0FZM2JBO0VBQWlDO0FaK2JqQzs7QVk5YkE7RUFBMEM7QVprYzFDOztBWWpjQTtFQUFzQztBWnFjdEM7O0FZcGNBO0VBQXFDO0Fad2NyQzs7QVl2Y0E7RUFBa0M7QVoyY2xDOztBWTFjQTtFQUFxQztBWjhjckM7O0FZN2NBO0VBQXNDO0FaaWR0Qzs7QVloZEE7RUFBa0M7QVpvZGxDOztBWW5kQTtFQUEwQztBWnVkMUM7O0FZdGRBO0VBQStDO0FaMGQvQzs7QVl6ZEE7RUFBZ0Q7QVo2ZGhEOztBWTVkQTtFQUFnQztBWmdlaEM7O0FZL2RBO0VBQXFDO0FabWVyQzs7QVlsZUE7RUFBcUM7QVpzZXJDOztBWXJlQTtFQUFvQztBWnllcEM7O0FZeGVBO0VBQWlDO0FaNGVqQzs7QVkzZUE7RUFBMEM7QVorZTFDOztBWTllQTtFQUE0QztBWmtmNUM7O0FZamZBO0VBQWlDO0FacWZqQzs7QVlwZkE7RUFBMEM7QVp3ZjFDOztBWXZmQTtFQUF5QztBWjJmekM7O0FZMWZBO0VBQXlDO0FaOGZ6Qzs7QVk3ZkE7RUFBNEM7QVppZ0I1Qzs7QVloZ0JBO0VBQW1EO0Fab2dCbkQ7O0FZbmdCQTtFQUF1QztBWnVnQnZDOztBWXRnQkE7RUFBZ0M7QVowZ0JoQzs7QVl6Z0JBO0VBQWlDO0FaNmdCakM7O0FZNWdCQTtFQUFvQztBWmdoQnBDOztBWS9nQkE7RUFBMkM7QVptaEIzQzs7QVlsaEJBO0VBQWlDO0Fac2hCakM7O0FZcmhCQTtFQUF1QztBWnloQnZDOztBWXhoQkE7RUFBeUM7QVo0aEJ6Qzs7QVkzaEJBO0VBQWtDO0FaK2hCbEM7O0FZOWhCQTtFQUFvQztBWmtpQnBDOztBWWppQkE7RUFBbUM7QVpxaUJuQzs7QVlwaUJBO0VBQXNDO0Fad2lCdEM7O0FZdmlCQTtFQUF1QztBWjJpQnZDOztBWTFpQkE7RUFBc0M7QVo4aUJ0Qzs7QVk3aUJBO0VBQTBDO0FaaWpCMUM7O0FZaGpCQTtFQUFzQztBWm9qQnRDOztBWW5qQkE7RUFBb0M7QVp1akJwQzs7QVl0akJBO0VBQWlDO0FaMGpCakM7O0FZempCQTtFQUFzQztBWjZqQnRDOztBWTVqQkE7RUFBdUM7QVpna0J2Qzs7QVkvakJBO0VBQW9DO0FabWtCcEM7O0FZbGtCQTtFQUEwQztBWnNrQjFDOztBWXJrQkE7RUFBa0M7QVp5a0JsQzs7QVl4a0JBO0VBQWlDO0FaNGtCakM7O0FZM2tCQTtFQUFvQztBWitrQnBDOztBWTlrQkE7RUFBc0M7QVprbEJ0Qzs7QVlqbEJBO0VBQXNDO0FacWxCdEM7O0FZcGxCQTtFQUF3QztBWndsQnhDOztBWXZsQkE7RUFBaUM7QVoybEJqQzs7QVkxbEJBO0VBQWlDO0FaOGxCakM7O0FZN2xCQTtFQUFpQztBWmltQmpDOztBWWhtQkE7RUFBaUM7QVpvbUJqQzs7QVlubUJBO0VBQWlDO0FadW1CakM7O0FZdG1CQTtFQUFpQztBWjBtQmpDOztBWXptQkE7RUFBc0M7QVo2bUJ0Qzs7QVk1bUJBO0VBQXlDO0FaZ25CekM7O0FZL21CQTtFQUFzQztBWm1uQnRDOztBWWxuQkE7RUFBd0M7QVpzbkJ4Qzs7QVlybkJBO0VBQXFDO0FaeW5CckM7O0FZeG5CQTtFQUFzQztBWjRuQnRDOztBWTNuQkE7RUFBdUM7QVorbkJ2Qzs7QVk5bkJBO0VBQXdDO0Faa29CeEM7O0FZam9CQTtFQUF5QztBWnFvQnpDOztBWXBvQkE7RUFBeUM7QVp3b0J6Qzs7QVl2b0JBO0VBQWdDO0FaMm9CaEM7O0FZMW9CQTtFQUFxQztBWjhvQnJDOztBWTdvQkE7RUFBdUM7QVppcEJ2Qzs7QVlocEJBO0VBQWtDO0Fab3BCbEM7O0FZbnBCQTtFQUFvQztBWnVwQnBDOztBWXRwQkE7RUFBa0M7QVowcEJsQzs7QVl6cEJBO0VBQXdDO0FaNnBCeEM7O0FZNXBCQTtFQUFzQztBWmdxQnRDOztBWS9wQkE7RUFBOEM7QVptcUI5Qzs7QVlscUJBO0VBQTRDO0Fac3FCNUM7O0FZcnFCQTtFQUFrQztBWnlxQmxDOztBWXhxQkE7RUFBa0M7QVo0cUJsQzs7QVkzcUJBO0VBQWdDO0FaK3FCaEM7O0FZOXFCQTtFQUFtQztBWmtyQm5DOztBWWpyQkE7RUFBZ0M7QVpxckJoQzs7QVlwckJBO0VBQXFDO0Fad3JCckM7O0FZdnJCQTtFQUFxQztBWjJyQnJDOztBWTFyQkE7RUFBcUM7QVo4ckJyQzs7QVk3ckJBO0VBQWlDO0FaaXNCakM7O0FZaHNCQTtFQUE2QztBWm9zQjdDOztBWW5zQkE7RUFBZ0M7QVp1c0JoQzs7QVl0c0JBO0VBQW9DO0FaMHNCcEM7O0FZenNCQTtFQUEwQztBWjZzQjFDOztBWTVzQkE7RUFBd0M7QVpndEJ4Qzs7QVkvc0JBO0VBQXVDO0FabXRCdkM7O0FZbHRCQTtFQUF1QztBWnN0QnZDOztBWXJ0QkE7RUFBcUM7QVp5dEJyQzs7QVl4dEJBO0VBQXlDO0FaNHRCekM7O0FZM3RCQTtFQUEyQztBWit0QjNDOztBWTl0QkE7RUFBeUM7QVprdUJ6Qzs7QVlqdUJBO0VBQTJDO0FacXVCM0M7O0FZcHVCQTtFQUEwQztBWnd1QjFDOztBWXZ1QkE7RUFBMkM7QVoydUIzQzs7QVkxdUJBO0VBQTBDO0FaOHVCMUM7O0FZN3VCQTtFQUFtQztBWml2Qm5DOztBWWh2QkE7RUFBeUM7QVpvdkJ6Qzs7QVludkJBO0VBQXVDO0FadXZCdkM7O0FZdHZCQTtFQUFnRDtBWjB2QmhEOztBWXp2QkE7RUFBdUM7QVo2dkJ2Qzs7QVk1dkJBO0VBQXFDO0FaZ3dCckM7O0FZL3ZCQTtFQUFxQztBWm13QnJDOztBWWx3QkE7RUFBZ0M7QVpzd0JoQzs7QVlyd0JBO0VBQW9DO0FaeXdCcEM7O0FZeHdCQTtFQUF3QztBWjR3QnhDOztBWTN3QkE7RUFBc0M7QVord0J0Qzs7QVk5d0JBO0VBQXFDO0Faa3hCckM7O0FZanhCQTtFQUFvQztBWnF4QnBDOztBWXB4QkE7RUFBdUM7QVp3eEJ2Qzs7QVl2eEJBO0VBQXVDO0FaMnhCdkM7O0FZMXhCQTtFQUF3QztBWjh4QnhDOztBWTd4QkE7RUFBOEM7QVppeUI5Qzs7QVloeUJBO0VBQThDO0Fab3lCOUM7O0FZbnlCQTtFQUErQztBWnV5Qi9DOztBWXR5QkE7RUFBNEM7QVoweUI1Qzs7QVl6eUJBO0VBQXFDO0FaNnlCckM7O0FZNXlCQTtFQUFtQztBWmd6Qm5DOztBWS95QkE7RUFBNEM7QVptekI1Qzs7QVlsekJBO0VBQXNDO0Fac3pCdEM7O0FZcnpCQTtFQUEwQztBWnl6QjFDOztBWXh6QkE7RUFBZ0M7QVo0ekJoQzs7QVkzekJBO0VBQTBDO0FaK3pCMUM7O0FZOXpCQTtFQUFvQztBWmswQnBDOztBWWowQkE7RUFBeUM7QVpxMEJ6Qzs7QVlwMEJBO0VBQTJDO0FadzBCM0M7O0FZdjBCQTtFQUF3QztBWjIwQnhDOztBWTEwQkE7RUFBbUM7QVo4MEJuQzs7QVk3MEJBO0VBQTBDO0FaaTFCMUM7O0FZaDFCQTtFQUFzQztBWm8xQnRDOztBWW4xQkE7RUFBc0M7QVp1MUJ0Qzs7QVl0MUJBO0VBQW9DO0FaMDFCcEM7O0FZejFCQTtFQUF1QztBWjYxQnZDOztBWTUxQkE7RUFBbUM7QVpnMkJuQzs7QVkvMUJBO0VBQXdDO0FabTJCeEM7O0FZbDJCQTtFQUFrQztBWnMyQmxDOztBWXIyQkE7RUFBdUM7QVp5MkJ2Qzs7QVl4MkJBO0VBQStDO0FaNDJCL0M7O0FZMzJCQTtFQUE2QztBWisyQjdDOztBWTkyQkE7RUFBdUM7QVprM0J2Qzs7QVlqM0JBO0VBQXNDO0FacTNCdEM7O0FZcDNCQTtFQUF1QztBWnczQnZDOztBWXYzQkE7RUFBc0M7QVoyM0J0Qzs7QVkxM0JBO0VBQWtDO0FaODNCbEM7O0FZNzNCQTtFQUF5QztBWmk0QnpDOztBWWg0QkE7RUFBeUM7QVpvNEJ6Qzs7QVluNEJBO0VBQXlDO0FadTRCekM7O0FZdDRCQTtFQUFtQztBWjA0Qm5DOztBWXo0QkE7RUFBa0M7QVo2NEJsQzs7QVk1NEJBO0VBQXlDO0FaZzVCekM7O0FZLzRCQTtFQUF3QztBWm01QnhDOztBWWw1QkE7RUFBdUM7QVpzNUJ2Qzs7QVlyNUJBO0VBQXlDO0FaeTVCekM7O0FZeDVCQTtFQUF1QztBWjQ1QnZDOztBWTM1QkE7RUFBd0M7QVorNUJ4Qzs7QVk5NUJBO0VBQXVDO0FaazZCdkM7O0FZajZCQTtFQUFnRDtBWnE2QmhEOztBWXA2QkE7RUFBZ0Q7QVp3NkJoRDs7QVl2NkJBO0VBQWlEO0FaMjZCakQ7O0FZMTZCQTtFQUE4QztBWjg2QjlDOztBWTc2QkE7RUFBeUM7QVppN0J6Qzs7QVloN0JBO0VBQXlDO0FabzdCekM7O0FZbjdCQTtFQUEwQztBWnU3QjFDOztBWXQ3QkE7RUFBdUM7QVowN0J2Qzs7QVl6N0JBO0VBQWtDO0FaNjdCbEM7O0FZNTdCQTtFQUFtQztBWmc4Qm5DOztBWS83QkE7RUFBdUM7QVptOEJ2Qzs7QVlsOEJBO0VBQW1DO0FaczhCbkM7O0FZcjhCQTtFQUFtQztBWnk4Qm5DOztBWXg4QkE7RUFBeUM7QVo0OEJ6Qzs7QVkzOEJBO0VBQWlDO0FaKzhCakM7O0FZOThCQTtFQUEyQztBWms5QjNDOztBWWo5QkE7RUFBc0M7QVpxOUJ0Qzs7QVlwOUJBO0VBQTRDO0FadzlCNUM7O0FZdjlCQTtFQUEyQztBWjI5QjNDOztBWTE5QkE7RUFBa0M7QVo4OUJsQzs7QVk3OUJBO0VBQWtDO0FaaStCbEM7O0FZaCtCQTtFQUE4QztBWm8rQjlDOztBWW4rQkE7RUFBa0M7QVp1K0JsQzs7QVl0K0JBO0VBQStDO0FaMCtCL0M7O0FZeitCQTtFQUEyQztBWjYrQjNDOztBWTUrQkE7RUFBdUM7QVpnL0J2Qzs7QVkvK0JBO0VBQTRDO0FabS9CNUM7O0FZbC9CQTtFQUF1QztBWnMvQnZDOztBWXIvQkE7RUFBZ0Q7QVp5L0JoRDs7QVl4L0JBO0VBQXNDO0FaNC9CdEM7O0FZMy9CQTtFQUEyQztBWisvQjNDOztBWTkvQkE7RUFBNkM7QVprZ0M3Qzs7QVlqZ0NBO0VBQXVDO0FacWdDdkM7O0FZcGdDQTtFQUF1QztBWndnQ3ZDOztBWXZnQ0E7RUFBdUM7QVoyZ0N2Qzs7QVkxZ0NBO0VBQXlDO0FaOGdDekM7O0FZN2dDQTtFQUFxQztBWmloQ3JDOztBWWhoQ0E7RUFBaUM7QVpvaENqQzs7QVluaENBO0VBQXdDO0FadWhDeEM7O0FZdGhDQTtFQUFvQztBWjBoQ3BDOztBWXpoQ0E7RUFBcUM7QVo2aENyQzs7QVk1aENBO0VBQW1DO0FaZ2lDbkM7O0FZL2hDQTtFQUFnQztBWm1pQ2hDOztBWWxpQ0E7RUFBaUM7QVpzaUNqQzs7QVlyaUNBO0VBQWtDO0FaeWlDbEM7O0FZeGlDQTtFQUFvQztBWjRpQ3BDOztBWTNpQ0E7RUFBb0M7QVoraUNwQzs7QVk5aUNBO0VBQXdDO0Faa2pDeEM7O0FZampDQTtFQUEyQztBWnFqQzNDOztBWXBqQ0E7RUFBeUM7QVp3akN6Qzs7QVl2akNBO0VBQTRDO0FaMmpDNUM7O0FZMWpDQTtFQUEwQztBWjhqQzFDOztBWTdqQ0E7RUFBcUM7QVppa0NyQzs7QVloa0NBO0VBQTRDO0Fab2tDNUM7O0FZbmtDQTtFQUF5QztBWnVrQ3pDOztBWXRrQ0E7RUFBb0M7QVowa0NwQzs7QVl6a0NBO0VBQXFDO0FaNmtDckM7O0FZNWtDQTtFQUF5QztBWmdsQ3pDOztBWS9rQ0E7RUFBZ0Q7QVptbENoRDs7QVlsbENBO0VBQTJDO0Fac2xDM0M7O0FZcmxDQTtFQUF1QztBWnlsQ3ZDOztBWXhsQ0E7RUFBMkM7QVo0bEMzQzs7QVkzbENBO0VBQW1DO0FaK2xDbkM7O0FZOWxDQTtFQUFtQztBWmttQ25DOztBWWptQ0E7RUFBd0M7QVpxbUN4Qzs7QVlwbUNBO0VBQWlDO0Fad21DakM7O0FZdm1DQTtFQUFzQztBWjJtQ3RDOztBWTFtQ0E7RUFBMEM7QVo4bUMxQzs7QVk3bUNBO0VBQWtDO0FaaW5DbEM7O0FZaG5DQTtFQUFtQztBWm9uQ25DOztBWW5uQ0E7RUFBNkM7QVp1bkM3Qzs7QVl0bkNBO0VBQWdEO0FaMG5DaEQ7O0FZem5DQTtFQUFnRDtBWjZuQ2hEOztBWTVuQ0E7RUFBbUQ7QVpnb0NuRDs7QVkvbkNBO0VBQW1EO0FabW9DbkQ7O0FZbG9DQTtFQUFnRDtBWnNvQ2hEOztBWXJvQ0E7RUFBZ0Q7QVp5b0NoRDs7QVl4b0NBO0VBQW9EO0FaNG9DcEQ7O0FZM29DQTtFQUFtRDtBWitvQ25EOztBWTlvQ0E7RUFBZ0Q7QVprcENoRDs7QVlqcENBO0VBQXNEO0FacXBDdEQ7O0FZcHBDQTtFQUEyRDtBWndwQzNEOztBWXZwQ0E7RUFBbUQ7QVoycENuRDs7QVkxcENBO0VBQWtEO0FaOHBDbEQ7O0FZN3BDQTtFQUF3QztBWmlxQ3hDOztBWWhxQ0E7RUFBMEM7QVpvcUMxQzs7QVlucUNBO0VBQWlDO0FadXFDakM7O0FZdHFDQTtFQUFxQztBWjBxQ3JDOztBWXpxQ0E7RUFBa0M7QVo2cUNsQzs7QVk1cUNBO0VBQXVDO0FaZ3JDdkM7O0FZL3FDQTtFQUFpQztBWm1yQ2pDOztBWWxyQ0E7RUFBa0M7QVpzckNsQzs7QVlyckNBO0VBQW1DO0FaeXJDbkM7O0FZeHJDQTtFQUFpQztBWjRyQ2pDOztBWTNyQ0E7RUFBcUM7QVorckNyQzs7QVk5ckNBO0VBQWlDO0Faa3NDakM7O0FZanNDQTtFQUFrQztBWnFzQ2xDOztBWXBzQ0E7RUFBZ0M7QVp3c0NoQzs7QVl2c0NBO0VBQXVDO0FaMnNDdkM7O0FZMXNDQTtFQUFvQztBWjhzQ3BDOztBWTdzQ0E7RUFBMkM7QVppdEMzQzs7QVlodENBO0VBQXdDO0Fab3RDeEM7O0FZbnRDQTtFQUFxQztBWnV0Q3JDOztBWXR0Q0E7RUFBcUM7QVowdENyQzs7QVl6dENBO0VBQWlDO0FaNnRDakM7O0FZNXRDQTtFQUFtQztBWmd1Q25DOztBWS90Q0E7RUFBc0M7QVptdUN0Qzs7QVlsdUNBO0VBQXFDO0Fac3VDckM7O0FZcnVDQTtFQUFzQztBWnl1Q3RDOztBWXh1Q0E7RUFBb0M7QVo0dUNwQzs7QVkzdUNBO0VBQW9DO0FaK3VDcEM7O0FZOXVDQTtFQUFnQztBWmt2Q2hDOztBWWp2Q0E7RUFBdUM7QVpxdkN2Qzs7QVlwdkNBO0VBQXlDO0Fad3ZDekM7O0FZdnZDQTtFQUFnQztBWjJ2Q2hDOztBWTF2Q0E7RUFBc0M7QVo4dkN0Qzs7QVk3dkNBO0VBQXFDO0FaaXdDckM7O0FZaHdDQTtFQUFpQztBWm93Q2pDOztBWW53Q0E7RUFBcUM7QVp1d0NyQzs7QVl0d0NBO0VBQW9DO0FaMHdDcEM7O0FZendDQTtFQUFzQztBWjZ3Q3RDOztBWTV3Q0E7RUFBc0M7QVpneEN0Qzs7QVkvd0NBO0VBQXFDO0FabXhDckM7O0FZbHhDQTtFQUFxQztBWnN4Q3JDOztBWXJ4Q0E7RUFBdUM7QVp5eEN2Qzs7QVl4eENBO0VBQXFDO0FaNHhDckM7O0FZM3hDQTtFQUFpQztBWit4Q2pDOztBWTl4Q0E7RUFBMEM7QVpreUMxQzs7QVlqeUNBO0VBQStDO0FacXlDL0M7O0FZcHlDQTtFQUF1QztBWnd5Q3ZDOztBWXZ5Q0E7RUFBb0M7QVoyeUNwQzs7QVkxeUNBO0VBQXNDO0FaOHlDdEM7O0FZN3lDQTtFQUFvQztBWml6Q3BDOztBWWh6Q0E7RUFBbUM7QVpvekNuQzs7QVluekNBO0VBQWtDO0FadXpDbEM7O0FZdHpDQTtFQUFnQztBWjB6Q2hDOztBWXp6Q0E7RUFBbUM7QVo2ekNuQzs7QVk1ekNBO0VBQW1DO0FaZzBDbkM7O0FZL3pDQTtFQUFnQztBWm0wQ2hDOztBWWwwQ0E7RUFBd0M7QVpzMEN4Qzs7QVlyMENBO0VBQWtDO0FaeTBDbEM7O0FZeDBDQTtFQUEwQztBWjQwQzFDOztBWTMwQ0E7RUFBbUM7QVorMENuQzs7QVk5MENBO0VBQXdDO0FaazFDeEM7O0FZajFDQTtFQUFzQztBWnExQ3RDOztBWXAxQ0E7RUFBdUM7QVp3MUN2Qzs7QVl2MUNBO0VBQWlDO0FaMjFDakM7O0FZMTFDQTtFQUFxQztBWjgxQ3JDOztBWTcxQ0E7RUFBMEM7QVppMkMxQzs7QVloMkNBO0VBQTZDO0FabzJDN0M7O0FZbjJDQTtFQUFtQztBWnUyQ25DOztBWXQyQ0E7RUFBeUM7QVowMkN6Qzs7QVl6MkNBO0VBQXFDO0FaNjJDckM7O0FZNTJDQTtFQUE0QztBWmczQzVDOztBWS8yQ0E7RUFBb0M7QVptM0NwQzs7QVlsM0NBO0VBQWlDO0FaczNDakM7O0FZcjNDQTtFQUEwQztBWnkzQzFDOztBWXgzQ0E7RUFBMkM7QVo0M0MzQzs7QVkzM0NBO0VBQW1DO0FaKzNDbkM7O0FZOTNDQTtFQUFxQztBWms0Q3JDOztBWWo0Q0E7RUFBcUM7QVpxNENyQzs7QVlwNENBO0VBQTBDO0FadzRDMUM7O0FZdjRDQTtFQUFvQztBWjI0Q3BDOztBWTE0Q0E7RUFBbUM7QVo4NENuQzs7QVk3NENBO0VBQXVDO0FaaTVDdkM7O0FZaDVDQTtFQUFpQztBWm81Q2pDOztBWW41Q0E7RUFBaUM7QVp1NUNqQzs7QVl0NUNBO0VBQXdDO0FaMDVDeEM7O0FZejVDQTtFQUFpQztBWjY1Q2pDOztBWTU1Q0E7RUFBZ0M7QVpnNkNoQzs7QVkvNUNBO0VBQWtDO0FabTZDbEM7O0FZbDZDQTtFQUFzQztBWnM2Q3RDOztBWXI2Q0E7RUFBdUM7QVp5NkN2Qzs7QVl4NkNBO0VBQXVDO0FaNDZDdkM7O0FZMzZDQTtFQUFpQztBWis2Q2pDOztBWTk2Q0E7RUFBa0M7QVprN0NsQzs7QVlqN0NBO0VBQW1DO0FacTdDbkM7O0FZcDdDQTtFQUFxQztBWnc3Q3JDOztBWXY3Q0E7RUFBMEM7QVoyN0MxQzs7QVkxN0NBO0VBQStDO0FaODdDL0M7O0FZNzdDQTtFQUE0QztBWmk4QzVDOztBWWg4Q0E7RUFBbUM7QVpvOENuQzs7QVluOENBO0VBQW1DO0FadThDbkM7O0FZdDhDQTtFQUFtQztBWjA4Q25DOztBWXo4Q0E7RUFBbUM7QVo2OENuQzs7QVk1OENBO0VBQXFDO0FaZzlDckM7O0FZLzhDQTtFQUFxQztBWm05Q3JDOztBWWw5Q0E7RUFBaUM7QVpzOUNqQzs7QVlyOUNBO0VBQXNDO0FaeTlDdEM7O0FZeDlDQTtFQUFxQztBWjQ5Q3JDOztBWTM5Q0E7RUFBeUM7QVorOUN6Qzs7QVk5OUNBO0VBQXdDO0FaaytDeEM7O0FZaitDQTtFQUErQztBWnErQy9DOztBWXArQ0E7RUFBaUQ7QVp3K0NqRDs7QVl2K0NBO0VBQW1DO0FaMitDbkM7O0FZMStDQTtFQUF1QztBWjgrQ3ZDOztBWTcrQ0E7RUFBOEM7QVppL0M5Qzs7QVloL0NBO0VBQXlDO0Faby9DekM7O0FZbi9DQTtFQUE4QztBWnUvQzlDOztBWXQvQ0E7RUFBcUQ7QVowL0NyRDs7QVl6L0NBO0VBQWdDO0FaNi9DaEM7O0FZNS9DQTtFQUF3QztBWmdnRHhDOztBWS8vQ0E7RUFBc0M7QVptZ0R0Qzs7QVlsZ0RBO0VBQXFDO0Fac2dEckM7O0FZcmdEQTtFQUF1QztBWnlnRHZDOztBWXhnREE7RUFBK0M7QVo0Z0QvQzs7QVkzZ0RBO0VBQTRDO0FaK2dENUM7O0FZOWdEQTtFQUFnQztBWmtoRGhDOztBWWpoREE7RUFBaUQ7QVpxaERqRDs7QVlwaERBO0VBQTBDO0Fad2hEMUM7O0FZdmhEQTtFQUF5QztBWjJoRHpDOztBWTFoREE7RUFBbUM7QVo4aERuQzs7QVk3aERBO0VBQWdDO0FaaWlEaEM7O0FZaGlEQTtFQUFvQztBWm9pRHBDOztBWW5pREE7RUFBd0M7QVp1aUR4Qzs7QVl0aURBO0VBQWtDO0FaMGlEbEM7O0FZemlEQTtFQUFtQztBWjZpRG5DOztBWTVpREE7RUFBbUM7QVpnakRuQzs7QVkvaURBO0VBQXdDO0FabWpEeEM7O0FZbGpEQTtFQUFrQztBWnNqRGxDOztBWXJqREE7RUFBaUM7QVp5akRqQzs7QVl4akRBO0VBQXFDO0FaNGpEckM7O0FZM2pEQTtFQUF5QztBWitqRHpDOztBWTlqREE7RUFBdUM7QVpra0R2Qzs7QVlqa0RBO0VBQXNDO0FacWtEdEM7O0FZcGtEQTtFQUEwQztBWndrRDFDOztBWXZrREE7RUFBcUM7QVoya0RyQzs7QVkxa0RBO0VBQTBDO0FaOGtEMUM7O0FZN2tEQTtFQUF1QztBWmlsRHZDOztBWWhsREE7RUFBd0M7QVpvbER4Qzs7QVlubERBO0VBQXVDO0FadWxEdkM7O0FZdGxEQTtFQUF3QztBWjBsRHhDOztBWXpsREE7RUFBeUM7QVo2bER6Qzs7QVk1bERBO0VBQWdEO0FaZ21EaEQ7O0FZL2xEQTtFQUF5QztBWm1tRHpDOztBWWxtREE7RUFBNkM7QVpzbUQ3Qzs7QVlybURBO0VBQXFDO0FaeW1EckM7O0FZeG1EQTtFQUE0QztBWjRtRDVDOztBWTNtREE7RUFBOEM7QVorbUQ5Qzs7QVk5bURBO0VBQTJDO0Faa25EM0M7O0FZam5EQTtFQUF3QztBWnFuRHhDOztBWXBuREE7RUFBdUM7QVp3bkR2Qzs7QVl2bkRBO0VBQXNDO0FaMm5EdEM7O0FZMW5EQTtFQUFpQztBWjhuRGpDOztBWTduREE7RUFBc0M7QVppb0R0Qzs7QVlob0RBO0VBQWlDO0Fab29EakM7O0FZbm9EQTtFQUFtQztBWnVvRG5DOztBWXRvREE7RUFBd0M7QVowb0R4Qzs7QVl6b0RBO0VBQWlDO0FaNm9EakM7O0FZNW9EQTtFQUFxQztBWmdwRHJDOztBWS9vREE7RUFBOEM7QVptcEQ5Qzs7QVlscERBO0VBQW9DO0Fac3BEcEM7O0FZcnBEQTtFQUE0QztBWnlwRDVDOztBWXhwREE7RUFBc0M7QVo0cER0Qzs7QVkzcERBO0VBQXdDO0FaK3BEeEM7O0FZOXBEQTtFQUE0QztBWmtxRDVDOztBWWpxREE7RUFBdUM7QVpxcUR2Qzs7QVlwcURBO0VBQWlDO0Fad3FEakM7O0FZdnFEQTtFQUF3QztBWjJxRHhDOztBWTFxREE7RUFBaUM7QVo4cURqQzs7QVk3cURBO0VBQTJDO0FaaXJEM0M7O0FZaHJEQTtFQUFxQztBWm9yRHJDOztBWW5yREE7RUFBa0M7QVp1ckRsQzs7QVl0ckRBO0VBQW1DO0FaMHJEbkM7O0FZenJEQTtFQUFzQztBWjZyRHRDOztBWTVyREE7RUFBb0M7QVpnc0RwQzs7QVkvckRBO0VBQWdDO0FabXNEaEM7O0FZbHNEQTtFQUFtQztBWnNzRG5DOztBWXJzREE7RUFBeUM7QVp5c0R6Qzs7QVl4c0RBO0VBQXdDO0FaNHNEeEM7O0FZM3NEQTtFQUF3QztBWitzRHhDOztBWTlzREE7RUFBaUM7QVprdERqQzs7QVlqdERBO0VBQXlDO0FacXREekM7O0FZcHREQTtFQUE2QztBWnd0RDdDOztBWXZ0REE7RUFBOEM7QVoydEQ5Qzs7QVkxdERBO0VBQW1EO0FaOHREbkQ7O0FZN3REQTtFQUFzQztBWml1RHRDOztBWWh1REE7RUFBeUM7QVpvdUR6Qzs7QVludURBO0VBQTBDO0FadXVEMUM7O0FZdHVEQTtFQUF5QztBWjB1RHpDOztBWXp1REE7RUFBNkM7QVo2dUQ3Qzs7QVk1dURBO0VBQXFDO0FaZ3ZEckM7O0FZL3VEQTtFQUFvQztBWm12RHBDOztBWWx2REE7RUFBdUM7QVpzdkR2Qzs7QVlydkRBO0VBQTJDO0FaeXZEM0M7O0FZeHZEQTtFQUFvQztBWjR2RHBDOztBWTN2REE7RUFBaUM7QVordkRqQzs7QVk5dkRBO0VBQWtDO0Faa3dEbEM7O0FZandEQTtFQUF1QztBWnF3RHZDOztBWXB3REE7RUFBb0M7QVp3d0RwQzs7QVl2d0RBO0VBQTBDO0FaMndEMUM7O0FZMXdEQTtFQUFtQztBWjh3RG5DOztBWTd3REE7RUFBOEM7QVppeEQ5Qzs7QVloeERBO0VBQTRDO0Fab3hENUM7O0FZbnhEQTtFQUFvQztBWnV4RHBDOztBWXR4REE7RUFBcUM7QVoweERyQzs7QVl6eERBO0VBQWtDO0FaNnhEbEM7O0FZNXhEQTtFQUFnQztBWmd5RGhDOztBWS94REE7RUFBdUM7QVpteUR2Qzs7QVlseURBO0VBQXVDO0Fac3lEdkM7O0FZcnlEQTtFQUErQjtBWnl5RC9COztBWXh5REE7RUFBc0M7QVo0eUR0Qzs7QVkzeURBO0VBQWtDO0FaK3lEbEM7O0FZOXlEQTtFQUFpQztBWmt6RGpDOztBWWp6REE7RUFBa0M7QVpxekRsQzs7QVlwekRBO0VBQWdDO0Fad3pEaEM7O0FZdnpEQTtFQUFvQztBWjJ6RHBDOztBWTF6REE7RUFBdUM7QVo4ekR2Qzs7QVk3ekRBO0VBQW1DO0FaaTBEbkM7O0FZaDBEQTtFQUF1QztBWm8wRHZDOztBWW4wREE7RUFBMEM7QVp1MEQxQzs7QVl0MERBO0VBQXNDO0FaMDBEdEM7O0FZejBEQTtFQUFtQztBWjYwRG5DOztBWTUwREE7RUFBbUM7QVpnMURuQzs7QVkvMERBO0VBQXlDO0FabTFEekM7O0FZbDFEQTtFQUEwQztBWnMxRDFDOztBWXIxREE7RUFBOEM7QVp5MUQ5Qzs7QVl4MURBO0VBQTBDO0FaNDFEMUM7O0FZMzFEQTtFQUFvQztBWisxRHBDOztBWTkxREE7RUFBa0M7QVprMkRsQzs7QVlqMkRBO0VBQW9DO0FacTJEcEM7O0FZcDJEQTtFQUFrQztBWncyRGxDOztBWXYyREE7RUFBeUM7QVoyMkR6Qzs7QVkxMkRBO0VBQTJDO0FaODJEM0M7O0FZNzJEQTtFQUF1QztBWmkzRHZDOztBWWgzREE7RUFBeUM7QVpvM0R6Qzs7QVluM0RBO0VBQW1DO0FadTNEbkM7O0FZdDNEQTtFQUFzQztBWjAzRHRDOztBWXozREE7RUFBc0M7QVo2M0R0Qzs7QVk1M0RBO0VBQXdDO0FaZzREeEM7O0FZLzNEQTtFQUFtQztBWm00RG5DOztBWWw0REE7RUFBeUM7QVpzNER6Qzs7QVlyNERBO0VBQXVDO0FaeTREdkM7O0FZeDREQTtFQUF3QztBWjQ0RHhDOztBWTM0REE7RUFBd0M7QVorNER4Qzs7QVk5NERBO0VBQTBDO0FaazVEMUM7O0FZajVEQTtFQUErQztBWnE1RC9DOztBWXA1REE7RUFBMEM7QVp3NUQxQzs7QVl2NURBO0VBQW9DO0FaMjVEcEM7O0FZMTVEQTtFQUEyQztBWjg1RDNDOztBWTc1REE7RUFBcUM7QVppNkRyQzs7QVloNkRBO0VBQWlDO0FabzZEakM7O0FZbjZEQTtFQUF5QztBWnU2RHpDOztBWXQ2REE7RUFBK0M7QVowNkQvQzs7QVl6NkRBO0VBQW9DO0FaNjZEcEM7O0FZNTZEQTtFQUFpQztBWmc3RGpDOztBWS82REE7RUFBcUM7QVptN0RyQzs7QVlsN0RBO0VBQXNDO0FaczdEdEM7O0FZcjdEQTtFQUE0QztBWnk3RDVDOztBWXg3REE7RUFBd0M7QVo0N0R4Qzs7QVkzN0RBO0VBQXdDO0FaKzdEeEM7O0FZOTdEQTtFQUE4QztBWms4RDlDOztBWWo4REE7RUFBdUM7QVpxOER2Qzs7QVlwOERBO0VBQXVDO0FadzhEdkM7O0FZdjhEQTtFQUF3QztBWjI4RHhDOztBWTE4REE7RUFBK0M7QVo4OEQvQzs7QVk3OERBO0VBQTZDO0FaaTlEN0M7O0FZaDlEQTtFQUFzQztBWm85RHRDOztBWW45REE7RUFBNEM7QVp1OUQ1Qzs7QVl0OURBO0VBQXVDO0FaMDlEdkM7O0FZejlEQTtFQUFnRDtBWjY5RGhEOztBWTU5REE7RUFBMEM7QVpnK0QxQzs7QVkvOURBO0VBQXFDO0FabStEckM7O0FZbCtEQTtFQUFrQztBWnMrRGxDOztBWXIrREE7RUFBb0M7QVp5K0RwQzs7QVl4K0RBO0VBQW1DO0FaNCtEbkM7O0FZMytEQTtFQUFpQztBWisrRGpDOztBWTkrREE7RUFBcUM7QVprL0RyQzs7QVlqL0RBO0VBQXdDO0FacS9EeEM7O0FZcC9EQTtFQUErQztBWncvRC9DOztBWXYvREE7RUFBdUM7QVoyL0R2Qzs7QVkxL0RBO0VBQXNDO0FaOC9EdEM7O0FZNy9EQTtFQUFtQztBWmlnRW5DOztBWWhnRUE7RUFBa0M7QVpvZ0VsQzs7QVluZ0VBO0VBQXlDO0FadWdFekM7O0FZdGdFQTtFQUErQztBWjBnRS9DOztBWXpnRUE7RUFBaUQ7QVo2Z0VqRDs7QVk1Z0VBO0VBQTZDO0FaZ2hFN0M7O0FZL2dFQTtFQUErQztBWm1oRS9DOztBWWxoRUE7RUFBd0M7QVpzaEV4Qzs7QVlyaEVBO0VBQStDO0FaeWhFL0M7O0FZeGhFQTtFQUF1QztBWjRoRXZDOztBWTNoRUE7RUFBdUM7QVoraEV2Qzs7QVk5aEVBO0VBQTRDO0Faa2lFNUM7O0FZamlFQTtFQUE0QztBWnFpRTVDOztBWXBpRUE7RUFBNkM7QVp3aUU3Qzs7QVl2aUVBO0VBQTBDO0FaMmlFMUM7O0FZMWlFQTtFQUF5QztBWjhpRXpDOztBWTdpRUE7RUFBc0M7QVppakV0Qzs7QVloakVBO0VBQTBDO0Fab2pFMUM7O0FZbmpFQTtFQUEwQztBWnVqRTFDOztBWXRqRUE7RUFBdUM7QVowakV2Qzs7QVl6akVBO0VBQWtDO0FaNmpFbEM7O0FZNWpFQTtFQUEwQztBWmdrRTFDOztBWS9qRUE7RUFBdUM7QVpta0V2Qzs7QVlsa0VBO0VBQXNDO0Fac2tFdEM7O0FZcmtFQTtFQUFnRDtBWnlrRWhEOztBWXhrRUE7RUFBNEM7QVo0a0U1Qzs7QVkza0VBO0VBQXFDO0FaK2tFckM7O0FZOWtFQTtFQUFxQztBWmtsRXJDOztBWWpsRUE7RUFBb0M7QVpxbEVwQzs7QVlwbEVBO0VBQXVDO0Fad2xFdkM7O0FZdmxFQTtFQUE0QztBWjJsRTVDOztBWTFsRUE7RUFBdUM7QVo4bEV2Qzs7QVk3bEVBO0VBQWdDO0FaaW1FaEM7O0FZaG1FQTtFQUE0QztBWm9tRTVDOztBWW5tRUE7RUFBa0Q7QVp1bUVsRDs7QVl0bUVBO0VBQTJDO0FaMG1FM0M7O0FZem1FQTtFQUE0QztBWjZtRTVDOztBWTVtRUE7RUFBb0M7QVpnbkVwQzs7QVkvbUVBO0VBQXVDO0FabW5FdkM7O0FZbG5FQTtFQUEyQztBWnNuRTNDOztBWXJuRUE7RUFBb0M7QVp5bkVwQzs7QVl4bkVBO0VBQWtDO0FaNG5FbEM7O0FZM25FQTtFQUF5QztBWituRXpDOztBWTluRUE7RUFBc0M7QVprb0V0Qzs7QVlqb0VBO0VBQXVDO0FacW9FdkM7O0FZcG9FQTtFQUF3QztBWndvRXhDOztBWXZvRUE7RUFBbUM7QVoyb0VuQzs7QVkxb0VBO0VBQWtDO0FaOG9FbEM7O0FZN29FQTtFQUFpQztBWmlwRWpDOztBWWhwRUE7RUFBMEM7QVpvcEUxQzs7QVlucEVBO0VBQW9DO0FadXBFcEM7O0FZdHBFQTtFQUFpQztBWjBwRWpDOztBWXpwRUE7RUFBd0M7QVo2cEV4Qzs7QVk1cEVBO0VBQXdDO0FaZ3FFeEM7O0FZL3BFQTtFQUFpQztBWm1xRWpDOztBWWxxRUE7RUFBa0M7QVpzcUVsQzs7QVlycUVBO0VBQXFDO0FaeXFFckM7O0FZeHFFQTtFQUFrQztBWjRxRWxDOztBWTNxRUE7RUFBdUM7QVorcUV2Qzs7QVk5cUVBO0VBQXFDO0Faa3JFckM7O0FZanJFQTtFQUF5QztBWnFyRXpDOztBWXByRUE7RUFBNEM7QVp3ckU1Qzs7QVl2ckVBO0VBQTBDO0FaMnJFMUM7O0FZMXJFQTtFQUFvQztBWjhyRXBDOztBWTdyRUE7RUFBbUM7QVppc0VuQzs7QVloc0VBO0VBQWtDO0Fab3NFbEM7O0FZbnNFQTtFQUFtQztBWnVzRW5DOztBWXRzRUE7RUFBc0M7QVowc0V0Qzs7QVl6c0VBO0VBQTBDO0FaNnNFMUM7O0FZNXNFQTtFQUEyQztBWmd0RTNDOztBWS9zRUE7RUFBNEM7QVptdEU1Qzs7QVlsdEVBO0VBQXlDO0Fac3RFekM7O0FZcnRFQTtFQUF1QztBWnl0RXZDOztBWXh0RUE7RUFBa0M7QVo0dEVsQzs7QVkzdEVBO0VBQW9DO0FaK3RFcEM7O0FZOXRFQTtFQUFrQztBWmt1RWxDOztBWWp1RUE7RUFBb0M7QVpxdUVwQzs7QVlwdUVBO0VBQXFDO0Fad3VFckM7O0FZdnVFQTtFQUFzQztBWjJ1RXRDOztBWTF1RUE7RUFBb0M7QVo4dUVwQzs7QVk3dUVBO0VBQWtDO0FaaXZFbEM7O0FZaHZFQTtFQUFxQztBWm92RXJDOztBWW52RUE7RUFBb0M7QVp1dkVwQzs7QVl0dkVBO0VBQXdDO0FaMHZFeEM7O0FZenZFQTtFQUFrQztBWjZ2RWxDOztBWTV2RUE7RUFBa0M7QVpnd0VsQzs7QVkvdkVBO0VBQWtDO0FabXdFbEM7O0FZbHdFQTtFQUFtQztBWnN3RW5DOztBWXJ3RUE7RUFBaUM7QVp5d0VqQzs7QVl4d0VBO0VBQWtDO0FaNHdFbEM7O0FZM3dFQTtFQUFtQztBWit3RW5DOztBWTl3RUE7RUFBcUM7QVpreEVyQzs7QVlqeEVBO0VBQXFDO0FacXhFckM7O0FZcHhFQTtFQUFpQztBWnd4RWpDOztBWXZ4RUE7RUFBd0M7QVoyeEV4Qzs7QVkxeEVBO0VBQXFDO0FaOHhFckM7O0FZN3hFQTtFQUFzQztBWml5RXRDOztBWWh5RUE7RUFBNkM7QVpveUU3Qzs7QVlueUVBO0VBQXFDO0FadXlFckM7O0FZdHlFQTtFQUFxQztBWjB5RXJDOztBWXp5RUE7RUFBOEM7QVo2eUU5Qzs7QVk1eUVBO0VBQXFDO0FaZ3pFckM7O0FZL3lFQTtFQUFvQztBWm16RXBDOztBWWx6RUE7RUFBbUM7QVpzekVuQzs7QVlyekVBO0VBQW9DO0FaeXpFcEM7O0FZeHpFQTtFQUFtQztBWjR6RW5DOztBWTN6RUE7RUFBd0M7QVorekV4Qzs7QVk5ekVBO0VBQWlDO0FaazBFakM7O0FZajBFQTtFQUFpQztBWnEwRWpDOztBWXAwRUE7RUFBdUM7QVp3MEV2Qzs7QVl2MEVBO0VBQW9DO0FaMjBFcEM7O0FZMTBFQTtFQUFpQztBWjgwRWpDOztBWTcwRUE7RUFBa0M7QVppMUVsQzs7QVloMUVBO0VBQWtDO0FabzFFbEM7O0FZbjFFQTtFQUFtQztBWnUxRW5DOztBWXQxRUE7RUFBMkM7QVowMUUzQzs7QVl6MUVBO0VBQStCO0FaNjFFL0I7O0FZNTFFQTtFQUFzQztBWmcyRXRDOztBWS8xRUE7RUFBcUM7QVptMkVyQzs7QVlsMkVBO0VBQWtDO0FaczJFbEM7O0FZcjJFQTtFQUFtQztBWnkyRW5DOztBWXgyRUE7RUFBZ0M7QVo0MkVoQzs7QVkzMkVBO0VBQW9DO0FaKzJFcEM7O0FZOTJFQTtFQUFxQztBWmszRXJDOztBWWozRUE7RUFBbUM7QVpxM0VuQzs7QVlwM0VBO0VBQW1DO0FadzNFbkM7O0FZdjNFQTtFQUF3QztBWjIzRXhDOztBWTEzRUE7RUFBMEM7QVo4M0UxQzs7QVk3M0VBO0VBQWlDO0FaaTRFakM7O0FZaDRFQTtFQUFzQztBWm80RXRDOztBWW40RUE7RUFBNEM7QVp1NEU1Qzs7QVl0NEVBO0VBQXNDO0FaMDRFdEM7O0FZejRFQTtFQUFtQztBWjY0RW5DOztBWTU0RUE7RUFBcUM7QVpnNUVyQzs7QVkvNEVBO0VBQXFDO0FabTVFckM7O0FZbDVFQTtFQUFtQztBWnM1RW5DOztBWXI1RUE7RUFBd0M7QVp5NUV4Qzs7QVl4NUVBO0VBQXlDO0FaNDVFekM7O0FZMzVFQTtFQUEyQztBWis1RTNDOztBWTk1RUE7RUFBb0M7QVprNkVwQzs7QVlqNkVBO0VBQW1DO0FacTZFbkM7O0FZcDZFQTtFQUEwQztBWnc2RTFDOztBWXY2RUE7RUFBa0M7QVoyNkVsQzs7QVkxNkVBO0VBQXVDO0FaODZFdkM7O0FZNzZFQTtFQUF5QztBWmk3RXpDOztBWWg3RUE7RUFBdUM7QVpvN0V2Qzs7QVluN0VBO0VBQXdDO0FadTdFeEM7O0FZdDdFQTtFQUFpQztBWjA3RWpDOztBWXo3RUE7RUFBb0M7QVo2N0VwQzs7QVk1N0VBO0VBQWtDO0FaZzhFbEM7O0FZLzdFQTtFQUFpQztBWm04RWpDOztBWWw4RUE7RUFBc0M7QVpzOEV0Qzs7QVlyOEVBO0VBQTRDO0FaeThFNUM7O0FZeDhFQTtFQUEyQztBWjQ4RTNDOztBWTM4RUE7RUFBeUM7QVorOEV6Qzs7QVk5OEVBO0VBQXNDO0FaazlFdEM7O0FZajlFQTtFQUFzQztBWnE5RXRDOztBWXA5RUE7RUFBaUM7QVp3OUVqQzs7QVl2OUVBO0VBQWlDO0FaMjlFakM7O0FZMTlFQTtFQUFxQztBWjg5RXJDOztBWTc5RUE7RUFBd0M7QVppK0V4Qzs7QVloK0VBO0VBQW1DO0FabytFbkM7O0FZbitFQTtFQUFrQztBWnUrRWxDOztBWXQrRUE7RUFBc0M7QVowK0V0Qzs7QVl6K0VBO0VBQWlDO0FaNitFakM7O0FZNStFQTtFQUFxQztBWmcvRXJDOztBWS8rRUE7RUFBb0M7QVptL0VwQzs7QVlsL0VBO0VBQW9DO0Facy9FcEM7O0FZci9FQTtFQUEyQztBWnkvRTNDOztBWXgvRUE7RUFBaUM7QVo0L0VqQzs7QVkzL0VBO0VBQXNDO0FaKy9FdEM7O0FZOS9FQTtFQUFnRDtBWmtnRmhEOztBWWpnRkE7RUFBZ0Q7QVpxZ0ZoRDs7QVlwZ0ZBO0VBQWlEO0Fad2dGakQ7O0FZdmdGQTtFQUE4QztBWjJnRjlDOztBWTFnRkE7RUFBdUM7QVo4Z0Z2Qzs7QVk3Z0ZBO0VBQXlDO0FaaWhGekM7O0FZaGhGQTtFQUFrQztBWm9oRmxDOztBWW5oRkE7RUFBd0M7QVp1aEZ4Qzs7QVl0aEZBO0VBQWlDO0FaMGhGakM7O0FZemhGQTtFQUFvQztBWjZoRnBDOztBWTVoRkE7RUFBa0M7QVpnaUZsQzs7QVkvaEZBO0VBQW1DO0FabWlGbkM7O0FZbGlGQTtFQUFzQztBWnNpRnRDOztBWXJpRkE7RUFBc0M7QVp5aUZ0Qzs7QVl4aUZBO0VBQWlDO0FaNGlGakM7O0FZM2lGQTtFQUF3QztBWitpRnhDOztBWTlpRkE7RUFBZ0M7QVprakZoQzs7QVlqakZBO0VBQXVDO0FacWpGdkM7O0FZcGpGQTtFQUEyQztBWndqRjNDOztBWXZqRkE7RUFBdUM7QVoyakZ2Qzs7QVkxakZBO0VBQTJDO0FaOGpGM0M7O0FZN2pGQTtFQUFvQztBWmlrRnBDOztBWWhrRkE7RUFBc0M7QVpva0Z0Qzs7QVlua0ZBO0VBQXFDO0FadWtGckM7O0FZdGtGQTtFQUFtQztBWjBrRm5DOztBWXprRkE7RUFBaUM7QVo2a0ZqQzs7QVk1a0ZBO0VBQXdDO0FaZ2xGeEM7O0FZL2tGQTtFQUF3QztBWm1sRnhDOztBWWxsRkE7RUFBMEM7QVpzbEYxQzs7QVlybEZBO0VBQTBDO0FaeWxGMUM7O0FZeGxGQTtFQUFpQztBWjRsRmpDOztBWTNsRkE7RUFBcUM7QVorbEZyQzs7QVk5bEZBO0VBQW1DO0Faa21GbkM7O0FZam1GQTtFQUFnQztBWnFtRmhDOztBWXBtRkE7RUFBa0M7QVp3bUZsQzs7QVl2bUZBO0VBQW9DO0FaMm1GcEM7O0FZMW1GQTtFQUFtQztBWjhtRm5DOztBWTdtRkE7RUFBcUM7QVppbkZyQzs7QVlobkZBO0VBQW1DO0Fab25GbkM7O0FZbm5GQTtFQUFrQztBWnVuRmxDOztBWXRuRkE7RUFBbUM7QVowbkZuQzs7QVl6bkZBO0VBQXFDO0FaNm5GckM7O0FZNW5GQTtFQUFnQztBWmdvRmhDOztBWS9uRkE7RUFBc0M7QVptb0Z0Qzs7QVlsb0ZBO0VBQTZDO0Fac29GN0M7O0FZcm9GQTtFQUFtQztBWnlvRm5DOztBWXhvRkE7RUFBcUM7QVo0b0ZyQzs7QVkzb0ZBO0VBQW9DO0FaK29GcEM7O0FZOW9GQTtFQUFvQztBWmtwRnBDOztBWWpwRkE7RUFBbUM7QVpxcEZuQzs7QVlwcEZBO0VBQXNDO0Fad3BGdEM7O0FZdnBGQTtFQUFzQztBWjJwRnRDOztBWTFwRkE7RUFBdUM7QVo4cEZ2Qzs7QVk3cEZBO0VBQTJDO0FaaXFGM0M7O0FZaHFGQTtFQUFpRDtBWm9xRmpEOztBWW5xRkE7RUFBNkM7QVp1cUY3Qzs7QVl0cUZBO0VBQXVDO0FaMHFGdkM7O0FZenFGQTtFQUFzQztBWjZxRnRDOztBWTVxRkE7RUFBa0M7QVpnckZsQzs7QVkvcUZBO0VBQXlDO0FabXJGekM7O0FZbHJGQTtFQUF5QztBWnNyRnpDOztBWXJyRkE7RUFBbUM7QVp5ckZuQzs7QVl4ckZBO0VBQWdDO0FaNHJGaEM7O0FZM3JGQTtFQUFxQztBWityRnJDOztBWTlyRkE7RUFBa0M7QVprc0ZsQzs7QVlqc0ZBO0VBQW1DO0FacXNGbkM7O0FZcHNGQTtFQUFtQztBWndzRm5DOztBWXZzRkE7RUFBdUM7QVoyc0Z2Qzs7QVkxc0ZBO0VBQWlDO0FaOHNGakM7O0FZN3NGQTtFQUFtQztBWml0Rm5DOztBWWh0RkE7RUFBdUM7QVpvdEZ2Qzs7QVludEZBO0VBQTJDO0FadXRGM0M7O0FZdHRGQTtFQUE0QztBWjB0RjVDOztBWXp0RkE7RUFBZ0Q7QVo2dEZoRDs7QVk1dEZBO0VBQXdDO0FaZ3VGeEM7O0FZL3RGQTtFQUE0QztBWm11RjVDOztBWWx1RkE7RUFBcUM7QVpzdUZyQzs7QVlydUZBO0VBQWlDO0FaeXVGakM7O0FZeHVGQTtFQUEwQztBWjR1RjFDOztBWTN1RkE7RUFBbUM7QVordUZuQzs7QVk5dUZBO0VBQXVDO0Faa3ZGdkM7O0FZanZGQTtFQUFxQztBWnF2RnJDOztBWXB2RkE7RUFBa0M7QVp3dkZsQzs7QVl2dkZBO0VBQTBDO0FaMnZGMUM7O0FZMXZGQTtFQUFvQztBWjh2RnBDOztBWTd2RkE7RUFBa0M7QVppd0ZsQzs7QVlod0ZBO0VBQW9DO0Fab3dGcEM7O0FZbndGQTtFQUFpQztBWnV3RmpDOztBWXR3RkE7RUFBMEM7QVowd0YxQzs7QVl6d0ZBO0VBQW1DO0FaNndGbkM7O0FZNXdGQTtFQUFzQztBWmd4RnRDOztBWS93RkE7RUFBbUM7QVpteEZuQzs7QVlseEZBO0VBQWlDO0Fac3hGakM7O0FZcnhGQTtFQUFvQztBWnl4RnBDOztBWXh4RkE7RUFBc0M7QVo0eEZ0Qzs7QVkzeEZBO0VBQTBDO0FaK3hGMUM7O0FZOXhGQTtFQUFnQztBWmt5RmhDOztBWWp5RkE7RUFBZ0M7QVpxeUZoQzs7QVlweUZBO0VBQXdDO0Fad3lGeEM7O0FZdnlGQTtFQUF5QztBWjJ5RnpDOztBWTF5RkE7RUFBMkM7QVo4eUYzQzs7QVk3eUZBO0VBQTJDO0FaaXpGM0M7O0FZaHpGQTtFQUEwQztBWm96RjFDOztBWW56RkE7RUFBaUQ7QVp1ekZqRDs7QVl0ekZBO0VBQW9DO0FaMHpGcEM7O0FZenpGQTtFQUF5QztBWjZ6RnpDOztBWTV6RkE7RUFBK0I7QVpnMEYvQjs7QVkvekZBO0VBQXFDO0FabTBGckM7O0FZbDBGQTtFQUFtQztBWnMwRm5DOztBWXIwRkE7RUFBa0M7QVp5MEZsQzs7QVl4MEZBO0VBQTBDO0FaNDBGMUM7O0FZMzBGQTtFQUFrQztBWiswRmxDOztBWTkwRkE7RUFBZ0M7QVprMUZoQzs7QVlqMUZBO0VBQWtDO0FacTFGbEM7O0FZcDFGQTtFQUFvQztBWncxRnBDOztBWXYxRkE7RUFBa0M7QVoyMUZsQzs7QVkxMUZBO0VBQXNDO0FaODFGdEM7O0FZNzFGQTtFQUFrQztBWmkyRmxDOztBWWgyRkE7RUFBd0M7QVpvMkZ4Qzs7QVluMkZBO0VBQXlDO0FadTJGekM7O0FZdDJGQTtFQUFvQztBWjAyRnBDOztBWXoyRkE7RUFBbUM7QVo2MkZuQzs7QVk1MkZBO0VBQW1DO0FaZzNGbkM7O0FZLzJGQTtFQUF3QztBWm0zRnhDOztBWWwzRkE7RUFBc0M7QVpzM0Z0Qzs7QVlyM0ZBO0VBQTBDO0FaeTNGMUM7O0FZeDNGQTtFQUFzQztBWjQzRnRDOztBWTMzRkE7RUFBb0M7QVorM0ZwQzs7QVk5M0ZBO0VBQXFDO0FaazRGckM7O0FZajRGQTtFQUEyQztBWnE0RjNDOztBWXA0RkE7RUFBa0M7QVp3NEZsQzs7QVl2NEZBO0VBQW9DO0FaMjRGcEM7O0FZMTRGQTtFQUFrQztBWjg0RmxDOztBWTc0RkE7RUFBeUM7QVppNUZ6Qzs7QVloNUZBO0VBQWdDO0FabzVGaEM7O0FZbjVGQTtFQUFtQztBWnU1Rm5DOztBWXQ1RkE7RUFBa0M7QVowNUZsQzs7QVl6NUZBO0VBQWdDO0FaNjVGaEM7O0FZNTVGQTtFQUFvQztBWmc2RnBDOztBWS81RkE7RUFBc0M7QVptNkZ0Qzs7QVlsNkZBO0VBQW9DO0FaczZGcEM7O0FZcjZGQTtFQUF1QztBWnk2RnZDOztBWXg2RkE7RUFBdUM7QVo0NkZ2Qzs7QVkzNkZBO0VBQXlDO0FaKzZGekM7O0FZOTZGQTtFQUF5QztBWms3RnpDOztBWWo3RkE7RUFBMEM7QVpxN0YxQzs7QVlwN0ZBO0VBQXlDO0FadzdGekM7O0FZdjdGQTtFQUF1QztBWjI3RnZDOztBWTE3RkE7RUFBb0M7QVo4N0ZwQzs7QVk3N0ZBO0VBQW9DO0FaaThGcEM7O0FZaDhGQTtFQUF1QztBWm84RnZDOztBWW44RkE7RUFBc0M7QVp1OEZ0Qzs7QVl0OEZBO0VBQXlDO0FaMDhGekM7O0FZejhGQTtFQUF3QztBWjY4RnhDOztBWTU4RkE7RUFBOEM7QVpnOUY5Qzs7QVkvOEZBO0VBQTZDO0FabTlGN0M7O0FZbDlGQTtFQUFrQztBWnM5RmxDOztBWXI5RkE7RUFBc0M7QVp5OUZ0Qzs7QVl4OUZBO0VBQXdDO0FaNDlGeEM7O0FZMzlGQTtFQUF5QztBWis5RnpDOztBWTk5RkE7RUFBNkM7QVprK0Y3Qzs7QVlqK0ZBO0VBQXlDO0FacStGekM7O0FZcCtGQTtFQUF3QztBWncrRnhDOztBWXYrRkE7RUFBZ0M7QVoyK0ZoQzs7QVkxK0ZBO0VBQXVDO0FaOCtGdkM7O0FZNytGQTtFQUEyQztBWmkvRjNDOztBWWgvRkE7RUFBMkM7QVpvL0YzQzs7QVluL0ZBO0VBQTBDO0FadS9GMUM7O0FZdC9GQTtFQUE4QztBWjAvRjlDOztBWXovRkE7RUFBdUM7QVo2L0Z2Qzs7QVk1L0ZBO0VBQWtDO0FaZ2dHbEM7O0FZLy9GQTtFQUFzQztBWm1nR3RDOztBWWxnR0E7RUFBd0M7QVpzZ0d4Qzs7QVlyZ0dBO0VBQTZDO0FaeWdHN0M7O0FZeGdHQTtFQUF3QztBWjRnR3hDOztBWTNnR0E7RUFBNkM7QVorZ0c3Qzs7QVk5Z0dBO0VBQWtDO0Faa2hHbEM7O0FZamhHQTtFQUEwQztBWnFoRzFDOztBWXBoR0E7RUFBNEM7QVp3aEc1Qzs7QVl2aEdBO0VBQXdDO0FaMmhHeEM7O0FZMWhHQTtFQUFpQztBWjhoR2pDOztBWTdoR0E7RUFBd0M7QVppaUd4Qzs7QVloaUdBO0VBQXdDO0Fab2lHeEM7O0FZbmlHQTtFQUFpQztBWnVpR2pDOztBWXRpR0E7RUFBaUM7QVowaUdqQzs7QVl6aUdBO0VBQXdDO0FaNmlHeEM7O0FZNWlHQTtFQUF3QztBWmdqR3hDOztBWS9pR0E7RUFBb0M7QVptakdwQzs7QVlsakdBO0VBQWlDO0Fac2pHakM7O0FZcmpHQTtFQUFtQztBWnlqR25DOztBWXhqR0E7RUFBZ0M7QVo0akdoQzs7QVkzakdBO0VBQXNDO0FaK2pHdEM7O0FZOWpHQTtFQUFpQztBWmtrR2pDOztBWWprR0E7RUFBcUM7QVpxa0dyQzs7QVlwa0dBO0VBQXVDO0Fad2tHdkM7O0FZdmtHQTtFQUFzQztBWjJrR3RDOztBWTFrR0E7RUFBaUM7QVo4a0dqQzs7QVk3a0dBO0VBQTBDO0FaaWxHMUM7O0FZaGxHQTtFQUF5QztBWm9sR3pDOztBWW5sR0E7RUFBZ0Q7QVp1bEdoRDs7QVl0bEdBO0VBQW9EO0FaMGxHcEQ7O0FZemxHQTtFQUFrQztBWjZsR2xDOztBWTVsR0E7RUFBdUM7QVpnbUd2Qzs7QVkvbEdBO0VBQXlDO0FabW1HekM7O0FZbG1HQTtFQUE0QztBWnNtRzVDOztBWXJtR0E7RUFBeUM7QVp5bUd6Qzs7QVl4bUdBO0VBQXNDO0FaNG1HdEM7O0FZM21HQTtFQUFtQztBWittR25DOztBWTltR0E7RUFBeUM7QVprbkd6Qzs7QVlqbkdBO0VBQW1DO0FacW5HbkM7O0FZcG5HQTtFQUErQjtBWnduRy9COztBWXZuR0E7RUFBbUM7QVoybkduQzs7QVkxbkdBO0VBQXFDO0FaOG5HckM7O0FZN25HQTtFQUE0QztBWmlvRzVDOztBWWhvR0E7RUFBc0M7QVpvb0d0Qzs7QVlub0dBO0VBQXNDO0FadW9HdEM7O0FZdG9HQTtFQUFrQztBWjBvR2xDOztBWXpvR0E7RUFBdUM7QVo2b0d2Qzs7QVk1b0dBO0VBQXdDO0FaZ3BHeEM7O0FZL29HQTtFQUFrQztBWm1wR2xDOztBWWxwR0E7RUFBc0M7QVpzcEd0Qzs7QVlycEdBO0VBQXNDO0FaeXBHdEM7O0FZeHBHQTtFQUEwQztBWjRwRzFDOztBWTNwR0E7RUFBb0M7QVorcEdwQzs7QVk5cEdBO0VBQW1DO0Faa3FHbkM7O0FZanFHQTtFQUF5QztBWnFxR3pDOztBWXBxR0E7RUFBb0M7QVp3cUdwQzs7QVl2cUdBO0VBQWtDO0FaMnFHbEM7O0FZMXFHQTtFQUF3QztBWjhxR3hDOztBWTdxR0E7RUFBbUM7QVppckduQzs7QVlockdBO0VBQWtDO0Fab3JHbEM7O0FZbnJHQTtFQUFvQztBWnVyR3BDOztBWXRyR0E7RUFBeUM7QVowckd6Qzs7QVl6ckdBO0VBQW9DO0FaNnJHcEM7O0FZNXJHQTtFQUFzQztBWmdzR3RDOztBWS9yR0E7RUFBbUM7QVptc0duQzs7QVlsc0dBO0VBQXlDO0Fac3NHekM7O0FZcnNHQTtFQUEwQztBWnlzRzFDOztBWXhzR0E7RUFBbUM7QVo0c0duQzs7QVkzc0dBO0VBQWlDO0FaK3NHakM7O0FZOXNHQTtFQUFxQztBWmt0R3JDOztBWWp0R0E7RUFBdUM7QVpxdEd2Qzs7QVlwdEdBO0VBQTBDO0Fad3RHMUM7O0FZdnRHQTtFQUFtQztBWjJ0R25DOztBWTF0R0E7RUFBa0M7QVo4dEdsQzs7QVk3dEdBO0VBQXNDO0FaaXVHdEM7O0FZaHVHQTtFQUFtQztBWm91R25DOztBWW51R0E7RUFBdUM7QVp1dUd2Qzs7QVl0dUdBO0VBQXlDO0FaMHVHekM7O0FZenVHQTtFQUFzQztBWjZ1R3RDOztBWTV1R0E7RUFBcUM7QVpndkdyQzs7QVkvdUdBO0VBQW9DO0FabXZHcEM7O0FZbHZHQTtFQUFnQztBWnN2R2hDOztBWXJ2R0E7RUFBbUM7QVp5dkduQzs7QVl4dkdBO0VBQWlDO0FaNHZHakM7O0FZM3ZHQTtFQUFpQztBWit2R2pDOztBWTl2R0E7RUFBa0M7QVprd0dsQzs7QVlqd0dBO0VBQW1DO0FacXdHbkM7O0FZcHdHQTtFQUF1QztBWnd3R3ZDOztBWXZ3R0E7RUFBb0M7QVoyd0dwQzs7QVkxd0dBO0VBQWtDO0FaOHdHbEM7O0FZN3dHQTtFQUFnQztBWml4R2hDOztBWWh4R0E7RUFBdUM7QVpveEd2Qzs7QVlueEdBO0VBQXVDO0FadXhHdkM7O0FZdHhHQTtFQUFrQztBWjB4R2xDOztBWXp4R0E7RUFBMkM7QVo2eEczQzs7QVk1eEdBO0VBQTZDO0FaZ3lHN0M7O0FZL3hHQTtFQUEyQztBWm15RzNDOztBWWx5R0E7RUFBb0M7QVpzeUdwQzs7QVlyeUdBO0VBQXVDO0FaeXlHdkM7O0FZeHlHQTtFQUFpQztBWjR5R2pDOztBWTN5R0E7RUFBb0M7QVoreUdwQzs7QVk5eUdBO0VBQXFDO0Faa3pHckM7O0FZanpHQTtFQUFtQztBWnF6R25DOztBWXB6R0E7RUFBdUM7QVp3ekd2Qzs7QVl2ekdBO0VBQWlDO0FaMnpHakM7O0FZMXpHQTtFQUFzQztBWjh6R3RDOztBWTd6R0E7RUFBMkM7QVppMEczQzs7QVloMEdBO0VBQWlDO0FabzBHakM7O0FZbjBHQTtFQUFtQztBWnUwR25DOztBWXQwR0E7RUFBbUM7QVowMEduQzs7QVl6MEdBO0VBQXdDO0FaNjBHeEM7O0FZNTBHQTtFQUFtQztBWmcxR25DOztBWS8wR0E7RUFBbUM7QVptMUduQzs7QVlsMUdBO0VBQW9DO0FaczFHcEM7O0FZcjFHQTtFQUFtQztBWnkxR25DOztBWXgxR0E7RUFBMEM7QVo0MUcxQzs7QVkzMUdBO0VBQTRDO0FaKzFHNUM7O0FZOTFHQTtFQUF5QztBWmsyR3pDOztBWWoyR0E7RUFBd0M7QVpxMkd4Qzs7QVlwMkdBO0VBQXdDO0FadzJHeEM7O0FZdjJHQTtFQUFxQztBWjIyR3JDOztBWTEyR0E7RUFBcUM7QVo4MkdyQzs7QVk3MkdBO0VBQW1DO0FaaTNHbkM7O0FZaDNHQTtFQUFtQztBWm8zR25DOztBWW4zR0E7RUFBeUM7QVp1M0d6Qzs7QVl0M0dBO0VBQW1DO0FaMDNHbkM7O0FZejNHQTtFQUFrQztBWjYzR2xDOztBWTUzR0E7RUFBc0M7QVpnNEd0Qzs7QVkvM0dBO0VBQTZDO0FabTRHN0M7O0FZbDRHQTtFQUF5QztBWnM0R3pDOztBWXI0R0E7RUFBd0M7QVp5NEd4Qzs7QVl4NEdBO0VBQXVDO0FaNDRHdkM7O0FZMzRHQTtFQUF5QztBWis0R3pDOztBWTk0R0E7RUFBaUM7QVprNUdqQzs7QVlqNUdBO0VBQTBDO0FacTVHMUM7O0FZcDVHQTtFQUF5QztBWnc1R3pDOztBWXY1R0E7RUFBd0M7QVoyNUd4Qzs7QVkxNUdBO0VBQW9DO0FaODVHcEM7O0FZNzVHQTtFQUF5QztBWmk2R3pDOztBWWg2R0E7RUFBNEM7QVpvNkc1Qzs7QVluNkdBO0VBQTBDO0FadTZHMUM7O0FZdDZHQTtFQUFxQztBWjA2R3JDOztBWXo2R0E7RUFBbUM7QVo2NkduQzs7QVk1NkdBO0VBQXdDO0FaZzdHeEM7O0FZLzZHQTtFQUFpQztBWm03R2pDOztBWWw3R0E7RUFBd0M7QVpzN0d4Qzs7QVlyN0dBO0VBQTBDO0FaeTdHMUM7O0FZeDdHQTtFQUF5QztBWjQ3R3pDOztBWTM3R0E7RUFBbUM7QVorN0duQzs7QVk5N0dBO0VBQXNDO0FaazhHdEM7O0FZajhHQTtFQUFxQztBWnE4R3JDOztBWXA4R0E7RUFBd0M7QVp3OEd4Qzs7QVl2OEdBO0VBQWlDO0FaMjhHakM7O0FZMThHQTtFQUFvQztBWjg4R3BDOztBWTc4R0E7RUFBb0M7QVppOUdwQzs7QVloOUdBO0VBQWlDO0FabzlHakM7O0FZbjlHQTtFQUFvQztBWnU5R3BDOztBWXQ5R0E7RUFBbUM7QVowOUduQzs7QVl6OUdBO0VBQW1DO0FaNjlHbkM7O0FZNTlHQTtFQUEwQztBWmcrRzFDOztBWS85R0E7RUFBa0M7QVptK0dsQzs7QVlsK0dBO0VBQTZDO0FacytHN0M7O0FZcitHQTtFQUFxQztBWnkrR3JDOztBWXgrR0E7RUFBa0M7QVo0K0dsQzs7QVkzK0dBO0VBQWtDO0FaKytHbEM7O0FZOStHQTtFQUF1QztBWmsvR3ZDOztBWWovR0E7RUFBa0M7QVpxL0dsQzs7QVlwL0dBO0VBQW1DO0Fady9HbkM7O0FZdi9HQTtFQUFzQztBWjIvR3RDOztBWTEvR0E7RUFBdUM7QVo4L0d2Qzs7QVk3L0dBO0VBQWtDO0FaaWdIbEM7O0FZaGdIQTtFQUF1QztBWm9nSHZDOztBWW5nSEE7RUFBdUM7QVp1Z0h2Qzs7QVl0Z0hBO0VBQWlDO0FaMGdIakM7O0FZemdIQTtFQUFvQztBWjZnSHBDOztBWTVnSEE7RUFBd0M7QVpnaEh4Qzs7QVkvZ0hBO0VBQWdDO0FabWhIaEM7O0FZbGhIQTtFQUFxQztBWnNoSHJDOztBWXJoSEE7RUFBMkM7QVp5aEgzQzs7QVl4aEhBO0VBQTRDO0FaNGhINUM7O0FZM2hIQTtFQUF5QztBWitoSHpDOztBWTloSEE7RUFBc0M7QVpraUh0Qzs7QVlqaUhBO0VBQW9DO0FacWlIcEM7O0FZcGlIQTtFQUFxQztBWndpSHJDOztBWXZpSEE7RUFBaUM7QVoyaUhqQzs7QVkxaUhBO0VBQWtDO0FaOGlIbEM7O0FZN2lIQTtFQUF3QztBWmlqSHhDOztBWWhqSEE7RUFBaUM7QVpvakhqQzs7QVluakhBO0VBQTRDO0FadWpINUM7O0FZdGpIQTtFQUFnRDtBWjBqSGhEOztBWXpqSEE7RUFBMEM7QVo2akgxQzs7QVk1akhBO0VBQThDO0FaZ2tIOUM7O0FZL2pIQTtFQUE2QztBWm1rSDdDOztBWWxrSEE7RUFBaUQ7QVpza0hqRDs7QVlya0hBO0VBQTJDO0FaeWtIM0M7O0FZeGtIQTtFQUErQztBWjRrSC9DOztBWTNrSEE7RUFBc0M7QVora0h0Qzs7QVk5a0hBO0VBQThDO0Faa2xIOUM7O0FZamxIQTtFQUFrRDtBWnFsSGxEOztBWXBsSEE7RUFBNEM7QVp3bEg1Qzs7QVl2bEhBO0VBQWdEO0FaMmxIaEQ7O0FZMWxIQTtFQUFvQztBWjhsSHBDOztBWTdsSEE7RUFBdUM7QVppbUh2Qzs7QVlobUhBO0VBQXVDO0Fab21IdkM7O0FZbm1IQTtFQUFnQztBWnVtSGhDOztBWXRtSEE7RUFBMEM7QVowbUgxQzs7QVl6bUhBO0VBQW9DO0FaNm1IcEM7O0FZNW1IQTtFQUF5QztBWmduSHpDOztBWS9tSEE7RUFBd0M7QVptbkh4Qzs7QVlsbkhBO0VBQW1DO0Fac25IbkM7O0FZcm5IQTtFQUFvQztBWnluSHBDOztBWXhuSEE7RUFBb0M7QVo0bkhwQzs7QVkzbkhBO0VBQW9DO0FaK25IcEM7O0FZOW5IQTtFQUFzQztBWmtvSHRDOztBWWpvSEE7RUFBbUM7QVpxb0huQzs7QVlwb0hBO0VBQXdDO0Fad29IeEM7O0FZdm9IQTtFQUE0QztBWjJvSDVDOztBWTFvSEE7RUFBd0M7QVo4b0h4Qzs7QVk3b0hBO0VBQTJDO0FaaXBIM0M7O0FZaHBIQTtFQUEyQztBWm9wSDNDOztBWW5wSEE7RUFBc0M7QVp1cEh0Qzs7QVl0cEhBO0VBQWtDO0FaMHBIbEM7O0FZenBIQTtFQUFpQztBWjZwSGpDOztBWTVwSEE7RUFBOEM7QVpncUg5Qzs7QVkvcEhBO0VBQXNDO0FabXFIdEM7O0FZbHFIQTtFQUEwQztBWnNxSDFDOztBWXJxSEE7RUFBMEM7QVp5cUgxQzs7QVl4cUhBO0VBQXlDO0FaNHFIekM7O0FZM3FIQTtFQUF1QztBWitxSHZDOztBWTlxSEE7RUFBa0M7QVprckhsQzs7QVlqckhBO0VBQXlDO0FacXJIekM7O0FZcHJIQTtFQUF5QztBWndySHpDOztBWXZySEE7RUFBMEM7QVoyckgxQzs7QVkxckhBO0VBQXlDO0FaOHJIekM7O0FZN3JIQTtFQUF3QztBWmlzSHhDOztBWWhzSEE7RUFBeUM7QVpvc0h6Qzs7QVluc0hBO0VBQXdDO0FadXNIeEM7O0FZdHNIQTtFQUFpQztBWjBzSGpDOztBWXpzSEE7RUFBd0M7QVo2c0h4Qzs7QVk1c0hBO0VBQXNDO0FaZ3RIdEM7O0FZL3NIQTtFQUF5QztBWm10SHpDOztBWWx0SEE7RUFBa0M7QVpzdEhsQzs7QVlydEhBO0VBQXNDO0FaeXRIdEM7O0FZeHRIQTtFQUE0QztBWjR0SDVDOztBWTN0SEE7RUFBd0M7QVordEh4Qzs7QVk5dEhBO0VBQW1DO0Faa3VIbkM7O0FZanVIQTtFQUFtQztBWnF1SG5DOztBWXB1SEE7RUFBd0M7QVp3dUh4Qzs7QVl2dUhBO0VBQTBDO0FaMnVIMUM7O0FZMXVIQTtFQUFtQztBWjh1SG5DOztBWTd1SEE7RUFBcUM7QVppdkhyQzs7QVlodkhBO0VBQXdDO0Fab3ZIeEM7O0FZbnZIQTtFQUF5QztBWnV2SHpDOztBWXR2SEE7RUFBd0M7QVowdkh4Qzs7QVl6dkhBO0VBQStDO0FaNnZIL0M7O0FZNXZIQTtFQUFzQztBWmd3SHRDOztBWS92SEE7RUFBbUM7QVptd0huQzs7QVlsd0hBO0VBQXFDO0Fac3dIckM7O0FZcndIQTtFQUE2QztBWnl3SDdDOztBWXh3SEE7RUFBZ0M7QVo0d0hoQzs7QVkzd0hBO0VBQXdDO0FaK3dIeEM7O0FZOXdIQTtFQUF3QztBWmt4SHhDOztBWWp4SEE7RUFBbUM7QVpxeEhuQzs7QVlweEhBO0VBQXFDO0Fad3hIckM7O0FZdnhIQTtFQUFpQztBWjJ4SGpDOztBWTF4SEE7RUFBdUM7QVo4eEh2Qzs7QVk3eEhBO0VBQWtDO0FaaXlIbEM7O0FZaHlIQTtFQUFvQztBWm95SHBDOztBWW55SEE7RUFBMEM7QVp1eUgxQzs7QVl0eUhBO0VBQW9DO0FaMHlIcEM7O0FZenlIQTtFQUFzQztBWjZ5SHRDOztBWTV5SEE7RUFBaUM7QVpnekhqQzs7QVkveUhBO0VBQXFDO0FabXpIckM7O0FZbHpIQTtFQUFvQztBWnN6SHBDOztBWXJ6SEE7RUFBa0M7QVp5ekhsQzs7QVl4ekhBO0VBQXlDO0FaNHpIekM7O0FZM3pIQTtFQUFtQztBWit6SG5DOztBWTl6SEE7RUFBdUM7QVprMEh2Qzs7QVlqMEhBO0VBQW9DO0FacTBIcEM7O0FZcDBIQTtFQUEyQztBWncwSDNDOztBWXYwSEE7RUFBZ0M7QVoyMEhoQzs7QVkxMEhBO0VBQWlDO0FaODBIakM7O0FZNzBIQTtFQUFpQztBWmkxSGpDOztBWWgxSEE7RUFBa0M7QVpvMUhsQzs7QVluMUhBO0VBQWlDO0FadTFIakM7O0FZdDFIQTtFQUFzQztBWjAxSHRDOztBWXoxSEE7RUFBa0M7QVo2MUhsQzs7QVk1MUhBO0VBQXVDO0FaZzJIdkM7O0FZLzFIQTtFQUFxQztBWm0ySHJDOztBWWwySEE7RUFBMkM7QVpzMkgzQzs7QVlyMkhBO0VBQTZDO0FaeTJIN0M7O0FZeDJIQTtFQUE0QztBWjQySDVDOztBWTMySEE7RUFBMEM7QVorMkgxQzs7QVk5MkhBO0VBQWtDO0FaazNIbEM7O0FZajNIQTtFQUFxQztBWnEzSHJDOztBWXAzSEE7RUFBd0M7QVp3M0h4Qzs7QVl2M0hBO0VBQXVDO0FaMjNIdkM7O0FZMTNIQTtFQUErQjtBWjgzSC9COztBWTczSEE7RUFBcUM7QVppNEhyQzs7QVloNEhBO0VBQW9DO0FabzRIcEM7O0FZbjRIQTtFQUF5QztBWnU0SHpDOztBWXQ0SEE7RUFBMEM7QVowNEgxQzs7QVl6NEhBO0VBQW9DO0FaNjRIcEM7O0FZNTRIQTtFQUFzQztBWmc1SHRDOztBWS80SEE7RUFBd0M7QVptNUh4Qzs7QVlsNUhBO0VBQThDO0FaczVIOUM7O0FZcjVIQTtFQUE2QztBWnk1SDdDOztBWXg1SEE7RUFBNkM7QVo0NUg3Qzs7QVkzNUhBO0VBQWdEO0FaKzVIaEQ7O0FZOTVIQTtFQUF1RDtBWms2SHZEOztBWWo2SEE7RUFBd0M7QVpxNkh4Qzs7QVlwNkhBO0VBQXdDO0FadzZIeEM7O0FZdjZIQTtFQUFzQztBWjI2SHRDOztBWTE2SEE7RUFBc0M7QVo4Nkh0Qzs7QVk3NkhBO0VBQXVDO0FaaTdIdkM7O0FZaDdIQTtFQUFtQztBWm83SG5DOztBWW43SEE7RUFBa0M7QVp1N0hsQzs7QVl0N0hBO0VBQXlDO0FaMDdIekM7O0FZejdIQTtFQUFpQztBWjY3SGpDOztBWTU3SEE7RUFBdUM7QVpnOEh2Qzs7QVkvN0hBO0VBQWtDO0FabThIbEM7O0FZbDhIQTtFQUF1QztBWnM4SHZDOztBWXI4SEE7RUFBc0M7QVp5OEh0Qzs7QVl4OEhBO0VBQW1DO0FaNDhIbkM7O0FZMzhIQTtFQUF5QztBWis4SHpDOztBWTk4SEE7RUFBK0M7QVprOUgvQzs7QVlqOUhBO0VBQW9DO0FacTlIcEM7O0FZcDlIQTtFQUFrQztBWnc5SGxDOztBWXY5SEE7RUFBa0M7QVoyOUhsQzs7QVkxOUhBO0VBQWtDO0FaODlIbEM7O0FZNzlIQTtFQUF1QztBWmkrSHZDOztBWWgrSEE7RUFBb0M7QVpvK0hwQzs7QVluK0hBO0VBQTZDO0FadStIN0M7O0FZdCtIQTtFQUFzQztBWjArSHRDOztBWXorSEE7RUFBMEM7QVo2K0gxQzs7QVk1K0hBO0VBQW9DO0FaZy9IcEM7O0FZLytIQTtFQUFrQztBWm0vSGxDOztBWWwvSEE7RUFBaUM7QVpzL0hqQzs7QVlyL0hBO0VBQXdDO0FaeS9IeEM7O0FZeC9IQTtFQUE0QztBWjQvSDVDOztBWTMvSEE7RUFBa0M7QVorL0hsQzs7QVk5L0hBO0VBQXNDO0Faa2dJdEM7O0FZamdJQTtFQUEwQztBWnFnSTFDOztBWXBnSUE7RUFBOEM7QVp3Z0k5Qzs7QVl2Z0lBO0VBQWlDO0FaMmdJakM7O0FZMWdJQTtFQUFtQztBWjhnSW5DOztBWTdnSUE7RUFBd0M7QVppaEl4Qzs7QVloaElBO0VBQW1DO0Fab2hJbkM7O0FZbmhJQTtFQUFrQztBWnVoSWxDOztBWXRoSUE7RUFBMEM7QVowaEkxQzs7QVl6aElBO0VBQTBDO0FaNmhJMUM7O0FZNWhJQTtFQUF5QztBWmdpSXpDOztBWS9oSUE7RUFBeUM7QVptaUl6Qzs7QVlsaUlBO0VBQW1DO0Fac2lJbkM7O0FZcmlJQTtFQUFnQztBWnlpSWhDOztBWXhpSUE7RUFBbUM7QVo0aUluQzs7QVkzaUlBO0VBQTBDO0FaK2lJMUM7O0FZOWlJQTtFQUErQjtBWmtqSS9COztBWWpqSUE7RUFBbUM7QVpxakluQzs7QVlwaklBO0VBQW9DO0Fad2pJcEM7O0FZdmpJQTtFQUEyQztBWjJqSTNDOztBWTFqSUE7RUFBa0M7QVo4aklsQzs7QVk3aklBO0VBQWlDO0FaaWtJakM7O0FZaGtJQTtFQUFtQztBWm9rSW5DOztBWW5rSUE7RUFBa0M7QVp1a0lsQzs7QVl0a0lBO0VBQW9DO0FaMGtJcEM7O0FZemtJQTtFQUFxQztBWjZrSXJDOztBWTVrSUE7RUFBMkM7QVpnbEkzQzs7QVkva0lBO0VBQXNDO0FabWxJdEM7O0FZbGxJQTtFQUFzQztBWnNsSXRDOztBWXJsSUE7RUFBaUM7QVp5bElqQzs7QVl4bElBO0VBQXFDO0FaNGxJckM7O0FZM2xJQTtFQUF3QztBWitsSXhDOztBWTlsSUE7RUFBa0M7QVprbUlsQzs7QVlqbUlBO0VBQTZDO0FacW1JN0M7O0FZcG1JQTtFQUF1QztBWndtSXZDOztBWXZtSUE7RUFBbUM7QVoybUluQzs7QVkxbUlBO0VBQW1DO0FaOG1JbkM7O0FZN21JQTtFQUF1QztBWmluSXZDOztBWWhuSUE7RUFBcUM7QVpvbklyQzs7QVlubklBO0VBQW9DO0FadW5JcEM7O0FZdG5JQTtFQUFtQztBWjBuSW5DOztBWXpuSUE7RUFBZ0M7QVo2bkloQzs7QVk1bklBO0VBQWdDO0FaZ29JaEM7O0FZL25JQTtFQUFpQztBWm1vSWpDOztBWWxvSUE7RUFBcUM7QVpzb0lyQzs7QVlyb0lBO0VBQTJDO0FaeW9JM0M7O0FZeG9JQTtFQUEyQztBWjRvSTNDOztBWTNvSUE7RUFBdUM7QVorb0l2Qzs7QVk5b0lBO0VBQXdDO0Faa3BJeEM7O0FZanBJQTtFQUF1QztBWnFwSXZDOztBWXBwSUE7RUFBcUM7QVp3cElyQzs7QVl2cElBO0VBQXNDO0FaMnBJdEM7O0FZMXBJQTtFQUF5QztBWjhwSXpDOztBWTdwSUE7RUFBMEM7QVppcUkxQzs7QVlocUlBO0VBQXlDO0Fab3FJekM7O0FZbnFJQTtFQUFzQztBWnVxSXRDOztBWXRxSUE7RUFBb0M7QVowcUlwQzs7QVl6cUlBO0VBQXVDO0FaNnFJdkM7O0FZNXFJQTtFQUF1QztBWmdySXZDOztBWS9xSUE7RUFBdUM7QVptckl2Qzs7QVlscklBO0VBQXNDO0Fac3JJdEM7O0FZcnJJQTtFQUF3QztBWnlySXhDOztBWXhySUE7RUFBd0M7QVo0ckl4Qzs7QVkzcklBO0VBQXVDO0FaK3JJdkM7O0FZOXJJQTtFQUFxQztBWmtzSXJDOztBWWpzSUE7RUFBcUM7QVpxc0lyQzs7QVlwc0lBO0VBQXVDO0Fad3NJdkM7O0FZdnNJQTtFQUFrQztBWjJzSWxDOztBWTFzSUE7RUFBc0M7QVo4c0l0Qzs7QVk3c0lBO0VBQXdDO0FaaXRJeEM7O0FZaHRJQTtFQUFpQztBWm90SWpDOztBWW50SUE7RUFBcUM7QVp1dElyQzs7QVl0dElBO0VBQTBDO0FaMHRJMUM7O0FZenRJQTtFQUFxQztBWjZ0SXJDOztBWTV0SUE7RUFBbUM7QVpndUluQzs7QVkvdElBO0VBQTBDO0FabXVJMUM7O0FZbHVJQTtFQUFrQztBWnN1SWxDOztBWXJ1SUE7RUFBeUM7QVp5dUl6Qzs7QVl4dUlBO0VBQXVDO0FaNHVJdkM7O0FZM3VJQTtFQUFpQztBWit1SWpDOztBWTl1SUE7RUFBeUM7QVprdkl6Qzs7QVlqdklBO0VBQW9DO0FacXZJcEM7O0FZcHZJQTtFQUFtQztBWnd2SW5DOztBWXZ2SUE7RUFBMEM7QVoydkkxQzs7QVkxdklBO0VBQWlDO0FaOHZJakM7O0FZN3ZJQTtFQUFrQztBWml3SWxDOztBWWh3SUE7RUFBa0M7QVpvd0lsQzs7QVlud0lBO0VBQWtDO0FadXdJbEM7O0FZdHdJQTtFQUF3QztBWjB3SXhDOztBWXp3SUE7RUFBbUM7QVo2d0luQzs7QVk1d0lBO0VBQWtDO0FaZ3hJbEM7O0FZL3dJQTtFQUF5QztBWm14SXpDOztBWWx4SUE7RUFBb0M7QVpzeElwQzs7QVlyeElBO0VBQWlDO0FaeXhJakM7O0FZeHhJQTtFQUFrQztBWjR4SWxDOztBWTN4SUE7RUFBd0M7QVoreEl4Qzs7QVk5eElBO0VBQW9DO0Faa3lJcEM7O0FZanlJQTtFQUErQjtBWnF5SS9COztBWXB5SUE7RUFBZ0M7QVp3eUloQzs7QVl2eUlBO0VBQXNDO0FaMnlJdEM7O0FZMXlJQTtFQUE0QztBWjh5STVDOztBWTd5SUE7RUFBd0M7QVppekl4Qzs7QVloeklBO0VBQXdDO0Fab3pJeEM7O0FZbnpJQTtFQUF1QztBWnV6SXZDOztBWXR6SUE7RUFBc0M7QVowekl0Qzs7QVl6eklBO0VBQXFDO0FaNnpJckM7O0FZNXpJQTtFQUF5QztBWmcwSXpDOztBWS96SUE7RUFBa0M7QVptMElsQzs7QVlsMElBO0VBQW9DO0FaczBJcEM7O0FZcjBJQTtFQUFtQztBWnkwSW5DOztBWXgwSUE7RUFBc0M7QVo0MEl0Qzs7QVkzMElBO0VBQWdEO0FaKzBJaEQ7O0FZOTBJQTtFQUFrQztBWmsxSWxDOztBWWoxSUE7RUFBd0M7QVpxMUl4Qzs7QVlwMUlBO0VBQWlDO0FadzFJakM7O0FZdjFJQTtFQUFtQztBWjIxSW5DOztBWTExSUE7RUFBa0M7QVo4MUlsQzs7QVk3MUlBO0VBQW1DO0FaaTJJbkM7O0FZaDJJQTtFQUEyQztBWm8ySTNDOztBWW4ySUE7RUFBbUM7QVp1MkluQzs7QVl0MklBO0VBQXFDO0FaMDJJckM7O0FZejJJQTtFQUE0QztBWjYySTVDOztBWTUySUE7RUFBdUM7QVpnM0l2Qzs7QVkvMklBO0VBQWtDO0FabTNJbEM7O0FZbDNJQTtFQUFpQztBWnMzSWpDOztBWXIzSUE7RUFBd0M7QVp5M0l4Qzs7QVl4M0lBO0VBQWlDO0FaNDNJakM7O0FZMzNJQTtFQUF5QztBWiszSXpDOztBWTkzSUE7RUFBNEM7QVprNEk1Qzs7QVlqNElBO0VBQTRDO0FacTRJNUM7O0FZcDRJQTtFQUEyQztBWnc0STNDOztBWXY0SUE7RUFBb0M7QVoyNElwQzs7QVkxNElBO0VBQXdDO0FaODRJeEM7O0FZNzRJQTtFQUF1QztBWmk1SXZDOztBWWg1SUE7RUFBMkM7QVpvNUkzQzs7QVluNUlBO0VBQWdDO0FadTVJaEM7O0FZdDVJQTtFQUFpRDtBWjA1SWpEOztBWXo1SUE7RUFBaUM7QVo2NUlqQzs7QVk1NUlBO0VBQWdEO0FaZzZJaEQ7O0FZLzVJQTtFQUFxQztBWm02SXJDOztBWWw2SUE7RUFBc0M7QVpzNkl0Qzs7QVlyNklBO0VBQTZDO0FaeTZJN0M7O0FZeDZJQTtFQUF1QztBWjQ2SXZDOztBWTM2SUE7RUFBdUM7QVorNkl2Qzs7QVk5NklBO0VBQW9DO0FaazdJcEM7O0FZajdJQTtFQUFvQztBWnE3SXBDOztBWXA3SUE7RUFBbUM7QVp3N0luQzs7QVl2N0lBO0VBQWtDO0FaMjdJbEM7O0FZMTdJQTtFQUFpQztBWjg3SWpDOztBWTc3SUE7RUFBaUM7QVppOElqQzs7QVloOElBO0VBQXdDO0FabzhJeEM7O0FZbjhJQTtFQUF5QztBWnU4SXpDOztBWXQ4SUE7RUFBa0M7QVowOElsQzs7QVl6OElBO0VBQW1DO0FaNjhJbkM7O0FZNThJQTtFQUFtQztBWmc5SW5DOztBWS84SUE7RUFBaUQ7QVptOUlqRDs7QVlsOUlBO0VBQWlDO0FaczlJakM7O0FZcjlJQTtFQUFpQztBWnk5SWpDOztBWXg5SUE7RUFBcUM7QVo0OUlyQzs7QVkzOUlBO0VBQXFDO0FaKzlJckM7O0FZOTlJQTtFQUFrQztBWmsrSWxDOztBWWorSUE7RUFBb0M7QVpxK0lwQzs7QVlwK0lBO0VBQTJDO0FadytJM0M7O0FZditJQTtFQUFrQztBWjIrSWxDOztBYTc1TEE7RUgwQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnU0TEY7O0FVNzNMRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBViszTEo7O0FjcDdMQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CVExxQjtFU01yQjtFQUNBO0FkcTdMRjtBYzk2TEE7RUFDRTtFQUNBO0FkZzdMRjs7QWVyOExBOzs7RUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJWTHFCO0VVTXJCO0VBQ0E7QWZzOExGO0FlLzdMQTs7RUFFRTtFQUNBO0FmaThMRjs7QWdCdjlMQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CWExxQjtFV01yQjtFQUNBO0FoQnc5TEY7QWdCajlMQTtFQUNFO0VBQ0E7QWhCbTlMRjs7QWlCeCtMQTs7Ozs7O0VBQUE7QUNBQTtFQU9JO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFLRjtFQUNBO0FsQmkvTEY7O0FtQmxnTUE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0E7RUFDQTtFQUVBO0FuQndnTUo7O0FvQjkvTEE7OztFQUdFO0FwQmlnTUY7O0FvQjkvTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEJpZ01GOztBb0IzL0xBO0VBQ0U7QXBCOC9MRjs7QW9Cbi9MQTtFQUNFO0VBRUE7RUFDQSxrTUM3Q3dCO0VDMEhwQixtQkF0Q2E7RUZyQ2pCLGdCQ3BDcUI7RURxQ3JCLGdCQ2hDa0I7RURpQ2xCO0VBRUU7RUFDQTtBcEJvL0xKOztBb0J2K0xBO0VBQ0U7QXBCMCtMRjs7QW9CaitMQTtFQUNFO0VBQ0E7RUFDQTtBcEJvK0xGOztBb0J2OUxBO0VBQ0U7RUFDQSxxQkNwRXdCO0FyQjhoTTFCOztBb0JuOUxBO0VBQ0U7RUFDQSxtQkMxQnlCO0FyQmcvTDNCOztBb0IzOExBOztFQUVFO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0FwQjg4TEY7O0FvQjM4TEE7RUFDRTtFQUNBO0VBQ0E7QXBCODhMRjs7QW9CMzhMQTs7O0VBR0U7RUFDQTtBcEI4OExGOztBb0IzOExBOzs7O0VBSUU7QXBCODhMRjs7QW9CMzhMQTtFQUNFLGdCQ25JcUI7QXJCaWxNdkI7O0FvQjM4TEE7RUFDRTtBcEI4OExGO0F1QmxtTVE7RUhzSko7QXBCKzhMSjtBd0JybU1RO0VKeUpKO0FwQis4TEo7O0FvQjM4TEE7RUFDRTtBcEI4OExGOztBb0IzOExBOztFQUVFLG1CQ3JKcUI7QXJCbW1NdkI7O0FvQjM4TEE7RUVsR0k7QXRCaWpNSjs7QW9CdDhMQTs7RUFFRTtFRTdHRTtFRitHRjtFQUNBO0FwQnk4TEY7O0FvQnQ4TEE7RUFBTTtBcEIwOExOOztBb0J6OExBO0VBQU07QXBCNjhMTjs7QW9CdDhMQTtFQUNFLHFCS2hNeUM7RUxpTXpDO0VBRUU7QXBCdzhMSjtBMEJub01FO0VBQ0U7SU44TEEsMEJLdE11QztJTHdNckM7RXBCdThMSjtBQUNGOztBb0I5N0xBO0VBQ0U7RUFDQTtBcEJpOExGO0EwQjlvTUU7RUFDRTtJTitNQTtJQUNBO0VwQms4TEY7QUFDRjs7QW9CMTdMQTs7OztFQUlFLGlHQ3BPd0I7RUNrRXRCO0F0QmdtTUo7O0FvQjE3TEE7RUFFRTtFQUVBO0VBRUE7RUFHQTtBcEJ3N0xGOztBb0JoN0xBO0VBRUU7QXBCazdMRjs7QW9CMTZMQTtFQUNFO0VBQ0E7QXBCNjZMRjs7QW9CMTZMQTtFQUdFO0VBQ0E7QXBCMjZMRjs7QW9CbjZMQTtFQUNFO0FwQnM2TEY7O0FvQm42TEE7RUFDRSxvQk8zUndCO0VQNFJ4Qix1Qk81UndCO0VQNlJ4QixjUW5SVztFUm9SWDtFQUNBO0FwQnM2TEY7O0FvQm42TEE7RUFHRTtBcEJvNkxGOztBb0I1NUxBO0VBRUU7RUFDQSxxQlN6T3FCO0E3QnVvTXZCOztBb0J4NUxBO0VBRUU7QXBCMDVMRjs7QW9CbjVMQTtFQUNFO0VBQ0E7QXBCczVMRjs7QW9CbjVMQTs7Ozs7RUFLRTtFQUNBO0VFdFFFO0VGd1FGO0FwQnM1TEY7O0FvQm41TEE7O0VBRUU7QXBCczVMRjs7QW9CbjVMQTs7RUFFRTtBcEJzNUxGOztBb0JoNUxBO0VBQ0U7QXBCbTVMRjs7QW9CNzRMQTtFQUNFO0FwQmc1TEY7O0FvQno0TEE7Ozs7RUFJRTtBcEI0NExGOztBb0JuNExJOzs7O0VBQ0U7QXBCeTRMTjs7QW9CbjRMQTs7OztFQUlFO0VBQ0E7QXBCczRMRjs7QW9CbjRMQTs7RUFFRTtFQUNBO0FwQnM0TEY7O0FvQm40TEE7RUFDRTtFQUVBO0FwQnE0TEY7O0FvQmw0TEE7RUFNRTtFQUVBO0VBQ0E7RUFDQTtBcEIrM0xGOztBb0IxM0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRTVTSSxpQkF0Q2E7RUZvVmpCO0VBQ0E7RUFDQTtBcEI2M0xGOztBb0IxM0xBO0VBQ0U7QXBCNjNMRjs7QW9CejNMQTs7RUFFRTtBcEI0M0xGOztBb0J6M0xBO0VBS0U7RUFDQTtBcEJ3M0xGOztBb0JqM0xBO0VBQ0U7QXBCbzNMRjs7QW9CNTJMQTtFQUNFO0VBQ0E7QXBCKzJMRjs7QW9CeDJMQTtFQUNFO0FwQjIyTEY7O0FvQngyTEE7RUFDRTtFQUNBO0FwQjIyTEY7O0FvQngyTEE7RUFDRTtBcEIyMkxGOztBb0J0MkxBO0VBQ0U7QXBCeTJMRjs7QThCbjFNQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0E5QnMxTUY7O0E4Qm4xTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCczFNRjs7QThCbjFNQTtFQUNFO0VBT0E7RUFDQTtFQUNBO0VBQ0E7QTlCZzFNRjtBdUJ6Mk1RO0VPaUJKO0E5QjIxTUo7QXdCNTJNUTtFTW9CSjtBOUIyMU1KOztBOEJuMU1BOztFQUVFO0VBQ0E7QTlCczFNRjs7QThCbjFNQTs7Ozs7O0VBTUU7QTlCczFNRjs7QThCbjFNQTs7OztFQUlFO0VBQ0E7QTlCczFNRjs7QThCbjFNQTs7RUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QnMxTUY7O0E4Qm4xTUE7RUFDRTtFQU9BO0VBQ0E7RUFDQTtFQUNBO0E5QmcxTUY7QXVCMTVNUTtFT2tFSjtBOUIyMU1KO0F3Qjc1TVE7RU1xRUo7QTlCMjFNSjs7QThCbjFNQTs7RUFFRTtFQUNBO0E5QnMxTUY7O0E4Qm4xTUE7O0VBRUU7RUFDQTtBOUJzMU1GOztBOEJuMU1BO0VBQ0U7SUFDRTtFOUJzMU1GO0FBQ0Y7QThCbjFNQTtFQUNFO0lBQ0U7RTlCcTFNRjtBQUNGO0ErQng3TUU7RUFDRTtBL0IwN01KOztBZ0M5N01BO0VBQ0UsYUNVdUI7RURUdkI7RUFDQSxnQkVDc0I7RUNIdEIsa01kSXdCO0VjRnhCO0VBQ0EsZ0JkWXFCO0VjWHJCLGdCZGdCa0I7RWNmbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWJnSEksc0JBdENhO0VVbkZqQjtFQUNBO0VBQ0E7RUlVRTtFSkxBO0VBQ0E7QWhDMjhNSjtBZ0N4OE1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQzA4TUo7QWdDdjhNRTtFQUNFO0VBQ0E7RUFDQTtBaEN5OE1KO0FnQ3Y4TUk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ3c4TU47QWdDbDdNSTtFQUNFO0VBQ0EsY0UzQ2tCO0VGNENsQjtBaENvN01OO0FnQ2w3TU07RUFDRTtBaENvN01SO0FnQzc2TUk7RUFDRSxhRXZEa0I7RUZ3RGxCO0VBQ0E7RUFDQTtBaEMrNk1OO0FnQ3g2TUk7RUFDRTtBaEMwNk1OO0FnQ3g2TU07RUFDRTtFQUNBO0VBRUU7QWhDeTZNVjtBZ0NyNk1NO0VBQ0UsV0t0RlE7RUx1RlI7RUFFRTtBaENzNk1WO0FnQzk1TUk7RUFDRTtBaENnNk1OO0FnQzk1TU07RUFDRTtFQUNBO0VBRUU7QWhDKzVNVjtBZ0MzNU1NO0VBQ0UsUUs3R1E7RUw4R1I7RUFFRTtBaEM0NU1WO0FnQ3A1TUk7RUFDRTtBaENzNU1OO0FnQ3A1TU07RUFDRTtFQUNBO0VBRUU7QWhDcTVNVjtBZ0NqNU1NO0VBQ0UsVUtwSVE7RUxxSVI7RUFFRTtBaENrNU1WO0FnQ3o0TUk7RUFDRTtBaEMyNE1OO0FnQ3o0TU07RUFDRTtFQUNBO0VBRUU7QWhDMDRNVjtBZ0N0NE1NO0VBQ0UsU0s1SlE7RUw2SlI7RUFFRTtBaEN1NE1WOztBc0MxaU5BO0VBQ0U7RUFDQTtBdEM2aU5GOztBc0MxaU5BO0VBQ0U7QXRDNmlORjs7QXNDMWlOQTtFQUNFO0VBQ0EsYUxKdUI7RUtLdkI7RUFDQSxTQ1J1QjtFSlR2QixrTWRJd0I7RWNGeEI7RUFDQSxnQmRZcUI7RWNYckIsZ0JkZ0JrQjtFY2ZsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFYmdISSxzQkF0Q2E7RWdCakVqQjtFQUNBO0VBQ0E7QXRDdWpORjtBc0Nyak5FO0VBQ0U7QXRDdWpOSjtBc0Nyak5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDdWpOTjtBc0Nuak5FO0VBQ0U7QXRDcWpOSjtBc0Nuak5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDcWpOTjtBc0Nqak5FO0VBQ0U7RUFDQSxhQ3ZDcUI7RUR3Q3JCLGNDekNxQjtBdkM0bE56QjtBc0Nqak5JO0VBQ0U7RUFDQTtFQUNBO0F0Q21qTk47QXNDL2lORTtFQUNFO0VBQ0EsYUNuRHFCO0VEb0RyQixjQ3JEcUI7QXZDc21OekI7QXNDL2lOSTtFQUNFO0VBQ0E7RUFDQTtBdENpak5OO0FzQzdpTkU7RUFDRTtBdEMraU5KOztBc0MzaU5BO0VBQ0U7RUFDQTtFQUNBLGFDdEV1QjtFRHVFdkIsY0N0RXVCO0VEdUV2QixjVi9FTztBNUI2bk5UO0FzQzVpTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QzhpTko7O0FzQzFpTkE7RUFDRSxnQkM3RnVCO0VEOEZ2QjtFQUNBLFdWOUZPO0VVK0ZQO0VBQ0EseUJWL0ZPO0VRYUw7QXBDZ29OSjs7QXdDOW9OQTtFQUNFO0VBQ0E7RUFDQSxtQkNFd0I7RUREeEI7RUpVRTtBcEN3b05KOztBd0M3b05BO0VBRUU7QXhDK29ORjs7QXdDM29OQTtFQUNFLGdCbkJIcUI7QXJCaXBOdkI7O0F1QjlwTlE7RWlCMEJKO0F4Q3dvTko7QXdCbHFOUTtFZ0I2Qko7QXhDd29OSjtBd0Nwb05FO0VBQ0U7RUFDQTtFQU9BO0VBQ0E7QXhDZ29OSjtBdUIzcU5RO0VpQnFDRjtBeEN5b05OO0F3QjlxTlE7RWdCd0NGO0F4Q3lvTk47O0F3QzVuTkU7RUV4REEsY0Z5RHdIO0VHcER0SCx5QkhvRHdCO0VFdkQxQixxQkZ1RHVFO0F4Q2lvTnpFO0EwQ3RyTkU7RUFDRTtBMUN3ck5KO0EwQ3JyTkU7RUFDRTtBMUN1ck5KOztBd0N4b05FO0VFeERBLGNGeUR3SDtFR3BEdEgseUJIb0R3QjtFRXZEMUIscUJGdUR1RTtBeEM2b056RTtBMENsc05FO0VBQ0U7QTFDb3NOSjtBMENqc05FO0VBQ0U7QTFDbXNOSjs7QXdDcHBORTtFRXhEQSxjRnlEd0g7RUdwRHRILHlCSG9Ed0I7RUV2RDFCLHFCRnVEdUU7QXhDeXBOekU7QTBDOXNORTtFQUNFO0ExQ2d0Tko7QTBDN3NORTtFQUNFO0ExQytzTko7O0F3Q2hxTkU7RUV4REEsY0Z5RHdIO0VHcER0SCx5QkhvRHdCO0VFdkQxQixxQkZ1RHVFO0F4Q3FxTnpFO0EwQzF0TkU7RUFDRTtBMUM0dE5KO0EwQ3p0TkU7RUFDRTtBMUMydE5KOztBd0M1cU5FO0VFeERBLGNGeUR3SDtFR3BEdEgseUJIb0R3QjtFRXZEMUIscUJGdUR1RTtBeENpck56RTtBMEN0dU5FO0VBQ0U7QTFDd3VOSjtBMENydU5FO0VBQ0U7QTFDdXVOSjs7QXdDeHJORTtFRXhEQSxjRnlEd0g7RUdwRHRILHlCSG9Ed0I7RUV2RDFCLHFCRnVEdUU7QXhDNnJOekU7QTBDbHZORTtFQUNFO0ExQ292Tko7QTBDanZORTtFQUNFO0ExQ212Tko7O0F3Q3BzTkU7RUV4REEsY0Z5RHdIO0VHcER0SCx5QkhvRHdCO0VFdkQxQixxQkZ1RHVFO0F4Q3lzTnpFO0EwQzl2TkU7RUFDRTtBMUNnd05KO0EwQzd2TkU7RUFDRTtBMUMrdk5KOztBd0NodE5FO0VFeERBLGNGeUR3SDtFR3BEdEgseUJIb0R3QjtFRXZEMUIscUJGdUR1RTtBeENxdE56RTtBMEMxd05FO0VBQ0U7QTFDNHdOSjtBMEN6d05FO0VBQ0U7QTFDMndOSjs7QTRDcnhOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUNKQSxXQ0l3QjtFREh4QixZQ0d3QjtFREZ4QjtBN0M2eE5GO0E2QzN4TkU7RUFDRTtFQUNBLFlDRHNCO0E5Qzh4TjFCOztBNEMzeE5BO0VBQ0U7RUFDQTtFQUNBO0E1Qzh4TkY7O0E0QzN4TkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Qzh4TkY7QXVCOXlOUTtFcUJtQko7QTVDOHhOSjtBd0Jqek5RO0VvQnNCSjtBNUM4eE5KOztBNEMxeE5BO0VDN0JFLFdDQ3dCO0VEQXhCO0VBQ0E7QTdDMnpORjtBNkN6ek5FO0VBQ0UsVUNIc0I7RURJdEIsV0NKc0I7QTlDK3pOMUI7O0E0Q2h5TkE7RUNqQ0UsV0NPd0I7RUROeEIsWUNNd0I7RURMeEI7QTdDcTBORjtBNkNuME5FO0VBQ0UsV0NHc0I7RURGdEIsWUNFc0I7QTlDbTBOMUI7O0E0Q3R5TkE7RUNyQ0UsV0NVd0I7RURUeEIsWUNTd0I7RURSeEI7QTdDKzBORjtBNkM3ME5FO0VBQ0UsV0NNc0I7RURMdEIsWUNLc0I7QTlDMDBOMUI7O0E0QzV5TkE7RUFDRTtBNUMreU5GO0E0Qzd5TkU7RUFDRTtFQUNBO0E1Qyt5Tko7QTRDN3lOSTtFQUNFO0E1Qyt5Tk47QTRDM3lORTtFQUNFO0E1QzZ5Tko7QTRDMXlORTtFQUNFO0E1QzR5Tko7QTRDenlORTtFQUNFO0E1QzJ5Tko7O0E0Q3Z5TkE7RUFDRSxzQlA3Q2tCO0FyQ3UxTnBCOztBNEN2eU5BO0VBQ0U7QTVDMHlORjs7QStDNzJOQTtFQUNFO0VBQ0E7RXpCaUVFO0V5Qi9ERixnQjFCUXFCO0UwQlByQjtFQUNBO0VBQ0E7RUFDQTtFWEtFO0VZRkUscUlEREo7QS9DZzNORjtBZ0QzMk5NO0VEZk47SUNnQlE7RWhEODJOTjtBQUNGO0EwQmwzTkU7RXFCQ0k7QS9DbzNOTjs7QStDLzJORTtFQUNFO0EvQ2szTko7O0ErQzcyTkE7RUFDRTtFQUNBO0EvQ2czTkY7O0ErQ3oyTkE7RUFDRSxvQkUzQnNCO0VGNEJ0QixtQkU1QnNCO0ViS3BCO0FwQ280Tko7O0ErQ3AyTkU7RUdqREE7RUFDQSx5QkN3UWU7QW5EaXBOakI7QTBCejRORTtFd0JaSTtFQUNBO0FsRHc1Tk47QWtEcjVOSTtFQUVFO0VBQ0E7QWxEczVOTjs7QStDajNORTtFR2pEQTtFQUNBLHlCQ3dRZTtBbkQ4cE5qQjtBMEJ0NU5FO0V3QlpJO0VBQ0E7QWxEcTZOTjtBa0RsNk5JO0VBRUU7RUFDQTtBbERtNk5OOztBK0M5M05FO0VHakRBO0VBQ0EseUJDd1FlO0FuRDJxTmpCO0EwQm42TkU7RXdCWkk7RUFDQTtBbERrN05OO0FrRC82Tkk7RUFFRTtFQUNBO0FsRGc3Tk47O0ErQzM0TkU7RUdqREE7RUFDQSxzQkN3UWU7QW5Ed3JOakI7QTBCaDdORTtFd0JaSTtFQUNBO0FsRCs3Tk47QWtENTdOSTtFQUVFO0VBQ0E7QWxENjdOTjs7QStDeDVORTtFR2pEQTtFQUNBLHlCQ3dRZTtBbkRxc05qQjtBMEI3N05FO0V3QlpJO0VBQ0E7QWxENDhOTjtBa0R6OE5JO0VBRUU7RUFDQTtBbEQwOE5OOztBK0NyNk5FO0VHakRBO0VBQ0EseUJDd1FlO0FuRGt0TmpCO0EwQjE4TkU7RXdCWkk7RUFDQTtBbER5OU5OO0FrRHQ5Tkk7RUFFRTtFQUNBO0FsRHU5Tk47O0ErQ2w3TkU7RUdqREE7RUFDQSx5QkN3UWU7QW5EK3ROakI7QTBCdjlORTtFd0JaSTtFQUNBO0FsRHMrTk47QWtEbitOSTtFQUVFO0VBQ0E7QWxEbytOTjs7QStDLzdORTtFR2pEQTtFQUNBLHlCQ3dRZTtBbkQ0dU5qQjtBMEJwK05FO0V3QlpJO0VBQ0E7QWxEbS9OTjtBa0RoL05JO0VBRUU7RUFDQTtBbERpL05OOztBdUIxL05RO0U2QkZKO0FwRGdnT0o7QXVCOS9OUTtFNkJDSjtBcERnZ09KO0FvRDUvTkU7RUFDRTtBcEQ4L05KO0FvRDMvTkU7RUFDRTtBcEQ2L05KO0FvRDEvTkU7RUFDRTtFQUNBO0VBQ0E7RUFRRTtBcERxL05OO0FvRDMvTkk7RUFFRSxjeEJqQk87RXdCa0JQO0FwRDQvTk47QW9EcC9OSTtFQUNFLGN4QjNCTztFd0I0QlA7QXBEcy9OTjtBb0RsL05FO0VBQ0U7RUFDQSxnQi9CcEJnQjtBckJ3Z09wQjs7QXFEemhPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RWpCUUU7RWtCSEU7RURBRjtFQUNBO0FyRHloT0o7O0FxRHJoT0E7RUFDRTtBckR3aE9GO0F1QnppT1E7RThCc0JGLG9CRXBCcUI7QXZEMGlPM0I7QXdCNWlPUTtFNkJ5QkYscUJFdkJxQjtBdkQ2aU8zQjtBcURuaE9JO0VBQ0U7RUFFRTtFQUVGO0FyRG1oT047QXVCcGpPUTtFOEJtQ0EscUJFakNtQjtBdkRxak8zQjtBd0J2ak9RO0U2QnNDQSxvQkVwQ21CO0F2RHdqTzNCO0FxRHpnT0U7RUFDRTtBckQyZ09KO0FxRHhnT0U7RUFDRTtBckQwZ09KO0FxRHZnT0U7RUFFSTtBckR3Z09OOztBd0Rwa09BOztFQUVFO0VBQ0E7RUFDQTtBeER1a09GO0F3RHJrT0U7O0VBQ0U7RUFDQTtBeER3a09KO0EwQnZrT0U7RUFDRTs7SThCR0U7RXhEd2tPSjtBQUNGO0F3RHZrT0k7Ozs7RUFHRTtBeEQwa09OOztBd0Rwa09BO0VBQ0U7RUFDQTtFQUNBO0F4RHVrT0Y7QXdEcmtPRTtFQUNFO0F4RHVrT0o7O0F1QnBtT1E7O0VpQ3NDRjtBeERta09OO0F3QnptT1E7O0VnQ3lDRjtBeERva09OO0F3RDlqT0k7O0VwQmpCQTtFQUNBO0FwQ21sT0o7QXdEOWpPSTs7RXBCUkE7RUFDQTtBcEMwa09KO0F3RDVqT0k7O0VwQmZBO0VBQ0E7QXBDK2tPSjtBd0Q1ak9JOztFcEJsQ0E7RUFDQTtBcENrbU9KOztBd0Q5aU9BO0VBQ0U7RUFDQTtBeERpak9GO0F1QnRvT1E7RWlDMkZGO0F4RDhpT047QXdCem9PUTtFZ0M4RkY7QXhEOGlPTjtBdUI1b09RO0VpQ29HRjtBeEQyaU9OO0F3Qi9vT1E7RWdDdUdGO0F4RDJpT047O0F3RHRpT0E7RUFDRTtFQUNBO0F4RHlpT0Y7O0F3RHRpT0E7RUFDRTtFQUNBO0F4RHlpT0Y7O0F3RHBoT0E7RUFDRTtFQUNBO0VBQ0E7QXhEdWhPRjtBd0RyaE9FOztFQUVFO0F4RHVoT0o7QXdEcGhPRTs7RUFFRTtBeERzaE9KO0F3RGxoT0U7O0VwQm5IRTtFQUNBO0FwQ3lvT0o7QXdEbGhPRTs7RXBCdElFO0VBQ0E7QXBDNHBPSjs7QXdEbmdPRTs7RUFFRTtBeERzZ09KO0F3RHBnT0k7Ozs7RUFFRTtFQUNBO0VBQ0E7QXhEd2dPTjs7QXlEL3JPQTtFQUNFO0VBRUEsZ0JwQ09xQjtFb0NOckIsYzdCSFc7RTZCSVg7RUFHQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQ2tIQTtFcENMSSxtQkF0Q2E7RW9DNkNqQixnQnJDakhrQjtFZUhoQjtFWUZFLHFJU0lKO0F6RGtzT0Y7QTBENWtPRTs7RUFFRSxlckNsSWM7RXFDbUlkLGdCckNuSWM7RXFDb0lkO0ExRDhrT0o7QWdEeHNPTTtFU2ROO0lUZVE7RWhEMnNPTjtBQUNGO0EwQnJ0T0U7RUFDRTtJK0JVQSxjN0JoQlM7STZCaUJUO0V6RDhzT0Y7QUFDRjtBeUQ1c09FO0VBRUU7RUFDQSxnRDVCakIwQjtBN0I4dE85QjtBeUR6c09FO0VBRUUsYTVCcUJxQjtBN0Jxck96QjtBeUR0c09FO0VBQ0U7QXpEd3NPSjtBeUQ1ck9FOztFQUVFLGdCcEM3Q2M7RW9DOENkO0F6RDhyT0o7O0F5RHpyT0E7O0VBRUU7QXpENHJPRjs7QXlEbnJPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EdS9OakI7QTBCcnZPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURrd092RztBQUNGO0EwRHZ2T0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEb3ZPTjtBMEQvdU9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRHlnT2pCO0EwRDF1T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEbXhPN0w7QTBEdHVPSTtFQUtJO0ExRG91T1I7QTBEaHVPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQyeE83TDtBMEQ3dE9JO0VBS0k7QTFEMnRPUjs7QXlEM3RPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EK2hPakI7QTBCN3hPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQweU92RztBQUNGO0EwRC94T0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFENHhPTjtBMER2eE9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRGlqT2pCO0EwRGx4T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEMnpPN0w7QTBEOXdPSTtFQUtJO0ExRDR3T1I7QTBEeHdPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMURtME83TDtBMERyd09JO0VBS0k7QTFEbXdPUjs7QXlEbndPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EdWtPakI7QTBCcjBPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURrMU92RztBQUNGO0EwRHYwT0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEbzBPTjtBMEQvek9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRHlsT2pCO0EwRDF6T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEbTJPN0w7QTBEdHpPSTtFQUtJO0ExRG96T1I7QTBEaHpPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQyMk83TDtBMEQ3eU9JO0VBS0k7QTFEMnlPUjs7QXlEM3lPRTtFQ2xFQTtFZkFFLHNCUW9RYTtFT2xRZixrQlBrUWU7QW5EK21PakI7QTBCNzJPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQwM092RztBQUNGO0EwRC8yT0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFENDJPTjtBMER2Mk9FO0VBRUU7RUFDQSxzQlB3T2E7RU92T2Isa0JQdU9hO0FuRGlvT2pCO0EwRGwyT0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEMjRPN0w7QTBEOTFPSTtFQUtJO0ExRDQxT1I7QTBEeDFPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMURtNU83TDtBMERyMU9JO0VBS0k7QTFEbTFPUjs7QXlEbjFPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EdXBPakI7QTBCcjVPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURrNk92RztBQUNGO0EwRHY1T0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEbzVPTjtBMEQvNE9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRHlxT2pCO0EwRDE0T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEbTdPN0w7QTBEdDRPSTtFQUtJO0ExRG80T1I7QTBEaDRPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQyN083TDtBMEQ3M09JO0VBS0k7QTFEMjNPUjs7QXlEMzNPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EK3JPakI7QTBCNzdPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQwOE92RztBQUNGO0EwRC83T0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFENDdPTjtBMER2N09FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRGl0T2pCO0EwRGw3T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEMjlPN0w7QTBEOTZPSTtFQUtJO0ExRDQ2T1I7QTBEeDZPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMURtK083TDtBMERyNk9JO0VBS0k7QTFEbTZPUjs7QXlEbjZPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EdXVPakI7QTBCcitPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURrL092RztBQUNGO0EwRHYrT0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEbytPTjtBMEQvOU9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRHl2T2pCO0EwRDE5T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEbWdQN0w7QTBEdDlPSTtFQUtJO0ExRG85T1I7QTBEaDlPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQyZ1A3TDtBMEQ3OE9JO0VBS0k7QTFEMjhPUjs7QXlEMzhPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EK3dPakI7QTBCN2dQRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQwaFB2RztBQUNGO0EwRC9nUEU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFENGdQTjtBMER2Z1BFO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRGl5T2pCO0EwRGxnUEU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEMmlQN0w7QTBEOS9PSTtFQUtJO0ExRDQvT1I7QTBEeC9PVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMURtalA3TDtBMERyL09JO0VBS0k7QTFEbS9PUjs7QXlEOStPQTtFQUNFO0F6RGkvT0Y7QXlELytPRTtFQUNFO0F6RGkvT0o7O0F5RDUrT0U7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5ENnpPakI7QTBCM2pQRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRG0wT2Y7QUFDRjtBMER0L09FO0VBRUU7QTFEdS9PSjtBMERwL09FO0VBRUUsY1AyS2E7RU8xS2I7QTFEcS9PSjtBMERsL09FO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRGcxT2pCO0EwRGovT0k7RUFLSTtBMUQrK09SO0EwRDMrT1c7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EdzFPakI7QTBEMytPSTtFQUtJO0ExRHkrT1I7O0F5RC9nUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5EZzJPakI7QTBCOWxQRTtFQUNFO0lnQ3NFQSxjQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRHMyT2Y7QUFDRjtBMER6aFBFO0VBRUU7QTFEMGhQSjtBMER2aFBFO0VBRUUsY1AyS2E7RU8xS2I7QTFEd2hQSjtBMERyaFBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRG0zT2pCO0EwRHBoUEk7RUFLSTtBMURraFBSO0EwRDlnUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EMjNPakI7QTBEOWdQSTtFQUtJO0ExRDRnUFI7O0F5RGxqUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5EbTRPakI7QTBCam9QRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRHk0T2Y7QUFDRjtBMEQ1alBFO0VBRUU7QTFENmpQSjtBMEQxalBFO0VBRUUsY1AyS2E7RU8xS2I7QTFEMmpQSjtBMER4alBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRHM1T2pCO0EwRHZqUEk7RUFLSTtBMURxalBSO0EwRGpqUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EODVPakI7QTBEampQSTtFQUtJO0ExRCtpUFI7O0F5RHJsUEU7RUNQQSxXUDJMZTtFTzFMZixrQlAwTGU7QW5EczZPakI7QTBCcHFQRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCxzQlBzTGE7SU9yTGIsa0JQcUxhO0VuRDQ2T2Y7QUFDRjtBMEQvbFBFO0VBRUU7QTFEZ21QSjtBMEQ3bFBFO0VBRUUsV1AyS2E7RU8xS2I7QTFEOGxQSjtBMEQzbFBFO0VBRUU7RUFDQSxzQlBvS2E7RU9uS2Isa0JQbUthO0FuRHk3T2pCO0EwRDFsUEk7RUFLSTtBMUR3bFBSO0EwRHBsUFc7RUFDUDtFQUNBLHNCUHNKYTtFT3JKYixrQlBxSmE7QW5EaThPakI7QTBEcGxQSTtFQUtJO0ExRGtsUFI7O0F5RHhuUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5EeThPakI7QTBCdnNQRTtFQUNFO0lnQ3NFQSxjQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRCs4T2Y7QUFDRjtBMERsb1BFO0VBRUU7QTFEbW9QSjtBMERob1BFO0VBRUUsY1AyS2E7RU8xS2I7QTFEaW9QSjtBMEQ5blBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRDQ5T2pCO0EwRDduUEk7RUFLSTtBMUQyblBSO0EwRHZuUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EbytPakI7QTBEdm5QSTtFQUtJO0ExRHFuUFI7O0F5RDNwUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5ENCtPakI7QTBCMXVQRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRGsvT2Y7QUFDRjtBMERycVBFO0VBRUU7QTFEc3FQSjtBMERucVBFO0VBRUUsY1AyS2E7RU8xS2I7QTFEb3FQSjtBMERqcVBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRCsvT2pCO0EwRGhxUEk7RUFLSTtBMUQ4cFBSO0EwRDFwUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EdWdQakI7QTBEMXBQSTtFQUtJO0ExRHdwUFI7O0F5RDlyUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5EK2dQakI7QTBCN3dQRTtFQUNFO0lnQ3NFQSxjQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRHFoUGY7QUFDRjtBMER4c1BFO0VBRUU7QTFEeXNQSjtBMER0c1BFO0VBRUUsY1AyS2E7RU8xS2I7QTFEdXNQSjtBMERwc1BFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRGtpUGpCO0EwRG5zUEk7RUFLSTtBMURpc1BSO0EwRDdyUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EMGlQakI7QTBEN3JQSTtFQUtJO0ExRDJyUFI7O0F5RGp1UEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5Ea2pQakI7QTBCaHpQRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRHdqUGY7QUFDRjtBMEQzdVBFO0VBRUU7QTFENHVQSjtBMER6dVBFO0VBRUUsY1AyS2E7RU8xS2I7QTFEMHVQSjtBMER2dVBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRHFrUGpCO0EwRHR1UEk7RUFLSTtBMURvdVBSO0EwRGh1UFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5ENmtQakI7QTBEaHVQSTtFQUtJO0ExRDh0UFI7O0F5RHp2UEE7RUFDRSxnQnBDbEZxQjtFb0NtRnJCLGNoQ3hGeUM7RWdDeUZ6QyxxQmhDaEd5QztBekI0MVAzQztBMEJwMVBFO0VBQ0U7SStCMEZBLGNoQzNGdUM7SWdDNEZ2QywwQmhDbkd1QztFekJnMlB6QztBQUNGO0F5RDN2UEU7RUFFRSwwQmhDeEd1QztBekJvMlAzQztBeUR6dlBFO0VBRUUsYzdCckdTO0U2QnNHVDtBekQwdlBKOztBeUQvdVBBO0VDTUU7RXBDTEkscUJBdENhO0VvQzZDakIsZ0JyQmhJZ0I7RURZZDtBcENrMlBKO0EwRDF1UEU7OztFQUVFLGlCckNqSWM7RXFDa0lkLGtCckNsSWM7RXFDbUlkO0ExRDZ1UEo7O0F5RHp2UEE7RUNFRTtFcENMSSxzQkF0Q2E7RW9DNkNqQixnQnJCL0hnQjtFRFdkO0FwQ2czUEo7QTBEeHZQRTs7O0VBRUUsa0JyQ2hJYztFcUNpSWQsbUJyQ2pJYztFcUNrSWQ7QTFEMnZQSjs7QXlEOXZQQTtFQUNFO0VBQ0E7QXpEaXdQRjtBeUQ5dlBFO0VBQ0Usa0I1Qm5Ga0I7QTdCbTFQdEI7O0F5RHh2UEU7OztFQUNFO0F6RDZ2UEo7O0F5RHp2UEE7RUFDRTtBekQ0dlBGOztBeUR6dlBBO0VBQ0U7QXpENHZQRjs7QXlEcHZQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEOHdQRjtBMEQ1d1BFO0VBQ0UsV0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkRpcVBqQjtBMEQzd1BFO0VBRUU7QTFENHdQSjtBMER6d1BFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMUQwd1BKO0EwRHZ3UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EOHFQakI7QTBEdHdQSTtFQUtJO0ExRG93UFI7QTBEaHdQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkRzclBqQjtBMERod1BJO0VBS0k7QTFEOHZQUjs7QXlEeHhQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEa3pQRjtBMERoelBFO0VBQ0UsY0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkRxc1BqQjtBMEQveVBFO0VBRUU7QTFEZ3pQSjtBMEQ3eVBFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMUQ4eVBKO0EwRDN5UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5Ea3RQakI7QTBEMXlQSTtFQUtJO0ExRHd5UFI7QTBEcHlQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkQwdFBqQjtBMERweVBJO0VBS0k7QTFEa3lQUjs7QXlENXpQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEczFQRjtBMERwMVBFO0VBQ0UsV0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkR5dVBqQjtBMERuMVBFO0VBRUU7QTFEbzFQSjtBMERqMVBFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMURrMVBKO0EwRC8wUEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5Ec3ZQakI7QTBEOTBQSTtFQUtJO0ExRDQwUFI7QTBEeDBQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkQ4dlBqQjtBMER4MFBJO0VBS0k7QTFEczBQUjs7QXlEaDJQRTtFQ3RCQSxXUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEMDNQRjtBMER4M1BFO0VBQ0UsV0FQOEM7RUFROUMsc0JQOEdhO0VPN0diLGtCUDZHYTtBbkQ2d1BqQjtBMER2M1BFO0VBRUU7QTFEdzNQSjtBMERyM1BFO0VBRUUsV1BtR2E7RU9sR2I7RUFDQTtBMURzM1BKO0EwRG4zUEU7RUFFRTtFQUNBLHNCUDJGYTtFTzFGYixrQlAwRmE7QW5EMHhQakI7QTBEbDNQSTtFQUtJO0ExRGczUFI7QTBENTJQVztFQUNQO0VBQ0Esc0JQNkVhO0VPNUViLGtCUDRFYTtBbkRreVBqQjtBMEQ1MlBJO0VBS0k7QTFEMDJQUjs7QXlEcDRQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEODVQRjtBMEQ1NVBFO0VBQ0UsY0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkRpelBqQjtBMEQzNVBFO0VBRUU7QTFENDVQSjtBMER6NVBFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMUQwNVBKO0EwRHY1UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EOHpQakI7QTBEdDVQSTtFQUtJO0ExRG81UFI7QTBEaDVQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkRzMFBqQjtBMERoNVBJO0VBS0k7QTFEODRQUjs7QXlEeDZQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEazhQRjtBMERoOFBFO0VBQ0UsV0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkRxMVBqQjtBMEQvN1BFO0VBRUU7QTFEZzhQSjtBMEQ3N1BFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMUQ4N1BKO0EwRDM3UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EazJQakI7QTBEMTdQSTtFQUtJO0ExRHc3UFI7QTBEcDdQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkQwMlBqQjtBMERwN1BJO0VBS0k7QTFEazdQUjs7QXlENThQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEcytQRjtBMERwK1BFO0VBQ0UsY0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkR5M1BqQjtBMERuK1BFO0VBRUU7QTFEbytQSjtBMERqK1BFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMURrK1BKO0EwRC85UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EczRQakI7QTBEOTlQSTtFQUtJO0ExRDQ5UFI7QTBEeDlQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkQ4NFBqQjtBMER4OVBJO0VBS0k7QTFEczlQUjs7QXlEaC9QRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEMGdRRjtBMER4Z1FFO0VBQ0UsV0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkQ2NVBqQjtBMER2Z1FFO0VBRUU7QTFEd2dRSjtBMERyZ1FFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMURzZ1FKO0EwRG5nUUU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EMDZQakI7QTBEbGdRSTtFQUtJO0ExRGdnUVI7QTBENS9QVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkRrN1BqQjtBMEQ1L1BJO0VBS0k7QTFEMC9QUjs7QXlEMWdRRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0Q4cVFoQjtBMEJ6clFFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRHNzUXZHO0FBQ0Y7QTBEM3JRRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUR3clFOO0EwRG5yUUU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEZ3NRaEI7QTBEOXFRRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUR1dFE3TDtBMEQxcVFJO0VBS0k7QTFEd3FRUjtBMERwcVFXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRCt0UTdMO0EwRGpxUUk7RUFLSTtBMUQrcFFSOztBeURsalFFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRHN0UWhCO0EwQmp1UUU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEOHVRdkc7QUFDRjtBMERudVFFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRGd1UU47QTBEM3RRRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0R3dVFoQjtBMER0dFFFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRCt2UTdMO0EwRGx0UUk7RUFLSTtBMURndFFSO0EwRDVzUVc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEdXdRN0w7QTBEenNRSTtFQUtJO0ExRHVzUVI7O0F5RDFsUUU7RUMvS0E7RWZBRSx5QmdCaUJZO0VEZmQscUJDZWM7QTNEOHZRaEI7QTBCendRRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURzeFF2RztBQUNGO0EwRDN3UUU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEd3dRTjtBMERud1FFO0VBRUU7RUFDQSx5QkNYWTtFRFlaLHFCQ1pZO0EzRGd4UWhCO0EwRDl2UUU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEdXlRN0w7QTBEMXZRSTtFQUtJO0ExRHd2UVI7QTBEcHZRVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQreVE3TDtBMERqdlFJO0VBS0k7QTFEK3VRUjs7QXlEbG9RRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0RzeVFoQjtBMEJqelFFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRDh6UXZHO0FBQ0Y7QTBEbnpRRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMURnelFOO0EwRDN5UUU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEd3pRaEI7QTBEdHlRRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUQrMFE3TDtBMERseVFJO0VBS0k7QTFEZ3lRUjtBMEQ1eFFXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRHUxUTdMO0EwRHp4UUk7RUFLSTtBMUR1eFFSOztBeUQxcVFFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRDgwUWhCO0EwQnoxUUU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEczJRdkc7QUFDRjtBMEQzMVFFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRHcxUU47QTBEbjFRRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0RnMlFoQjtBMEQ5MFFFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRHUzUTdMO0EwRDEwUUk7RUFLSTtBMUR3MFFSO0EwRHAwUVc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEKzNRN0w7QTBEajBRSTtFQUtJO0ExRCt6UVI7O0F5RGx0UUU7RUMvS0E7RWZBRSx5QmdCaUJZO0VEZmQscUJDZWM7QTNEczNRaEI7QTBCajRRRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQ4NFF2RztBQUNGO0EwRG40UUU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEZzRRTjtBMEQzM1FFO0VBRUU7RUFDQSx5QkNYWTtFRFlaLHFCQ1pZO0EzRHc0UWhCO0EwRHQzUUU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEKzVRN0w7QTBEbDNRSTtFQUtJO0ExRGczUVI7QTBENTJRVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUR1NlE3TDtBMER6MlFJO0VBS0k7QTFEdTJRUjs7QXlEMXZRRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0Q4NVFoQjtBMEJ6NlFFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRHM3UXZHO0FBQ0Y7QTBEMzZRRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUR3NlFOO0EwRG42UUU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEZzdRaEI7QTBEOTVRRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUR1OFE3TDtBMEQxNVFJO0VBS0k7QTFEdzVRUjtBMERwNVFXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRCs4UTdMO0EwRGo1UUk7RUFLSTtBMUQrNFFSOztBeURseVFFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRHM4UWhCO0EwQmo5UUU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEODlRdkc7QUFDRjtBMERuOVFFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRGc5UU47QTBEMzhRRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0R3OVFoQjtBMER0OFFFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRCsrUTdMO0EwRGw4UUk7RUFLSTtBMURnOFFSO0EwRDU3UVc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEdS9RN0w7QTBEejdRSTtFQUtJO0ExRHU3UVI7O0F5RDEwUUU7RUMvS0E7RWZBRSxzQmdCaUJZO0VEZmQsa0JDZWM7QTNEOCtRaEI7QTBCei9RRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURzZ1J2RztBQUNGO0EwRDMvUUU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEdy9RTjtBMERuL1FFO0VBRUU7RUFDQSxzQkNYWTtFRFlaLGtCQ1pZO0EzRGdnUmhCO0EwRDkrUUU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEdWhSN0w7QTBEMStRSTtFQUtJO0ExRHcrUVI7QTBEcCtRVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQraFI3TDtBMERqK1FJO0VBS0k7QTFEKzlRUjs7QXlEbDNRRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0RzaFJoQjtBMEJqaVJFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRDhpUnZHO0FBQ0Y7QTBEbmlSRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMURnaVJOO0EwRDNoUkU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEd2lSaEI7QTBEdGhSRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUQralI3TDtBMERsaFJJO0VBS0k7QTFEZ2hSUjtBMEQ1Z1JXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRHVrUjdMO0EwRHpnUkk7RUFLSTtBMUR1Z1JSOztBeUQxNVFFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRDhqUmhCO0EwQnprUkU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEc2xSdkc7QUFDRjtBMEQza1JFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRHdrUk47QTBEbmtSRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0RnbFJoQjtBMEQ5alJFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRHVtUjdMO0EwRDFqUkk7RUFLSTtBMUR3alJSO0EwRHBqUlc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEK21SN0w7QTBEampSSTtFQUtJO0ExRCtpUlI7O0F5RGw4UUU7RUMvS0E7RWZBRSx5QmdCaUJZO0VEZmQscUJDZWM7QTNEc21SaEI7QTBCam5SRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQ4blJ2RztBQUNGO0EwRG5uUkU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEZ25STjtBMEQzbVJFO0VBRUU7RUFDQSx5QkNYWTtFRFlaLHFCQ1pZO0EzRHduUmhCO0EwRHRtUkU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEK29SN0w7QTBEbG1SSTtFQUtJO0ExRGdtUlI7QTBENWxSVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUR1cFI3TDtBMER6bFJJO0VBS0k7QTFEdWxSUjs7QXlEMStRRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0Q4b1JoQjtBMEJ6cFJFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRHNxUnZHO0FBQ0Y7QTBEM3BSRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUR3cFJOO0EwRG5wUkU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEZ3FSaEI7QTBEOW9SRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUR1clI3TDtBMEQxb1JJO0VBS0k7QTFEd29SUjtBMERwb1JXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRCtyUjdMO0EwRGpvUkk7RUFLSTtBMUQrblJSOztBeURsaFJFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRHNyUmhCO0EwQmpzUkU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEOHNSdkc7QUFDRjtBMERuc1JFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRGdzUk47QTBEM3JSRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0R3c1JoQjtBMER0clJFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRCt0UjdMO0EwRGxyUkk7RUFLSTtBMURnclJSO0EwRDVxUlc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEdXVSN0w7QTBEenFSSTtFQUtJO0ExRHVxUlI7O0F5RDFqUkU7RUMvS0E7RWZBRSx5QmdCaUJZO0VEZmQscUJDZWM7QTNEOHRSaEI7QTBCenVSRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURzdlJ2RztBQUNGO0EwRDN1UkU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEd3VSTjtBMERudVJFO0VBRUU7RUFDQSx5QkNYWTtFRFlaLHFCQ1pZO0EzRGd2UmhCO0EwRDl0UkU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEdXdSN0w7QTBEMXRSSTtFQUtJO0ExRHd0UlI7QTBEcHRSVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQrd1I3TDtBMERqdFJJO0VBS0k7QTFEK3NSUjs7QXlEbG1SRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0Rzd1JoQjtBMEJqeFJFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRDh4UnZHO0FBQ0Y7QTBEbnhSRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMURneFJOO0EwRDN3UkU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEd3hSaEI7QTBEdHdSRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUQreVI3TDtBMERsd1JJO0VBS0k7QTFEZ3dSUjtBMEQ1dlJXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRHV6UjdMO0EwRHp2Ukk7RUFLSTtBMUR1dlJSOztBeUQxb1JFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRDh5UmhCO0EwQnp6UkU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEczBSdkc7QUFDRjtBMEQzelJFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRHd6Uk47QTBEbnpSRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0RnMFJoQjtBMEQ5eVJFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRHUxUjdMO0EwRDF5Ukk7RUFLSTtBMUR3eVJSO0EwRHB5Ulc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEKzFSN0w7QTBEanlSSTtFQUtJO0ExRCt4UlI7O0E0RG4yUkE7RUFDRTtFQUNBO0VBQ0E7RUFVRSxzQnZCTWdCO0FyQ3UxUnBCO0F1QjEyUlE7RXFDTUo7QTVEdTJSSjtBd0I3MlJRO0VvQ1NKO0E1RHUyUko7O0E0RC8xUkE7RUFDRTtFQUNBO0E1RGsyUkY7O0E0RGgyUkE7RUFDRSxzQnZCSGtCO0FyQ3MyUnBCOztBNERqMlJBO0VBQ0U7RUFDQTtBNURvMlJGOztBNERsMlJBO0VBQ0U7QTVEcTJSRjs7QTREbjJSQTtFQUNFO0E1RHMyUkY7O0F1QnQ0UlE7RXFDMENGLDBCVDROVztBbkRvb1JqQjtBd0IxNFJRO0VvQzZDRiwyQlR5Tlc7QW5EdW9SakI7QTRENzFSSTtFQUNFLGNUcU5XO0FuRDBvUmpCOztBdUJoNVJRO0VxQzBDRiwwQlQ0Tlc7QW5EOG9SakI7QXdCcDVSUTtFb0M2Q0YsMkJUeU5XO0FuRGlwUmpCO0E0RHYyUkk7RUFDRSxjVHFOVztBbkRvcFJqQjs7QXVCMTVSUTtFcUMwQ0YsMEJUNE5XO0FuRHdwUmpCO0F3Qjk1UlE7RW9DNkNGLDJCVHlOVztBbkQycFJqQjtBNERqM1JJO0VBQ0UsY1RxTlc7QW5EOHBSakI7O0F1QnA2UlE7RXFDMENGLHVCVDROVztBbkRrcVJqQjtBd0J4NlJRO0VvQzZDRix3QlR5Tlc7QW5EcXFSakI7QTREMzNSSTtFQUNFLFdUcU5XO0FuRHdxUmpCOztBdUI5NlJRO0VxQzBDRiwwQlQ0Tlc7QW5ENHFSakI7QXdCbDdSUTtFb0M2Q0YsMkJUeU5XO0FuRCtxUmpCO0E0RHI0Ukk7RUFDRSxjVHFOVztBbkRrclJqQjs7QXVCeDdSUTtFcUMwQ0YsMEJUNE5XO0FuRHNyUmpCO0F3QjU3UlE7RW9DNkNGLDJCVHlOVztBbkR5clJqQjtBNEQvNFJJO0VBQ0UsY1RxTlc7QW5ENHJSakI7O0F1Qmw4UlE7RXFDMENGLDBCVDROVztBbkRnc1JqQjtBd0J0OFJRO0VvQzZDRiwyQlR5Tlc7QW5EbXNSakI7QTREejVSSTtFQUNFLGNUcU5XO0FuRHNzUmpCOztBdUI1OFJRO0VxQzBDRiwwQlQ0Tlc7QW5EMHNSakI7QXdCaDlSUTtFb0M2Q0YsMkJUeU5XO0FuRDZzUmpCO0E0RG42Ukk7RUFDRSxjVHFOVztBbkRndFJqQjs7QTZEdDlSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUEscUJDQzBCO0VEQTFCO0VBQ0E7RUFDQTtFekJLRTtFeUJGQTtFQUNBO0E3RHU5Uko7QTZEcDlSRTtFQUNFO0VBQ0E7QTdEczlSSjtBNkRuOVJFO0VBQ0U7RUFDQTtBN0RxOVJKO0E2RG45Ukk7RUFDRTtFekJIRjtFQUNBO0FwQ3k5Uko7QTZEbjlSSTtFQUNFO0V6Qk1GO0VBQ0E7QXBDZzlSSjtBNkRsOVJFOztFQUVFO0E3RG85Uko7O0E2RC84UkE7O0VBRUU7QTdEazlSRjtBNkRqOVJFOztFQUNFO0VBQ0E7QTdEbzlSSjs7QTZEaDlSQTtFQUdFO0VBR0E7RUFDQSxnQkN4RDBCO0E5RHVnUzVCOztBNkR6OFJBO0VBQ0Usc0JDaEUwQjtBOUQ0Z1M1Qjs7QTZEejhSQTtFQUNFO0VBQ0E7QTdENDhSRjs7QTZEejhSQTtFQUNFO0E3RDQ4UkY7O0EwQi9nU0U7RUFDRTtJbUN1RUE7RTdENDhSRjtBQUNGO0F1QjdoU1E7RXNDcUZGLG9CQ2xGc0I7QTlENmhTNUI7QXdCaGlTUTtFcUN3RkYscUJDckZzQjtBOURnaVM1Qjs7QTZEbDhSQTtFQUNFO0VBQ0E7RUFDQTtFQUdFO0VBQ0E7QTdEbThSSjtBNkRoOFJFO0V6QjdGRTtBcENnaVNKO0E2RDk3Ukk7RUFDRTtBN0RnOFJOO0E2RDc3UkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RCs3Uko7O0E2RDM3UkE7RUFDRTtFQUNBO0VBR0U7RUFDQTtBN0Q0N1JKO0E2RHo3UkU7RXpCeEhFO0FwQ29qU0o7O0E2RGw3UkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0RxN1JGOztBNkRsN1JBO0VBQ0U7RUFDQTtBN0RxN1JGOztBNkRqN1JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCQzFKMEI7QTlEOGtTNUI7O0E2RGo3UkE7OztFQUdFO0VBQ0E7QTdEbzdSRjs7QTZEajdSQTs7RXpCdEpJO0VBQ0E7QXBDNGtTSjs7QTZEbDdSQTs7RXpCN0lJO0VBQ0E7QXBDb2tTSjs7QTZELzZSRTtFQUNFLG1CQ2pMaUI7QTlEbW1TckI7QStEemlTSTtFRnFISjtJQU1JO0lBQ0E7SUFDQTtJQUNBO0U3RGs3UkY7RTZEaDdSRTtJQUVFO0lBQ0Esa0JDN0xlO0lEOExmO0lBQ0EsaUJDL0xlO0U5RGduU25CO0FBQ0Y7O0E2RHI2UkU7RUFDRSxtQkM3TWlCO0E5RHFuU3JCO0ErRDNqU0k7RUYrSUo7SUFRSTtJQUNBO0U3RHc2UkY7RTZEcjZSRTtJQUVFO0lBQ0E7RTdEczZSSjtFdUJ6b1NNO0lzQ3VPRTtJQUNBO0U3RHE2UlI7RXdCN29TTTtJcUMyT0U7SUFDQTtFN0RxNlJSO0U2RC81Uk07SXpCcE5KO0lBQ0E7RXBDc25TRjtFNkRoNlJROztJQUdFO0U3RGk2UlY7RTZELzVSUTs7SUFHRTtFN0RnNlJWO0U2RDU1Uk07SXpCck5KO0lBQ0E7RXBDb25TRjtFNkQ3NVJROztJQUdFO0U3RDg1UlY7RTZENTVSUTs7SUFHRTtFN0Q2NVJWO0FBQ0Y7O0E2RGg1UkU7RUFDRSxzQkN6UndCO0E5RDRxUzVCO0ErRHptU0k7RUZvTko7SUFNSSxvQkNqUm1CO1NEaVJuQixlQ2pSbUI7SURrUm5CLHdCQ2pSbUI7U0RpUm5CLG1CQ2pSbUI7SURrUm5CO0lBQ0E7RTdEbTVSRjtFNkRqNVJFO0lBQ0U7SUFDQTtFN0RtNVJKO0FBQ0Y7O0E2RHo0UkU7RUFDRTtBN0Q0NFJKO0E2RDE0Ukk7RUFDRTtFekJoUkY7RUFDQTtBcEM2cFNKO0E2RDE0Ukk7RXpCbFNBO0VBQ0E7QXBDK3FTSjtBNkQxNFJJO0V6Qi9TQTtFeUJpVEU7QTdENDRSTjs7QTZEdjRSQTtFQUNFO0VBQ0E7QTdEMDRSRjs7QTZEdjRSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjakM1VVc7RWlDNlVYO0VBQ0EsdUJDL1RpQjtFRGdVakI7RUFFRTtBN0R5NFJKOztBNkRyNFJBO0VBQ0U7QTdEdzRSRjtBdUJqdVNRO0VzQzRWSjtFQUNBO0E3RHc0Uko7QXdCcnVTUTtFcUNnV0o7RUFDQTtBN0R3NFJKOztBNkRwNFJBO0VBQ0U7RUFDQSxjakM5Vlc7QTVCcXVTYjtBNkRyNFJFO0VBQ0UsY2pDdldTO0VpQ3dXVDtBN0R1NFJKOztBNkRoNFJFO0VHcFhBO0FoRXd2U0Y7O0E2RHA0UkU7RUdwWEE7QWhFNHZTRjs7QTZEeDRSRTtFR3BYQTtBaEVnd1NGOztBNkQ1NFJFO0VHcFhBO0FoRW93U0Y7O0E2RGg1UkU7RUdwWEE7QWhFd3dTRjs7QTZEcDVSRTtFR3BYQTtBaEU0d1NGOztBNkR4NVJFO0VHcFhBO0FoRWd4U0Y7O0E2RDU1UkU7RUdwWEE7QWhFb3hTRjs7QTZEMzVSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEODVSRjs7QStEcnRTSTtFRjZUQTtJQUNFO1NBQUE7RTdENDVSSjtBQUNGO0FpRXZ4U0E7RUFDRTtBakV5eFNGOztBaUV0eFNBO0VBQ0U7QWpFeXhTRjs7QWlFdHhTQTtFQUNFO0VBQ0E7RUFDQTtBakV5eFNGO0FrRWh6U0U7RUFDRTtFQUNBO0VBQ0E7QWxFa3pTSjs7QWlFMXhTQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakJsQkksc0NpQm1CSjtBakU2eFNGO0FnRDV5U007RWlCUU47SWpCUFE7RWhEK3lTTjtBQUNGOztBaUUveFNBOzs7RUFHRTtBakVreVNGOztBaUUveFNBOztFQUVFO0FqRWt5U0Y7O0FpRS94U0E7O0VBRUU7QWpFa3lTRjs7QWlFenhTRTtFQUNFO0VBQ0E7RUFDQTtBakU0eFNKO0FpRXp4U0U7OztFQUdFO0VBQ0E7QWpFMnhTSjtBaUV4eFNFOztFQUVFO0VBQ0E7RWpCNURFLDJCaUI2REY7QWpFMHhTSjtBZ0RuMVNNO0VpQnFESjs7SWpCcERNO0VoRHUxU047QUFDRjs7QWlFdnhTQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLFVFNUZnQztFRjZGaEMsV3JDN0ZPO0VxQzhGUDtFQUNBLFlFOUZnQztFbkJXNUIsOEJpQm9GSjtBakV5eFNGO0FnRHoyU007RWlCa0VOOztJakJqRVE7RWhENjJTTjtBQUNGO0EwQmozU0U7OztFdUNzRkUsV3JDcEdLO0VxQ3FHTDtFQUNBO0VBQ0EsWUVyRzhCO0FuRXE0U2xDOztBaUU3eFNBO0VBQ0U7QWpFZ3lTRjs7QWlFM3hTQTtFQUNFO0FqRTh4U0Y7O0FpRXZ4U0E7O0VBRUU7RUFDQSxXRTVHNkI7RUY2RzdCLFlFN0c2QjtFRjhHN0I7QWpFMHhTRjs7QWlFeHhTQTtFQUNFO0FqRTJ4U0Y7O0FpRXp4U0E7RUFDRTtBakU0eFNGOztBaUVueFNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFRQSxpQkUzSmdDO0VGNEpoQyxnQkU1SmdDO0VGNkpoQztBakUrd1NGO0F1QjU2U1E7RTBDcUpKO0FqRTB4U0o7QXdCLzZTUTtFeUN3Sko7QWpFMHhTSjtBaUVueFNFO0VBQ0U7RUFDQTtFQUNBLFdFN0prQztFRjhKbEMsV0U3SmtDO0VGOEpsQyxpQkU1SmtDO0VGNkpsQyxnQkU3SmtDO0VGOEpsQztFQUNBO0VBQ0Esc0JyQ3hLSztFcUN5S0w7RUFFQTtFQUNBO0VBQ0E7RWpCaktFLDZCaUJrS0Y7QWpFb3hTSjtBZ0RsN1NNO0VpQitJSjtJakI5SU07RWhEcTdTTjtBQUNGO0FpRXR4U0U7RUFDRTtBakV3eFNKOztBaUUvd1NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXckNuTU87RXFDb01QO0FqRWt4U0Y7O0FvRTE5U0E7RUFDRTtBcEU2OVNGOztBb0UxOVNBO0VBQ0U7QXBFNjlTRjs7QW9FMTlTQTtFQUNFO0tBQUE7VUFBQTtBcEU2OVNGOztBcUV0K1NBO0VBQ0U7RS9DOEhJLG9CQXRDYTtFK0N0RmpCLGdCaERjcUI7RWdEYnJCO0VBQ0E7RUFFRTtFQUNBO0FyRXcrU0o7QTBCcCtTRTtFQUNFO0kyQ0FBO0lBRUU7RXJFcytTSjtBQUNGO0EwQnArU0U7RTJDR0k7QXJFbytTTjs7QXFFejlTQTtFQUNFO0VBQ0E7RUFDQTtBckU0OVNGOztBcUV0OVNBO0VBQ0U7QXJFeTlTRjs7QXNFbGdUQTtFaER1RUk7RWdEckVGLGMxQzBGTTtFMEN6Rk47QXRFcWdURjtBc0VsZ1RFO0VBQ0U7QXRFb2dUSjs7QXNFLy9TQTtFQUNFO0VoRDBERTtFZ0R4REYsVzFDWk87RTBDYVAseUIxQ0RXO0VRRVQ7QXBDa2dUSjtBc0UvL1NFO0VBQ0U7RWhEa0RBO0VnRGhEQSxnQmpEUG1CO0FyQndnVHZCOztBc0UzL1NBO0VBQ0U7RWhEeUNFO0VnRHZDRixjMUNqQlc7QTVCK2dUYjtBc0UzL1NFO0VoRG9DRTtFZ0RsQ0E7RUFDQTtBdEU2L1NKOztBc0V4L1NBO0VBQ0UsaUJDL0IyQjtFRGdDM0I7QXRFMi9TRjs7QXdFaGlUQTtFQUNFO0VBQ0E7RUFDQTtBeEVtaVRGO0F1QjNpVFE7RWlEVUo7QXhFb2lUSjtBd0I5aVRRO0VnRGFKO0F4RW9pVEo7O0F3RWhpVEE7RUFDRTtFQUNBLGtCQ3BCeUI7QXpFdWpUM0I7O0F3RWhpVEE7RUFDRTtFQU9BO0VBQ0EsV0M3QitCO0VEOEIvQjtFQUNBO0F4RTZoVEY7QXVCOWpUUTtFaUR5Qko7QXhFd2lUSjtBd0Jqa1RRO0VnRDRCSjtBeEV3aVRKO0F3RWppVEU7RUFHSTtFQUNBO0U3QnJDRix5QjZCc0N1QjtBeEVpaVQzQjtBd0U3aFRFO0VBS0ksZ0QzQ3hDd0I7QTdCbWtUOUI7QXdFdmhURTtFQUVJO0F4RXdoVE47QXdFcGhURTtFQUVJO0VBQ0E7RUFDQTtBeEVxaFROO0F3RTdnVEk7RUFFSTtBeEU4Z1RSO0F3RTNnVE07RUFFSTtBeEU0Z1RWOztBd0VqZ1RBO0VBQ0U7RUFDQTtFQUNBO0F4RW9nVEY7QXdFNy9TRTtFQUNFO0VBQ0E7RUFPQTtFQUNBLFdDM0c2QjtFRDRHN0IsWUM1RzZCO0VENkc3QjtFQUNBO0VBQ0E7RUFHRTtFQUNBO0F4RXUvU047QXVCNW1UUTtFaUR1R0Y7QXhFd2dUTjtBd0IvbVRRO0VnRDBHRjtBeEV3Z1ROO0F3RXgvU0U7RUFDRTtFQUNBO0VBT0E7RUFDQSxXQ2xJNkI7RURtSTdCLFlDbkk2QjtFRG9JN0I7RUFDQTtBeEVvL1NKO0F1QjNuVFE7RWlEOEhGO0F4RWdnVE47QXdCOW5UUTtFZ0RpSUY7QXhFZ2dUTjs7QXdFaC9TRTtFcENuSUU7QXBDdW5USjtBd0UvK1NJO0VBRUk7QXhFZy9TUjtBd0UxK1NJO0VBRUk7RTdCOUpKLHlCTitCc0I7QXJDMm1UMUI7QXdFditTSTtFQUNFO0F4RXkrU047QXdFcCtTSTtFQUVJO0F4RXErU1I7QXdFbCtTSTtFQUVJO0F4RW0rU1I7O0F3RXg5U0U7RUFFRSxrQkMzS29DO0F6RXFvVHhDO0F3RXQ5U0k7RUFFSTtBeEV1OVNSO0F3RWo5U0k7RUFFSTtBeEVrOVNSOztBdUIvcFRRO0VpRDBOSjtBeEV5OFNKO0F3Qm5xVFE7RWdENk5KO0F4RXk4U0o7QXdFdDhTSTtFQU9FLGNDak5tQztFRGtObkM7RUFFQSxxQkNuTm1DO0F6RW9wVHpDO0F1QjNxVFE7RWlEa09BO0F4RTQ4U1I7QXdCOXFUUTtFZ0RxT0E7QXhFNDhTUjtBd0VwOFNJO0VBQ0U7RUFPQSx1QkM3Tm1DO0VEOE5uQyx3QkM5Tm1DO0VEK05uQyx5QjVDL09PO0U0Q2lQUCxxQkNsT21DO0V6QlhuQyx5SXdCOE9BO0VBRUU7QXhFODdTUjtBdUIxclRRO0VpRGdQQTtBeEU2OFNSO0F3QjdyVFE7RWdEbVBBO0F4RTY4U1I7QWdEaHJUTTtFd0I2TkY7SXhCNU5JO0VoRG1yVE47QUFDRjtBd0VuOFNJO0VBRUk7RUFFRjtBeEVtOFNOO0F3RTk3U0k7RUFFSTtBeEUrN1NSOztBd0VsN1NBO0VBQ0U7RUFDQTtFQUNBLG1DM0N4S2lCO0UyQ3lLakI7RWxEbktJLG1CQXRDYTtFa0Q0TWpCLGdCbkRyUnFCO0VtRHNSckIsZ0JuRGpSa0I7RW1Ea1JsQjtFQUNBO0VwQ3RSRTtFb0N5UkY7S0FBQTtVQUFBO0VBRUU7RUFDQTtFQUNBO0F4RWs3U0o7QXdFLzZTRTtFQUVJO0VBRUY7RUFLRSxnREN6UThCO0F6RW9yVHBDO0F3RXg2U0k7RUFPSTtFQUNBO0F4RW82U1I7QXdFLzVTRTtFQUVFO0VBT0E7QXhFMDVTSjtBdUIxdVRRO0VpRDJVRixzQjNDelVtQjtBN0IydVR6QjtBd0I3dVRRO0VnRDhVRixxQjNDNVVtQjtBN0I4dVR6QjtBd0U3NVNFO0VBRUk7RUFDQTtBeEU4NVNOO0F3RXo1U0U7RUFDRTtBeEUyNVNKO0F3RXY1U0U7RUFDRTtFQUNBO0F4RXk1U0o7O0F3RXI1U0E7RUFDRSxrQzNDalBpQjtFMkNrUGpCLG9CM0M3VjBCO0UyQzhWMUIsdUIzQzlWMEI7RVBnSHRCLHNCQXRDYTtBdEI2cVRuQjtBdUJsd1RRO0VpRDJXSixvQjNDL1Z3QjtBN0J5dlQ1QjtBd0Jyd1RRO0VnRDhXSixxQjNDbFd3QjtBN0I0dlQ1Qjs7QXdFcjVTQTtFQUNFLGdDM0M3UGlCO0UyQzhQakIsbUIzQ3JXMEI7RTJDc1cxQixzQjNDdFcwQjtFUDJHdEIscUJBdENhO0F0QjByVG5CO0F1Qi93VFE7RWlEd1hKLGtCM0N2V3dCO0E3Qml3VDVCO0F3Qmx4VFE7RWdEMlhKLG1CM0MxV3dCO0E3Qm93VDVCOztBd0VoNVNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUMzQ3BSaUI7RTJDcVJqQjtBeEVtNVNGOztBd0VoNVNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUMzQzVSaUI7RTJDNlJqQjtFQUNBO0F4RW01U0Y7QXdFajVTRTtFQUNFLGdEM0M3WTBCO0UyQytZeEI7QXhFazVTTjtBd0U3NFNFO0VBR0k7QXhFNjRTTjtBd0V4NFNJO0VBQ0UsaUJDaFZhO0F6RTB0VG5CO0F3RXQ0U0U7RUFDRTtBeEV3NFNKOztBd0VwNFNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1DM0NoVWlCO0UyQ2lVakI7RUFFQSxnQm5ENWFxQjtFbUQ2YXJCLGdCbkR4YWtCO0VtRHlhbEI7RXBDNWFFO0VvQ2diQTtFQUNBO0VBQ0E7QXhFbzRTSjtBd0VqNFNFO0VBQ0U7RUFDQTtFQU9BO0VBQ0E7RUFDQTtFQUNBLDZCM0M5VjBCO0UyQytWMUI7RUFDQSxnQm5EaGNnQjtFbURpY2hCO0VBQ0E7RXBDcmNBO0VvQ3djRTtFN0JwZEYseUI2QnFkdUI7QXhFNDNTM0I7QXVCbjFUUTtFaUR1Y0Y7QXhFKzRTTjtBd0J0MVRRO0VnRDBjRjtBeEUrNFNOOztBd0V2M1NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7QXhFMDNTRjtBd0V4M1NFO0VBQ0U7QXhFMDNTSjtBd0V0M1NJO0VBQTBCLG1FQ3phZTtBekVreVQ3QztBd0V4M1NJO0VBQTBCLG1FQzFhZTtBekVxeVQ3QztBd0UxM1NJO0VBQTBCLG1FQzNhZTtBekV3eVQ3QztBd0UxM1NFO0VBQ0U7QXhFNDNTSjtBd0V6M1NFO0VBQ0UsV0N4YnlDO0VEeWJ6QyxZQ3pieUM7RUQwYnpDO0U3QnhmQSx5QjZCMGZ1QjtFQUV2QixTQzVieUM7RXJDcER6QztFWUZFLG9Id0JxZkY7RXhCcmZFLDRHd0JxZkY7RUFDQTtVQUFBO0F4RXczU0o7QWdEMTJUTTtFd0J1ZUo7SXhCdGVNO0lBQUE7RWhENjJUTjtBQUNGO0F3RTMzU0k7RTdCbGdCQSx5QjZCb2dCeUI7QXhFNDNTN0I7QXdFdjNTRTtFQUNFLFdDbGRnQztFRG1kaEMsY0NsZGdDO0VEbWRoQztFQUNBLGVDbmRnQztFRG9kaEM7RXBDbGdCQTtFb0NzZ0JFO0F4RXUzU047QXdFbjNTRTtFQUNFLFdDemR5QztFRDBkekMsWUMxZHlDO0U5QjlEekMseUI2QjBoQnVCO0VBRXZCLFNDNWR5QztFckNwRHpDO0VZRkUsaUh3QnFoQkY7RXhCcmhCRSw0R3dCcWhCRjtFQUNBO09BQUE7QXhFazNTSjtBZ0RwNFRNO0V3QndnQko7SXhCdmdCTTtJQUFBO0VoRHU0VE47QUFDRjtBd0VyM1NJO0U3QmxpQkEseUI2Qm9pQnlCO0F4RXMzUzdCO0F3RWozU0U7RUFDRSxXQ2xmZ0M7RURtZmhDLGNDbGZnQztFRG1maEM7RUFDQSxlQ25mZ0M7RURxZjlCO0VBRUY7RXBDcmlCQTtBcEN1NVRKO0F3RTcyU0U7RUFDRSxXQ3pmeUM7RUQwZnpDLFlDMWZ5QztFRDJmekM7RUFDQSxvQjNDcmpCMEI7RTJDc2pCMUIsbUIzQ3RqQjBCO0VjTDFCLHlCNkI2akJ1QjtFQUV2QixTQy9meUM7RXJDcER6QztFWUZFLGdId0J3akJGO0V4QnhqQkUsNEd3QndqQkY7RUFDQTtBeEU0MlNKO0FnRGo2VE07RXdCd2lCSjtJeEJ2aUJNO0lBQUE7RWhEbzZUTjtBQUNGO0F3RS8yU0k7RTdCcmtCQSx5QjZCdWtCeUI7QXhFZzNTN0I7QXdFMzJTRTtFQUNFLFdDcmhCZ0M7RURzaEJoQyxjQ3JoQmdDO0VEc2hCaEM7RUFDQSxlQ3RoQmdDO0VEdWhCaEM7RUFDQTtFQUNBO0F4RTYyU0o7QXdFejJTRTtFQUVJO0VwQzdrQkY7QXBDdzdUSjtBd0V0MlNFO0VBQ0U7RUFFRTtFcENybEJGO0FwQzY3VEo7QXdFbDJTSTtFQUVJO0F4RW0yU1I7QXdFLzFTSTtFQUNFO0F4RWkyU047QXdFOTFTSTtFQUVJO0F4RSsxU1I7QXdFMzFTSTtFQUNFO0F4RTYxU047QXdFMTFTSTtFQUVJO0F4RTIxU1I7O0F3RXIxU0E7OztFeEJ6bkJNLDRHd0I0bkJKO0F4RXcxU0Y7QWdEaDlUTTtFd0JxbkJOOzs7SXhCcG5CUTtFaERxOVROO0FBQ0Y7O0EwRTErVEE7Ozs7RUFJRTtBMUU2K1RGOztBMEUxK1RBO0VBQ0U7QTFFNitURjtBMkV6OVRJO0VBQ0U7RUFPQSx1QnRDR2tCO0VzQ0ZsQjtFQXJDSjtFQUNBO0VBQ0E7RUFDQTtBM0UyL1RGO0F1QjMvVFE7RW9ENEJBLG9CdENTZ0I7QXJDeTlUeEI7QXdCOS9UUTtFbUQrQkEscUJ0Q01nQjtBckM0OVR4QjtBdUJqZ1VRO0VvRDREQTtBM0V3OFRSO0F3QnBnVVE7RW1EK0RBO0EzRXc4VFI7O0EwRTMvVEE7RUFDRTtFQUNBO0VBRUEsYXpDZHVCO0V5Q2V2QjtFQUNBO0VBQ0EsZ0JFakI4QjtFRmtCOUI7RXBEdUdJLG1CQXRDYTtFb0QvRGpCO0VBQ0E7RUFDQTtFQUNBO0V0Q1hFO0VzQ2dCQTtFQUNBO0VBQ0E7QTFFMC9USjs7QTBFdC9UQTs7O0VBR0U7QTFFeS9URjs7QXVCaGlVUTs7O0VtRG1EQTtFQUNBO0ExRW0vVFI7QXdCdmlVUTs7O0VrRHVEQTtFQUNBO0ExRXEvVFI7O0F1QjdpVVE7OztFbURnRUE7RUFDQTtBMUVtL1RSO0F3QnBqVVE7OztFa0RvRUE7RUFDQTtBMUVxL1RSOztBK0RyL1RJO0V4Q3JFSTs7O0ltRG1EQTtJQUNBO0UxRThnVU47RXdCbGtVTTs7O0lrRHVEQTtJQUNBO0UxRWdoVU47O0V1QnhrVU07OztJbURnRUE7SUFDQTtFMUU4Z1VOO0V3Qi9rVU07OztJa0RvRUE7SUFDQTtFMUVnaFVOO0FBQ0Y7QStEamhVSTtFeENyRUk7OztJbURtREE7SUFDQTtFMUV5aVVOO0V3QjdsVU07OztJa0R1REE7SUFDQTtFMUUyaVVOOztFdUJubVVNOzs7SW1EZ0VBO0lBQ0E7RTFFeWlVTjtFd0IxbVVNOzs7SWtEb0VBO0lBQ0E7RTFFMmlVTjtBQUNGO0ErRDVpVUk7RXhDckVJOzs7SW1EbURBO0lBQ0E7RTFFb2tVTjtFd0J4blVNOzs7SWtEdURBO0lBQ0E7RTFFc2tVTjs7RXVCOW5VTTs7O0ltRGdFQTtJQUNBO0UxRW9rVU47RXdCcm9VTTs7O0lrRG9FQTtJQUNBO0UxRXNrVU47QUFDRjtBK0R2a1VJO0V4Q3JFSTs7O0ltRG1EQTtJQUNBO0UxRStsVU47RXdCbnBVTTs7O0lrRHVEQTtJQUNBO0UxRWltVU47O0V1QnpwVU07OztJbURnRUE7SUFDQTtFMUUrbFVOO0V3QmhxVU07OztJa0RvRUE7SUFDQTtFMUVpbVVOO0FBQ0Y7QStEbG1VSTtFeENyRUk7OztJbURtREE7SUFDQTtFMUUwblVOO0V3QjlxVU07OztJa0R1REE7SUFDQTtFMUU0blVOOztFdUJwclVNOzs7SW1EZ0VBO0lBQ0E7RTFFMG5VTjtFd0IzclVNOzs7SWtEb0VBO0lBQ0E7RTFFNG5VTjtBQUNGO0EwRW5uVUU7RUFDRTtFQUNBO0VBQ0E7RUFDQSx1QkUvRTRCO0E1RW9zVWhDO0EyRS9xVUk7RUFDRTtFQU9BLHVCdENHa0I7RXNDRmxCO0VBOUJKO0VBQ0E7RUFDQTtFQUNBO0EzRTBzVUY7QXVCanRVUTtFb0Q0QkEsb0J0Q1NnQjtBckMrcVV4QjtBd0JwdFVRO0VtRCtCQSxxQnRDTWdCO0FyQ2tyVXhCO0F1QnZ0VVE7RW9ENERBO0EzRThwVVI7QXdCMXRVUTtFbUQrREE7QTNFOHBVUjs7QTBFam9VRTtFQUNFO0VBQ0E7QTFFb29VSjtBdUJsdVVRO0VtRGdHRjtFQUNBO0VBQ0EscUJFOUYwQjtBNUVtdVVoQztBd0J2dVVRO0VrRHFHRjtFQUNBO0VBQ0Esc0JFbkcwQjtBNUV3dVVoQztBMkVudFVJO0VBQ0U7RUFPQSx1QnRDR2tCO0VzQ0ZsQjtFQXZCSjtFQUNBO0VBQ0E7RUFDQTtBM0V1dVVGO0F1QnJ2VVE7RW9ENEJBLG9CdENTZ0I7QXJDbXRVeEI7QXdCeHZVUTtFbUQrQkEscUJ0Q01nQjtBckNzdFV4QjtBdUIzdlVRO0VvRDREQTtBM0Vrc1VSO0F3Qjl2VVE7RW1EK0RBO0EzRWtzVVI7QTBFcHBVSTtFQUNFO0ExRXNwVU47O0EwRWhwVUU7RUFDRTtFQUNBO0ExRW1wVUo7QXVCendVUTtFbUR5SEY7RUFDQTtFQUNBLHNCRXZIMEI7QTVFMHdVaEM7QXdCOXdVUTtFa0Q4SEY7RUFDQTtFQUNBLHFCRTVIMEI7QTVFK3dVaEM7QTJFMXZVSTtFQUNFO0VBT0EsdUJ0Q0drQjtFc0NGbEI7QTNFc3ZVTjtBdUJ4eFVRO0VvRDRCQSxvQnRDU2dCO0FyQ3N2VXhCO0F3QjN4VVE7RW1EK0JBLHFCdENNZ0I7QXJDeXZVeEI7QTJFanZVTTtFQUNFO0EzRW12VVI7QTJFaHZVTTtFQUNFO0VBQ0EscUJ0Q2RnQjtFc0NlaEIsdUJ0Q2hCZ0I7RXNDaUJoQjtFQW5DTjtFQUNBO0VBQ0E7QTNFc3hVRjtBdUIxeVVRO0VvRDREQTtBM0VpdlVSO0F3Qjd5VVE7RW1EK0RBO0EzRWl2VVI7QTBFMXFVSTtFQUNFO0ExRTRxVU47O0EwRXRxVUE7RUc1SUU7RUFDQTtFQUNBO0VBQ0E7QTdFc3pVRjs7QTBFcHFVQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQnJEaEpxQjtFcURpSnJCO0VBRUE7RUFDQTtFQUNBO0VBR0U7QTFFb3FVSjtBMEIxelVFO0VnRHNLRTtFQUlFO0UvQnRMRix5QitCdUx1QjtBMUVvcFUzQjtBMEVocFVFO0VBRUU7RUFJRTtFL0JqTUYseUIrQmtNdUI7QTFFOG9VM0I7QTBFMW9VRTtFQUVFO0VBQ0E7RUFPRTtBMUVxb1VOOztBMEVob1VBO0VBQ0U7QTFFbW9VRjs7QTBFL25VQTtFQUNFO0VBQ0EsdUJFak44QjtFRmtOOUI7RXBEcEdJLHNCQXRDYTtFb0Q0SWpCO0VBRUU7QTFFaW9VSjs7QTBFNW5VQTtFQUNFO0VBQ0E7RUFHRTtBMUU2blVKOztBOEU5MlVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQ0ZlO0VER2Y7QTlFaTNVRjtBOEUvMlVFO0VBQ0U7QTlFaTNVSjtBOEU5MlVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhN0NUcUI7QWpDeTNVekI7O0FtRHZ3VVE7RTJCcEdOO0VBQ0E7QTlFKzJVRjs7QW1EaHhVUTtFMkJoR047RUFDQTtFeEJqQkk7QXREczRVTjs7QWdGdDRVQTtFQUNFO0VBQ0E7RUFDQSxtQ25EZ0hpQjtFbUQvR2pCO0UxRHFISSxtQkF0Q2E7RTBENUVqQixnQjNER3FCO0UyREZyQixnQjNET2tCO0UyRE5sQjtFQUNBO0VBRUU7RUFDQTtFQUNBO0U1Q0ZBO0VZRkUsd0VnQ1dKO0FoRms0VUY7QWdEejRVTTtFZ0NkTjtJaENlUTtFaEQ0NFVOO0FBQ0Y7QWdGcDRVRTtFQUNFO0VBQ0E7QWhGczRVSjtBZ0ZsNFVFO0VBQ0U7RUFDQTtBaEZvNFVKO0FpRjc1VUU7RUFFSTtFQUNBO0VBQ0E7RUFFRjtFQU1FLGdEcERad0I7QTdCbzZVOUI7QWdGcDRVRTtFQUVJO0VBR0Y7QWhGbTRVSjtBZ0Z4NFVFO0VBRUk7RUFHRjtBaEZtNFVKO0FnRjMzVUU7RUFHSTtFQUdGO0FoRnkzVUo7O0FnRmozVUU7Ozs7RUFDRTtLQUFBO1VBQUE7QWhGdTNVSjs7QWdGbDNVRTtFQU9JO0VBQ0E7QWhGKzJVTjtBZ0YzMlVFO0VBR0k7QWhGMjJVTjs7QWdGcjJVQTs7RUFFRTtFQUNBO0FoRncyVUY7O0FnRjkxVUE7RUFDRTtFQUNBO0VBQ0E7RTFEM0NFO0UwRDZDRixnQjNEaEdrQjtBckJpOFVwQjs7QWdGOTFVQTtFQUNFO0VBQ0E7RTFES0kscUJBdENhO0UwRG1DakIsZ0IzQ3RIZ0I7QXJDdTlVbEI7O0FnRjkxVUE7RUFDRTtFQUNBO0UxREZJLHNCQXRDYTtFMEQwQ2pCLGdCM0M1SGdCO0FyQzY5VWxCOztBZ0Z4MVVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RTFEakJJLG1CQXRDYTtFMER5RGpCLGdCM0Q3SGtCO0UyRDhIbEI7RUFDQTtFQUNBO0VBRUU7QWhGMDFVSjtBZ0Z2MVVFO0VBRUU7RUFDQTtBaEZ3MVVKOztBZ0Y1MFVBO0VBQ0Usa0NuRGhEaUI7RW1EaURqQjtFMUQ1Q0ksc0JBdENhO0UwRG9GakIsZ0IzQ3RLZ0I7RURXZDtBcEMyK1VKOztBZ0Y1MFVBO0VBQ0UsZ0NuRHZEaUI7RW1Ed0RqQjtFMURwREkscUJBdENhO0UwRDRGakIsZ0IzQy9LZ0I7RURZZDtBcENtL1VKOztBZ0YxMFVFO0VBRUU7QWhGNDBVSjs7QWdGeDBVQTtFQUNFO0FoRjIwVUY7O0FnRm4wVUE7RUFDRSxtQm5EbEUwQjtBN0J3NFU1Qjs7QWdGbjBVQTtFQUNFO0VBQ0EsbUJuRGpGc0I7QTdCdTVVeEI7O0FnRjl6VUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEZpMFVGO0FnRi96VUU7O0VBRUU7RUFDQTtBaEZpMFVKOztBZ0Z4elVBO0VBQ0U7RUFDQTtBaEYyelVGO0F1Qm5pVlE7RXlEME9KLHFCbkQ3R3lCO0E3Qnk2VTdCO0F3QnRpVlE7RXdENk9KLHNCbkRoSHlCO0E3QjQ2VTdCOztBZ0Z4elVBO0VBQ0U7RUFDQSxrQm5EckgyQjtBN0JnN1U3QjtBdUI5aVZRO0V5RHFQSjtBaEY0elVKO0F3QmpqVlE7RXdEd1BKO0FoRjR6VUo7QWdGeHpVRTtFQUdJO0FoRnd6VU47O0FnRm56VUE7RUFDRTtBaEZzelVGOztBZ0ZuelVBO0VBQ0U7RUFDQTtBaEZzelVGO0F1QmhrVlE7RXlENFFKO0VBQ0EscUJuRDVJZ0M7QTdCbThVcEM7QXdCcGtWUTtFd0RnUko7RUFDQSxvQm5EaEpnQztBN0J1OFVwQztBZ0ZuelVFO0VBQ0U7RUFDQTtBaEZxelVKO0F1QjVrVlE7RXlEeVJGLHVCbkR2SjhCO0VtRHdKOUI7QWhGc3pVTjtBd0JobFZRO0V3RDZSRjtFQUNBLHNCbkQ1SjhCO0E3Qms5VXBDOztBaUZ6aVZFO0VBQ0U7RUFDQTtFQUNBLG1CcEQ2RW9CO0VQdkRwQjtFMkRwQkEsY0Q0UHFDO0FoRmd6VXpDOztBaUZ6aVZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNEaUVFLHNCQXRDYTtFMkR6QmYsZ0I1RDNDZ0I7RTRENENoQjtFQUNBO0U3Q2hEQTtBcEM2bFZKOztBaUZ4aVZJOzs7O0VBRUU7QWpGNmlWTjs7QWlGbmxWSTtFQTRDRSxxQkRpT21DO0VDeE5qQztFQUNBO0VBT0E7QWpGNmhWUjtBdUJ6blZRO0UwRCtFRSxvQ3BEa0NvQjtBN0IyZ1Y5QjtBd0I1blZRO0V5RGtGRSxtQ3BEK0JvQjtBN0I4Z1Y5QjtBdUIvblZRO0UwRHVGRTtBakYyaVZWO0F3QmxvVlE7RXlEMEZFO0FqRjJpVlY7QWlGdGlWTTtFQUNFLHFCRDRNaUM7RUMzTWpDO0FqRndpVlI7O0F1QnpvVlE7RTBEMkdFLG9DcERNb0I7RW9ETHBCO0FqRmtpVlY7QXdCOW9WUTtFeUQrR0UsbUNwREVvQjtFb0REcEI7QWpGa2lWVjs7QWlGbm5WSTtFQXlGRSxxQkRvTG1DO0VDM0tqQztBakZzaFZSO0F1QnZwVlE7RTBENEhFLHVDUnZGbUM7QXpFcW5WN0M7QXdCMXBWUTtFeUQrSEUsc0NSMUZtQztBekV3blY3QztBaUZ6aFZNO0VBQ0UscUJEdUtpQztFQ3RLakM7QWpGMmhWUjs7QWlGcGhWTTtFQUNFLGNEOEppQztBaEZ5M1V6QztBaUZwaFZNOzs7RUFFRTtBakZ1aFZSOztBaUZoaFZNO0VBQ0UsY0RpSmlDO0FoRms0VXpDO0FpRmpoVlE7RUFDRSxxQkQ4SStCO0FoRnE0VXpDO0FpRjlnVlE7RUFDRTtFdENsS04seUJzQ21LMkI7QWpGZ2hWL0I7QWlGM2dWUTtFQUNFO0FqRjZnVlY7QWlGMWdWUTtFQUNFLHFCQVZxQjtBakZzaFYvQjs7QWlGbmdWTTtFQUNFLHFCQXBCdUI7QWpGMGhWL0I7QWlGbGdWUTtFQUNFLHFCQXpCcUI7RUEwQnJCO0FqRm9nVlY7O0FpRnhwVkU7RUFDRTtFQUNBO0VBQ0EsbUJwRDZFb0I7RVB2RHBCO0UyRHBCQSxjRDRQcUM7QWhGKzVVekM7O0FpRnhwVkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0RpRUUsc0JBdENhO0UyRHpCZixnQjVEM0NnQjtFNEQ0Q2hCO0VBQ0E7RTdDaERBO0FwQzRzVko7O0FpRnZwVkk7Ozs7RUFFRTtBakY0cFZOOztBaUZsc1ZJO0VBNENFLHFCRGlPbUM7RUN4TmpDO0VBQ0E7RUFPQTtBakY0b1ZSO0F1Qnh1VlE7RTBEK0VFLG9DcERrQ29CO0E3QjBuVjlCO0F3QjN1VlE7RXlEa0ZFLG1DcEQrQm9CO0E3QjZuVjlCO0F1Qjl1VlE7RTBEdUZFO0FqRjBwVlY7QXdCanZWUTtFeUQwRkU7QWpGMHBWVjtBaUZycFZNO0VBQ0UscUJENE1pQztFQzNNakM7QWpGdXBWUjs7QXVCeHZWUTtFMEQyR0Usb0NwRE1vQjtFb0RMcEI7QWpGaXBWVjtBd0I3dlZRO0V5RCtHRSxtQ3BERW9CO0VvRERwQjtBakZpcFZWOztBaUZsdVZJO0VBeUZFLHFCRG9MbUM7RUMzS2pDO0FqRnFvVlI7QXVCdHdWUTtFMEQ0SEUsdUNSdkZtQztBekVvdVY3QztBd0J6d1ZRO0V5RCtIRSxzQ1IxRm1DO0F6RXV1VjdDO0FpRnhvVk07RUFDRSxxQkR1S2lDO0VDdEtqQztBakYwb1ZSOztBaUZub1ZNO0VBQ0UsY0Q4SmlDO0FoRncrVXpDO0FpRm5vVk07OztFQUVFO0FqRnNvVlI7O0FpRi9uVk07RUFDRSxjRGlKaUM7QWhGaS9VekM7QWlGaG9WUTtFQUNFLHFCRDhJK0I7QWhGby9VekM7QWlGN25WUTtFQUNFO0V0Q2xLTix5QnNDbUsyQjtBakYrblYvQjtBaUYxblZRO0VBQ0U7QWpGNG5WVjtBaUZ6blZRO0VBQ0UscUJBVnFCO0FqRnFvVi9COztBaUZsblZNO0VBQ0UscUJBcEJ1QjtBakZ5b1YvQjtBaUZqblZRO0VBQ0UscUJBekJxQjtFQTBCckI7QWpGbW5WVjs7QWdGMS9VQTtFQUNFO0VBQ0E7RUFDQTtBaEY2L1VGO0FnRngvVUU7RUFDRTtBaEYwL1VKO0ErRHR2Vkk7RWlCaVFBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWhGdy9VSjtFZ0ZwL1VFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEZzL1VKO0VnRmwvVUU7SUFDRTtJQUNBO0lBQ0E7RWhGby9VSjtFZ0ZoL1VFO0lBQ0U7RWhGay9VSjtFZ0YvK1VFOztJQUVFO0VoRmkvVUo7RWdGNStVRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VoRjgrVUo7RXVCMzFWTTtJeUQrV0E7RWhGKytVTjtFd0I5MVZNO0l3RGtYQTtFaEYrK1VOO0VnRjUrVUU7SUFDRTtJQUNBO0lBQ0E7RWhGOCtVSjtFdUJ0MlZNO0l5RDBYQSxxQm5EM1BxQjtJbUQ0UHJCO0VoRisrVU47RXdCMTJWTTtJd0Q4WEE7SUFDQSxvQm5EaFFxQjtFN0IrdVYzQjtFZ0YzK1VFO0lBQ0U7SUFDQTtFaEY2K1VKO0VnRjMrVUU7SUFDRTtFaEY2K1VKO0FBQ0Y7O0FnRnorVUE7RUFDRTtFQUNBLGlCbkQ5WXVCO0E3QjAzVnpCOztBZ0Z6K1VBO0U1Q3BZSTtBcENpM1ZKOztBZ0Z6K1VBO0U1Q3hZSTtBcENxM1ZKOztBa0ZqNFZFO0VDREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkZzNFZGO0ErRHQwVkk7RW1CbkVGO0lDV0ksZ0JDVWlCO0VwRnczVnJCO0FBQ0Y7QStEMzBWSTtFbUJuRUY7SUNXSSxnQkNVaUI7RXBGNjNWckI7QUFDRjtBK0RoMVZJO0VtQm5FRjtJQ1dJLGdCQ1VpQjtFcEZrNFZyQjtBQUNGO0ErRHIxVkk7RW1CbkVGO0lDV0ksaUJDVWlCO0VwRnU0VnJCO0FBQ0Y7QStEMTFWSTtFbUJuRUY7SUNXSSxpQkNVaUI7RXBGNDRWckI7QUFDRjs7QWtGNTVWRTtFQ1BBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GdTZWRjs7QStEdjJWSTtFbUJsREU7SUFDRSxnQkVHZTtFcEYwNVZyQjtBQUNGO0ErRDcyVkk7RW1CbERFO0lBQ0UsZ0JFR2U7RXBGKzVWckI7QUFDRjtBK0RsM1ZJO0VtQmxERTtJQUNFLGdCRUdlO0VwRm82VnJCO0FBQ0Y7QStEdjNWSTtFbUJsREU7SUFDRSxpQkVHZTtFcEZ5NlZyQjtBQUNGO0ErRDUzVkk7RW1CbERFO0lBQ0UsaUJFR2U7RXBGODZWckI7QUFDRjtBa0Z0NVZFO0VDN0JBO0VBQ0E7RUFDQTtFQUNBO0FuRnM3VkY7O0FrRnQ1VkU7RUFDRTtFQUNBO0FsRnk1Vko7QWtGdjVWSTs7RUFFRTtFQUNBO0FsRnk1Vk47O0FxRm45VkU7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckY0OVZKOztBcUZ0OFZNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJGeThWUjs7QW1GOTZWRTtFQUNFO0VBQ0E7QW5GaTdWSjs7QW1GbjdWRTtFQUNFO0VBQ0E7QW5GczdWSjs7QW1GeDdWRTtFQUNFO0VBQ0E7QW5GMjdWSjs7QW1GNzdWRTtFQUNFO0VBQ0E7QW5GZzhWSjs7QW1GbDhWRTtFQUNFO0VBQ0E7QW5GcThWSjs7QW1GdjhWRTtFQUNFO0VBQ0E7QW5GMDhWSjs7QXFGNTlWTTtFRkFKO0VBQ0E7RUFDQTtBbkZnK1ZGOztBcUY1OVZVO0VGZFI7RUFJQTtBbkYyK1ZGOztBcUZqK1ZVO0VGZFI7RUFJQTtBbkZnL1ZGOztBcUZ0K1ZVO0VGZFI7RUFJQTtBbkZxL1ZGOztBcUYzK1ZVO0VGZFI7RUFJQTtBbkYwL1ZGOztBcUZoL1ZVO0VGZFI7RUFJQTtBbkYrL1ZGOztBcUZyL1ZVO0VGZFI7RUFJQTtBbkZvZ1dGOztBcUYxL1ZVO0VGZFI7RUFJQTtBbkZ5Z1dGOztBcUYvL1ZVO0VGZFI7RUFJQTtBbkY4Z1dGOztBcUZwZ1dVO0VGZFI7RUFJQTtBbkZtaFdGOztBcUZ6Z1dVO0VGZFI7RUFJQTtBbkZ3aFdGOztBcUY5Z1dVO0VGZFI7RUFJQTtBbkY2aFdGOztBcUZuaFdVO0VGZFI7RUFJQTtBbkZraVdGOztBcUZsaFdNO0VBQXdCO0FyRnNoVzlCOztBcUZwaFdNO0VBQXVCO0FyRndoVzdCOztBcUZyaFdRO0VBQXdCLFFBRGI7QXJGMGhXbkI7O0FxRnpoV1E7RUFBd0IsUUFEYjtBckY4aFduQjs7QXFGN2hXUTtFQUF3QixRQURiO0FyRmtpV25COztBcUZqaVdRO0VBQXdCLFFBRGI7QXJGc2lXbkI7O0FxRnJpV1E7RUFBd0IsUUFEYjtBckYwaVduQjs7QXFGemlXUTtFQUF3QixRQURiO0FyRjhpV25COztBcUY3aVdRO0VBQXdCLFFBRGI7QXJGa2pXbkI7O0FxRmpqV1E7RUFBd0IsUUFEYjtBckZzalduQjs7QXFGcmpXUTtFQUF3QixRQURiO0FyRjBqV25COztBcUZ6aldRO0VBQXdCLFFBRGI7QXJGOGpXbkI7O0FxRjdqV1E7RUFBd0IsU0FEYjtBckZra1duQjs7QXFGamtXUTtFQUF3QixTQURiO0FyRnNrV25COztBcUZya1dRO0VBQXdCLFNBRGI7QXJGMGtXbkI7O0FxRmxrV1k7RUZqQlY7QW5GdWxXRjs7QXFGdGtXWTtFRmpCVjtBbkYybFdGOztBcUYxa1dZO0VGakJWO0FuRitsV0Y7O0FxRjlrV1k7RUZqQlY7QW5GbW1XRjs7QXFGbGxXWTtFRmpCVjtBbkZ1bVdGOztBcUZ0bFdZO0VGakJWO0FuRjJtV0Y7O0FxRjFsV1k7RUZqQlY7QW5GK21XRjs7QXFGOWxXWTtFRmpCVjtBbkZtbldGOztBcUZsbVdZO0VGakJWO0FuRnVuV0Y7O0FxRnRtV1k7RUZqQlY7QW5GMm5XRjs7QXFGMW1XWTtFRmpCVjtBbkYrbldGOztBK0Q3bVdJO0VzQnhDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VyRnlwV047O0VtRjluV0E7SUFDRTtJQUNBO0VuRmlvV0Y7O0VtRm5vV0E7SUFDRTtJQUNBO0VuRnNvV0Y7O0VtRnhvV0E7SUFDRTtJQUNBO0VuRjJvV0Y7O0VtRjdvV0E7SUFDRTtJQUNBO0VuRmdwV0Y7O0VtRmxwV0E7SUFDRTtJQUNBO0VuRnFwV0Y7O0VtRnZwV0E7SUFDRTtJQUNBO0VuRjBwV0Y7O0VxRjVxV0k7SUZBSjtJQUNBO0lBQ0E7RW5GZ3JXQTs7RXFGNXFXUTtJRmRSO0lBSUE7RW5GMnJXQTs7RXFGanJXUTtJRmRSO0lBSUE7RW5GZ3NXQTs7RXFGdHJXUTtJRmRSO0lBSUE7RW5GcXNXQTs7RXFGM3JXUTtJRmRSO0lBSUE7RW5GMHNXQTs7RXFGaHNXUTtJRmRSO0lBSUE7RW5GK3NXQTs7RXFGcnNXUTtJRmRSO0lBSUE7RW5Gb3RXQTs7RXFGMXNXUTtJRmRSO0lBSUE7RW5GeXRXQTs7RXFGL3NXUTtJRmRSO0lBSUE7RW5GOHRXQTs7RXFGcHRXUTtJRmRSO0lBSUE7RW5GbXVXQTs7RXFGenRXUTtJRmRSO0lBSUE7RW5Gd3VXQTs7RXFGOXRXUTtJRmRSO0lBSUE7RW5GNnVXQTs7RXFGbnVXUTtJRmRSO0lBSUE7RW5Ga3ZXQTs7RXFGbHVXSTtJQUF3QjtFckZzdVc1Qjs7RXFGcHVXSTtJQUF1QjtFckZ3dVczQjs7RXFGcnVXTTtJQUF3QixRQURiO0VyRjB1V2pCOztFcUZ6dVdNO0lBQXdCLFFBRGI7RXJGOHVXakI7O0VxRjd1V007SUFBd0IsUUFEYjtFckZrdldqQjs7RXFGanZXTTtJQUF3QixRQURiO0VyRnN2V2pCOztFcUZydldNO0lBQXdCLFFBRGI7RXJGMHZXakI7O0VxRnp2V007SUFBd0IsUUFEYjtFckY4dldqQjs7RXFGN3ZXTTtJQUF3QixRQURiO0VyRmt3V2pCOztFcUZqd1dNO0lBQXdCLFFBRGI7RXJGc3dXakI7O0VxRnJ3V007SUFBd0IsUUFEYjtFckYwd1dqQjs7RXFGendXTTtJQUF3QixRQURiO0VyRjh3V2pCOztFcUY3d1dNO0lBQXdCLFNBRGI7RXJGa3hXakI7O0VxRmp4V007SUFBd0IsU0FEYjtFckZzeFdqQjs7RXFGcnhXTTtJQUF3QixTQURiO0VyRjB4V2pCOztFcUZseFdVO0lGakJWO0VuRnV5V0E7O0VxRnR4V1U7SUZqQlY7RW5GMnlXQTs7RXFGMXhXVTtJRmpCVjtFbkYreVdBOztFcUY5eFdVO0lGakJWO0VuRm16V0E7O0VxRmx5V1U7SUZqQlY7RW5GdXpXQTs7RXFGdHlXVTtJRmpCVjtFbkYyeldBOztFcUYxeVdVO0lGakJWO0VuRit6V0E7O0VxRjl5V1U7SUZqQlY7RW5GbTBXQTs7RXFGbHpXVTtJRmpCVjtFbkZ1MFdBOztFcUZ0eldVO0lGakJWO0VuRjIwV0E7O0VxRjF6V1U7SUZqQlY7RW5GKzBXQTs7RXFGOXpXVTtJRmpCVjtFbkZtMVdBO0FBQ0Y7QStEbDBXSTtFc0J4Q0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFckY2MldOOztFbUZsMVdBO0lBQ0U7SUFDQTtFbkZxMVdGOztFbUZ2MVdBO0lBQ0U7SUFDQTtFbkYwMVdGOztFbUY1MVdBO0lBQ0U7SUFDQTtFbkYrMVdGOztFbUZqMldBO0lBQ0U7SUFDQTtFbkZvMldGOztFbUZ0MldBO0lBQ0U7SUFDQTtFbkZ5MldGOztFbUYzMldBO0lBQ0U7SUFDQTtFbkY4MldGOztFcUZoNFdJO0lGQUo7SUFDQTtJQUNBO0VuRm80V0E7O0VxRmg0V1E7SUZkUjtJQUlBO0VuRis0V0E7O0VxRnI0V1E7SUZkUjtJQUlBO0VuRm81V0E7O0VxRjE0V1E7SUZkUjtJQUlBO0VuRnk1V0E7O0VxRi80V1E7SUZkUjtJQUlBO0VuRjg1V0E7O0VxRnA1V1E7SUZkUjtJQUlBO0VuRm02V0E7O0VxRno1V1E7SUZkUjtJQUlBO0VuRnc2V0E7O0VxRjk1V1E7SUZkUjtJQUlBO0VuRjY2V0E7O0VxRm42V1E7SUZkUjtJQUlBO0VuRms3V0E7O0VxRng2V1E7SUZkUjtJQUlBO0VuRnU3V0E7O0VxRjc2V1E7SUZkUjtJQUlBO0VuRjQ3V0E7O0VxRmw3V1E7SUZkUjtJQUlBO0VuRmk4V0E7O0VxRnY3V1E7SUZkUjtJQUlBO0VuRnM4V0E7O0VxRnQ3V0k7SUFBd0I7RXJGMDdXNUI7O0VxRng3V0k7SUFBdUI7RXJGNDdXM0I7O0VxRno3V007SUFBd0IsUUFEYjtFckY4N1dqQjs7RXFGNzdXTTtJQUF3QixRQURiO0VyRms4V2pCOztFcUZqOFdNO0lBQXdCLFFBRGI7RXJGczhXakI7O0VxRnI4V007SUFBd0IsUUFEYjtFckYwOFdqQjs7RXFGejhXTTtJQUF3QixRQURiO0VyRjg4V2pCOztFcUY3OFdNO0lBQXdCLFFBRGI7RXJGazlXakI7O0VxRmo5V007SUFBd0IsUUFEYjtFckZzOVdqQjs7RXFGcjlXTTtJQUF3QixRQURiO0VyRjA5V2pCOztFcUZ6OVdNO0lBQXdCLFFBRGI7RXJGODlXakI7O0VxRjc5V007SUFBd0IsUUFEYjtFckZrK1dqQjs7RXFGaitXTTtJQUF3QixTQURiO0VyRnMrV2pCOztFcUZyK1dNO0lBQXdCLFNBRGI7RXJGMCtXakI7O0VxRnorV007SUFBd0IsU0FEYjtFckY4K1dqQjs7RXFGdCtXVTtJRmpCVjtFbkYyL1dBOztFcUYxK1dVO0lGakJWO0VuRisvV0E7O0VxRjkrV1U7SUZqQlY7RW5GbWdYQTs7RXFGbC9XVTtJRmpCVjtFbkZ1Z1hBOztFcUZ0L1dVO0lGakJWO0VuRjJnWEE7O0VxRjEvV1U7SUZqQlY7RW5GK2dYQTs7RXFGOS9XVTtJRmpCVjtFbkZtaFhBOztFcUZsZ1hVO0lGakJWO0VuRnVoWEE7O0VxRnRnWFU7SUZqQlY7RW5GMmhYQTs7RXFGMWdYVTtJRmpCVjtFbkYraFhBOztFcUY5Z1hVO0lGakJWO0VuRm1pWEE7O0VxRmxoWFU7SUZqQlY7RW5GdWlYQTtBQUNGO0ErRHRoWEk7RXNCeENFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXJGaWtYTjs7RW1GdGlYQTtJQUNFO0lBQ0E7RW5GeWlYRjs7RW1GM2lYQTtJQUNFO0lBQ0E7RW5GOGlYRjs7RW1GaGpYQTtJQUNFO0lBQ0E7RW5GbWpYRjs7RW1GcmpYQTtJQUNFO0lBQ0E7RW5Gd2pYRjs7RW1GMWpYQTtJQUNFO0lBQ0E7RW5GNmpYRjs7RW1GL2pYQTtJQUNFO0lBQ0E7RW5Ga2tYRjs7RXFGcGxYSTtJRkFKO0lBQ0E7SUFDQTtFbkZ3bFhBOztFcUZwbFhRO0lGZFI7SUFJQTtFbkZtbVhBOztFcUZ6bFhRO0lGZFI7SUFJQTtFbkZ3bVhBOztFcUY5bFhRO0lGZFI7SUFJQTtFbkY2bVhBOztFcUZubVhRO0lGZFI7SUFJQTtFbkZrblhBOztFcUZ4bVhRO0lGZFI7SUFJQTtFbkZ1blhBOztFcUY3bVhRO0lGZFI7SUFJQTtFbkY0blhBOztFcUZsblhRO0lGZFI7SUFJQTtFbkZpb1hBOztFcUZ2blhRO0lGZFI7SUFJQTtFbkZzb1hBOztFcUY1blhRO0lGZFI7SUFJQTtFbkYyb1hBOztFcUZqb1hRO0lGZFI7SUFJQTtFbkZncFhBOztFcUZ0b1hRO0lGZFI7SUFJQTtFbkZxcFhBOztFcUYzb1hRO0lGZFI7SUFJQTtFbkYwcFhBOztFcUYxb1hJO0lBQXdCO0VyRjhvWDVCOztFcUY1b1hJO0lBQXVCO0VyRmdwWDNCOztFcUY3b1hNO0lBQXdCLFFBRGI7RXJGa3BYakI7O0VxRmpwWE07SUFBd0IsUUFEYjtFckZzcFhqQjs7RXFGcnBYTTtJQUF3QixRQURiO0VyRjBwWGpCOztFcUZ6cFhNO0lBQXdCLFFBRGI7RXJGOHBYakI7O0VxRjdwWE07SUFBd0IsUUFEYjtFckZrcVhqQjs7RXFGanFYTTtJQUF3QixRQURiO0VyRnNxWGpCOztFcUZycVhNO0lBQXdCLFFBRGI7RXJGMHFYakI7O0VxRnpxWE07SUFBd0IsUUFEYjtFckY4cVhqQjs7RXFGN3FYTTtJQUF3QixRQURiO0VyRmtyWGpCOztFcUZqclhNO0lBQXdCLFFBRGI7RXJGc3JYakI7O0VxRnJyWE07SUFBd0IsU0FEYjtFckYwclhqQjs7RXFGenJYTTtJQUF3QixTQURiO0VyRjhyWGpCOztFcUY3clhNO0lBQXdCLFNBRGI7RXJGa3NYakI7O0VxRjFyWFU7SUZqQlY7RW5GK3NYQTs7RXFGOXJYVTtJRmpCVjtFbkZtdFhBOztFcUZsc1hVO0lGakJWO0VuRnV0WEE7O0VxRnRzWFU7SUZqQlY7RW5GMnRYQTs7RXFGMXNYVTtJRmpCVjtFbkYrdFhBOztFcUY5c1hVO0lGakJWO0VuRm11WEE7O0VxRmx0WFU7SUZqQlY7RW5GdXVYQTs7RXFGdHRYVTtJRmpCVjtFbkYydVhBOztFcUYxdFhVO0lGakJWO0VuRit1WEE7O0VxRjl0WFU7SUZqQlY7RW5GbXZYQTs7RXFGbHVYVTtJRmpCVjtFbkZ1dlhBOztFcUZ0dVhVO0lGakJWO0VuRjJ2WEE7QUFDRjtBK0QxdVhJO0VzQnhDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VyRnF4WE47O0VtRjF2WEE7SUFDRTtJQUNBO0VuRjZ2WEY7O0VtRi92WEE7SUFDRTtJQUNBO0VuRmt3WEY7O0VtRnB3WEE7SUFDRTtJQUNBO0VuRnV3WEY7O0VtRnp3WEE7SUFDRTtJQUNBO0VuRjR3WEY7O0VtRjl3WEE7SUFDRTtJQUNBO0VuRml4WEY7O0VtRm54WEE7SUFDRTtJQUNBO0VuRnN4WEY7O0VxRnh5WEk7SUZBSjtJQUNBO0lBQ0E7RW5GNHlYQTs7RXFGeHlYUTtJRmRSO0lBSUE7RW5GdXpYQTs7RXFGN3lYUTtJRmRSO0lBSUE7RW5GNHpYQTs7RXFGbHpYUTtJRmRSO0lBSUE7RW5GaTBYQTs7RXFGdnpYUTtJRmRSO0lBSUE7RW5GczBYQTs7RXFGNXpYUTtJRmRSO0lBSUE7RW5GMjBYQTs7RXFGajBYUTtJRmRSO0lBSUE7RW5GZzFYQTs7RXFGdDBYUTtJRmRSO0lBSUE7RW5GcTFYQTs7RXFGMzBYUTtJRmRSO0lBSUE7RW5GMDFYQTs7RXFGaDFYUTtJRmRSO0lBSUE7RW5GKzFYQTs7RXFGcjFYUTtJRmRSO0lBSUE7RW5GbzJYQTs7RXFGMTFYUTtJRmRSO0lBSUE7RW5GeTJYQTs7RXFGLzFYUTtJRmRSO0lBSUE7RW5GODJYQTs7RXFGOTFYSTtJQUF3QjtFckZrMlg1Qjs7RXFGaDJYSTtJQUF1QjtFckZvMlgzQjs7RXFGajJYTTtJQUF3QixRQURiO0VyRnMyWGpCOztFcUZyMlhNO0lBQXdCLFFBRGI7RXJGMDJYakI7O0VxRnoyWE07SUFBd0IsUUFEYjtFckY4MlhqQjs7RXFGNzJYTTtJQUF3QixRQURiO0VyRmszWGpCOztFcUZqM1hNO0lBQXdCLFFBRGI7RXJGczNYakI7O0VxRnIzWE07SUFBd0IsUUFEYjtFckYwM1hqQjs7RXFGejNYTTtJQUF3QixRQURiO0VyRjgzWGpCOztFcUY3M1hNO0lBQXdCLFFBRGI7RXJGazRYakI7O0VxRmo0WE07SUFBd0IsUUFEYjtFckZzNFhqQjs7RXFGcjRYTTtJQUF3QixRQURiO0VyRjA0WGpCOztFcUZ6NFhNO0lBQXdCLFNBRGI7RXJGODRYakI7O0VxRjc0WE07SUFBd0IsU0FEYjtFckZrNVhqQjs7RXFGajVYTTtJQUF3QixTQURiO0VyRnM1WGpCOztFcUY5NFhVO0lGakJWO0VuRm02WEE7O0VxRmw1WFU7SUZqQlY7RW5GdTZYQTs7RXFGdDVYVTtJRmpCVjtFbkYyNlhBOztFcUYxNVhVO0lGakJWO0VuRis2WEE7O0VxRjk1WFU7SUZqQlY7RW5GbTdYQTs7RXFGbDZYVTtJRmpCVjtFbkZ1N1hBOztFcUZ0NlhVO0lGakJWO0VuRjI3WEE7O0VxRjE2WFU7SUZqQlY7RW5GKzdYQTs7RXFGOTZYVTtJRmpCVjtFbkZtOFhBOztFcUZsN1hVO0lGakJWO0VuRnU4WEE7O0VxRnQ3WFU7SUZqQlY7RW5GMjhYQTs7RXFGMTdYVTtJRmpCVjtFbkYrOFhBO0FBQ0Y7QStEOTdYSTtFc0J4Q0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFckZ5K1hOOztFbUY5OFhBO0lBQ0U7SUFDQTtFbkZpOVhGOztFbUZuOVhBO0lBQ0U7SUFDQTtFbkZzOVhGOztFbUZ4OVhBO0lBQ0U7SUFDQTtFbkYyOVhGOztFbUY3OVhBO0lBQ0U7SUFDQTtFbkZnK1hGOztFbUZsK1hBO0lBQ0U7SUFDQTtFbkZxK1hGOztFbUZ2K1hBO0lBQ0U7SUFDQTtFbkYwK1hGOztFcUY1L1hJO0lGQUo7SUFDQTtJQUNBO0VuRmdnWUE7O0VxRjUvWFE7SUZkUjtJQUlBO0VuRjJnWUE7O0VxRmpnWVE7SUZkUjtJQUlBO0VuRmdoWUE7O0VxRnRnWVE7SUZkUjtJQUlBO0VuRnFoWUE7O0VxRjNnWVE7SUZkUjtJQUlBO0VuRjBoWUE7O0VxRmhoWVE7SUZkUjtJQUlBO0VuRitoWUE7O0VxRnJoWVE7SUZkUjtJQUlBO0VuRm9pWUE7O0VxRjFoWVE7SUZkUjtJQUlBO0VuRnlpWUE7O0VxRi9oWVE7SUZkUjtJQUlBO0VuRjhpWUE7O0VxRnBpWVE7SUZkUjtJQUlBO0VuRm1qWUE7O0VxRnppWVE7SUZkUjtJQUlBO0VuRndqWUE7O0VxRjlpWVE7SUZkUjtJQUlBO0VuRjZqWUE7O0VxRm5qWVE7SUZkUjtJQUlBO0VuRmtrWUE7O0VxRmxqWUk7SUFBd0I7RXJGc2pZNUI7O0VxRnBqWUk7SUFBdUI7RXJGd2pZM0I7O0VxRnJqWU07SUFBd0IsUUFEYjtFckYwallqQjs7RXFGempZTTtJQUF3QixRQURiO0VyRjhqWWpCOztFcUY3allNO0lBQXdCLFFBRGI7RXJGa2tZakI7O0VxRmprWU07SUFBd0IsUUFEYjtFckZza1lqQjs7RXFGcmtZTTtJQUF3QixRQURiO0VyRjBrWWpCOztFcUZ6a1lNO0lBQXdCLFFBRGI7RXJGOGtZakI7O0VxRjdrWU07SUFBd0IsUUFEYjtFckZrbFlqQjs7RXFGamxZTTtJQUF3QixRQURiO0VyRnNsWWpCOztFcUZybFlNO0lBQXdCLFFBRGI7RXJGMGxZakI7O0VxRnpsWU07SUFBd0IsUUFEYjtFckY4bFlqQjs7RXFGN2xZTTtJQUF3QixTQURiO0VyRmttWWpCOztFcUZqbVlNO0lBQXdCLFNBRGI7RXJGc21ZakI7O0VxRnJtWU07SUFBd0IsU0FEYjtFckYwbVlqQjs7RXFGbG1ZVTtJRmpCVjtFbkZ1bllBOztFcUZ0bVlVO0lGakJWO0VuRjJuWUE7O0VxRjFtWVU7SUZqQlY7RW5GK25ZQTs7RXFGOW1ZVTtJRmpCVjtFbkZtb1lBOztFcUZsbllVO0lGakJWO0VuRnVvWUE7O0VxRnRuWVU7SUZqQlY7RW5GMm9ZQTs7RXFGMW5ZVTtJRmpCVjtFbkYrb1lBOztFcUY5bllVO0lGakJWO0VuRm1wWUE7O0VxRmxvWVU7SUZqQlY7RW5GdXBZQTs7RXFGdG9ZVTtJRmpCVjtFbkYycFlBOztFcUYxb1lVO0lGakJWO0VuRitwWUE7O0VxRjlvWVU7SUZqQlY7RW5GbXFZQTtBQUNGO0FrRjdvWUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEYrb1lGO0FrRjdvWUU7RUFDRTtFQUNBO0FsRitvWUo7O0FrRjNvWUE7RUFDRTtBbEY4b1lGOztBc0Z6dVlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCQ0g4QjtBdkYrdVloQztBc0YxdVlFO0VBQ0U7QXRGNHVZSjtBc0Z6dVlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRGMnVZSjtBc0Z4dVlFO0VBQ0U7QXRGMHVZSjs7QXNGdHVZQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFdDeEI4QjtFRHlCOUIsZ0JDMUI4QjtFRDJCOUI7QXRGeXVZRjtBc0Z2dVlFO0VBQ0U7RUFDQSxTQy9CNEI7RURnQzVCO0F0Rnl1WUo7QXVCeHdZUTtFK0RrQ0Y7QXRGeXVZTjtBd0Izd1lRO0U4RHFDRjtBdEZ5dVlOO0ErRDVyWUk7RXVCdkNFO0lBQ0U7SUFDQSxTQzlDd0I7SUQrQ3hCO0V0RnN1WU47RXVCcHhZTTtJK0RnREU7RXRGdXVZUjtFd0J2eFlNO0k4RG1ERTtFdEZ1dVlSO0FBQ0Y7QXNGbnVZTTtFQUNFO0VBQ0EsU0MzRHdCO0VENER4QjtBdEZxdVlSO0F1Qmh5WVE7RStENkRFO0F0RnN1WVY7QXdCbnlZUTtFOERnRUU7QXRGc3VZVjtBK0RwdFlJO0V1QnZDRTtJQUNFO0lBQ0EsU0M5Q3dCO0lEK0N4QjtFdEY4dllOO0V1QjV5WU07SStEZ0RFO0V0Rit2WVI7RXdCL3lZTTtJOERtREU7RXRGK3ZZUjtBQUNGO0ErRDl1WUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGOHZZTjtFdUJ6ellNO0krRDZERTtFdEYrdllSO0V3QjV6WU07SThEZ0VFO0V0Rit2WVI7QUFDRjtBK0Q5dVlJO0V1QnZDRTtJQUNFO0lBQ0EsU0M5Q3dCO0lEK0N4QjtFdEZ3eFlOO0V1QnQwWU07SStEZ0RFO0V0Rnl4WVI7RXdCejBZTTtJOERtREU7RXRGeXhZUjtBQUNGO0ErRHh3WUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGd3hZTjtFdUJuMVlNO0krRDZERTtFdEZ5eFlSO0V3QnQxWU07SThEZ0VFO0V0Rnl4WVI7QUFDRjtBK0R4d1lJO0V1QnZDRTtJQUNFO0lBQ0EsU0M5Q3dCO0lEK0N4QjtFdEZrellOO0V1QmgyWU07SStEZ0RFO0V0Rm16WVI7RXdCbjJZTTtJOERtREU7RXRGbXpZUjtBQUNGO0ErRGx5WUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGa3pZTjtFdUI3MllNO0krRDZERTtFdEZtellSO0V3QmgzWU07SThEZ0VFO0V0Rm16WVI7QUFDRjtBK0RseVlJO0V1QnZDRTtJQUNFO0lBQ0EsU0M5Q3dCO0lEK0N4QjtFdEY0MFlOO0V1QjEzWU07SStEZ0RFO0V0RjYwWVI7RXdCNzNZTTtJOERtREU7RXRGNjBZUjtBQUNGO0ErRDV6WUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGNDBZTjtFdUJ2NFlNO0krRDZERTtFdEY2MFlSO0V3QjE0WU07SThEZ0VFO0V0RjYwWVI7QUFDRjtBc0ZuMllNO0VBQ0U7RUFDQSxTQzlDd0I7RUQrQ3hCO0F0RnEyWVI7QXVCbjVZUTtFK0RnREU7QXRGczJZVjtBd0J0NVlRO0U4RG1ERTtBdEZzMllWO0ErRHAxWUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGbzJZTjtFdUIvNVlNO0krRDZERTtFdEZxMllSO0V3Qmw2WU07SThEZ0VFO0V0RnEyWVI7QUFDRjs7QXNGLzFZQTtFQUNFO0VBQ0EscUJqRWxFZ0I7RWlFbUVoQiw2QkN6RDhCO0VEMEQ5QjtFbEQ3REU7QXBDZzZZSjtBMEJ0NllFO0VBQ0U7STREdUVBLGMxRDdFUztJMEQ4RVQ7RXRGazJZRjtBQUNGO0FzRmgyWUU7RUFFRTtBdEZpMllKO0FzRjcxWUU7RUFDRTtBdEYrMVlKOztBc0YzMVlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY4MVlGOztBc0YzMVlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZ0JDNUc4QjtFRDZHOUI7RUFDQTtFQUNBO0F0RjgxWUY7QXNGNTFZRTtFQUNFO0F0RjgxWUo7QXNGMzFZRTtFQUNFO0VBQ0E7QXRGNjFZSjtBMEIzOFlFO0VBQ0U7STREZ0hFO0V0RjgxWUo7QUFDRjtBc0Y1MVlJO0VBRUU7QXRGNjFZTjtBc0Z6MVlFOztFQUVFO0VBQ0E7RUFDQSxxQkNoSXlCO0VEaUl6QixvQkNqSXlCO0F2RjQ5WTdCO0FzRnoxWUk7O0VBQ0U7RUFDQTtFQUNBO0F0RjQxWU47QXVCeCtZUTs7RStEOElBO0VBQ0E7QXRGODFZUjtBd0I3K1lROztFOERrSkE7RUFDQTtBdEYrMVlSO0FzRjMxWUk7O0VBQ0U7QXRGODFZTjtBc0YxMVlFO0VBQ0U7QXRGNDFZSjs7QW1EbjRZUTtFbUNnRE47RWhDM0pJO0F0RG0vWU47QXNGcjFZRTtFQUNFO0VBQ0E7QXRGdTFZSjtBc0ZwMVlFO0VBQ0U7RUFDQTtBdEZzMVlKO0EwQngvWUU7RTREc0tJO0F0RnExWU47QXNGaDFZSTs7RUFFRTtBdEZrMVlOO0EwQi8vWUU7OztFNERnTE07QXRGbzFZUjtBc0ZqMVlNOztFQUNFO0F0Rm8xWVI7QXNGaDFZSTs7OztFQUlFO0F0RmsxWU47QXNGOTBZRTtFQUNFO0VBQ0E7QXRGZzFZSjtBc0Y3MFlFO0VBQ0U7QXRGKzBZSjtBc0Y3MFlJO0VBQ0U7QXRGKzBZTjtBc0YzMFlFO0VBQ0U7QXRGNjBZSjtBc0Y1MFlJO0VBQ0U7QXRGODBZTjtBMEI5aFpFO0U0RG1OTTtBdEY4MFlSOztBbUQ3N1lRO0VtQ29ETjtFaEMzSkk7QXREeWlaTjtBc0YzNFlFO0VBQ0U7RUFDQTtBdEY2NFlKO0FzRjE0WUU7RUFDRTtFQUNBO0F0RjQ0WUo7QTBCOWlaRTtFNERzS0k7QXRGMjRZTjtBc0Z0NFlJOztFQUVFO0F0Rnc0WU47QTBCcmpaRTs7O0U0RGdMTTtBdEYwNFlSO0FzRnY0WU07O0VBQ0U7QXRGMDRZUjtBc0Z0NFlJOzs7O0VBSUU7QXRGdzRZTjtBc0ZwNFlFO0VBQ0U7RUFDQTtBdEZzNFlKO0FzRm40WUU7RUFDRTtBdEZxNFlKO0FzRm40WUk7RUFDRTtBdEZxNFlOO0FzRmo0WUU7RUFDRTtBdEZtNFlKO0FzRmw0WUk7RUFDRTtBdEZvNFlOO0EwQnBsWkU7RTREbU5NO0F0Rm80WVI7O0F3RnptWkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEY0bVpGO0F3RjNtWkU7RUNIQSxXcEVxRmdCO0VvRXBGaEIsWXBFb0ZnQjtFb0VuRmhCLGVwRW1GZ0I7QXJCOGhabEI7QXdGM21aTTtFQ1JKLFdEU3lCO0VDUnpCLFlEUXlCO0VDUHpCLGVET3lCO0F4RittWjNCO0F3RmhuWk07RUNSSixXRFN5QjtFQ1J6QixZRFF5QjtFQ1B6QixlRE95QjtBeEZvblozQjtBd0ZyblpNO0VDUkosV0RTeUI7RUNSekIsWURReUI7RUNQekIsZURPeUI7QXhGeW5aM0I7QXdGMW5aTTtFQ1JKLFdEU3lCO0VDUnpCLFlEUXlCO0VDUHpCLGVET3lCO0F4RjhuWjNCO0F3Ri9uWk07RUNSSixXRFN5QjtFQ1J6QixZRFF5QjtFQ1B6QixlRE95QjtBeEZtb1ozQjtBd0Zwb1pNO0VDUkosV0RTeUI7RUNSekIsWURReUI7RUNQekIsZURPeUI7QXhGd29aM0I7QXdGem9aTTtFQ1JKLFdEU3lCO0VDUnpCLFlEUXlCO0VDUHpCLGVET3lCO0F4RjZvWjNCO0F3RjlvWk07RUNSSixXRFN5QjtFQ1J6QixZRFF5QjtFQ1B6QixlRE95QjtBeEZrcFozQjtBd0Y5b1pJO0VDYkYsYXBFd0ZnQjtFb0V2RmhCLGNwRXVGZ0I7RW9FdEZoQixpQnBFc0ZnQjtBckJ3a1psQjtBd0Yvb1pJO0VDakJGLGNwRXVGZ0I7RW9FdEZoQixlcEVzRmdCO0VvRXJGaEIsa0JwRXFGZ0I7QXJCOGtabEI7QXdGaHBaSTtFQ3JCRixlcEVzRmdCO0VvRXJGaEIsZ0JwRXFGZ0I7RW9FcEZoQixtQnBFb0ZnQjtBckJvbFpsQjs7QTBGdHFaQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFGeXFaRjtBMEZ2cVpFOzs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUZ5cVpKO0F1QjFyWlE7Ozs7Ozs7Ozs7OztFbUV1QkE7QTFGaXJaUjtBd0J4c1pROzs7Ozs7Ozs7Ozs7RWtFMEJBO0ExRjRyWlI7QTBGdHJaRTs7O0VBR0U7QTFGd3JaSjtBMEZwclpFO0VBQ0U7QTFGc3JaSjtBdUI5dFpROztFYThCSjtFQUNBO0FwQ29zWko7QXdCbnVaUTs7RVk0Q0o7RUFDQTtBcEMyclpKO0F1Qnh1WlE7O0VhNENKO0VBQ0E7QXBDZ3NaSjtBd0I3dVpROztFWThCSjtFQUNBO0FwQ210Wko7QTBGanJaRTtFQUNFO0VBQ0E7QTFGbXJaSjtBdUJ0dlpRO0VhOEJKO0VBQ0E7QXBDMnRaSjtBd0IxdlpRO0VZNENKO0VBQ0E7QXBDaXRaSjtBdUI5dlpRO0VhNENKO0VBQ0E7QXBDcXRaSjtBd0Jsd1pRO0VZOEJKO0VBQ0E7QXBDdXVaSjs7QTBGdHFaQTs7RUFFRTtBMUZ5cVpGO0EwRnBxWkU7O0VBQ0U7RUFDQTtBMUZ1cVpKO0EwRnJxWkk7O0VBQ0U7QTFGd3FaTjtBdUJweFpROzs7Ozs7OztFbUVxSEY7QTFGeXFaTjtBd0I5eFpROzs7Ozs7OztFa0V3SEY7QTFGZ3JaTjs7QTBGM3FaQTtFQU9FO0VBQ0E7QTFGd3FaRjtBdUI3eVpRO0VtRStISjtBMUZpclpKO0F3Qmh6WlE7RWtFa0lKO0ExRmlyWko7O0EwRjVxWkE7RUFPRTtFQUNBO0ExRnlxWkY7QXVCeHpaUTtFbUV5SUo7QTFGa3JaSjtBd0IzelpRO0VrRTRJSjtBMUZrclpKOztBMEZ0cVpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RXBFakNJLG1CQXRDYTtFb0V5RWpCLGdCckVsSnFCO0VxRW1KckIsZ0JyRTlJa0I7RXFFK0lsQjtFQUNBO0VBQ0E7RXREcEpFO0VzRHdKQTtFQUNBO0VBQ0E7QTFGdXFaSjtBMEZucVpFOztFQUVFO0ExRnFxWko7O0EwRjNwWkE7O0VBRUUsZ0M3RG5FaUI7QTdCaXVabkI7O0EwRjNwWkE7Ozs7OztFQU1FO0VwRXhFSSxxQkF0Q2E7RW9FZ0hqQixnQnJEbk1nQjtFRFlkO0FwQ3MxWko7O0EwRjNwWkE7O0VBRUUsa0M3RHJGaUI7QTdCbXZabkI7O0EwRjNwWkE7Ozs7OztFQU1FO0VwRXpGSSxzQkF0Q2E7RW9FaUlqQixnQnJEbk5nQjtFRFdkO0FwQ3UyWko7O0F1QnIzWlE7O0VtRTZOSjtBMUY2cFpKO0F3QjEzWlE7O0VrRWdPSjtBMUY4cFpKOztBdUI5M1pROzs7Ozs7RWE4Qko7RUFDQTtBcEN5MlpKO0F3Qng0WlE7Ozs7OztFWTRDSjtFQUNBO0FwQ28yWko7O0F1Qmo1WlE7Ozs7OztFYTRDSjtFQUNBO0FwQzgyWko7QXdCMzVaUTs7Ozs7O0VZOEJKO0VBQ0E7QXBDcTRaSjs7QTJGajZaQTtFQ0lFO0VBR0E7QTVGKzVaRjs7QTJGaDZaQTtFQUNFLGdCRVh5QjtFRll6Qix5Qi9EUFc7RStEUVg7RXZERUU7RXdEUEY7RUFHQTtBNUZ3NlpGOztBMkYxNVpBO0VBRUU7QTNGNDVaRjs7QTJGejVaQTtFQUNFO0VBQ0E7QTNGNDVaRjs7QTJGejVaQTtFckVrQ0k7RXFFaENGLGMvRDNCVztBNUJ1N1piOztBOEZwOFpBO0VBQ0U7RUFDQSxtQkNFbUI7RTNEY2pCO0UwRFhBO0E5Rm84Wko7QStEbDRaSTtFK0J6RUo7SUFZSTtFOUZtOFpGO0FBQ0Y7O0E4Rmg4WkE7RUFDRTtFQUNBO0UxREFFO0FwQ284Wko7O0FnR2w5WkE7RUFDRTtFQUNBO0VBU0E7RTVER0U7QXBDMjhaSjtBdUJ6OVpRO0V5RU1KO0FoR3M5Wko7QXdCNTlaUTtFd0VTSjtBaEdzOVpKOztBZ0cxOFpBO0VBQ0U7RUFDQTtFQUVFO0FoRzQ4Wko7QTBCdjlaRTtFc0VnQkU7RUFDQTtFQUVFO0VBQ0E7QWhHeThaTjtBZ0dyOFpFO0VBRUk7RUFDQTtBaEdzOFpOOztBZ0c1N1pBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFHRTtFQUNBO0FoRzQ3Wko7QWdHejdaRTtFNUR4Q0U7RUFDQTtBcENvK1pKO0FnR3o3WkU7RTVEOUJFO0VBQ0E7QXBDMDlaSjtBZ0d6N1pFO0VBRUU7RUFFRTtFQUNBO0FoR3k3Wk47QWdHcDdaRTtFQUNFO0VBRUU7RUFDQTtFQUNBO0FoR3E3Wk47QWdHajdaRTtFQUNFO0FoR203Wko7QWdHajdaSTtFQUNFO0VBQ0EscUIzRDFGVTtBckM2Z2FoQjs7QWdHcjZaSTtFQUNFO0FoR3c2Wk47QWdHcjZaUTtFNUQ1Q0o7RUFaQTtBcENpK1pKO0FnR3A2WlE7RTVEN0RKO0VBWUE7QXBDeTlaSjtBZ0duNlpRO0VBQ0U7QWhHcTZaVjtBZ0dsNlpRO0VBQ0UscUIzRDNITTtFMkQ0SE47QWhHbzZaVjtBZ0dsNlpVO0VBQ0U7RUFDQSxzQjNEaElJO0FyQ29pYWhCOztBK0RwK1pJO0VpQ3dDQTtJQUNFO0VoR2c4Wko7RWdHNzdaTTtJNUQ1Q0o7SUFaQTtFcEN5L1pGO0VnRzU3Wk07STVEN0RKO0lBWUE7RXBDaS9aRjtFZ0czN1pNO0lBQ0U7RWhHNjdaUjtFZ0cxN1pNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHNDdaUjtFZ0cxN1pRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQzRqYWQ7QUFDRjtBK0Q3L1pJO0VpQ3dDQTtJQUNFO0VoR3c5Wko7RWdHcjlaTTtJNUQ1Q0o7SUFaQTtFcENpaGFGO0VnR3A5Wk07STVEN0RKO0lBWUE7RXBDeWdhRjtFZ0duOVpNO0lBQ0U7RWhHcTlaUjtFZ0dsOVpNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHbzlaUjtFZ0dsOVpRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQ29sYWQ7QUFDRjtBK0RyaGFJO0VpQ3dDQTtJQUNFO0VoR2cvWko7RWdHNytaTTtJNUQ1Q0o7SUFaQTtFcEN5aWFGO0VnRzUrWk07STVEN0RKO0lBWUE7RXBDaWlhRjtFZ0czK1pNO0lBQ0U7RWhHNitaUjtFZ0cxK1pNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHNCtaUjtFZ0cxK1pRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQzRtYWQ7QUFDRjtBK0Q3aWFJO0VpQ3dDQTtJQUNFO0VoR3dnYUo7RWdHcmdhTTtJNUQ1Q0o7SUFaQTtFcENpa2FGO0VnR3BnYU07STVEN0RKO0lBWUE7RXBDeWphRjtFZ0duZ2FNO0lBQ0U7RWhHcWdhUjtFZ0dsZ2FNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHb2dhUjtFZ0dsZ2FRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQ29vYWQ7QUFDRjtBK0Rya2FJO0VpQ3dDQTtJQUNFO0VoR2dpYUo7RWdHN2hhTTtJNUQ1Q0o7SUFaQTtFcEN5bGFGO0VnRzVoYU07STVEN0RKO0lBWUE7RXBDaWxhRjtFZ0czaGFNO0lBQ0U7RWhHNmhhUjtFZ0cxaGFNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHNGhhUjtFZ0cxaGFRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQzRwYWQ7QUFDRjtBZ0cvZ2FBO0U1RHJJSTtBcEN1cGFKO0FnRy9nYUU7RUFDRTtBaEdpaGFKO0FnRy9nYUk7RUFDRTtBaEdpaGFOOztBaUc1cWFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoRzBnYTVDO0EwQmxxYUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakc4cWFSO0FpRzNxYU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR21oYTVFOztBaUcxcmFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR3doYTVDO0EwQmhyYUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakc0cmFSO0FpR3pyYU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR2lpYTVFOztBaUd4c2FFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR3NpYTVDO0EwQjlyYUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakcwc2FSO0FpR3ZzYU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoRytpYTVFOztBaUd0dGFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR29qYTVDO0EwQjVzYUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakd3dGFSO0FpR3J0YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoRzZqYTVFOztBaUdwdWFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR2trYTVDO0EwQjF0YUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakdzdWFSO0FpR251YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoRzJrYTVFOztBaUdsdmFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR2dsYTVDO0EwQnh1YUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakdvdmFSO0FpR2p2YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR3lsYTVFOztBaUdod2FFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoRzhsYTVDO0EwQnR2YUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakdrd2FSO0FpRy92YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR3VtYTVFOztBaUc5d2FFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoRzRtYTVDO0EwQnB3YUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakdneGFSO0FpRzd3YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR3FuYTVFOztBZ0c3bWFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RTVEcEtBO0FwQ3F4YUo7QWdHOW1hSTtFQUNFO0FoR2duYU47QWdHOW1hTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFTRTtBaEd3bWFWO0F1Qjl5YVE7RXlFZ01FO0FoR2luYVY7QXdCanphUTtFd0VtTUU7QWhHaW5hVjtBaUdqeWFFO0VBQ0U7QWpHbXlhSjtBaUdweWFFO0VBQ0U7QWpHc3lhSjtBaUd2eWFFO0VBQ0U7QWpHeXlhSjtBaUcxeWFFO0VBQ0U7QWpHNHlhSjtBaUc3eWFFO0VBQ0U7QWpHK3lhSjtBaUdoemFFO0VBQ0U7QWpHa3phSjtBaUduemFFO0VBQ0U7QWpHcXphSjtBaUd0emFFO0VBQ0U7QWpHd3phSjs7QWtHaDFhQTtFQUNFO0VBQ0E7QWxHbTFhRjs7QWtHaDFhQTtFQUNFO0FsR20xYUY7O0FtR24xYUE7RUFFRTtBbkdxMWFGO0FtR24xYUU7RUFDRTtFQUNBO0FuR3ExYUo7O0FtR2gxYUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhbEVYdUI7RWtFWXZCO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QW5HaTFhRjs7QW1HMTBhQTtFQUNFO0VBQ0E7RUFDQSxjQzlCNkI7RURnQzdCO0FuRzQwYUY7QW1HejBhRTtFbkQzQkksbUNtRDRCRjtFQUNBLDhCQ2JxQjtBcEd3MWF6QjtBZ0RwMmFNO0VtRHVCSjtJbkR0Qk07RWhEdTJhTjtBQUNGO0FtRzkwYUU7RUFDRSxlQ2ZxQjtBcEcrMWF6QjtBbUc1MGFFO0VBQ0Usc0JDbEJxQjtBcEdnMmF6Qjs7QW1HMTBhQTtFQUNFO0VBQ0E7QW5HNjBhRjtBbUczMGFFO0VBQ0U7RUFDQTtBbkc2MGFKO0FtRzEwYUU7O0VBRUU7QW5HNDBhSjtBbUd6MGFFO0VBQ0U7QW5HMjBhSjs7QW1HdjBhQTtFQUNFO0VBQ0E7RUFDQTtBbkcwMGFGO0FtR3YwYUU7RUFDRTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0FuR3kwYUo7QW1HcjBhRTtFQUNFO0VBQ0E7RUFDQTtBbkd1MGFKO0FtR3IwYUk7RUFDRTtBbkd1MGFOO0FtR3AwYUk7RUFDRTtBbkdzMGFOOztBbUdoMGFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RS9EaEdFO0UrRG9HRjtFQUdFO0VBQ0E7QW5HOHphSjs7QW1HenphQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGFsRTFIdUI7RWtFMkh2QjtFQUNBO0VBQ0EseUJ2RWpJTztBNUI2N2FUO0FtR3p6YUU7RUFBUztBbkc0emFYO0FtRzN6YUU7RUFBUyxZQ3RIa0I7QXBHbzdhN0I7O0FtR3p6YUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQkM1SDJCO0VENkgzQjtFL0R6SEU7RUFDQTtFK0QySEE7QW5HNHphSjtBbUd6emFFO0VBQ0Usa0JDcEl5QjtBcEcrN2E3QjtBdUJsOWFRO0U0RTBKRjtBbkcyemFOO0F3QnI5YVE7RTJFOEpGO0FuRzB6YU47O0FtR3B6YUE7RUFDRTtFQUNBLGdCOUVySmtCO0FyQjQ4YXBCOztBbUdsemFBO0VBQ0U7RUFHQTtFQUNBLGFDaExvQjtBcEdtK2F0Qjs7QW1HL3lhQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0RySkU7RUFDQTtFK0R1SkE7QW5Ha3phSjtBbUczeWFFO0VBQ0U7QW5HNnlhSjs7QW1HeHlhQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HMnlhRjs7QStEcjdhSTtFb0NnSkY7SUFDRSxnQkM3TFE7SUQ4TFI7RW5HeXlhRjs7RW1HdHlhQTtJQUNFO0VuR3l5YUY7RW1HdnlhRTtJQUNFO0VuR3l5YUo7O0VtR3J5YUE7SUFDRTtFbkd3eWFGO0VtR3R5YUU7SUFDRTtJQUNBO0lBQUE7RW5Hd3lhSjs7RW1HaHlhQTtJQUFZLGdCQ3JORjtFcEd5L2FWO0FBQ0Y7QStELzhhSTtFb0M4S0Y7O0lBRUUsZ0JDN05RO0VwR2lnYlY7QUFDRjtBK0RyOWFJO0VvQ3FMRjtJQUFZLGlCQ25PRjtFcEd1Z2JWO0FBQ0Y7QW1HL3hhSTtFQUNFLHFCaERLVztBbkQ0eGFqQjtBbUc5eGFJO0VBQ0UsV3ZFclFHO0V1RXNRSDtBbkdneWFOOztBbUd0eWFJO0VBQ0UscUJoREtXO0FuRG95YWpCO0FtR3R5YUk7RUFDRSxXdkVyUUc7RXVFc1FIO0FuR3d5YU47O0FtRzl5YUk7RUFDRSxxQmhES1c7QW5ENHlhakI7QW1HOXlhSTtFQUNFLFd2RXJRRztFdUVzUUg7QW5HZ3phTjs7QW1HdHphSTtFQUNFLGtCaERLVztBbkRvemFqQjtBbUd0emFJO0VBQ0UsV3ZFclFHO0V1RXNRSDtBbkd3emFOOztBbUc5emFJO0VBQ0UscUJoREtXO0FuRDR6YWpCO0FtRzl6YUk7RUFDRSxXdkVyUUc7RXVFc1FIO0FuR2cwYU47O0FtR3QwYUk7RUFDRSxxQmhES1c7QW5EbzBhakI7QW1HdDBhSTtFQUNFLFd2RXJRRztFdUVzUUg7QW5HdzBhTjs7QW1HOTBhSTtFQUNFLHFCaERLVztBbkQ0MGFqQjtBbUc5MGFJO0VBQ0UsV3ZFclFHO0V1RXNRSDtBbkdnMWFOOztBbUd0MWFJO0VBQ0UscUJoREtXO0FuRG8xYWpCO0FtR3QxYUk7RUFDRSxXdkVyUUc7RXVFc1FIO0FuR3cxYU47O0FxRzdsYkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckdnbWJGO0F1QnJtYlE7RThFUUo7QXJHZ21iSjtBd0J4bWJRO0U2RVdKO0FyR2dtYko7O0FxRzVsYkE7RUFDRTtFQUNBO0FyRytsYkY7QTBCbG1iRTtFMkVPRTtBckc4bGJKO0FxRzFsYkU7RUFDRSxjekVqQlM7RXlFa0JUO0VBQ0E7RUFFRTtBckcybGJOOztBcUdsbGJBO0VBQ0U7RUFFRTtBckdvbGJKO0FxR2psYkU7RUFDRTtBckdtbGJKO0FxR2hsYkU7RUFDRTtFakUzQkE7RUFDQTtBcEM4bWJKO0EwQnhuYkU7RTJFeUNNO0FyR2tsYlI7QXFHOWtiSTtFQUNFO0VBQ0E7RUFFRTtBckcra2JSO0FxRzFrYkU7O0VBR0k7RUFDQTtFQUNBO0FyRzJrYk47QXFHdmtiRTtFQUVFO0VqRXhEQTtFQUNBO0FwQ2lvYko7O0FxR3pqYkU7RUFDRTtBckc0amJKO0FxR3pqYk07RUFFSTtFQUNBO0FyRzBqYlY7QXFHcmpiRTtFQUNFO0VBQ0E7RWpFaEdBO0VpRW1HRTtFQUNBO0VBQ0E7QXJHc2piTjtBcUdqamJJO0VBQ0U7QXJHbWpiTjtBcUdqamJJO0VqRTdHQTtBcENpcWJKO0FxRy9pYkU7RUFFRTtBckdnamJKO0FxRzlpYkk7RUFDRTtFQUNBO0VBQ0E7QXJHZ2piTjtBd0J2cmJRO0U2RTZJRjtBckc2aWJOO0FxRzFpYkk7RUFDRTtBckc0aWJOO0FxR3ppYkk7RWpFdElBO0FwQ2tyYko7QXFHemliTTtFQUVJO0FyRzBpYlY7QXVCbnNiUTtFOEVpS0Y7QXJHcWliTjtBd0J0c2JRO0U2RW9LRjtBckdxaWJOO0F1QnpzYlE7RThFeUtBO0FyR21pYlI7QXdCNXNiUTtFNkU0S0E7QXJHbWliUjtBcUcvaGJJO0VqRWxLQTtBcENvc2JKO0FxRy9oYk07RUFFSTtBckdnaWJWO0FxRzNoYkk7RWpFNUtBO0FwQzBzYko7O0FxR2xoYkU7RWpFeExFO0FwQzhzYko7QXFHbGhiRTs7RUFHSTtFQUNBO0FyR21oYk47O0FxRzFnYkE7RUFDRTtFQUVFO0FyRzRnYko7QXFHemdiRTtFQUNFO0FyRzJnYko7QXFHeGdiRTtFQUNFO0VBQ0E7QXJHMGdiSjtBcUd2Z2JFOztFQUVFO0FyR3lnYko7O0FxR25nYkk7O0VBRUUsY2xEc0JXO0VrRHJCWCxxQmxEcUJXO0FuRGkvYWpCOztBcUd6Z2JJOztFQUVFLGNsRHNCVztFa0RyQlgscUJsRHFCVztBbkR1L2FqQjs7QXFHL2diSTs7RUFFRSxjbERzQlc7RWtEckJYLHFCbERxQlc7QW5ENi9hakI7O0FxR3JoYkk7O0VBRUUsV2xEc0JXO0VrRHJCWCxrQmxEcUJXO0FuRG1nYmpCOztBcUczaGJJOztFQUVFLGNsRHNCVztFa0RyQlgscUJsRHFCVztBbkR5Z2JqQjs7QXFHamliSTs7RUFFRSxjbERzQlc7RWtEckJYLHFCbERxQlc7QW5EK2diakI7O0FxR3ZpYkk7O0VBRUUsY2xEc0JXO0VrRHJCWCxxQmxEcUJXO0FuRHFoYmpCOztBcUc3aWJJOztFQUVFLGNsRHNCVztFa0RyQlgscUJsRHFCVztBbkQyaGJqQjs7QXFHcmliRTtFQUNFO0VBQ0E7QXJHd2liSjs7QXFHbmliRTtFQUNFO0VBQ0E7RUFDQTtBckdzaWJKOztBcUc1aGJFO0VBQ0U7QXJHK2hiSjtBcUc3aGJFO0VBQ0U7QXJHK2hiSjs7QXFHdGhiSTs7RUFDRTtFQUNBO0VBQ0EsWUMvUGtCO0VEZ1FsQjtFQUNBO0FyRzBoYk47O0F1Ry95YkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZHa3piRjtBdUc5eWJFOzs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXZHc3piSjtBdUdseWJBO0VBQ0U7RUFDQSx5QkN4Q3dCO0VEeUN4Qiw0QkN6Q3dCO0VEMEN4QixrQkUvQ1E7RW5GdUhKLHFCQXRDYTtFaUZoQ2pCO0VBQ0E7QXZHb3liRjtBMEI1MGJFO0U2RTJDRTtBdkdveWJKOztBdUczeGJBO0VBQ0U7RUFDQTtFQU9BO0VBQ0E7QXZHd3hiRjtBdUJwMmJRO0VnRnNFSjtBdkdpeWJKO0F3QnYyYlE7RStFeUVKO0F2R2l5Yko7QXVHNXhiRTtFQUNFO0VBQ0E7QXZHOHhiSjtBdUczeGJFO0VBQ0U7RUFDQTtBdkc2eGJKOztBdUdweGJBO0VBQ0U7RUFDQSxtQkdqR29CO0VIa0dwQixzQkdsR29CO0ExR3kzYnRCOztBdUczd2JBO0VBQ0U7RUFDQTtFQUdBO0F2RzR3YkY7O0F1R3h3YkE7RUFDRTtFakZJSSxxQkF0Q2E7RWlGb0NqQjtFQUNBO0VBQ0E7RW5FN0dFO0FwQ3kzYko7QTBCejNiRTtFNkVpSEU7QXZHMndiSjs7QXVHcndiQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2R3d3YkY7O0ErRGwwYkk7RXdDc0VJOzs7Ozs7O0lBQ0U7SUFDQTtFdkdzd2JSO0FBQ0Y7QStENTFiSTtFd0NpRkE7SUFvQkk7SUFDQTtFdkcydmJOO0V1R3p2Yk07SUFDRTtFdkcydmJSO0V1R3p2YlE7SUFDRTtFdkcydmJWO0V1R3h2YlE7SUFDRSxxQkNsTGlCO0lEbUxqQixvQkNuTGlCO0V4RzY2YjNCO0V1R3J2Yk07Ozs7Ozs7SUFDRTtFdkc2dmJSO0V1Ry91Yk07SUFDRTtJQUdBO0V2Ryt1YlI7RXVHNXViTTtJQUNFO0V2Rzh1YlI7QUFDRjtBK0QvMmJJO0V3Q3NFSTs7Ozs7OztJQUNFO0lBQ0E7RXZHa3piUjtBQUNGO0ErRHg0Ykk7RXdDaUZBO0lBb0JJO0lBQ0E7RXZHdXliTjtFdUdyeWJNO0lBQ0U7RXZHdXliUjtFdUdyeWJRO0lBQ0U7RXZHdXliVjtFdUdweWJRO0lBQ0UscUJDbExpQjtJRG1MakIsb0JDbkxpQjtFeEd5OWIzQjtFdUdqeWJNOzs7Ozs7O0lBQ0U7RXZHeXliUjtFdUczeGJNO0lBQ0U7SUFHQTtFdkcyeGJSO0V1R3h4Yk07SUFDRTtFdkcweGJSO0FBQ0Y7QStEMzViSTtFd0NzRUk7Ozs7Ozs7SUFDRTtJQUNBO0V2RzgxYlI7QUFDRjtBK0RwN2JJO0V3Q2lGQTtJQW9CSTtJQUNBO0V2R20xYk47RXVHajFiTTtJQUNFO0V2R20xYlI7RXVHajFiUTtJQUNFO0V2R20xYlY7RXVHaDFiUTtJQUNFLHFCQ2xMaUI7SURtTGpCLG9CQ25MaUI7RXhHcWdjM0I7RXVHNzBiTTs7Ozs7OztJQUNFO0V2R3ExYlI7RXVHdjBiTTtJQUNFO0lBR0E7RXZHdTBiUjtFdUdwMGJNO0lBQ0U7RXZHczBiUjtBQUNGO0ErRHY4Ykk7RXdDc0VJOzs7Ozs7O0lBQ0U7SUFDQTtFdkcwNGJSO0FBQ0Y7QStEaCtiSTtFd0NpRkE7SUFvQkk7SUFDQTtFdkcrM2JOO0V1RzczYk07SUFDRTtFdkcrM2JSO0V1RzczYlE7SUFDRTtFdkcrM2JWO0V1RzUzYlE7SUFDRSxxQkNsTGlCO0lEbUxqQixvQkNuTGlCO0V4R2lqYzNCO0V1R3ozYk07Ozs7Ozs7SUFDRTtFdkdpNGJSO0V1R24zYk07SUFDRTtJQUdBO0V2R20zYlI7RXVHaDNiTTtJQUNFO0V2R2szYlI7QUFDRjtBK0RuL2JJO0V3Q3NFSTs7Ozs7OztJQUNFO0lBQ0E7RXZHczdiUjtBQUNGO0ErRDVnY0k7RXdDaUZBO0lBb0JJO0lBQ0E7RXZHMjZiTjtFdUd6NmJNO0lBQ0U7RXZHMjZiUjtFdUd6NmJRO0lBQ0U7RXZHMjZiVjtFdUd4NmJRO0lBQ0UscUJDbExpQjtJRG1MakIsb0JDbkxpQjtFeEc2bGMzQjtFdUdyNmJNOzs7Ozs7O0lBQ0U7RXZHNjZiUjtFdUcvNWJNO0lBQ0U7SUFHQTtFdkcrNWJSO0V1RzU1Yk07SUFDRTtFdkc4NWJSO0FBQ0Y7QXVHMzliSTtFQW9CSTtFQUNBO0F2RzA4YlI7QXVHNzliUTs7Ozs7OztFQUNFO0VBQ0E7QXZHcStiVjtBdUdsOWJRO0VBQ0U7QXZHbzliVjtBdUdsOWJVO0VBQ0U7QXZHbzliWjtBdUdqOWJVO0VBQ0UscUJDbExpQjtFRG1MakIsb0JDbkxpQjtBeEdzb2M3QjtBdUc5OGJROzs7Ozs7O0VBQ0U7QXZHczliVjtBdUd4OGJRO0VBQ0U7RUFHQTtBdkd3OGJWO0F1R3I4YlE7RUFDRTtBdkd1OGJWOztBdUcvN2JFO0VBQ0U7QXZHazhiSjtBMEIvb2NFO0U2RWdOSTtBdkdrOGJOO0F1Rzc3Ykk7RUFDRTtBdkcrN2JOO0EwQnJwY0U7RTZFeU5NO0F2Rys3YlI7QXVHNTdiTTtFQUNFO0F2Rzg3YlI7QXVHMTdiSTs7OztFQUlFO0F2RzQ3Yk47QXVHeDdiRTtFQUNFO0VBQ0E7QXZHMDdiSjtBdUd2N2JFO0VBQ0U7QXZHeTdiSjtBdUd0N2JFO0VBQ0U7QXZHdzdiSjtBdUd2N2JJO0VBQ0U7QXZHeTdiTjtBMEI5cWNFO0U2RXdQTTtBdkd5N2JSOztBdUdyK2JFO0VBQ0U7QXZHdytiSjtBMEJycmNFO0U2RWdOSTtBdkd3K2JOO0F1R24rYkk7RUFDRTtBdkdxK2JOO0EwQjNyY0U7RTZFeU5NO0F2R3ErYlI7QXVHbCtiTTtFQUNFO0F2R28rYlI7QXVHaCtiSTs7OztFQUlFO0F2R2srYk47QXVHOTliRTtFQUNFO0VBQ0E7QXZHZytiSjtBdUc3OWJFO0VBQ0U7QXZHKzliSjtBdUc1OWJFO0VBQ0U7QXZHODliSjtBdUc3OWJJO0VBQ0U7QXZHKzliTjtBMEJwdGNFO0U2RXdQTTtBdkcrOWJSOztBMkd6dWNBO0VBQ0U7RUNTQTtFeEVRRTtBcEM2dGNKO0F1QjN1Y1E7RXFGQ0o7QTVHNnVjSjtBd0I5dWNRO0VvRklKO0E1RzZ1Y0o7O0EyRy91Y0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBUUU7RUFDQTtFQUNBO0EzRzB1Y0o7QXVCNXZjUTtFb0ZVSjtBM0dxdmNKO0F3Qi92Y1E7RW1GYUo7QTNHcXZjSjtBMkc3dWNFO0VBQ0U7RUFDQTtFQUVFO0VBQ0E7RUFDQTtBM0c4dWNOO0EyRzF1Y0U7RUFDRTtFQUNBLFVFakJnQztFRmtCaEMsZ0Q5RXpCMEI7QTdCcXdjOUI7O0F1Qjl3Y1E7RW9GMENBO0V2RUVKO0VBQ0E7QXBDdXVjSjtBd0JweGNRO0VtRjhDQTtFdkVoQko7RUFDQTtBcEMwdmNKO0F1Qnp4Y1E7RWE4Qko7RUFDQTtBcEM4dmNKO0F3Qjd4Y1E7RVk0Q0o7RUFDQTtBcENvdmNKO0EyR251Y0U7RUFDRTtFQUVFO0VBQ0E7RUFDQTtBM0dvdWNOO0EyR2h1Y0U7RUFDRTtFQUVBO0VBRUU7RUFDQTtFQUNBO0EzR2d1Y047O0E4Ry95Y0U7RUFDRTtFeEYySEUscUJBdENhO0V3Rm5GZjtBOUdremNKO0F1QnB6Y1E7RWE0Q0o7RUFDQTtBcEMyd2NKO0F3Qnh6Y1E7RVk4Qko7RUFDQTtBcEM2eGNKO0F1QjV6Y1E7RWE4Qko7RUFDQTtBcENpeWNKO0F3QmgwY1E7RVk0Q0o7RUFDQTtBcEN1eGNKOztBOEdyMGNFO0VBQ0U7RXhGMkhFLHNCQXRDYTtFd0ZuRmYsZ0J6RUNjO0FyQ3UwY2xCO0F1QjEwY1E7RWE0Q0o7RUFDQTtBcENpeWNKO0F3QjkwY1E7RVk4Qko7RUFDQTtBcENtemNKO0F1QmwxY1E7RWE4Qko7RUFDQTtBcEN1emNKO0F3QnQxY1E7RVk0Q0o7RUFDQTtBcEM2eWNKOztBK0c5MWNBO0VBQ0UsYTlFVXVCO0U4RVR2QjtFQUNBLGdCN0VDc0I7RUNIdEIsa01kSXdCO0VjRnhCO0VBQ0EsZ0JkWXFCO0VjWHJCLGdCZGdCa0I7RWNmbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWJnSEksc0JBdENhO0V5RmhGakI7RUFDQTtFQUNBO0UzRU9FO0UyRUhBO0VBQ0E7QS9HeTJjSjtBK0d0MmNFO0VBQ0U7RUFDQTtBL0d3MmNKO0ErR3QyY0k7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvR3UyY047O0ErR2gyY0U7O0VBQ0U7RUFDQSxjN0VwQm9CO0U2RXFCcEI7QS9HbzJjSjs7QStHOTFjRTs7RUFDRSxhN0U1Qm9CO0U2RTZCcEI7RUFDQTtFQUNBO0EvR2syY0o7O0ErRzkxY0E7RUFFRTtBL0dnMmNGO0ErRzkxY0U7RUFDRTtBL0dnMmNKO0ErRzkxY0k7RUFDRTtFQUNBO0VBRUU7QS9HKzFjUjtBK0czMWNJO0VBQ0UsVzFFNURVO0UwRTZEVjtFQUVFO0EvRzQxY1I7O0ErR3QxY0E7RUFFRTtBL0d3MWNGO0ErR3QxY0U7RUFDRTtBL0d3MWNKO0ErR3QxY0k7RUFDRTtFQUNBO0VBRUU7QS9HdTFjUjtBK0duMWNJO0VBQ0UsUzFFckZVO0UwRXNGVjtFQUVFO0EvR28xY1I7O0ErRzkwY0E7RUFFRTtBL0dnMWNGO0ErRzkwY0U7RUFDRTtBL0dnMWNKO0ErRzkwY0k7RUFDRTtFQUNBO0VBRUU7QS9HKzBjUjtBK0czMGNJO0VBQ0UsUTFFOUdVO0UwRStHVjtFQUVFO0EvRzQwY1I7QStHdDBjRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzdFcEhvQjtFNkVxSHBCO0VBQ0E7RUFDQTtFQUVFO0EvR3UwY047O0ErR2wwY0E7RUFFRTtBL0dvMGNGO0ErR2wwY0U7RUFDRTtBL0dvMGNKO0ErR2wwY0k7RUFDRTtFQUNBO0VBRUU7QS9HbTBjUjtBK0cvemNJO0VBQ0UsVTFFdEpVO0UwRXVKVjtFQUVFO0EvR2cwY1I7O0ErR3h5Y0E7RUFDRTtFQUNBO0V6RjdESSxtQkF0Q2E7RXlGcUdqQjtFM0VuS0U7RUFDQTtFMkVzS0E7RUFDQTtBL0cweWNKO0ErR3Z5Y0U7RUFDRTtBL0d5eWNKOztBK0dyeWNBO0VBQ0U7RUFFRTtBL0d1eWNKOztBZ0huL2NFO0VBQ0U7SUFBTztFaEh1L2NUO0VnSHQvY0U7SUFBSztFaEh5L2NQO0FBQ0Y7QWdIdC9jQTtFQUNFO0VBQ0EsWUNQb0I7RURRcEI7RUFDQTtFMUZtSEkscUJBdENhO0VjdkVmO0U0RUFBO0FoSHEvY0o7O0FnSGovY0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhFWkksMkJnRWFKO0VBR0U7RUFDQTtBaEhrL2NKO0FnRC8vY007RWdFRU47SWhFRFE7RWhEa2dkTjtBQUNGOztBZ0huL2NBO0VyRU1FO0VxRUpBO0FoSHMvY0Y7O0FnSGwvY0U7RUFDRTtBaEhxL2NKO0FnSGwvY007RUFKSjtJQUtNO0VoSHEvY047QUFDRjs7QWdIaC9jQTtFQUNFO0FoSG0vY0Y7O0FnSGgvY0E7RUFDRTtBaEhtL2NGOztBZ0gvK2NBO0VBQ0U7QWhIay9jRjtBZ0hqL2NFO0VBQ0Usc0JwRjlESztBNUJpamRUOztBa0hwamRBO0VBQ0U7RUFDQTtFQUNBLG1CVElRO0F6R21qZFY7O0FrSHBqZEE7RUFDRTtFQUNBO0FsSHVqZEY7O0FrSHBqZEE7RUFDRSxxQjdGRmdCO0FyQnlqZGxCO0F1QmhrZFE7RTJGWUo7QWxIdWpkSjtBd0Jua2RRO0UwRmVKO0FsSHVqZEo7O0FrSG5qZEE7RUFDRSxzQjdGWmdCO0U2RmFoQixjdEZYVztBNUJpa2RiOztBa0huamRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxIc2pkRjs7QWtIbmpkQTtFQUNFO0VBQ0E7QWxIc2pkRjtBa0hwamRFO0VBQ0U7QWxIc2pkSjs7QWtIbGpkQTtFQUNFO0FsSHFqZEY7O0FtSGhtZEE7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0EsWWJQa0I7RWFRbEIsVWJHMEI7RWFGMUI7QW5IaW1kRjtBbUgvbGRFO0VBQ0U7QW5IaW1kSjtBK0QxaGRJO0VvRHBGSjtJQWtCSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuSGdtZEY7RW1IN2xkSTtJQUNFO0VuSCtsZE47RW1IN2xkSTtJQUNFO0VuSCtsZE47RW1IM2xkSTtJQUNFO0VuSDZsZE47RW1IM2xkSTtJQUNFO0VuSDZsZE47QUFDRjtBbUh4bGRJO0VBQ0U7QW5IMGxkTjtBbUh4bGRJO0VBQ0U7QW5IMGxkTjtBbUhybGRJO0VBQ0U7QW5IdWxkTjtBbUhybGRJO0VBQ0U7QW5IdWxkTjtBbUhubGRFO0VBQ0U7QW5IcWxkSjtBbUhqbGRJO0VBQ0U7RUFDQSxZYjdEVztBdEdncGRqQjtBbUhobGRRO0VBQ0U7QW5Ia2xkVjtBbUhobGRRO0VBQ0U7QW5Ia2xkVjtBbUg3a2RRO0VBQ0U7QW5IK2tkVjtBbUg3a2RRO0VBQ0U7QW5IK2tkVjtBbUhqbWRJO0VBQ0U7RUFDQSxZYjdEVztBdEdncWRqQjtBbUhobWRRO0VBQ0U7QW5Ia21kVjtBbUhobWRRO0VBQ0U7QW5Ia21kVjtBbUg3bGRRO0VBQ0U7QW5IK2xkVjtBbUg3bGRRO0VBQ0U7QW5IK2xkVjtBbUhqbmRJO0VBQ0U7RUFDQSxZYjdEVztBdEdncmRqQjtBbUhobmRRO0VBQ0U7QW5Ia25kVjtBbUhobmRRO0VBQ0U7QW5Ia25kVjtBbUg3bWRRO0VBQ0U7QW5IK21kVjtBbUg3bWRRO0VBQ0U7QW5IK21kVjtBK0QzbmRJO0VvRGtCRjtJQUVJO0lBQ0E7SUFDQTtJQUNBLGFsRnhGbUI7RWpDbXNkdkI7RW1IeG1kTTtJQUNFO0VuSDBtZFI7RW1Idm1kTTtJQUNFO0VuSHltZFI7RW1IcG1kTTtJQUNFO0VuSHNtZFI7RW1Ibm1kTTtJQUNFO0VuSHFtZFI7QUFDRjtBbUhobWRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5Ia21kSjtBbUgvbGRNO0VBQ0U7QW5IaW1kUjtBbUg5bGRNO0VBQ0U7QW5IZ21kUjtBbUgzbGRNO0VBQ0U7QW5INmxkUjtBbUgxbGRNO0VBQ0U7QW5INGxkUjs7QW1IbGxkQTtFQUNFO0VBQ0EsV2JySHNCO0Vhc0h0QixZYnRIc0I7RWF1SHRCO0VBQ0E7QW5IcWxkRjtBMEJ0dWRFO0VBQ0U7SXlGbUpBO0VuSHNsZEY7QUFDRjtBbUhwbGRFO0VBRUU7QW5IcWxkSjtBdUJ0dmRRO0U0RnFLSjtBbkhvbGRKO0F3Qnp2ZFE7RTJGeUtKO0FuSG1sZEo7O0FtSC9rZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkhrbGRGO0FtSGhsZEU7RUFDRTtBbkhrbGRKOztBbUg5a2RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZ0JDeksyQztBcEgwdmQ3Qzs7QW1INWtkQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkgra2RGO0FtSDdrZEU7RUFFRTtFQUVBO0FuSDZrZEo7QW1IM2tkSTtFQUNFO0FuSDZrZE47O0FtSHhrZEE7RUFDRTtFQUNBLGdCYmhKOEI7RWFpSjlCO0VBQ0E7RUFDQTtFQUNBLGdCQzNNMkM7QXBIc3hkN0M7O0FtSHhrZEE7RUFDRTtFQUNBO0FuSDJrZEY7O0FtSHhrZEE7RUFDRTtBbkgya2RGOztBbUh4a2RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5IMmtkRjtBdUI1emRRO0U0RndQRjtBbkh1a2ROO0F3Qi96ZFE7RTJGMlBGO0FuSHVrZE47QW1IbmtkRTtFQUNFLGVFeE1jO0FySDZ3ZGxCO0FtSG5rZEU7RUFDRTtJQUNFO0VuSHFrZEo7QUFDRjs7QW1IamtkQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JDM1AyQztFRDRQM0M7QW5Ib2tkRjtBdUJuMWRRO0U0Rm1SRjtBbkhta2ROO0F3QnQxZFE7RTJGc1JGO0FuSG1rZE47O0FtSDlqZEE7RUFDRTtFQUNBO0FuSGlrZEY7QW1IM2pkSTtFQUNFO0FuSDZqZE47QXVCajJkUTtFNEZ5U0E7QW5IMmpkUjtBd0JwMmRRO0UyRjRTQTtBbkgyamRSO0FtSHZqZEk7RUFDRTtBbkh5amROOztBbUhwamRBO0VBRUU7QW5Ic2pkRjtBbUhwamRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Ic2pkSjtBdUJ2M2RRO0U0Rm9VRjtBbkhzamROO0F3QjEzZFE7RTJGdVVGO0VBQ0E7QW5Ic2pkTjtBdUI5M2RRO0U0RjhVRixrQmJsUTBCO0F0R3F6ZGhDO0F3Qmo0ZFE7RTJGaVZGLGlCYnJRMEI7QXRHd3pkaEM7O0FtSDlpZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuSGlqZEY7QXVCNTRkUTtFNEYrVkYsa0JibFIwQjtBdEdrMGRoQztBd0IvNGRRO0UyRmtXRixtQmJyUjBCO0F0R3EwZGhDO0F1Qmw1ZFE7RTRGdVdBO0FuSDhpZFI7QXdCcjVkUTtFMkYwV0E7QW5IOGlkUjs7QXVCeDVkUTtFNEZ1WEU7QW5IcWlkVjtBd0I1NWRRO0UyRjBYRTtBbkhxaWRWO0F1Qi81ZFE7RTRGOFhJO0FuSG9pZFo7QXdCbDZkUTtFMkZpWUk7QW5Ib2lkWjtBdUJyNmRRO0U0RnVYRTtBbkhpamRWO0F3Qng2ZFE7RTJGMFhFO0FuSGlqZFY7QXVCMzZkUTtFNEY4WEk7QW5IZ2pkWjtBd0I5NmRRO0UyRmlZSTtBbkhnamRaO0F1Qmo3ZFE7RTRGdVhFO0FuSDZqZFY7QXdCcDdkUTtFMkYwWEU7QW5INmpkVjtBdUJ2N2RRO0U0RjhYSTtBbkg0amRaO0F3QjE3ZFE7RTJGaVlJO0FuSDRqZFo7QXVCNzdkUTtFNEZ1WEU7QW5IeWtkVjtBd0JoOGRRO0UyRjBYRTtBbkh5a2RWO0F1Qm44ZFE7RTRGOFhJO0FuSHdrZFo7QXdCdDhkUTtFMkZpWUk7QW5Id2tkWjtBdUJ6OGRRO0U0RnVYRTtBbkhxbGRWO0F3QjU4ZFE7RTJGMFhFO0FuSHFsZFY7QXVCLzhkUTtFNEY4WEk7QW5Ib2xkWjtBd0JsOWRRO0UyRmlZSTtBbkhvbGRaOztBbUgza2RBO0VBQ0U7RUFDQTtFQUNBLGdCQzFYMkM7QXBIdzhkN0M7QW1INWtkRTtFQUNFO0FuSDhrZEo7QW1IM2tkRTtFQUNFO0FuSDZrZEo7O0FtSHprZEE7RUFDRTtFQUNBO0VBQ0EsZ0JDeFkyQztBcEhvOWQ3Qzs7QW1IemtkQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuSDRrZEY7QStELzVkSTtFb0Q0VUo7SUFVSTtFbkg2a2RGO0FBQ0Y7QW1IM2tkRTtFQUNFO0VBQ0EsV2JwUDRDO0VhcVA1QyxZYnJQNEM7RWFzUDVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JDaGF5QztBcEg2K2Q3QztBd0JoZ2VRO0UyRnNiRjtBbkg2a2ROO0FtSHprZEU7RUFFRTtBbkgwa2RKO0FtSHZrZEU7RUFDRTtBbkh5a2RKO0F1QnpnZVE7RTRGbWNBO0FuSHlrZFI7QXdCNWdlUTtFMkZzY0E7QW5IeWtkUjs7QStENzdkSTtFb0QyWEo7SUFFSTtJQUNBO0lBQ0E7SUFDQSxhbEY5Y3FCO0lrRitjckI7SUFDQTtJQUNBLHlCdkZwZEs7SXVGcWRMLGdCQ25jeUM7RXBId2dlM0M7RW1IbGtkRTtJQUFXO0VuSHFrZGI7RW1IcGtkRTtJQUFXLFliMWNhO0V0R2loZTFCO0FBQ0Y7O0ErRDc5ZEk7RW9EMlpKO0lBRUk7SUFDQTtFbkhxa2RGO0VtSG5rZEU7SUFDRTtJQUNBLFdiNWRzQjtFdEdpaWUxQjtFdUI1aWVNO0k0RjRlQTtFbkhta2ROO0V3Qi9pZU07STJGK2VBO0VuSG1rZE47RXVCbGplTTtJNEZvZkE7RW5IaWtkTjtFdUJyamVNO0k0RnVmQTtFbkhpa2ROO0VtSDdqZEU7SUFDRTtFbkgramRKO0VtSDVqZEU7SUFDRTtFbkg4amRKO0VtSDNqZEU7SUFDRSxvQmIzVTBDO0lhNFUxQztFbkg2amRKO0VtSDFqZEU7Ozs7Ozs7SUFPRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuSDRqZEo7RW1IdmpkRTtJQUNFO0lBQ0E7SUFDQTtFbkh5amRKO0V1QnBsZU07STRGK2hCRTtFbkh3amRSO0V3QnZsZU07STJGa2lCRTtFbkh3amRSO0V1QjFsZU07STRGeWlCQTtFbkhvamROO0V3QjdsZU07STJGNGlCQTtFbkhvamROO0V1QmhtZU07O0k0Rm9qQkU7RW5IZ2pkUjtFd0JwbWVNOztJMkZ1akJFO0VuSGlqZFI7RW1INWlkRTs7SUFFRTtJQUNBO0lBQ0E7RW5IOGlkSjtFbUg1aWRJOztJQUNFO0VuSCtpZE47RW1IM2lkRTtJQUNFO0VuSDZpZEo7RW1IemlkSTtJQUNFLFliOWtCWTtFdEd5bmVsQjtFbUh0aWRFO0lBQ0U7RW5Id2lkSjtFbUh0aWRJO0lBQ0U7RW5Id2lkTjtFbUh0aWRNO0lBQ0U7RW5Id2lkUjtFbUhyaWRJO0lBQ0U7RW5IdWlkTjtFbUhsaWRJO0lBQ0U7SUFDQTtFbkhvaWROO0VtSGxpZE07SUFDRTtJQUNBO0VuSG9pZFI7RXVCNW9lTTtJNEYybUJJLFViaG1CZ0I7RXRHb29lMUI7RXdCL29lTTtJMkY4bUJJLFdibm1CZ0I7RXRHdW9lMUI7RXVCbHBlTTtJNEZzbkJBO0VuSCtoZE47RXdCcnBlTTtJMkZ5bkJBO0VuSCtoZE47QUFDRjs7QXVCenBlUTs7RTRGd29CRTtBbkhzaGRWO0F3QjlwZVE7O0UyRjJvQkU7QW5IdWhkVjtBK0Q3bGVJO0V4Q3JFSTs7STRGaXBCUSxrQmJscEJJO0V0R3dxZWxCO0V3QnZxZU07O0kyRm9wQlEsbUJicnBCSTtFdEc0cWVsQjtFdUIzcWVNOztJNEYycEJZLGtCYnZwQkg7RXRHMnFlZjtFd0IvcWVNOztJMkY4cEJZLG1CYjFwQkg7RXRHK3FlZjtFdUJucmVNOztJNEYycEJZLGtCYnZwQkg7RXRHbXJlZjtFd0J2cmVNOztJMkY4cEJZLG1CYjFwQkg7RXRHdXJlZjtFdUIzcmVNOztJNEYycEJZLGtCYnZwQkg7RXRHMnJlZjtFd0IvcmVNOztJMkY4cEJZLG1CYjFwQkg7RXRHK3JlZjtFdUJuc2VNOztJNEZzcUJVLGlCYjNwQlU7RXRHNHJlMUI7RXdCdnNlTTs7STJGeXFCVSxrQmI5cEJVO0V0R2dzZTFCO0FBQ0Y7QXVCNXNlUTs7RTRGa3JCRTtBbkg4aGRWO0F3Qmh0ZVE7O0UyRnFyQkU7QW5IK2hkVjtBK0Qvb2VJO0V4Q3JFSTs7STRGMnJCUSxtQmI1ckJJO0V0RzB0ZWxCO0V3Qnp0ZU07O0kyRjhyQlEsa0JiL3JCSTtFdEc4dGVsQjtFdUI3dGVNOztJNEZxc0JZLG1CYmpzQkg7RXRHNnRlZjtFd0JqdWVNOztJMkZ3c0JZLGtCYnBzQkg7RXRHaXVlZjtFdUJydWVNOztJNEZxc0JZLG1CYmpzQkg7RXRHcXVlZjtFd0J6dWVNOztJMkZ3c0JZLGtCYnBzQkg7RXRHeXVlZjtFdUI3dWVNOztJNEZxc0JZLG1CYmpzQkg7RXRHNnVlZjtFd0JqdmVNOztJMkZ3c0JZLGtCYnBzQkg7RXRHaXZlZjtFdUJydmVNOztJNEZndEJVLGtCYnJzQlU7RXRHOHVlMUI7RXdCenZlTTs7STJGbXRCVSxpQmJ4c0JVO0V0R2t2ZTFCO0FBQ0Y7O0ErRHpyZUk7RXhDckVJOztJNEZ3b0JFO0VuSDRuZFI7RXdCcHdlTTs7STJGMm9CRTtFbkg2bmRSO0FBQ0Y7QStEcHNlSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEcrd2VsQjtFd0I5d2VNOztJMkZvcEJRLG1CYnJwQkk7RXRHbXhlbEI7RXVCbHhlTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2t4ZWY7RXdCdHhlTTs7STJGOHBCWSxtQmIxcEJIO0V0R3N4ZWY7RXVCMXhlTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzB4ZWY7RXdCOXhlTTs7STJGOHBCWSxtQmIxcEJIO0V0Rzh4ZWY7RXVCbHllTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2t5ZWY7RXdCdHllTTs7STJGOHBCWSxtQmIxcEJIO0V0R3N5ZWY7RXVCMXllTTs7STRGc3FCVSxpQmIzcEJVO0V0R215ZTFCO0V3Qjl5ZU07O0kyRnlxQlUsa0JiOXBCVTtFdEd1eWUxQjtBQUNGO0ErRDl1ZUk7RXhDckVJOztJNEZrckJFO0VuSHNvZFI7RXdCeHplTTs7STJGcXJCRTtFbkh1b2RSO0FBQ0Y7QStEeHZlSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEdtMGVsQjtFd0JsMGVNOztJMkY4ckJRLGtCYi9yQkk7RXRHdTBlbEI7RXVCdDBlTTs7STRGcXNCWSxtQmJqc0JIO0V0R3MwZWY7RXdCMTBlTTs7STJGd3NCWSxrQmJwc0JIO0V0RzAwZWY7RXVCOTBlTTs7STRGcXNCWSxtQmJqc0JIO0V0RzgwZWY7RXdCbDFlTTs7STJGd3NCWSxrQmJwc0JIO0V0R2sxZWY7RXVCdDFlTTs7STRGcXNCWSxtQmJqc0JIO0V0R3MxZWY7RXdCMTFlTTs7STJGd3NCWSxrQmJwc0JIO0V0RzAxZWY7RXVCOTFlTTs7STRGZ3RCVSxrQmJyc0JVO0V0R3UxZTFCO0V3QmwyZU07O0kyRm10QlUsaUJieHNCVTtFdEcyMWUxQjtBQUNGO0ErRGx5ZUk7RXhDckVJOztJNEZ3b0JFO0VuSG91ZFI7RXdCNTJlTTs7STJGMm9CRTtFbkhxdWRSO0FBQ0Y7QStENXllSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEd1M2VsQjtFd0J0M2VNOztJMkZvcEJRLG1CYnJwQkk7RXRHMjNlbEI7RXVCMTNlTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzAzZWY7RXdCOTNlTTs7STJGOHBCWSxtQmIxcEJIO0V0RzgzZWY7RXVCbDRlTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2s0ZWY7RXdCdDRlTTs7STJGOHBCWSxtQmIxcEJIO0V0R3M0ZWY7RXVCMTRlTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzA0ZWY7RXdCOTRlTTs7STJGOHBCWSxtQmIxcEJIO0V0Rzg0ZWY7RXVCbDVlTTs7STRGc3FCVSxpQmIzcEJVO0V0RzI0ZTFCO0V3QnQ1ZU07O0kyRnlxQlUsa0JiOXBCVTtFdEcrNGUxQjtBQUNGO0ErRHQxZUk7RXhDckVJOztJNEZrckJFO0VuSDh1ZFI7RXdCaDZlTTs7STJGcXJCRTtFbkgrdWRSO0FBQ0Y7QStEaDJlSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEcyNmVsQjtFd0IxNmVNOztJMkY4ckJRLGtCYi9yQkk7RXRHKzZlbEI7RXVCOTZlTTs7STRGcXNCWSxtQmJqc0JIO0V0Rzg2ZWY7RXdCbDdlTTs7STJGd3NCWSxrQmJwc0JIO0V0R2s3ZWY7RXVCdDdlTTs7STRGcXNCWSxtQmJqc0JIO0V0R3M3ZWY7RXdCMTdlTTs7STJGd3NCWSxrQmJwc0JIO0V0RzA3ZWY7RXVCOTdlTTs7STRGcXNCWSxtQmJqc0JIO0V0Rzg3ZWY7RXdCbDhlTTs7STJGd3NCWSxrQmJwc0JIO0V0R2s4ZWY7RXVCdDhlTTs7STRGZ3RCVSxrQmJyc0JVO0V0Rys3ZTFCO0V3QjE4ZU07O0kyRm10QlUsaUJieHNCVTtFdEdtOGUxQjtBQUNGO0ErRDE0ZUk7RXhDckVJOztJNEZ3b0JFO0VuSDQwZFI7RXdCcDllTTs7STJGMm9CRTtFbkg2MGRSO0FBQ0Y7QStEcDVlSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEcrOWVsQjtFd0I5OWVNOztJMkZvcEJRLG1CYnJwQkk7RXRHbStlbEI7RXVCbCtlTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2srZWY7RXdCdCtlTTs7STJGOHBCWSxtQmIxcEJIO0V0R3MrZWY7RXVCMStlTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzArZWY7RXdCOStlTTs7STJGOHBCWSxtQmIxcEJIO0V0RzgrZWY7RXVCbC9lTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2svZWY7RXdCdC9lTTs7STJGOHBCWSxtQmIxcEJIO0V0R3MvZWY7RXVCMS9lTTs7STRGc3FCVSxpQmIzcEJVO0V0R20vZTFCO0V3QjkvZU07O0kyRnlxQlUsa0JiOXBCVTtFdEd1L2UxQjtBQUNGO0ErRDk3ZUk7RXhDckVJOztJNEZrckJFO0VuSHMxZFI7RXdCeGdmTTs7STJGcXJCRTtFbkh1MWRSO0FBQ0Y7QStEeDhlSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEdtaGZsQjtFd0JsaGZNOztJMkY4ckJRLGtCYi9yQkk7RXRHdWhmbEI7RXVCdGhmTTs7STRGcXNCWSxtQmJqc0JIO0V0R3NoZmY7RXdCMWhmTTs7STJGd3NCWSxrQmJwc0JIO0V0RzBoZmY7RXVCOWhmTTs7STRGcXNCWSxtQmJqc0JIO0V0RzhoZmY7RXdCbGlmTTs7STJGd3NCWSxrQmJwc0JIO0V0R2tpZmY7RXVCdGlmTTs7STRGcXNCWSxtQmJqc0JIO0V0R3NpZmY7RXdCMWlmTTs7STJGd3NCWSxrQmJwc0JIO0V0RzBpZmY7RXVCOWlmTTs7STRGZ3RCVSxrQmJyc0JVO0V0R3VpZjFCO0V3QmxqZk07O0kyRm10QlUsaUJieHNCVTtFdEcyaWYxQjtBQUNGO0ErRGwvZUk7RXhDckVJOztJNEZ3b0JFO0VuSG83ZFI7RXdCNWpmTTs7STJGMm9CRTtFbkhxN2RSO0FBQ0Y7QStENS9lSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEd1a2ZsQjtFd0J0a2ZNOztJMkZvcEJRLG1CYnJwQkk7RXRHMmtmbEI7RXVCMWtmTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzBrZmY7RXdCOWtmTTs7STJGOHBCWSxtQmIxcEJIO0V0RzhrZmY7RXVCbGxmTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2tsZmY7RXdCdGxmTTs7STJGOHBCWSxtQmIxcEJIO0V0R3NsZmY7RXVCMWxmTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzBsZmY7RXdCOWxmTTs7STJGOHBCWSxtQmIxcEJIO0V0RzhsZmY7RXVCbG1mTTs7STRGc3FCVSxpQmIzcEJVO0V0RzJsZjFCO0V3QnRtZk07O0kyRnlxQlUsa0JiOXBCVTtFdEcrbGYxQjtBQUNGO0ErRHRpZkk7RXhDckVJOztJNEZrckJFO0VuSDg3ZFI7RXdCaG5mTTs7STJGcXJCRTtFbkgrN2RSO0FBQ0Y7QStEaGpmSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEcybmZsQjtFd0IxbmZNOztJMkY4ckJRLGtCYi9yQkk7RXRHK25mbEI7RXVCOW5mTTs7STRGcXNCWSxtQmJqc0JIO0V0RzhuZmY7RXdCbG9mTTs7STJGd3NCWSxrQmJwc0JIO0V0R2tvZmY7RXVCdG9mTTs7STRGcXNCWSxtQmJqc0JIO0V0R3NvZmY7RXdCMW9mTTs7STJGd3NCWSxrQmJwc0JIO0V0RzBvZmY7RXVCOW9mTTs7STRGcXNCWSxtQmJqc0JIO0V0RzhvZmY7RXdCbHBmTTs7STJGd3NCWSxrQmJwc0JIO0V0R2twZmY7RXVCdHBmTTs7STRGZ3RCVSxrQmJyc0JVO0V0RytvZjFCO0V3QjFwZk07O0kyRm10QlUsaUJieHNCVTtFdEdtcGYxQjtBQUNGO0ErRDFsZkk7RXhDckVJOztJNEZ3b0JFO0VuSDRoZVI7RXdCcHFmTTs7STJGMm9CRTtFbkg2aGVSO0FBQ0Y7QStEcG1mSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEcrcWZsQjtFd0I5cWZNOztJMkZvcEJRLG1CYnJwQkk7RXRHbXJmbEI7RXVCbHJmTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2tyZmY7RXdCdHJmTTs7STJGOHBCWSxtQmIxcEJIO0V0R3NyZmY7RXVCMXJmTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzByZmY7RXdCOXJmTTs7STJGOHBCWSxtQmIxcEJIO0V0RzhyZmY7RXVCbHNmTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2tzZmY7RXdCdHNmTTs7STJGOHBCWSxtQmIxcEJIO0V0R3NzZmY7RXVCMXNmTTs7STRGc3FCVSxpQmIzcEJVO0V0R21zZjFCO0V3QjlzZk07O0kyRnlxQlUsa0JiOXBCVTtFdEd1c2YxQjtBQUNGO0ErRDlvZkk7RXhDckVJOztJNEZrckJFO0VuSHNpZVI7RXdCeHRmTTs7STJGcXJCRTtFbkh1aWVSO0FBQ0Y7QStEeHBmSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEdtdWZsQjtFd0JsdWZNOztJMkY4ckJRLGtCYi9yQkk7RXRHdXVmbEI7RXVCdHVmTTs7STRGcXNCWSxtQmJqc0JIO0V0R3N1ZmY7RXdCMXVmTTs7STJGd3NCWSxrQmJwc0JIO0V0RzB1ZmY7RXVCOXVmTTs7STRGcXNCWSxtQmJqc0JIO0V0Rzh1ZmY7RXdCbHZmTTs7STJGd3NCWSxrQmJwc0JIO0V0R2t2ZmY7RXVCdHZmTTs7STRGcXNCWSxtQmJqc0JIO0V0R3N2ZmY7RXdCMXZmTTs7STJGd3NCWSxrQmJwc0JIO0V0RzB2ZmY7RXVCOXZmTTs7STRGZ3RCVSxrQmJyc0JVO0V0R3V2ZjFCO0V3Qmx3Zk07O0kyRm10QlUsaUJieHNCVTtFdEcydmYxQjtBQUNGO0FtRHJwZlE7RWdFNm1CTjtFQUNBO0FuSDJpZUY7QW1IL2hlSTtFQUNFO0FuSGlpZU47QW1INWhlRTtFQUNFO0FuSDhoZUo7QW1IM2hlRTtFQUNFO0VBQ0E7QW5INmhlSjtBbUgxaGVFO0VBQ0U7QW5INGhlSjtBbUh6aGVFO0VBQ0U7RUFDQTtFQUNBO0FuSDJoZUo7QW1IemhlSTtFQUNFO0FuSDJoZU47QW1INWhlSTtFQUNFO0FuSDJoZU47QW1IdmhlRTtFQUNFO0FuSHloZUo7QW1IdGhlRTtFQUNFO0VBQ0E7QW5Id2hlSjtBbUhyaGVJO0VBQ0U7QW5IdWhlTjtBbUhwaGVJO0VBQ0U7RUFDQTtBbkhzaGVOO0FtSG5oZU07RUFDRTtBbkhxaGVSO0FtSGpoZUk7RUFDRTtBbkhtaGVOO0FtSGpoZUk7RUFDRTtJQUNFO0lBQ0E7RW5IbWhlTjtFbUhoaGVNO0lBQ0U7RW5Ia2hlUjtFbUgvZ2VNO0lBQ0U7RW5IaWhlUjtBQUNGO0FtSDdnZUk7RUFDRTtFQUNBO0FuSCtnZU47QW1INWdlTTtFQUNFO0FuSDhnZVI7QW1IM2dlTTtFQUNFO0FuSDZnZVI7QW1IMWdlUTtFQUNFO0FuSDRnZVY7QW1IemdlUTtFQUNFO0FuSDJnZVY7QW1IdGdlRTtFQUNFO0FuSHdnZUo7QW1IdGdlSTtFQUNFO0FuSHdnZU47QW1IcGdlRTtFQUNFO0FuSHNnZUo7QW1IbmdlSTtFQUNFO0FuSHFnZU47QW1IbmdlTTtFQUNFO0VBQ0E7QW5IcWdlUjtBbUhuZ2VRO0VBQ0U7QW5IcWdlVjtBbUhuZ2VVO0VBQ0U7QW5IcWdlWjtBbUg5L2RFO0VBQ0U7QW5IZ2dlSjtBbUg5L2RJO0VBQ0U7QW5IZ2dlTjtBbUg3L2RJO0VBQ0U7QW5IKy9kTjtBbUgxL2RJO0VBQ0U7QW5INC9kTjtBbUh4L2RFO0VBQ0U7QW5IMC9kSjtBbUh0L2RFO0VBQ0U7QW5Idy9kSjtBbUhyL2RJO0VBQ0U7QW5IdS9kTjtBbUhwL2RJO0VBRUU7QW5IcS9kTjtBbUhsL2RJO0VBQ0U7QW5Iby9kTjtBbUhuL2RNO0VBQ0U7QW5IcS9kUjtBbUgzK2RRO0VBQ0U7QW5INitkVjtBbUgzK2RVO0VBQ0U7QW5INitkWjtBbUgxK2RVO0VBQ0U7QW5INCtkWjtBbUgxK2RZO0VBQ0U7QW5INCtkZDtBbUhuK2RRO0VBQ0U7QW5IcStkVjtBbUhsK2RRO0VBQ0U7QW5IbytkVjs7QW1EaHlmUTtFZ0V5bUJOO0VBQ0E7RTdEeHRCTTtBdERvNWZSO0FtSHZyZUk7RTdEaHVCSTtFQUNBO0F0RDA1ZlI7QXdCaDZmUTtFOEJLQTtFQUNBO0F0RDg1ZlI7QW1IeHJlSTtFQUNFO0U3RHJ1QkU7QXREZzZmUjtBbUh0cmVFO0VBQ0U7QW5Id3JlSjtBbUhycmVFO0VBQ0U7RUFDQTtBbkh1cmVKO0FtSHByZUU7RUFDRTtBbkhzcmVKO0FtSG5yZUU7RUFDRTtFQUNBO0VBQ0E7QW5IcXJlSjtBbUhucmVJO0VBQ0U7QW5IcXJlTjtBbUh0cmVJO0VBQ0U7QW5IcXJlTjtBbUhqcmVFO0VBQ0U7QW5IbXJlSjtBbUhocmVFO0VBQ0U7RUFDQTtBbkhrcmVKO0FtSC9xZUk7RUFDRTtBbkhpcmVOO0FtSDlxZUk7RUFDRTtFQUNBO0FuSGdyZU47QW1IN3FlTTtFQUNFO0FuSCtxZVI7QW1IM3FlSTtFQUNFO0FuSDZxZU47QW1IM3FlSTtFQUNFO0lBQ0U7SUFDQTtFbkg2cWVOO0VtSDFxZU07SUFDRTtFbkg0cWVSO0VtSHpxZU07SUFDRTtFbkgycWVSO0FBQ0Y7QW1IdnFlSTtFQUNFO0VBQ0E7QW5IeXFlTjtBbUh0cWVNO0VBQ0U7QW5Id3FlUjtBbUhycWVNO0VBQ0U7QW5IdXFlUjtBbUhwcWVRO0VBQ0U7QW5Ic3FlVjtBbUhucWVRO0VBQ0U7QW5IcXFlVjtBbUhocWVFO0VBQ0U7QW5Ia3FlSjtBbUhocWVJO0VBQ0U7QW5Ia3FlTjtBbUg5cGVFO0VBQ0U7QW5IZ3FlSjtBbUg3cGVJO0VBQ0U7QW5IK3BlTjtBbUg3cGVNO0VBQ0U7RUFDQTtBbkgrcGVSO0FtSDdwZVE7RUFDRTtBbkgrcGVWO0FtSDdwZVU7RUFDRTtBbkgrcGVaO0FtSHhwZUU7RUFDRTtBbkgwcGVKO0FtSHhwZUk7RUFDRTtBbkgwcGVOO0FtSHZwZUk7RUFDRTtBbkh5cGVOO0FtSC9vZUU7RUFDRTtBbkhpcGVKO0FtSDdvZUU7RUFDRTtBbkgrb2VKO0FtSDVvZUk7RUFDRTtBbkg4b2VOO0FtSDNvZUk7RUFFRTtBbkg0b2VOO0FtSHpvZUk7RUFDRTtBbkgyb2VOO0FtSDFvZU07RUFDRTtBbkg0b2VSO0FtSGxvZVE7RUFDRTtBbkhvb2VWO0FtSGxvZVU7RUFDRTtBbkhvb2VaO0FtSGpvZVU7RUFDRTtBbkhtb2VaO0FtSGpvZVk7RUFDRTtBbkhtb2VkO0FtSDFuZVE7RUFDRTtBbkg0bmVWO0FtSHpuZVE7RUFDRTtBbkgybmVWOztBbUhobmVNO0VBQ0UsbUJoRXhyQlM7QW5EMnlmakI7QW1IbG5lUTtFQUNFO0FuSG9uZVY7QW1IbG5lUTtFQUNFO0FuSG9uZVY7QW1Ibm5lVTtFQUNFLFd2RnI4Qkg7QTVCMGpnQlQ7QW1IN25lTTtFQUNFLG1CaEV4ckJTO0FuRHV6ZmpCO0FtSDluZVE7RUFDRTtBbkhnb2VWO0FtSDluZVE7RUFDRTtBbkhnb2VWO0FtSC9uZVU7RUFDRSxXdkZyOEJIO0E1QnNrZ0JUO0FtSHpvZU07RUFDRSxtQmhFeHJCUztBbkRtMGZqQjtBbUgxb2VRO0VBQ0U7QW5ING9lVjtBbUgxb2VRO0VBQ0U7QW5ING9lVjtBbUgzb2VVO0VBQ0UsV3ZGcjhCSDtBNUJrbGdCVDtBbUhycGVNO0VBQ0UsZ0JoRXhyQlM7QW5EKzBmakI7QW1IdHBlUTtFQUNFO0FuSHdwZVY7QW1IdHBlUTtFQUNFO0FuSHdwZVY7QW1IdnBlVTtFQUNFLFd2RnI4Qkg7QTVCOGxnQlQ7QW1IanFlTTtFQUNFLG1CaEV4ckJTO0FuRDIxZmpCO0FtSGxxZVE7RUFDRTtBbkhvcWVWO0FtSGxxZVE7RUFDRTtBbkhvcWVWO0FtSG5xZVU7RUFDRSxXdkZyOEJIO0E1QjBtZ0JUO0FtSDdxZU07RUFDRSxtQmhFeHJCUztBbkR1MmZqQjtBbUg5cWVRO0VBQ0U7QW5IZ3JlVjtBbUg5cWVRO0VBQ0U7QW5IZ3JlVjtBbUgvcWVVO0VBQ0UsV3ZGcjhCSDtBNUJzbmdCVDtBbUh6cmVNO0VBQ0UsbUJoRXhyQlM7QW5EbTNmakI7QW1IMXJlUTtFQUNFO0FuSDRyZVY7QW1IMXJlUTtFQUNFO0FuSDRyZVY7QW1IM3JlVTtFQUNFLFd2RnI4Qkg7QTVCa29nQlQ7QW1IcnNlTTtFQUNFLG1CaEV4ckJTO0FuRCszZmpCO0FtSHRzZVE7RUFDRTtBbkh3c2VWO0FtSHRzZVE7RUFDRTtBbkh3c2VWO0FtSHZzZVU7RUFDRSxXdkZyOEJIO0E1QjhvZ0JUOztBc0g5b2dCQTtFQUNFO0lBQUs7RXRIa3BnQkw7QUFDRjtBc0hocGdCQTtFQUNFO0VBQ0EsV0NSc0I7RURTdEIsWUNUc0I7RURVdEI7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdEhpcGdCRjs7QXNIOW9nQkE7RUFDRSxXQ2Z5QjtFRGdCekIsWUNoQnlCO0VEaUJ6QixtQkNmeUI7QXZIZ3FnQjNCOztBc0gxb2dCQTtFQUNFO0lBQ0U7RXRINm9nQkY7RXNIM29nQkE7SUFDRTtJQUNBO0V0SDZvZ0JGO0FBQ0Y7QXNIMW9nQkE7RUFDRTtFQUNBLFdDeENzQjtFRHlDdEIsWUN6Q3NCO0VEMEN0QjtFQUNBO0VBRUE7RUFDQTtFQUNBO0F0SDJvZ0JGOztBc0h4b2dCQTtFQUNFLFdDL0N5QjtFRGdEekIsWUNoRHlCO0F2SDJyZ0IzQjs7QXdIanNnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JDSnVCO0F6SHdzZ0J6QjtBd0hsc2dCRTtFQUNFO0F4SG9zZ0JKO0F3SGpzZ0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYXZGUnFCO0FqQzJzZ0J6Qjs7QXdIL3JnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxnQkN0QnVCO0VEdUJ2QjtFQUNBO0VBQ0E7QXhIa3NnQkY7QXdIaHNnQkU7RUFDRTtBeEhrc2dCSjtBd0gvcmdCRTtFQUNFO0VBQ0E7QXhIaXNnQko7QXdIOXJnQkU7O0VBRUU7RUFDQTtFQUNBLHFCakNoQ3lCO0VpQ2lDekIsb0JqQ2pDeUI7QXZGaXVnQjdCO0F3SDlyZ0JJOztFQUNFO0VBQ0E7RUFDQTtBeEhpc2dCTjtBdUI3dWdCUTs7RWlHOENBO0VBQ0E7QXhIbXNnQlI7QXdCbHZnQlE7O0VnR2tEQTtFQUNBO0F4SG9zZ0JSO0F3SGhzZ0JJOztFQUNFO0F4SG1zZ0JOOztBbURyb2dCUTtFcUVwRE47RWxFdkRJO0F0RHF2Z0JOO0F3SDFyZ0JJOztFQUVFO0F4SDRyZ0JOO0EwQnR2Z0JFOzs7RThGNkRNO0F4SDhyZ0JSO0F3SDNyZ0JNOztFQUNFO0F4SDhyZ0JSO0F3SDFyZ0JJOzs7O0VBSUU7QXhINHJnQk47QXdIeHJnQkU7RUFDRTtBeEgwcmdCSjtBd0h6cmdCSTtFQUNFO0F4SDJyZ0JOO0EwQjN3Z0JFO0U4Rm1GTTtBeEgycmdCUjs7QW1EMXFnQlE7RXFFaEROO0VsRXZESTtBdERzeGdCTjtBd0gzdGdCSTs7RUFFRTtBeEg2dGdCTjtBMEJ2eGdCRTs7O0U4RjZETTtBeEgrdGdCUjtBd0g1dGdCTTs7RUFDRTtBeEgrdGdCUjtBd0gzdGdCSTs7OztFQUlFO0F4SDZ0Z0JOO0F3SHp0Z0JFO0VBQ0U7QXhIMnRnQko7QXdIMXRnQkk7RUFDRTtBeEg0dGdCTjtBMEI1eWdCRTtFOEZtRk07QXhINHRnQlI7O0EwSDd6Z0JBO0VBQ0U7RUFDQSxXQ0prQjtFREtsQixZQ0prQjtBM0hvMGdCcEI7O0EwSDd6Z0JBO0VBQ0U7RUFDQTtFQUNBO0ExSGcwZ0JGOztBMEg3emdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdEZKRTtFc0ZRQTtFQUNBO0ExSDh6Z0JKO0EwSDN6Z0JFO0VBQ0U7RUFDQSxRQ2RvQjtFRGVwQixTQ2ZvQjtFRGdCcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQjlGbENLO0U4Rm1DTDtFQUNBO0V0RnRCQTtBcENvMWdCSjs7QTBIeHpnQkU7RUFDRTtBMUgyemdCSjs7QTBIdnpnQkE7RUFFSTtFQUNBO0VBQ0E7RUFFRjtFQUtFLGdEN0ZqRDBCO0E3QnEyZ0I5Qjs7QTBIaHpnQkE7RUFDRTtFQUNBO0ExSG16Z0JGOztBMEg1eWdCQTtFRTFFRSxXREtxQjtFQ0pyQixZREtxQjtBM0hxM2dCdkI7QTRIeDNnQkU7RUFDRSxlREdtQjtBM0h1M2dCdkI7QTRIeDNnQkk7RUFDRTtFQUNBO0E1SDAzZ0JOO0E0SHgzZ0JJO0VBQ0UsZURKaUI7QTNIODNnQnZCO0E0SHIzZ0JJO0VBQ0U7QTVIdTNnQk47O0EwSDF6Z0JBO0VFOUVFLFdEU3FCO0VDUnJCLFlEU3FCO0EzSG00Z0J2QjtBNEgxNGdCRTtFQUNFLGNET21CO0EzSHE0Z0J2QjtBNEgxNGdCSTtFQUNFO0VBQ0E7QTVINDRnQk47QTRIMTRnQkk7RUFDRTtBNUg0NGdCTjtBNEh2NGdCSTtFQUNFO0E1SHk0Z0JOOztBMEhyMGdCQTtFQUNFLFdDekV1QjtBM0hpNWdCekI7QTBIcjBnQkk7RUFDRTtBMUh1MGdCTjtBMEhyMGdCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlQy9GYztFRGdHZDtFQUNBO0VBQ0EsYzlGNUZPO0U4RjZGUDtFQUNBO0VBQ0E7RUFDQTtBMUh1MGdCTjtBdUI3NmdCUTtFbUd5R0E7QTFIdTBnQlI7QTBIajBnQkk7RUFDRTtBMUhtMGdCTjtBMEhqMGdCSTtFQUNFO0VBQ0EsVzlGcEhHO0U4RnFISDtBMUhtMGdCTjtBMEg5emdCRTtFRTdIQSxXRGN1QjtFQ2J2QixZREtxQjtBM0h5N2dCdkI7QTRINTdnQkU7RUFDRSxlREdtQjtBM0gyN2dCdkI7QTRINTdnQkk7RUFDRTtFQUNBO0E1SDg3Z0JOO0E0SDU3Z0JJO0VBQ0UsZURKaUI7QTNIazhnQnZCO0E0SHo3Z0JJO0VBQ0U7QTVIMjdnQk47QTBIMzBnQkU7RUVqSUEsV0RldUI7RUNkdkIsWURTcUI7QTNIczhnQnZCO0E0SDc4Z0JFO0VBQ0UsY0RPbUI7QTNIdzhnQnZCO0E0SDc4Z0JJO0VBQ0U7RUFDQTtBNUgrOGdCTjtBNEg3OGdCSTtFQUNFO0E1SCs4Z0JOO0E0SDE4Z0JJO0VBQ0U7QTVINDhnQk47O0EwSGwxZ0JFO0VBQ0UseUI5RnJJUztFOEZzSVQ7QTFIcTFnQko7QTBIbjFnQkk7RUFDRTtFQUNBO0VBQ0EsV0NoSmM7RURpSmQsWUNqSmM7RURrSmQ7RUFDQTtFQUNBO0ExSHExZ0JOO0EwSGgxZ0JFO0VFcElBLFdEbEJxQjtFQ21CckIsWURsQnFCO0EzSHkrZ0J2QjtBNEhyOWdCRTtFQUNFLFdEckJtQjtFQ3NCbkIsWUR0Qm1CO0EzSDYrZ0J2QjtBNEhuOWdCSTtFQUNFO0E1SHE5Z0JOO0EwSHYxZ0JFO0VFeElBLFdEZHFCO0VDZXJCLFlEZHFCO0EzSGcvZ0J2QjtBNEhoK2dCRTtFQUNFLFdEakJtQjtFQ2tCbkIsWURsQm1CO0EzSG8vZ0J2QjtBNEg5OWdCSTtFQUNFO0E1SGcrZ0JOOztBNEhwOWdCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SHU5Z0JKO0E0SHI5Z0JJO0VBQ0U7QTVIdTlnQk47O0E0SGwrZ0JFO0VBQ0UseUJ6RWlPYTtBbkRvd2dCakI7O0E0SHI5Z0JFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRHl3Z0JqQjtBNEh0OWdCSTtFQUNFLHFCekU0TVc7QW5ENHdnQmpCO0E0SHQ5Z0JJO0VBQ0UsY3pFeU1XO0FuRCt3Z0JqQjs7QTRIbDlnQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5Eb3hnQmpCO0E0SG45Z0JJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkR3eGdCakI7QTRIbjlnQkk7RUFDRSxjekUwTFc7QW5EMnhnQmpCOztBNEh2L2dCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SDAvZ0JKO0E0SHgvZ0JJO0VBQ0U7QTVIMC9nQk47O0E0SHJnaEJFO0VBQ0UseUJ6RWlPYTtBbkR1eWdCakI7O0E0SHgvZ0JFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRDR5Z0JqQjtBNEh6L2dCSTtFQUNFLHFCekU0TVc7QW5EK3lnQmpCO0E0SHovZ0JJO0VBQ0UsY3pFeU1XO0FuRGt6Z0JqQjs7QTRIci9nQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EdXpnQmpCO0E0SHQvZ0JJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkQyemdCakI7QTRIdC9nQkk7RUFDRSxjekUwTFc7QW5EOHpnQmpCOztBNEgxaGhCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SDZoaEJKO0E0SDNoaEJJO0VBQ0U7QTVINmhoQk47O0E0SHhpaEJFO0VBQ0UseUJ6RWlPYTtBbkQwMGdCakI7O0E0SDNoaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRCswZ0JqQjtBNEg1aGhCSTtFQUNFLHFCekU0TVc7QW5EazFnQmpCO0E0SDVoaEJJO0VBQ0UsY3pFeU1XO0FuRHExZ0JqQjs7QTRIeGhoQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EMDFnQmpCO0E0SHpoaEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkQ4MWdCakI7QTRIemhoQkk7RUFDRSxjekUwTFc7QW5EaTJnQmpCOztBNEg3amhCRTtFQUNFLHNCekUyTmE7RXlFMU5iO0E1SGdraEJKO0E0SDlqaEJJO0VBQ0U7QTVIZ2toQk47O0E0SDNraEJFO0VBQ0Usc0J6RWlPYTtBbkQ2MmdCakI7O0E0SDlqaEJFO0VBQ0U7RUFDQSxrQnpFK01hO0FuRGszZ0JqQjtBNEgvamhCSTtFQUNFLGtCekU0TVc7QW5EcTNnQmpCO0E0SC9qaEJJO0VBQ0UsV3pFeU1XO0FuRHczZ0JqQjs7QTRIM2poQkU7RUFDRTtFQUNBLGtCekVpTWE7QW5ENjNnQmpCO0E0SDVqaEJJO0VBQ0Usc0J6RThMVztFeUU3TFgsa0J6RTZMVztBbkRpNGdCakI7QTRINWpoQkk7RUFDRSxXekUwTFc7QW5EbzRnQmpCOztBNEhobWhCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SG1taEJKO0E0SGptaEJJO0VBQ0U7QTVIbW1oQk47O0E0SDltaEJFO0VBQ0UseUJ6RWlPYTtBbkRnNWdCakI7O0E0SGptaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRHE1Z0JqQjtBNEhsbWhCSTtFQUNFLHFCekU0TVc7QW5EdzVnQmpCO0E0SGxtaEJJO0VBQ0UsY3pFeU1XO0FuRDI1Z0JqQjs7QTRIOWxoQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EZzZnQmpCO0E0SC9saEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkRvNmdCakI7QTRIL2xoQkk7RUFDRSxjekUwTFc7QW5EdTZnQmpCOztBNEhub2hCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SHNvaEJKO0E0SHBvaEJJO0VBQ0U7QTVIc29oQk47O0E0SGpwaEJFO0VBQ0UseUJ6RWlPYTtBbkRtN2dCakI7O0E0SHBvaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRHc3Z0JqQjtBNEhyb2hCSTtFQUNFLHFCekU0TVc7QW5EMjdnQmpCO0E0SHJvaEJJO0VBQ0UsY3pFeU1XO0FuRDg3Z0JqQjs7QTRIam9oQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EbThnQmpCO0E0SGxvaEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkR1OGdCakI7QTRIbG9oQkk7RUFDRSxjekUwTFc7QW5EMDhnQmpCOztBNEh0cWhCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SHlxaEJKO0E0SHZxaEJJO0VBQ0U7QTVIeXFoQk47O0E0SHByaEJFO0VBQ0UseUJ6RWlPYTtBbkRzOWdCakI7O0E0SHZxaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRDI5Z0JqQjtBNEh4cWhCSTtFQUNFLHFCekU0TVc7QW5EODlnQmpCO0E0SHhxaEJJO0VBQ0UsY3pFeU1XO0FuRGkrZ0JqQjs7QTRIcHFoQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EcytnQmpCO0E0SHJxaEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkQwK2dCakI7QTRIcnFoQkk7RUFDRSxjekUwTFc7QW5ENitnQmpCOztBNEh6c2hCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SDRzaEJKO0E0SDFzaEJJO0VBQ0U7QTVINHNoQk47O0E0SHZ0aEJFO0VBQ0UseUJ6RWlPYTtBbkR5L2dCakI7O0E0SDFzaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRDgvZ0JqQjtBNEgzc2hCSTtFQUNFLHFCekU0TVc7QW5EaWdoQmpCO0E0SDNzaEJJO0VBQ0UsY3pFeU1XO0FuRG9naEJqQjs7QTRIdnNoQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EeWdoQmpCO0E0SHhzaEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkQ2Z2hCakI7QTRIeHNoQkk7RUFDRSxjekUwTFc7QW5EZ2hoQmpCOztBMEh6bGhCRTtFQUNFO0ExSDRsaEJKO0EwSDFsaEJJO0VBQ0U7QTFINGxoQk47O0EwSHRsaEJFO0VBQ0U7QTFIeWxoQko7QTBIdmxoQkk7RUFDRTtBMUh5bGhCTjs7QTZIcHloQkE7RUFDRTtFQUNBLG1CcEJFUTtFb0JDTjtBN0hxeWhCSjtBNkhqeWhCRTs7RUFFRSxnQmxHWHNCO0VrR1l0QjtFQUNBO0VBR0U7QTdIaXloQk47QTZIN3hoQkU7RUFDRTtFQUNBO0VBR0U7QTdINnhoQk47QTZIenhoQkU7RUFDRTtFQUdFO0E3SHl4aEJOOztBNkg5d2hCRTs7RUFFRSxlbEc3Q3NCO0EzQjh6aEIxQjs7QTZIeHdoQkE7RUFDRTtFQUdFO0E3SHl3aEJKO0E2SHR3aEJFOztFQUVFO0VBR0U7QTdIc3doQk47QTZIandoQkk7O0VBRUU7QTdIbXdoQk47O0E2SDd2aEJFOzs7O0VBSUU7QTdIZ3doQko7O0E2SHZ2aEJFO0VBR0k7QTdId3ZoQk47O0EwQmgxaEJFO0VBQ0U7SW1HcUdJO0lBQ0E7RTdIK3VoQk47QUFDRjs7QThINzFoQkk7OztFQUlJO0VBRUYseUJEb0hnQztBN0gwdWhCdEM7QThIMTFoQk07Ozs7RUFJRSxxQkQ0RzJFO0E3SGd2aEJuRjs7QTBCcDJoQkU7RUFDRTtJb0dtQkkseUJBSmU7RTlIeTFoQnJCO0U4SG4xaEJNOztJQUVFLHlCQVJhO0U5SDYxaEJyQjtBQUNGOztBOEhwM2hCSTs7O0VBSUk7RUFFRix5QkRvSGdDO0E3SGl3aEJ0QztBOEhqM2hCTTs7OztFQUlFLHFCRDRHMkU7QTdIdXdoQm5GOztBMEIzM2hCRTtFQUNFO0lvR21CSSx5QkFKZTtFOUhnM2hCckI7RThIMTJoQk07O0lBRUUseUJBUmE7RTlIbzNoQnJCO0FBQ0Y7O0E4SDM0aEJJOzs7RUFJSTtFQUVGLHlCRG9IZ0M7QTdId3hoQnRDO0E4SHg0aEJNOzs7O0VBSUUscUJENEcyRTtBN0g4eGhCbkY7O0EwQmw1aEJFO0VBQ0U7SW9HbUJJLHlCQUplO0U5SHU0aEJyQjtFOEhqNGhCTTs7SUFFRSx5QkFSYTtFOUgyNGhCckI7QUFDRjs7QThIbDZoQkk7OztFQUlJO0VBRUYseUJEb0hnQztBN0greWhCdEM7QThILzVoQk07Ozs7RUFJRSxxQkQ0RzJFO0E3SHF6aEJuRjs7QTBCejZoQkU7RUFDRTtJb0dtQkkseUJBSmU7RTlIODVoQnJCO0U4SHg1aEJNOztJQUVFLHlCQVJhO0U5SGs2aEJyQjtBQUNGOztBOEh6N2hCSTs7O0VBSUk7RUFFRix5QkRvSGdDO0E3SHMwaEJ0QztBOEh0N2hCTTs7OztFQUlFLHFCRDRHMkU7QTdINDBoQm5GOztBMEJoOGhCRTtFQUNFO0lvR21CSSx5QkFKZTtFOUhxN2hCckI7RThILzZoQk07O0lBRUUseUJBUmE7RTlIeTdoQnJCO0FBQ0Y7O0E4SGg5aEJJOzs7RUFJSTtFQUVGLHlCRG9IZ0M7QTdINjFoQnRDO0E4SDc4aEJNOzs7O0VBSUUscUJENEcyRTtBN0htMmhCbkY7O0EwQnY5aEJFO0VBQ0U7SW9HbUJJLHlCQUplO0U5SDQ4aEJyQjtFOEh0OGhCTTs7SUFFRSx5QkFSYTtFOUhnOWhCckI7QUFDRjs7QThIditoQkk7OztFQUlJO0VBRUYseUJEb0hnQztBN0hvM2hCdEM7QThIcCtoQk07Ozs7RUFJRSxxQkQ0RzJFO0E3SDAzaEJuRjs7QTBCOStoQkU7RUFDRTtJb0dtQkkseUJBSmU7RTlIbStoQnJCO0U4SDc5aEJNOztJQUVFLHlCQVJhO0U5SHUraEJyQjtBQUNGOztBOEg5L2hCSTs7O0VBSUk7RUFFRix5QkRvSGdDO0E3SDI0aEJ0QztBOEgzL2hCTTs7OztFQUlFLHFCRDRHMkU7QTdIaTVoQm5GOztBMEJyZ2lCRTtFQUNFO0lvR21CSSx5QkFKZTtFOUgwL2hCckI7RThIcC9oQk07O0lBRUUseUJBUmE7RTlIOC9oQnJCO0FBQ0Y7O0E4SHJoaUJJOzs7RUFJSTtFQUVGLHlCRHdIK0I7QTdIODVoQnJDOztBMEJ0aGlCRTtFQUNFO0lvR21CSSx5QkFKZTtFOUgyZ2lCckI7RThIcmdpQk07O0lBRUUseUJBUmE7RTlIK2dpQnJCO0FBQ0Y7O0E4SHRpaUJJOzs7RUFJSTtFQUVGLHlCRHlIaUM7QTdIODZoQnZDO0E4SG5paUJNOzs7O0VBSUUscUJEaUhvRTtBN0hvN2hCNUU7O0EwQjdpaUJFO0VBQ0U7SW9HbUJJLHlCQUplO0U5SGtpaUJyQjtFOEg1aGlCTTs7SUFFRSx5QkFSYTtFOUhzaWlCckI7QUFDRjs7QTZIeDdoQkk7RUFDRTtFQUVFO0VBQ0E7QTdIMDdoQlI7O0E2SDU2aEJJO0VBRUk7RUFDQTtFQUNBO0E3SDg2aEJSO0E2SHg2aEJJO0VBRUk7RUFDQTtFQUNBO0E3SHk2aEJSOztBNkhuNmhCQTtFQUVJO0VBQ0E7QTdIcTZoQko7QTZIbDZoQkU7OztFQUlJO0E3SG02aEJOO0E2SC81aEJFO0VBQ0U7QTdIaTZoQko7QTZINzVoQkk7RUFFSTtBN0g4NWhCUjtBMEJ4bGlCRTtFQUNFO0ltR2tNTTtJQUNBO0U3SHk1aEJSO0FBQ0Y7O0ErRHBoaUJJO0U4RDRJQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0U3SDI0aEJOO0U2SHg0aEJNO0lBQ0U7RTdIMDRoQlI7QUFDRjtBK0RoaWlCSTtFOEQ0SUE7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFN0hzNWhCTjtFNkhuNWhCTTtJQUNFO0U3SHE1aEJSO0FBQ0Y7QStEM2lpQkk7RThENElBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RTdIaTZoQk47RTZIOTVoQk07SUFDRTtFN0hnNmhCUjtBQUNGO0ErRHRqaUJJO0U4RDRJQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0U3SDQ2aEJOO0U2SHo2aEJNO0lBQ0U7RTdIMjZoQlI7QUFDRjtBK0Rqa2lCSTtFOEQ0SUE7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFN0h1N2hCTjtFNkhwN2hCTTtJQUNFO0U3SHM3aEJSO0FBQ0Y7QTZIaDhoQkk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBN0hpOGhCUjtBNkg5N2hCUTtFQUNFO0E3SGc4aEJWOztBNkh6N2hCQTtFQUNFO0VBR0U7QTdIMDdoQko7QTZIdjdoQkU7RUFDRTtBN0h5N2hCSjs7QTZIbjdoQkU7RUFDRTtBN0hzN2hCSjs7QTZIajdoQkU7RUFDRTtBN0hvN2hCSjs7QStIM3JpQkE7RUFDRSxZQ0MrQjtFREEvQjtFQUNBO0V6RzRISSxtQkF0Q2E7RXlHcEZqQjtFQUNBO0VBQ0EsaURDQytCO0VEQS9CO1VBQUE7RUFDQTtFM0ZTRTtFMkZMQTtFQUNBO0EvSDRyaUJKO0ErSHpyaUJFO0VBQ0Usc0JDZjZCO0FoSTBzaUJqQztBK0h4cmlCRTtFQUNFO0EvSDByaUJKO0ErSHZyaUJFO0VBQ0U7RUFDQTtBL0h5cmlCSjtBK0h0cmlCRTtFQUNFO0EvSHdyaUJKOztBK0hwcmlCQTtFQUNFO0VBQ0E7QS9IdXJpQkY7O0ErSHByaUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVFO0VBQ0E7RUFDQTtBL0hzcmlCSjs7QStIbHJpQkE7RUFDRSxnQkNuRCtCO0FoSXd1aUJqQzs7QStIbHJpQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0hxcmlCRjtBK0hucmlCRTtFQVFFO0VBQ0EsYTlGM0RxQjtFOEY0RHJCLFlDdkU2QjtBaElxdmlCakM7QStIM3FpQkU7RUFJRTtBL0gwcWlCSjtBK0h2cWlCRTtFQUlFO0VBQ0E7QS9Ic3FpQko7QStIbnFpQkU7RUFFRTtBL0hvcWlCSjtBK0hqcWlCRTtFQUVFO0VBQ0E7QS9Ia3FpQko7QStIL3BpQkU7RUFJRTtBL0g4cGlCSjtBK0gzcGlCRTtFQUlFO0EvSDBwaUJKO0ErSHZwaUJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9IeXBpQko7O0ErSGhwaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJb3hpQkY7QWlJbHhpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJb3hpQko7O0ErSDNwaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJK3hpQkY7QWlJN3hpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJK3hpQko7O0ErSHRxaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJMHlpQkY7QWlJeHlpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJMHlpQko7O0ErSGpyaUJFO0VFaElBO0VBQ0Esc0I5RXdRZTtFOEV2UWY7QWpJcXppQkY7QWlJbnppQkU7RUFDRTtFQUNBO0VBQ0E7QWpJcXppQko7O0ErSDVyaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJZzBpQkY7QWlJOXppQkU7RUFDRTtFQUNBO0VBQ0E7QWpJZzBpQko7O0ErSHZzaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJMjBpQkY7QWlJejBpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJMjBpQko7O0ErSGx0aUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJczFpQkY7QWlJcDFpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJczFpQko7O0ErSDd0aUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJaTJpQkY7QWlJLzFpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJaTJpQko7O0FrSXgyaUJBO0VBQ0U7RUFDQSxhakdTdUI7RWlHUnZCO0VBQ0EsUzNGS3VCO0VKVHZCLGtNZEl3QjtFY0Z4QjtFQUNBLGdCZFlxQjtFY1hyQixnQmRnQmtCO0VjZmxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ViZ0hJLHNCQXRDYTtFNEc5RWpCO0VBQ0E7QWxJcTNpQkY7QWtJbjNpQkU7RUFBUyxZM0ZQYztBdkM2M2lCekI7QWtJcDNpQkU7RUFDRTtFQUNBO0FsSXMzaUJKO0FrSXAzaUJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxJczNpQk47O0FrSWozaUJBOztFQUVFO0FsSW8zaUJGO0FrSWwzaUJFOztFQUNFLGEzRnRCcUI7RTJGdUJyQixjM0Z0QnFCO0F2QzI0aUJ6Qjs7QWtJajNpQkE7O0VBRUU7QWxJbzNpQkY7QWtJbDNpQkU7O0VBQ0UsYTNGL0JxQjtFMkZnQ3JCLGMzRmpDcUI7QXZDczVpQnpCOztBa0loM2lCRTtFQUNFO0FsSW0zaUJKO0FrSWozaUJJO0VBQ0U7RUFDQTtFQUNBLHlCdEduREc7QTVCczZpQlQ7O0FrSTcyaUJFO0VBQ0U7QWxJZzNpQko7QWtJOTJpQkk7RUFDRTtFQUNBO0VBQ0EsMkJ0Ry9ERztBNUIrNmlCVDs7QWtJMTJpQkU7RUFDRTtBbEk2MmlCSjtBa0kzMmlCSTtFQUNFO0VBQ0E7RUFDQSw0QnRHM0VHO0E1Qnc3aUJUOztBa0l2MmlCRTtFQUNFO0FsSTAyaUJKO0FrSXgyaUJJO0VBQ0U7RUFDQTtFQUNBLDBCdEd2Rkc7QTVCaThpQlQ7O0FrSXAxaUJBO0VBQ0UsZ0IzRmhIdUI7RTJGaUh2QjtFQUNBLFd0R2pITztFc0drSFA7RUFDQSx5QnRHbEhPO0VRYUw7QXBDNjdpQko7O0FtSS84aUJBO0VuRmdCTSxnQ21GZko7QW5JazlpQkY7QWdELzdpQk07RW1GcEJOO0luRnFCUTtFaERrOGlCTjtBQUNGO0FtSXI5aUJFO0VBQ0U7QW5JdTlpQko7O0FtSWw5aUJFO0VBQ0U7QW5JcTlpQko7O0FtSWo5aUJBO0VBQ0U7RUFDQTtFQUNBO0VuRkRJLDZCbUZFSjtBbklvOWlCRjtBZ0RsOWlCTTtFbUZOTjtJbkZPUTtFaERxOWlCTjtBQUNGOztBbUl0OWlCQTtFQUNFO0lBQ0U7RW5JeTlpQkY7RW1JdDlpQkE7SUFDRTtFbkl3OWlCRjtBQUNGO0FtSXI5aUJBO0VBQ0U7RUFDQTtBbkl1OWlCRjs7QW1JaDlpQkE7RUFDRTtBbkltOWlCRjs7QW1JaDlpQkE7RUFDRTtBbkltOWlCRjtBbUlsOWlCRTtFQUNFO0FuSW85aUJKOztBbUkvOGlCRTs7RUFFRTtBbklrOWlCSjtBbUloOWlCSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBWUU7QW5JODlpQk47O0FtSXo5aUJBO0VBQ0U7QW5JNDlpQkY7O0FvSWhpakJBOztFQUVFLHFCL0dzQndCO0UrR3BCeEIsZ0IvR3NCd0I7RStHckJ4QixnQi9Hc0J3QjtBckI0Z2pCMUI7O0FvSTloakJBO0U5R2dITSxvQkF0Q2E7QXRCdzlpQm5COztBb0lqaWpCQTtFOUcrR00sa0JBdENhO0F0QjQ5aUJuQjs7QW9JcGlqQkE7RTlHOEdNLHFCQXRDYTtBdEJnK2lCbkI7O0FvSXZpakJBO0U5RzZHTSxvQkF0Q2E7QXRCbytpQm5COztBb0kxaWpCQTtFOUc0R00scUJBdENhO0F0QncraUJuQjs7QW9JN2lqQkE7RTlHMkdNLG1CQXRDYTtBdEI0K2lCbkI7O0FvSS9pakJBO0U5R3lHTSxxQkF0Q2E7RThHakVqQixnQi9Hd0JrQjtBckIwaGpCcEI7O0FvSTlpakJBO0U5R21HTSxlQXRDYTtFOEczRGpCLGdCL0dXcUI7RStHVnJCLGdCL0dFd0I7QXJCK2lqQjFCOztBb0kvaWpCQTtFOUc4Rk0saUJBdENhO0U4R3REakIsZ0IvR09xQjtFK0dOckIsZ0IvR0h3QjtBckJxampCMUI7O0FvSWhqakJBO0U5R3lGTSxpQkF0Q2E7RThHakRqQixnQi9HR3FCO0UrR0ZyQixnQi9HUndCO0FyQjJqakIxQjs7QW9JampqQkE7RTlHb0ZNLGlCQXRDYTtFOEc1Q2pCLGdCL0dEcUI7RStHRXJCLGdCL0did0I7QXJCaWtqQjFCOztBb0k1aWpCQTtFQUNFLGdCM0IvQ1E7RTJCZ0RSLG1CM0JoRFE7RTJCaURSO0VBQ0E7RUFFRTtBcEk4aWpCSjs7QW9JdGlqQkE7RUFDRSxVL0Y1RGM7RStGOERaO0FwSXdpakJKOztBb0loaWpCQTs7RTlHUEk7RThHVUYsZ0IvR2xFcUI7QXJCcW1qQnZCOztBb0loaWpCQTs7RUFFRSxjL0d2QmM7RStHd0JkLHlCL0dmUTtBckJrampCVjs7QW9JM2hqQkE7RXhCdEZFO0E1R3FuakJGO0F1QjNuakJRO0VxRkNKO0E1RzZuakJKO0F3QjluakJRO0VvRklKO0E1RzZuakJKOztBb0loaWpCQTtFeEIzRkU7QTVHK25qQkY7QXVCcm9qQlE7RXFGQ0o7QTVHdW9qQko7QXdCeG9qQlE7RW9GSUo7QTVHdW9qQko7O0FvSXZpakJBO0VBQ0U7QXBJMGlqQkY7QW9JeGlqQkU7RUFDRSxvQi9HckNtQjtBckIra2pCdkI7O0FvSWhpakJBO0U5RzlDSTtFOEdnREY7QXBJbWlqQkY7O0FvSS9oakJBO0VBQ0UsbUIzQnJIUTtFbkZ1SEoscUJBdENhO0F0QnVrakJuQjs7QW9JL2hqQkE7RUFDRTtFOUcxREU7RThHNERGLGN4R3ZIVztBNUJ5cGpCYjtBb0loaWpCRTtFQUNFO0FwSWtpakJKOztBcUlycWpCQTtFQUNFO0VBQ0E7RUFDQTtBckl3cWpCRjs7QXFJcHFqQkE7RUFDRTtJQUNFO0lBQ0E7RXJJdXFqQkY7QUFDRjtBcUlwcWpCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJJc3FqQkY7QXFJbHFqQkk7RUFDRTtBcklvcWpCTjtBcUlqcWpCSTtFQUNFO0VBQ0E7QXJJbXFqQk47QXFJanFqQk07RUFKRjtJQUtJO0lBQ0E7RXJJb3FqQk47RXFJbHFqQk07SUFDRTtFcklvcWpCUjtBQUNGO0FxSWhxakJJO0VBQ0U7RUFDQTtBcklrcWpCTjtBcUlocWpCTTtFQUpGO0lBS0k7SUFDQTtFckltcWpCTjtFcUlqcWpCTTtJQUNFO0VySW1xakJSO0FBQ0Y7QXFJL3BqQkk7RUFHRTtFQUNBO0VBR0E7QXJJNnBqQk47QXFJeHBqQkU7RUFDRTtBckkwcGpCSjtBcUl4cGpCSTtFQUNFO0FySTBwakJOOztBcUlycGpCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJJd3BqQkY7QStEcHFqQkk7RXNFY0Y7SUFFSSxtQmpEN0NlO0lpRDhDZixrQmpEOUNlO0VwRnNzakJuQjtBQUNGOztBc0lqdmpCQTtFQUFxQjtBdElxdmpCckI7O0FzSXB2akJBO0VBQXFCO0F0SXd2akJyQjs7QXNJdnZqQkE7RUFBcUI7QXRJMnZqQnJCOztBc0kxdmpCQTtFQUFxQjtBdEk4dmpCckI7O0FzSTd2akJBO0VBQXFCO0F0SWl3akJyQjs7QXNJaHdqQkE7RUFBcUI7QXRJb3dqQnJCOztBdUl0d2pCRTtFQUNFO0F2SXl3akJKOztBMEI3dmpCRTs7O0U2R1BJO0F2STB3akJOOztBdUloeGpCRTtFQUNFO0F2SW14akJKOztBMEJ2d2pCRTs7O0U2R1BJO0F2SW94akJOOztBdUkxeGpCRTtFQUNFO0F2STZ4akJKOztBMEJqeGpCRTs7O0U2R1BJO0F2STh4akJOOztBdUlweWpCRTtFQUNFO0F2SXV5akJKOztBMEIzeGpCRTs7O0U2R1BJO0F2SXd5akJOOztBdUk5eWpCRTtFQUNFO0F2SWl6akJKOztBMEJyeWpCRTs7O0U2R1BJO0F2SWt6akJOOztBdUl4empCRTtFQUNFO0F2STJ6akJKOztBMEIveWpCRTs7O0U2R1BJO0F2STR6akJOOztBdUlsMGpCRTtFQUNFO0F2SXEwakJKOztBMEJ6empCRTs7O0U2R1BJO0F2SXMwakJOOztBdUk1MGpCRTtFQUNFO0F2SSswakJKOztBMEJuMGpCRTs7O0U2R1BJO0F2SWcxakJOOztBdUlsMGpCRTtFQUNFO0VBQ0E7RUFDQTtBdklxMGpCSjs7QXVJeDBqQkU7RUFDRTtFQUNBO0VBQ0E7QXZJMjBqQko7O0F1STkwakJFO0VBQ0U7RUFDQTtFQUNBO0F2SWkxakJKOztBdUlwMWpCRTtFQUNFO0VBQ0E7RUFDQTtBdkl1MWpCSjs7QXVJMTFqQkU7RUFDRTtFQUNBO0VBQ0E7QXZJNjFqQko7O0F1SWgyakJFO0VBQ0U7RUFDQTtFQUNBO0F2SW0yakJKOztBdUl0MmpCRTtFQUNFO0VBQ0E7RUFDQTtBdkl5MmpCSjs7QXVJNTJqQkU7RUFDRTtFQUNBO0VBQ0E7QXZJKzJqQko7O0F3STUzakJBO0VBQ0U7QXhJKzNqQkY7O0F3STUzakJBO0VBQ0U7QXhJKzNqQkY7O0F3STUzakJBO0VBQ0UsVzVHcEJPO0E1Qm01akJUOztBdUlsNWpCRTtFQUNFO0F2SXE1akJKOztBMEJ6NGpCRTs7O0U2R1BJO0F2SXM1akJOOztBdUk1NWpCRTtFQUNFO0F2SSs1akJKOztBMEJuNWpCRTs7O0U2R1BJO0F2SWc2akJOOztBdUl0NmpCRTtFQUNFO0F2SXk2akJKOztBMEI3NWpCRTs7O0U2R1BJO0F2STA2akJOOztBdUloN2pCRTtFQUNFO0F2SW03akJKOztBMEJ2NmpCRTs7O0U2R1BJO0F2SW83akJOOztBdUkxN2pCRTtFQUNFO0F2STY3akJKOztBMEJqN2pCRTs7O0U2R1BJO0F2STg3akJOOztBdUlwOGpCRTtFQUNFO0F2SXU4akJKOztBMEIzN2pCRTs7O0U2R1BJO0F2SXc4akJOOztBdUk5OGpCRTtFQUNFO0F2SWk5akJKOztBMEJyOGpCRTs7O0U2R1BJO0F2SWs5akJOOztBdUl4OWpCRTtFQUNFO0F2STI5akJKOztBMEIvOGpCRTs7O0U2R1BJO0F2STQ5akJOOztBdUlsK2pCRTtFQUNFO0F2SXErakJKOztBMEJ6OWpCRTs7O0U2R1BJO0F2SXMrakJOOztBdUk1K2pCRTtFQUNFO0F2SSsrakJKOztBMEJuK2pCRTs7O0U2R1BJO0F2SWcvakJOOztBdUl0L2pCRTtFQUNFO0F2SXkvakJKOztBMEI3K2pCRTs7O0U2R1BJO0F2STAvakJOOztBdUloZ2tCRTtFQUNFO0F2SW1na0JKOztBMEJ2L2pCRTs7O0U2R1BJO0F2SW9na0JOOztBdUkxZ2tCRTtFQUNFO0F2STZna0JKOztBMEJqZ2tCRTs7O0U2R1BJO0F2SThna0JOOztBdUlwaGtCRTtFQUNFO0F2SXVoa0JKOztBMEIzZ2tCRTs7O0U2R1BJO0F2SXdoa0JOOztBdUk5aGtCRTtFQUNFO0F2SWlpa0JKOztBMEJyaGtCRTs7O0U2R1BJO0F2SWtpa0JOOztBdUl4aWtCRTtFQUNFO0F2STJpa0JKOztBMEIvaGtCRTs7O0U2R1BJO0F2STRpa0JOOztBdUlsamtCRTtFQUNFO0F2SXFqa0JKOztBMEJ6aWtCRTs7O0U2R1BJO0F2SXNqa0JOOztBdUk1amtCRTtFQUNFO0F2SStqa0JKOztBMEJuamtCRTs7O0U2R1BJO0F2SWdra0JOOztBdUl0a2tCRTtFQUNFO0F2SXlra0JKOztBMEI3amtCRTs7O0U2R1BJO0F2STBra0JOOztBdUlobGtCRTtFQUNFO0F2SW1sa0JKOztBMEJ2a2tCRTs7O0U2R1BJO0F2SW9sa0JOOztBdUkxbGtCRTtFQUNFO0F2STZsa0JKOztBMEJqbGtCRTs7O0U2R1BJO0F2SThsa0JOOztBdUlwbWtCRTtFQUNFO0F2SXVta0JKOztBMEIzbGtCRTs7O0U2R1BJO0F2SXdta0JOOztBdUk5bWtCRTtFQUNFO0F2SWlua0JKOztBMEJybWtCRTs7O0U2R1BJO0F2SWtua0JOOztBdUl4bmtCRTtFQUNFO0F2STJua0JKOztBMEIvbWtCRTs7O0U2R1BJO0F2STRua0JOOztBdUlsb2tCRTtFQUNFO0F2SXFva0JKOztBMEJ6bmtCRTs7O0U2R1BJO0F2SXNva0JOOztBdUk1b2tCRTtFQUNFO0F2SStva0JKOztBMEJub2tCRTs7O0U2R1BJO0F2SWdwa0JOOztBd0l4bmtCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhJMm5rQkY7O0F5STVwa0JFO0VBQWtCO0F6SWdxa0JwQjs7QXlJL3BrQkU7RUFBa0I7QXpJbXFrQnBCOztBeUlscWtCRTtFQUFrQjtBeklzcWtCcEI7O0F5SXJxa0JFO0VBQWtCO0F6SXlxa0JwQjs7QXlJeHFrQkU7RUFBa0I7QXpJNHFrQnBCOztBeUl6cWtCQTtFQUFtQjtBekk2cWtCbkI7O0F5STVxa0JBO0VBQW1CO0F6SWdya0JuQjs7QXlJL3FrQkE7RUFBbUI7QXpJbXJrQm5COztBeUlscmtCQTtFQUFtQjtBeklzcmtCbkI7O0F5SXJya0JBO0VBQW1CO0F6SXlya0JuQjs7QXlJdHJrQkU7RUFDRTtFQUNBO0F6SXlya0JKOztBeUkzcmtCRTtFQUNFO0VBQ0E7QXpJOHJrQko7O0F5SWhza0JFO0VBQ0U7RUFDQTtBekltc2tCSjs7QXlJcnNrQkU7RUFDRTtFQUNBO0F6SXdza0JKOztBeUkxc2tCRTtFQUNFO0VBQ0E7QXpJNnNrQko7O0F5SS9za0JFO0VBQ0U7RUFDQTtBeklrdGtCSjs7QXlJcHRrQkU7RUFDRTtFQUNBO0F6SXV0a0JKOztBeUl6dGtCRTtFQUNFO0VBQ0E7QXpJNHRrQko7O0F5SXh0a0JBO0VBQ0U7QXpJMnRrQkY7O0F5SXB0a0JBO0VBQ0U7QXpJdXRrQkY7O0F5SXB0a0JBO0VBQ0U7QXpJdXRrQkY7O0F5SXB0a0JBO0VBQ0U7RUFDQTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtFQUNBO0F6SXV0a0JGOztBeUlwdGtCQTtFQUNFO0VBQ0E7QXpJdXRrQkY7O0F5SXB0a0JBO0VBQ0U7RUFDQTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtBekl1dGtCRjs7QXlJanRrQk07RUFBeUI7QXpJcXRrQi9COztBeUlwdGtCTTtFQUF5QjtBekl3dGtCL0I7O0F5SXZ0a0JNO0VBQXlCO0F6STJ0a0IvQjs7QXlJMXRrQk07RUFBeUI7QXpJOHRrQi9COztBeUk3dGtCTTtFQUF5QjtBeklpdWtCL0I7O0F5SS90a0JNO0VBQXlCO0F6SW11a0IvQjs7QXlJbHVrQk07RUFBeUI7QXpJc3VrQi9COztBeUlydWtCTTtFQUF5QjtBekl5dWtCL0I7O0F5SXh1a0JNO0VBQXlCO0F6STR1a0IvQjs7QXlJM3VrQk07RUFBeUI7QXpJK3VrQi9COztBeUludmtCTTtFQUF5QjtBekl1dmtCL0I7O0F5SXR2a0JNO0VBQXlCO0F6STB2a0IvQjs7QXlJenZrQk07RUFBeUI7QXpJNnZrQi9COztBeUk1dmtCTTtFQUF5QjtBeklnd2tCL0I7O0F5SS92a0JNO0VBQXlCO0F6SW13a0IvQjs7QTBJLzFrQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFJazJrQkY7O0FrRXYya0JFO0VBQ0U7RUFDQTtFQUNBO0FsRTAya0JKOztBMklwMmtCTTtFQUF3QjtBM0l3MmtCOUI7O0EySXgya0JNO0VBQXdCO0EzSTQya0I5Qjs7QTJJNTJrQk07RUFBd0I7QTNJZzNrQjlCOztBMkloM2tCTTtFQUF3QjtBM0lvM2tCOUI7O0EySXAza0JNO0VBQXdCO0EzSXcza0I5Qjs7QTJJeDNrQk07RUFBd0I7QTNJNDNrQjlCOztBMkk1M2tCTTtFQUF3QjtBM0lnNGtCOUI7O0EySWg0a0JNO0VBQXdCO0EzSW80a0I5Qjs7QTJJcDRrQk07RUFBd0I7QTNJdzRrQjlCOztBK0R6MGtCSTtFNEUvREU7SUFBd0I7RTNJNjRrQjVCOztFMkk3NGtCSTtJQUF3QjtFM0lpNWtCNUI7O0UySWo1a0JJO0lBQXdCO0UzSXE1a0I1Qjs7RTJJcjVrQkk7SUFBd0I7RTNJeTVrQjVCOztFMkl6NWtCSTtJQUF3QjtFM0k2NWtCNUI7O0UySTc1a0JJO0lBQXdCO0UzSWk2a0I1Qjs7RTJJajZrQkk7SUFBd0I7RTNJcTZrQjVCOztFMklyNmtCSTtJQUF3QjtFM0l5NmtCNUI7O0UySXo2a0JJO0lBQXdCO0UzSTY2a0I1QjtBQUNGO0ErRC8ya0JJO0U0RS9ERTtJQUF3QjtFM0lrN2tCNUI7O0UySWw3a0JJO0lBQXdCO0UzSXM3a0I1Qjs7RTJJdDdrQkk7SUFBd0I7RTNJMDdrQjVCOztFMkkxN2tCSTtJQUF3QjtFM0k4N2tCNUI7O0UySTk3a0JJO0lBQXdCO0UzSWs4a0I1Qjs7RTJJbDhrQkk7SUFBd0I7RTNJczhrQjVCOztFMkl0OGtCSTtJQUF3QjtFM0kwOGtCNUI7O0UySTE4a0JJO0lBQXdCO0UzSTg4a0I1Qjs7RTJJOThrQkk7SUFBd0I7RTNJazlrQjVCO0FBQ0Y7QStEcDVrQkk7RTRFL0RFO0lBQXdCO0UzSXU5a0I1Qjs7RTJJdjlrQkk7SUFBd0I7RTNJMjlrQjVCOztFMkkzOWtCSTtJQUF3QjtFM0krOWtCNUI7O0UySS85a0JJO0lBQXdCO0UzSW0ra0I1Qjs7RTJJbitrQkk7SUFBd0I7RTNJdStrQjVCOztFMkl2K2tCSTtJQUF3QjtFM0kyK2tCNUI7O0UySTMra0JJO0lBQXdCO0UzSSsra0I1Qjs7RTJJLytrQkk7SUFBd0I7RTNJbS9rQjVCOztFMkluL2tCSTtJQUF3QjtFM0l1L2tCNUI7QUFDRjtBK0R6N2tCSTtFNEUvREU7SUFBd0I7RTNJNC9rQjVCOztFMkk1L2tCSTtJQUF3QjtFM0lnZ2xCNUI7O0UySWhnbEJJO0lBQXdCO0UzSW9nbEI1Qjs7RTJJcGdsQkk7SUFBd0I7RTNJd2dsQjVCOztFMkl4Z2xCSTtJQUF3QjtFM0k0Z2xCNUI7O0UySTVnbEJJO0lBQXdCO0UzSWdobEI1Qjs7RTJJaGhsQkk7SUFBd0I7RTNJb2hsQjVCOztFMklwaGxCSTtJQUF3QjtFM0l3aGxCNUI7O0UySXhobEJJO0lBQXdCO0UzSTRobEI1QjtBQUNGO0ErRDk5a0JJO0U0RS9ERTtJQUF3QjtFM0lpaWxCNUI7O0UySWppbEJJO0lBQXdCO0UzSXFpbEI1Qjs7RTJJcmlsQkk7SUFBd0I7RTNJeWlsQjVCOztFMkl6aWxCSTtJQUF3QjtFM0k2aWxCNUI7O0UySTdpbEJJO0lBQXdCO0UzSWlqbEI1Qjs7RTJJampsQkk7SUFBd0I7RTNJcWpsQjVCOztFMklyamxCSTtJQUF3QjtFM0l5amxCNUI7O0UySXpqbEJJO0lBQXdCO0UzSTZqbEI1Qjs7RTJJN2psQkk7SUFBd0I7RTNJaWtsQjVCO0FBQ0Y7QStEdC9rQkk7RTRFckVBO0lBQXdCO0UzSStqbEIxQjtBQUNGO0ErRDMva0JJO0U0RXJFQTtJQUF3QjtFM0lva2xCMUI7QUFDRjtBK0RoZ2xCSTtFNEVyRUE7SUFBd0I7RTNJeWtsQjFCO0FBQ0Y7QStEcmdsQkk7RTRFckVBO0lBQXdCO0UzSThrbEIxQjtBQUNGO0ErRDFnbEJJO0U0RXJFQTtJQUF3QjtFM0ltbGxCMUI7QUFDRjtBMklwbGxCSTtFQUF3QjtBM0l1bGxCNUI7O0EySWpsbEJJO0VBQXNCO0EzSXFsbEIxQjs7QTJJMWpsQkE7RUFFSTtJQUFxQjtFM0k2amxCdkI7O0UySTdqbEJFO0lBQXFCO0UzSWlrbEJ2Qjs7RTJJamtsQkU7SUFBcUI7RTNJcWtsQnZCOztFMklya2xCRTtJQUFxQjtFM0l5a2xCdkI7O0UySXprbEJFO0lBQXFCO0UzSTZrbEJ2Qjs7RTJJN2tsQkU7SUFBcUI7RTNJaWxsQnZCOztFMklqbGxCRTtJQUFxQjtFM0lxbGxCdkI7O0UySXJsbEJFO0lBQXFCO0UzSXlsbEJ2Qjs7RTJJemxsQkU7SUFBcUI7RTNJNmxsQnZCO0FBQ0Y7QTRJaHBsQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1SWtwbEJGO0E0SWhwbEJFO0VBQ0U7RUFDQTtBNUlrcGxCSjtBNEkvb2xCRTs7Ozs7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUlpcGxCSjs7QTRJeG9sQkk7RUFDRTtBNUkyb2xCTjs7QTRJNW9sQkk7RUFDRTtBNUkrb2xCTjs7QTRJaHBsQkk7RUFDRTtBNUltcGxCTjs7QTRJcHBsQkk7RUFDRTtBNUl1cGxCTjs7QTRJeHBsQkk7RUFDRTtBNUkycGxCTjs7QTRJNXBsQkk7RUFDRTtBNUkrcGxCTjs7QTRJaHFsQkk7RUFDRTtBNUltcWxCTjs7QTRJcHFsQkk7RUFDRTtBNUl1cWxCTjs7QTZJaHNsQkk7RUFBZ0M7QTdJb3NsQnBDOztBNkluc2xCSTtFQUFnQztBN0l1c2xCcEM7O0E2SXRzbEJJO0VBQWdDO0E3STBzbEJwQzs7QTZJenNsQkk7RUFBZ0M7QTdJNnNsQnBDOztBNkkzc2xCSTtFQUE4QjtBN0krc2xCbEM7O0E2STlzbEJJO0VBQThCO0E3SWt0bEJsQzs7QTZJanRsQkk7RUFBOEI7QTdJcXRsQmxDOztBNklwdGxCSTtFQUE4QjtBN0l3dGxCbEM7O0E2SXZ0bEJJO0VBQThCO0E3STJ0bEJsQzs7QTZJMXRsQkk7RUFBOEI7QTdJOHRsQmxDOztBNkk3dGxCSTtFQUE4QjtBN0lpdWxCbEM7O0E2SWh1bEJJO0VBQThCO0E3SW91bEJsQzs7QTZJbHVsQkk7RUFBb0M7QTdJc3VsQnhDOztBNklydWxCSTtFQUFvQztBN0l5dWxCeEM7O0E2SXh1bEJJO0VBQW9DO0E3STR1bEJ4Qzs7QTZJM3VsQkk7RUFBb0M7QTdJK3VsQnhDOztBNkk5dWxCSTtFQUFvQztBN0lrdmxCeEM7O0E2SWh2bEJJO0VBQWlDO0E3SW92bEJyQzs7QTZJbnZsQkk7RUFBaUM7QTdJdXZsQnJDOztBNkl0dmxCSTtFQUFpQztBN0kwdmxCckM7O0E2SXp2bEJJO0VBQWlDO0E3STZ2bEJyQzs7QTZJNXZsQkk7RUFBaUM7QTdJZ3dsQnJDOztBNkk5dmxCSTtFQUFrQztBN0lrd2xCdEM7O0E2SWp3bEJJO0VBQWtDO0E3SXF3bEJ0Qzs7QTZJcHdsQkk7RUFBa0M7QTdJd3dsQnRDOztBNkl2d2xCSTtFQUFrQztBN0kyd2xCdEM7O0E2STF3bEJJO0VBQWtDO0E3STh3bEJ0Qzs7QTZJN3dsQkk7RUFBa0M7QTdJaXhsQnRDOztBNkkvd2xCSTtFQUFnQztBN0lteGxCcEM7O0E2SWx4bEJJO0VBQWdDO0E3SXN4bEJwQzs7QTZJcnhsQkk7RUFBZ0M7QTdJeXhsQnBDOztBNkl4eGxCSTtFQUFnQztBN0k0eGxCcEM7O0E2STN4bEJJO0VBQWdDO0E3SSt4bEJwQzs7QTZJOXhsQkk7RUFBZ0M7QTdJa3lsQnBDOztBK0R6d2xCSTtFOEUvREE7SUFBZ0M7RTdJNjBsQmxDOztFNkk1MGxCRTtJQUFnQztFN0lnMWxCbEM7O0U2SS8wbEJFO0lBQWdDO0U3SW0xbEJsQzs7RTZJbDFsQkU7SUFBZ0M7RTdJczFsQmxDOztFNklwMWxCRTtJQUE4QjtFN0l3MWxCaEM7O0U2SXYxbEJFO0lBQThCO0U3STIxbEJoQzs7RTZJMTFsQkU7SUFBOEI7RTdJODFsQmhDOztFNkk3MWxCRTtJQUE4QjtFN0lpMmxCaEM7O0U2SWgybEJFO0lBQThCO0U3SW8ybEJoQzs7RTZJbjJsQkU7SUFBOEI7RTdJdTJsQmhDOztFNkl0MmxCRTtJQUE4QjtFN0kwMmxCaEM7O0U2SXoybEJFO0lBQThCO0U3STYybEJoQzs7RTZJMzJsQkU7SUFBb0M7RTdJKzJsQnRDOztFNkk5MmxCRTtJQUFvQztFN0lrM2xCdEM7O0U2SWozbEJFO0lBQW9DO0U3SXEzbEJ0Qzs7RTZJcDNsQkU7SUFBb0M7RTdJdzNsQnRDOztFNkl2M2xCRTtJQUFvQztFN0kyM2xCdEM7O0U2SXozbEJFO0lBQWlDO0U3STYzbEJuQzs7RTZJNTNsQkU7SUFBaUM7RTdJZzRsQm5DOztFNkkvM2xCRTtJQUFpQztFN0ltNGxCbkM7O0U2SWw0bEJFO0lBQWlDO0U3SXM0bEJuQzs7RTZJcjRsQkU7SUFBaUM7RTdJeTRsQm5DOztFNkl2NGxCRTtJQUFrQztFN0kyNGxCcEM7O0U2STE0bEJFO0lBQWtDO0U3STg0bEJwQzs7RTZJNzRsQkU7SUFBa0M7RTdJaTVsQnBDOztFNkloNWxCRTtJQUFrQztFN0lvNWxCcEM7O0U2SW41bEJFO0lBQWtDO0U3SXU1bEJwQzs7RTZJdDVsQkU7SUFBa0M7RTdJMDVsQnBDOztFNkl4NWxCRTtJQUFnQztFN0k0NWxCbEM7O0U2STM1bEJFO0lBQWdDO0U3SSs1bEJsQzs7RTZJOTVsQkU7SUFBZ0M7RTdJazZsQmxDOztFNklqNmxCRTtJQUFnQztFN0lxNmxCbEM7O0U2SXA2bEJFO0lBQWdDO0U3SXc2bEJsQzs7RTZJdjZsQkU7SUFBZ0M7RTdJMjZsQmxDO0FBQ0Y7QStEbjVsQkk7RThFL0RBO0lBQWdDO0U3SXM5bEJsQzs7RTZJcjlsQkU7SUFBZ0M7RTdJeTlsQmxDOztFNkl4OWxCRTtJQUFnQztFN0k0OWxCbEM7O0U2STM5bEJFO0lBQWdDO0U3SSs5bEJsQzs7RTZJNzlsQkU7SUFBOEI7RTdJaStsQmhDOztFNkloK2xCRTtJQUE4QjtFN0lvK2xCaEM7O0U2SW4rbEJFO0lBQThCO0U3SXUrbEJoQzs7RTZJdCtsQkU7SUFBOEI7RTdJMCtsQmhDOztFNkl6K2xCRTtJQUE4QjtFN0k2K2xCaEM7O0U2STUrbEJFO0lBQThCO0U3SWcvbEJoQzs7RTZJLytsQkU7SUFBOEI7RTdJbS9sQmhDOztFNklsL2xCRTtJQUE4QjtFN0lzL2xCaEM7O0U2SXAvbEJFO0lBQW9DO0U3SXcvbEJ0Qzs7RTZJdi9sQkU7SUFBb0M7RTdJMi9sQnRDOztFNkkxL2xCRTtJQUFvQztFN0k4L2xCdEM7O0U2STcvbEJFO0lBQW9DO0U3SWlnbUJ0Qzs7RTZJaGdtQkU7SUFBb0M7RTdJb2dtQnRDOztFNklsZ21CRTtJQUFpQztFN0lzZ21CbkM7O0U2SXJnbUJFO0lBQWlDO0U3SXlnbUJuQzs7RTZJeGdtQkU7SUFBaUM7RTdJNGdtQm5DOztFNkkzZ21CRTtJQUFpQztFN0krZ21CbkM7O0U2STlnbUJFO0lBQWlDO0U3SWtobUJuQzs7RTZJaGhtQkU7SUFBa0M7RTdJb2htQnBDOztFNkluaG1CRTtJQUFrQztFN0l1aG1CcEM7O0U2SXRobUJFO0lBQWtDO0U3STBobUJwQzs7RTZJemhtQkU7SUFBa0M7RTdJNmhtQnBDOztFNkk1aG1CRTtJQUFrQztFN0lnaW1CcEM7O0U2SS9obUJFO0lBQWtDO0U3SW1pbUJwQzs7RTZJamltQkU7SUFBZ0M7RTdJcWltQmxDOztFNklwaW1CRTtJQUFnQztFN0l3aW1CbEM7O0U2SXZpbUJFO0lBQWdDO0U3STJpbUJsQzs7RTZJMWltQkU7SUFBZ0M7RTdJOGltQmxDOztFNkk3aW1CRTtJQUFnQztFN0lpam1CbEM7O0U2SWhqbUJFO0lBQWdDO0U3SW9qbUJsQztBQUNGO0ErRDVobUJJO0U4RS9EQTtJQUFnQztFN0krbG1CbEM7O0U2STlsbUJFO0lBQWdDO0U3SWttbUJsQzs7RTZJam1tQkU7SUFBZ0M7RTdJcW1tQmxDOztFNklwbW1CRTtJQUFnQztFN0l3bW1CbEM7O0U2SXRtbUJFO0lBQThCO0U3STBtbUJoQzs7RTZJem1tQkU7SUFBOEI7RTdJNm1tQmhDOztFNkk1bW1CRTtJQUE4QjtFN0lnbm1CaEM7O0U2SS9tbUJFO0lBQThCO0U3SW1ubUJoQzs7RTZJbG5tQkU7SUFBOEI7RTdJc25tQmhDOztFNklybm1CRTtJQUE4QjtFN0l5bm1CaEM7O0U2SXhubUJFO0lBQThCO0U3STRubUJoQzs7RTZJM25tQkU7SUFBOEI7RTdJK25tQmhDOztFNkk3bm1CRTtJQUFvQztFN0lpb21CdEM7O0U2SWhvbUJFO0lBQW9DO0U3SW9vbUJ0Qzs7RTZJbm9tQkU7SUFBb0M7RTdJdW9tQnRDOztFNkl0b21CRTtJQUFvQztFN0kwb21CdEM7O0U2SXpvbUJFO0lBQW9DO0U3STZvbUJ0Qzs7RTZJM29tQkU7SUFBaUM7RTdJK29tQm5DOztFNkk5b21CRTtJQUFpQztFN0lrcG1CbkM7O0U2SWpwbUJFO0lBQWlDO0U3SXFwbUJuQzs7RTZJcHBtQkU7SUFBaUM7RTdJd3BtQm5DOztFNkl2cG1CRTtJQUFpQztFN0kycG1CbkM7O0U2SXpwbUJFO0lBQWtDO0U3STZwbUJwQzs7RTZJNXBtQkU7SUFBa0M7RTdJZ3FtQnBDOztFNkkvcG1CRTtJQUFrQztFN0ltcW1CcEM7O0U2SWxxbUJFO0lBQWtDO0U3SXNxbUJwQzs7RTZJcnFtQkU7SUFBa0M7RTdJeXFtQnBDOztFNkl4cW1CRTtJQUFrQztFN0k0cW1CcEM7O0U2STFxbUJFO0lBQWdDO0U3SThxbUJsQzs7RTZJN3FtQkU7SUFBZ0M7RTdJaXJtQmxDOztFNklocm1CRTtJQUFnQztFN0lvcm1CbEM7O0U2SW5ybUJFO0lBQWdDO0U3SXVybUJsQzs7RTZJdHJtQkU7SUFBZ0M7RTdJMHJtQmxDOztFNkl6cm1CRTtJQUFnQztFN0k2cm1CbEM7QUFDRjtBK0RycW1CSTtFOEUvREE7SUFBZ0M7RTdJd3VtQmxDOztFNkl2dW1CRTtJQUFnQztFN0kydW1CbEM7O0U2STF1bUJFO0lBQWdDO0U3STh1bUJsQzs7RTZJN3VtQkU7SUFBZ0M7RTdJaXZtQmxDOztFNkkvdW1CRTtJQUE4QjtFN0ltdm1CaEM7O0U2SWx2bUJFO0lBQThCO0U3SXN2bUJoQzs7RTZJcnZtQkU7SUFBOEI7RTdJeXZtQmhDOztFNkl4dm1CRTtJQUE4QjtFN0k0dm1CaEM7O0U2STN2bUJFO0lBQThCO0U3SSt2bUJoQzs7RTZJOXZtQkU7SUFBOEI7RTdJa3dtQmhDOztFNklqd21CRTtJQUE4QjtFN0lxd21CaEM7O0U2SXB3bUJFO0lBQThCO0U3SXd3bUJoQzs7RTZJdHdtQkU7SUFBb0M7RTdJMHdtQnRDOztFNkl6d21CRTtJQUFvQztFN0k2d21CdEM7O0U2STV3bUJFO0lBQW9DO0U3SWd4bUJ0Qzs7RTZJL3dtQkU7SUFBb0M7RTdJbXhtQnRDOztFNklseG1CRTtJQUFvQztFN0lzeG1CdEM7O0U2SXB4bUJFO0lBQWlDO0U3SXd4bUJuQzs7RTZJdnhtQkU7SUFBaUM7RTdJMnhtQm5DOztFNkkxeG1CRTtJQUFpQztFN0k4eG1CbkM7O0U2STd4bUJFO0lBQWlDO0U3SWl5bUJuQzs7RTZJaHltQkU7SUFBaUM7RTdJb3ltQm5DOztFNklseW1CRTtJQUFrQztFN0lzeW1CcEM7O0U2SXJ5bUJFO0lBQWtDO0U3SXl5bUJwQzs7RTZJeHltQkU7SUFBa0M7RTdJNHltQnBDOztFNkkzeW1CRTtJQUFrQztFN0kreW1CcEM7O0U2STl5bUJFO0lBQWtDO0U3SWt6bUJwQzs7RTZJanptQkU7SUFBa0M7RTdJcXptQnBDOztFNkluem1CRTtJQUFnQztFN0l1em1CbEM7O0U2SXR6bUJFO0lBQWdDO0U3STB6bUJsQzs7RTZJenptQkU7SUFBZ0M7RTdJNnptQmxDOztFNkk1em1CRTtJQUFnQztFN0lnMG1CbEM7O0U2SS96bUJFO0lBQWdDO0U3SW0wbUJsQzs7RTZJbDBtQkU7SUFBZ0M7RTdJczBtQmxDO0FBQ0Y7QStEOXltQkk7RThFL0RBO0lBQWdDO0U3SWkzbUJsQzs7RTZJaDNtQkU7SUFBZ0M7RTdJbzNtQmxDOztFNkluM21CRTtJQUFnQztFN0l1M21CbEM7O0U2SXQzbUJFO0lBQWdDO0U3STAzbUJsQzs7RTZJeDNtQkU7SUFBOEI7RTdJNDNtQmhDOztFNkkzM21CRTtJQUE4QjtFN0krM21CaEM7O0U2STkzbUJFO0lBQThCO0U3SWs0bUJoQzs7RTZJajRtQkU7SUFBOEI7RTdJcTRtQmhDOztFNklwNG1CRTtJQUE4QjtFN0l3NG1CaEM7O0U2SXY0bUJFO0lBQThCO0U3STI0bUJoQzs7RTZJMTRtQkU7SUFBOEI7RTdJODRtQmhDOztFNkk3NG1CRTtJQUE4QjtFN0lpNW1CaEM7O0U2SS80bUJFO0lBQW9DO0U3SW01bUJ0Qzs7RTZJbDVtQkU7SUFBb0M7RTdJczVtQnRDOztFNklyNW1CRTtJQUFvQztFN0l5NW1CdEM7O0U2SXg1bUJFO0lBQW9DO0U3STQ1bUJ0Qzs7RTZJMzVtQkU7SUFBb0M7RTdJKzVtQnRDOztFNkk3NW1CRTtJQUFpQztFN0lpNm1CbkM7O0U2SWg2bUJFO0lBQWlDO0U3SW82bUJuQzs7RTZJbjZtQkU7SUFBaUM7RTdJdTZtQm5DOztFNkl0Nm1CRTtJQUFpQztFN0kwNm1CbkM7O0U2SXo2bUJFO0lBQWlDO0U3STY2bUJuQzs7RTZJMzZtQkU7SUFBa0M7RTdJKzZtQnBDOztFNkk5Nm1CRTtJQUFrQztFN0lrN21CcEM7O0U2SWo3bUJFO0lBQWtDO0U3SXE3bUJwQzs7RTZJcDdtQkU7SUFBa0M7RTdJdzdtQnBDOztFNkl2N21CRTtJQUFrQztFN0kyN21CcEM7O0U2STE3bUJFO0lBQWtDO0U3STg3bUJwQzs7RTZJNTdtQkU7SUFBZ0M7RTdJZzhtQmxDOztFNkkvN21CRTtJQUFnQztFN0ltOG1CbEM7O0U2SWw4bUJFO0lBQWdDO0U3SXM4bUJsQzs7RTZJcjhtQkU7SUFBZ0M7RTdJeThtQmxDOztFNkl4OG1CRTtJQUFnQztFN0k0OG1CbEM7O0U2STM4bUJFO0lBQWdDO0U3SSs4bUJsQztBQUNGO0F1QjUvbUJRO0V1SElBO0E5STIvbUJSO0F3Qi8vbUJRO0VzSE9BO0E5STIvbUJSOztBdUJsZ25CUTtFdUhZQTtBOUkwL21CUjtBd0J0Z25CUTtFc0hlQTtBOUkwL21CUjs7QThJdi9tQkk7RUFBd0I7QTlJMi9tQjVCOztBK0R4OG1CSTtFeENyRUk7SXVISUE7RTlJOGduQk47RXdCbGhuQk07SXNIT0E7RTlJOGduQk47O0V1QnJobkJNO0l1SFlBO0U5STZnbkJOO0V3QnpobkJNO0lzSGVBO0U5STZnbkJOOztFOEkxZ25CRTtJQUF3QjtFOUk4Z25CMUI7QUFDRjtBK0Q1OW1CSTtFeENyRUk7SXVISUE7RTlJaWluQk47RXdCcmluQk07SXNIT0E7RTlJaWluQk47O0V1QnhpbkJNO0l1SFlBO0U5SWdpbkJOO0V3QjVpbkJNO0lzSGVBO0U5SWdpbkJOOztFOEk3aG5CRTtJQUF3QjtFOUlpaW5CMUI7QUFDRjtBK0QvK21CSTtFeENyRUk7SXVISUE7RTlJb2puQk47RXdCeGpuQk07SXNIT0E7RTlJb2puQk47O0V1QjNqbkJNO0l1SFlBO0U5SW1qbkJOO0V3Qi9qbkJNO0lzSGVBO0U5SW1qbkJOOztFOEloam5CRTtJQUF3QjtFOUlvam5CMUI7QUFDRjtBK0RsZ25CSTtFeENyRUk7SXVISUE7RTlJdWtuQk47RXdCM2tuQk07SXNIT0E7RTlJdWtuQk47O0V1QjlrbkJNO0l1SFlBO0U5SXNrbkJOO0V3QmxsbkJNO0lzSGVBO0U5SXNrbkJOOztFOElua25CRTtJQUF3QjtFOUl1a25CMUI7QUFDRjtBK0RyaG5CSTtFeENyRUk7SXVISUE7RTlJMGxuQk47RXdCOWxuQk07SXNIT0E7RTlJMGxuQk47O0V1QmptbkJNO0l1SFlBO0U5SXlsbkJOO0V3QnJtbkJNO0lzSGVBO0U5SXlsbkJOOztFOEl0bG5CRTtJQUF3QjtFOUkwbG5CMUI7QUFDRjtBK0k5bW5CRTtFQUF5QjtLQUFBO1VBQUE7QS9JaW5uQjNCOztBK0lqbm5CRTtFQUF5QjtLQUFBO1VBQUE7QS9JcW5uQjNCOztBK0lybm5CRTtFQUF5QjtLQUFBO1VBQUE7QS9JeW5uQjNCOztBZ0p6bm5CRTtFQUFzQjtBaEo2bm5CeEI7O0FnSjdubkJFO0VBQXNCO0FoSmlvbkJ4Qjs7QWlKaG9uQkU7RUFBeUI7QWpKb29uQjNCOztBaUpwb25CRTtFQUF5QjtBakp3b25CM0I7O0FpSnhvbkJFO0VBQXlCO0FqSjRvbkIzQjs7QWlKNW9uQkU7RUFBeUI7QWpKZ3BuQjNCOztBaUpocG5CRTtFQUF5QjtBakpvcG5CM0I7O0FpSi9vbkJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhaEhOdUI7QWpDd3BuQnpCOztBaUovb25CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWhIZHVCO0FqQ2dxbkJ6Qjs7QWlKOW9uQkU7RUFERjtJQUVJO0lBQ0E7SUFDQSxhaEh0QnFCO0VqQ3dxbkJ2QjtBQUNGOztBa0o1cW5CQTtFQ0VFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbko4cW5CRjs7QW1KcHFuQkU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Kc3FuQko7O0FvSm5zbkJBO0VBQWE7QXBKdXNuQmI7O0FvSnRzbkJBO0VBQVU7QXBKMHNuQlY7O0FvSnpzbkJBO0VBQWE7QXBKNnNuQmI7O0FvSjVzbkJBO0VBQWU7QXBKZ3RuQmY7O0FxSi9zbkJJO0VBQXVCO0FySm10bkIzQjs7QXFKbnRuQkk7RUFBdUI7QXJKdXRuQjNCOztBcUp2dG5CSTtFQUF1QjtBckoydG5CM0I7O0FxSjN0bkJJO0VBQXVCO0FySit0bkIzQjs7QXFKL3RuQkk7RUFBdUI7QXJKbXVuQjNCOztBcUpudW5CSTtFQUF1QjtBckp1dW5CM0I7O0FxSnZ1bkJJO0VBQXVCO0FySjJ1bkIzQjs7QXFKM3VuQkk7RUFBdUI7QXJKK3VuQjNCOztBcUovdW5CSTtFQUF1QjtBckptdm5CM0I7O0FxSm52bkJJO0VBQXVCO0FySnV2bkIzQjs7QXFKbnZuQkE7RUFBVTtBckp1dm5CVjs7QXFKdHZuQkE7RUFBVTtBckowdm5CVjs7QXFKdHZuQkE7RUFBYztBckowdm5CZDs7QXFKenZuQkE7RUFBYztBcko2dm5CZDs7QXFKM3ZuQkE7RUFBVTtBckordm5CVjs7QXFKOXZuQkE7RUFBVTtBckprd25CVjs7QXNKM3duQlE7RUFBZ0M7QXRKK3duQnhDOztBc0o5d25CUTs7RUFFRTtBdEppeG5CVjs7QXNKL3duQlE7O0VBRUU7QXRKa3huQlY7O0FzSmh4bkJROztFQUVFO0F0Sm14bkJWOztBc0pqeG5CUTs7RUFFRTtBdEpveG5CVjs7QXVCenluQlE7RStIMEJJO0F0Sm14bkJaO0F3Qjd5bkJRO0U4SDZCSTtBdEpteG5CWjs7QXVCaHpuQlE7RStIa0NJO0F0Smt4bkJaO0F3QnB6bkJRO0U4SHFDSTtBdEpreG5CWjs7QXNKanpuQlE7RUFBZ0M7QXRKcXpuQnhDOztBc0pwem5CUTs7RUFFRTtBdEp1em5CVjs7QXNKcnpuQlE7O0VBRUU7QXRKd3puQlY7O0FzSnR6bkJROztFQUVFO0F0Snl6bkJWOztBc0p2em5CUTs7RUFFRTtBdEowem5CVjs7QXVCLzBuQlE7RStIMEJJO0F0Snl6bkJaO0F3Qm4xbkJRO0U4SDZCSTtBdEp5em5CWjs7QXVCdDFuQlE7RStIa0NJO0F0Snd6bkJaO0F3QjExbkJRO0U4SHFDSTtBdEp3em5CWjs7QXNKdjFuQlE7RUFBZ0M7QXRKMjFuQnhDOztBc0oxMW5CUTs7RUFFRTtBdEo2MW5CVjs7QXNKMzFuQlE7O0VBRUU7QXRKODFuQlY7O0FzSjUxbkJROztFQUVFO0F0SisxbkJWOztBc0o3MW5CUTs7RUFFRTtBdEpnMm5CVjs7QXVCcjNuQlE7RStIMEJJO0F0SisxbkJaO0F3QnozbkJRO0U4SDZCSTtBdEorMW5CWjs7QXVCNTNuQlE7RStIa0NJO0F0SjgxbkJaO0F3Qmg0bkJRO0U4SHFDSTtBdEo4MW5CWjs7QXNKNzNuQlE7RUFBZ0M7QXRKaTRuQnhDOztBc0poNG5CUTs7RUFFRTtBdEptNG5CVjs7QXNKajRuQlE7O0VBRUU7QXRKbzRuQlY7O0FzSmw0bkJROztFQUVFO0F0SnE0bkJWOztBc0puNG5CUTs7RUFFRTtBdEpzNG5CVjs7QXVCMzVuQlE7RStIMEJJO0F0SnE0bkJaO0F3Qi81bkJRO0U4SDZCSTtBdEpxNG5CWjs7QXVCbDZuQlE7RStIa0NJO0F0Sm80bkJaO0F3QnQ2bkJRO0U4SHFDSTtBdEpvNG5CWjs7QXNKbjZuQlE7RUFBZ0M7QXRKdTZuQnhDOztBc0p0Nm5CUTs7RUFFRTtBdEp5Nm5CVjs7QXNKdjZuQlE7O0VBRUU7QXRKMDZuQlY7O0FzSng2bkJROztFQUVFO0F0SjI2bkJWOztBc0p6Nm5CUTs7RUFFRTtBdEo0Nm5CVjs7QXVCajhuQlE7RStIMEJJO0F0SjI2bkJaO0F3QnI4bkJRO0U4SDZCSTtBdEoyNm5CWjs7QXVCeDhuQlE7RStIa0NJO0F0SjA2bkJaO0F3QjU4bkJRO0U4SHFDSTtBdEowNm5CWjs7QXNKejhuQlE7RUFBZ0M7QXRKNjhuQnhDOztBc0o1OG5CUTs7RUFFRTtBdEorOG5CVjs7QXNKNzhuQlE7O0VBRUU7QXRKZzluQlY7O0FzSjk4bkJROztFQUVFO0F0Smk5bkJWOztBc0ovOG5CUTs7RUFFRTtBdEprOW5CVjs7QXVCdituQlE7RStIMEJJO0F0Smk5bkJaO0F3QjMrbkJRO0U4SDZCSTtBdEppOW5CWjs7QXVCOStuQlE7RStIa0NJO0F0Smc5bkJaO0F3QmwvbkJRO0U4SHFDSTtBdEpnOW5CWjs7QXNKLytuQlE7RUFBZ0M7QXRKbS9uQnhDOztBc0psL25CUTs7RUFFRTtBdEpxL25CVjs7QXNKbi9uQlE7O0VBRUU7QXRKcy9uQlY7O0FzSnAvbkJROztFQUVFO0F0SnUvbkJWOztBc0pyL25CUTs7RUFFRTtBdEp3L25CVjs7QXVCN2dvQlE7RStIMEJJO0F0SnUvbkJaO0F3Qmpob0JRO0U4SDZCSTtBdEp1L25CWjs7QXVCcGhvQlE7RStIa0NJO0F0SnMvbkJaO0F3Qnhob0JRO0U4SHFDSTtBdEpzL25CWjs7QXNKcmhvQlE7RUFBZ0M7QXRKeWhvQnhDOztBc0p4aG9CUTs7RUFFRTtBdEoyaG9CVjs7QXNKemhvQlE7O0VBRUU7QXRKNGhvQlY7O0FzSjFob0JROztFQUVFO0F0SjZob0JWOztBc0ozaG9CUTs7RUFFRTtBdEo4aG9CVjs7QXVCbmpvQlE7RStIMEJJO0F0SjZob0JaO0F3QnZqb0JRO0U4SDZCSTtBdEo2aG9CWjs7QXVCMWpvQlE7RStIa0NJO0F0SjRob0JaO0F3Qjlqb0JRO0U4SHFDSTtBdEo0aG9CWjs7QXNKM2pvQlE7RUFBZ0M7QXRKK2pvQnhDOztBc0o5am9CUTs7RUFFRTtBdEppa29CVjs7QXNKL2pvQlE7O0VBRUU7QXRKa2tvQlY7O0FzSmhrb0JROztFQUVFO0F0Sm1rb0JWOztBc0pqa29CUTs7RUFFRTtBdEpva29CVjs7QXVCemxvQlE7RStIMEJJO0F0Sm1rb0JaO0F3Qjdsb0JRO0U4SDZCSTtBdEpta29CWjs7QXVCaG1vQlE7RStIa0NJO0F0Smtrb0JaO0F3QnBtb0JRO0U4SHFDSTtBdEpra29CWjs7QXNKam1vQlE7RUFBZ0M7QXRKcW1vQnhDOztBc0pwbW9CUTs7RUFFRTtBdEp1bW9CVjs7QXNKcm1vQlE7O0VBRUU7QXRKd21vQlY7O0FzSnRtb0JROztFQUVFO0F0Snltb0JWOztBc0p2bW9CUTs7RUFFRTtBdEowbW9CVjs7QXVCL25vQlE7RStIMEJJO0F0Snltb0JaO0F3Qm5vb0JRO0U4SDZCSTtBdEp5bW9CWjs7QXVCdG9vQlE7RStIa0NJO0F0Sndtb0JaO0F3QjFvb0JRO0U4SHFDSTtBdEp3bW9CWjs7QXNKdm9vQlE7RUFBZ0M7QXRKMm9vQnhDOztBc0oxb29CUTs7RUFFRTtBdEo2b29CVjs7QXNKM29vQlE7O0VBRUU7QXRKOG9vQlY7O0FzSjVvb0JROztFQUVFO0F0Sitvb0JWOztBc0o3b29CUTs7RUFFRTtBdEpncG9CVjs7QXVCcnFvQlE7RStIMEJJO0F0Sitvb0JaO0F3Qnpxb0JRO0U4SDZCSTtBdEorb29CWjs7QXVCNXFvQlE7RStIa0NJO0F0Sjhvb0JaO0F3Qmhyb0JRO0U4SHFDSTtBdEo4b29CWjs7QXNKN3FvQlE7RUFBZ0M7QXRKaXJvQnhDOztBc0pocm9CUTs7RUFFRTtBdEptcm9CVjs7QXNKanJvQlE7O0VBRUU7QXRKb3JvQlY7O0FzSmxyb0JROztFQUVFO0F0SnFyb0JWOztBc0pucm9CUTs7RUFFRTtBdEpzcm9CVjs7QXVCM3NvQlE7RStIMEJJO0F0SnFyb0JaO0F3Qi9zb0JRO0U4SDZCSTtBdEpxcm9CWjs7QXVCbHRvQlE7RStIa0NJO0F0Sm9yb0JaO0F3QnR0b0JRO0U4SHFDSTtBdEpvcm9CWjs7QXNKM3FvQlE7RUFBd0I7QXRKK3FvQmhDOztBc0o5cW9CUTs7RUFFRTtBdEppcm9CVjs7QXNKL3FvQlE7O0VBRUU7QXRKa3JvQlY7O0FzSmhyb0JROztFQUVFO0F0Sm1yb0JWOztBc0pqcm9CUTs7RUFFRTtBdEpvcm9CVjs7QXVCanZvQlE7RStIa0VJO0F0Sm1yb0JaO0F3QnJ2b0JRO0U4SHFFSTtBdEptcm9CWjs7QXVCeHZvQlE7RStIMEVJO0F0Smtyb0JaO0F3QjV2b0JRO0U4SDZFSTtBdEprcm9CWjs7QXNKanRvQlE7RUFBd0I7QXRKcXRvQmhDOztBc0pwdG9CUTs7RUFFRTtBdEp1dG9CVjs7QXNKcnRvQlE7O0VBRUU7QXRKd3RvQlY7O0FzSnR0b0JROztFQUVFO0F0Snl0b0JWOztBc0p2dG9CUTs7RUFFRTtBdEowdG9CVjs7QXVCdnhvQlE7RStIa0VJO0F0Snl0b0JaO0F3QjN4b0JRO0U4SHFFSTtBdEp5dG9CWjs7QXVCOXhvQlE7RStIMEVJO0F0Snd0b0JaO0F3Qmx5b0JRO0U4SDZFSTtBdEp3dG9CWjs7QXNKdnZvQlE7RUFBd0I7QXRKMnZvQmhDOztBc0oxdm9CUTs7RUFFRTtBdEo2dm9CVjs7QXNKM3ZvQlE7O0VBRUU7QXRKOHZvQlY7O0FzSjV2b0JROztFQUVFO0F0Sit2b0JWOztBc0o3dm9CUTs7RUFFRTtBdEpnd29CVjs7QXVCN3pvQlE7RStIa0VJO0F0Sit2b0JaO0F3Qmowb0JRO0U4SHFFSTtBdEordm9CWjs7QXVCcDBvQlE7RStIMEVJO0F0Sjh2b0JaO0F3Qngwb0JRO0U4SDZFSTtBdEo4dm9CWjs7QXNKN3hvQlE7RUFBd0I7QXRKaXlvQmhDOztBc0poeW9CUTs7RUFFRTtBdEpteW9CVjs7QXNKanlvQlE7O0VBRUU7QXRKb3lvQlY7O0FzSmx5b0JROztFQUVFO0F0SnF5b0JWOztBc0pueW9CUTs7RUFFRTtBdEpzeW9CVjs7QXVCbjJvQlE7RStIa0VJO0F0SnF5b0JaO0F3QnYyb0JRO0U4SHFFSTtBdEpxeW9CWjs7QXVCMTJvQlE7RStIMEVJO0F0Sm95b0JaO0F3Qjkyb0JRO0U4SDZFSTtBdEpveW9CWjs7QXNKbjBvQlE7RUFBd0I7QXRKdTBvQmhDOztBc0p0MG9CUTs7RUFFRTtBdEp5MG9CVjs7QXNKdjBvQlE7O0VBRUU7QXRKMDBvQlY7O0FzSngwb0JROztFQUVFO0F0SjIwb0JWOztBc0p6MG9CUTs7RUFFRTtBdEo0MG9CVjs7QXVCejRvQlE7RStIa0VJO0F0SjIwb0JaO0F3Qjc0b0JRO0U4SHFFSTtBdEoyMG9CWjs7QXVCaDVvQlE7RStIMEVJO0F0SjAwb0JaO0F3QnA1b0JRO0U4SDZFSTtBdEowMG9CWjs7QXNKbjBvQkk7RUFBbUI7QXRKdTBvQnZCOztBc0p0MG9CSTs7RUFFRTtBdEp5MG9CTjs7QXNKdjBvQkk7O0VBRUU7QXRKMDBvQk47O0FzSngwb0JJOztFQUVFO0F0SjIwb0JOOztBc0p6MG9CSTs7RUFFRTtBdEo0MG9CTjs7QXVCLzZvQlE7RStIeUdBO0F0SjAwb0JSO0F3Qm43b0JRO0U4SDRHQTtBdEowMG9CUjs7QXVCdDdvQlE7RStIaUhBO0F0Snkwb0JSO0F3QjE3b0JRO0U4SG9IQTtBdEp5MG9CUjs7QStEeDNvQkk7RXVGL0RJO0lBQWdDO0V0SjQ3b0J0Qzs7RXNKMzdvQk07O0lBRUU7RXRKODdvQlI7O0VzSjU3b0JNOztJQUVFO0V0Sis3b0JSOztFc0o3N29CTTs7SUFFRTtFdEpnOG9CUjs7RXNKOTdvQk07O0lBRUU7RXRKaThvQlI7O0V1QnQ5b0JNO0krSDBCSTtFdEpnOG9CVjtFd0IxOW9CTTtJOEg2Qkk7RXRKZzhvQlY7O0V1Qjc5b0JNO0krSGtDSTtFdEorN29CVjtFd0JqK29CTTtJOEhxQ0k7RXRKKzdvQlY7O0VzSjk5b0JNO0lBQWdDO0V0Smsrb0J0Qzs7RXNKaitvQk07O0lBRUU7RXRKbytvQlI7O0VzSmwrb0JNOztJQUVFO0V0SnErb0JSOztFc0puK29CTTs7SUFFRTtFdEpzK29CUjs7RXNKcCtvQk07O0lBRUU7RXRKdStvQlI7O0V1QjUvb0JNO0krSDBCSTtFdEpzK29CVjtFd0JoZ3BCTTtJOEg2Qkk7RXRKcytvQlY7O0V1Qm5ncEJNO0krSGtDSTtFdEpxK29CVjtFd0J2Z3BCTTtJOEhxQ0k7RXRKcStvQlY7O0VzSnBncEJNO0lBQWdDO0V0SndncEJ0Qzs7RXNKdmdwQk07O0lBRUU7RXRKMGdwQlI7O0VzSnhncEJNOztJQUVFO0V0SjJncEJSOztFc0p6Z3BCTTs7SUFFRTtFdEo0Z3BCUjs7RXNKMWdwQk07O0lBRUU7RXRKNmdwQlI7O0V1QmxpcEJNO0krSDBCSTtFdEo0Z3BCVjtFd0J0aXBCTTtJOEg2Qkk7RXRKNGdwQlY7O0V1QnppcEJNO0krSGtDSTtFdEoyZ3BCVjtFd0I3aXBCTTtJOEhxQ0k7RXRKMmdwQlY7O0VzSjFpcEJNO0lBQWdDO0V0SjhpcEJ0Qzs7RXNKN2lwQk07O0lBRUU7RXRKZ2pwQlI7O0VzSjlpcEJNOztJQUVFO0V0SmlqcEJSOztFc0ovaXBCTTs7SUFFRTtFdEpranBCUjs7RXNKaGpwQk07O0lBRUU7RXRKbWpwQlI7O0V1QnhrcEJNO0krSDBCSTtFdEpranBCVjtFd0I1a3BCTTtJOEg2Qkk7RXRKa2pwQlY7O0V1Qi9rcEJNO0krSGtDSTtFdEppanBCVjtFd0JubHBCTTtJOEhxQ0k7RXRKaWpwQlY7O0VzSmhscEJNO0lBQWdDO0V0Sm9scEJ0Qzs7RXNKbmxwQk07O0lBRUU7RXRKc2xwQlI7O0VzSnBscEJNOztJQUVFO0V0SnVscEJSOztFc0pybHBCTTs7SUFFRTtFdEp3bHBCUjs7RXNKdGxwQk07O0lBRUU7RXRKeWxwQlI7O0V1QjltcEJNO0krSDBCSTtFdEp3bHBCVjtFd0JsbnBCTTtJOEg2Qkk7RXRKd2xwQlY7O0V1QnJucEJNO0krSGtDSTtFdEp1bHBCVjtFd0J6bnBCTTtJOEhxQ0k7RXRKdWxwQlY7O0VzSnRucEJNO0lBQWdDO0V0SjBucEJ0Qzs7RXNKem5wQk07O0lBRUU7RXRKNG5wQlI7O0VzSjFucEJNOztJQUVFO0V0SjZucEJSOztFc0ozbnBCTTs7SUFFRTtFdEo4bnBCUjs7RXNKNW5wQk07O0lBRUU7RXRKK25wQlI7O0V1QnBwcEJNO0krSDBCSTtFdEo4bnBCVjtFd0J4cHBCTTtJOEg2Qkk7RXRKOG5wQlY7O0V1QjNwcEJNO0krSGtDSTtFdEo2bnBCVjtFd0IvcHBCTTtJOEhxQ0k7RXRKNm5wQlY7O0VzSjVwcEJNO0lBQWdDO0V0SmdxcEJ0Qzs7RXNKL3BwQk07O0lBRUU7RXRKa3FwQlI7O0VzSmhxcEJNOztJQUVFO0V0Sm1xcEJSOztFc0pqcXBCTTs7SUFFRTtFdEpvcXBCUjs7RXNKbHFwQk07O0lBRUU7RXRKcXFwQlI7O0V1QjFycEJNO0krSDBCSTtFdEpvcXBCVjtFd0I5cnBCTTtJOEg2Qkk7RXRKb3FwQlY7O0V1QmpzcEJNO0krSGtDSTtFdEptcXBCVjtFd0Jyc3BCTTtJOEhxQ0k7RXRKbXFwQlY7O0VzSmxzcEJNO0lBQWdDO0V0SnNzcEJ0Qzs7RXNKcnNwQk07O0lBRUU7RXRKd3NwQlI7O0VzSnRzcEJNOztJQUVFO0V0SnlzcEJSOztFc0p2c3BCTTs7SUFFRTtFdEowc3BCUjs7RXNKeHNwQk07O0lBRUU7RXRKMnNwQlI7O0V1Qmh1cEJNO0krSDBCSTtFdEowc3BCVjtFd0JwdXBCTTtJOEg2Qkk7RXRKMHNwQlY7O0V1QnZ1cEJNO0krSGtDSTtFdEp5c3BCVjtFd0IzdXBCTTtJOEhxQ0k7RXRKeXNwQlY7O0VzSnh1cEJNO0lBQWdDO0V0SjR1cEJ0Qzs7RXNKM3VwQk07O0lBRUU7RXRKOHVwQlI7O0VzSjV1cEJNOztJQUVFO0V0Sit1cEJSOztFc0o3dXBCTTs7SUFFRTtFdEpndnBCUjs7RXNKOXVwQk07O0lBRUU7RXRKaXZwQlI7O0V1QnR3cEJNO0krSDBCSTtFdEpndnBCVjtFd0Ixd3BCTTtJOEg2Qkk7RXRKZ3ZwQlY7O0V1Qjd3cEJNO0krSGtDSTtFdEordXBCVjtFd0JqeHBCTTtJOEhxQ0k7RXRKK3VwQlY7O0VzSjl3cEJNO0lBQWdDO0V0Smt4cEJ0Qzs7RXNKanhwQk07O0lBRUU7RXRKb3hwQlI7O0VzSmx4cEJNOztJQUVFO0V0SnF4cEJSOztFc0pueHBCTTs7SUFFRTtFdEpzeHBCUjs7RXNKcHhwQk07O0lBRUU7RXRKdXhwQlI7O0V1QjV5cEJNO0krSDBCSTtFdEpzeHBCVjtFd0JoenBCTTtJOEg2Qkk7RXRKc3hwQlY7O0V1Qm56cEJNO0krSGtDSTtFdEpxeHBCVjtFd0J2enBCTTtJOEhxQ0k7RXRKcXhwQlY7O0VzSnB6cEJNO0lBQWdDO0V0Snd6cEJ0Qzs7RXNKdnpwQk07O0lBRUU7RXRKMHpwQlI7O0VzSnh6cEJNOztJQUVFO0V0SjJ6cEJSOztFc0p6enBCTTs7SUFFRTtFdEo0enBCUjs7RXNKMXpwQk07O0lBRUU7RXRKNnpwQlI7O0V1QmwxcEJNO0krSDBCSTtFdEo0enBCVjtFd0J0MXBCTTtJOEg2Qkk7RXRKNHpwQlY7O0V1QnoxcEJNO0krSGtDSTtFdEoyenBCVjtFd0I3MXBCTTtJOEhxQ0k7RXRKMnpwQlY7O0VzSjExcEJNO0lBQWdDO0V0SjgxcEJ0Qzs7RXNKNzFwQk07O0lBRUU7RXRKZzJwQlI7O0VzSjkxcEJNOztJQUVFO0V0SmkycEJSOztFc0ovMXBCTTs7SUFFRTtFdEprMnBCUjs7RXNKaDJwQk07O0lBRUU7RXRKbTJwQlI7O0V1QngzcEJNO0krSDBCSTtFdEprMnBCVjtFd0I1M3BCTTtJOEg2Qkk7RXRKazJwQlY7O0V1Qi8zcEJNO0krSGtDSTtFdEppMnBCVjtFd0JuNHBCTTtJOEhxQ0k7RXRKaTJwQlY7O0VzSngxcEJNO0lBQXdCO0V0SjQxcEI5Qjs7RXNKMzFwQk07O0lBRUU7RXRKODFwQlI7O0VzSjUxcEJNOztJQUVFO0V0SisxcEJSOztFc0o3MXBCTTs7SUFFRTtFdEpnMnBCUjs7RXNKOTFwQk07O0lBRUU7RXRKaTJwQlI7O0V1Qjk1cEJNO0krSGtFSTtFdEpnMnBCVjtFd0JsNnBCTTtJOEhxRUk7RXRKZzJwQlY7O0V1QnI2cEJNO0krSDBFSTtFdEorMXBCVjtFd0J6NnBCTTtJOEg2RUk7RXRKKzFwQlY7O0VzSjkzcEJNO0lBQXdCO0V0Sms0cEI5Qjs7RXNKajRwQk07O0lBRUU7RXRKbzRwQlI7O0VzSmw0cEJNOztJQUVFO0V0SnE0cEJSOztFc0puNHBCTTs7SUFFRTtFdEpzNHBCUjs7RXNKcDRwQk07O0lBRUU7RXRKdTRwQlI7O0V1QnA4cEJNO0krSGtFSTtFdEpzNHBCVjtFd0J4OHBCTTtJOEhxRUk7RXRKczRwQlY7O0V1QjM4cEJNO0krSDBFSTtFdEpxNHBCVjtFd0IvOHBCTTtJOEg2RUk7RXRKcTRwQlY7O0VzSnA2cEJNO0lBQXdCO0V0Snc2cEI5Qjs7RXNKdjZwQk07O0lBRUU7RXRKMDZwQlI7O0VzSng2cEJNOztJQUVFO0V0SjI2cEJSOztFc0p6NnBCTTs7SUFFRTtFdEo0NnBCUjs7RXNKMTZwQk07O0lBRUU7RXRKNjZwQlI7O0V1QjErcEJNO0krSGtFSTtFdEo0NnBCVjtFd0I5K3BCTTtJOEhxRUk7RXRKNDZwQlY7O0V1QmovcEJNO0krSDBFSTtFdEoyNnBCVjtFd0JyL3BCTTtJOEg2RUk7RXRKMjZwQlY7O0VzSjE4cEJNO0lBQXdCO0V0Sjg4cEI5Qjs7RXNKNzhwQk07O0lBRUU7RXRKZzlwQlI7O0VzSjk4cEJNOztJQUVFO0V0Smk5cEJSOztFc0ovOHBCTTs7SUFFRTtFdEprOXBCUjs7RXNKaDlwQk07O0lBRUU7RXRKbTlwQlI7O0V1QmhocUJNO0krSGtFSTtFdEprOXBCVjtFd0JwaHFCTTtJOEhxRUk7RXRKazlwQlY7O0V1QnZocUJNO0krSDBFSTtFdEppOXBCVjtFd0IzaHFCTTtJOEg2RUk7RXRKaTlwQlY7O0VzSmgvcEJNO0lBQXdCO0V0Sm8vcEI5Qjs7RXNKbi9wQk07O0lBRUU7RXRKcy9wQlI7O0VzSnAvcEJNOztJQUVFO0V0SnUvcEJSOztFc0pyL3BCTTs7SUFFRTtFdEp3L3BCUjs7RXNKdC9wQk07O0lBRUU7RXRKeS9wQlI7O0V1QnRqcUJNO0krSGtFSTtFdEp3L3BCVjtFd0IxanFCTTtJOEhxRUk7RXRKdy9wQlY7O0V1QjdqcUJNO0krSDBFSTtFdEp1L3BCVjtFd0Jqa3FCTTtJOEg2RUk7RXRKdS9wQlY7O0VzSmgvcEJFO0lBQW1CO0V0Sm8vcEJyQjs7RXNKbi9wQkU7O0lBRUU7RXRKcy9wQko7O0VzSnAvcEJFOztJQUVFO0V0SnUvcEJKOztFc0pyL3BCRTs7SUFFRTtFdEp3L3BCSjs7RXNKdC9wQkU7O0lBRUU7RXRKeS9wQko7O0V1QjVscUJNO0krSHlHQTtFdEp1L3BCTjtFd0JobXFCTTtJOEg0R0E7RXRKdS9wQk47O0V1Qm5tcUJNO0krSGlIQTtFdEpzL3BCTjtFd0J2bXFCTTtJOEhvSEE7RXRKcy9wQk47QUFDRjtBK0R0aXFCSTtFdUYvREk7SUFBZ0M7RXRKeW1xQnRDOztFc0p4bXFCTTs7SUFFRTtFdEoybXFCUjs7RXNKem1xQk07O0lBRUU7RXRKNG1xQlI7O0VzSjFtcUJNOztJQUVFO0V0SjZtcUJSOztFc0ozbXFCTTs7SUFFRTtFdEo4bXFCUjs7RXVCbm9xQk07SStIMEJJO0V0SjZtcUJWO0V3QnZvcUJNO0k4SDZCSTtFdEo2bXFCVjs7RXVCMW9xQk07SStIa0NJO0V0SjRtcUJWO0V3QjlvcUJNO0k4SHFDSTtFdEo0bXFCVjs7RXNKM29xQk07SUFBZ0M7RXRKK29xQnRDOztFc0o5b3FCTTs7SUFFRTtFdEppcHFCUjs7RXNKL29xQk07O0lBRUU7RXRKa3BxQlI7O0VzSmhwcUJNOztJQUVFO0V0Sm1wcUJSOztFc0pqcHFCTTs7SUFFRTtFdEpvcHFCUjs7RXVCenFxQk07SStIMEJJO0V0Sm1wcUJWO0V3QjdxcUJNO0k4SDZCSTtFdEptcHFCVjs7RXVCaHJxQk07SStIa0NJO0V0SmtwcUJWO0V3QnBycUJNO0k4SHFDSTtFdEprcHFCVjs7RXNKanJxQk07SUFBZ0M7RXRKcXJxQnRDOztFc0pwcnFCTTs7SUFFRTtFdEp1cnFCUjs7RXNKcnJxQk07O0lBRUU7RXRKd3JxQlI7O0VzSnRycUJNOztJQUVFO0V0SnlycUJSOztFc0p2cnFCTTs7SUFFRTtFdEowcnFCUjs7RXVCL3NxQk07SStIMEJJO0V0SnlycUJWO0V3Qm50cUJNO0k4SDZCSTtFdEp5cnFCVjs7RXVCdHRxQk07SStIa0NJO0V0SndycUJWO0V3QjF0cUJNO0k4SHFDSTtFdEp3cnFCVjs7RXNKdnRxQk07SUFBZ0M7RXRKMnRxQnRDOztFc0oxdHFCTTs7SUFFRTtFdEo2dHFCUjs7RXNKM3RxQk07O0lBRUU7RXRKOHRxQlI7O0VzSjV0cUJNOztJQUVFO0V0Sit0cUJSOztFc0o3dHFCTTs7SUFFRTtFdEpndXFCUjs7RXVCcnZxQk07SStIMEJJO0V0Sit0cUJWO0V3Qnp2cUJNO0k4SDZCSTtFdEordHFCVjs7RXVCNXZxQk07SStIa0NJO0V0Sjh0cUJWO0V3Qmh3cUJNO0k4SHFDSTtFdEo4dHFCVjs7RXNKN3ZxQk07SUFBZ0M7RXRKaXdxQnRDOztFc0pod3FCTTs7SUFFRTtFdEptd3FCUjs7RXNKandxQk07O0lBRUU7RXRKb3dxQlI7O0VzSmx3cUJNOztJQUVFO0V0SnF3cUJSOztFc0pud3FCTTs7SUFFRTtFdEpzd3FCUjs7RXVCM3hxQk07SStIMEJJO0V0SnF3cUJWO0V3Qi94cUJNO0k4SDZCSTtFdEpxd3FCVjs7RXVCbHlxQk07SStIa0NJO0V0Sm93cUJWO0V3QnR5cUJNO0k4SHFDSTtFdEpvd3FCVjs7RXNKbnlxQk07SUFBZ0M7RXRKdXlxQnRDOztFc0p0eXFCTTs7SUFFRTtFdEp5eXFCUjs7RXNKdnlxQk07O0lBRUU7RXRKMHlxQlI7O0VzSnh5cUJNOztJQUVFO0V0SjJ5cUJSOztFc0p6eXFCTTs7SUFFRTtFdEo0eXFCUjs7RXVCajBxQk07SStIMEJJO0V0SjJ5cUJWO0V3QnIwcUJNO0k4SDZCSTtFdEoyeXFCVjs7RXVCeDBxQk07SStIa0NJO0V0SjB5cUJWO0V3QjUwcUJNO0k4SHFDSTtFdEoweXFCVjs7RXNKejBxQk07SUFBZ0M7RXRKNjBxQnRDOztFc0o1MHFCTTs7SUFFRTtFdEorMHFCUjs7RXNKNzBxQk07O0lBRUU7RXRKZzFxQlI7O0VzSjkwcUJNOztJQUVFO0V0SmkxcUJSOztFc0ovMHFCTTs7SUFFRTtFdEprMXFCUjs7RXVCdjJxQk07SStIMEJJO0V0SmkxcUJWO0V3QjMycUJNO0k4SDZCSTtFdEppMXFCVjs7RXVCOTJxQk07SStIa0NJO0V0SmcxcUJWO0V3QmwzcUJNO0k4SHFDSTtFdEpnMXFCVjs7RXNKLzJxQk07SUFBZ0M7RXRKbTNxQnRDOztFc0psM3FCTTs7SUFFRTtFdEpxM3FCUjs7RXNKbjNxQk07O0lBRUU7RXRKczNxQlI7O0VzSnAzcUJNOztJQUVFO0V0SnUzcUJSOztFc0pyM3FCTTs7SUFFRTtFdEp3M3FCUjs7RXVCNzRxQk07SStIMEJJO0V0SnUzcUJWO0V3Qmo1cUJNO0k4SDZCSTtFdEp1M3FCVjs7RXVCcDVxQk07SStIa0NJO0V0SnMzcUJWO0V3Qng1cUJNO0k4SHFDSTtFdEpzM3FCVjs7RXNKcjVxQk07SUFBZ0M7RXRKeTVxQnRDOztFc0p4NXFCTTs7SUFFRTtFdEoyNXFCUjs7RXNKejVxQk07O0lBRUU7RXRKNDVxQlI7O0VzSjE1cUJNOztJQUVFO0V0SjY1cUJSOztFc0ozNXFCTTs7SUFFRTtFdEo4NXFCUjs7RXVCbjdxQk07SStIMEJJO0V0SjY1cUJWO0V3QnY3cUJNO0k4SDZCSTtFdEo2NXFCVjs7RXVCMTdxQk07SStIa0NJO0V0SjQ1cUJWO0V3Qjk3cUJNO0k4SHFDSTtFdEo0NXFCVjs7RXNKMzdxQk07SUFBZ0M7RXRKKzdxQnRDOztFc0o5N3FCTTs7SUFFRTtFdEppOHFCUjs7RXNKLzdxQk07O0lBRUU7RXRKazhxQlI7O0VzSmg4cUJNOztJQUVFO0V0Sm04cUJSOztFc0pqOHFCTTs7SUFFRTtFdEpvOHFCUjs7RXVCejlxQk07SStIMEJJO0V0Sm04cUJWO0V3Qjc5cUJNO0k4SDZCSTtFdEptOHFCVjs7RXVCaCtxQk07SStIa0NJO0V0Sms4cUJWO0V3QnArcUJNO0k4SHFDSTtFdEprOHFCVjs7RXNKaitxQk07SUFBZ0M7RXRKcStxQnRDOztFc0pwK3FCTTs7SUFFRTtFdEp1K3FCUjs7RXNKcitxQk07O0lBRUU7RXRKdytxQlI7O0VzSnQrcUJNOztJQUVFO0V0SnkrcUJSOztFc0p2K3FCTTs7SUFFRTtFdEowK3FCUjs7RXVCLy9xQk07SStIMEJJO0V0SnkrcUJWO0V3Qm5nckJNO0k4SDZCSTtFdEp5K3FCVjs7RXVCdGdyQk07SStIa0NJO0V0SncrcUJWO0V3QjFnckJNO0k4SHFDSTtFdEp3K3FCVjs7RXNKdmdyQk07SUFBZ0M7RXRKMmdyQnRDOztFc0oxZ3JCTTs7SUFFRTtFdEo2Z3JCUjs7RXNKM2dyQk07O0lBRUU7RXRKOGdyQlI7O0VzSjVnckJNOztJQUVFO0V0SitnckJSOztFc0o3Z3JCTTs7SUFFRTtFdEpnaHJCUjs7RXVCcmlyQk07SStIMEJJO0V0SitnckJWO0V3QnppckJNO0k4SDZCSTtFdEorZ3JCVjs7RXVCNWlyQk07SStIa0NJO0V0SjhnckJWO0V3QmhqckJNO0k4SHFDSTtFdEo4Z3JCVjs7RXNKcmdyQk07SUFBd0I7RXRKeWdyQjlCOztFc0p4Z3JCTTs7SUFFRTtFdEoyZ3JCUjs7RXNKemdyQk07O0lBRUU7RXRKNGdyQlI7O0VzSjFnckJNOztJQUVFO0V0SjZnckJSOztFc0ozZ3JCTTs7SUFFRTtFdEo4Z3JCUjs7RXVCM2tyQk07SStIa0VJO0V0SjZnckJWO0V3Qi9rckJNO0k4SHFFSTtFdEo2Z3JCVjs7RXVCbGxyQk07SStIMEVJO0V0SjRnckJWO0V3QnRsckJNO0k4SDZFSTtFdEo0Z3JCVjs7RXNKM2lyQk07SUFBd0I7RXRKK2lyQjlCOztFc0o5aXJCTTs7SUFFRTtFdEppanJCUjs7RXNKL2lyQk07O0lBRUU7RXRKa2pyQlI7O0VzSmhqckJNOztJQUVFO0V0Sm1qckJSOztFc0pqanJCTTs7SUFFRTtFdEpvanJCUjs7RXVCam5yQk07SStIa0VJO0V0Sm1qckJWO0V3QnJuckJNO0k4SHFFSTtFdEptanJCVjs7RXVCeG5yQk07SStIMEVJO0V0SmtqckJWO0V3QjVuckJNO0k4SDZFSTtFdEpranJCVjs7RXNKamxyQk07SUFBd0I7RXRKcWxyQjlCOztFc0pwbHJCTTs7SUFFRTtFdEp1bHJCUjs7RXNKcmxyQk07O0lBRUU7RXRKd2xyQlI7O0VzSnRsckJNOztJQUVFO0V0SnlsckJSOztFc0p2bHJCTTs7SUFFRTtFdEowbHJCUjs7RXVCdnByQk07SStIa0VJO0V0SnlsckJWO0V3QjNwckJNO0k4SHFFSTtFdEp5bHJCVjs7RXVCOXByQk07SStIMEVJO0V0SndsckJWO0V3QmxxckJNO0k4SDZFSTtFdEp3bHJCVjs7RXNKdm5yQk07SUFBd0I7RXRKMm5yQjlCOztFc0oxbnJCTTs7SUFFRTtFdEo2bnJCUjs7RXNKM25yQk07O0lBRUU7RXRKOG5yQlI7O0VzSjVuckJNOztJQUVFO0V0SituckJSOztFc0o3bnJCTTs7SUFFRTtFdEpnb3JCUjs7RXVCN3JyQk07SStIa0VJO0V0SituckJWO0V3QmpzckJNO0k4SHFFSTtFdEorbnJCVjs7RXVCcHNyQk07SStIMEVJO0V0SjhuckJWO0V3QnhzckJNO0k4SDZFSTtFdEo4bnJCVjs7RXNKN3ByQk07SUFBd0I7RXRKaXFyQjlCOztFc0pocXJCTTs7SUFFRTtFdEptcXJCUjs7RXNKanFyQk07O0lBRUU7RXRKb3FyQlI7O0VzSmxxckJNOztJQUVFO0V0SnFxckJSOztFc0pucXJCTTs7SUFFRTtFdEpzcXJCUjs7RXVCbnVyQk07SStIa0VJO0V0SnFxckJWO0V3QnZ1ckJNO0k4SHFFSTtFdEpxcXJCVjs7RXVCMXVyQk07SStIMEVJO0V0Sm9xckJWO0V3Qjl1ckJNO0k4SDZFSTtFdEpvcXJCVjs7RXNKN3ByQkU7SUFBbUI7RXRKaXFyQnJCOztFc0pocXJCRTs7SUFFRTtFdEptcXJCSjs7RXNKanFyQkU7O0lBRUU7RXRKb3FyQko7O0VzSmxxckJFOztJQUVFO0V0SnFxckJKOztFc0pucXJCRTs7SUFFRTtFdEpzcXJCSjs7RXVCendyQk07SStIeUdBO0V0Sm9xckJOO0V3Qjd3ckJNO0k4SDRHQTtFdEpvcXJCTjs7RXVCaHhyQk07SStIaUhBO0V0Sm1xckJOO0V3QnB4ckJNO0k4SG9IQTtFdEptcXJCTjtBQUNGO0ErRG50ckJJO0V1Ri9ESTtJQUFnQztFdEpzeHJCdEM7O0VzSnJ4ckJNOztJQUVFO0V0Snd4ckJSOztFc0p0eHJCTTs7SUFFRTtFdEp5eHJCUjs7RXNKdnhyQk07O0lBRUU7RXRKMHhyQlI7O0VzSnh4ckJNOztJQUVFO0V0SjJ4ckJSOztFdUJoenJCTTtJK0gwQkk7RXRKMHhyQlY7RXdCcHpyQk07SThINkJJO0V0SjB4ckJWOztFdUJ2enJCTTtJK0hrQ0k7RXRKeXhyQlY7RXdCM3pyQk07SThIcUNJO0V0Snl4ckJWOztFc0p4enJCTTtJQUFnQztFdEo0enJCdEM7O0VzSjN6ckJNOztJQUVFO0V0Sjh6ckJSOztFc0o1enJCTTs7SUFFRTtFdEorenJCUjs7RXNKN3pyQk07O0lBRUU7RXRKZzByQlI7O0VzSjl6ckJNOztJQUVFO0V0SmkwckJSOztFdUJ0MXJCTTtJK0gwQkk7RXRKZzByQlY7RXdCMTFyQk07SThINkJJO0V0SmcwckJWOztFdUI3MXJCTTtJK0hrQ0k7RXRKK3pyQlY7RXdCajJyQk07SThIcUNJO0V0Sit6ckJWOztFc0o5MXJCTTtJQUFnQztFdEprMnJCdEM7O0VzSmoyckJNOztJQUVFO0V0Sm8yckJSOztFc0psMnJCTTs7SUFFRTtFdEpxMnJCUjs7RXNKbjJyQk07O0lBRUU7RXRKczJyQlI7O0VzSnAyckJNOztJQUVFO0V0SnUyckJSOztFdUI1M3JCTTtJK0gwQkk7RXRKczJyQlY7RXdCaDRyQk07SThINkJJO0V0SnMyckJWOztFdUJuNHJCTTtJK0hrQ0k7RXRKcTJyQlY7RXdCdjRyQk07SThIcUNJO0V0SnEyckJWOztFc0pwNHJCTTtJQUFnQztFdEp3NHJCdEM7O0VzSnY0ckJNOztJQUVFO0V0SjA0ckJSOztFc0p4NHJCTTs7SUFFRTtFdEoyNHJCUjs7RXNKejRyQk07O0lBRUU7RXRKNDRyQlI7O0VzSjE0ckJNOztJQUVFO0V0SjY0ckJSOztFdUJsNnJCTTtJK0gwQkk7RXRKNDRyQlY7RXdCdDZyQk07SThINkJJO0V0SjQ0ckJWOztFdUJ6NnJCTTtJK0hrQ0k7RXRKMjRyQlY7RXdCNzZyQk07SThIcUNJO0V0SjI0ckJWOztFc0oxNnJCTTtJQUFnQztFdEo4NnJCdEM7O0VzSjc2ckJNOztJQUVFO0V0Smc3ckJSOztFc0o5NnJCTTs7SUFFRTtFdEppN3JCUjs7RXNKLzZyQk07O0lBRUU7RXRKazdyQlI7O0VzSmg3ckJNOztJQUVFO0V0Sm03ckJSOztFdUJ4OHJCTTtJK0gwQkk7RXRKazdyQlY7RXdCNThyQk07SThINkJJO0V0Sms3ckJWOztFdUIvOHJCTTtJK0hrQ0k7RXRKaTdyQlY7RXdCbjlyQk07SThIcUNJO0V0Smk3ckJWOztFc0poOXJCTTtJQUFnQztFdEpvOXJCdEM7O0VzSm45ckJNOztJQUVFO0V0SnM5ckJSOztFc0pwOXJCTTs7SUFFRTtFdEp1OXJCUjs7RXNKcjlyQk07O0lBRUU7RXRKdzlyQlI7O0VzSnQ5ckJNOztJQUVFO0V0Snk5ckJSOztFdUI5K3JCTTtJK0gwQkk7RXRKdzlyQlY7RXdCbC9yQk07SThINkJJO0V0Snc5ckJWOztFdUJyL3JCTTtJK0hrQ0k7RXRKdTlyQlY7RXdCei9yQk07SThIcUNJO0V0SnU5ckJWOztFc0p0L3JCTTtJQUFnQztFdEowL3JCdEM7O0VzSnovckJNOztJQUVFO0V0SjQvckJSOztFc0oxL3JCTTs7SUFFRTtFdEo2L3JCUjs7RXNKMy9yQk07O0lBRUU7RXRKOC9yQlI7O0VzSjUvckJNOztJQUVFO0V0SisvckJSOztFdUJwaHNCTTtJK0gwQkk7RXRKOC9yQlY7RXdCeGhzQk07SThINkJJO0V0SjgvckJWOztFdUIzaHNCTTtJK0hrQ0k7RXRKNi9yQlY7RXdCL2hzQk07SThIcUNJO0V0SjYvckJWOztFc0o1aHNCTTtJQUFnQztFdEpnaXNCdEM7O0VzSi9oc0JNOztJQUVFO0V0Smtpc0JSOztFc0poaXNCTTs7SUFFRTtFdEptaXNCUjs7RXNKamlzQk07O0lBRUU7RXRKb2lzQlI7O0VzSmxpc0JNOztJQUVFO0V0SnFpc0JSOztFdUIxanNCTTtJK0gwQkk7RXRKb2lzQlY7RXdCOWpzQk07SThINkJJO0V0Sm9pc0JWOztFdUJqa3NCTTtJK0hrQ0k7RXRKbWlzQlY7RXdCcmtzQk07SThIcUNJO0V0Sm1pc0JWOztFc0psa3NCTTtJQUFnQztFdEpza3NCdEM7O0VzSnJrc0JNOztJQUVFO0V0Sndrc0JSOztFc0p0a3NCTTs7SUFFRTtFdEp5a3NCUjs7RXNKdmtzQk07O0lBRUU7RXRKMGtzQlI7O0VzSnhrc0JNOztJQUVFO0V0SjJrc0JSOztFdUJobXNCTTtJK0gwQkk7RXRKMGtzQlY7RXdCcG1zQk07SThINkJJO0V0SjBrc0JWOztFdUJ2bXNCTTtJK0hrQ0k7RXRKeWtzQlY7RXdCM21zQk07SThIcUNJO0V0Snlrc0JWOztFc0p4bXNCTTtJQUFnQztFdEo0bXNCdEM7O0VzSjNtc0JNOztJQUVFO0V0Sjhtc0JSOztFc0o1bXNCTTs7SUFFRTtFdEorbXNCUjs7RXNKN21zQk07O0lBRUU7RXRKZ25zQlI7O0VzSjltc0JNOztJQUVFO0V0Smluc0JSOztFdUJ0b3NCTTtJK0gwQkk7RXRKZ25zQlY7RXdCMW9zQk07SThINkJJO0V0Smduc0JWOztFdUI3b3NCTTtJK0hrQ0k7RXRKK21zQlY7RXdCanBzQk07SThIcUNJO0V0Sittc0JWOztFc0o5b3NCTTtJQUFnQztFdEprcHNCdEM7O0VzSmpwc0JNOztJQUVFO0V0Sm9wc0JSOztFc0pscHNCTTs7SUFFRTtFdEpxcHNCUjs7RXNKbnBzQk07O0lBRUU7RXRKc3BzQlI7O0VzSnBwc0JNOztJQUVFO0V0SnVwc0JSOztFdUI1cXNCTTtJK0gwQkk7RXRKc3BzQlY7RXdCaHJzQk07SThINkJJO0V0SnNwc0JWOztFdUJucnNCTTtJK0hrQ0k7RXRKcXBzQlY7RXdCdnJzQk07SThIcUNJO0V0SnFwc0JWOztFc0pwcnNCTTtJQUFnQztFdEp3cnNCdEM7O0VzSnZyc0JNOztJQUVFO0V0SjByc0JSOztFc0p4cnNCTTs7SUFFRTtFdEoycnNCUjs7RXNKenJzQk07O0lBRUU7RXRKNHJzQlI7O0VzSjFyc0JNOztJQUVFO0V0SjZyc0JSOztFdUJsdHNCTTtJK0gwQkk7RXRKNHJzQlY7RXdCdHRzQk07SThINkJJO0V0SjRyc0JWOztFdUJ6dHNCTTtJK0hrQ0k7RXRKMnJzQlY7RXdCN3RzQk07SThIcUNJO0V0SjJyc0JWOztFc0pscnNCTTtJQUF3QjtFdEpzcnNCOUI7O0VzSnJyc0JNOztJQUVFO0V0Sndyc0JSOztFc0p0cnNCTTs7SUFFRTtFdEp5cnNCUjs7RXNKdnJzQk07O0lBRUU7RXRKMHJzQlI7O0VzSnhyc0JNOztJQUVFO0V0SjJyc0JSOztFdUJ4dnNCTTtJK0hrRUk7RXRKMHJzQlY7RXdCNXZzQk07SThIcUVJO0V0SjByc0JWOztFdUIvdnNCTTtJK0gwRUk7RXRKeXJzQlY7RXdCbndzQk07SThINkVJO0V0Snlyc0JWOztFc0p4dHNCTTtJQUF3QjtFdEo0dHNCOUI7O0VzSjN0c0JNOztJQUVFO0V0Sjh0c0JSOztFc0o1dHNCTTs7SUFFRTtFdEordHNCUjs7RXNKN3RzQk07O0lBRUU7RXRKZ3VzQlI7O0VzSjl0c0JNOztJQUVFO0V0Sml1c0JSOztFdUI5eHNCTTtJK0hrRUk7RXRKZ3VzQlY7RXdCbHlzQk07SThIcUVJO0V0Smd1c0JWOztFdUJyeXNCTTtJK0gwRUk7RXRKK3RzQlY7RXdCenlzQk07SThINkVJO0V0Sit0c0JWOztFc0o5dnNCTTtJQUF3QjtFdEprd3NCOUI7O0VzSmp3c0JNOztJQUVFO0V0Sm93c0JSOztFc0psd3NCTTs7SUFFRTtFdEpxd3NCUjs7RXNKbndzQk07O0lBRUU7RXRKc3dzQlI7O0VzSnB3c0JNOztJQUVFO0V0SnV3c0JSOztFdUJwMHNCTTtJK0hrRUk7RXRKc3dzQlY7RXdCeDBzQk07SThIcUVJO0V0SnN3c0JWOztFdUIzMHNCTTtJK0gwRUk7RXRKcXdzQlY7RXdCLzBzQk07SThINkVJO0V0SnF3c0JWOztFc0pweXNCTTtJQUF3QjtFdEp3eXNCOUI7O0VzSnZ5c0JNOztJQUVFO0V0SjB5c0JSOztFc0p4eXNCTTs7SUFFRTtFdEoyeXNCUjs7RXNKenlzQk07O0lBRUU7RXRKNHlzQlI7O0VzSjF5c0JNOztJQUVFO0V0SjZ5c0JSOztFdUIxMnNCTTtJK0hrRUk7RXRKNHlzQlY7RXdCOTJzQk07SThIcUVJO0V0SjR5c0JWOztFdUJqM3NCTTtJK0gwRUk7RXRKMnlzQlY7RXdCcjNzQk07SThINkVJO0V0SjJ5c0JWOztFc0oxMHNCTTtJQUF3QjtFdEo4MHNCOUI7O0VzSjcwc0JNOztJQUVFO0V0Smcxc0JSOztFc0o5MHNCTTs7SUFFRTtFdEppMXNCUjs7RXNKLzBzQk07O0lBRUU7RXRKazFzQlI7O0VzSmgxc0JNOztJQUVFO0V0Sm0xc0JSOztFdUJoNXNCTTtJK0hrRUk7RXRKazFzQlY7RXdCcDVzQk07SThIcUVJO0V0Smsxc0JWOztFdUJ2NXNCTTtJK0gwRUk7RXRKaTFzQlY7RXdCMzVzQk07SThINkVJO0V0Smkxc0JWOztFc0oxMHNCRTtJQUFtQjtFdEo4MHNCckI7O0VzSjcwc0JFOztJQUVFO0V0Smcxc0JKOztFc0o5MHNCRTs7SUFFRTtFdEppMXNCSjs7RXNKLzBzQkU7O0lBRUU7RXRKazFzQko7O0VzSmgxc0JFOztJQUVFO0V0Sm0xc0JKOztFdUJ0N3NCTTtJK0h5R0E7RXRKaTFzQk47RXdCMTdzQk07SThINEdBO0V0Smkxc0JOOztFdUI3N3NCTTtJK0hpSEE7RXRKZzFzQk47RXdCajhzQk07SThIb0hBO0V0Smcxc0JOO0FBQ0Y7QStEaDRzQkk7RXVGL0RJO0lBQWdDO0V0Sm04c0J0Qzs7RXNKbDhzQk07O0lBRUU7RXRKcThzQlI7O0VzSm44c0JNOztJQUVFO0V0SnM4c0JSOztFc0pwOHNCTTs7SUFFRTtFdEp1OHNCUjs7RXNKcjhzQk07O0lBRUU7RXRKdzhzQlI7O0V1Qjc5c0JNO0krSDBCSTtFdEp1OHNCVjtFd0JqK3NCTTtJOEg2Qkk7RXRKdThzQlY7O0V1QnArc0JNO0krSGtDSTtFdEpzOHNCVjtFd0J4K3NCTTtJOEhxQ0k7RXRKczhzQlY7O0VzSnIrc0JNO0lBQWdDO0V0Snkrc0J0Qzs7RXNKeCtzQk07O0lBRUU7RXRKMitzQlI7O0VzSnorc0JNOztJQUVFO0V0SjQrc0JSOztFc0oxK3NCTTs7SUFFRTtFdEo2K3NCUjs7RXNKMytzQk07O0lBRUU7RXRKOCtzQlI7O0V1Qm5ndEJNO0krSDBCSTtFdEo2K3NCVjtFd0J2Z3RCTTtJOEg2Qkk7RXRKNitzQlY7O0V1QjFndEJNO0krSGtDSTtFdEo0K3NCVjtFd0I5Z3RCTTtJOEhxQ0k7RXRKNCtzQlY7O0VzSjNndEJNO0lBQWdDO0V0SitndEJ0Qzs7RXNKOWd0Qk07O0lBRUU7RXRKaWh0QlI7O0VzSi9ndEJNOztJQUVFO0V0SmtodEJSOztFc0poaHRCTTs7SUFFRTtFdEptaHRCUjs7RXNKamh0Qk07O0lBRUU7RXRKb2h0QlI7O0V1QnppdEJNO0krSDBCSTtFdEptaHRCVjtFd0I3aXRCTTtJOEg2Qkk7RXRKbWh0QlY7O0V1QmhqdEJNO0krSGtDSTtFdEpraHRCVjtFd0JwanRCTTtJOEhxQ0k7RXRKa2h0QlY7O0VzSmpqdEJNO0lBQWdDO0V0SnFqdEJ0Qzs7RXNKcGp0Qk07O0lBRUU7RXRKdWp0QlI7O0VzSnJqdEJNOztJQUVFO0V0SndqdEJSOztFc0p0anRCTTs7SUFFRTtFdEp5anRCUjs7RXNKdmp0Qk07O0lBRUU7RXRKMGp0QlI7O0V1Qi9rdEJNO0krSDBCSTtFdEp5anRCVjtFd0JubHRCTTtJOEg2Qkk7RXRKeWp0QlY7O0V1QnRsdEJNO0krSGtDSTtFdEp3anRCVjtFd0IxbHRCTTtJOEhxQ0k7RXRKd2p0QlY7O0VzSnZsdEJNO0lBQWdDO0V0SjJsdEJ0Qzs7RXNKMWx0Qk07O0lBRUU7RXRKNmx0QlI7O0VzSjNsdEJNOztJQUVFO0V0SjhsdEJSOztFc0o1bHRCTTs7SUFFRTtFdEorbHRCUjs7RXNKN2x0Qk07O0lBRUU7RXRKZ210QlI7O0V1QnJudEJNO0krSDBCSTtFdEorbHRCVjtFd0J6bnRCTTtJOEg2Qkk7RXRKK2x0QlY7O0V1QjVudEJNO0krSGtDSTtFdEo4bHRCVjtFd0Job3RCTTtJOEhxQ0k7RXRKOGx0QlY7O0VzSjdudEJNO0lBQWdDO0V0SmlvdEJ0Qzs7RXNKaG90Qk07O0lBRUU7RXRKbW90QlI7O0VzSmpvdEJNOztJQUVFO0V0Sm9vdEJSOztFc0psb3RCTTs7SUFFRTtFdEpxb3RCUjs7RXNKbm90Qk07O0lBRUU7RXRKc290QlI7O0V1QjNwdEJNO0krSDBCSTtFdEpxb3RCVjtFd0IvcHRCTTtJOEg2Qkk7RXRKcW90QlY7O0V1QmxxdEJNO0krSGtDSTtFdEpvb3RCVjtFd0J0cXRCTTtJOEhxQ0k7RXRKb290QlY7O0VzSm5xdEJNO0lBQWdDO0V0SnVxdEJ0Qzs7RXNKdHF0Qk07O0lBRUU7RXRKeXF0QlI7O0VzSnZxdEJNOztJQUVFO0V0SjBxdEJSOztFc0p4cXRCTTs7SUFFRTtFdEoycXRCUjs7RXNKenF0Qk07O0lBRUU7RXRKNHF0QlI7O0V1QmpzdEJNO0krSDBCSTtFdEoycXRCVjtFd0Jyc3RCTTtJOEg2Qkk7RXRKMnF0QlY7O0V1QnhzdEJNO0krSGtDSTtFdEowcXRCVjtFd0I1c3RCTTtJOEhxQ0k7RXRKMHF0QlY7O0VzSnpzdEJNO0lBQWdDO0V0SjZzdEJ0Qzs7RXNKNXN0Qk07O0lBRUU7RXRKK3N0QlI7O0VzSjdzdEJNOztJQUVFO0V0Smd0dEJSOztFc0o5c3RCTTs7SUFFRTtFdEppdHRCUjs7RXNKL3N0Qk07O0lBRUU7RXRKa3R0QlI7O0V1QnZ1dEJNO0krSDBCSTtFdEppdHRCVjtFd0IzdXRCTTtJOEg2Qkk7RXRKaXR0QlY7O0V1Qjl1dEJNO0krSGtDSTtFdEpndHRCVjtFd0JsdnRCTTtJOEhxQ0k7RXRKZ3R0QlY7O0VzSi91dEJNO0lBQWdDO0V0Sm12dEJ0Qzs7RXNKbHZ0Qk07O0lBRUU7RXRKcXZ0QlI7O0VzSm52dEJNOztJQUVFO0V0SnN2dEJSOztFc0pwdnRCTTs7SUFFRTtFdEp1dnRCUjs7RXNKcnZ0Qk07O0lBRUU7RXRKd3Z0QlI7O0V1Qjd3dEJNO0krSDBCSTtFdEp1dnRCVjtFd0JqeHRCTTtJOEg2Qkk7RXRKdXZ0QlY7O0V1QnB4dEJNO0krSGtDSTtFdEpzdnRCVjtFd0J4eHRCTTtJOEhxQ0k7RXRKc3Z0QlY7O0VzSnJ4dEJNO0lBQWdDO0V0Snl4dEJ0Qzs7RXNKeHh0Qk07O0lBRUU7RXRKMnh0QlI7O0VzSnp4dEJNOztJQUVFO0V0SjR4dEJSOztFc0oxeHRCTTs7SUFFRTtFdEo2eHRCUjs7RXNKM3h0Qk07O0lBRUU7RXRKOHh0QlI7O0V1Qm56dEJNO0krSDBCSTtFdEo2eHRCVjtFd0J2enRCTTtJOEg2Qkk7RXRKNnh0QlY7O0V1QjF6dEJNO0krSGtDSTtFdEo0eHRCVjtFd0I5enRCTTtJOEhxQ0k7RXRKNHh0QlY7O0VzSjN6dEJNO0lBQWdDO0V0Sit6dEJ0Qzs7RXNKOXp0Qk07O0lBRUU7RXRKaTB0QlI7O0VzSi96dEJNOztJQUVFO0V0SmswdEJSOztFc0poMHRCTTs7SUFFRTtFdEptMHRCUjs7RXNKajB0Qk07O0lBRUU7RXRKbzB0QlI7O0V1QnoxdEJNO0krSDBCSTtFdEptMHRCVjtFd0I3MXRCTTtJOEg2Qkk7RXRKbTB0QlY7O0V1QmgydEJNO0krSGtDSTtFdEprMHRCVjtFd0JwMnRCTTtJOEhxQ0k7RXRKazB0QlY7O0VzSmoydEJNO0lBQWdDO0V0SnEydEJ0Qzs7RXNKcDJ0Qk07O0lBRUU7RXRKdTJ0QlI7O0VzSnIydEJNOztJQUVFO0V0SncydEJSOztFc0p0MnRCTTs7SUFFRTtFdEp5MnRCUjs7RXNKdjJ0Qk07O0lBRUU7RXRKMDJ0QlI7O0V1Qi8zdEJNO0krSDBCSTtFdEp5MnRCVjtFd0JuNHRCTTtJOEg2Qkk7RXRKeTJ0QlY7O0V1QnQ0dEJNO0krSGtDSTtFdEp3MnRCVjtFd0IxNHRCTTtJOEhxQ0k7RXRKdzJ0QlY7O0VzSi8xdEJNO0lBQXdCO0V0Sm0ydEI5Qjs7RXNKbDJ0Qk07O0lBRUU7RXRKcTJ0QlI7O0VzSm4ydEJNOztJQUVFO0V0SnMydEJSOztFc0pwMnRCTTs7SUFFRTtFdEp1MnRCUjs7RXNKcjJ0Qk07O0lBRUU7RXRKdzJ0QlI7O0V1QnI2dEJNO0krSGtFSTtFdEp1MnRCVjtFd0J6NnRCTTtJOEhxRUk7RXRKdTJ0QlY7O0V1QjU2dEJNO0krSDBFSTtFdEpzMnRCVjtFd0JoN3RCTTtJOEg2RUk7RXRKczJ0QlY7O0VzSnI0dEJNO0lBQXdCO0V0Snk0dEI5Qjs7RXNKeDR0Qk07O0lBRUU7RXRKMjR0QlI7O0VzSno0dEJNOztJQUVFO0V0SjQ0dEJSOztFc0oxNHRCTTs7SUFFRTtFdEo2NHRCUjs7RXNKMzR0Qk07O0lBRUU7RXRKODR0QlI7O0V1QjM4dEJNO0krSGtFSTtFdEo2NHRCVjtFd0IvOHRCTTtJOEhxRUk7RXRKNjR0QlY7O0V1Qmw5dEJNO0krSDBFSTtFdEo0NHRCVjtFd0J0OXRCTTtJOEg2RUk7RXRKNDR0QlY7O0VzSjM2dEJNO0lBQXdCO0V0Sis2dEI5Qjs7RXNKOTZ0Qk07O0lBRUU7RXRKaTd0QlI7O0VzSi82dEJNOztJQUVFO0V0Sms3dEJSOztFc0poN3RCTTs7SUFFRTtFdEptN3RCUjs7RXNKajd0Qk07O0lBRUU7RXRKbzd0QlI7O0V1QmovdEJNO0krSGtFSTtFdEptN3RCVjtFd0JyL3RCTTtJOEhxRUk7RXRKbTd0QlY7O0V1QngvdEJNO0krSDBFSTtFdEprN3RCVjtFd0I1L3RCTTtJOEg2RUk7RXRKazd0QlY7O0VzSmo5dEJNO0lBQXdCO0V0SnE5dEI5Qjs7RXNKcDl0Qk07O0lBRUU7RXRKdTl0QlI7O0VzSnI5dEJNOztJQUVFO0V0Snc5dEJSOztFc0p0OXRCTTs7SUFFRTtFdEp5OXRCUjs7RXNKdjl0Qk07O0lBRUU7RXRKMDl0QlI7O0V1QnZodUJNO0krSGtFSTtFdEp5OXRCVjtFd0IzaHVCTTtJOEhxRUk7RXRKeTl0QlY7O0V1QjlodUJNO0krSDBFSTtFdEp3OXRCVjtFd0JsaXVCTTtJOEg2RUk7RXRKdzl0QlY7O0VzSnYvdEJNO0lBQXdCO0V0SjIvdEI5Qjs7RXNKMS90Qk07O0lBRUU7RXRKNi90QlI7O0VzSjMvdEJNOztJQUVFO0V0SjgvdEJSOztFc0o1L3RCTTs7SUFFRTtFdEorL3RCUjs7RXNKNy90Qk07O0lBRUU7RXRKZ2d1QlI7O0V1QjdqdUJNO0krSGtFSTtFdEorL3RCVjtFd0Jqa3VCTTtJOEhxRUk7RXRKKy90QlY7O0V1QnBrdUJNO0krSDBFSTtFdEo4L3RCVjtFd0J4a3VCTTtJOEg2RUk7RXRKOC90QlY7O0VzSnYvdEJFO0lBQW1CO0V0SjIvdEJyQjs7RXNKMS90QkU7O0lBRUU7RXRKNi90Qko7O0VzSjMvdEJFOztJQUVFO0V0SjgvdEJKOztFc0o1L3RCRTs7SUFFRTtFdEorL3RCSjs7RXNKNy90QkU7O0lBRUU7RXRKZ2d1Qko7O0V1Qm5tdUJNO0krSHlHQTtFdEo4L3RCTjtFd0J2bXVCTTtJOEg0R0E7RXRKOC90Qk47O0V1QjFtdUJNO0krSGlIQTtFdEo2L3RCTjtFd0I5bXVCTTtJOEhvSEE7RXRKNi90Qk47QUFDRjtBK0Q3aXVCSTtFdUYvREk7SUFBZ0M7RXRKZ251QnRDOztFc0ovbXVCTTs7SUFFRTtFdEprbnVCUjs7RXNKaG51Qk07O0lBRUU7RXRKbW51QlI7O0VzSmpudUJNOztJQUVFO0V0Sm9udUJSOztFc0psbnVCTTs7SUFFRTtFdEpxbnVCUjs7RXVCMW91Qk07SStIMEJJO0V0Sm9udUJWO0V3QjlvdUJNO0k4SDZCSTtFdEpvbnVCVjs7RXVCanB1Qk07SStIa0NJO0V0Sm1udUJWO0V3QnJwdUJNO0k4SHFDSTtFdEptbnVCVjs7RXNKbHB1Qk07SUFBZ0M7RXRKc3B1QnRDOztFc0pycHVCTTs7SUFFRTtFdEp3cHVCUjs7RXNKdHB1Qk07O0lBRUU7RXRKeXB1QlI7O0VzSnZwdUJNOztJQUVFO0V0SjBwdUJSOztFc0p4cHVCTTs7SUFFRTtFdEoycHVCUjs7RXVCaHJ1Qk07SStIMEJJO0V0SjBwdUJWO0V3QnBydUJNO0k4SDZCSTtFdEowcHVCVjs7RXVCdnJ1Qk07SStIa0NJO0V0SnlwdUJWO0V3QjNydUJNO0k4SHFDSTtFdEp5cHVCVjs7RXNKeHJ1Qk07SUFBZ0M7RXRKNHJ1QnRDOztFc0ozcnVCTTs7SUFFRTtFdEo4cnVCUjs7RXNKNXJ1Qk07O0lBRUU7RXRKK3J1QlI7O0VzSjdydUJNOztJQUVFO0V0SmdzdUJSOztFc0o5cnVCTTs7SUFFRTtFdEppc3VCUjs7RXVCdHR1Qk07SStIMEJJO0V0SmdzdUJWO0V3QjF0dUJNO0k4SDZCSTtFdEpnc3VCVjs7RXVCN3R1Qk07SStIa0NJO0V0SitydUJWO0V3Qmp1dUJNO0k4SHFDSTtFdEorcnVCVjs7RXNKOXR1Qk07SUFBZ0M7RXRKa3V1QnRDOztFc0pqdXVCTTs7SUFFRTtFdEpvdXVCUjs7RXNKbHV1Qk07O0lBRUU7RXRKcXV1QlI7O0VzSm51dUJNOztJQUVFO0V0SnN1dUJSOztFc0pwdXVCTTs7SUFFRTtFdEp1dXVCUjs7RXVCNXZ1Qk07SStIMEJJO0V0SnN1dUJWO0V3Qmh3dUJNO0k4SDZCSTtFdEpzdXVCVjs7RXVCbnd1Qk07SStIa0NJO0V0SnF1dUJWO0V3QnZ3dUJNO0k4SHFDSTtFdEpxdXVCVjs7RXNKcHd1Qk07SUFBZ0M7RXRKd3d1QnRDOztFc0p2d3VCTTs7SUFFRTtFdEowd3VCUjs7RXNKeHd1Qk07O0lBRUU7RXRKMnd1QlI7O0VzSnp3dUJNOztJQUVFO0V0SjR3dUJSOztFc0oxd3VCTTs7SUFFRTtFdEo2d3VCUjs7RXVCbHl1Qk07SStIMEJJO0V0SjR3dUJWO0V3QnR5dUJNO0k4SDZCSTtFdEo0d3VCVjs7RXVCenl1Qk07SStIa0NJO0V0SjJ3dUJWO0V3Qjd5dUJNO0k4SHFDSTtFdEoyd3VCVjs7RXNKMXl1Qk07SUFBZ0M7RXRKOHl1QnRDOztFc0o3eXVCTTs7SUFFRTtFdEpnenVCUjs7RXNKOXl1Qk07O0lBRUU7RXRKaXp1QlI7O0VzSi95dUJNOztJQUVFO0V0Smt6dUJSOztFc0poenVCTTs7SUFFRTtFdEptenVCUjs7RXVCeDB1Qk07SStIMEJJO0V0Smt6dUJWO0V3QjUwdUJNO0k4SDZCSTtFdEprenVCVjs7RXVCLzB1Qk07SStIa0NJO0V0Sml6dUJWO0V3Qm4xdUJNO0k4SHFDSTtFdEppenVCVjs7RXNKaDF1Qk07SUFBZ0M7RXRKbzF1QnRDOztFc0puMXVCTTs7SUFFRTtFdEpzMXVCUjs7RXNKcDF1Qk07O0lBRUU7RXRKdTF1QlI7O0VzSnIxdUJNOztJQUVFO0V0SncxdUJSOztFc0p0MXVCTTs7SUFFRTtFdEp5MXVCUjs7RXVCOTJ1Qk07SStIMEJJO0V0SncxdUJWO0V3QmwzdUJNO0k4SDZCSTtFdEp3MXVCVjs7RXVCcjN1Qk07SStIa0NJO0V0SnUxdUJWO0V3QnozdUJNO0k4SHFDSTtFdEp1MXVCVjs7RXNKdDN1Qk07SUFBZ0M7RXRKMDN1QnRDOztFc0p6M3VCTTs7SUFFRTtFdEo0M3VCUjs7RXNKMTN1Qk07O0lBRUU7RXRKNjN1QlI7O0VzSjMzdUJNOztJQUVFO0V0SjgzdUJSOztFc0o1M3VCTTs7SUFFRTtFdEorM3VCUjs7RXVCcDV1Qk07SStIMEJJO0V0SjgzdUJWO0V3Qng1dUJNO0k4SDZCSTtFdEo4M3VCVjs7RXVCMzV1Qk07SStIa0NJO0V0SjYzdUJWO0V3Qi81dUJNO0k4SHFDSTtFdEo2M3VCVjs7RXNKNTV1Qk07SUFBZ0M7RXRKZzZ1QnRDOztFc0ovNXVCTTs7SUFFRTtFdEprNnVCUjs7RXNKaDZ1Qk07O0lBRUU7RXRKbTZ1QlI7O0VzSmo2dUJNOztJQUVFO0V0Sm82dUJSOztFc0psNnVCTTs7SUFFRTtFdEpxNnVCUjs7RXVCMTd1Qk07SStIMEJJO0V0Sm82dUJWO0V3Qjk3dUJNO0k4SDZCSTtFdEpvNnVCVjs7RXVCajh1Qk07SStIa0NJO0V0Sm02dUJWO0V3QnI4dUJNO0k4SHFDSTtFdEptNnVCVjs7RXNKbDh1Qk07SUFBZ0M7RXRKczh1QnRDOztFc0pyOHVCTTs7SUFFRTtFdEp3OHVCUjs7RXNKdDh1Qk07O0lBRUU7RXRKeTh1QlI7O0VzSnY4dUJNOztJQUVFO0V0SjA4dUJSOztFc0p4OHVCTTs7SUFFRTtFdEoyOHVCUjs7RXVCaCt1Qk07SStIMEJJO0V0SjA4dUJWO0V3QnArdUJNO0k4SDZCSTtFdEowOHVCVjs7RXVCdit1Qk07SStIa0NJO0V0Snk4dUJWO0V3QjMrdUJNO0k4SHFDSTtFdEp5OHVCVjs7RXNKeCt1Qk07SUFBZ0M7RXRKNCt1QnRDOztFc0ozK3VCTTs7SUFFRTtFdEo4K3VCUjs7RXNKNSt1Qk07O0lBRUU7RXRKKyt1QlI7O0VzSjcrdUJNOztJQUVFO0V0SmcvdUJSOztFc0o5K3VCTTs7SUFFRTtFdEppL3VCUjs7RXVCdGd2Qk07SStIMEJJO0V0SmcvdUJWO0V3QjFndkJNO0k4SDZCSTtFdEpnL3VCVjs7RXVCN2d2Qk07SStIa0NJO0V0SisrdUJWO0V3QmpodkJNO0k4SHFDSTtFdEorK3VCVjs7RXNKOWd2Qk07SUFBZ0M7RXRKa2h2QnRDOztFc0pqaHZCTTs7SUFFRTtFdEpvaHZCUjs7RXNKbGh2Qk07O0lBRUU7RXRKcWh2QlI7O0VzSm5odkJNOztJQUVFO0V0SnNodkJSOztFc0pwaHZCTTs7SUFFRTtFdEp1aHZCUjs7RXVCNWl2Qk07SStIMEJJO0V0SnNodkJWO0V3QmhqdkJNO0k4SDZCSTtFdEpzaHZCVjs7RXVCbmp2Qk07SStIa0NJO0V0SnFodkJWO0V3QnZqdkJNO0k4SHFDSTtFdEpxaHZCVjs7RXNKNWd2Qk07SUFBd0I7RXRKZ2h2QjlCOztFc0ovZ3ZCTTs7SUFFRTtFdEpraHZCUjs7RXNKaGh2Qk07O0lBRUU7RXRKbWh2QlI7O0VzSmpodkJNOztJQUVFO0V0Sm9odkJSOztFc0psaHZCTTs7SUFFRTtFdEpxaHZCUjs7RXVCbGx2Qk07SStIa0VJO0V0Sm9odkJWO0V3QnRsdkJNO0k4SHFFSTtFdEpvaHZCVjs7RXVCemx2Qk07SStIMEVJO0V0Sm1odkJWO0V3QjdsdkJNO0k4SDZFSTtFdEptaHZCVjs7RXNKbGp2Qk07SUFBd0I7RXRKc2p2QjlCOztFc0pyanZCTTs7SUFFRTtFdEp3anZCUjs7RXNKdGp2Qk07O0lBRUU7RXRKeWp2QlI7O0VzSnZqdkJNOztJQUVFO0V0SjBqdkJSOztFc0p4anZCTTs7SUFFRTtFdEoyanZCUjs7RXVCeG52Qk07SStIa0VJO0V0SjBqdkJWO0V3QjVudkJNO0k4SHFFSTtFdEowanZCVjs7RXVCL252Qk07SStIMEVJO0V0SnlqdkJWO0V3Qm5vdkJNO0k4SDZFSTtFdEp5anZCVjs7RXNKeGx2Qk07SUFBd0I7RXRKNGx2QjlCOztFc0ozbHZCTTs7SUFFRTtFdEo4bHZCUjs7RXNKNWx2Qk07O0lBRUU7RXRKK2x2QlI7O0VzSjdsdkJNOztJQUVFO0V0SmdtdkJSOztFc0o5bHZCTTs7SUFFRTtFdEppbXZCUjs7RXVCOXB2Qk07SStIa0VJO0V0SmdtdkJWO0V3QmxxdkJNO0k4SHFFSTtFdEpnbXZCVjs7RXVCcnF2Qk07SStIMEVJO0V0SitsdkJWO0V3QnpxdkJNO0k4SDZFSTtFdEorbHZCVjs7RXNKOW52Qk07SUFBd0I7RXRKa292QjlCOztFc0pqb3ZCTTs7SUFFRTtFdEpvb3ZCUjs7RXNKbG92Qk07O0lBRUU7RXRKcW92QlI7O0VzSm5vdkJNOztJQUVFO0V0SnNvdkJSOztFc0pwb3ZCTTs7SUFFRTtFdEp1b3ZCUjs7RXVCcHN2Qk07SStIa0VJO0V0SnNvdkJWO0V3QnhzdkJNO0k4SHFFSTtFdEpzb3ZCVjs7RXVCM3N2Qk07SStIMEVJO0V0SnFvdkJWO0V3Qi9zdkJNO0k4SDZFSTtFdEpxb3ZCVjs7RXNKcHF2Qk07SUFBd0I7RXRKd3F2QjlCOztFc0p2cXZCTTs7SUFFRTtFdEowcXZCUjs7RXNKeHF2Qk07O0lBRUU7RXRKMnF2QlI7O0VzSnpxdkJNOztJQUVFO0V0SjRxdkJSOztFc0oxcXZCTTs7SUFFRTtFdEo2cXZCUjs7RXVCMXV2Qk07SStIa0VJO0V0SjRxdkJWO0V3Qjl1dkJNO0k4SHFFSTtFdEo0cXZCVjs7RXVCanZ2Qk07SStIMEVJO0V0SjJxdkJWO0V3QnJ2dkJNO0k4SDZFSTtFdEoycXZCVjs7RXNKcHF2QkU7SUFBbUI7RXRKd3F2QnJCOztFc0p2cXZCRTs7SUFFRTtFdEowcXZCSjs7RXNKeHF2QkU7O0lBRUU7RXRKMnF2Qko7O0VzSnpxdkJFOztJQUVFO0V0SjRxdkJKOztFc0oxcXZCRTs7SUFFRTtFdEo2cXZCSjs7RXVCaHh2Qk07SStIeUdBO0V0SjJxdkJOO0V3QnB4dkJNO0k4SDRHQTtFdEoycXZCTjs7RXVCdnh2Qk07SStIaUhBO0V0SjBxdkJOO0V3QjN4dkJNO0k4SG9IQTtFdEowcXZCTjtBQUNGO0F1Sjl4dkJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0F2Sjh4dkJKOztBd0p4eXZCQTtFQUFrQjtBeEo0eXZCbEI7O0F3Snh5dkJBO0VBQWlCO0F4SjR5dkJqQjs7QXdKM3l2QkE7RUFBaUI7QXhKK3l2QmpCOztBd0o5eXZCQTtFQUFpQjtBeEprenZCakI7O0F3Smp6dkJBO0VDVEU7RUFDQTtFQUNBO0F6Sjh6dkJGOztBd0oveXZCSTtFQUF3QjtBeEptenZCNUI7O0F3Smx6dkJJO0VBQXdCO0F4SnN6dkI1Qjs7QXdKcnp2Qkk7RUFBd0I7QXhKeXp2QjVCOztBK0R2d3ZCSTtFeUZwREE7SUFBd0I7RXhKZzB2QjFCOztFd0ovenZCRTtJQUF3QjtFeEptMHZCMUI7O0V3SmwwdkJFO0lBQXdCO0V4SnMwdkIxQjtBQUNGO0ErRHJ4dkJJO0V5RnBEQTtJQUF3QjtFeEo2MHZCMUI7O0V3SjUwdkJFO0lBQXdCO0V4SmcxdkIxQjs7RXdKLzB2QkU7SUFBd0I7RXhKbTF2QjFCO0FBQ0Y7QStEbHl2Qkk7RXlGcERBO0lBQXdCO0V4SjAxdkIxQjs7RXdKejF2QkU7SUFBd0I7RXhKNjF2QjFCOztFd0o1MXZCRTtJQUF3QjtFeEpnMnZCMUI7QUFDRjtBK0QveXZCSTtFeUZwREE7SUFBd0I7RXhKdTJ2QjFCOztFd0p0MnZCRTtJQUF3QjtFeEowMnZCMUI7O0V3SnoydkJFO0lBQXdCO0V4SjYydkIxQjtBQUNGO0ErRDV6dkJJO0V5RnBEQTtJQUF3QjtFeEpvM3ZCMUI7O0V3Sm4zdkJFO0lBQXdCO0V4SnUzdkIxQjs7RXdKdDN2QkU7SUFBd0I7RXhKMDN2QjFCO0FBQ0Y7QXdKcjN2QkE7RUFBbUI7QXhKdzN2Qm5COztBd0p2M3ZCQTtFQUFtQjtBeEoyM3ZCbkI7O0F3SjEzdkJBO0VBQW1CO0F4SjgzdkJuQjs7QXdKMTN2QkE7RUFBdUI7QXhKODN2QnZCOztBd0o3M3ZCQTtFQUF1QjtBeEppNHZCdkI7O0F3Smg0dkJBO0VBQXVCO0F4Sm80dkJ2Qjs7QXdKbjR2QkE7RUFBdUI7QXhKdTR2QnZCOztBd0p0NHZCQTtFQUF1QjtBeEowNHZCdkI7O0F3Sno0dkJBO0VBQXVCO0F4SjY0dkJ2Qjs7QXdKejR2QkE7RUFBYztBeEo2NHZCZDs7QTBKcDd2QkU7RUFDRTtBMUp1N3ZCSjs7QTBCMzZ2QkU7RWdJUE07QTFKczd2QlI7O0EwSjU3dkJFO0VBQ0U7QTFKKzd2Qko7O0EwQm43dkJFO0VnSVBNO0ExSjg3dkJSOztBMEpwOHZCRTtFQUNFO0ExSnU4dkJKOztBMEIzN3ZCRTtFZ0lQTTtBMUpzOHZCUjs7QTBKNTh2QkU7RUFDRTtBMUorOHZCSjs7QTBCbjh2QkU7RWdJUE07QTFKODh2QlI7O0EwSnA5dkJFO0VBQ0U7QTFKdTl2Qko7O0EwQjM4dkJFO0VnSVBNO0ExSnM5dkJSOztBMEo1OXZCRTtFQUNFO0ExSis5dkJKOztBMEJuOXZCRTtFZ0lQTTtBMUo4OXZCUjs7QTBKcCt2QkU7RUFDRTtBMUp1K3ZCSjs7QTBCMzl2QkU7RWdJUE07QTFKcyt2QlI7O0EwSjUrdkJFO0VBQ0U7QTFKKyt2Qko7O0EwQm4rdkJFO0VnSVBNO0ExSjgrdkJSOztBd0p2OHZCQTtFQUFhO0F4SjI4dkJiOztBd0oxOHZCQTtFQUVJO0F4SjQ4dkJKOztBd0p4OHZCQTtFQUFpQjtBeEo0OHZCakI7O0F3SjM4dkJBO0VBQWlCO0F4Sis4dkJqQjs7QXdKMzh2QkE7RUczREU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0owZ3dCRjs7QXdKLzh2QkE7RUFBd0I7QXhKbTl2QnhCOztBd0pqOXZCQTtFQUNFO0VBQ0E7QXhKbzl2QkY7O0F3Si84dkJBO0VBQWM7QXhKbTl2QmQ7O0E0Sjlod0JBO0VBQ0U7RUFDQTtBNUppaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRSxtQnZJekNnQjtBckJ5a3dCbEI7O0E0Sjdod0JBO0VBQ0U7QTVKZ2l3QkY7O0E0Sjdod0JBO0VBQ0U7QTVKZ2l3QkY7O0E0Sjdod0JBO0VBQ0U7QTVKZ2l3QkY7O0E2Snpsd0JBO0VBQ0U7QTdKNGx3QkY7O0E2Snpsd0JBO0VBQ0U7QTdKNGx3QkY7O0F3Qjdsd0JNO0VzSU5KO0VBQ0E7QTlKdW13QkY7QThKcm13QkU7RUFDRTtBOUp1bXdCSjs7QStKL213QkE7RUFHSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0EvSnlud0JKOztBZ0tybndCRTtFQUNFOzs7SUFLRTtJQUVBO0VoS3Fud0JKOztFZ0tqbndCSTtJQUNFO0VoS29ud0JOOztFZ0szbXdCRTtJQUNFO0VoSzhtd0JKOztFZ0tobXdCRTtJQUNFO0VoS21td0JKOztFZ0tqbXdCRTs7SUFFRTtJQUNBO0VoS29td0JKOztFZ0s1bHdCRTtJQUNFO0VoSytsd0JKOztFZ0s1bHdCRTs7SUFFRTtFaEsrbHdCSjs7RWdLNWx3QkU7OztJQUdFO0lBQ0E7RWhLK2x3Qko7O0VnSzVsd0JFOztJQUVFO0VoSytsd0JKOztFZ0t2bHdCRTtJQUNFLFFDdEZrQjtFaktncndCdEI7RWdLeGx3QkU7SUFDRTtFaEswbHdCSjs7RWdLeGx3QkU7SUFDRTtFaEsybHdCSjs7RWdLdmx3QkU7SUFDRTtFaEswbHdCSjs7RWdLeGx3QkU7SUFDRTtFaEsybHdCSjs7RWdLeGx3QkU7SUFDRTtFaEsybHdCSjtFZ0t6bHdCSTs7SUFFRTtFaEsybHdCTjs7RWdLdGx3Qkk7O0lBRUU7RWhLeWx3Qk47O0VnS3Jsd0JFO0lBQ0U7RWhLd2x3Qko7RWdLdGx3Qkk7Ozs7SUFJRSxxQnBJeEhLO0U1Qmd0d0JYOztFZ0twbHdCRTtJQUNFO0lBQ0EscUJwSTlITztFNUJxdHdCWDtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9pY29ucy9jc3MvZnJlZS5taW4uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2ljb25zL3Njc3MvZnJlZS9mcmVlLWljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvaWNvbnMvc2Nzcy9mcmVlL19jb3JlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvaWNvbnMvY3NzL2ZyZWUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2ljb25zL2Nzcy9icmFuZC5taW4uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2ljb25zL3Njc3MvYnJhbmQvYnJhbmQtaWNvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9pY29ucy9zY3NzL2JyYW5kL19jb3JlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvaWNvbnMvY3NzL2JyYW5kLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvZm9udGF3ZXNvbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2NvcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2xhcmdlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fZml4ZWQtd2lkdGguc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fbGlzdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fYm9yZGVyZWQtcHVsbGVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19hbmltYXRlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fcm90YXRlZC1mbGlwcGVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3N0YWNrZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3JlZ3VsYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2NvcmV1aS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcm9vdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZlbmRvcnMvX3Jmcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2x0ci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3J0bC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fbGlua3Muc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19idXR0b25zLWZvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZlbmRvcnMvX3BlcmZlY3Qtc2Nyb2xsYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZlbmRvcnMvdGlwcHlqcy9hbmltYXRpb25zL2ZhZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmVuZG9ycy90aXBweWpzL3BvcG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL196LWluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19wb3BvdmVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19zaGFyZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmVuZG9ycy90aXBweWpzL2luZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL190b29sdGlwcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL2NvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19hdmF0YXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYXZhdGFycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fYXZhdGFycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19iYWRnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3RoZW1lcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYnJlYWRjcnVtYi1tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYm9yZGVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvX2JyYW5kLWNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY2FsbG91dC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY2FyZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2NhcmQtYWNjZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY2hhcnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jbG9zZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY29kZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fY29kZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19jdXN0b20tZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL2NvbXBvbmVudHMvX2Ryb3Bkb3ducy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9faWNvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2ltYWdlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fanVtYm90cm9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19tb2RhbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX25hdi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19uYXZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wcm9ncmVzcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcHJvZ3Jlc3MtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3NpZGViYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL19vcHRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19zcGlubmVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fc3ViaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19zdWJoZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3N3aXRjaGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19zd2l0Y2hlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3N3aXRjaGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3RvYXN0cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fdHlwZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9sYXlvdXRzL19kZWZhdWx0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX2NlbnRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcnRsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19pZS1jdXN0b20tcHJvcGVydGllcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL19wcmludGluZy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjsvKiFcbiAqIENvcmVVSSBJY29ucyBGcmVlIE9wZW4gU291cmNlIEljb25zXG4gKiBAdmVyc2lvbiB2MS4wLjFcbiAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2ljb25zXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgY3JlYXRpdmVMYWJzIMWBdWthc3ogSG9sZWN6ZWtcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9jb3JldWkuaW8vaWNvbnMvbGljZW5zZSlcbiAqL0Bmb250LWZhY2V7Zm9udC1mYW1pbHk6Q29yZVVJLUljb25zLUZyZWU7c3JjOnVybCguLi9mb250cy9Db3JlVUktSWNvbnMtRnJlZS5lb3Q/NjRoNnhoKTtzcmM6dXJsKC4uL2ZvbnRzL0NvcmVVSS1JY29ucy1GcmVlLmVvdD82NGg2eGgjaWVmaXgpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLHVybCguLi9mb250cy9Db3JlVUktSWNvbnMtRnJlZS50dGY/NjRoNnhoKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUud29mZj82NGg2eGgpIGZvcm1hdChcIndvZmZcIiksdXJsKC4uL2ZvbnRzL0NvcmVVSS1JY29ucy1GcmVlLnN2Zz82NGg2eGgjQ29yZVVJLUljb25zLUZyZWUpIGZvcm1hdChcInN2Z1wiKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9W2NsYXNzKj1cIiBjaWwtXCJdLFtjbGFzc149Y2lsLV17Zm9udC1mYW1pbHk6Q29yZVVJLUljb25zLUZyZWUhaW1wb3J0YW50O3NwZWFrOm5vbmU7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtsaW5lLWhlaWdodDoxOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5jaWwtYXBwbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMGZcIn0uY2lsLWJpcnRoZGF5LWNha2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTBcIn0uY2lsLWJ1cmdlcjpiZWZvcmV7Y29udGVudDpcIlxcZWMxMVwifS5jaWwtY29mZmVlOmJlZm9yZXtjb250ZW50OlwiXFxlOTdkXCJ9LmNpbC1kaW5uZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTJcIn0uY2lsLWRyaW5rOmJlZm9yZXtjb250ZW50OlwiXFxlYzEzXCJ9LmNpbC1kcmluay1hbGNvaG9sOmJlZm9yZXtjb250ZW50OlwiXFxlYzE0XCJ9LmNpbC1mYXN0Zm9vZDpiZWZvcmV7Y29udGVudDpcIlxcZWMxNVwifS5jaWwtbGVtb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMGZcIn0uY2lsLW11ZzpiZWZvcmV7Y29udGVudDpcIlxcZWMxN1wifS5jaWwtbXVnLXRlYTpiZWZvcmV7Y29udGVudDpcIlxcZWMxOFwifS5jaWwtcGl6emE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTlcIn0uY2lsLXJlc3RhdXJhbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWFcIn0uY2lsLWJhdHRlcnktMDpiZWZvcmV7Y29udGVudDpcIlxcZTkzNVwifS5jaWwtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDpcIlxcZTkzNVwifS5jaWwtYmF0dGVyeS0zOmJlZm9yZXtjb250ZW50OlwiXFxlOWI0XCJ9LmNpbC1iYXR0ZXJ5LTU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZDdcIn0uY2lsLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDpcIlxcZTlkN1wifS5jaWwtYmF0dGVyeS1hbGVydDpiZWZvcmV7Y29udGVudDpcIlxcZWNjY1wifS5jaWwtYmF0dGVyeS1zbGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZWNkM1wifS5jaWwtYm9sdDpiZWZvcmV7Y29udGVudDpcIlxcZWNkNVwifS5jaWwtZmlyZTpiZWZvcmV7Y29udGVudDpcIlxcZWNkOVwifS5jaWwtY2F0OmJlZm9yZXtjb250ZW50OlwiXFxlYzFjXCJ9LmNpbC1kb2c6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWRcIn0uY2lsLWZsb3dlcjpiZWZvcmV7Y29udGVudDpcIlxcZWMxZVwifS5jaWwtbGVhZjpiZWZvcmV7Y29udGVudDpcIlxcZWMxZlwifS5jaWwtZWNvOmJlZm9yZXtjb250ZW50OlwiXFxlYzFmXCJ9LmNpbC1wbGFudDpiZWZvcmV7Y29udGVudDpcIlxcZWMxZlwifS5jaWwtcGF3OmJlZm9yZXtjb250ZW50OlwiXFxlYzIwXCJ9LmNpbC1hbmltYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjBcIn0uY2lsLXRlcnJhaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjFcIn0uY2lsLWFtZXJpY2FuLWZvb3RiYWxsOmJlZm9yZXtjb250ZW50OlwiXFxlOTAwXCJ9LmNpbC1iYXNlYmFsbDpiZWZvcmV7Y29udGVudDpcIlxcZTkyN1wifS5jaWwtYmFza2V0YmFsbDpiZWZvcmV7Y29udGVudDpcIlxcZTkyOVwifS5jaWwtYm93bGluZzpiZWZvcmV7Y29udGVudDpcIlxcZTkyYVwifS5jaWwtZm9vdGJhbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2FcIn0uY2lsLXNvY2NlcjpiZWZvcmV7Y29udGVudDpcIlxcZTkzYVwifS5jaWwtZ29sZjpiZWZvcmV7Y29udGVudDpcIlxcZTk0MlwifS5jaWwtZ29sZi1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NzdcIn0uY2lsLXJvd2luZzpiZWZvcmV7Y29udGVudDpcIlxcZTk4NFwifS5jaWwtcnVubmluZzpiZWZvcmV7Y29udGVudDpcIlxcZTk5OFwifS5jaWwtc3dpbW1pbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTlcIn0uY2lsLXRlbm5pczpiZWZvcmV7Y29udGVudDpcIlxcZTk5Y1wifS5jaWwtdGVubmlzLWJhbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTZcIn0uY2lsLXdlaWdodGxpZml0bmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YjFcIn0uY2lsLWJyb3dzZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDdcIn0uY2lsLWNhc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjJcIn0uY2lsLWNsb3VkOmJlZm9yZXtjb250ZW50OlwiXFxlOTc4XCJ9LmNpbC1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDpcIlxcZTk3OVwifS5jaWwtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OlwiXFxlOTdhXCJ9LmNpbC1kYXRhLXRyYW5zZmVyLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTRcIn0uY2lsLWRhdGEtdHJhbnNmZXItdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTVcIn0uY2lsLWV0aGVybmV0OmJlZm9yZXtjb250ZW50OlwiXFxlYzJhXCJ9LmNpbC1leHRlcm5hbC1saW5rOmJlZm9yZXtjb250ZW50OlwiXFxlOWMwXCJ9LmNpbC1odHRwczpiZWZvcmV7Y29udGVudDpcIlxcZWMyZFwifS5jaWwtbGFuOmJlZm9yZXtjb250ZW50OlwiXFxlYzJlXCJ9LmNpbC1saW5rOmJlZm9yZXtjb250ZW50OlwiXFxlYzJmXCJ9LmNpbC1saW5rLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWMzMFwifS5jaWwtbGluay1icm9rZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDZcIn0uY2lsLW5ld3NwYXBlcjpiZWZvcmV7Y29udGVudDpcIlxcZWEzN1wifS5jaWwtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2RcIn0uY2lsLXNlbmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2RcIn0uY2lsLXJzczpiZWZvcmV7Y29udGVudDpcIlxcZWE2YlwifS5jaWwtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNzRcIn0uY2lsLXNoYXJlLWFsbDpiZWZvcmV7Y29udGVudDpcIlxcZWE3NVwifS5jaWwtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYzM1XCJ9LmNpbC1zaGFyZS1ib3hlZDpiZWZvcmV7Y29udGVudDpcIlxcZWE3NlwifS5jaWwtc2l0ZW1hcDpiZWZvcmV7Y29udGVudDpcIlxcZWE3Y1wifS5jaWwtc3RyZWFtOmJlZm9yZXtjb250ZW50OlwiXFxlYTk0XCJ9LmNpbC10cmFuc2ZlcjpiZWZvcmV7Y29udGVudDpcIlxcZWFhM1wifS5jaWwtd2lmaS1zaWduYWwtMDpiZWZvcmV7Y29udGVudDpcIlxcZWMzN1wifS5jaWwtd2lmaS1zaWduYWwtMTpiZWZvcmV7Y29udGVudDpcIlxcZWMzOFwifS5jaWwtd2lmaS1zaWduYWwtMjpiZWZvcmV7Y29udGVudDpcIlxcZWMzOVwifS5jaWwtd2lmaS1zaWduYWwtNDpiZWZvcmV7Y29udGVudDpcIlxcZWMzYlwifS5jaWwtd2lmaS1zaWduYWwtb2ZmOmJlZm9yZXtjb250ZW50OlwiXFxlYzQxXCJ9LmNpbC1iYW5rOmJlZm9yZXtjb250ZW50OlwiXFxlOTM0XCJ9LmNpbC1iYXRoOmJlZm9yZXtjb250ZW50OlwiXFxlOTU5XCJ9LmNpbC1iYXRocm9vbTpiZWZvcmV7Y29udGVudDpcIlxcZTk1OVwifS5jaWwtYmVhY2gtYWNjZXNzOmJlZm9yZXtjb250ZW50OlwiXFxlYTAzXCJ9LmNpbC1iZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzlcIn0uY2lsLWJ1aWxkaW5nOmJlZm9yZXtjb250ZW50OlwiXFxlOTRhXCJ9LmNpbC1jYXNpbm86YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNDVcIn0uY2lsLWNoaWxkLWZyaWVuZGx5OmJlZm9yZXtjb250ZW50OlwiXFxlYzQ2XCJ9LmNpbC1iYWJ5LWNhcnJpYWdlOmJlZm9yZXtjb250ZW50OlwiXFxlYzQ2XCJ9LmNpbC1wdXNoY2hhaXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNDZcIn0uY2lsLWNvdWNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzQ4XCJ9LmNpbC1zb2ZhOmJlZm9yZXtjb250ZW50OlwiXFxlYzQ4XCJ9LmNpbC1kb29yOmJlZm9yZXtjb250ZW50OlwiXFxlYzQ5XCJ9LmNpbC1lbGV2YXRvcjpiZWZvcmV7Y29udGVudDpcIlxcZTliMlwifS5jaWwtZnJpZGdlOmJlZm9yZXtjb250ZW50OlwiXFxlYzRhXCJ9LmNpbC1nYXJhZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNGJcIn0uY2lsLWhvbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZjlcIn0uY2lsLWhvc3BpdGFsOmJlZm9yZXtjb250ZW50OlwiXFxlOWZhXCJ9LmNpbC1ob3QtdHViOmJlZm9yZXtjb250ZW50OlwiXFxlYzRjXCJ9LmNpbC1ob3VzZTpiZWZvcmV7Y29udGVudDpcIlxcZWM0ZVwifS5jaWwtaW5kdXN0cnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNGZcIn0uY2lsLWZhY3Rvcnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNGZcIn0uY2lsLWluZHVzdHJ5LXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzUwXCJ9LmNpbC1mYWN0b3J5LXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzUwXCJ9LmNpbC1pbnN0aXR1dGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZWM1MVwifS5jaWwtbGlicmFyeS1idWlsZGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWM1MVwifS5jaWwtbWVkaWNhbC1jcm9zczpiZWZvcmV7Y29udGVudDpcIlxcZWM1NFwifS5jaWwtcG9vbDpiZWZvcmV7Y29udGVudDpcIlxcZWM1NVwifS5jaWwtcm9vbTpiZWZvcmV7Y29udGVudDpcIlxcZWM1NlwifS5jaWwtc2Nob29sOmJlZm9yZXtjb250ZW50OlwiXFxlYzU4XCJ9LmNpbC1lZHVjYXRpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNThcIn0uY2lsLXNob3dlcjpiZWZvcmV7Y29udGVudDpcIlxcZWM1OVwifS5jaWwtc21va2UtZnJlZTpiZWZvcmV7Y29udGVudDpcIlxcZWM1YVwifS5jaWwtc21va2Utc2xhc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNWFcIn0uY2lsLXNtb2tpbmctcm9vbTpiZWZvcmV7Y29udGVudDpcIlxcZWM1YlwifS5jaWwtc21va2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNWJcIn0uY2lsLXNwYTpiZWZvcmV7Y29udGVudDpcIlxcZWM1Y1wifS5jaWwtdG9pbGV0OmJlZm9yZXtjb250ZW50OlwiXFxlYzVkXCJ9LmNpbC13YzpiZWZvcmV7Y29udGVudDpcIlxcZWM1ZVwifS5jaWwtd2luZG93OmJlZm9yZXtjb250ZW50OlwiXFxlYzVmXCJ9LmNpbC1jbG91ZHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5N2JcIn0uY2lsLW1vb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzRcIn0uY2lsLXJhaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNjJcIn0uY2lsLXNub3dmbGFrZTpiZWZvcmV7Y29udGVudDpcIlxcZWE3ZlwifS5jaWwtc3VuOmJlZm9yZXtjb250ZW50OlwiXFxlYTk1XCJ9LmNpbC1hbGFybTpiZWZvcmV7Y29udGVudDpcIlxcZWIwMlwifS5jaWwtYmVsbDpiZWZvcmV7Y29udGVudDpcIlxcZTkzOFwifS5jaWwtYnVsbGhvcm46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NGJcIn0uY2lsLXdhcm5pbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjhcIn0uY2lsLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OlwiXFxlYTY0XCJ9LmNpbC1hc3Rlcmlzay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZjNcIn0uY2lsLWJhZGdlOmJlZm9yZXtjb250ZW50OlwiXFxlOTJjXCJ9LmNpbC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NzFcIn0uY2lsLWRyb3AxOmJlZm9yZXtjb250ZW50OlwiXFxlY2Y0XCJ9LmNpbC1oZWFydDpiZWZvcmV7Y29udGVudDpcIlxcZTlmNlwifS5jaWwtcHV6emxlOmJlZm9yZXtjb250ZW50OlwiXFxlY2Y1XCJ9LmNpbC1yZWN0YW5nbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZjdcIn0uY2lsLXNjcnViYmVyOmJlZm9yZXtjb250ZW50OlwiXFxlYTcyXCJ9LmNpbC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOGZcIn0uY2lsLXN0YXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTBcIn0uY2lsLXN0YXItaGFsZjpiZWZvcmV7Y29udGVudDpcIlxcZWE5MVwifS5jaWwtdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTVcIn0uY2lsLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZGJcIn0uY2lsLWJlYWtlcjpiZWZvcmV7Y29udGVudDpcIlxcZTllMVwifS5jaWwtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OlwiXFxlOWYzXCJ9LmNpbC1idWc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmJcIn0uY2lsLWNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmRcIn0uY2lsLWRldmljZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDdcIn0uY2lsLWZheDpiZWZvcmV7Y29udGVudDpcIlxcZWE1ZlwifS5jaWwtZm9yazpiZWZvcmV7Y29udGVudDpcIlxcZWE2ZlwifS5jaWwtZ2FtZXBhZDpiZWZvcmV7Y29udGVudDpcIlxcZWE3MFwifS5jaWwtaW5wdXQtaGRtaTpiZWZvcmV7Y29udGVudDpcIlxcZWE3ZVwifS5jaWwtaW5wdXQtcG93ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTZcIn0uY2lsLWtleWJvYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYWFhXCJ9LmNpbC1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYWNcIn0uY2lsLWxpZ2h0YnVsYjpiZWZvcmV7Y29udGVudDpcIlxcZWFhZFwifS5jaWwtbWVtb3J5OmJlZm9yZXtjb250ZW50OlwiXFxlYjc4XCJ9LmNpbC1tb25pdG9yOmJlZm9yZXtjb250ZW50OlwiXFxlYjdhXCJ9LmNpbC1tb3VzZTpiZWZvcmV7Y29udGVudDpcIlxcZWI3YlwifS5jaWwtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViN2RcIn0uY2lsLXFyLWNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViODBcIn0uY2lsLXNhdGVsaXRlOmJlZm9yZXtjb250ZW50OlwiXFxlYjgyXCJ9LmNpbC1zY3JlZW4tZGVza3RvcDpiZWZvcmV7Y29udGVudDpcIlxcZWI4NVwifS5jaWwtc2NyZWVuLXNtYXJ0cGhvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGNcIn0uY2lsLXNpZ25hbC1jZWxsdWxhci0wOmJlZm9yZXtjb250ZW50OlwiXFxlYjkwXCJ9LmNpbC1zaWduYWwtY2VsbHVsYXItMzpiZWZvcmV7Y29udGVudDpcIlxcZWI5M1wifS5jaWwtc2lnbmFsLWNlbGx1bGFyLTQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTRcIn0uY2lsLXRhYmxldDpiZWZvcmV7Y29udGVudDpcIlxcZWI5Y1wifS5jaWwtdGFzazpiZWZvcmV7Y29udGVudDpcIlxcZWI5ZFwifS5jaWwtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOWVcIn0uY2lsLXdhdGNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzA1XCJ9LmNpbC0zZDpiZWZvcmV7Y29udGVudDpcIlxcZTkwMVwifS5jaWwtYXBlcnR1cmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDNcIn0uY2lsLWJsdXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDZcIn0uY2lsLWJsdXItY2lyY3VsYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDdcIn0uY2lsLWJsdXItbGluZWFyOmJlZm9yZXtjb250ZW50OlwiXFxlOTA4XCJ9LmNpbC1ib3JkZXItYWxsOmJlZm9yZXtjb250ZW50OlwiXFxlOTBiXCJ9LmNpbC1ib3JkZXItYm90dG9tOmJlZm9yZXtjb250ZW50OlwiXFxlOTBjXCJ9LmNpbC1ib3JkZXItY2xlYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGRcIn0uY2lsLWJvcmRlci1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OlwiXFxlOTBlXCJ9LmNpbC1ib3JkZXItaW5uZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGZcIn0uY2lsLWJvcmRlci1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlOTEwXCJ9LmNpbC1ib3JkZXItb3V0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTFcIn0uY2lsLWJvcmRlci1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTkxMlwifS5jaWwtYm9yZGVyLXN0eWxlOmJlZm9yZXtjb250ZW50OlwiXFxlOTEzXCJ9LmNpbC1ib3JkZXItdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlOTE0XCJ9LmNpbC1ib3JkZXItdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTVcIn0uY2lsLWJydXNoOmJlZm9yZXtjb250ZW50OlwiXFxlOTE2XCJ9LmNpbC1icnVzaC1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTdcIn0uY2lsLWNhbWVyYS1yb2xsOmJlZm9yZXtjb250ZW50OlwiXFxlOTE4XCJ9LmNpbC1jZW50ZXItZm9jdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTlcIn0uY2lsLWNvbG9yLWJvcmRlcjpiZWZvcmV7Y29udGVudDpcIlxcZTkxYlwifS5jaWwtY29sb3ItZmlsbDpiZWZvcmV7Y29udGVudDpcIlxcZTkxY1wifS5jaWwtY29sb3ItcGFsZXR0ZTpiZWZvcmV7Y29udGVudDpcIlxcZTkxZFwifS5jaWwtY29udHJhc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MWZcIn0uY2lsLWNyb3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MjBcIn0uY2lsLWNyb3Atcm90YXRlOmJlZm9yZXtjb250ZW50OlwiXFxlOTIxXCJ9LmNpbC1jdXJzb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MjJcIn0uY2lsLWN1cnNvci1tb3ZlOmJlZm9yZXtjb250ZW50OlwiXFxlOTIzXCJ9LmNpbC1kcm9wOmJlZm9yZXtjb250ZW50OlwiXFxlOTI0XCJ9LmNpbC1leHBvc3VyZTpiZWZvcmV7Y29udGVudDpcIlxcZTkyNlwifS5jaWwtZXllZHJvcHBlcjpiZWZvcmV7Y29udGVudDpcIlxcZTkzMFwifS5jaWwtZmlsdGVyLWZyYW1lczpiZWZvcmV7Y29udGVudDpcIlxcZTkzY1wifS5jaWwtZmlsdGVyLXBob3RvOmJlZm9yZXtjb250ZW50OlwiXFxlOTQ4XCJ9LmNpbC1mbGlwOmJlZm9yZXtjb250ZW50OlwiXFxlOTUyXCJ9LmNpbC1mbGlwLXRvLWJhY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTNcIn0uY2lsLWZsaXAtdG8tZnJvbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTRcIn0uY2lsLWdpZjpiZWZvcmV7Y29udGVudDpcIlxcZTk1NVwifS5jaWwtZ3JhZGllbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTZcIn0uY2lsLWdyYWluOmJlZm9yZXtjb250ZW50OlwiXFxlOTYwXCJ9LmNpbC1ncmlkOmJlZm9yZXtjb250ZW50OlwiXFxlOTYxXCJ9LmNpbC1ncmlkLXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlOTYyXCJ9LmNpbC1oZHI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjNcIn0uY2lsLWhlYWxpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWRcIn0uY2lsLWltYWdlLWJyb2tlbjpiZWZvcmV7Y29udGVudDpcIlxcZTk5ZlwifS5jaWwtaW1hZ2UtcGx1czpiZWZvcmV7Y29udGVudDpcIlxcZTlhMFwifS5jaWwtbGF5ZXJzOmJlZm9yZXtjb250ZW50OlwiXFxlOWFkXCJ9LmNpbC1saW5lLXN0eWxlOmJlZm9yZXtjb250ZW50OlwiXFxlOWFmXCJ9LmNpbC1saW5lLXdlaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTliOVwifS5jaWwtb2JqZWN0LWdyb3VwOmJlZm9yZXtjb250ZW50OlwiXFxlOWJiXCJ9LmNpbC1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDpcIlxcZTljM1wifS5jaWwtb3BhY2l0eTpiZWZvcmV7Y29udGVudDpcIlxcZTlmNFwifS5jaWwtcGFpbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZjdcIn0uY2lsLXBhaW50LWJ1Y2tldDpiZWZvcmV7Y29udGVudDpcIlxcZWEwNlwifS5jaWwtc3dhcC1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OlwiXFxlYTBlXCJ9LmNpbC1zd2FwLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OlwiXFxlYTExXCJ9LmNpbC12ZWN0b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMTZcIn0uY2lsLXZlcnRpY2FsLWFsaWduLWJvdHRvbTE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzVcIn0uY2lsLXZlcnRpY2FsLWFsaWduLWNlbnRlcjE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2FcIn0uY2lsLXZlcnRpY2FsLWFsaWduLXRvcDE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2JcIn0uY2lsLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWE0MFwifS5jaWwtYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZWE0MVwifS5jaWwtYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDJcIn0uY2lsLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDNcIn0uY2lsLWNvcHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDRcIn0uY2lsLWN1dDpiZWZvcmV7Y29udGVudDpcIlxcZWE2MVwifS5jaWwtcmVtb3ZlOmJlZm9yZXtjb250ZW50OlwiXFxlYTg1XCJ9LmNpbC1iYWNrc3BhY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODVcIn0uY2lsLWRvdWJsZS1xdW90ZS1zYW5zLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODZcIn0uY2lsLWRvdWJsZS1xdW90ZS1zYW5zLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlYTg3XCJ9LmNpbC1leGNlcnB0OmJlZm9yZXtjb250ZW50OlwiXFxlYThhXCJ9LmNpbC1leHBhbmQtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZWE5Y1wifS5jaWwtZXhwYW5kLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOWRcIn0uY2lsLWV4cGFuZC1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZWE5ZVwifS5jaWwtZXhwYW5kLXVwOmJlZm9yZXtjb250ZW50OlwiXFxlYWE3XCJ9LmNpbC1mb250OmJlZm9yZXtjb250ZW50OlwiXFxlYWFlXCJ9LmNpbC1mdW5jdGlvbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYWZcIn0uY2lsLWZ1bmN0aW9ucy1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjBcIn0uY2lsLWhlYWRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWIwZVwifS5jaWwtaGlnaGxpZ2h0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMGZcIn0uY2lsLWhpZ2hsaWd0OmJlZm9yZXtjb250ZW50OlwiXFxlYjEwXCJ9LmNpbC1pbmRlbnQtZGVjcmVhc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMTFcIn0uY2lsLWluZGVudC1pbmNyZWFzZTpiZWZvcmV7Y29udGVudDpcIlxcZWIxMlwifS5jaWwtaW5mbzpiZWZvcmV7Y29udGVudDpcIlxcZWIxM1wifS5jaWwtaXRhbGljOmJlZm9yZXtjb250ZW50OlwiXFxlYjE0XCJ9LmNpbC1qdXN0aWZ5LWNlbnRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWIxNVwifS5jaWwtanVzdGlmeS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlYjE2XCJ9LmNpbC1qdXN0aWZ5LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlYjE3XCJ9LmNpbC1sZXZlbC1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxlYjE4XCJ9LmNpbC1sZXZlbC11cDpiZWZvcmV7Y29udGVudDpcIlxcZWIxOVwifS5jaWwtbGluZS1zcGFjaW5nOmJlZm9yZXtjb250ZW50OlwiXFxlYjFhXCJ9LmNpbC1saXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYjFiXCJ9LmNpbC1saXN0LWZpbHRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWIxY1wifS5jaWwtbGlzdC1oaWdoLXByaW9yaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYjFkXCJ9LmNpbC1saXN0LWxvdy1wcmlvcml0eTpiZWZvcmV7Y29udGVudDpcIlxcZWIxZVwifS5jaWwtbGlzdC1udW1iZXJlZDpiZWZvcmV7Y29udGVudDpcIlxcZWIxZlwifS5jaWwtbGlzdC1yaWNoOmJlZm9yZXtjb250ZW50OlwiXFxlYjIxXCJ9LmNpbC1ub3RlczpiZWZvcmV7Y29udGVudDpcIlxcZWIyMlwifS5jaWwtcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OlwiXFxlYjI0XCJ9LmNpbC1wZW4tYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYjI2XCJ9LmNpbC1wZW4tbmliOmJlZm9yZXtjb250ZW50OlwiXFxlYjI4XCJ9LmNpbC1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMjlcIn0uY2lsLXNob3J0LXRleHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMmFcIn0uY2lsLXNvcnQtYWxwaGEtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZWIyYlwifS5jaWwtc29ydC1hbHBoYS11cDpiZWZvcmV7Y29udGVudDpcIlxcZWIyY1wifS5jaWwtc29ydC1hc2NlbmRpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMmRcIn0uY2lsLXNvcnQtZGVzY2VuZGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWIyZVwifS5jaWwtc29ydC1udW1lcmljLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGViMmZcIn0uY2lsLXNvcnQtbnVtZXJpYy11cDpiZWZvcmV7Y29udGVudDpcIlxcZWIzMFwifS5jaWwtc3BhY2UtYmFyOmJlZm9yZXtjb250ZW50OlwiXFxlYjMxXCJ9LmNpbC10ZXh0OmJlZm9yZXtjb250ZW50OlwiXFxlYjMyXCJ9LmNpbC10ZXh0LXNoYXBlczpiZWZvcmV7Y29udGVudDpcIlxcZWIzZFwifS5jaWwtdGV4dC1zaXplOmJlZm9yZXtjb250ZW50OlwiXFxlYjNlXCJ9LmNpbC10ZXh0LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZWIzZlwifS5jaWwtdGV4dC1zdHJpa2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDBcIn0uY2lsLXN0cmlrZXRocm91Z2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDBcIn0uY2lsLXRyYW5zbGF0ZTpiZWZvcmV7Y29udGVudDpcIlxcZWI0MlwifS5jaWwtdW5kZXJsaW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYjQzXCJ9LmNpbC12ZXJ0aWNhbC1hbGlnbi1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDRcIn0uY2lsLXZlcnRpY2FsLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWI0NVwifS5jaWwtdmVydGljYWwtYWxpZ24tdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlYjQ2XCJ9LmNpbC13cmFwLXRleHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDdcIn0uY2lsLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtOmJlZm9yZXtjb250ZW50OlwiXFxlOWQzXCJ9LmNpbC1ibGluZDpiZWZvcmV7Y29udGVudDpcIlxcZTlkY1wifS5jaWwtYnJhaWxsZTpiZWZvcmV7Y29udGVudDpcIlxcZTlkZFwifS5jaWwtZGVhZjpiZWZvcmV7Y29udGVudDpcIlxcZTlkZVwifS5jaWwtZmluZ2VycHJpbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWFcIn0uY2lsLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDpcIlxcZWExZFwifS5jaWwtbG9jay1sb2NrZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWVcIn0uY2lsLWxvY2stdW5sb2NrZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjRcIn0uY2lsLWxvdy12aXNpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjVcIn0uY2lsLW1vdXRoLXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlYTI3XCJ9LmNpbC1wcmVnbmFudDpiZWZvcmV7Y29udGVudDpcIlxcZWEyOFwifS5jaWwtc2hpZWxkLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWEyZlwifS5jaWwtc2lnbi1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDpcIlxcZWE3N1wifS5jaWwtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDpcIlxcZWE4MFwifS5jaWwtZGlzYWJsZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODBcIn0uY2lsLWFjY291bnQtbG9nb3V0OmJlZm9yZXtjb250ZW50OlwiXFxlOTY0XCJ9LmNpbC1hY3Rpb24tcmVkbzpiZWZvcmV7Y29udGVudDpcIlxcZTk2NVwifS5jaWwtYWN0aW9uLXVuZG86YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjZcIn0uY2lsLWFwcGxpY2F0aW9uczpiZWZvcmV7Y29udGVudDpcIlxcZTk2N1wifS5jaWwtYXBwczpiZWZvcmV7Y29udGVudDpcIlxcZTk2N1wifS5jaWwtYXBwbGljYXRpb25zLXNldHRpbmdzOmJlZm9yZXtjb250ZW50OlwiXFxlOTY4XCJ9LmNpbC1hcHBzLXNldHRpbmdzOmJlZm9yZXtjb250ZW50OlwiXFxlOTY4XCJ9LmNpbC1hcnJvdy1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjlcIn0uY2lsLWFycm93LWNpcmNsZS1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmFcIn0uY2lsLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlOTZiXCJ9LmNpbC1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmNcIn0uY2lsLWFycm93LWNpcmNsZS10b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmRcIn0uY2lsLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmVcIn0uY2lsLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlOTZmXCJ9LmNpbC1hcnJvdy10aGljay1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NzBcIn0uY2lsLWFycm93LXRoaWNrLWZyb20tYm90dG9tOmJlZm9yZXtjb250ZW50OlwiXFxlOTgxXCJ9LmNpbC1hcnJvdy10aGljay1mcm9tLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODJcIn0uY2lsLWFycm93LXRoaWNrLWZyb20tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODNcIn0uY2lsLWFycm93LXRoaWNrLWZyb20tdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlOTliXCJ9LmNpbC1hcnJvdy10aGljay1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlOWExXCJ9LmNpbC1hcnJvdy10aGljay1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTlhMlwifS5jaWwtYXJyb3ctdGhpY2stdG8tYm90dG9tOmJlZm9yZXtjb250ZW50OlwiXFxlOWJjXCJ9LmNpbC1hcnJvdy10aGljay10by1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlOWJkXCJ9LmNpbC1hcnJvdy10aGljay10by1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTliZlwifS5jaWwtYXJyb3ctdGhpY2stdG8tdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlOWQ0XCJ9LmNpbC1hcnJvdy10aGljay10b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YmVcIn0uY2lsLWFycm93LXRvcDpiZWZvcmV7Y29udGVudDpcIlxcZTllNFwifS5jaWwtYmFuOmJlZm9yZXtjb250ZW50OlwiXFxlOWU1XCJ9LmNpbC1icmlnaHRuZXNzOmJlZm9yZXtjb250ZW50OlwiXFxlOWU2XCJ9LmNpbC1jYXJldC1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmNcIn0uY2lsLWNhcmV0LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzBcIn0uY2lsLWNhcmV0LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlYTMxXCJ9LmNpbC1jYXJldC10b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2NcIn0uY2lsLWNoZWNrOmJlZm9yZXtjb250ZW50OlwiXFxlYTU1XCJ9LmNpbC1jaGVjay1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZjlcIn0uY2lsLWNoZWNrLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZWE1N1wifS5jaWwtY2hldnJvbi1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNTlcIn0uY2lsLWNoZXZyb24tY2lyY2xlLWRvd24tYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlY2ZjXCJ9LmNpbC1jaGV2cm9uLWNpcmNsZS1sZWZ0LWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWNmZFwifS5jaWwtY2hldnJvbi1jaXJjbGUtcmlnaHQtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlY2ZlXCJ9LmNpbC1jaGV2cm9uLWNpcmNsZS11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZmZcIn0uY2lsLWNoZXZyb24tZG91YmxlLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNmFcIn0uY2lsLWNoZXZyb24tZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNmVcIn0uY2lsLWNoZXZyb24tZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlYTczXCJ9LmNpbC1jaGV2cm9uLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDpcIlxcZWE4ZFwifS5jaWwtY2hldnJvbi1kb3VibGUtdXAtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlZDAzXCJ9LmNpbC1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOGVcIn0uY2lsLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOWFcIn0uY2lsLWNoZXZyb24tdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlYWJkXCJ9LmNpbC1jbGVhci1hbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYmVcIn0uY2lsLWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZWFjMFwifS5jaWwtY2xvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzFcIn0uY2lsLWNvbHVtbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGJcIn0uY2lsLWV4aXQtdG8tYXBwOmJlZm9yZXtjb250ZW50OlwiXFxlYjRkXCJ9LmNpbC1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGVcIn0uY2lsLWluZmluaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYjRmXCJ9LmNpbC1pbnB1dDpiZWZvcmV7Y29udGVudDpcIlxcZWI1MFwifS5jaWwtbWFnbmlmeWluZy1nbGFzczpiZWZvcmV7Y29udGVudDpcIlxcZWI1MVwifS5jaWwtem9vbTpiZWZvcmV7Y29udGVudDpcIlxcZWI1MVwifS5jaWwtc2VhcmNoOmJlZm9yZXtjb250ZW50OlwiXFxlYjUxXCJ9LmNpbC1tZW51OmJlZm9yZXtjb250ZW50OlwiXFxlZDBiXCJ9LmNpbC1oYW1idXJnZXItbWVudTpiZWZvcmV7Y29udGVudDpcIlxcZWQwYlwifS5jaWwtbWludXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTJcIn0uY2lsLW1vdmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTZcIn0uY2lsLW9wdGlvbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZGNcIn0uY2lsLW9wdGlvbnMtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDpcIlxcZWI1N1wifS5jaWwtZWxsaXBzZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTdcIn0uY2lsLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OlwiXFxlYjU3XCJ9LmNpbC1waW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWFcIn0uY2lsLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWJcIn0uY2lsLXBvd2VyLXN0YW5kYnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWZcIn0uY2lsLXJlbG9hZDpiZWZvcmV7Y29udGVudDpcIlxcZWI2MFwifS5jaWwtcmVzaXplLWJvdGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjFcIn0uY2lsLXJlc2l6ZS1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjJcIn0uY2lsLXJlc2l6ZS13aWR0aDpiZWZvcmV7Y29udGVudDpcIlxcZWI2M1wifS5jaWwtc2F2ZTpiZWZvcmV7Y29udGVudDpcIlxcZWI2NVwifS5jaWwtc2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjhcIn0uY2lsLWNvZzpiZWZvcmV7Y29udGVudDpcIlxcZWI2OFwifS5jaWwtc3BlZWRvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjlcIn0uY2lsLWdhdWdlOmJlZm9yZXtjb250ZW50OlwiXFxlYjY5XCJ9LmNpbC1zcHJlYWRzaGVldDpiZWZvcmV7Y29udGVudDpcIlxcZWI2YVwifS5jaWwtc3RvcmFnZTpiZWZvcmV7Y29udGVudDpcIlxcZWI2YlwifS5jaWwtc3luYzpiZWZvcmV7Y29udGVudDpcIlxcZWI2Y1wifS5jaWwtdG9nZ2xlLW9mZjpiZWZvcmV7Y29udGVudDpcIlxcZWI3MVwifS5jaWwtdG91Y2gtYXBwOmJlZm9yZXtjb250ZW50OlwiXFxlYjczXCJ9LmNpbC10cmFzaDpiZWZvcmV7Y29udGVudDpcIlxcZWI3NFwifS5jaWwtdmlldy1jb2x1bW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViZjZcIn0uY2lsLXZpZXctbW9kdWxlOmJlZm9yZXtjb250ZW50OlwiXFxlYmY3XCJ9LmNpbC12aWV3LXF1aWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYmY4XCJ9LmNpbC12aWV3LXN0cmVhbTpiZWZvcmV7Y29udGVudDpcIlxcZWJmOVwifS5jaWwtd2FsbHBhcGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYmZhXCJ9LmNpbC13aW5kb3ctbWF4aW1pemU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZmNcIn0uY2lsLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmV7Y29udGVudDpcIlxcZWJmZFwifS5jaWwtd2luZG93LXJlc3RvcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZmVcIn0uY2lsLXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZmZcIn0uY2lsLXgtY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxlYzAwXCJ9LmNpbC16b29tLWluOmJlZm9yZXtjb250ZW50OlwiXFxlYzAyXCJ9LmNpbC16b29tLW91dDpiZWZvcmV7Y29udGVudDpcIlxcZWMwM1wifS5jaWwtY2hpbGQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5N2VcIn0uY2lsLWJhYnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5N2VcIn0uY2lsLWZhY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODVcIn0uY2lsLWZhY2UtZGVhZDpiZWZvcmV7Y29udGVudDpcIlxcZTk4NlwifS5jaWwtZnJvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODdcIn0uY2lsLXNhZDpiZWZvcmV7Y29udGVudDpcIlxcZTk4N1wifS5jaWwtbWVoOmJlZm9yZXtjb250ZW50OlwiXFxlOTg4XCJ9LmNpbC1tb29kLWJhZDpiZWZvcmV7Y29udGVudDpcIlxcZTk4OVwifS5jaWwtbW9vZC1nb29kOmJlZm9yZXtjb250ZW50OlwiXFxlOThhXCJ9LmNpbC1tb29kLXZlcnktYmFkOmJlZm9yZXtjb250ZW50OlwiXFxlOThiXCJ9LmNpbC1tb29kLXZlcnktZ29vZDpiZWZvcmV7Y29udGVudDpcIlxcZTk4Y1wifS5jaWwtc21pbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YzRcIn0uY2lsLWhhcHB5OmJlZm9yZXtjb250ZW50OlwiXFxlOWM0XCJ9LmNpbC1zbWlsZS1wbHVzOmJlZm9yZXtjb250ZW50OlwiXFxlOWRhXCJ9LmNpbC00azpiZWZvcmV7Y29udGVudDpcIlxcZWE4MVwifS5jaWwtYWlycGxheTpiZWZvcmV7Y29udGVudDpcIlxcZWE4MlwifS5jaWwtYWxidW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODNcIn0uY2lsLWF1ZGlvOmJlZm9yZXtjb250ZW50OlwiXFxlYTkzXCJ9LmNpbC1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZWFhMlwifS5jaWwtYXVkaW8tc3BlY3RydW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYThcIn0uY2lsLWF2LXRpbWVyOmJlZm9yZXtjb250ZW50OlwiXFxlYWIxXCJ9LmNpbC1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjJcIn0uY2lsLWNhbWVyYS1jb250cm9sOmJlZm9yZXtjb250ZW50OlwiXFxlYWIzXCJ9LmNpbC1jb250cm9sOmJlZm9yZXtjb250ZW50OlwiXFxlYWIzXCJ9LmNpbC1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmV7Y29udGVudDpcIlxcZWFiOVwifS5jaWwtY2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjlcIn0uY2lsLWNvbXByZXNzOmJlZm9yZXtjb250ZW50OlwiXFxlYjRhXCJ9LmNpbC1lcXVhbGl6ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTBcIn0uY2lsLWZlYXR1cmVkLXBsYXlsaXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYzZjXCJ9LmNpbC1mdWxsc2NyZWVuOmJlZm9yZXtjb250ZW50OlwiXFxlYzczXCJ9LmNpbC1mdWxsc2NyZWVuLWV4aXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNzRcIn0uY2lsLWhkOmJlZm9yZXtjb250ZW50OlwiXFxlYzc1XCJ9LmNpbC1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OlwiXFxlYzc2XCJ9LmNpbC1saWJyYXJ5LWFkZDpiZWZvcmV7Y29udGVudDpcIlxcZWM3YVwifS5jaWwtbG9vcDpiZWZvcmV7Y29udGVudDpcIlxcZWM3Y1wifS5jaWwtbG9vcC0xOmJlZm9yZXtjb250ZW50OlwiXFxlYzdkXCJ9LmNpbC1sb29wLWNpcmN1bGFyOmJlZm9yZXtjb250ZW50OlwiXFxlYzdlXCJ9LmNpbC1tZWRpYS1lamVjdDpiZWZvcmV7Y29udGVudDpcIlxcZWM4MFwifS5jaWwtbWVkaWEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjODNcIn0uY2lsLW1lZGlhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjODZcIn0uY2lsLW1lZGlhLXJlY29yZDpiZWZvcmV7Y29udGVudDpcIlxcZWM4OVwifS5jaWwtbWVkaWEtc2tpcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZWM4Y1wifS5jaWwtbWVkaWEtc2tpcC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYzhmXCJ9LmNpbC1tZWRpYS1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYzkyXCJ9LmNpbC1tZWRpYS1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjOTVcIn0uY2lsLW1lZGlhLXN0b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjOThcIn0uY2lsLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjOWJcIn0uY2lsLW1pYzpiZWZvcmV7Y29udGVudDpcIlxcZWM5YlwifS5jaWwtbW92aWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjOWZcIn0uY2lsLW11c2ljLW5vdGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjYTFcIn0uY2lsLXBsYXlsaXN0LWFkZDpiZWZvcmV7Y29udGVudDpcIlxcZWNhNlwifS5jaWwtc3BlYWtlcjpiZWZvcmV7Y29udGVudDpcIlxcZWNiOVwifS5jaWwtdHY6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjYmNcIn0uY2lsLXZpZGVvOmJlZm9yZXtjb250ZW50OlwiXFxlY2MwXCJ9LmNpbC12b2ljZS1vdmVyLXJlY29yZDpiZWZvcmV7Y29udGVudDpcIlxcZWNjN1wifS5jaWwtdm9sdW1lLWhpZ2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjYzlcIn0uY2lsLXZvbHVtZS1sb3c6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjY2FcIn0uY2lsLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjY2JcIn0uY2lsLWF0OmJlZm9yZXtjb250ZW50OlwiXFxlOThmXCJ9LmNpbC1ib29rOmJlZm9yZXtjb250ZW50OlwiXFxlOTkwXCJ9LmNpbC1ib29rbWFyazpiZWZvcmV7Y29udGVudDpcIlxcZTk5MlwifS5jaWwtZGVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTZcIn0uY2lsLWVudmVsb3BlLWNsb3NlZDpiZWZvcmV7Y29udGVudDpcIlxcZTliNVwifS5jaWwtZW52ZWxvcGUtbGV0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxlOWI2XCJ9LmNpbC1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OlwiXFxlOWI3XCJ9LmNpbC1maWxlOmJlZm9yZXtjb250ZW50OlwiXFxlOWM1XCJ9LmNpbC1maW5kLWluLXBhZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYWFcIn0uY2lsLWZvbGRlcjpiZWZvcmV7Y29udGVudDpcIlxcZTlkOFwifS5jaWwtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZDlcIn0uY2lsLWltYWdlMTpiZWZvcmV7Y29udGVudDpcIlxcZTlmZVwifS5jaWwtaW5ib3g6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMDBcIn0uY2lsLWxpYnJhcnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjBcIn0uY2lsLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDpcIlxcZWEzZVwifS5jaWwtdGFnOmJlZm9yZXtjb250ZW50OlwiXFxlYTk3XCJ9LmNpbC10YWdzOmJlZm9yZXtjb250ZW50OlwiXFxlYTk4XCJ9LmNpbC1hZGRyZXNzLWJvb2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMDdcIn0uY2lsLXBlb3BsZTpiZWZvcmV7Y29udGVudDpcIlxcZWM2MlwifS5jaWwtdXNlcjpiZWZvcmV7Y29udGVudDpcIlxcZWM2N1wifS5jaWwtdXNlci1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNjhcIn0uY2lsLXVzZXItZm9sbG93OmJlZm9yZXtjb250ZW50OlwiXFxlYzY5XCJ9LmNpbC11c2VyLXVuZm9sbG93OmJlZm9yZXtjb250ZW50OlwiXFxlYzZiXCJ9LmNpbC1haXJwbGFuZS1tb2RlOmJlZm9yZXtjb250ZW50OlwiXFxlOTA0XCJ9LmNpbC1haXJwbGFuZS1tb2RlLW9mZjpiZWZvcmV7Y29udGVudDpcIlxcZTkwNVwifS5jaWwtY29udGFjdDpiZWZvcmV7Y29udGVudDpcIlxcZTkzM1wifS5jaWwtZGlhbHBhZDpiZWZvcmV7Y29udGVudDpcIlxcZTkzZlwifS5jaWwtbW9iaWxlOmJlZm9yZXtjb250ZW50OlwiXFxlYTQ4XCJ9LmNpbC1tb2JpbGUtbGFuZHNjYXBlOmJlZm9yZXtjb250ZW50OlwiXFxlOTQ0XCJ9LmNpbC1waG9uZTpiZWZvcmV7Y29udGVudDpcIlxcZTk0ZlwifS5jaWwtc2ltOmJlZm9yZXtjb250ZW50OlwiXFxlOTcyXCJ9LmNpbC1iaWtlOmJlZm9yZXtjb250ZW50OlwiXFxlYWU2XCJ9LmNpbC1ib2F0LWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWFlOVwifS5jaWwtYnVzLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWFlYlwifS5jaWwtY2FyLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWFlZVwifS5jaWwtZmxpZ2h0LXRha2VvZmY6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjJcIn0uY2lsLWxvY29tb3RpdmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjNcIn0uY2lsLXRheGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZmFcIn0uY2lsLXRydWNrOmJlZm9yZXtjb250ZW50OlwiXFxlYjAwXCJ9LmNpbC13YWxrOmJlZm9yZXtjb250ZW50OlwiXFxlYjAxXCJ9LmNpbC1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDpcIlxcZTk5NFwifS5jaWwtY2FsZW5kYXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTVcIn0uY2lsLWNsb2NrOmJlZm9yZXtjb250ZW50OlwiXFxlOWFhXCJ9LmNpbC1jb21wYXNzOmJlZm9yZXtjb250ZW50OlwiXFxlOWFiXCJ9LmNpbC1mbGFnLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWMwYVwifS5jaWwtZ2xvYmUtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYTMyXCJ9LmNpbC1oaXN0b3J5OmJlZm9yZXtjb250ZW50OlwiXFxlOWY4XCJ9LmNpbC1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDpcIlxcZWEwY1wifS5jaWwtbG9jYXRpb24tcGluOmJlZm9yZXtjb250ZW50OlwiXFxlYTE3XCJ9LmNpbC1tYXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjBcIn0uY2lsLWJhbGFuY2Utc2NhbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzZcIn0uY2lsLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDpcIlxcZWFjYVwifS5jaWwtYmFza2V0OmJlZm9yZXtjb250ZW50OlwiXFxlYWNiXCJ9LmNpbC1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDBcIn0uY2lsLWJyaXRpc2gtcG91bmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjlcIn0uY2lsLWNhbGN1bGF0b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYmNcIn0uY2lsLWNhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYzBcIn0uY2lsLWNoYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxlYmM1XCJ9LmNpbC1jaGFydC1saW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYmM5XCJ9LmNpbC1jaGFydC1waWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViY2JcIn0uY2lsLWNyZWRpdC1jYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYmNlXCJ9LmNpbC1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViY2ZcIn0uY2lsLWV1cm86YmVmb3Jle2NvbnRlbnQ6XCJcXGViZDRcIn0uY2lsLWdlbTpiZWZvcmV7Y29udGVudDpcIlxcZWI0OFwifS5jaWwtZGlhbW9uZDpiZWZvcmV7Y29udGVudDpcIlxcZWI0OFwifS5jaWwtZ2lmdDpiZWZvcmV7Y29udGVudDpcIlxcZWI0OVwifS5jaWwtZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZDhcIn0uY2lsLW1vbmV5OmJlZm9yZXtjb250ZW50OlwiXFxlYzBkXCJ9LmNpbC1jYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzBkXCJ9LmNpbC13YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTVcIn0uY2lsLXllbjpiZWZvcmV7Y29udGVudDpcIlxcZWJlNlwifS5jaWwtY2hhdC1idWJibGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDFcIn0uY2lsLWNvbW1lbnQtYnViYmxlOmJlZm9yZXtjb250ZW50OlwiXFxlYWQ0XCJ9LmNpbC1jb21tZW50LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZWFkZFwifS5jaWwtc3BlZWNoOmJlZm9yZXtjb250ZW50OlwiXFxlYWQyXCJ9LmNpbC1oYW5kLXBvaW50LWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZWFcIn0uY2lsLWhhbmQtcG9pbnQtbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZTllYlwifS5jaWwtaGFuZC1wb2ludC1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTllY1wifS5jaWwtaGFuZC1wb2ludC11cDpiZWZvcmV7Y29udGVudDpcIlxcZTllZFwifS5jaWwtdGh1bWItZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZWE5ZlwifS5jaWwtdGh1bWItdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTAgXCJ9XG4vKiMgc291cmNlTWFwcGluZ1VSTD1mcmVlLm1pbi5jc3MubWFwICovIiwiLyohXG4gKiBDb3JlVUkgSWNvbnMgRnJlZSBPcGVuIFNvdXJjZSBJY29uc1xuICogQHZlcnNpb24gdjEuMC4xXG4gKiBAbGluayBodHRwczovL2NvcmV1aS5pby9pY29uc1xuICogQ29weXJpZ2h0IChjKSAyMDIwIGNyZWF0aXZlTGFicyDFgXVrYXN6IEhvbGVjemVrXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vY29yZXVpLmlvL2ljb25zL2xpY2Vuc2UpXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImNvcmVcIjtcbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NvcmVVSS1JY29ucy1GcmVlJztcbiAgc3JjOiAgdXJsKCcjeyRjb3JldWktaWNvbnMtZm9udC1wYXRofS9Db3JlVUktSWNvbnMtRnJlZS5lb3Q/NjRoNnhoJyk7XG4gIHNyYzogIHVybCgnI3skY29yZXVpLWljb25zLWZvbnQtcGF0aH0vQ29yZVVJLUljb25zLUZyZWUuZW90PzY0aDZ4aCNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJyN7JGNvcmV1aS1pY29ucy1mb250LXBhdGh9L0NvcmVVSS1JY29ucy1GcmVlLnR0Zj82NGg2eGgnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRjb3JldWktaWNvbnMtZm9udC1wYXRofS9Db3JlVUktSWNvbnMtRnJlZS53b2ZmPzY0aDZ4aCcpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnI3skY29yZXVpLWljb25zLWZvbnQtcGF0aH0vQ29yZVVJLUljb25zLUZyZWUuc3ZnPzY0aDZ4aCNDb3JlVUktSWNvbnMtRnJlZScpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cIiN7JGNvcmV1aS1pY29ucy1wcmVmaXh9XCJdLCBbY2xhc3MqPVwiICN7JGNvcmV1aS1pY29ucy1wcmVmaXh9XCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdDb3JlVUktSWNvbnMtRnJlZScgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBlYWNoICRpY29uLCAkdW5pY29kZSBpbiAkaWNvbnMge1xuICAuI3skY29yZXVpLWljb25zLXByZWZpeH0jeyRpY29ufSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogdW5pY29kZSgkdW5pY29kZSk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIENvcmVVSSBJY29ucyBGcmVlIE9wZW4gU291cmNlIEljb25zXG4gKiBAdmVyc2lvbiB2MS4wLjFcbiAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2ljb25zXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgY3JlYXRpdmVMYWJzIMWBdWthc3ogSG9sZWN6ZWtcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9jb3JldWkuaW8vaWNvbnMvbGljZW5zZSlcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUZyZWUnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0NvcmVVSS1JY29ucy1GcmVlLmVvdD82NGg2eGhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUuZW90PzY0aDZ4aCNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUudHRmPzY0aDZ4aFwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUud29mZj82NGg2eGhcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUuc3ZnPzY0aDZ4aCNDb3JlVUktSWNvbnMtRnJlZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImNpbC1cIl0sIFtjbGFzcyo9XCIgY2lsLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUZyZWUnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmNpbC1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMwZlwiO1xufVxuXG4uY2lsLWJpcnRoZGF5LWNha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTBcIjtcbn1cblxuLmNpbC1idXJnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTFcIjtcbn1cblxuLmNpbC1jb2ZmZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2RcIjtcbn1cblxuLmNpbC1kaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTJcIjtcbn1cblxuLmNpbC1kcmluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxM1wiO1xufVxuXG4uY2lsLWRyaW5rLWFsY29ob2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTRcIjtcbn1cblxuLmNpbC1mYXN0Zm9vZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxNVwiO1xufVxuXG4uY2lsLWxlbW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTBmXCI7XG59XG5cbi5jaWwtbXVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzE3XCI7XG59XG5cbi5jaWwtbXVnLXRlYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxOFwiO1xufVxuXG4uY2lsLXBpenphOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzE5XCI7XG59XG5cbi5jaWwtcmVzdGF1cmFudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxYVwiO1xufVxuXG4uY2lsLWJhdHRlcnktMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNVwiO1xufVxuXG4uY2lsLWJhdHRlcnktZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzVcIjtcbn1cblxuLmNpbC1iYXR0ZXJ5LTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjRcIjtcbn1cblxuLmNpbC1iYXR0ZXJ5LTU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDdcIjtcbn1cblxuLmNpbC1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDdcIjtcbn1cblxuLmNpbC1iYXR0ZXJ5LWFsZXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2NjXCI7XG59XG5cbi5jaWwtYmF0dGVyeS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNkM1wiO1xufVxuXG4uY2lsLWJvbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjZDVcIjtcbn1cblxuLmNpbC1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2Q5XCI7XG59XG5cbi5jaWwtY2F0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFjXCI7XG59XG5cbi5jaWwtZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFkXCI7XG59XG5cbi5jaWwtZmxvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFlXCI7XG59XG5cbi5jaWwtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxZlwiO1xufVxuXG4uY2lsLWVjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxZlwiO1xufVxuXG4uY2lsLXBsYW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFmXCI7XG59XG5cbi5jaWwtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzIwXCI7XG59XG5cbi5jaWwtYW5pbWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzIwXCI7XG59XG5cbi5jaWwtdGVycmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyMVwiO1xufVxuXG4uY2lsLWFtZXJpY2FuLWZvb3RiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5jaWwtYmFzZWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjtcbn1cblxuLmNpbC1iYXNrZXRiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG59XG5cbi5jaWwtYm93bGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuXG4uY2lsLWZvb3RiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNhXCI7XG59XG5cbi5jaWwtc29jY2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNhXCI7XG59XG5cbi5jaWwtZ29sZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MlwiO1xufVxuXG4uY2lsLWdvbGYtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc3XCI7XG59XG5cbi5jaWwtcm93aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg0XCI7XG59XG5cbi5jaWwtcnVubmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5OFwiO1xufVxuXG4uY2lsLXN3aW1taW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk5XCI7XG59XG5cbi5jaWwtdGVubmlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTljXCI7XG59XG5cbi5jaWwtdGVubmlzLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTZcIjtcbn1cblxuLmNpbC13ZWlnaHRsaWZpdG5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWIxXCI7XG59XG5cbi5jaWwtYnJvd3NlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0N1wiO1xufVxuXG4uY2lsLWNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMjJcIjtcbn1cblxuLmNpbC1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3OFwiO1xufVxuXG4uY2lsLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc5XCI7XG59XG5cbi5jaWwtY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdhXCI7XG59XG5cbi5jaWwtZGF0YS10cmFuc2Zlci1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE0XCI7XG59XG5cbi5jaWwtZGF0YS10cmFuc2Zlci11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhNVwiO1xufVxuXG4uY2lsLWV0aGVybmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzJhXCI7XG59XG5cbi5jaWwtZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljMFwiO1xufVxuXG4uY2lsLWh0dHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzJkXCI7XG59XG5cbi5jaWwtbGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzJlXCI7XG59XG5cbi5jaWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyZlwiO1xufVxuXG4uY2lsLWxpbmstYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzMwXCI7XG59XG5cbi5jaWwtbGluay1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cblxuLmNpbC1uZXdzcGFwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzdcIjtcbn1cblxuLmNpbC1wYXBlci1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzZFwiO1xufVxuXG4uY2lsLXNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2RcIjtcbn1cblxuLmNpbC1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmJcIjtcbn1cblxuLmNpbC1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3NFwiO1xufVxuXG4uY2lsLXNoYXJlLWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3NVwiO1xufVxuXG4uY2lsLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzNVwiO1xufVxuXG4uY2lsLXNoYXJlLWJveGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTc2XCI7XG59XG5cbi5jaWwtc2l0ZW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3Y1wiO1xufVxuXG4uY2lsLXN0cmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NFwiO1xufVxuXG4uY2lsLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWEzXCI7XG59XG5cbi5jaWwtd2lmaS1zaWduYWwtMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzN1wiO1xufVxuXG4uY2lsLXdpZmktc2lnbmFsLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMzhcIjtcbn1cblxuLmNpbC13aWZpLXNpZ25hbC0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzM5XCI7XG59XG5cbi5jaWwtd2lmaS1zaWduYWwtNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzYlwiO1xufVxuXG4uY2lsLXdpZmktc2lnbmFsLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0MVwiO1xufVxuXG4uY2lsLWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzRcIjtcbn1cblxuLmNpbC1iYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU5XCI7XG59XG5cbi5jaWwtYmF0aHJvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTlcIjtcbn1cblxuLmNpbC1iZWFjaC1hY2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDNcIjtcbn1cblxuLmNpbC1iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzlcIjtcbn1cblxuLmNpbC1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YVwiO1xufVxuXG4uY2lsLWNhc2lubzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0NVwiO1xufVxuXG4uY2lsLWNoaWxkLWZyaWVuZGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzQ2XCI7XG59XG5cbi5jaWwtYmFieS1jYXJyaWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0NlwiO1xufVxuXG4uY2lsLXB1c2hjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0NlwiO1xufVxuXG4uY2lsLWNvdWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzQ4XCI7XG59XG5cbi5jaWwtc29mYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0OFwiO1xufVxuXG4uY2lsLWRvb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNDlcIjtcbn1cblxuLmNpbC1lbGV2YXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliMlwiO1xufVxuXG4uY2lsLWZyaWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0YVwiO1xufVxuXG4uY2lsLWdhcmFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0YlwiO1xufVxuXG4uY2lsLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjlcIjtcbn1cblxuLmNpbC1ob3NwaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmYVwiO1xufVxuXG4uY2lsLWhvdC10dWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNGNcIjtcbn1cblxuLmNpbC1ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0ZVwiO1xufVxuXG4uY2lsLWluZHVzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzRmXCI7XG59XG5cbi5jaWwtZmFjdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0ZlwiO1xufVxuXG4uY2lsLWluZHVzdHJ5LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzUwXCI7XG59XG5cbi5jaWwtZmFjdG9yeS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1MFwiO1xufVxuXG4uY2lsLWluc3RpdHV0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzUxXCI7XG59XG5cbi5jaWwtbGlicmFyeS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1MVwiO1xufVxuXG4uY2lsLW1lZGljYWwtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNTRcIjtcbn1cblxuLmNpbC1wb29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzU1XCI7XG59XG5cbi5jaWwtcm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1NlwiO1xufVxuXG4uY2lsLXNjaG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1OFwiO1xufVxuXG4uY2lsLWVkdWNhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1OFwiO1xufVxuXG4uY2lsLXNob3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1OVwiO1xufVxuXG4uY2lsLXNtb2tlLWZyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNWFcIjtcbn1cblxuLmNpbC1zbW9rZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1YVwiO1xufVxuXG4uY2lsLXNtb2tpbmctcm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1YlwiO1xufVxuXG4uY2lsLXNtb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzViXCI7XG59XG5cbi5jaWwtc3BhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzVjXCI7XG59XG5cbi5jaWwtdG9pbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzVkXCI7XG59XG5cbi5jaWwtd2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNWVcIjtcbn1cblxuLmNpbC13aW5kb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNWZcIjtcbn1cblxuLmNpbC1jbG91ZHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2JcIjtcbn1cblxuLmNpbC1tb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTM0XCI7XG59XG5cbi5jaWwtcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE2MlwiO1xufVxuXG4uY2lsLXNub3dmbGFrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3ZlwiO1xufVxuXG4uY2lsLXN1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NVwiO1xufVxuXG4uY2lsLWFsYXJtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjAyXCI7XG59XG5cbi5jaWwtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzOFwiO1xufVxuXG4uY2lsLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTRiXCI7XG59XG5cbi5jaWwtd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiOFwiO1xufVxuXG4uY2lsLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTY0XCI7XG59XG5cbi5jaWwtYXN0ZXJpc2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2YzXCI7XG59XG5cbi5jaWwtYmFkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmNcIjtcbn1cblxuLmNpbC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzFcIjtcbn1cblxuLmNpbC1kcm9wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmNFwiO1xufVxuXG4uY2lsLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWY2XCI7XG59XG5cbi5jaWwtcHV6emxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2Y1XCI7XG59XG5cbi5jaWwtcmVjdGFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2Y3XCI7XG59XG5cbi5jaWwtc2NydWJiZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzJcIjtcbn1cblxuLmNpbC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOGZcIjtcbn1cblxuLmNpbC1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTkwXCI7XG59XG5cbi5jaWwtc3Rhci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTkxXCI7XG59XG5cbi5jaWwtdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTVcIjtcbn1cblxuLmNpbC1iYXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWRiXCI7XG59XG5cbi5jaWwtYmVha2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWUxXCI7XG59XG5cbi5jaWwtYmx1ZXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWYzXCI7XG59XG5cbi5jaWwtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTJiXCI7XG59XG5cbi5jaWwtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZFwiO1xufVxuXG4uY2lsLWRldmljZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNDdcIjtcbn1cblxuLmNpbC1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNWZcIjtcbn1cblxuLmNpbC1mb3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTZmXCI7XG59XG5cbi5jaWwtZ2FtZXBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3MFwiO1xufVxuXG4uY2lsLWlucHV0LWhkbWk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhN2VcIjtcbn1cblxuLmNpbC1pbnB1dC1wb3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NlwiO1xufVxuXG4uY2lsLWtleWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWFhXCI7XG59XG5cbi5jaWwtbGFwdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWFjXCI7XG59XG5cbi5jaWwtbGlnaHRidWxiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWFkXCI7XG59XG5cbi5jaWwtbWVtb3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjc4XCI7XG59XG5cbi5jaWwtbW9uaXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3YVwiO1xufVxuXG4uY2lsLW1vdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjdiXCI7XG59XG5cbi5jaWwtcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViN2RcIjtcbn1cblxuLmNpbC1xci1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjgwXCI7XG59XG5cbi5jaWwtc2F0ZWxpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViODJcIjtcbn1cblxuLmNpbC1zY3JlZW4tZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4NVwiO1xufVxuXG4uY2lsLXNjcmVlbi1zbWFydHBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjhjXCI7XG59XG5cbi5jaWwtc2lnbmFsLWNlbGx1bGFyLTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOTBcIjtcbn1cblxuLmNpbC1zaWduYWwtY2VsbHVsYXItMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5M1wiO1xufVxuXG4uY2lsLXNpZ25hbC1jZWxsdWxhci00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjk0XCI7XG59XG5cbi5jaWwtdGFibGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjljXCI7XG59XG5cbi5jaWwtdGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5ZFwiO1xufVxuXG4uY2lsLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjllXCI7XG59XG5cbi5jaWwtd2F0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDVcIjtcbn1cblxuLmNpbC0zZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuXG4uY2lsLWFwZXJ0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG59XG5cbi5jaWwtYmx1cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNlwiO1xufVxuXG4uY2lsLWJsdXItY2lyY3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmNpbC1ibHVyLWxpbmVhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuXG4uY2lsLWJvcmRlci1hbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGJcIjtcbn1cblxuLmNpbC1ib3JkZXItYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG5cbi5jaWwtYm9yZGVyLWNsZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG59XG5cbi5jaWwtYm9yZGVyLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGVcIjtcbn1cblxuLmNpbC1ib3JkZXItaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGZcIjtcbn1cblxuLmNpbC1ib3JkZXItbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMFwiO1xufVxuXG4uY2lsLWJvcmRlci1vdXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiO1xufVxuXG4uY2lsLWJvcmRlci1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMlwiO1xufVxuXG4uY2lsLWJvcmRlci1zdHlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxM1wiO1xufVxuXG4uY2lsLWJvcmRlci10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTRcIjtcbn1cblxuLmNpbC1ib3JkZXItdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTVcIjtcbn1cblxuLmNpbC1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuXG4uY2lsLWJydXNoLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxN1wiO1xufVxuXG4uY2lsLWNhbWVyYS1yb2xsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG59XG5cbi5jaWwtY2VudGVyLWZvY3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG59XG5cbi5jaWwtY29sb3ItYm9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFiXCI7XG59XG5cbi5jaWwtY29sb3ItZmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuXG4uY2lsLWNvbG9yLXBhbGV0dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWRcIjtcbn1cblxuLmNpbC1jb250cmFzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZlwiO1xufVxuXG4uY2lsLWNyb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjBcIjtcbn1cblxuLmNpbC1jcm9wLXJvdGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMVwiO1xufVxuXG4uY2lsLWN1cnNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMlwiO1xufVxuXG4uY2lsLWN1cnNvci1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG59XG5cbi5jaWwtZHJvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuXG4uY2lsLWV4cG9zdXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG5cbi5jaWwtZXllZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMFwiO1xufVxuXG4uY2lsLWZpbHRlci1mcmFtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2NcIjtcbn1cblxuLmNpbC1maWx0ZXItcGhvdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDhcIjtcbn1cblxuLmNpbC1mbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG5cbi5jaWwtZmxpcC10by1iYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUzXCI7XG59XG5cbi5jaWwtZmxpcC10by1mcm9udDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1NFwiO1xufVxuXG4uY2lsLWdpZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1NVwiO1xufVxuXG4uY2lsLWdyYWRpZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG5cbi5jaWwtZ3JhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjBcIjtcbn1cblxuLmNpbC1ncmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYxXCI7XG59XG5cbi5jaWwtZ3JpZC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2MlwiO1xufVxuXG4uY2lsLWhkcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2M1wiO1xufVxuXG4uY2lsLWhlYWxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OWRcIjtcbn1cblxuLmNpbC1pbWFnZS1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OWZcIjtcbn1cblxuLmNpbC1pbWFnZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWEwXCI7XG59XG5cbi5jaWwtbGF5ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWFkXCI7XG59XG5cbi5jaWwtbGluZS1zdHlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhZlwiO1xufVxuXG4uY2lsLWxpbmUtd2VpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWI5XCI7XG59XG5cbi5jaWwtb2JqZWN0LWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWJiXCI7XG59XG5cbi5jaWwtb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YzNcIjtcbn1cblxuLmNpbC1vcGFjaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWY0XCI7XG59XG5cbi5jaWwtcGFpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjdcIjtcbn1cblxuLmNpbC1wYWludC1idWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDZcIjtcbn1cblxuLmNpbC1zd2FwLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMGVcIjtcbn1cblxuLmNpbC1zd2FwLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTExXCI7XG59XG5cbi5jaWwtdmVjdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE2XCI7XG59XG5cbi5jaWwtdmVydGljYWwtYWxpZ24tYm90dG9tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzNVwiO1xufVxuXG4uY2lsLXZlcnRpY2FsLWFsaWduLWNlbnRlcjE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2FcIjtcbn1cblxuLmNpbC12ZXJ0aWNhbC1hbGlnbi10b3AxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTNiXCI7XG59XG5cbi5jaWwtYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQwXCI7XG59XG5cbi5jaWwtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0MVwiO1xufVxuXG4uY2lsLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQyXCI7XG59XG5cbi5jaWwtYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0M1wiO1xufVxuXG4uY2lsLWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNDRcIjtcbn1cblxuLmNpbC1jdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjFcIjtcbn1cblxuLmNpbC1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODVcIjtcbn1cblxuLmNpbC1iYWNrc3BhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODVcIjtcbn1cblxuLmNpbC1kb3VibGUtcXVvdGUtc2Fucy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTg2XCI7XG59XG5cbi5jaWwtZG91YmxlLXF1b3RlLXNhbnMtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODdcIjtcbn1cblxuLmNpbC1leGNlcnB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThhXCI7XG59XG5cbi5jaWwtZXhwYW5kLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWNcIjtcbn1cblxuLmNpbC1leHBhbmQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5ZFwiO1xufVxuXG4uY2lsLWV4cGFuZC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5ZVwiO1xufVxuXG4uY2lsLWV4cGFuZC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhN1wiO1xufVxuXG4uY2lsLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYWVcIjtcbn1cblxuLmNpbC1mdW5jdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYWZcIjtcbn1cblxuLmNpbC1mdW5jdGlvbnMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWIwXCI7XG59XG5cbi5jaWwtaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjBlXCI7XG59XG5cbi5jaWwtaGlnaGxpZ2h0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMGZcIjtcbn1cblxuLmNpbC1oaWdobGlndDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxMFwiO1xufVxuXG4uY2lsLWluZGVudC1kZWNyZWFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxMVwiO1xufVxuXG4uY2lsLWluZGVudC1pbmNyZWFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxMlwiO1xufVxuXG4uY2lsLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTNcIjtcbn1cblxuLmNpbC1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTRcIjtcbn1cblxuLmNpbC1qdXN0aWZ5LWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxNVwiO1xufVxuXG4uY2lsLWp1c3RpZnktbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxNlwiO1xufVxuXG4uY2lsLWp1c3RpZnktcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTdcIjtcbn1cblxuLmNpbC1sZXZlbC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjE4XCI7XG59XG5cbi5jaWwtbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTlcIjtcbn1cblxuLmNpbC1saW5lLXNwYWNpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWFcIjtcbn1cblxuLmNpbC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjFiXCI7XG59XG5cbi5jaWwtbGlzdC1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWNcIjtcbn1cblxuLmNpbC1saXN0LWhpZ2gtcHJpb3JpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWRcIjtcbn1cblxuLmNpbC1saXN0LWxvdy1wcmlvcml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxZVwiO1xufVxuXG4uY2lsLWxpc3QtbnVtYmVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWZcIjtcbn1cblxuLmNpbC1saXN0LXJpY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjFcIjtcbn1cblxuLmNpbC1ub3RlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyMlwiO1xufVxuXG4uY2lsLXBhcmFncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyNFwiO1xufVxuXG4uY2lsLXBlbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjZcIjtcbn1cblxuLmNpbC1wZW4tbmliOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjI4XCI7XG59XG5cbi5jaWwtcGVuY2lsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjI5XCI7XG59XG5cbi5jaWwtc2hvcnQtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyYVwiO1xufVxuXG4uY2lsLXNvcnQtYWxwaGEtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyYlwiO1xufVxuXG4uY2lsLXNvcnQtYWxwaGEtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMmNcIjtcbn1cblxuLmNpbC1zb3J0LWFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyZFwiO1xufVxuXG4uY2lsLXNvcnQtZGVzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyZVwiO1xufVxuXG4uY2lsLXNvcnQtbnVtZXJpYy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjJmXCI7XG59XG5cbi5jaWwtc29ydC1udW1lcmljLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjMwXCI7XG59XG5cbi5jaWwtc3BhY2UtYmFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjMxXCI7XG59XG5cbi5jaWwtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzMlwiO1xufVxuXG4uY2lsLXRleHQtc2hhcGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNkXCI7XG59XG5cbi5jaWwtdGV4dC1zaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNlXCI7XG59XG5cbi5jaWwtdGV4dC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViM2ZcIjtcbn1cblxuLmNpbC10ZXh0LXN0cmlrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0MFwiO1xufVxuXG4uY2lsLXN0cmlrZXRocm91Z2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDBcIjtcbn1cblxuLmNpbC10cmFuc2xhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDJcIjtcbn1cblxuLmNpbC11bmRlcmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDNcIjtcbn1cblxuLmNpbC12ZXJ0aWNhbC1hbGlnbi1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDRcIjtcbn1cblxuLmNpbC12ZXJ0aWNhbC1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDVcIjtcbn1cblxuLmNpbC12ZXJ0aWNhbC1hbGlnbi10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDZcIjtcbn1cblxuLmNpbC13cmFwLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDdcIjtcbn1cblxuLmNpbC1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkM1wiO1xufVxuXG4uY2lsLWJsaW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWRjXCI7XG59XG5cbi5jaWwtYnJhaWxsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkZFwiO1xufVxuXG4uY2lsLWRlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZGVcIjtcbn1cblxuLmNpbC1maW5nZXJwcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExYVwiO1xufVxuXG4uY2lsLWxpZmUtcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExZFwiO1xufVxuXG4uY2lsLWxvY2stbG9ja2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFlXCI7XG59XG5cbi5jaWwtbG9jay11bmxvY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyNFwiO1xufVxuXG4uY2lsLWxvdy12aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjVcIjtcbn1cblxuLmNpbC1tb3V0aC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyN1wiO1xufVxuXG4uY2lsLXByZWduYW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI4XCI7XG59XG5cbi5jaWwtc2hpZWxkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZlwiO1xufVxuXG4uY2lsLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzdcIjtcbn1cblxuLmNpbC13aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgwXCI7XG59XG5cbi5jaWwtZGlzYWJsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODBcIjtcbn1cblxuLmNpbC1hY2NvdW50LWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2NFwiO1xufVxuXG4uY2lsLWFjdGlvbi1yZWRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY1XCI7XG59XG5cbi5jaWwtYWN0aW9uLXVuZG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjZcIjtcbn1cblxuLmNpbC1hcHBsaWNhdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjdcIjtcbn1cblxuLmNpbC1hcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY3XCI7XG59XG5cbi5jaWwtYXBwbGljYXRpb25zLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY4XCI7XG59XG5cbi5jaWwtYXBwcy1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2OFwiO1xufVxuXG4uY2lsLWFycm93LWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2OVwiO1xufVxuXG4uY2lsLWFycm93LWNpcmNsZS1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmFcIjtcbn1cblxuLmNpbC1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2YlwiO1xufVxuXG4uY2lsLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2Y1wiO1xufVxuXG4uY2lsLWFycm93LWNpcmNsZS10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmRcIjtcbn1cblxuLmNpbC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTZlXCI7XG59XG5cbi5jaWwtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmZcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzBcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay1mcm9tLWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4MVwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLWZyb20tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4MlwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLWZyb20tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODNcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay1mcm9tLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5YlwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTFcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhMlwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLXRvLWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliY1wiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLXRvLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YmRcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay10by1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliZlwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLXRvLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkNFwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliZVwiO1xufVxuXG4uY2lsLWFycm93LXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllNFwiO1xufVxuXG4uY2lsLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllNVwiO1xufVxuXG4uY2lsLWJyaWdodG5lc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTZcIjtcbn1cblxuLmNpbC1jYXJldC1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMmNcIjtcbn1cblxuLmNpbC1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMwXCI7XG59XG5cbi5jaWwtY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzFcIjtcbn1cblxuLmNpbC1jYXJldC10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2NcIjtcbn1cblxuLmNpbC1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1NVwiO1xufVxuXG4uY2lsLWNoZWNrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmOVwiO1xufVxuXG4uY2lsLWNoZWNrLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1N1wiO1xufVxuXG4uY2lsLWNoZXZyb24tYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTU5XCI7XG59XG5cbi5jaWwtY2hldnJvbi1jaXJjbGUtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjZmNcIjtcbn1cblxuLmNpbC1jaGV2cm9uLWNpcmNsZS1sZWZ0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmZFwiO1xufVxuXG4uY2lsLWNoZXZyb24tY2lyY2xlLXJpZ2h0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmZVwiO1xufVxuXG4uY2lsLWNoZXZyb24tY2lyY2xlLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmZlwiO1xufVxuXG4uY2lsLWNoZXZyb24tZG91YmxlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmFcIjtcbn1cblxuLmNpbC1jaGV2cm9uLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTZlXCI7XG59XG5cbi5jaWwtY2hldnJvbi1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzNcIjtcbn1cblxuLmNpbC1jaGV2cm9uLWRvdWJsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4ZFwiO1xufVxuXG4uY2lsLWNoZXZyb24tZG91YmxlLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWQwM1wiO1xufVxuXG4uY2lsLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4ZVwiO1xufVxuXG4uY2lsLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWFcIjtcbn1cblxuLmNpbC1jaGV2cm9uLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiZFwiO1xufVxuXG4uY2lsLWNsZWFyLWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiZVwiO1xufVxuXG4uY2lsLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjMFwiO1xufVxuXG4uY2lsLWNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWMxXCI7XG59XG5cbi5jaWwtY29sdW1uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0YlwiO1xufVxuXG4uY2lsLWV4aXQtdG8tYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRkXCI7XG59XG5cbi5jaWwtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRlXCI7XG59XG5cbi5jaWwtaW5maW5pdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNGZcIjtcbn1cblxuLmNpbC1pbnB1dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1MFwiO1xufVxuXG4uY2lsLW1hZ25pZnlpbmctZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTFcIjtcbn1cblxuLmNpbC16b29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjUxXCI7XG59XG5cbi5jaWwtc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjUxXCI7XG59XG5cbi5jaWwtbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWQwYlwiO1xufVxuXG4uY2lsLWhhbWJ1cmdlci1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlZDBiXCI7XG59XG5cbi5jaWwtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTJcIjtcbn1cblxuLmNpbC1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU2XCI7XG59XG5cbi5jaWwtb3B0aW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNkY1wiO1xufVxuXG4uY2lsLW9wdGlvbnMtaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1N1wiO1xufVxuXG4uY2lsLWVsbGlwc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU3XCI7XG59XG5cbi5jaWwtZWxsaXBzaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTdcIjtcbn1cblxuLmNpbC1waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWFcIjtcbn1cblxuLmNpbC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjViXCI7XG59XG5cbi5jaWwtcG93ZXItc3RhbmRieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1ZlwiO1xufVxuXG4uY2lsLXJlbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2MFwiO1xufVxuXG4uY2lsLXJlc2l6ZS1ib3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjYxXCI7XG59XG5cbi5jaWwtcmVzaXplLWhlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2MlwiO1xufVxuXG4uY2lsLXJlc2l6ZS13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2M1wiO1xufVxuXG4uY2lsLXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjVcIjtcbn1cblxuLmNpbC1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2OFwiO1xufVxuXG4uY2lsLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2OFwiO1xufVxuXG4uY2lsLXNwZWVkb21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjY5XCI7XG59XG5cbi5jaWwtZ2F1Z2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjlcIjtcbn1cblxuLmNpbC1zcHJlYWRzaGVldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2YVwiO1xufVxuXG4uY2lsLXN0b3JhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmJcIjtcbn1cblxuLmNpbC1zeW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjZjXCI7XG59XG5cbi5jaWwtdG9nZ2xlLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3MVwiO1xufVxuXG4uY2lsLXRvdWNoLWFwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3M1wiO1xufVxuXG4uY2lsLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjc0XCI7XG59XG5cbi5jaWwtdmlldy1jb2x1bW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjZcIjtcbn1cblxuLmNpbC12aWV3LW1vZHVsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmN1wiO1xufVxuXG4uY2lsLXZpZXctcXVpbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjhcIjtcbn1cblxuLmNpbC12aWV3LXN0cmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmOVwiO1xufVxuXG4uY2lsLXdhbGxwYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmYVwiO1xufVxuXG4uY2lsLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmY1wiO1xufVxuXG4uY2lsLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmZFwiO1xufVxuXG4uY2lsLXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZlXCI7XG59XG5cbi5jaWwteDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmZlwiO1xufVxuXG4uY2lsLXgtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzAwXCI7XG59XG5cbi5jaWwtem9vbS1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMwMlwiO1xufVxuXG4uY2lsLXpvb20tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzAzXCI7XG59XG5cbi5jaWwtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2VcIjtcbn1cblxuLmNpbC1iYWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdlXCI7XG59XG5cbi5jaWwtZmFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4NVwiO1xufVxuXG4uY2lsLWZhY2UtZGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4NlwiO1xufVxuXG4uY2lsLWZyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg3XCI7XG59XG5cbi5jaWwtc2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg3XCI7XG59XG5cbi5jaWwtbWVoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg4XCI7XG59XG5cbi5jaWwtbW9vZC1iYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODlcIjtcbn1cblxuLmNpbC1tb29kLWdvb2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGFcIjtcbn1cblxuLmNpbC1tb29kLXZlcnktYmFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThiXCI7XG59XG5cbi5jaWwtbW9vZC12ZXJ5LWdvb2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGNcIjtcbn1cblxuLmNpbC1zbWlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljNFwiO1xufVxuXG4uY2lsLWhhcHB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWM0XCI7XG59XG5cbi5jaWwtc21pbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkYVwiO1xufVxuXG4uY2lsLTRrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgxXCI7XG59XG5cbi5jaWwtYWlycGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4MlwiO1xufVxuXG4uY2lsLWFsYnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgzXCI7XG59XG5cbi5jaWwtYXVkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTNcIjtcbn1cblxuLmNpbC1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhMlwiO1xufVxuXG4uY2lsLWF1ZGlvLXNwZWN0cnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWE4XCI7XG59XG5cbi5jaWwtYXYtdGltZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjFcIjtcbn1cblxuLmNpbC1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjJcIjtcbn1cblxuLmNpbC1jYW1lcmEtY29udHJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiM1wiO1xufVxuXG4uY2lsLWNvbnRyb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjNcIjtcbn1cblxuLmNpbC1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiOVwiO1xufVxuXG4uY2lsLWNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI5XCI7XG59XG5cbi5jaWwtY29tcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNGFcIjtcbn1cblxuLmNpbC1lcXVhbGl6ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYTBcIjtcbn1cblxuLmNpbC1mZWF0dXJlZC1wbGF5bGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM2Y1wiO1xufVxuXG4uY2lsLWZ1bGxzY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNzNcIjtcbn1cblxuLmNpbC1mdWxsc2NyZWVuLWV4aXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNzRcIjtcbn1cblxuLmNpbC1oZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM3NVwiO1xufVxuXG4uY2lsLWhlYWRwaG9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNzZcIjtcbn1cblxuLmNpbC1saWJyYXJ5LWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM3YVwiO1xufVxuXG4uY2lsLWxvb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjN2NcIjtcbn1cblxuLmNpbC1sb29wLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjN2RcIjtcbn1cblxuLmNpbC1sb29wLWNpcmN1bGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzdlXCI7XG59XG5cbi5jaWwtbWVkaWEtZWplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjODBcIjtcbn1cblxuLmNpbC1tZWRpYS1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM4M1wiO1xufVxuXG4uY2lsLW1lZGlhLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjODZcIjtcbn1cblxuLmNpbC1tZWRpYS1yZWNvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjODlcIjtcbn1cblxuLmNpbC1tZWRpYS1za2lwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzhjXCI7XG59XG5cbi5jaWwtbWVkaWEtc2tpcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzhmXCI7XG59XG5cbi5jaWwtbWVkaWEtc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM5MlwiO1xufVxuXG4uY2lsLW1lZGlhLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM5NVwiO1xufVxuXG4uY2lsLW1lZGlhLXN0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjOThcIjtcbn1cblxuLmNpbC1taWNyb3Bob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzliXCI7XG59XG5cbi5jaWwtbWljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzliXCI7XG59XG5cbi5jaWwtbW92aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjOWZcIjtcbn1cblxuLmNpbC1tdXNpYy1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2ExXCI7XG59XG5cbi5jaWwtcGxheWxpc3QtYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2E2XCI7XG59XG5cbi5jaWwtc3BlYWtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNiOVwiO1xufVxuXG4uY2lsLXR2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2JjXCI7XG59XG5cbi5jaWwtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjYzBcIjtcbn1cblxuLmNpbC12b2ljZS1vdmVyLXJlY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNjN1wiO1xufVxuXG4uY2lsLXZvbHVtZS1oaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2M5XCI7XG59XG5cbi5jaWwtdm9sdW1lLWxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNjYVwiO1xufVxuXG4uY2lsLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjY2JcIjtcbn1cblxuLmNpbC1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4ZlwiO1xufVxuXG4uY2lsLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTBcIjtcbn1cblxuLmNpbC1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5MlwiO1xufVxuXG4uY2lsLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmE2XCI7XG59XG5cbi5jaWwtZW52ZWxvcGUtY2xvc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWI1XCI7XG59XG5cbi5jaWwtZW52ZWxvcGUtbGV0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWI2XCI7XG59XG5cbi5jaWwtZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliN1wiO1xufVxuXG4uY2lsLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YzVcIjtcbn1cblxuLmNpbC1maW5kLWluLXBhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYWFcIjtcbn1cblxuLmNpbC1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDhcIjtcbn1cblxuLmNpbC1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkOVwiO1xufVxuXG4uY2lsLWltYWdlMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmZVwiO1xufVxuXG4uY2lsLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTAwXCI7XG59XG5cbi5jaWwtbGlicmFyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiMFwiO1xufVxuXG4uY2lsLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzZVwiO1xufVxuXG4uY2lsLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5N1wiO1xufVxuXG4uY2lsLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOThcIjtcbn1cblxuLmNpbC1hZGRyZXNzLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDdcIjtcbn1cblxuLmNpbC1wZW9wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNjJcIjtcbn1cblxuLmNpbC11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzY3XCI7XG59XG5cbi5jaWwtdXNlci1mZW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNjhcIjtcbn1cblxuLmNpbC11c2VyLWZvbGxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM2OVwiO1xufVxuXG4uY2lsLXVzZXItdW5mb2xsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNmJcIjtcbn1cblxuLmNpbC1haXJwbGFuZS1tb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG5cbi5jaWwtYWlycGxhbmUtbW9kZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cblxuLmNpbC1jb250YWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG5cbi5jaWwtZGlhbHBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZlwiO1xufVxuXG4uY2lsLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0OFwiO1xufVxuXG4uY2lsLW1vYmlsZS1sYW5kc2NhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDRcIjtcbn1cblxuLmNpbC1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZlwiO1xufVxuXG4uY2lsLXNpbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3MlwiO1xufVxuXG4uY2lsLWJpa2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZTZcIjtcbn1cblxuLmNpbC1ib2F0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlOVwiO1xufVxuXG4uY2lsLWJ1cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZWJcIjtcbn1cblxuLmNpbC1jYXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWVlXCI7XG59XG5cbi5jaWwtZmxpZ2h0LXRha2VvZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjJcIjtcbn1cblxuLmNpbC1sb2NvbW90aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWYzXCI7XG59XG5cbi5jaWwtdGF4aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmYVwiO1xufVxuXG4uY2lsLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjAwXCI7XG59XG5cbi5jaWwtd2FsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwMVwiO1xufVxuXG4uY2lsLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk0XCI7XG59XG5cbi5jaWwtY2FsZW5kYXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTVcIjtcbn1cblxuLmNpbC1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhYVwiO1xufVxuXG4uY2lsLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YWJcIjtcbn1cblxuLmNpbC1mbGFnLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMwYVwiO1xufVxuXG4uY2lsLWdsb2JlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzMlwiO1xufVxuXG4uY2lsLWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjhcIjtcbn1cblxuLmNpbC1sYW5ndWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwY1wiO1xufVxuXG4uY2lsLWxvY2F0aW9uLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExN1wiO1xufVxuXG4uY2lsLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyMFwiO1xufVxuXG4uY2lsLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzZcIjtcbn1cblxuLmNpbC1iYXItY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2FcIjtcbn1cblxuLmNpbC1iYXNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2JcIjtcbn1cblxuLmNpbC1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDBcIjtcbn1cblxuLmNpbC1icml0aXNoLXBvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmI5XCI7XG59XG5cbi5jaWwtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiY1wiO1xufVxuXG4uY2lsLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzBcIjtcbn1cblxuLmNpbC1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjNVwiO1xufVxuXG4uY2lsLWNoYXJ0LWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzlcIjtcbn1cblxuLmNpbC1jaGFydC1waWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2JcIjtcbn1cblxuLmNpbC1jcmVkaXQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjZVwiO1xufVxuXG4uY2lsLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjZlwiO1xufVxuXG4uY2lsLWV1cm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZDRcIjtcbn1cblxuLmNpbC1nZW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDhcIjtcbn1cblxuLmNpbC1kaWFtb25kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjQ4XCI7XG59XG5cbi5jaWwtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0OVwiO1xufVxuXG4uY2lsLWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ4XCI7XG59XG5cbi5jaWwtbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMGRcIjtcbn1cblxuLmNpbC1jYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzBkXCI7XG59XG5cbi5jaWwtd2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmU1XCI7XG59XG5cbi5jaWwteWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmU2XCI7XG59XG5cbi5jaWwtY2hhdC1idWJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDFcIjtcbn1cblxuLmNpbC1jb21tZW50LWJ1YmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkNFwiO1xufVxuXG4uY2lsLWNvbW1lbnQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRkXCI7XG59XG5cbi5jaWwtc3BlZWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWQyXCI7XG59XG5cbi5jaWwtaGFuZC1wb2ludC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWVhXCI7XG59XG5cbi5jaWwtaGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWViXCI7XG59XG5cbi5jaWwtaGFuZC1wb2ludC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllY1wiO1xufVxuXG4uY2lsLWhhbmQtcG9pbnQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZWRcIjtcbn1cblxuLmNpbC10aHVtYi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTlmXCI7XG59XG5cbi5jaWwtdGh1bWItdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTAgXCI7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWZyZWUuY3NzLm1hcCAqLyIsIkBjaGFyc2V0IFwiVVRGLThcIjsvKiFcbiAqIENvcmVVSSBJY29ucyAtIEJyYW5kIEljb25zXG4gKiBAdmVyc2lvbiB2MS4wLjFcbiAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2ljb25zL2JyYW5kL1xuICogQ29weXJpZ2h0IChjKSAyMDIwIGNyZWF0aXZlTGFicyDFgXVrYXN6IEhvbGVjemVrXG4gKiBMaWNlbnNlZCB1bmRlciBDQzAgMS4wIFVuaXZlcnNhbFxuICovQGZvbnQtZmFjZXtmb250LWZhbWlseTpDb3JlVUktSWNvbnMtQnJhbmQ7c3JjOnVybCguLi9mb250cy9Db3JlVUktSWNvbnMtQnJhbmQuZW90PzY0aDZ4aCk7c3JjOnVybCguLi9mb250cy9Db3JlVUktSWNvbnMtQnJhbmQuZW90PzY0aDZ4aCNpZWZpeCkgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksdXJsKC4uL2ZvbnRzL0NvcmVVSS1JY29ucy1CcmFuZC50dGY/NjRoNnhoKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoLi4vZm9udHMvQ29yZVVJLUljb25zLUJyYW5kLndvZmY/NjRoNnhoKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybCguLi9mb250cy9Db3JlVUktSWNvbnMtQnJhbmQuc3ZnPzY0aDZ4aCNDb3JlVUktSWNvbnMtTGluZWFyKSBmb3JtYXQoXCJzdmdcIik7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfVtjbGFzcyo9XCIgY2liLVwiXSxbY2xhc3NePWNpYi1de2ZvbnQtZmFtaWx5OkNvcmVVSS1JY29ucy1CcmFuZCFpbXBvcnRhbnQ7c3BlYWs6bm9uZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmNpYi01MDBweC01OmJlZm9yZXtjb250ZW50OlwiXFxlOTAwXCJ9LmNpYi01MDBweDpiZWZvcmV7Y29udGVudDpcIlxcZTkwMVwifS5jaWItYWJvdXQtbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDJcIn0uY2liLWFic3RyYWN0OmJlZm9yZXtjb250ZW50OlwiXFxlOTAzXCJ9LmNpYi1hY206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDRcIn0uY2liLWFkZHRoaXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDVcIn0uY2liLWFkZ3VhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDZcIn0uY2liLWFkb2JlLWFjcm9iYXQtcmVhZGVyOmJlZm9yZXtjb250ZW50OlwiXFxlOTA3XCJ9LmNpYi1hZG9iZS1hZnRlcmUtZmZlY3RzOmJlZm9yZXtjb250ZW50OlwiXFxlOTA4XCJ9LmNpYi1hZG9iZS1hdWRpdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZTkwOVwifS5jaWItYWRvYmUtY3JlYXRpdmUtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGFcIn0uY2liLWFkb2JlLWRyZWFtd2VhdmVyOmJlZm9yZXtjb250ZW50OlwiXFxlOTBiXCJ9LmNpYi1hZG9iZS1pbGx1c3RyYXRvcjpiZWZvcmV7Y29udGVudDpcIlxcZTkwY1wifS5jaWItYWRvYmUtaW5kZXNpZ246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGRcIn0uY2liLWFkb2JlLWxpZ2h0cm9vbS1jbGFzc2ljOmJlZm9yZXtjb250ZW50OlwiXFxlOTBlXCJ9LmNpYi1hZG9iZS1saWdodHJvb206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGZcIn0uY2liLWFkb2JlLXBob3Rvc2hvcDpiZWZvcmV7Y29udGVudDpcIlxcZTkxMFwifS5jaWItYWRvYmUtcHJlbWllcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTFcIn0uY2liLWFkb2JlLXR5cGVraXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTJcIn0uY2liLWFkb2JlLXhkOmJlZm9yZXtjb250ZW50OlwiXFxlOTEzXCJ9LmNpYi1hZG9iZTpiZWZvcmV7Y29udGVudDpcIlxcZTkxNFwifS5jaWItYWlyYm5iOmJlZm9yZXtjb250ZW50OlwiXFxlOTE1XCJ9LmNpYi1hbGdvbGlhOmJlZm9yZXtjb250ZW50OlwiXFxlOTE2XCJ9LmNpYi1hbGlwYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTdcIn0uY2liLWFsbG9jaW5lOmJlZm9yZXtjb250ZW50OlwiXFxlOTE4XCJ9LmNpYi1hbWF6b24tYXdzOmJlZm9yZXtjb250ZW50OlwiXFxlOTE5XCJ9LmNpYi1hbWF6b24tcGF5OmJlZm9yZXtjb250ZW50OlwiXFxlOTFhXCJ9LmNpYi1hbWF6b246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MWJcIn0uY2liLWFtZDpiZWZvcmV7Y29udGVudDpcIlxcZTkxY1wifS5jaWItYW1lcmljYW4tZXhwcmVzczpiZWZvcmV7Y29udGVudDpcIlxcZTkxZFwifS5jaWItYW5hY29uZGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MWVcIn0uY2liLWFuYWxvZ3VlOmJlZm9yZXtjb250ZW50OlwiXFxlOTFmXCJ9LmNpYi1hbmRyb2lkLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZTkyMFwifS5jaWItYW5kcm9pZDpiZWZvcmV7Y29udGVudDpcIlxcZTkyMVwifS5jaWItYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OlwiXFxlOTIyXCJ9LmNpYi1hbmd1bGFyLXVuaXZlcnNhbDpiZWZvcmV7Y29udGVudDpcIlxcZTkyM1wifS5jaWItYW5ndWxhcjpiZWZvcmV7Y29udGVudDpcIlxcZTkyNFwifS5jaWItYW5zaWJsZTpiZWZvcmV7Y29udGVudDpcIlxcZTkyNVwifS5jaWItYXBhY2hlLWFpcmZsb3c6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MjZcIn0uY2liLWFwYWNoZS1mbGluazpiZWZvcmV7Y29udGVudDpcIlxcZTkyN1wifS5jaWItYXBhY2hlLXNwYXJrOmJlZm9yZXtjb250ZW50OlwiXFxlOTI4XCJ9LmNpYi1hcGFjaGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MjlcIn0uY2liLWFwcC1zdG9yZS1pb3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MmFcIn0uY2liLWFwcC1zdG9yZTpiZWZvcmV7Y29udGVudDpcIlxcZTkyYlwifS5jaWItYXBwbGUtbXVzaWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MmNcIn0uY2liLWFwcGxlLXBheTpiZWZvcmV7Y29udGVudDpcIlxcZTkyZFwifS5jaWItYXBwbGUtcG9kY2FzdHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MmVcIn0uY2liLWFwcGxlOmJlZm9yZXtjb250ZW50OlwiXFxlOTJmXCJ9LmNpYi1hcHB2ZXlvcjpiZWZvcmV7Y29udGVudDpcIlxcZTkzMFwifS5jaWItYXJhbDpiZWZvcmV7Y29udGVudDpcIlxcZTkzMVwifS5jaWItYXJjaC1saW51eDpiZWZvcmV7Y29udGVudDpcIlxcZTkzMlwifS5jaWItYXJjaGl2ZS1vZi1vdXItb3duOmJlZm9yZXtjb250ZW50OlwiXFxlOTMzXCJ9LmNpYi1hcmR1aW5vOmJlZm9yZXtjb250ZW50OlwiXFxlOTM0XCJ9LmNpYi1hcnRzdGF0aW9uOmJlZm9yZXtjb250ZW50OlwiXFxlOTM1XCJ9LmNpYi1hcnhpdjpiZWZvcmV7Y29udGVudDpcIlxcZTkzNlwifS5jaWItYXNhbmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MzdcIn0uY2liLWF0LWFuZC10OmJlZm9yZXtjb250ZW50OlwiXFxlOTM4XCJ9LmNpYi1hdGxhc3NpYW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MzlcIn0uY2liLWF0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2FcIn0uY2liLWF1ZGlibGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2JcIn0uY2liLWF1cmVsaWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2NcIn0uY2liLWF1dGgwOmJlZm9yZXtjb250ZW50OlwiXFxlOTNkXCJ9LmNpYi1hdXRvbWF0aWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2VcIn0uY2liLWF1dG90YXNrOmJlZm9yZXtjb250ZW50OlwiXFxlOTNmXCJ9LmNpYi1hdmVudHJpeDpiZWZvcmV7Y29udGVudDpcIlxcZTk0MFwifS5jaWItYXp1cmUtYXJ0aWZhY3RzOmJlZm9yZXtjb250ZW50OlwiXFxlOTQxXCJ9LmNpYi1henVyZS1kZXZvcHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDJcIn0uY2liLWF6dXJlLXBpcGVsaW5lczpiZWZvcmV7Y29udGVudDpcIlxcZTk0M1wifS5jaWItYmFiZWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDRcIn0uY2liLWJhaWR1OmJlZm9yZXtjb250ZW50OlwiXFxlOTQ1XCJ9LmNpYi1iYW1ib286YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDZcIn0uY2liLWJhbmNvbnRhY3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDdcIn0uY2liLWJhbmRjYW1wOmJlZm9yZXtjb250ZW50OlwiXFxlOTQ4XCJ9LmNpYi1iYXNlY2FtcDpiZWZvcmV7Y29udGVudDpcIlxcZTk0OVwifS5jaWItYmF0aGFzdTpiZWZvcmV7Y29udGVudDpcIlxcZTk0YVwifS5jaWItYmVoYW5jZTpiZWZvcmV7Y29udGVudDpcIlxcZTk0YlwifS5jaWItYmlnLWNhcnRlbDpiZWZvcmV7Y29udGVudDpcIlxcZTk0Y1wifS5jaWItYmluZzpiZWZvcmV7Y29udGVudDpcIlxcZTk0ZFwifS5jaWItYml0OmJlZm9yZXtjb250ZW50OlwiXFxlOTRlXCJ9LmNpYi1iaXRidWNrZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NGZcIn0uY2liLWJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTBcIn0uY2liLWJpdGRlZmVuZGVyOmJlZm9yZXtjb250ZW50OlwiXFxlOTUxXCJ9LmNpYi1iaXRseTpiZWZvcmV7Y29udGVudDpcIlxcZTk1MlwifS5jaWItYmxhY2tiZXJyeTpiZWZvcmV7Y29udGVudDpcIlxcZTk1M1wifS5jaWItYmxlbmRlcjpiZWZvcmV7Y29udGVudDpcIlxcZTk1NFwifS5jaWItYmxvZ2dlci1iOmJlZm9yZXtjb250ZW50OlwiXFxlOTU1XCJ9LmNpYi1ibG9nZ2VyOmJlZm9yZXtjb250ZW50OlwiXFxlOTU2XCJ9LmNpYi1ibHVldG9vdGgtYjpiZWZvcmV7Y29udGVudDpcIlxcZTk1N1wifS5jaWItYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OlwiXFxlOTU4XCJ9LmNpYi1ib2Vpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTlcIn0uY2liLWJvb3N0OmJlZm9yZXtjb250ZW50OlwiXFxlOTVhXCJ9LmNpYi1ib290c3RyYXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NWJcIn0uY2liLWJvd2VyOmJlZm9yZXtjb250ZW50OlwiXFxlOTVjXCJ9LmNpYi1icmFuZC1haTpiZWZvcmV7Y29udGVudDpcIlxcZTk1ZFwifS5jaWItYnJhdmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NWVcIn0uY2liLWJ0YzpiZWZvcmV7Y29udGVudDpcIlxcZTk1ZlwifS5jaWItYnVkZHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjBcIn0uY2liLWJ1ZmZlcjpiZWZvcmV7Y29udGVudDpcIlxcZTk2MVwifS5jaWItYnV5LW1lLWEtY29mZmVlOmJlZm9yZXtjb250ZW50OlwiXFxlOTYyXCJ9LmNpYi1idXlzZWxsYWRzOmJlZm9yZXtjb250ZW50OlwiXFxlOTYzXCJ9LmNpYi1idXp6ZmVlZDpiZWZvcmV7Y29udGVudDpcIlxcZTk2NFwifS5jaWItYzpiZWZvcmV7Y29udGVudDpcIlxcZTk2NVwifS5jaWItY2FrZXBocDpiZWZvcmV7Y29udGVudDpcIlxcZTk2NlwifS5jaWItY2FtcGFpZ24tbW9uaXRvcjpiZWZvcmV7Y29udGVudDpcIlxcZTk2N1wifS5jaWItY2FudmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjhcIn0uY2liLWNhc2hhcHA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjlcIn0uY2liLWNhc3NhbmRyYTpiZWZvcmV7Y29udGVudDpcIlxcZTk2YVwifS5jaWItY2FzdHJvOmJlZm9yZXtjb250ZW50OlwiXFxlOTZiXCJ9LmNpYi1jYy1hbWF6b24tcGF5OmJlZm9yZXtjb250ZW50OlwiXFxlOTZjXCJ9LmNpYi1jYy1hbWV4OmJlZm9yZXtjb250ZW50OlwiXFxlOTZkXCJ9LmNpYi1jYy1hcHBsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmVcIn0uY2liLWNjLWRpbmVycy1jbHViOmJlZm9yZXtjb250ZW50OlwiXFxlOTZmXCJ9LmNpYi1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDpcIlxcZTk3MFwifS5jaWItY2MtamNiOmJlZm9yZXtjb250ZW50OlwiXFxlOTcxXCJ9LmNpYi1jYy1tYXN0ZXJjYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlOTcyXCJ9LmNpYi1jYy1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NzNcIn0uY2liLWNjLXN0cmlwZTpiZWZvcmV7Y29udGVudDpcIlxcZTk3NFwifS5jaWItY2MtdmlzYTpiZWZvcmV7Y29udGVudDpcIlxcZTk3NVwifS5jaWItY2VudG9zOmJlZm9yZXtjb250ZW50OlwiXFxlOTc2XCJ9LmNpYi1jZXZvOmJlZm9yZXtjb250ZW50OlwiXFxlOTc3XCJ9LmNpYi1jaGFzZTpiZWZvcmV7Y29udGVudDpcIlxcZTk3OFwifS5jaWItY2hlZjpiZWZvcmV7Y29udGVudDpcIlxcZTk3OVwifS5jaWItY2hyb21lY2FzdDpiZWZvcmV7Y29udGVudDpcIlxcZTk3YVwifS5jaWItY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxlOTdiXCJ9LmNpYi1jaXJjbGVjaTpiZWZvcmV7Y29udGVudDpcIlxcZTk3Y1wifS5jaWItY2lycnVzY2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5N2RcIn0uY2liLWNpc2NvOmJlZm9yZXtjb250ZW50OlwiXFxlOTdlXCJ9LmNpYi1jaXZpY3JtOmJlZm9yZXtjb250ZW50OlwiXFxlOTdmXCJ9LmNpYi1jbG9ja2lmeTpiZWZvcmV7Y29udGVudDpcIlxcZTk4MFwifS5jaWItY2xvanVyZTpiZWZvcmV7Y29udGVudDpcIlxcZTk4MVwifS5jaWItY2xvdWRiZWVzOmJlZm9yZXtjb250ZW50OlwiXFxlOTgyXCJ9LmNpYi1jbG91ZGZsYXJlOmJlZm9yZXtjb250ZW50OlwiXFxlOTgzXCJ9LmNpYi1jbWFrZTpiZWZvcmV7Y29udGVudDpcIlxcZTk4NFwifS5jaWItY28tb3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODVcIn0uY2liLWNvZGFjeTpiZWZvcmV7Y29udGVudDpcIlxcZTk4NlwifS5jaWItY29kZS1jbGltYXRlOmJlZm9yZXtjb250ZW50OlwiXFxlOTg3XCJ9LmNpYi1jb2RlY2FkZW15OmJlZm9yZXtjb250ZW50OlwiXFxlOTg4XCJ9LmNpYi1jb2RlY292OmJlZm9yZXtjb250ZW50OlwiXFxlOTg5XCJ9LmNpYi1jb2RlaWduaXRlcjpiZWZvcmV7Y29udGVudDpcIlxcZTk4YVwifS5jaWItY29kZXBlbjpiZWZvcmV7Y29udGVudDpcIlxcZTk4YlwifS5jaWItY29kZXJ3YWxsOmJlZm9yZXtjb250ZW50OlwiXFxlOThjXCJ9LmNpYi1jb2Rlc2FuZGJveDpiZWZvcmV7Y29udGVudDpcIlxcZTk4ZFwifS5jaWItY29kZXNoaXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OGVcIn0uY2liLWNvZGV3YXJzOmJlZm9yZXtjb250ZW50OlwiXFxlOThmXCJ9LmNpYi1jb2RpbzpiZWZvcmV7Y29udGVudDpcIlxcZTk5MFwifS5jaWItY29mZmVlc2NyaXB0OmJlZm9yZXtjb250ZW50OlwiXFxlOTkxXCJ9LmNpYi1jb21tb24td29ya2Zsb3ctbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTJcIn0uY2liLWNvbXBvc2VyOmJlZm9yZXtjb250ZW50OlwiXFxlOTkzXCJ9LmNpYi1jb25kYS1mb3JnZTpiZWZvcmV7Y29udGVudDpcIlxcZTk5NFwifS5jaWItY29uZWt0YTpiZWZvcmV7Y29udGVudDpcIlxcZTk5NVwifS5jaWItY29uZmx1ZW5jZTpiZWZvcmV7Y29udGVudDpcIlxcZTk5NlwifS5jaWItY29yZXVpLWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTdcIn0uY2liLWNvcmV1aTpiZWZvcmV7Y29udGVudDpcIlxcZTk5OFwifS5jaWItY291cnNlcmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTlcIn0uY2liLWNvdmVyYWxsczpiZWZvcmV7Y29udGVudDpcIlxcZTk5YVwifS5jaWItY3BhbmVsOmJlZm9yZXtjb250ZW50OlwiXFxlOTliXCJ9LmNpYi1jcGx1c3BsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWNcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWRcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWVcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWZcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTBcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTFcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlOWEyXCJ9LmNpYi1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZXtjb250ZW50OlwiXFxlOWEzXCJ9LmNpYi1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZXtjb250ZW50OlwiXFxlOWE0XCJ9LmNpYi1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZXtjb250ZW50OlwiXFxlOWE1XCJ9LmNpYi1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTZcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTdcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YThcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmV7Y29udGVudDpcIlxcZTlhOVwifS5jaWItY3JlYXRpdmUtY29tbW9uczpiZWZvcmV7Y29udGVudDpcIlxcZTlhYVwifS5jaWItY3J1bmNoYmFzZTpiZWZvcmV7Y29udGVudDpcIlxcZTlhYlwifS5jaWItY3J1bmNoeXJvbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YWNcIn0uY2liLWNzczMtc2hpbGVkOmJlZm9yZXtjb250ZW50OlwiXFxlOWFkXCJ9LmNpYi1jc3MzOmJlZm9yZXtjb250ZW50OlwiXFxlOWFlXCJ9LmNpYi1jc3N3aXphcmRyeTpiZWZvcmV7Y29udGVudDpcIlxcZTlhZlwifS5jaWItZDMtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YjBcIn0uY2liLWRhaWx5bW90aW9uOmJlZm9yZXtjb250ZW50OlwiXFxlOWIxXCJ9LmNpYi1kYXNobGFuZTpiZWZvcmV7Y29udGVudDpcIlxcZTliMlwifS5jaWItZGF6bjpiZWZvcmV7Y29udGVudDpcIlxcZTliM1wifS5jaWItZGJscDpiZWZvcmV7Y29udGVudDpcIlxcZTliNFwifS5jaWItZGViaWFuOmJlZm9yZXtjb250ZW50OlwiXFxlOWI1XCJ9LmNpYi1kZWVwaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YjZcIn0uY2liLWRlZXplcjpiZWZvcmV7Y29udGVudDpcIlxcZTliN1wifS5jaWItZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OlwiXFxlOWI4XCJ9LmNpYi1kZWxsOmJlZm9yZXtjb250ZW50OlwiXFxlOWI5XCJ9LmNpYi1kZW5vOmJlZm9yZXtjb250ZW50OlwiXFxlOWJhXCJ9LmNpYi1kZXBlbmRhYm90OmJlZm9yZXtjb250ZW50OlwiXFxlOWJiXCJ9LmNpYi1kZXNpZ25lci1uZXdzOmJlZm9yZXtjb250ZW50OlwiXFxlOWJjXCJ9LmNpYi1kZXYtdG86YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YmRcIn0uY2liLWRldmlhbnRhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YmVcIn0uY2liLWRldnJhbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YmZcIn0uY2liLWRpYXNwb3JhOmJlZm9yZXtjb250ZW50OlwiXFxlOWMwXCJ9LmNpYi1kaWdnOmJlZm9yZXtjb250ZW50OlwiXFxlOWMxXCJ9LmNpYi1kaWdpdGFsLW9jZWFuOmJlZm9yZXtjb250ZW50OlwiXFxlOWMyXCJ9LmNpYi1kaXNjb3JkOmJlZm9yZXtjb250ZW50OlwiXFxlOWMzXCJ9LmNpYi1kaXNjb3Vyc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YzRcIn0uY2liLWRpc2NvdmVyOmJlZm9yZXtjb250ZW50OlwiXFxlOWM1XCJ9LmNpYi1kaXNxdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YzZcIn0uY2liLWRpc3Jvb3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YzdcIn0uY2liLWRqYW5nbzpiZWZvcmV7Y29udGVudDpcIlxcZTljOFwifS5jaWItZG9ja2VyOmJlZm9yZXtjb250ZW50OlwiXFxlOWM5XCJ9LmNpYi1kb2N1c2lnbjpiZWZvcmV7Y29udGVudDpcIlxcZTljYVwifS5jaWItZG90LW5ldDpiZWZvcmV7Y29udGVudDpcIlxcZTljYlwifS5jaWItZHJhdWdpZW0tbHY6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5Y2NcIn0uY2liLWRyaWJiYmxlOmJlZm9yZXtjb250ZW50OlwiXFxlOWNkXCJ9LmNpYi1kcm9uZTpiZWZvcmV7Y29udGVudDpcIlxcZTljZVwifS5jaWItZHJvcGJveDpiZWZvcmV7Y29udGVudDpcIlxcZTljZlwifS5jaWItZHJ1cGFsOmJlZm9yZXtjb250ZW50OlwiXFxlOWQwXCJ9LmNpYi1kdHViZTpiZWZvcmV7Y29udGVudDpcIlxcZTlkMVwifS5jaWItZHVja2R1Y2tnbzpiZWZvcmV7Y29udGVudDpcIlxcZTlkMlwifS5jaWItZHluYXRyYWNlOmJlZm9yZXtjb250ZW50OlwiXFxlOWQzXCJ9LmNpYi1lYmF5OmJlZm9yZXtjb250ZW50OlwiXFxlOWQ0XCJ9LmNpYi1lY2xpcHNlaWRlOmJlZm9yZXtjb250ZW50OlwiXFxlOWQ1XCJ9LmNpYi1lbGFzdGljLWNsb3VkOmJlZm9yZXtjb250ZW50OlwiXFxlOWQ2XCJ9LmNpYi1lbGFzdGljLXNlYXJjaDpiZWZvcmV7Y29udGVudDpcIlxcZTlkN1wifS5jaWItZWxhc3RpYy1zdGFjazpiZWZvcmV7Y29udGVudDpcIlxcZTlkOFwifS5jaWItZWxhc3RpYzpiZWZvcmV7Y29udGVudDpcIlxcZTlkOVwifS5jaWItZWxlY3Ryb246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZGFcIn0uY2liLWVsZW1lbnRhcnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZGJcIn0uY2liLWVsZXZlbnR5OmJlZm9yZXtjb250ZW50OlwiXFxlOWRjXCJ9LmNpYi1lbGxvOmJlZm9yZXtjb250ZW50OlwiXFxlOWRkXCJ9LmNpYi1lbHNldmllcjpiZWZvcmV7Y29udGVudDpcIlxcZTlkZVwifS5jaWItZW1sYWtqZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZGZcIn0uY2liLWVtcGlyZWtyZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTBcIn0uY2liLWVudmF0bzpiZWZvcmV7Y29udGVudDpcIlxcZTllMVwifS5jaWItZXBpYy1nYW1lczpiZWZvcmV7Y29udGVudDpcIlxcZTllMlwifS5jaWItZXBzb246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTNcIn0uY2liLWVzZWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTRcIn0uY2liLWVzbGludDpiZWZvcmV7Y29udGVudDpcIlxcZTllNVwifS5jaWItZXRoZXJldW06YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTZcIn0uY2liLWV0c3k6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTdcIn0uY2liLWV2ZW50LXN0b3JlOmJlZm9yZXtjb250ZW50OlwiXFxlOWU4XCJ9LmNpYi1ldmVudGJyaXRlOmJlZm9yZXtjb250ZW50OlwiXFxlOWU5XCJ9LmNpYi1ldmVybm90ZTpiZWZvcmV7Y29udGVudDpcIlxcZTllYVwifS5jaWItZXZlcnBsYWNlczpiZWZvcmV7Y29udGVudDpcIlxcZTllYlwifS5jaWItZXZyeTpiZWZvcmV7Y29udGVudDpcIlxcZTllY1wifS5jaWItZXhlcmNpc206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZWRcIn0uY2liLWV4cGVydHMtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZWVcIn0uY2liLWV4cG86YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZWZcIn0uY2liLWV5ZWVtOmJlZm9yZXtjb250ZW50OlwiXFxlOWYwXCJ9LmNpYi1mLXNlY3VyZTpiZWZvcmV7Y29udGVudDpcIlxcZTlmMVwifS5jaWItZmFjZWJvb2stZjpiZWZvcmV7Y29udGVudDpcIlxcZTlmMlwifS5jaWItZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZjNcIn0uY2liLWZhY2VpdDpiZWZvcmV7Y29udGVudDpcIlxcZTlmNFwifS5jaWItZmFuZGFuZ286YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZjVcIn0uY2liLWZhdnJvOmJlZm9yZXtjb250ZW50OlwiXFxlOWY2XCJ9LmNpYi1mZWF0aHViOmJlZm9yZXtjb250ZW50OlwiXFxlOWY3XCJ9LmNpYi1mZWRleDpiZWZvcmV7Y29udGVudDpcIlxcZTlmOFwifS5jaWItZmVkb3JhOmJlZm9yZXtjb250ZW50OlwiXFxlOWY5XCJ9LmNpYi1mZWVkbHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZmFcIn0uY2liLWZpZG8tYWxsaWFuY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZmJcIn0uY2liLWZpZ21hOmJlZm9yZXtjb250ZW50OlwiXFxlOWZjXCJ9LmNpYi1maWxlemlsbGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZmRcIn0uY2liLWZpcmViYXNlOmJlZm9yZXtjb250ZW50OlwiXFxlOWZlXCJ9LmNpYi1maXRiaXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZmZcIn0uY2liLWZsYXNrOmJlZm9yZXtjb250ZW50OlwiXFxlYTAwXCJ9LmNpYi1mbGF0dHI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMDFcIn0uY2liLWZsaWNrcjpiZWZvcmV7Y29udGVudDpcIlxcZWEwMlwifS5jaWItZmxpcGJvYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYTAzXCJ9LmNpYi1mbHV0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYTA0XCJ9LmNpYi1mbmFjOmJlZm9yZXtjb250ZW50OlwiXFxlYTA1XCJ9LmNpYi1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxlYTA2XCJ9LmNpYi1mcmFtZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMDdcIn0uY2liLWZyZWVic2Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMDhcIn0uY2liLWZyZWVjb2RlY2FtcDpiZWZvcmV7Y29udGVudDpcIlxcZWEwOVwifS5jaWItZnVyLWFmZmluaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYTBhXCJ9LmNpYi1mdXJyeS1uZXR3b3JrOmJlZm9yZXtjb250ZW50OlwiXFxlYTBiXCJ9LmNpYi1nYXJtaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMGNcIn0uY2liLWdhdHNieTpiZWZvcmV7Y29udGVudDpcIlxcZWEwZFwifS5jaWItZ2F1Z2VzOmJlZm9yZXtjb250ZW50OlwiXFxlYTBlXCJ9LmNpYi1nZW5pdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMGZcIn0uY2liLWdlbnRvbzpiZWZvcmV7Y29udGVudDpcIlxcZWExMFwifS5jaWItZ2VvY2FjaGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWExMVwifS5jaWItZ2Vycml0OmJlZm9yZXtjb250ZW50OlwiXFxlYTEyXCJ9LmNpYi1nZzpiZWZvcmV7Y29udGVudDpcIlxcZWExM1wifS5jaWItZ2hvc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMTRcIn0uY2liLWdpbXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMTVcIn0uY2liLWdpdDpiZWZvcmV7Y29udGVudDpcIlxcZWExNlwifS5jaWItZ2l0ZWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMTdcIn0uY2liLWdpdGh1YjpiZWZvcmV7Y29udGVudDpcIlxcZWExOFwifS5jaWItZ2l0a3Jha2VuOmJlZm9yZXtjb250ZW50OlwiXFxlYTE5XCJ9LmNpYi1naXRsYWI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWFcIn0uY2liLWdpdHBvZDpiZWZvcmV7Y29udGVudDpcIlxcZWExYlwifS5jaWItZ2l0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYTFjXCJ9LmNpYi1nbGFzc2Rvb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWRcIn0uY2liLWdsaXRjaDpiZWZvcmV7Y29udGVudDpcIlxcZWExZVwifS5jaWItZ21haWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWZcIn0uY2liLWdudS1wcml2YWN5LWd1YXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYTIwXCJ9LmNpYi1nbnUtc29jaWFsOmJlZm9yZXtjb250ZW50OlwiXFxlYTIxXCJ9LmNpYi1nbnU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjJcIn0uY2liLWdvOmJlZm9yZXtjb250ZW50OlwiXFxlYTIzXCJ9LmNpYi1nb2RvdC1lbmdpbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjRcIn0uY2liLWdvZy1jb206YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjVcIn0uY2liLWdvbGRlbmxpbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjZcIn0uY2liLWdvb2RyZWFkczpiZWZvcmV7Y29udGVudDpcIlxcZWEyN1wifS5jaWItZ29vZ2xlLWFkczpiZWZvcmV7Y29udGVudDpcIlxcZWEyOFwifS5jaWItZ29vZ2xlLWFsbG86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjlcIn0uY2liLWdvb2dsZS1hbmFseXRpY3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmFcIn0uY2liLWdvb2dsZS1jaHJvbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmJcIn0uY2liLWdvb2dsZS1jbG91ZDpiZWZvcmV7Y29udGVudDpcIlxcZWEyY1wifS5jaWItZ29vZ2xlLWtlZXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmRcIn0uY2liLWdvb2dsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmVcIn0uY2liLWdvb2dsZS1wbGF5OmJlZm9yZXtjb250ZW50OlwiXFxlYTJmXCJ9LmNpYi1nb29nbGUtcG9kY2FzdHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzBcIn0uY2liLWdvb2dsZTpiZWZvcmV7Y29udGVudDpcIlxcZWEzMVwifS5jaWItZ29vZ2xlcy1jaG9sYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzJcIn0uY2liLWdvdi11azpiZWZvcmV7Y29udGVudDpcIlxcZWEzM1wifS5jaWItZ3JhZGxlOmJlZm9yZXtjb250ZW50OlwiXFxlYTM0XCJ9LmNpYi1ncmFmYW5hOmJlZm9yZXtjb250ZW50OlwiXFxlYTM1XCJ9LmNpYi1ncmFwaGNvb2w6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzZcIn0uY2liLWdyYXBocWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzdcIn0uY2liLWdyYXY6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzhcIn0uY2liLWdyYXZhdGFyOmJlZm9yZXtjb250ZW50OlwiXFxlYTM5XCJ9LmNpYi1ncmVlbmtlZXBlcjpiZWZvcmV7Y29udGVudDpcIlxcZWEzYVwifS5jaWItZ3JlZW5zb2NrOmJlZm9yZXtjb250ZW50OlwiXFxlYTNiXCJ9LmNpYi1ncm9vdnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2NcIn0uY2liLWdyb3Vwb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2RcIn0uY2liLWdydW50OmJlZm9yZXtjb250ZW50OlwiXFxlYTNlXCJ9LmNpYi1ndWxwOmJlZm9yZXtjb250ZW50OlwiXFxlYTNmXCJ9LmNpYi1ndW1yb2FkOmJlZm9yZXtjb250ZW50OlwiXFxlYTQwXCJ9LmNpYi1ndW10cmVlOmJlZm9yZXtjb250ZW50OlwiXFxlYTQxXCJ9LmNpYi1oYWJyOmJlZm9yZXtjb250ZW50OlwiXFxlYTQyXCJ9LmNpYi1oYWNrYWRheTpiZWZvcmV7Y29udGVudDpcIlxcZWE0M1wifS5jaWItaGFja2VyZWFydGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDRcIn0uY2liLWhhY2tlcm9uZTpiZWZvcmV7Y29udGVudDpcIlxcZWE0NVwifS5jaWItaGFja2VycmFuazpiZWZvcmV7Y29udGVudDpcIlxcZWE0NlwifS5jaWItaGFja2hhbmRzOmJlZm9yZXtjb250ZW50OlwiXFxlYTQ3XCJ9LmNpYi1oYWNrc3RlcjpiZWZvcmV7Y29udGVudDpcIlxcZWE0OFwifS5jaWItaGFwcHljb3c6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDlcIn0uY2liLWhhc2hub2RlOmJlZm9yZXtjb250ZW50OlwiXFxlYTRhXCJ9LmNpYi1oYXNrZWxsOmJlZm9yZXtjb250ZW50OlwiXFxlYTRiXCJ9LmNpYi1oYXRlbmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNGNcIn0uY2liLWhheGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNGRcIn0uY2liLWhlbG06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNGVcIn0uY2liLWhlcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNGZcIn0uY2liLWhlcm9rdTpiZWZvcmV7Y29udGVudDpcIlxcZWE1MFwifS5jaWItaGV4bzpiZWZvcmV7Y29udGVudDpcIlxcZWE1MVwifS5jaWItaGlnaGx5OmJlZm9yZXtjb250ZW50OlwiXFxlYTUyXCJ9LmNpYi1oaXBjaGF0OmJlZm9yZXtjb250ZW50OlwiXFxlYTUzXCJ9LmNpYi1oaXRhY2hpOmJlZm9yZXtjb250ZW50OlwiXFxlYTU0XCJ9LmNpYi1ob2NrZXlhcHA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNTVcIn0uY2liLWhvbWlmeTpiZWZvcmV7Y29udGVudDpcIlxcZWE1NlwifS5jaWItaG9vdHN1aXRlOmJlZm9yZXtjb250ZW50OlwiXFxlYTU3XCJ9LmNpYi1ob3RqYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNThcIn0uY2liLWhvdXp6OmJlZm9yZXtjb250ZW50OlwiXFxlYTU5XCJ9LmNpYi1ocDpiZWZvcmV7Y29udGVudDpcIlxcZWE1YVwifS5jaWItaHRtbDUtc2hpZWxkOmJlZm9yZXtjb250ZW50OlwiXFxlYTViXCJ9LmNpYi1odG1sNTpiZWZvcmV7Y29udGVudDpcIlxcZWE1Y1wifS5jaWItaHRtbGFjYWRlbXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNWRcIn0uY2liLWh1YXdlaTpiZWZvcmV7Y29udGVudDpcIlxcZWE1ZVwifS5jaWItaHVic3BvdDpiZWZvcmV7Y29udGVudDpcIlxcZWE1ZlwifS5jaWItaHVsdTpiZWZvcmV7Y29udGVudDpcIlxcZWE2MFwifS5jaWItaHVtYmxlLWJ1bmRsZTpiZWZvcmV7Y29udGVudDpcIlxcZWE2MVwifS5jaWItaWF0YTpiZWZvcmV7Y29udGVudDpcIlxcZWE2MlwifS5jaWItaWJtOmJlZm9yZXtjb250ZW50OlwiXFxlYTYzXCJ9LmNpYi1pY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNjRcIn0uY2liLWljb25qYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNjVcIn0uY2liLWljcTpiZWZvcmV7Y29udGVudDpcIlxcZWE2NlwifS5jaWItaWRlYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNjdcIn0uY2liLWlmaXhpdDpiZWZvcmV7Y29udGVudDpcIlxcZWE2OFwifS5jaWItaW1kYjpiZWZvcmV7Y29udGVudDpcIlxcZWE2OVwifS5jaWItaW5kZWVkOmJlZm9yZXtjb250ZW50OlwiXFxlYTZhXCJ9LmNpYi1pbmtzY2FwZTpiZWZvcmV7Y29udGVudDpcIlxcZWE2YlwifS5jaWItaW5zdGFjYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxlYTZjXCJ9LmNpYi1pbnN0YWdyYW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNmRcIn0uY2liLWluc3RhcGFwZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNmVcIn0uY2liLWludGVsOmJlZm9yZXtjb250ZW50OlwiXFxlYTZmXCJ9LmNpYi1pbnRlbGxpamlkZWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNzBcIn0uY2liLWludGVyY29tOmJlZm9yZXtjb250ZW50OlwiXFxlYTcxXCJ9LmNpYi1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmV7Y29udGVudDpcIlxcZWE3MlwifS5jaWItaW52aXNpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNzNcIn0uY2liLWlvbmljOmJlZm9yZXtjb250ZW50OlwiXFxlYTc0XCJ9LmNpYi1pc3N1dTpiZWZvcmV7Y29udGVudDpcIlxcZWE3NVwifS5jaWItaXRjaC1pbzpiZWZvcmV7Y29udGVudDpcIlxcZWE3NlwifS5jaWItamFiYmVyOmJlZm9yZXtjb250ZW50OlwiXFxlYTc3XCJ9LmNpYi1qYXZhOmJlZm9yZXtjb250ZW50OlwiXFxlYTc4XCJ9LmNpYi1qYXZhc2NyaXB0OmJlZm9yZXtjb250ZW50OlwiXFxlYTc5XCJ9LmNpYi1qZWt5bGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhN2FcIn0uY2liLWplbmtpbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhN2JcIn0uY2liLWplc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhN2NcIn0uY2liLWpldDpiZWZvcmV7Y29udGVudDpcIlxcZWE3ZFwifS5jaWItamV0YnJhaW5zOmJlZm9yZXtjb250ZW50OlwiXFxlYTdlXCJ9LmNpYi1qaXJhOmJlZm9yZXtjb250ZW50OlwiXFxlYTdmXCJ9LmNpYi1qb29tbGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODBcIn0uY2liLWpxdWVyeTpiZWZvcmV7Y29udGVudDpcIlxcZWE4MVwifS5jaWItanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODJcIn0uY2liLWpzZGVsaXZyOmJlZm9yZXtjb250ZW50OlwiXFxlYTgzXCJ9LmNpYi1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDpcIlxcZWE4NFwifS5jaWItanNvbjpiZWZvcmV7Y29udGVudDpcIlxcZWE4NVwifS5jaWItanVweXRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWE4NlwifS5jaWItanVzdGdpdmluZzpiZWZvcmV7Y29udGVudDpcIlxcZWE4N1wifS5jaWIta2FnZ2xlOmJlZm9yZXtjb250ZW50OlwiXFxlYTg4XCJ9LmNpYi1rYWlvczpiZWZvcmV7Y29udGVudDpcIlxcZWE4OVwifS5jaWIta2FzcGVyc2t5OmJlZm9yZXtjb250ZW50OlwiXFxlYThhXCJ9LmNpYi1rZW50aWNvOmJlZm9yZXtjb250ZW50OlwiXFxlYThiXCJ9LmNpYi1rZXJhczpiZWZvcmV7Y29udGVudDpcIlxcZWE4Y1wifS5jaWIta2V5YmFzZTpiZWZvcmV7Y29udGVudDpcIlxcZWE4ZFwifS5jaWIta2V5Y2RuOmJlZm9yZXtjb250ZW50OlwiXFxlYThlXCJ9LmNpYi1raGFuLWFjYWRlbXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOGZcIn0uY2liLWtpYmFuYTpiZWZvcmV7Y29udGVudDpcIlxcZWE5MFwifS5jaWIta2lja3N0YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTFcIn0uY2liLWtpazpiZWZvcmV7Y29udGVudDpcIlxcZWE5MlwifS5jaWIta2lyYnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTNcIn0uY2liLWtsb3V0OmJlZm9yZXtjb250ZW50OlwiXFxlYTk0XCJ9LmNpYi1rbm93bjpiZWZvcmV7Y29udGVudDpcIlxcZWE5NVwifS5jaWIta28tZmk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTZcIn0uY2liLWtvZGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTdcIn0uY2liLWtvZGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWE5OFwifS5jaWIta290bGluOmJlZm9yZXtjb250ZW50OlwiXFxlYTk5XCJ9LmNpYi1rcml0YTpiZWZvcmV7Y29udGVudDpcIlxcZWE5YVwifS5jaWIta3ViZXJuZXRlczpiZWZvcmV7Y29udGVudDpcIlxcZWE5YlwifS5jaWItbGFueXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYTljXCJ9LmNpYi1sYXJhdmVsLWhvcml6b246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOWRcIn0uY2liLWxhcmF2ZWwtbm92YTpiZWZvcmV7Y29udGVudDpcIlxcZWE5ZVwifS5jaWItbGFyYXZlbDpiZWZvcmV7Y29udGVudDpcIlxcZWE5ZlwifS5jaWItbGFzdC1mbTpiZWZvcmV7Y29udGVudDpcIlxcZWFhMFwifS5jaWItbGF0ZXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTFcIn0uY2liLWxhdW5jaHBhZDpiZWZvcmV7Y29udGVudDpcIlxcZWFhMlwifS5jaWItbGVldGNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTNcIn0uY2liLWxlbm92bzpiZWZvcmV7Y29udGVudDpcIlxcZWFhNFwifS5jaWItbGVzczpiZWZvcmV7Y29udGVudDpcIlxcZWFhNVwifS5jaWItbGV0cy1lbmNyeXB0OmJlZm9yZXtjb250ZW50OlwiXFxlYWE2XCJ9LmNpYi1sZXR0ZXJib3hkOmJlZm9yZXtjb250ZW50OlwiXFxlYWE3XCJ9LmNpYi1sZ3RtOmJlZm9yZXtjb250ZW50OlwiXFxlYWE4XCJ9LmNpYi1saWJlcmFwYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTlcIn0uY2liLWxpYnJhcnl0aGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWFhYVwifS5jaWItbGlicmVvZmZpY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYWJcIn0uY2liLWxpbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYWNcIn0uY2liLWxpbmtlZGluLWluOmJlZm9yZXtjb250ZW50OlwiXFxlYWFkXCJ9LmNpYi1saW5rZWRpbjpiZWZvcmV7Y29udGVudDpcIlxcZWFhZVwifS5jaWItbGludXgtZm91bmRhdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZWFhZlwifS5jaWItbGludXgtbWludDpiZWZvcmV7Y29udGVudDpcIlxcZWFiMFwifS5jaWItbGludXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjFcIn0uY2liLWxpdmVqb3VybmFsOmJlZm9yZXtjb250ZW50OlwiXFxlYWIyXCJ9LmNpYi1saXZlc3RyZWFtOmJlZm9yZXtjb250ZW50OlwiXFxlYWIzXCJ9LmNpYi1sb2dzdGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZWFiNFwifS5jaWItbHVhOmJlZm9yZXtjb250ZW50OlwiXFxlYWI1XCJ9LmNpYi1sdW1lbjpiZWZvcmV7Y29udGVudDpcIlxcZWFiNlwifS5jaWItbHlmdDpiZWZvcmV7Y29udGVudDpcIlxcZWFiN1wifS5jaWItbWFjeXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjhcIn0uY2liLW1hZ2VudG86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjlcIn0uY2liLW1hZ2lzazpiZWZvcmV7Y29udGVudDpcIlxcZWFiYVwifS5jaWItbWFpbC1ydTpiZWZvcmV7Y29udGVudDpcIlxcZWFiYlwifS5jaWItbWFpbGNoaW1wOmJlZm9yZXtjb250ZW50OlwiXFxlYWJjXCJ9LmNpYi1tYWtlcmJvdDpiZWZvcmV7Y29udGVudDpcIlxcZWFiZFwifS5jaWItbWFuamFybzpiZWZvcmV7Y29udGVudDpcIlxcZWFiZVwifS5jaWItbWFya2Rvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYmZcIn0uY2liLW1hcmtldG86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzBcIn0uY2liLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzFcIn0uY2liLW1hc3RvZG9uOmJlZm9yZXtjb250ZW50OlwiXFxlYWMyXCJ9LmNpYi1tYXRlcmlhbC1kZXNpZ246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzNcIn0uY2liLW1hdGh3b3JrczpiZWZvcmV7Y29udGVudDpcIlxcZWFjNFwifS5jaWItbWF0cml4OmJlZm9yZXtjb250ZW50OlwiXFxlYWM1XCJ9LmNpYi1tYXR0ZXJtb3N0OmJlZm9yZXtjb250ZW50OlwiXFxlYWM2XCJ9LmNpYi1tYXR0ZXJuZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzdcIn0uY2liLW1heGNkbjpiZWZvcmV7Y29udGVudDpcIlxcZWFjOFwifS5jaWItbWNhZmVlOmJlZm9yZXtjb250ZW50OlwiXFxlYWM5XCJ9LmNpYi1tZWRpYS10ZW1wbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhY2FcIn0uY2liLW1lZGlhZmlyZTpiZWZvcmV7Y29udGVudDpcIlxcZWFjYlwifS5jaWItbWVkaXVtLW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhY2NcIn0uY2liLW1lZGl1bTpiZWZvcmV7Y29udGVudDpcIlxcZWFjZFwifS5jaWItbWVldHVwOmJlZm9yZXtjb250ZW50OlwiXFxlYWNlXCJ9LmNpYi1tZWdhOmJlZm9yZXtjb250ZW50OlwiXFxlYWNmXCJ9LmNpYi1tZW5kZWxleTpiZWZvcmV7Y29udGVudDpcIlxcZWFkMFwifS5jaWItbWVzc2VuZ2VyOmJlZm9yZXtjb250ZW50OlwiXFxlYWQxXCJ9LmNpYi1tZXRlb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDJcIn0uY2liLW1pY3JvLWJsb2c6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDNcIn0uY2liLW1pY3JvZ2VuZXRpY3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDRcIn0uY2liLW1pY3Jvc29mdC1lZGdlOmJlZm9yZXtjb250ZW50OlwiXFxlYWQ1XCJ9LmNpYi1taWNyb3NvZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDZcIn0uY2liLW1pbmV0ZXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYWQ3XCJ9LmNpYi1taW51dGVtYWlsZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDhcIn0uY2liLW1peDpiZWZvcmV7Y29udGVudDpcIlxcZWFkOVwifS5jaWItbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZGFcIn0uY2liLW1peGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYWRiXCJ9LmNpYi1tb2phbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZGNcIn0uY2liLW1vbmVybzpiZWZvcmV7Y29udGVudDpcIlxcZWFkZFwifS5jaWItbW9uZ29kYjpiZWZvcmV7Y29udGVudDpcIlxcZWFkZVwifS5jaWItbW9ua2V5dGllOmJlZm9yZXtjb250ZW50OlwiXFxlYWRmXCJ9LmNpYi1tb25vZ3JhbTpiZWZvcmV7Y29udGVudDpcIlxcZWFlMFwifS5jaWItbW9uem86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTFcIn0uY2liLW1vbzpiZWZvcmV7Y29udGVudDpcIlxcZWFlMlwifS5jaWItbW96aWxsYS1maXJlZm94OmJlZm9yZXtjb250ZW50OlwiXFxlYWUzXCJ9LmNpYi1tb3ppbGxhOmJlZm9yZXtjb250ZW50OlwiXFxlYWU0XCJ9LmNpYi1tdXNlc2NvcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTVcIn0uY2liLW14bGludXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTZcIn0uY2liLW15c3BhY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTdcIn0uY2liLW15c3FsOmJlZm9yZXtjb250ZW50OlwiXFxlYWU4XCJ9LmNpYi1uYXRpdmVzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTlcIn0uY2liLW5lYzpiZWZvcmV7Y29udGVudDpcIlxcZWFlYVwifS5jaWItbmVvNGo6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZWJcIn0uY2liLW5ldGZsaXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZWNcIn0uY2liLW5ldGxpZnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZWRcIn0uY2liLW5leHQtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZWVcIn0uY2liLW5leHRjbG91ZDpiZWZvcmV7Y29udGVudDpcIlxcZWFlZlwifS5jaWItbmV4dGRvb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjBcIn0uY2liLW5naW54OmJlZm9yZXtjb250ZW50OlwiXFxlYWYxXCJ9LmNpYi1uaW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjJcIn0uY2liLW5pbnRlbmRvLTNkczpiZWZvcmV7Y29udGVudDpcIlxcZWFmM1wifS5jaWItbmludGVuZG8tZ2FtZWN1YmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjRcIn0uY2liLW5pbnRlbmRvLXN3aXRjaDpiZWZvcmV7Y29udGVudDpcIlxcZWFmNVwifS5jaWItbmludGVuZG86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjZcIn0uY2liLW5vZGUtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjdcIn0uY2liLW5vZGUtcmVkOmJlZm9yZXtjb250ZW50OlwiXFxlYWY4XCJ9LmNpYi1ub2RlbW9uOmJlZm9yZXtjb250ZW50OlwiXFxlYWY5XCJ9LmNpYi1ub2tpYTpiZWZvcmV7Y29udGVudDpcIlxcZWFmYVwifS5jaWItbm90aW9uOmJlZm9yZXtjb250ZW50OlwiXFxlYWZiXCJ9LmNpYi1ucG06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZmNcIn0uY2liLW51Y2xlbzpiZWZvcmV7Y29udGVudDpcIlxcZWFmZFwifS5jaWItbnVnZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZmVcIn0uY2liLW51eHQtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZmZcIn0uY2liLW52aWRpYTpiZWZvcmV7Y29udGVudDpcIlxcZWIwMFwifS5jaWItb2NhbWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMDFcIn0uY2liLW9jdGF2ZTpiZWZvcmV7Y29udGVudDpcIlxcZWIwMlwifS5jaWItb2N0b3B1cy1kZXBsb3k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMDNcIn0uY2liLW9jdWx1czpiZWZvcmV7Y29udGVudDpcIlxcZWIwNFwifS5jaWItb2Rub2tsYXNzbmlraTpiZWZvcmV7Y29udGVudDpcIlxcZWIwNVwifS5jaWItb3Blbi1hY2Nlc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMDZcIn0uY2liLW9wZW4tY29sbGVjdGl2ZTpiZWZvcmV7Y29udGVudDpcIlxcZWIwN1wifS5jaWItb3Blbi1pZDpiZWZvcmV7Y29udGVudDpcIlxcZWIwOFwifS5jaWItb3Blbi1zb3VyY2UtaW5pdGlhdGl2ZTpiZWZvcmV7Y29udGVudDpcIlxcZWIwOVwifS5jaWItb3BlbnN0cmVldG1hcDpiZWZvcmV7Y29udGVudDpcIlxcZWIwYVwifS5jaWItb3BlbnN1c2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMGJcIn0uY2liLW9wZW52cG46YmVmb3Jle2NvbnRlbnQ6XCJcXGViMGNcIn0uY2liLW9wZXJhOmJlZm9yZXtjb250ZW50OlwiXFxlYjBkXCJ9LmNpYi1vcHNnZW5pZTpiZWZvcmV7Y29udGVudDpcIlxcZWIwZVwifS5jaWItb3JhY2xlOmJlZm9yZXtjb250ZW50OlwiXFxlYjBmXCJ9LmNpYi1vcmNpZDpiZWZvcmV7Y29udGVudDpcIlxcZWIxMFwifS5jaWItb3JpZ2luOmJlZm9yZXtjb250ZW50OlwiXFxlYjExXCJ9LmNpYi1vc2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMTJcIn0uY2liLW9zbWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMTNcIn0uY2liLW92ZXJjYXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYjE0XCJ9LmNpYi1vdmVybGVhZjpiZWZvcmV7Y29udGVudDpcIlxcZWIxNVwifS5jaWItb3ZoOmJlZm9yZXtjb250ZW50OlwiXFxlYjE2XCJ9LmNpYi1wYWdla2l0OmJlZm9yZXtjb250ZW50OlwiXFxlYjE3XCJ9LmNpYi1wYWxhbnRpcjpiZWZvcmV7Y29udGVudDpcIlxcZWIxOFwifS5jaWItcGFuZG9yYTpiZWZvcmV7Y29udGVudDpcIlxcZWIxOVwifS5jaWItcGFudGhlb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViMWFcIn0uY2liLXBhdHJlb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViMWJcIn0uY2liLXBheXBhbDpiZWZvcmV7Y29udGVudDpcIlxcZWIxY1wifS5jaWItcGVyaXNjb3BlOmJlZm9yZXtjb250ZW50OlwiXFxlYjFkXCJ9LmNpYi1waHA6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMWVcIn0uY2liLXBpY2FydG8tdHY6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMWZcIn0uY2liLXBpbmJvYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYjIwXCJ9LmNpYi1waW5nZG9tOmJlZm9yZXtjb250ZW50OlwiXFxlYjIxXCJ9LmNpYi1waW5ndXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMjJcIn0uY2liLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OlwiXFxlYjIzXCJ9LmNpYi1waW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMjRcIn0uY2liLXBpdm90YWx0cmFja2VyOmJlZm9yZXtjb250ZW50OlwiXFxlYjI1XCJ9LmNpYi1wbGFuZ3JpZDpiZWZvcmV7Y29udGVudDpcIlxcZWIyNlwifS5jaWItcGxheWVyLW1lOmJlZm9yZXtjb250ZW50OlwiXFxlYjI3XCJ9LmNpYi1wbGF5ZXJmbTpiZWZvcmV7Y29udGVudDpcIlxcZWIyOFwifS5jaWItcGxheXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViMjlcIn0uY2liLXBsYXlzdGF0aW9uMzpiZWZvcmV7Y29udGVudDpcIlxcZWIyYVwifS5jaWItcGxheXN0YXRpb240OmJlZm9yZXtjb250ZW50OlwiXFxlYjJiXCJ9LmNpYi1wbGVzazpiZWZvcmV7Y29udGVudDpcIlxcZWIyY1wifS5jaWItcGxleDpiZWZvcmV7Y29udGVudDpcIlxcZWIyZFwifS5jaWItcGx1cmFsc2lnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMmVcIn0uY2liLXBsdXJrOmJlZm9yZXtjb250ZW50OlwiXFxlYjJmXCJ9LmNpYi1wb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzBcIn0uY2liLXBvc3RncmVzcWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzFcIn0uY2liLXBvc3RtYW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzJcIn0uY2liLXBvc3R3b21hbjpiZWZvcmV7Y29udGVudDpcIlxcZWIzM1wifS5jaWItcG93ZXJzaGVsbDpiZWZvcmV7Y29udGVudDpcIlxcZWIzNFwifS5jaWItcHJldHRpZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzVcIn0uY2liLXByaXNtaWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzZcIn0uY2liLXByb2JvdDpiZWZvcmV7Y29udGVudDpcIlxcZWIzN1wifS5jaWItcHJvY2Vzc3dpcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzhcIn0uY2liLXByb2R1Y3QtaHVudDpiZWZvcmV7Y29udGVudDpcIlxcZWIzOVwifS5jaWItcHJvdG8taW86YmVmb3Jle2NvbnRlbnQ6XCJcXGViM2FcIn0uY2liLXByb3Rvbm1haWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViM2JcIn0uY2liLXByb3htb3g6YmVmb3Jle2NvbnRlbnQ6XCJcXGViM2NcIn0uY2liLXB5cGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViM2RcIn0uY2liLXB5dGhvbjpiZWZvcmV7Y29udGVudDpcIlxcZWIzZVwifS5jaWItcHl0b3JjaDpiZWZvcmV7Y29udGVudDpcIlxcZWIzZlwifS5jaWItcWdpczpiZWZvcmV7Y29udGVudDpcIlxcZWI0MFwifS5jaWItcWlpdGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDFcIn0uY2liLXFxOmJlZm9yZXtjb250ZW50OlwiXFxlYjQyXCJ9LmNpYi1xdWFsY29tbTpiZWZvcmV7Y29udGVudDpcIlxcZWI0M1wifS5jaWItcXVhbnRjYXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYjQ0XCJ9LmNpYi1xdWFudG9waWFuOmJlZm9yZXtjb250ZW50OlwiXFxlYjQ1XCJ9LmNpYi1xdWFya3VzOmJlZm9yZXtjb250ZW50OlwiXFxlYjQ2XCJ9LmNpYi1xdW9yYTpiZWZvcmV7Y29udGVudDpcIlxcZWI0N1wifS5jaWItcXdpa2xhYnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDhcIn0uY2liLXF6b25lOmJlZm9yZXtjb250ZW50OlwiXFxlYjQ5XCJ9LmNpYi1yOmJlZm9yZXtjb250ZW50OlwiXFxlYjRhXCJ9LmNpYi1yYWRpb3B1YmxpYzpiZWZvcmV7Y29udGVudDpcIlxcZWI0YlwifS5jaWItcmFpbHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGNcIn0uY2liLXJhc3BiZXJyeS1waTpiZWZvcmV7Y29udGVudDpcIlxcZWI0ZFwifS5jaWItcmVhY3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGVcIn0uY2liLXJlYWQtdGhlLWRvY3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGZcIn0uY2liLXJlYWRtZTpiZWZvcmV7Y29udGVudDpcIlxcZWI1MFwifS5jaWItcmVhbG06YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTFcIn0uY2liLXJlYXNvbjpiZWZvcmV7Y29udGVudDpcIlxcZWI1MlwifS5jaWItcmVkYnViYmxlOmJlZm9yZXtjb250ZW50OlwiXFxlYjUzXCJ9LmNpYi1yZWRkaXQtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYjU0XCJ9LmNpYi1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTVcIn0uY2liLXJlZGhhdDpiZWZvcmV7Y29udGVudDpcIlxcZWI1NlwifS5jaWItcmVkaXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTdcIn0uY2liLXJlZHV4OmJlZm9yZXtjb250ZW50OlwiXFxlYjU4XCJ9LmNpYi1yZW5yZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTlcIn0uY2liLXJldmVyYm5hdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZWI1YVwifS5jaWItcmlvdDpiZWZvcmV7Y29udGVudDpcIlxcZWI1YlwifS5jaWItcmlwcGxlOmJlZm9yZXtjb250ZW50OlwiXFxlYjVjXCJ9LmNpYi1yaXNldXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWRcIn0uY2liLXJvbGx1cC1qczpiZWZvcmV7Y29udGVudDpcIlxcZWI1ZVwifS5jaWItcm9vdHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWZcIn0uY2liLXJvdW5kY3ViZTpiZWZvcmV7Y29udGVudDpcIlxcZWI2MFwifS5jaWItcnNzOmJlZm9yZXtjb250ZW50OlwiXFxlYjYxXCJ9LmNpYi1yc3R1ZGlvOmJlZm9yZXtjb250ZW50OlwiXFxlYjYyXCJ9LmNpYi1ydWJ5OmJlZm9yZXtjb250ZW50OlwiXFxlYjYzXCJ9LmNpYi1ydWJ5Z2VtczpiZWZvcmV7Y29udGVudDpcIlxcZWI2NFwifS5jaWItcnVua2VlcGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYjY1XCJ9LmNpYi1ydXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYjY2XCJ9LmNpYi1zYWZhcmk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjdcIn0uY2liLXNhaGliaW5kZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjhcIn0uY2liLXNhbGVzZm9yY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjlcIn0uY2liLXNhbHRzdGFjazpiZWZvcmV7Y29udGVudDpcIlxcZWI2YVwifS5jaWItc2Ftc3VuZy1wYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNmJcIn0uY2liLXNhbXN1bmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNmNcIn0uY2liLXNhcDpiZWZvcmV7Y29udGVudDpcIlxcZWI2ZFwifS5jaWItc2Fzcy1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNmVcIn0uY2liLXNhc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNmZcIn0uY2liLXNhdWNlbGFiczpiZWZvcmV7Y29udGVudDpcIlxcZWI3MFwifS5jaWItc2NhbGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzFcIn0uY2liLXNjYWxld2F5OmJlZm9yZXtjb250ZW50OlwiXFxlYjcyXCJ9LmNpYi1zY3JpYmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzNcIn0uY2liLXNjcnV0aW5pemVyY2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzRcIn0uY2liLXNlYWdhdGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzVcIn0uY2liLXNlZ2E6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzZcIn0uY2liLXNlbGxmeTpiZWZvcmV7Y29udGVudDpcIlxcZWI3N1wifS5jaWItc2VtYXBob3JlY2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzhcIn0uY2liLXNlbnN1OmJlZm9yZXtjb250ZW50OlwiXFxlYjc5XCJ9LmNpYi1zZW50cnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViN2FcIn0uY2liLXNlcnZlci1mYXVsdDpiZWZvcmV7Y29udGVudDpcIlxcZWI3YlwifS5jaWItc2hhemFtOmJlZm9yZXtjb250ZW50OlwiXFxlYjdjXCJ9LmNpYi1zaGVsbDpiZWZvcmV7Y29udGVudDpcIlxcZWI3ZFwifS5jaWItc2hvcGlmeTpiZWZvcmV7Y29udGVudDpcIlxcZWI3ZVwifS5jaWItc2hvd3BhZDpiZWZvcmV7Y29udGVudDpcIlxcZWI3ZlwifS5jaWItc2llbWVuczpiZWZvcmV7Y29udGVudDpcIlxcZWI4MFwifS5jaWItc2lnbmFsOmJlZm9yZXtjb250ZW50OlwiXFxlYjgxXCJ9LmNpYi1zaW5hLXdlaWJvOmJlZm9yZXtjb250ZW50OlwiXFxlYjgyXCJ9LmNpYi1zaXRlcG9pbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViODNcIn0uY2liLXNrZXRjaDpiZWZvcmV7Y29udGVudDpcIlxcZWI4NFwifS5jaWItc2tpbGxzaGFyZTpiZWZvcmV7Y29udGVudDpcIlxcZWI4NVwifS5jaWItc2t5bGluZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViODZcIn0uY2liLXNreXBlOmJlZm9yZXtjb250ZW50OlwiXFxlYjg3XCJ9LmNpYi1zbGFjazpiZWZvcmV7Y29udGVudDpcIlxcZWI4OFwifS5jaWItc2xhc2hkb3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGViODlcIn0uY2liLXNsaWNrcGljOmJlZm9yZXtjb250ZW50OlwiXFxlYjhhXCJ9LmNpYi1zbGlkZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGJcIn0uY2liLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGNcIn0uY2liLXNtYXNoaW5nbWFnYXppbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGRcIn0uY2liLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OlwiXFxlYjhlXCJ9LmNpYi1zbmFwY3JhZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGZcIn0uY2liLXNueWs6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTBcIn0uY2liLXNvY2lldHk2OmJlZm9yZXtjb250ZW50OlwiXFxlYjkxXCJ9LmNpYi1zb2NrZXQtaW86YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTJcIn0uY2liLXNvZ291OmJlZm9yZXtjb250ZW50OlwiXFxlYjkzXCJ9LmNpYi1zb2x1czpiZWZvcmV7Y29udGVudDpcIlxcZWI5NFwifS5jaWItc29uZ2tpY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTVcIn0uY2liLXNvbm9zOmJlZm9yZXtjb250ZW50OlwiXFxlYjk2XCJ9LmNpYi1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OlwiXFxlYjk3XCJ9LmNpYi1zb3VyY2Vmb3JnZTpiZWZvcmV7Y29udGVudDpcIlxcZWI5OFwifS5jaWItc291cmNlZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTlcIn0uY2liLXNwYWNlbWFjczpiZWZvcmV7Y29udGVudDpcIlxcZWI5YVwifS5jaWItc3BhY2V4OmJlZm9yZXtjb250ZW50OlwiXFxlYjliXCJ9LmNpYi1zcGFya2Z1bjpiZWZvcmV7Y29udGVudDpcIlxcZWI5Y1wifS5jaWItc3Bhcmtwb3N0OmJlZm9yZXtjb250ZW50OlwiXFxlYjlkXCJ9LmNpYi1zcGR4OmJlZm9yZXtjb250ZW50OlwiXFxlYjllXCJ9LmNpYi1zcGVha2VyLWRlY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOWZcIn0uY2liLXNwZWN0cnVtOmJlZm9yZXtjb250ZW50OlwiXFxlYmEwXCJ9LmNpYi1zcG90aWZ5OmJlZm9yZXtjb250ZW50OlwiXFxlYmExXCJ9LmNpYi1zcG90bGlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTJcIn0uY2liLXNwcmVha2VyOmJlZm9yZXtjb250ZW50OlwiXFxlYmEzXCJ9LmNpYi1zcHJpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTRcIn0uY2liLXNwcmludDpiZWZvcmV7Y29udGVudDpcIlxcZWJhNVwifS5jaWItc3F1YXJlc3BhY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTZcIn0uY2liLXN0YWNrYml0OmJlZm9yZXtjb250ZW50OlwiXFxlYmE3XCJ9LmNpYi1zdGFja2V4Y2hhbmdlOmJlZm9yZXtjb250ZW50OlwiXFxlYmE4XCJ9LmNpYi1zdGFja292ZXJmbG93OmJlZm9yZXtjb250ZW50OlwiXFxlYmE5XCJ9LmNpYi1zdGFja3BhdGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYWFcIn0uY2liLXN0YWNrc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYWJcIn0uY2liLXN0YWRpYTpiZWZvcmV7Y29udGVudDpcIlxcZWJhY1wifS5jaWItc3RhdGFtaWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYWRcIn0uY2liLXN0YXRpY21hbjpiZWZvcmV7Y29udGVudDpcIlxcZWJhZVwifS5jaWItc3RhdHVzcGFnZTpiZWZvcmV7Y29udGVudDpcIlxcZWJhZlwifS5jaWItc3RlYW06YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjBcIn0uY2liLXN0ZWVtOmJlZm9yZXtjb250ZW50OlwiXFxlYmIxXCJ9LmNpYi1zdGVlbWl0OmJlZm9yZXtjb250ZW50OlwiXFxlYmIyXCJ9LmNpYi1zdGl0Y2hlcjpiZWZvcmV7Y29udGVudDpcIlxcZWJiM1wifS5jaWItc3RvcmlmeTpiZWZvcmV7Y29udGVudDpcIlxcZWJiNFwifS5jaWItc3Rvcnlib29rOmJlZm9yZXtjb250ZW50OlwiXFxlYmI1XCJ9LmNpYi1zdHJhcGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjZcIn0uY2liLXN0cmF2YTpiZWZvcmV7Y29udGVudDpcIlxcZWJiN1wifS5jaWItc3RyaXBlLXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjhcIn0uY2liLXN0cmlwZTpiZWZvcmV7Y29udGVudDpcIlxcZWJiOVwifS5jaWItc3R1Ymh1YjpiZWZvcmV7Y29udGVudDpcIlxcZWJiYVwifS5jaWItc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViYmJcIn0uY2liLXN0eWxlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYmNcIn0uY2liLXN0eWx1czpiZWZvcmV7Y29udGVudDpcIlxcZWJiZFwifS5jaWItc3VibGltZS10ZXh0OmJlZm9yZXtjb250ZW50OlwiXFxlYmJlXCJ9LmNpYi1zdWJ2ZXJzaW9uOmJlZm9yZXtjb250ZW50OlwiXFxlYmJmXCJ9LmNpYi1zdXBlcnVzZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYzBcIn0uY2liLXN2ZWx0ZTpiZWZvcmV7Y29udGVudDpcIlxcZWJjMVwifS5jaWItc3ZnOmJlZm9yZXtjb250ZW50OlwiXFxlYmMyXCJ9LmNpYi1zd2FnZ2VyOmJlZm9yZXtjb250ZW50OlwiXFxlYmMzXCJ9LmNpYi1zd2FybTpiZWZvcmV7Y29udGVudDpcIlxcZWJjNFwifS5jaWItc3dpZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYzVcIn0uY2liLXN5bWFudGVjOmJlZm9yZXtjb250ZW50OlwiXFxlYmM2XCJ9LmNpYi1zeW1mb255OmJlZm9yZXtjb250ZW50OlwiXFxlYmM3XCJ9LmNpYi1zeW5vbG9neTpiZWZvcmV7Y29udGVudDpcIlxcZWJjOFwifS5jaWItdC1tb2JpbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYzlcIn0uY2liLXRhYmxlYXU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViY2FcIn0uY2liLXRhaWxzOmJlZm9yZXtjb250ZW50OlwiXFxlYmNiXCJ9LmNpYi10YXBhczpiZWZvcmV7Y29udGVudDpcIlxcZWJjY1wifS5jaWItdGVhbXZpZXdlcjpiZWZvcmV7Y29udGVudDpcIlxcZWJjZFwifS5jaWItdGVkOmJlZm9yZXtjb250ZW50OlwiXFxlYmNlXCJ9LmNpYi10ZWVzcHJpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGViY2ZcIn0uY2liLXRlbGVncmFtLXBsYW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYmQwXCJ9LmNpYi10ZWxlZ3JhbTpiZWZvcmV7Y29udGVudDpcIlxcZWJkMVwifS5jaWItdGVuY2VudC1xcTpiZWZvcmV7Y29udGVudDpcIlxcZWJkMlwifS5jaWItdGVuY2VudC13ZWlibzpiZWZvcmV7Y29udGVudDpcIlxcZWJkM1wifS5jaWItdGVuc29yZmxvdzpiZWZvcmV7Y29udGVudDpcIlxcZWJkNFwifS5jaWItdGVycmFmb3JtOmJlZm9yZXtjb250ZW50OlwiXFxlYmQ1XCJ9LmNpYi10ZXNsYTpiZWZvcmV7Y29udGVudDpcIlxcZWJkNlwifS5jaWItdGhlLW1pZ2h0eTpiZWZvcmV7Y29udGVudDpcIlxcZWJkN1wifS5jaWItdGhlLW1vdmllLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OlwiXFxlYmQ4XCJ9LmNpYi10aWRhbDpiZWZvcmV7Y29udGVudDpcIlxcZWJkOVwifS5jaWItdGlrdG9rOmJlZm9yZXtjb250ZW50OlwiXFxlYmRhXCJ9LmNpYi10aW5kZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZGJcIn0uY2liLXRvZG9pc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZGNcIn0uY2liLXRvZ2dsOmJlZm9yZXtjb250ZW50OlwiXFxlYmRkXCJ9LmNpYi10b3Bjb2RlcjpiZWZvcmV7Y29udGVudDpcIlxcZWJkZVwifS5jaWItdG9wdGFsOmJlZm9yZXtjb250ZW50OlwiXFxlYmRmXCJ9LmNpYi10b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTBcIn0uY2liLXRvc2hpYmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTFcIn0uY2liLXRyYWluZXJyb2FkOmJlZm9yZXtjb250ZW50OlwiXFxlYmUyXCJ9LmNpYi10cmFrdDpiZWZvcmV7Y29udGVudDpcIlxcZWJlM1wifS5jaWItdHJhdmlzY2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTRcIn0uY2liLXRyZWVob3VzZTpiZWZvcmV7Y29udGVudDpcIlxcZWJlNVwifS5jaWItdHJlbGxvOmJlZm9yZXtjb250ZW50OlwiXFxlYmU2XCJ9LmNpYi10cmlwYWR2aXNvcjpiZWZvcmV7Y29udGVudDpcIlxcZWJlN1wifS5jaWItdHJ1bGlhOmJlZm9yZXtjb250ZW50OlwiXFxlYmU4XCJ9LmNpYi10dW1ibHI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTlcIn0uY2liLXR3aWxpbzpiZWZvcmV7Y29udGVudDpcIlxcZWJlYVwifS5jaWItdHdpdGNoOmJlZm9yZXtjb250ZW50OlwiXFxlYmViXCJ9LmNpYi10d2l0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYmVjXCJ9LmNpYi10d29vOmJlZm9yZXtjb250ZW50OlwiXFxlYmVkXCJ9LmNpYi10eXBlc2NyaXB0OmJlZm9yZXtjb250ZW50OlwiXFxlYmVlXCJ9LmNpYi10eXBvMzpiZWZvcmV7Y29udGVudDpcIlxcZWJlZlwifS5jaWItdWJlcjpiZWZvcmV7Y29udGVudDpcIlxcZWJmMFwifS5jaWItdWJpc29mdDpiZWZvcmV7Y29udGVudDpcIlxcZWJmMVwifS5jaWItdWJsb2NrLW9yaWdpbjpiZWZvcmV7Y29udGVudDpcIlxcZWJmMlwifS5jaWItdWJ1bnR1OmJlZm9yZXtjb250ZW50OlwiXFxlYmYzXCJ9LmNpYi11ZGFjaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYmY0XCJ9LmNpYi11ZGVteTpiZWZvcmV7Y29udGVudDpcIlxcZWJmNVwifS5jaWItdWlraXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZjZcIn0uY2liLXVtYnJhY286YmVmb3Jle2NvbnRlbnQ6XCJcXGViZjdcIn0uY2liLXVuaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYmY4XCJ9LmNpYi11bnJlYWwtZW5naW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYmY5XCJ9LmNpYi11bnNwbGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZWJmYVwifS5jaWItdW50YXBwZDpiZWZvcmV7Y29udGVudDpcIlxcZWJmYlwifS5jaWItdXB3b3JrOmJlZm9yZXtjb250ZW50OlwiXFxlYmZjXCJ9LmNpYi11c2I6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZmRcIn0uY2liLXY4OmJlZm9yZXtjb250ZW50OlwiXFxlYmZlXCJ9LmNpYi12YWdyYW50OmJlZm9yZXtjb250ZW50OlwiXFxlYmZmXCJ9LmNpYi12ZW5tbzpiZWZvcmV7Y29udGVudDpcIlxcZWMwMFwifS5jaWItdmVyaXpvbjpiZWZvcmV7Y29udGVudDpcIlxcZWMwMVwifS5jaWItdmlhZGVvOmJlZm9yZXtjb250ZW50OlwiXFxlYzAyXCJ9LmNpYi12aWJlcjpiZWZvcmV7Y29udGVudDpcIlxcZWMwM1wifS5jaWItdmltOmJlZm9yZXtjb250ZW50OlwiXFxlYzA0XCJ9LmNpYi12aW1lby12OmJlZm9yZXtjb250ZW50OlwiXFxlYzA1XCJ9LmNpYi12aW1lbzpiZWZvcmV7Y29udGVudDpcIlxcZWMwNlwifS5jaWItdmluZTpiZWZvcmV7Y29udGVudDpcIlxcZWMwN1wifS5jaWItdmlyYjpiZWZvcmV7Y29udGVudDpcIlxcZWMwOFwifS5jaWItdmlzYTpiZWZvcmV7Y29udGVudDpcIlxcZWMwOVwifS5jaWItdmlzdWFsLXN0dWRpby1jb2RlOmJlZm9yZXtjb250ZW50OlwiXFxlYzBhXCJ9LmNpYi12aXN1YWwtc3R1ZGlvOmJlZm9yZXtjb250ZW50OlwiXFxlYzBiXCJ9LmNpYi12azpiZWZvcmV7Y29udGVudDpcIlxcZWMwY1wifS5jaWItdmxjOmJlZm9yZXtjb250ZW50OlwiXFxlYzBkXCJ9LmNpYi12c2NvOmJlZm9yZXtjb250ZW50OlwiXFxlYzBlXCJ9LmNpYi12dWUtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMGZcIn0uY2liLXdhdHRwYWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTBcIn0uY2liLXdlYXN5bDpiZWZvcmV7Y29udGVudDpcIlxcZWMxMVwifS5jaWItd2ViY29tcG9uZW50cy1vcmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTJcIn0uY2liLXdlYnBhY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTNcIn0uY2liLXdlYnN0b3JtOmJlZm9yZXtjb250ZW50OlwiXFxlYzE0XCJ9LmNpYi13ZWNoYXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTVcIn0uY2liLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OlwiXFxlYzE2XCJ9LmNpYi13aGVuLWktd29yazpiZWZvcmV7Y29udGVudDpcIlxcZWMxN1wifS5jaWItd2lpOmJlZm9yZXtjb250ZW50OlwiXFxlYzE4XCJ9LmNpYi13aWl1OmJlZm9yZXtjb250ZW50OlwiXFxlYzE5XCJ9LmNpYi13aWtpcGVkaWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWFcIn0uY2liLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWJcIn0uY2liLXdpcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWNcIn0uY2liLXdpcmVndWFyZDpiZWZvcmV7Y29udGVudDpcIlxcZWMxZFwifS5jaWItd2l4OmJlZm9yZXtjb250ZW50OlwiXFxlYzFlXCJ9LmNpYi13b2xmcmFtLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OlwiXFxlYzFmXCJ9LmNpYi13b2xmcmFtLW1hdGhlbWF0aWNhOmJlZm9yZXtjb250ZW50OlwiXFxlYzIwXCJ9LmNpYi13b2xmcmFtOmJlZm9yZXtjb250ZW50OlwiXFxlYzIxXCJ9LmNpYi13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjJcIn0uY2liLXdwZW5naW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYzIzXCJ9LmNpYi14LXBhY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjRcIn0uY2liLXhib3g6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjVcIn0uY2liLXhjb2RlOmJlZm9yZXtjb250ZW50OlwiXFxlYzI2XCJ9LmNpYi14ZXJvOmJlZm9yZXtjb250ZW50OlwiXFxlYzI3XCJ9LmNpYi14aWFvbWk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjhcIn0uY2liLXhpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjlcIn0uY2liLXhycDpiZWZvcmV7Y29udGVudDpcIlxcZWMyYVwifS5jaWIteHNwbGl0OmJlZm9yZXtjb250ZW50OlwiXFxlYzJiXCJ9LmNpYi15LWNvbWJpbmF0b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMmNcIn0uY2liLXlhaG9vOmJlZm9yZXtjb250ZW50OlwiXFxlYzJkXCJ9LmNpYi15YW1tZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMmVcIn0uY2liLXlhbmRleDpiZWZvcmV7Y29udGVudDpcIlxcZWMyZlwifS5jaWIteWFybjpiZWZvcmV7Y29udGVudDpcIlxcZWMzMFwifS5jaWIteWVscDpiZWZvcmV7Y29udGVudDpcIlxcZWMzMVwifS5jaWIteW91dHViZTpiZWZvcmV7Y29udGVudDpcIlxcZWMzMlwifS5jaWItemFsYW5kbzpiZWZvcmV7Y29udGVudDpcIlxcZWMzM1wifS5jaWItemFwaWVyOmJlZm9yZXtjb250ZW50OlwiXFxlYzM0XCJ9LmNpYi16ZWl0OmJlZm9yZXtjb250ZW50OlwiXFxlYzM1XCJ9LmNpYi16ZW5kZXNrOmJlZm9yZXtjb250ZW50OlwiXFxlYzM2XCJ9LmNpYi16ZXJwbHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMzdcIn0uY2liLXppbGxvdzpiZWZvcmV7Y29udGVudDpcIlxcZWMzOFwifS5jaWItemluZ2F0OmJlZm9yZXtjb250ZW50OlwiXFxlYzM5XCJ9LmNpYi16b29tOmJlZm9yZXtjb250ZW50OlwiXFxlYzNhXCJ9LmNpYi16b3JpbjpiZWZvcmV7Y29udGVudDpcIlxcZWMzYlwifS5jaWItenVsaXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjM2NcIn1cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJyYW5kLm1pbi5jc3MubWFwICovIiwiLyohXG4gKiBDb3JlVUkgSWNvbnMgLSBCcmFuZCBJY29uc1xuICogQHZlcnNpb24gdjEuMC4xXG4gKiBAbGluayBodHRwczovL2NvcmV1aS5pby9pY29ucy9icmFuZC9cbiAqIENvcHlyaWdodCAoYykgMjAyMCBjcmVhdGl2ZUxhYnMgxYF1a2FzeiBIb2xlY3pla1xuICogTGljZW5zZWQgdW5kZXIgQ0MwIDEuMCBVbml2ZXJzYWxcbiAqL1xuXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiY29yZVwiO1xuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUJyYW5kJztcbiAgc3JjOiAgdXJsKCcjeyRjb3JldWktaWNvbnMtZm9udC1wYXRofS9Db3JlVUktSWNvbnMtQnJhbmQuZW90PzY0aDZ4aCcpO1xuICBzcmM6ICB1cmwoJyN7JGNvcmV1aS1pY29ucy1mb250LXBhdGh9L0NvcmVVSS1JY29ucy1CcmFuZC5lb3Q/NjRoNnhoI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skY29yZXVpLWljb25zLWZvbnQtcGF0aH0vQ29yZVVJLUljb25zLUJyYW5kLnR0Zj82NGg2eGgnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRjb3JldWktaWNvbnMtZm9udC1wYXRofS9Db3JlVUktSWNvbnMtQnJhbmQud29mZj82NGg2eGgnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGNvcmV1aS1pY29ucy1mb250LXBhdGh9L0NvcmVVSS1JY29ucy1CcmFuZC5zdmc/NjRoNnhoI0NvcmVVSS1JY29ucy1MaW5lYXInKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCIjeyRjb3JldWktaWNvbnMtcHJlZml4fVwiXSwgW2NsYXNzKj1cIiAjeyRjb3JldWktaWNvbnMtcHJlZml4fVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUJyYW5kJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQGVhY2ggJGljb24sICR1bmljb2RlIGluICRpY29ucyB7XG4gIC4jeyRjb3JldWktaWNvbnMtcHJlZml4fSN7JGljb259IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1bmljb2RlKCR1bmljb2RlKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogQ29yZVVJIEljb25zIC0gQnJhbmQgSWNvbnNcbiAqIEB2ZXJzaW9uIHYxLjAuMVxuICogQGxpbmsgaHR0cHM6Ly9jb3JldWkuaW8vaWNvbnMvYnJhbmQvXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgY3JlYXRpdmVMYWJzIMWBdWthc3ogSG9sZWN6ZWtcbiAqIExpY2Vuc2VkIHVuZGVyIENDMCAxLjAgVW5pdmVyc2FsXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NvcmVVSS1JY29ucy1CcmFuZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUJyYW5kLmVvdD82NGg2eGhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUJyYW5kLmVvdD82NGg2eGgjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0NvcmVVSS1JY29ucy1CcmFuZC50dGY/NjRoNnhoXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9Db3JlVUktSWNvbnMtQnJhbmQud29mZj82NGg2eGhcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUJyYW5kLnN2Zz82NGg2eGgjQ29yZVVJLUljb25zLUxpbmVhclwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImNpYi1cIl0sIFtjbGFzcyo9XCIgY2liLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUJyYW5kJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5jaWItNTAwcHgtNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuXG4uY2liLTUwMHB4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5jaWItYWJvdXQtbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cblxuLmNpYi1hYnN0cmFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuXG4uY2liLWFjbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuXG4uY2liLWFkZHRoaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cblxuLmNpYi1hZGd1YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG5cbi5jaWItYWRvYmUtYWNyb2JhdC1yZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmNpYi1hZG9iZS1hZnRlcmUtZmZlY3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG5cbi5jaWItYWRvYmUtYXVkaXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cblxuLmNpYi1hZG9iZS1jcmVhdGl2ZS1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYVwiO1xufVxuXG4uY2liLWFkb2JlLWRyZWFtd2VhdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG5cbi5jaWItYWRvYmUtaWxsdXN0cmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGNcIjtcbn1cblxuLmNpYi1hZG9iZS1pbmRlc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuXG4uY2liLWFkb2JlLWxpZ2h0cm9vbS1jbGFzc2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG5cbi5jaWItYWRvYmUtbGlnaHRyb29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG5cbi5jaWItYWRvYmUtcGhvdG9zaG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG59XG5cbi5jaWItYWRvYmUtcHJlbWllcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cblxuLmNpYi1hZG9iZS10eXBla2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XG59XG5cbi5jaWItYWRvYmUteGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cblxuLmNpYi1hZG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuXG4uY2liLWFpcmJuYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuXG4uY2liLWFsZ29saWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTZcIjtcbn1cblxuLmNpYi1hbGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTdcIjtcbn1cblxuLmNpYi1hbGxvY2luZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuXG4uY2liLWFtYXpvbi1hd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTlcIjtcbn1cblxuLmNpYi1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG59XG5cbi5jaWItYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFiXCI7XG59XG5cbi5jaWItYW1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFjXCI7XG59XG5cbi5jaWItYW1lcmljYW4tZXhwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZFwiO1xufVxuXG4uY2liLWFuYWNvbmRhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XG59XG5cbi5jaWItYW5hbG9ndWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWZcIjtcbn1cblxuLmNpYi1hbmRyb2lkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMFwiO1xufVxuXG4uY2liLWFuZHJvaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjFcIjtcbn1cblxuLmNpYi1hbmdlbGxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjJcIjtcbn1cblxuLmNpYi1hbmd1bGFyLXVuaXZlcnNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuXG4uY2liLWFuZ3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cblxuLmNpYi1hbnNpYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI1XCI7XG59XG5cbi5jaWItYXBhY2hlLWFpcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjZcIjtcbn1cblxuLmNpYi1hcGFjaGUtZmxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjtcbn1cblxuLmNpYi1hcGFjaGUtc3Bhcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cblxuLmNpYi1hcGFjaGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cblxuLmNpYi1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG5cbi5jaWItYXBwLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG5cbi5jaWItYXBwbGUtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmNcIjtcbn1cblxuLmNpYi1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmRcIjtcbn1cblxuLmNpYi1hcHBsZS1wb2RjYXN0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuXG4uY2liLWFwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJmXCI7XG59XG5cbi5jaWItYXBwdmV5b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzBcIjtcbn1cblxuLmNpYi1hcmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG59XG5cbi5jaWItYXJjaC1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMlwiO1xufVxuXG4uY2liLWFyY2hpdmUtb2Ytb3VyLW93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzM1wiO1xufVxuXG4uY2liLWFyZHVpbm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzRcIjtcbn1cblxuLmNpYi1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG59XG5cbi5jaWItYXJ4aXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cblxuLmNpYi1hc2FuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzN1wiO1xufVxuXG4uY2liLWF0LWFuZC10OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG59XG5cbi5jaWItYXRsYXNzaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM5XCI7XG59XG5cbi5jaWItYXRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuXG4uY2liLWF1ZGlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2JcIjtcbn1cblxuLmNpYi1hdXJlbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNjXCI7XG59XG5cbi5jaWItYXV0aDA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2RcIjtcbn1cblxuLmNpYi1hdXRvbWF0aWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2VcIjtcbn1cblxuLmNpYi1hdXRvdGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZlwiO1xufVxuXG4uY2liLWF2ZW50cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG59XG5cbi5jaWItYXp1cmUtYXJ0aWZhY3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG59XG5cbi5jaWItYXp1cmUtZGV2b3BzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQyXCI7XG59XG5cbi5jaWItYXp1cmUtcGlwZWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQzXCI7XG59XG5cbi5jaWItYmFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDRcIjtcbn1cblxuLmNpYi1iYWlkdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NVwiO1xufVxuXG4uY2liLWJhbWJvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NlwiO1xufVxuXG4uY2liLWJhbmNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDdcIjtcbn1cblxuLmNpYi1iYW5kY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0OFwiO1xufVxuXG4uY2liLWJhc2VjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG5cbi5jaWItYmF0aGFzdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YVwiO1xufVxuXG4uY2liLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGJcIjtcbn1cblxuLmNpYi1iaWctY2FydGVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG59XG5cbi5jaWItYmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZFwiO1xufVxuXG4uY2liLWJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZVwiO1xufVxuXG4uY2liLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZlwiO1xufVxuXG4uY2liLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTBcIjtcbn1cblxuLmNpYi1iaXRkZWZlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1MVwiO1xufVxuXG4uY2liLWJpdGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG5cbi5jaWItYmxhY2tiZXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1M1wiO1xufVxuXG4uY2liLWJsZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTRcIjtcbn1cblxuLmNpYi1ibG9nZ2VyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTVcIjtcbn1cblxuLmNpYi1ibG9nZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG5cbi5jaWItYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTdcIjtcbn1cblxuLmNpYi1ibHVldG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NThcIjtcbn1cblxuLmNpYi1ib2Vpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTlcIjtcbn1cblxuLmNpYi1ib29zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1YVwiO1xufVxuXG4uY2liLWJvb3RzdHJhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1YlwiO1xufVxuXG4uY2liLWJvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG59XG5cbi5jaWItYnJhbmQtYWk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NWRcIjtcbn1cblxuLmNpYi1icmF2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZVwiO1xufVxuXG4uY2liLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZlwiO1xufVxuXG4uY2liLWJ1ZGR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYwXCI7XG59XG5cbi5jaWItYnVmZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYxXCI7XG59XG5cbi5jaWItYnV5LW1lLWEtY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYyXCI7XG59XG5cbi5jaWItYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2M1wiO1xufVxuXG4uY2liLWJ1enpmZWVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY0XCI7XG59XG5cbi5jaWItYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2NVwiO1xufVxuXG4uY2liLWNha2VwaHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjZcIjtcbn1cblxuLmNpYi1jYW1wYWlnbi1tb25pdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY3XCI7XG59XG5cbi5jaWItY2FudmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjhcIjtcbn1cblxuLmNpYi1jYXNoYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY5XCI7XG59XG5cbi5jaWItY2Fzc2FuZHJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTZhXCI7XG59XG5cbi5jaWItY2FzdHJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTZiXCI7XG59XG5cbi5jaWItY2MtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2Y1wiO1xufVxuXG4uY2liLWNjLWFtZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmRcIjtcbn1cblxuLmNpYi1jYy1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmVcIjtcbn1cblxuLmNpYi1jYy1kaW5lcnMtY2x1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2ZlwiO1xufVxuXG4uY2liLWNjLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTcwXCI7XG59XG5cbi5jaWItY2MtamNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTcxXCI7XG59XG5cbi5jaWItY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3MlwiO1xufVxuXG4uY2liLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3M1wiO1xufVxuXG4uY2liLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3NFwiO1xufVxuXG4uY2liLWNjLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzVcIjtcbn1cblxuLmNpYi1jZW50b3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzZcIjtcbn1cblxuLmNpYi1jZXZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc3XCI7XG59XG5cbi5jaWItY2hhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzhcIjtcbn1cblxuLmNpYi1jaGVmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc5XCI7XG59XG5cbi5jaWItY2hyb21lY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3YVwiO1xufVxuXG4uY2liLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3YlwiO1xufVxuXG4uY2liLWNpcmNsZWNpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdjXCI7XG59XG5cbi5jaWItY2lycnVzY2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2RcIjtcbn1cblxuLmNpYi1jaXNjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3ZVwiO1xufVxuXG4uY2liLWNpdmljcm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2ZcIjtcbn1cblxuLmNpYi1jbG9ja2lmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4MFwiO1xufVxuXG4uY2liLWNsb2p1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODFcIjtcbn1cblxuLmNpYi1jbG91ZGJlZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODJcIjtcbn1cblxuLmNpYi1jbG91ZGZsYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTgzXCI7XG59XG5cbi5jaWItY21ha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODRcIjtcbn1cblxuLmNpYi1jby1vcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4NVwiO1xufVxuXG4uY2liLWNvZGFjeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4NlwiO1xufVxuXG4uY2liLWNvZGUtY2xpbWF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4N1wiO1xufVxuXG4uY2liLWNvZGVjYWRlbXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODhcIjtcbn1cblxuLmNpYi1jb2RlY292OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg5XCI7XG59XG5cbi5jaWItY29kZWlnbml0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGFcIjtcbn1cblxuLmNpYi1jb2RlcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThiXCI7XG59XG5cbi5jaWItY29kZXJ3YWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThjXCI7XG59XG5cbi5jaWItY29kZXNhbmRib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGRcIjtcbn1cblxuLmNpYi1jb2Rlc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4ZVwiO1xufVxuXG4uY2liLWNvZGV3YXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThmXCI7XG59XG5cbi5jaWItY29kaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTBcIjtcbn1cblxuLmNpYi1jb2ZmZWVzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTFcIjtcbn1cblxuLmNpYi1jb21tb24td29ya2Zsb3ctbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTJcIjtcbn1cblxuLmNpYi1jb21wb3NlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5M1wiO1xufVxuXG4uY2liLWNvbmRhLWZvcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk0XCI7XG59XG5cbi5jaWItY29uZWt0YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5NVwiO1xufVxuXG4uY2liLWNvbmZsdWVuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTZcIjtcbn1cblxuLmNpYi1jb3JldWktYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5N1wiO1xufVxuXG4uY2liLWNvcmV1aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5OFwiO1xufVxuXG4uY2liLWNvdXJzZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk5XCI7XG59XG5cbi5jaWItY292ZXJhbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTlhXCI7XG59XG5cbi5jaWItY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTliXCI7XG59XG5cbi5jaWItY3BsdXNwbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTljXCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5ZFwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OWVcIjtcbn1cblxuLmNpYi1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTlmXCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhMFwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTFcIjtcbn1cblxuLmNpYi1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhMlwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTNcIjtcbn1cblxuLmNpYi1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE0XCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhNVwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhNlwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTdcIjtcbn1cblxuLmNpYi1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE4XCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE5XCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhYVwiO1xufVxuXG4uY2liLWNydW5jaGJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YWJcIjtcbn1cblxuLmNpYi1jcnVuY2h5cm9sbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhY1wiO1xufVxuXG4uY2liLWNzczMtc2hpbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWFkXCI7XG59XG5cbi5jaWItY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhZVwiO1xufVxuXG4uY2liLWNzc3dpemFyZHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWFmXCI7XG59XG5cbi5jaWItZDMtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjBcIjtcbn1cblxuLmNpYi1kYWlseW1vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliMVwiO1xufVxuXG4uY2liLWRhc2hsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWIyXCI7XG59XG5cbi5jaWItZGF6bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliM1wiO1xufVxuXG4uY2liLWRibHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjRcIjtcbn1cblxuLmNpYi1kZWJpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjVcIjtcbn1cblxuLmNpYi1kZWVwaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjZcIjtcbn1cblxuLmNpYi1kZWV6ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjdcIjtcbn1cblxuLmNpYi1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjhcIjtcbn1cblxuLmNpYi1kZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWI5XCI7XG59XG5cbi5jaWItZGVubzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliYVwiO1xufVxuXG4uY2liLWRlcGVuZGFib3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YmJcIjtcbn1cblxuLmNpYi1kZXNpZ25lci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWJjXCI7XG59XG5cbi5jaWItZGV2LXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWJkXCI7XG59XG5cbi5jaWItZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliZVwiO1xufVxuXG4uY2liLWRldnJhbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YmZcIjtcbn1cblxuLmNpYi1kaWFzcG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljMFwiO1xufVxuXG4uY2liLWRpZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YzFcIjtcbn1cblxuLmNpYi1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWMyXCI7XG59XG5cbi5jaWItZGlzY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljM1wiO1xufVxuXG4uY2liLWRpc2NvdXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljNFwiO1xufVxuXG4uY2liLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWM1XCI7XG59XG5cbi5jaWItZGlzcXVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWM2XCI7XG59XG5cbi5jaWItZGlzcm9vdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljN1wiO1xufVxuXG4uY2liLWRqYW5nbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljOFwiO1xufVxuXG4uY2liLWRvY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljOVwiO1xufVxuXG4uY2liLWRvY3VzaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWNhXCI7XG59XG5cbi5jaWItZG90LW5ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljYlwiO1xufVxuXG4uY2liLWRyYXVnaWVtLWx2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWNjXCI7XG59XG5cbi5jaWItZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5Y2RcIjtcbn1cblxuLmNpYi1kcm9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljZVwiO1xufVxuXG4uY2liLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5Y2ZcIjtcbn1cblxuLmNpYi1kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDBcIjtcbn1cblxuLmNpYi1kdHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkMVwiO1xufVxuXG4uY2liLWR1Y2tkdWNrZ286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDJcIjtcbn1cblxuLmNpYi1keW5hdHJhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDNcIjtcbn1cblxuLmNpYi1lYmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWQ0XCI7XG59XG5cbi5jaWItZWNsaXBzZWlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkNVwiO1xufVxuXG4uY2liLWVsYXN0aWMtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDZcIjtcbn1cblxuLmNpYi1lbGFzdGljLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkN1wiO1xufVxuXG4uY2liLWVsYXN0aWMtc3RhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDhcIjtcbn1cblxuLmNpYi1lbGFzdGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWQ5XCI7XG59XG5cbi5jaWItZWxlY3Ryb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZGFcIjtcbn1cblxuLmNpYi1lbGVtZW50YXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWRiXCI7XG59XG5cbi5jaWItZWxldmVudHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZGNcIjtcbn1cblxuLmNpYi1lbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWRkXCI7XG59XG5cbi5jaWItZWxzZXZpZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZGVcIjtcbn1cblxuLmNpYi1lbWxha2pldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkZlwiO1xufVxuXG4uY2liLWVtcGlyZWtyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTBcIjtcbn1cblxuLmNpYi1lbnZhdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTFcIjtcbn1cblxuLmNpYi1lcGljLWdhbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWUyXCI7XG59XG5cbi5jaWItZXBzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTNcIjtcbn1cblxuLmNpYi1lc2VhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWU0XCI7XG59XG5cbi5jaWItZXNsaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWU1XCI7XG59XG5cbi5jaWItZXRoZXJldW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTZcIjtcbn1cblxuLmNpYi1ldHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWU3XCI7XG59XG5cbi5jaWItZXZlbnQtc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZThcIjtcbn1cblxuLmNpYi1ldmVudGJyaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWU5XCI7XG59XG5cbi5jaWItZXZlcm5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZWFcIjtcbn1cblxuLmNpYi1ldmVycGxhY2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWViXCI7XG59XG5cbi5jaWItZXZyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllY1wiO1xufVxuXG4uY2liLWV4ZXJjaXNtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWVkXCI7XG59XG5cbi5jaWItZXhwZXJ0cy1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllZVwiO1xufVxuXG4uY2liLWV4cG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZWZcIjtcbn1cblxuLmNpYi1leWVlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmMFwiO1xufVxuXG4uY2liLWYtc2VjdXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWYxXCI7XG59XG5cbi5jaWItZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmMlwiO1xufVxuXG4uY2liLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWYzXCI7XG59XG5cbi5jaWItZmFjZWl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWY0XCI7XG59XG5cbi5jaWItZmFuZGFuZ286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjVcIjtcbn1cblxuLmNpYi1mYXZybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmNlwiO1xufVxuXG4uY2liLWZlYXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjdcIjtcbn1cblxuLmNpYi1mZWRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmOFwiO1xufVxuXG4uY2liLWZlZG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmOVwiO1xufVxuXG4uY2liLWZlZWRseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmYVwiO1xufVxuXG4uY2liLWZpZG8tYWxsaWFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZmJcIjtcbn1cblxuLmNpYi1maWdtYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmY1wiO1xufVxuXG4uY2liLWZpbGV6aWxsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmZFwiO1xufVxuXG4uY2liLWZpcmViYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWZlXCI7XG59XG5cbi5jaWItZml0Yml0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWZmXCI7XG59XG5cbi5jaWItZmxhc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDBcIjtcbn1cblxuLmNpYi1mbGF0dHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDFcIjtcbn1cblxuLmNpYi1mbGlja3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDJcIjtcbn1cblxuLmNpYi1mbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDNcIjtcbn1cblxuLmNpYi1mbHV0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA0XCI7XG59XG5cbi5jaWItZm5hYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwNVwiO1xufVxuXG4uY2liLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDZcIjtcbn1cblxuLmNpYi1mcmFtZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDdcIjtcbn1cblxuLmNpYi1mcmVlYnNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA4XCI7XG59XG5cbi5jaWItZnJlZWNvZGVjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA5XCI7XG59XG5cbi5jaWItZnVyLWFmZmluaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTBhXCI7XG59XG5cbi5jaWItZnVycnktbmV0d29yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwYlwiO1xufVxuXG4uY2liLWdhcm1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwY1wiO1xufVxuXG4uY2liLWdhdHNieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwZFwiO1xufVxuXG4uY2liLWdhdWdlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwZVwiO1xufVxuXG4uY2liLWdlbml1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwZlwiO1xufVxuXG4uY2liLWdlbnRvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExMFwiO1xufVxuXG4uY2liLWdlb2NhY2hpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMTFcIjtcbn1cblxuLmNpYi1nZXJyaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMTJcIjtcbn1cblxuLmNpYi1nZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExM1wiO1xufVxuXG4uY2liLWdob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE0XCI7XG59XG5cbi5jaWItZ2ltcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExNVwiO1xufVxuXG4uY2liLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExNlwiO1xufVxuXG4uY2liLWdpdGVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE3XCI7XG59XG5cbi5jaWItZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE4XCI7XG59XG5cbi5jaWItZ2l0a3Jha2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE5XCI7XG59XG5cbi5jaWItZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFhXCI7XG59XG5cbi5jaWItZ2l0cG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFiXCI7XG59XG5cbi5jaWItZ2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFjXCI7XG59XG5cbi5jaWItZ2xhc3Nkb29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFkXCI7XG59XG5cbi5jaWItZ2xpdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFlXCI7XG59XG5cbi5jaWItZ21haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMWZcIjtcbn1cblxuLmNpYi1nbnUtcHJpdmFjeS1ndWFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyMFwiO1xufVxuXG4uY2liLWdudS1zb2NpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjFcIjtcbn1cblxuLmNpYi1nbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjJcIjtcbn1cblxuLmNpYi1nbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyM1wiO1xufVxuXG4uY2liLWdvZG90LWVuZ2luZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyNFwiO1xufVxuXG4uY2liLWdvZy1jb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjVcIjtcbn1cblxuLmNpYi1nb2xkZW5saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI2XCI7XG59XG5cbi5jaWItZ29vZHJlYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI3XCI7XG59XG5cbi5jaWItZ29vZ2xlLWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyOFwiO1xufVxuXG4uY2liLWdvb2dsZS1hbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI5XCI7XG59XG5cbi5jaWItZ29vZ2xlLWFuYWx5dGljczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyYVwiO1xufVxuXG4uY2liLWdvb2dsZS1jaHJvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMmJcIjtcbn1cblxuLmNpYi1nb29nbGUtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMmNcIjtcbn1cblxuLmNpYi1nb29nbGUta2VlcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZFwiO1xufVxuXG4uY2liLWdvb2dsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMmVcIjtcbn1cblxuLmNpYi1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZlwiO1xufVxuXG4uY2liLWdvb2dsZS1wb2RjYXN0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzMFwiO1xufVxuXG4uY2liLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzMVwiO1xufVxuXG4uY2liLWdvb2dsZXMtY2hvbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMyXCI7XG59XG5cbi5jaWItZ292LXVrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMzXCI7XG59XG5cbi5jaWItZ3JhZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTM0XCI7XG59XG5cbi5jaWItZ3JhZmFuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzNVwiO1xufVxuXG4uY2liLWdyYXBoY29vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzNlwiO1xufVxuXG4uY2liLWdyYXBocWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzdcIjtcbn1cblxuLmNpYi1ncmF2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTM4XCI7XG59XG5cbi5jaWItZ3JhdmF0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzlcIjtcbn1cblxuLmNpYi1ncmVlbmtlZXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzYVwiO1xufVxuXG4uY2liLWdyZWVuc29jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzYlwiO1xufVxuXG4uY2liLWdyb292eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzY1wiO1xufVxuXG4uY2liLWdyb3Vwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2RcIjtcbn1cblxuLmNpYi1ncnVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzZVwiO1xufVxuXG4uY2liLWd1bHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2ZcIjtcbn1cblxuLmNpYi1ndW1yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQwXCI7XG59XG5cbi5jaWItZ3VtdHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0MVwiO1xufVxuXG4uY2liLWhhYnI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNDJcIjtcbn1cblxuLmNpYi1oYWNrYWRheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0M1wiO1xufVxuXG4uY2liLWhhY2tlcmVhcnRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQ0XCI7XG59XG5cbi5jaWItaGFja2Vyb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQ1XCI7XG59XG5cbi5jaWItaGFja2VycmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0NlwiO1xufVxuXG4uY2liLWhhY2toYW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0N1wiO1xufVxuXG4uY2liLWhhY2tzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQ4XCI7XG59XG5cbi5jaWItaGFwcHljb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNDlcIjtcbn1cblxuLmNpYi1oYXNobm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0YVwiO1xufVxuXG4uY2liLWhhc2tlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNGJcIjtcbn1cblxuLmNpYi1oYXRlbmEtYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNGNcIjtcbn1cblxuLmNpYi1oYXhlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTRkXCI7XG59XG5cbi5jaWItaGVsbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0ZVwiO1xufVxuXG4uY2liLWhlcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNGZcIjtcbn1cblxuLmNpYi1oZXJva3U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTBcIjtcbn1cblxuLmNpYi1oZXhvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTUxXCI7XG59XG5cbi5jaWItaGlnaGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTUyXCI7XG59XG5cbi5jaWItaGlwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1M1wiO1xufVxuXG4uY2liLWhpdGFjaGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTRcIjtcbn1cblxuLmNpYi1ob2NrZXlhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTVcIjtcbn1cblxuLmNpYi1ob21pZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTZcIjtcbn1cblxuLmNpYi1ob290c3VpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTdcIjtcbn1cblxuLmNpYi1ob3RqYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNThcIjtcbn1cblxuLmNpYi1ob3V6ejpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1OVwiO1xufVxuXG4uY2liLWhwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTVhXCI7XG59XG5cbi5jaWItaHRtbDUtc2hpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTViXCI7XG59XG5cbi5jaWItaHRtbDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNWNcIjtcbn1cblxuLmNpYi1odG1sYWNhZGVteTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1ZFwiO1xufVxuXG4uY2liLWh1YXdlaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1ZVwiO1xufVxuXG4uY2liLWh1YnNwb3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNWZcIjtcbn1cblxuLmNpYi1odWx1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTYwXCI7XG59XG5cbi5jaWItaHVtYmxlLWJ1bmRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE2MVwiO1xufVxuXG4uY2liLWlhdGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjJcIjtcbn1cblxuLmNpYi1pYm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjNcIjtcbn1cblxuLmNpYi1pY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjRcIjtcbn1cblxuLmNpYi1pY29uamFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTY1XCI7XG59XG5cbi5jaWItaWNxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTY2XCI7XG59XG5cbi5jaWItaWRlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjdcIjtcbn1cblxuLmNpYi1pZml4aXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjhcIjtcbn1cblxuLmNpYi1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTY5XCI7XG59XG5cbi5jaWItaW5kZWVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTZhXCI7XG59XG5cbi5jaWItaW5rc2NhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmJcIjtcbn1cblxuLmNpYi1pbnN0YWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmNcIjtcbn1cblxuLmNpYi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmRcIjtcbn1cblxuLmNpYi1pbnN0YXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTZlXCI7XG59XG5cbi5jaWItaW50ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmZcIjtcbn1cblxuLmNpYi1pbnRlbGxpamlkZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzBcIjtcbn1cblxuLmNpYi1pbnRlcmNvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3MVwiO1xufVxuXG4uY2liLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTcyXCI7XG59XG5cbi5jaWItaW52aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzNcIjtcbn1cblxuLmNpYi1pb25pYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3NFwiO1xufVxuXG4uY2liLWlzc3V1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTc1XCI7XG59XG5cbi5jaWItaXRjaC1pbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3NlwiO1xufVxuXG4uY2liLWphYmJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3N1wiO1xufVxuXG4uY2liLWphdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzhcIjtcbn1cblxuLmNpYi1qYXZhc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTc5XCI7XG59XG5cbi5jaWItamVreWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTdhXCI7XG59XG5cbi5jaWItamVua2luczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3YlwiO1xufVxuXG4uY2liLWplc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhN2NcIjtcbn1cblxuLmNpYi1qZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhN2RcIjtcbn1cblxuLmNpYi1qZXRicmFpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhN2VcIjtcbn1cblxuLmNpYi1qaXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTdmXCI7XG59XG5cbi5jaWItam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgwXCI7XG59XG5cbi5jaWItanF1ZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgxXCI7XG59XG5cbi5jaWItanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODJcIjtcbn1cblxuLmNpYi1qc2RlbGl2cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4M1wiO1xufVxuXG4uY2liLWpzZmlkZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTg0XCI7XG59XG5cbi5jaWItanNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4NVwiO1xufVxuXG4uY2liLWp1cHl0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODZcIjtcbn1cblxuLmNpYi1qdXN0Z2l2aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTg3XCI7XG59XG5cbi5jaWIta2FnZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTg4XCI7XG59XG5cbi5jaWIta2Fpb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODlcIjtcbn1cblxuLmNpYi1rYXNwZXJza3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOGFcIjtcbn1cblxuLmNpYi1rZW50aWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThiXCI7XG59XG5cbi5jaWIta2VyYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOGNcIjtcbn1cblxuLmNpYi1rZXliYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThkXCI7XG59XG5cbi5jaWIta2V5Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThlXCI7XG59XG5cbi5jaWIta2hhbi1hY2FkZW15OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThmXCI7XG59XG5cbi5jaWIta2liYW5hOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTkwXCI7XG59XG5cbi5jaWIta2lja3N0YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTFcIjtcbn1cblxuLmNpYi1raWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTJcIjtcbn1cblxuLmNpYi1raXJieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5M1wiO1xufVxuXG4uY2liLWtsb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTk0XCI7XG59XG5cbi5jaWIta25vd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTVcIjtcbn1cblxuLmNpYi1rby1maTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NlwiO1xufVxuXG4uY2liLWtvZGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTdcIjtcbn1cblxuLmNpYi1rb2Rpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOThcIjtcbn1cblxuLmNpYi1rb3RsaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTlcIjtcbn1cblxuLmNpYi1rcml0YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5YVwiO1xufVxuXG4uY2liLWt1YmVybmV0ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWJcIjtcbn1cblxuLmNpYi1sYW55cmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWNcIjtcbn1cblxuLmNpYi1sYXJhdmVsLWhvcml6b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWRcIjtcbn1cblxuLmNpYi1sYXJhdmVsLW5vdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWVcIjtcbn1cblxuLmNpYi1sYXJhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTlmXCI7XG59XG5cbi5jaWItbGFzdC1mbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhMFwiO1xufVxuXG4uY2liLWxhdGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWExXCI7XG59XG5cbi5jaWItbGF1bmNocGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWEyXCI7XG59XG5cbi5jaWItbGVldGNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTNcIjtcbn1cblxuLmNpYi1sZW5vdm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTRcIjtcbn1cblxuLmNpYi1sZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWE1XCI7XG59XG5cbi5jaWItbGV0cy1lbmNyeXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWE2XCI7XG59XG5cbi5jaWItbGV0dGVyYm94ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhN1wiO1xufVxuXG4uY2liLWxndG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYThcIjtcbn1cblxuLmNpYi1saWJlcmFwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTlcIjtcbn1cblxuLmNpYi1saWJyYXJ5dGhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYWFcIjtcbn1cblxuLmNpYi1saWJyZW9mZmljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhYlwiO1xufVxuXG4uY2liLWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYWNcIjtcbn1cblxuLmNpYi1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhZFwiO1xufVxuXG4uY2liLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWFlXCI7XG59XG5cbi5jaWItbGludXgtZm91bmRhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhZlwiO1xufVxuXG4uY2liLWxpbnV4LW1pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjBcIjtcbn1cblxuLmNpYi1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiMVwiO1xufVxuXG4uY2liLWxpdmVqb3VybmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWIyXCI7XG59XG5cbi5jaWItbGl2ZXN0cmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiM1wiO1xufVxuXG4uY2liLWxvZ3N0YXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI0XCI7XG59XG5cbi5jaWItbHVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI1XCI7XG59XG5cbi5jaWItbHVtZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjZcIjtcbn1cblxuLmNpYi1seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI3XCI7XG59XG5cbi5jaWItbWFjeXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjhcIjtcbn1cblxuLmNpYi1tYWdlbnRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI5XCI7XG59XG5cbi5jaWItbWFnaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWJhXCI7XG59XG5cbi5jaWItbWFpbC1ydTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiYlwiO1xufVxuXG4uY2liLW1haWxjaGltcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiY1wiO1xufVxuXG4uY2liLW1ha2VyYm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWJkXCI7XG59XG5cbi5jaWItbWFuamFybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiZVwiO1xufVxuXG4uY2liLW1hcmtkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWJmXCI7XG59XG5cbi5jaWItbWFya2V0bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjMFwiO1xufVxuXG4uY2liLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzFcIjtcbn1cblxuLmNpYi1tYXN0b2RvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjMlwiO1xufVxuXG4uY2liLW1hdGVyaWFsLWRlc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjM1wiO1xufVxuXG4uY2liLW1hdGh3b3JrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjNFwiO1xufVxuXG4uY2liLW1hdHJpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjNVwiO1xufVxuXG4uY2liLW1hdHRlcm1vc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzZcIjtcbn1cblxuLmNpYi1tYXR0ZXJuZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzdcIjtcbn1cblxuLmNpYi1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzhcIjtcbn1cblxuLmNpYi1tY2FmZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzlcIjtcbn1cblxuLmNpYi1tZWRpYS10ZW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2FcIjtcbn1cblxuLmNpYi1tZWRpYWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2JcIjtcbn1cblxuLmNpYi1tZWRpdW0tbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjY1wiO1xufVxuXG4uY2liLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjZFwiO1xufVxuXG4uY2liLW1lZXR1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjZVwiO1xufVxuXG4uY2liLW1lZ2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2ZcIjtcbn1cblxuLmNpYi1tZW5kZWxleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkMFwiO1xufVxuXG4uY2liLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkMVwiO1xufVxuXG4uY2liLW1ldGVvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkMlwiO1xufVxuXG4uY2liLW1pY3JvLWJsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDNcIjtcbn1cblxuLmNpYi1taWNyb2dlbmV0aWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWQ0XCI7XG59XG5cbi5jaWItbWljcm9zb2Z0LWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDVcIjtcbn1cblxuLmNpYi1taWNyb3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDZcIjtcbn1cblxuLmNpYi1taW5ldGVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkN1wiO1xufVxuXG4uY2liLW1pbnV0ZW1haWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkOFwiO1xufVxuXG4uY2liLW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkOVwiO1xufVxuXG4uY2liLW1peGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRhXCI7XG59XG5cbi5jaWItbWl4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZGJcIjtcbn1cblxuLmNpYi1tb2phbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZGNcIjtcbn1cblxuLmNpYi1tb25lcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZGRcIjtcbn1cblxuLmNpYi1tb25nb2RiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRlXCI7XG59XG5cbi5jaWItbW9ua2V5dGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRmXCI7XG59XG5cbi5jaWItbW9ub2dyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZTBcIjtcbn1cblxuLmNpYi1tb256bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlMVwiO1xufVxuXG4uY2liLW1vbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlMlwiO1xufVxuXG4uY2liLW1vemlsbGEtZmlyZWZveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlM1wiO1xufVxuXG4uY2liLW1vemlsbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZTRcIjtcbn1cblxuLmNpYi1tdXNlc2NvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZTVcIjtcbn1cblxuLmNpYi1teGxpbnV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWU2XCI7XG59XG5cbi5jaWItbXlzcGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlN1wiO1xufVxuXG4uY2liLW15c3FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWU4XCI7XG59XG5cbi5jaWItbmF0aXZlc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWU5XCI7XG59XG5cbi5jaWItbmVjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWVhXCI7XG59XG5cbi5jaWItbmVvNGo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZWJcIjtcbn1cblxuLmNpYi1uZXRmbGl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWVjXCI7XG59XG5cbi5jaWItbmV0bGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlZFwiO1xufVxuXG4uY2liLW5leHQtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZWVcIjtcbn1cblxuLmNpYi1uZXh0Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZWZcIjtcbn1cblxuLmNpYi1uZXh0ZG9vcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmMFwiO1xufVxuXG4uY2liLW5naW54OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWYxXCI7XG59XG5cbi5jaWItbmltOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWYyXCI7XG59XG5cbi5jaWItbmludGVuZG8tM2RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWYzXCI7XG59XG5cbi5jaWItbmludGVuZG8tZ2FtZWN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjRcIjtcbn1cblxuLmNpYi1uaW50ZW5kby1zd2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjVcIjtcbn1cblxuLmNpYi1uaW50ZW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmNlwiO1xufVxuXG4uY2liLW5vZGUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjdcIjtcbn1cblxuLmNpYi1ub2RlLXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmOFwiO1xufVxuXG4uY2liLW5vZGVtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjlcIjtcbn1cblxuLmNpYi1ub2tpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmYVwiO1xufVxuXG4uY2liLW5vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmYlwiO1xufVxuXG4uY2liLW5wbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmY1wiO1xufVxuXG4uY2liLW51Y2xlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmZFwiO1xufVxuXG4uY2liLW51Z2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWZlXCI7XG59XG5cbi5jaWItbnV4dC1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmZlwiO1xufVxuXG4uY2liLW52aWRpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwMFwiO1xufVxuXG4uY2liLW9jYW1sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjAxXCI7XG59XG5cbi5jaWItb2N0YXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjAyXCI7XG59XG5cbi5jaWItb2N0b3B1cy1kZXBsb3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMDNcIjtcbn1cblxuLmNpYi1vY3VsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMDRcIjtcbn1cblxuLmNpYi1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjA1XCI7XG59XG5cbi5jaWItb3Blbi1hY2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMDZcIjtcbn1cblxuLmNpYi1vcGVuLWNvbGxlY3RpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMDdcIjtcbn1cblxuLmNpYi1vcGVuLWlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjA4XCI7XG59XG5cbi5jaWItb3Blbi1zb3VyY2UtaW5pdGlhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwOVwiO1xufVxuXG4uY2liLW9wZW5zdHJlZXRtYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMGFcIjtcbn1cblxuLmNpYi1vcGVuc3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwYlwiO1xufVxuXG4uY2liLW9wZW52cG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMGNcIjtcbn1cblxuLmNpYi1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwZFwiO1xufVxuXG4uY2liLW9wc2dlbmllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjBlXCI7XG59XG5cbi5jaWItb3JhY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjBmXCI7XG59XG5cbi5jaWItb3JjaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTBcIjtcbn1cblxuLmNpYi1vcmlnaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTFcIjtcbn1cblxuLmNpYi1vc2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTJcIjtcbn1cblxuLmNpYi1vc21jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjEzXCI7XG59XG5cbi5jaWItb3ZlcmNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTRcIjtcbn1cblxuLmNpYi1vdmVybGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxNVwiO1xufVxuXG4uY2liLW92aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxNlwiO1xufVxuXG4uY2liLXBhZ2VraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTdcIjtcbn1cblxuLmNpYi1wYWxhbnRpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxOFwiO1xufVxuXG4uY2liLXBhbmRvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTlcIjtcbn1cblxuLmNpYi1wYW50aGVvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxYVwiO1xufVxuXG4uY2liLXBhdHJlb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWJcIjtcbn1cblxuLmNpYi1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWNcIjtcbn1cblxuLmNpYi1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWRcIjtcbn1cblxuLmNpYi1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWVcIjtcbn1cblxuLmNpYi1waWNhcnRvLXR2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjFmXCI7XG59XG5cbi5jaWItcGluYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjBcIjtcbn1cblxuLmNpYi1waW5nZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjIxXCI7XG59XG5cbi5jaWItcGluZ3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjIyXCI7XG59XG5cbi5jaWItcGludGVyZXN0LXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjNcIjtcbn1cblxuLmNpYi1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjRcIjtcbn1cblxuLmNpYi1waXZvdGFsdHJhY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyNVwiO1xufVxuXG4uY2liLXBsYW5ncmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjI2XCI7XG59XG5cbi5jaWItcGxheWVyLW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjI3XCI7XG59XG5cbi5jaWItcGxheWVyZm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjhcIjtcbn1cblxuLmNpYi1wbGF5c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyOVwiO1xufVxuXG4uY2liLXBsYXlzdGF0aW9uMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyYVwiO1xufVxuXG4uY2liLXBsYXlzdGF0aW9uNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyYlwiO1xufVxuXG4uY2liLXBsZXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjJjXCI7XG59XG5cbi5jaWItcGxleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyZFwiO1xufVxuXG4uY2liLXBsdXJhbHNpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjJlXCI7XG59XG5cbi5jaWItcGx1cms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMmZcIjtcbn1cblxuLmNpYi1wb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMzBcIjtcbn1cblxuLmNpYi1wb3N0Z3Jlc3FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjMxXCI7XG59XG5cbi5jaWItcG9zdG1hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzMlwiO1xufVxuXG4uY2liLXBvc3R3b21hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzM1wiO1xufVxuXG4uY2liLXBvd2Vyc2hlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMzRcIjtcbn1cblxuLmNpYi1wcmV0dGllcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzNVwiO1xufVxuXG4uY2liLXByaXNtaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMzZcIjtcbn1cblxuLmNpYi1wcm9ib3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMzdcIjtcbn1cblxuLmNpYi1wcm9jZXNzd2lyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzOFwiO1xufVxuXG4uY2liLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzOVwiO1xufVxuXG4uY2liLXByb3RvLWlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNhXCI7XG59XG5cbi5jaWItcHJvdG9ubWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzYlwiO1xufVxuXG4uY2liLXByb3htb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViM2NcIjtcbn1cblxuLmNpYi1weXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNkXCI7XG59XG5cbi5jaWItcHl0aG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNlXCI7XG59XG5cbi5jaWItcHl0b3JjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzZlwiO1xufVxuXG4uY2liLXFnaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDBcIjtcbn1cblxuLmNpYi1xaWl0YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0MVwiO1xufVxuXG4uY2liLXFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjQyXCI7XG59XG5cbi5jaWItcXVhbGNvbW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDNcIjtcbn1cblxuLmNpYi1xdWFudGNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDRcIjtcbn1cblxuLmNpYi1xdWFudG9waWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjQ1XCI7XG59XG5cbi5jaWItcXVhcmt1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0NlwiO1xufVxuXG4uY2liLXF1b3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjQ3XCI7XG59XG5cbi5jaWItcXdpa2xhYnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDhcIjtcbn1cblxuLmNpYi1xem9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0OVwiO1xufVxuXG4uY2liLXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNGFcIjtcbn1cblxuLmNpYi1yYWRpb3B1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0YlwiO1xufVxuXG4uY2liLXJhaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRjXCI7XG59XG5cbi5jaWItcmFzcGJlcnJ5LXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRkXCI7XG59XG5cbi5jaWItcmVhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNGVcIjtcbn1cblxuLmNpYi1yZWFkLXRoZS1kb2NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRmXCI7XG59XG5cbi5jaWItcmVhZG1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjUwXCI7XG59XG5cbi5jaWItcmVhbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTFcIjtcbn1cblxuLmNpYi1yZWFzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTJcIjtcbn1cblxuLmNpYi1yZWRidWJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTNcIjtcbn1cblxuLmNpYi1yZWRkaXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU0XCI7XG59XG5cbi5jaWItcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU1XCI7XG59XG5cbi5jaWItcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU2XCI7XG59XG5cbi5jaWItcmVkaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTdcIjtcbn1cblxuLmNpYi1yZWR1eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1OFwiO1xufVxuXG4uY2liLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1OVwiO1xufVxuXG4uY2liLXJldmVyYm5hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1YVwiO1xufVxuXG4uY2liLXJpb3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWJcIjtcbn1cblxuLmNpYi1yaXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWNcIjtcbn1cblxuLmNpYi1yaXNldXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWRcIjtcbn1cblxuLmNpYi1yb2xsdXAtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWVcIjtcbn1cblxuLmNpYi1yb290czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1ZlwiO1xufVxuXG4uY2liLXJvdW5kY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2MFwiO1xufVxuXG4uY2liLXJzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2MVwiO1xufVxuXG4uY2liLXJzdHVkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjJcIjtcbn1cblxuLmNpYi1ydWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjYzXCI7XG59XG5cbi5jaWItcnVieWdlbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjRcIjtcbn1cblxuLmNpYi1ydW5rZWVwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjVcIjtcbn1cblxuLmNpYi1ydXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjY2XCI7XG59XG5cbi5jaWItc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjY3XCI7XG59XG5cbi5jaWItc2FoaWJpbmRlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2OFwiO1xufVxuXG4uY2liLXNhbGVzZm9yY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjlcIjtcbn1cblxuLmNpYi1zYWx0c3RhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmFcIjtcbn1cblxuLmNpYi1zYW1zdW5nLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2YlwiO1xufVxuXG4uY2liLXNhbXN1bmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmNcIjtcbn1cblxuLmNpYi1zYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmRcIjtcbn1cblxuLmNpYi1zYXNzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2ZVwiO1xufVxuXG4uY2liLXNhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmZcIjtcbn1cblxuLmNpYi1zYXVjZWxhYnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNzBcIjtcbn1cblxuLmNpYi1zY2FsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3MVwiO1xufVxuXG4uY2liLXNjYWxld2F5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjcyXCI7XG59XG5cbi5jaWItc2NyaWJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjczXCI7XG59XG5cbi5jaWItc2NydXRpbml6ZXJjaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3NFwiO1xufVxuXG4uY2liLXNlYWdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNzVcIjtcbn1cblxuLmNpYi1zZWdhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjc2XCI7XG59XG5cbi5jaWItc2VsbGZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjc3XCI7XG59XG5cbi5jaWItc2VtYXBob3JlY2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNzhcIjtcbn1cblxuLmNpYi1zZW5zdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3OVwiO1xufVxuXG4uY2liLXNlbnRyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3YVwiO1xufVxuXG4uY2liLXNlcnZlci1mYXVsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3YlwiO1xufVxuXG4uY2liLXNoYXphbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3Y1wiO1xufVxuXG4uY2liLXNoZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjdkXCI7XG59XG5cbi5jaWItc2hvcGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3ZVwiO1xufVxuXG4uY2liLXNob3dwYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViN2ZcIjtcbn1cblxuLmNpYi1zaWVtZW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjgwXCI7XG59XG5cbi5jaWItc2lnbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjgxXCI7XG59XG5cbi5jaWItc2luYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4MlwiO1xufVxuXG4uY2liLXNpdGVwb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4M1wiO1xufVxuXG4uY2liLXNrZXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4NFwiO1xufVxuXG4uY2liLXNraWxsc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViODVcIjtcbn1cblxuLmNpYi1za3lsaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4NlwiO1xufVxuXG4uY2liLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjg3XCI7XG59XG5cbi5jaWItc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViODhcIjtcbn1cblxuLmNpYi1zbGFzaGRvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4OVwiO1xufVxuXG4uY2liLXNsaWNrcGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjhhXCI7XG59XG5cbi5jaWItc2xpZGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjhiXCI7XG59XG5cbi5jaWItc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4Y1wiO1xufVxuXG4uY2liLXNtYXNoaW5nbWFnYXppbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOGRcIjtcbn1cblxuLmNpYi1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4ZVwiO1xufVxuXG4uY2liLXNuYXBjcmFmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4ZlwiO1xufVxuXG4uY2liLXNueWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOTBcIjtcbn1cblxuLmNpYi1zb2NpZXR5NjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5MVwiO1xufVxuXG4uY2liLXNvY2tldC1pbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5MlwiO1xufVxuXG4uY2liLXNvZ291OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjkzXCI7XG59XG5cbi5jaWItc29sdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOTRcIjtcbn1cblxuLmNpYi1zb25na2ljazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5NVwiO1xufVxuXG4uY2liLXNvbm9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjk2XCI7XG59XG5cbi5jaWItc291bmRjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5N1wiO1xufVxuXG4uY2liLXNvdXJjZWZvcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjk4XCI7XG59XG5cbi5jaWItc291cmNlZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOTlcIjtcbn1cblxuLmNpYi1zcGFjZW1hY3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOWFcIjtcbn1cblxuLmNpYi1zcGFjZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOWJcIjtcbn1cblxuLmNpYi1zcGFya2Z1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5Y1wiO1xufVxuXG4uY2liLXNwYXJrcG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5ZFwiO1xufVxuXG4uY2liLXNwZHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOWVcIjtcbn1cblxuLmNpYi1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOWZcIjtcbn1cblxuLmNpYi1zcGVjdHJ1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhMFwiO1xufVxuXG4uY2liLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYTFcIjtcbn1cblxuLmNpYi1zcG90bGlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYTJcIjtcbn1cblxuLmNpYi1zcHJlYWtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhM1wiO1xufVxuXG4uY2liLXNwcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhNFwiO1xufVxuXG4uY2liLXNwcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhNVwiO1xufVxuXG4uY2liLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmE2XCI7XG59XG5cbi5jaWItc3RhY2tiaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYTdcIjtcbn1cblxuLmNpYi1zdGFja2V4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmE4XCI7XG59XG5cbi5jaWItc3RhY2tvdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhOVwiO1xufVxuXG4uY2liLXN0YWNrcGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhYVwiO1xufVxuXG4uY2liLXN0YWNrc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYWJcIjtcbn1cblxuLmNpYi1zdGFkaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYWNcIjtcbn1cblxuLmNpYi1zdGF0YW1pYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhZFwiO1xufVxuXG4uY2liLXN0YXRpY21hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhZVwiO1xufVxuXG4uY2liLXN0YXR1c3BhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYWZcIjtcbn1cblxuLmNpYi1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiMFwiO1xufVxuXG4uY2liLXN0ZWVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmIxXCI7XG59XG5cbi5jaWItc3RlZW1pdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiMlwiO1xufVxuXG4uY2liLXN0aXRjaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmIzXCI7XG59XG5cbi5jaWItc3RvcmlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiNFwiO1xufVxuXG4uY2liLXN0b3J5Ym9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiNVwiO1xufVxuXG4uY2liLXN0cmFwaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiNlwiO1xufVxuXG4uY2liLXN0cmF2YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiN1wiO1xufVxuXG4uY2liLXN0cmlwZS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmI4XCI7XG59XG5cbi5jaWItc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmI5XCI7XG59XG5cbi5jaWItc3R1Ymh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiYVwiO1xufVxuXG4uY2liLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmJiXCI7XG59XG5cbi5jaWItc3R5bGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiY1wiO1xufVxuXG4uY2liLXN0eWx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiZFwiO1xufVxuXG4uY2liLXN1YmxpbWUtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiZVwiO1xufVxuXG4uY2liLXN1YnZlcnNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYmZcIjtcbn1cblxuLmNpYi1zdXBlcnVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzBcIjtcbn1cblxuLmNpYi1zdmVsdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzFcIjtcbn1cblxuLmNpYi1zdmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzJcIjtcbn1cblxuLmNpYi1zd2FnZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmMzXCI7XG59XG5cbi5jaWItc3dhcm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzRcIjtcbn1cblxuLmNpYi1zd2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjNVwiO1xufVxuXG4uY2liLXN5bWFudGVjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmM2XCI7XG59XG5cbi5jaWItc3ltZm9ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjN1wiO1xufVxuXG4uY2liLXN5bm9sb2d5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmM4XCI7XG59XG5cbi5jaWItdC1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzlcIjtcbn1cblxuLmNpYi10YWJsZWF1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmNhXCI7XG59XG5cbi5jaWItdGFpbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2JcIjtcbn1cblxuLmNpYi10YXBhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjY1wiO1xufVxuXG4uY2liLXRlYW12aWV3ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2RcIjtcbn1cblxuLmNpYi10ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2VcIjtcbn1cblxuLmNpYi10ZWVzcHJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2ZcIjtcbn1cblxuLmNpYi10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJkMFwiO1xufVxuXG4uY2liLXRlbGVncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQxXCI7XG59XG5cbi5jaWItdGVuY2VudC1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJkMlwiO1xufVxuXG4uY2liLXRlbmNlbnQtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZDNcIjtcbn1cblxuLmNpYi10ZW5zb3JmbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ0XCI7XG59XG5cbi5jaWItdGVycmFmb3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ1XCI7XG59XG5cbi5jaWItdGVzbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZDZcIjtcbn1cblxuLmNpYi10aGUtbWlnaHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ3XCI7XG59XG5cbi5jaWItdGhlLW1vdmllLWRhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ4XCI7XG59XG5cbi5jaWItdGlkYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZDlcIjtcbn1cblxuLmNpYi10aWt0b2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZGFcIjtcbn1cblxuLmNpYi10aW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZGJcIjtcbn1cblxuLmNpYi10b2RvaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmRjXCI7XG59XG5cbi5jaWItdG9nZ2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZGRcIjtcbn1cblxuLmNpYi10b3Bjb2RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJkZVwiO1xufVxuXG4uY2liLXRvcHRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJkZlwiO1xufVxuXG4uY2liLXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlMFwiO1xufVxuXG4uY2liLXRvc2hpYmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZTFcIjtcbn1cblxuLmNpYi10cmFpbmVycm9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlMlwiO1xufVxuXG4uY2liLXRyYWt0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmUzXCI7XG59XG5cbi5jaWItdHJhdmlzY2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZTRcIjtcbn1cblxuLmNpYi10cmVlaG91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZTVcIjtcbn1cblxuLmNpYi10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZTZcIjtcbn1cblxuLmNpYi10cmlwYWR2aXNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlN1wiO1xufVxuXG4uY2liLXRydWxpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlOFwiO1xufVxuXG4uY2liLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlOVwiO1xufVxuXG4uY2liLXR3aWxpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlYVwiO1xufVxuXG4uY2liLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlYlwiO1xufVxuXG4uY2liLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZWNcIjtcbn1cblxuLmNpYi10d29vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmVkXCI7XG59XG5cbi5jaWItdHlwZXNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlZVwiO1xufVxuXG4uY2liLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmVmXCI7XG59XG5cbi5jaWItdWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmMFwiO1xufVxuXG4uY2liLXViaXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjFcIjtcbn1cblxuLmNpYi11YmxvY2stb3JpZ2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmYyXCI7XG59XG5cbi5jaWItdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmYzXCI7XG59XG5cbi5jaWItdWRhY2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmNFwiO1xufVxuXG4uY2liLXVkZW15OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmY1XCI7XG59XG5cbi5jaWItdWlraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjZcIjtcbn1cblxuLmNpYi11bWJyYWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmY3XCI7XG59XG5cbi5jaWItdW5pdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjhcIjtcbn1cblxuLmNpYi11bnJlYWwtZW5naW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmY5XCI7XG59XG5cbi5jaWItdW5zcGxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZmFcIjtcbn1cblxuLmNpYi11bnRhcHBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZiXCI7XG59XG5cbi5jaWItdXB3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZjXCI7XG59XG5cbi5jaWItdXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZkXCI7XG59XG5cbi5jaWItdjg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZmVcIjtcbn1cblxuLmNpYi12YWdyYW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZmXCI7XG59XG5cbi5jaWItdmVubW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDBcIjtcbn1cblxuLmNpYi12ZXJpem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzAxXCI7XG59XG5cbi5jaWItdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzAyXCI7XG59XG5cbi5jaWItdmliZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDNcIjtcbn1cblxuLmNpYi12aW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDRcIjtcbn1cblxuLmNpYi12aW1lby12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzA1XCI7XG59XG5cbi5jaWItdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDZcIjtcbn1cblxuLmNpYi12aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzA3XCI7XG59XG5cbi5jaWItdmlyYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMwOFwiO1xufVxuXG4uY2liLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDlcIjtcbn1cblxuLmNpYi12aXN1YWwtc3R1ZGlvLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMGFcIjtcbn1cblxuLmNpYi12aXN1YWwtc3R1ZGlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzBiXCI7XG59XG5cbi5jaWItdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMGNcIjtcbn1cblxuLmNpYi12bGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMGRcIjtcbn1cblxuLmNpYi12c2NvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzBlXCI7XG59XG5cbi5jaWItdnVlLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzBmXCI7XG59XG5cbi5jaWItd2F0dHBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxMFwiO1xufVxuXG4uY2liLXdlYXN5bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxMVwiO1xufVxuXG4uY2liLXdlYmNvbXBvbmVudHMtb3JnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzEyXCI7XG59XG5cbi5jaWItd2VicGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxM1wiO1xufVxuXG4uY2liLXdlYnN0b3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzE0XCI7XG59XG5cbi5jaWItd2VjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzE1XCI7XG59XG5cbi5jaWItd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTZcIjtcbn1cblxuLmNpYi13aGVuLWktd29yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxN1wiO1xufVxuXG4uY2liLXdpaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxOFwiO1xufVxuXG4uY2liLXdpaXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTlcIjtcbn1cblxuLmNpYi13aWtpcGVkaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMWFcIjtcbn1cblxuLmNpYi13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFiXCI7XG59XG5cbi5jaWItd2lyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxY1wiO1xufVxuXG4uY2liLXdpcmVndWFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxZFwiO1xufVxuXG4uY2liLXdpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxZVwiO1xufVxuXG4uY2liLXdvbGZyYW0tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMWZcIjtcbn1cblxuLmNpYi13b2xmcmFtLW1hdGhlbWF0aWNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzIwXCI7XG59XG5cbi5jaWItd29sZnJhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyMVwiO1xufVxuXG4uY2liLXdvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyMlwiO1xufVxuXG4uY2liLXdwZW5naW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzIzXCI7XG59XG5cbi5jaWIteC1wYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzI0XCI7XG59XG5cbi5jaWIteGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyNVwiO1xufVxuXG4uY2liLXhjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzI2XCI7XG59XG5cbi5jaWIteGVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyN1wiO1xufVxuXG4uY2liLXhpYW9taTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyOFwiO1xufVxuXG4uY2liLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMjlcIjtcbn1cblxuLmNpYi14cnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMmFcIjtcbn1cblxuLmNpYi14c3BsaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMmJcIjtcbn1cblxuLmNpYi15LWNvbWJpbmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMmNcIjtcbn1cblxuLmNpYi15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyZFwiO1xufVxuXG4uY2liLXlhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyZVwiO1xufVxuXG4uY2liLXlhbmRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyZlwiO1xufVxuXG4uY2liLXlhcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMzBcIjtcbn1cblxuLmNpYi15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzMxXCI7XG59XG5cbi5jaWIteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzMlwiO1xufVxuXG4uY2liLXphbGFuZG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMzNcIjtcbn1cblxuLmNpYi16YXBpZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMzRcIjtcbn1cblxuLmNpYi16ZWl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzM1XCI7XG59XG5cbi5jaWItemVuZGVzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzNlwiO1xufVxuXG4uY2liLXplcnBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzN1wiO1xufVxuXG4uY2liLXppbGxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzOFwiO1xufVxuXG4uY2liLXppbmdhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzOVwiO1xufVxuXG4uY2liLXpvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjM2FcIjtcbn1cblxuLmNpYi16b3JpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzYlwiO1xufVxuXG4uY2liLXp1bGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzNjXCI7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJyYW5kLmNzcy5tYXAgKi8iLCJAaW1wb3J0ICcuLi9nbG9iYWwnO1xuXG4vLyBDb3JldWlcbkBpbXBvcnQgJ35AY29yZXVpL2NvcmV1aS9zY3NzL2NvcmV1aSc7XG5AaW1wb3J0ICd+QGNvcmV1aS9pY29ucy9jc3MvZnJlZS5taW4uY3NzJztcblxuQGltcG9ydCAnfkBjb3JldWkvaWNvbnMvY3NzL2JyYW5kLm1pbi5jc3MnO1xuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnY29yZSc7XG5AaW1wb3J0ICdsYXJnZXInO1xuQGltcG9ydCAnZml4ZWQtd2lkdGgnO1xuQGltcG9ydCAnbGlzdCc7XG5AaW1wb3J0ICdib3JkZXJlZC1wdWxsZWQnO1xuQGltcG9ydCAnYW5pbWF0ZWQnO1xuQGltcG9ydCAncm90YXRlZC1mbGlwcGVkJztcbkBpbXBvcnQgJ3N0YWNrZWQnO1xuQGltcG9ydCAnaWNvbnMnO1xuQGltcG9ydCAnc2NyZWVuLXJlYWRlcic7XG4iLCIvLyBCYXNlIENsYXNzIERlZmluaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhZCxcbi5mYWIge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbiVmYS1pY29uIHtcbiAgQGluY2x1ZGUgZmEtaWNvbjtcbn1cbiIsIi8vIEljb24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXJcbi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gIGZvbnQtc2l6ZTogKDRlbSAvIDMpO1xuICBsaW5lLWhlaWdodDogKDNlbSAvIDQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogLS4wNjY3ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS14cyB7XG4gIGZvbnQtc2l6ZTogLjc1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zbSB7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LSN7JGl9eCB7XG4gICAgZm9udC1zaXplOiAkaSAqIDFlbTtcbiAgfVxufVxuIiwiLy8gRml4ZWQgV2lkdGggSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6ICRmYS1mdy13aWR0aDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZhLWZvbnQtcGF0aDogICAgICAgICBcIi4uL3dlYmZvbnRzXCIgIWRlZmF1bHQ7XG4kZmEtZm9udC1zaXplLWJhc2U6ICAgIDE2cHggIWRlZmF1bHQ7XG4kZmEtZm9udC1kaXNwbGF5OiAgICAgIGJsb2NrICFkZWZhdWx0O1xuJGZhLWNzcy1wcmVmaXg6ICAgICAgICBmYSAhZGVmYXVsdDtcbiRmYS12ZXJzaW9uOiAgICAgICAgICAgXCI1LjE1LjNcIiAhZGVmYXVsdDtcbiRmYS1ib3JkZXItY29sb3I6ICAgICAgI2VlZSAhZGVmYXVsdDtcbiRmYS1pbnZlcnNlOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRmYS1saS13aWR0aDogICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZhLWZ3LXdpZHRoOiAgICAgICAgICAoMjBlbSAvIDE2KTtcbiRmYS1wcmltYXJ5LW9wYWNpdHk6ICAgMSAhZGVmYXVsdDtcbiRmYS1zZWNvbmRhcnktb3BhY2l0eTogLjQgIWRlZmF1bHQ7XG5cbi8vIENvbnZlbmllbmNlIGZ1bmN0aW9uIHVzZWQgdG8gc2V0IGNvbnRlbnQgcHJvcGVydHlcbkBmdW5jdGlvbiBmYS1jb250ZW50KCRmYS12YXIpIHtcbiAgQHJldHVybiB1bnF1b3RlKFwiXFxcIiN7ICRmYS12YXIgfVxcXCJcIik7XG59XG5cbiRmYS12YXItNTAwcHg6IFxcZjI2ZTtcbiRmYS12YXItYWNjZXNzaWJsZS1pY29uOiBcXGYzNjg7XG4kZmEtdmFyLWFjY3Vzb2Z0OiBcXGYzNjk7XG4kZmEtdmFyLWFjcXVpc2l0aW9ucy1pbmNvcnBvcmF0ZWQ6IFxcZjZhZjtcbiRmYS12YXItYWQ6IFxcZjY0MTtcbiRmYS12YXItYWRkcmVzcy1ib29rOiBcXGYyYjk7XG4kZmEtdmFyLWFkZHJlc3MtY2FyZDogXFxmMmJiO1xuJGZhLXZhci1hZGp1c3Q6IFxcZjA0MjtcbiRmYS12YXItYWRuOiBcXGYxNzA7XG4kZmEtdmFyLWFkdmVyc2FsOiBcXGYzNmE7XG4kZmEtdmFyLWFmZmlsaWF0ZXRoZW1lOiBcXGYzNmI7XG4kZmEtdmFyLWFpci1mcmVzaGVuZXI6IFxcZjVkMDtcbiRmYS12YXItYWlyYm5iOiBcXGY4MzQ7XG4kZmEtdmFyLWFsZ29saWE6IFxcZjM2YztcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcXGYwMzc7XG4kZmEtdmFyLWFsaWduLWp1c3RpZnk6IFxcZjAzOTtcbiRmYS12YXItYWxpZ24tbGVmdDogXFxmMDM2O1xuJGZhLXZhci1hbGlnbi1yaWdodDogXFxmMDM4O1xuJGZhLXZhci1hbGlwYXk6IFxcZjY0MjtcbiRmYS12YXItYWxsZXJnaWVzOiBcXGY0NjE7XG4kZmEtdmFyLWFtYXpvbjogXFxmMjcwO1xuJGZhLXZhci1hbWF6b24tcGF5OiBcXGY0MmM7XG4kZmEtdmFyLWFtYnVsYW5jZTogXFxmMGY5O1xuJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1hbWlsaWE6IFxcZjM2ZDtcbiRmYS12YXItYW5jaG9yOiBcXGYxM2Q7XG4kZmEtdmFyLWFuZHJvaWQ6IFxcZjE3YjtcbiRmYS12YXItYW5nZWxsaXN0OiBcXGYyMDk7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOiBcXGYxMDM7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcXGYxMDA7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDogXFxmMTAxO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtdXA6IFxcZjEwMjtcbiRmYS12YXItYW5nbGUtZG93bjogXFxmMTA3O1xuJGZhLXZhci1hbmdsZS1sZWZ0OiBcXGYxMDQ7XG4kZmEtdmFyLWFuZ2xlLXJpZ2h0OiBcXGYxMDU7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcXGYxMDY7XG4kZmEtdmFyLWFuZ3J5OiBcXGY1NTY7XG4kZmEtdmFyLWFuZ3J5Y3JlYXRpdmU6IFxcZjM2ZTtcbiRmYS12YXItYW5ndWxhcjogXFxmNDIwO1xuJGZhLXZhci1hbmtoOiBcXGY2NDQ7XG4kZmEtdmFyLWFwcC1zdG9yZTogXFxmMzZmO1xuJGZhLXZhci1hcHAtc3RvcmUtaW9zOiBcXGYzNzA7XG4kZmEtdmFyLWFwcGVyOiBcXGYzNzE7XG4kZmEtdmFyLWFwcGxlOiBcXGYxNzk7XG4kZmEtdmFyLWFwcGxlLWFsdDogXFxmNWQxO1xuJGZhLXZhci1hcHBsZS1wYXk6IFxcZjQxNTtcbiRmYS12YXItYXJjaGl2ZTogXFxmMTg3O1xuJGZhLXZhci1hcmNod2F5OiBcXGY1NTc7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtZG93bjogXFxmMzU4O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6IFxcZjM1OTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodDogXFxmMzVhO1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwOiBcXGYzNWI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1kb3duOiBcXGYwYWI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcXGYwYTg7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXFxmMGE5O1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtdXA6IFxcZjBhYTtcbiRmYS12YXItYXJyb3ctZG93bjogXFxmMDYzO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcXGYwNjA7XG4kZmEtdmFyLWFycm93LXJpZ2h0OiBcXGYwNjE7XG4kZmEtdmFyLWFycm93LXVwOiBcXGYwNjI7XG4kZmEtdmFyLWFycm93cy1hbHQ6IFxcZjBiMjtcbiRmYS12YXItYXJyb3dzLWFsdC1oOiBcXGYzMzc7XG4kZmEtdmFyLWFycm93cy1hbHQtdjogXFxmMzM4O1xuJGZhLXZhci1hcnRzdGF0aW9uOiBcXGY3N2E7XG4kZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczogXFxmMmEyO1xuJGZhLXZhci1hc3RlcmlzazogXFxmMDY5O1xuJGZhLXZhci1hc3ltbWV0cmlrOiBcXGYzNzI7XG4kZmEtdmFyLWF0OiBcXGYxZmE7XG4kZmEtdmFyLWF0bGFzOiBcXGY1NTg7XG4kZmEtdmFyLWF0bGFzc2lhbjogXFxmNzdiO1xuJGZhLXZhci1hdG9tOiBcXGY1ZDI7XG4kZmEtdmFyLWF1ZGlibGU6IFxcZjM3MztcbiRmYS12YXItYXVkaW8tZGVzY3JpcHRpb246IFxcZjI5ZTtcbiRmYS12YXItYXV0b3ByZWZpeGVyOiBcXGY0MWM7XG4kZmEtdmFyLWF2aWFuZXg6IFxcZjM3NDtcbiRmYS12YXItYXZpYXRvOiBcXGY0MjE7XG4kZmEtdmFyLWF3YXJkOiBcXGY1NTk7XG4kZmEtdmFyLWF3czogXFxmMzc1O1xuJGZhLXZhci1iYWJ5OiBcXGY3N2M7XG4kZmEtdmFyLWJhYnktY2FycmlhZ2U6IFxcZjc3ZDtcbiRmYS12YXItYmFja3NwYWNlOiBcXGY1NWE7XG4kZmEtdmFyLWJhY2t3YXJkOiBcXGYwNGE7XG4kZmEtdmFyLWJhY29uOiBcXGY3ZTU7XG4kZmEtdmFyLWJhY3RlcmlhOiBcXGUwNTk7XG4kZmEtdmFyLWJhY3Rlcml1bTogXFxlMDVhO1xuJGZhLXZhci1iYWhhaTogXFxmNjY2O1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcXGYyNGU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtbGVmdDogXFxmNTE1O1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlLXJpZ2h0OiBcXGY1MTY7XG4kZmEtdmFyLWJhbjogXFxmMDVlO1xuJGZhLXZhci1iYW5kLWFpZDogXFxmNDYyO1xuJGZhLXZhci1iYW5kY2FtcDogXFxmMmQ1O1xuJGZhLXZhci1iYXJjb2RlOiBcXGYwMmE7XG4kZmEtdmFyLWJhcnM6IFxcZjBjOTtcbiRmYS12YXItYmFzZWJhbGwtYmFsbDogXFxmNDMzO1xuJGZhLXZhci1iYXNrZXRiYWxsLWJhbGw6IFxcZjQzNDtcbiRmYS12YXItYmF0aDogXFxmMmNkO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcXGYyNDQ7XG4kZmEtdmFyLWJhdHRlcnktZnVsbDogXFxmMjQwO1xuJGZhLXZhci1iYXR0ZXJ5LWhhbGY6IFxcZjI0MjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcXGYyNDM7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFxcZjI0MTtcbiRmYS12YXItYmF0dGxlLW5ldDogXFxmODM1O1xuJGZhLXZhci1iZWQ6IFxcZjIzNjtcbiRmYS12YXItYmVlcjogXFxmMGZjO1xuJGZhLXZhci1iZWhhbmNlOiBcXGYxYjQ7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcXGYxYjU7XG4kZmEtdmFyLWJlbGw6IFxcZjBmMztcbiRmYS12YXItYmVsbC1zbGFzaDogXFxmMWY2O1xuJGZhLXZhci1iZXppZXItY3VydmU6IFxcZjU1YjtcbiRmYS12YXItYmlibGU6IFxcZjY0NztcbiRmYS12YXItYmljeWNsZTogXFxmMjA2O1xuJGZhLXZhci1iaWtpbmc6IFxcZjg0YTtcbiRmYS12YXItYmltb2JqZWN0OiBcXGYzNzg7XG4kZmEtdmFyLWJpbm9jdWxhcnM6IFxcZjFlNTtcbiRmYS12YXItYmlvaGF6YXJkOiBcXGY3ODA7XG4kZmEtdmFyLWJpcnRoZGF5LWNha2U6IFxcZjFmZDtcbiRmYS12YXItYml0YnVja2V0OiBcXGYxNzE7XG4kZmEtdmFyLWJpdGNvaW46IFxcZjM3OTtcbiRmYS12YXItYml0eTogXFxmMzdhO1xuJGZhLXZhci1ibGFjay10aWU6IFxcZjI3ZTtcbiRmYS12YXItYmxhY2tiZXJyeTogXFxmMzdiO1xuJGZhLXZhci1ibGVuZGVyOiBcXGY1MTc7XG4kZmEtdmFyLWJsZW5kZXItcGhvbmU6IFxcZjZiNjtcbiRmYS12YXItYmxpbmQ6IFxcZjI5ZDtcbiRmYS12YXItYmxvZzogXFxmNzgxO1xuJGZhLXZhci1ibG9nZ2VyOiBcXGYzN2M7XG4kZmEtdmFyLWJsb2dnZXItYjogXFxmMzdkO1xuJGZhLXZhci1ibHVldG9vdGg6IFxcZjI5MztcbiRmYS12YXItYmx1ZXRvb3RoLWI6IFxcZjI5NDtcbiRmYS12YXItYm9sZDogXFxmMDMyO1xuJGZhLXZhci1ib2x0OiBcXGYwZTc7XG4kZmEtdmFyLWJvbWI6IFxcZjFlMjtcbiRmYS12YXItYm9uZTogXFxmNWQ3O1xuJGZhLXZhci1ib25nOiBcXGY1NWM7XG4kZmEtdmFyLWJvb2s6IFxcZjAyZDtcbiRmYS12YXItYm9vay1kZWFkOiBcXGY2Yjc7XG4kZmEtdmFyLWJvb2stbWVkaWNhbDogXFxmN2U2O1xuJGZhLXZhci1ib29rLW9wZW46IFxcZjUxODtcbiRmYS12YXItYm9vay1yZWFkZXI6IFxcZjVkYTtcbiRmYS12YXItYm9va21hcms6IFxcZjAyZTtcbiRmYS12YXItYm9vdHN0cmFwOiBcXGY4MzY7XG4kZmEtdmFyLWJvcmRlci1hbGw6IFxcZjg0YztcbiRmYS12YXItYm9yZGVyLW5vbmU6IFxcZjg1MDtcbiRmYS12YXItYm9yZGVyLXN0eWxlOiBcXGY4NTM7XG4kZmEtdmFyLWJvd2xpbmctYmFsbDogXFxmNDM2O1xuJGZhLXZhci1ib3g6IFxcZjQ2NjtcbiRmYS12YXItYm94LW9wZW46IFxcZjQ5ZTtcbiRmYS12YXItYm94LXRpc3N1ZTogXFxlMDViO1xuJGZhLXZhci1ib3hlczogXFxmNDY4O1xuJGZhLXZhci1icmFpbGxlOiBcXGYyYTE7XG4kZmEtdmFyLWJyYWluOiBcXGY1ZGM7XG4kZmEtdmFyLWJyZWFkLXNsaWNlOiBcXGY3ZWM7XG4kZmEtdmFyLWJyaWVmY2FzZTogXFxmMGIxO1xuJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbDogXFxmNDY5O1xuJGZhLXZhci1icm9hZGNhc3QtdG93ZXI6IFxcZjUxOTtcbiRmYS12YXItYnJvb206IFxcZjUxYTtcbiRmYS12YXItYnJ1c2g6IFxcZjU1ZDtcbiRmYS12YXItYnRjOiBcXGYxNWE7XG4kZmEtdmFyLWJ1ZmZlcjogXFxmODM3O1xuJGZhLXZhci1idWc6IFxcZjE4ODtcbiRmYS12YXItYnVpbGRpbmc6IFxcZjFhZDtcbiRmYS12YXItYnVsbGhvcm46IFxcZjBhMTtcbiRmYS12YXItYnVsbHNleWU6IFxcZjE0MDtcbiRmYS12YXItYnVybjogXFxmNDZhO1xuJGZhLXZhci1idXJvbW9iZWxleHBlcnRlOiBcXGYzN2Y7XG4kZmEtdmFyLWJ1czogXFxmMjA3O1xuJGZhLXZhci1idXMtYWx0OiBcXGY1NWU7XG4kZmEtdmFyLWJ1c2luZXNzLXRpbWU6IFxcZjY0YTtcbiRmYS12YXItYnV5LW4tbGFyZ2U6IFxcZjhhNjtcbiRmYS12YXItYnV5c2VsbGFkczogXFxmMjBkO1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcXGYxZWM7XG4kZmEtdmFyLWNhbGVuZGFyOiBcXGYxMzM7XG4kZmEtdmFyLWNhbGVuZGFyLWFsdDogXFxmMDczO1xuJGZhLXZhci1jYWxlbmRhci1jaGVjazogXFxmMjc0O1xuJGZhLXZhci1jYWxlbmRhci1kYXk6IFxcZjc4MztcbiRmYS12YXItY2FsZW5kYXItbWludXM6IFxcZjI3MjtcbiRmYS12YXItY2FsZW5kYXItcGx1czogXFxmMjcxO1xuJGZhLXZhci1jYWxlbmRhci10aW1lczogXFxmMjczO1xuJGZhLXZhci1jYWxlbmRhci13ZWVrOiBcXGY3ODQ7XG4kZmEtdmFyLWNhbWVyYTogXFxmMDMwO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFxcZjA4MztcbiRmYS12YXItY2FtcGdyb3VuZDogXFxmNmJiO1xuJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmOiBcXGY3ODU7XG4kZmEtdmFyLWNhbmR5LWNhbmU6IFxcZjc4NjtcbiRmYS12YXItY2FubmFiaXM6IFxcZjU1ZjtcbiRmYS12YXItY2Fwc3VsZXM6IFxcZjQ2YjtcbiRmYS12YXItY2FyOiBcXGYxYjk7XG4kZmEtdmFyLWNhci1hbHQ6IFxcZjVkZTtcbiRmYS12YXItY2FyLWJhdHRlcnk6IFxcZjVkZjtcbiRmYS12YXItY2FyLWNyYXNoOiBcXGY1ZTE7XG4kZmEtdmFyLWNhci1zaWRlOiBcXGY1ZTQ7XG4kZmEtdmFyLWNhcmF2YW46IFxcZjhmZjtcbiRmYS12YXItY2FyZXQtZG93bjogXFxmMGQ3O1xuJGZhLXZhci1jYXJldC1sZWZ0OiBcXGYwZDk7XG4kZmEtdmFyLWNhcmV0LXJpZ2h0OiBcXGYwZGE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duOiBcXGYxNTA7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0OiBcXGYxOTE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1yaWdodDogXFxmMTUyO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtdXA6IFxcZjE1MTtcbiRmYS12YXItY2FyZXQtdXA6IFxcZjBkODtcbiRmYS12YXItY2Fycm90OiBcXGY3ODc7XG4kZmEtdmFyLWNhcnQtYXJyb3ctZG93bjogXFxmMjE4O1xuJGZhLXZhci1jYXJ0LXBsdXM6IFxcZjIxNztcbiRmYS12YXItY2FzaC1yZWdpc3RlcjogXFxmNzg4O1xuJGZhLXZhci1jYXQ6IFxcZjZiZTtcbiRmYS12YXItY2MtYW1hem9uLXBheTogXFxmNDJkO1xuJGZhLXZhci1jYy1hbWV4OiBcXGYxZjM7XG4kZmEtdmFyLWNjLWFwcGxlLXBheTogXFxmNDE2O1xuJGZhLXZhci1jYy1kaW5lcnMtY2x1YjogXFxmMjRjO1xuJGZhLXZhci1jYy1kaXNjb3ZlcjogXFxmMWYyO1xuJGZhLXZhci1jYy1qY2I6IFxcZjI0YjtcbiRmYS12YXItY2MtbWFzdGVyY2FyZDogXFxmMWYxO1xuJGZhLXZhci1jYy1wYXlwYWw6IFxcZjFmNDtcbiRmYS12YXItY2Mtc3RyaXBlOiBcXGYxZjU7XG4kZmEtdmFyLWNjLXZpc2E6IFxcZjFmMDtcbiRmYS12YXItY2VudGVyY29kZTogXFxmMzgwO1xuJGZhLXZhci1jZW50b3M6IFxcZjc4OTtcbiRmYS12YXItY2VydGlmaWNhdGU6IFxcZjBhMztcbiRmYS12YXItY2hhaXI6IFxcZjZjMDtcbiRmYS12YXItY2hhbGtib2FyZDogXFxmNTFiO1xuJGZhLXZhci1jaGFsa2JvYXJkLXRlYWNoZXI6IFxcZjUxYztcbiRmYS12YXItY2hhcmdpbmctc3RhdGlvbjogXFxmNWU3O1xuJGZhLXZhci1jaGFydC1hcmVhOiBcXGYxZmU7XG4kZmEtdmFyLWNoYXJ0LWJhcjogXFxmMDgwO1xuJGZhLXZhci1jaGFydC1saW5lOiBcXGYyMDE7XG4kZmEtdmFyLWNoYXJ0LXBpZTogXFxmMjAwO1xuJGZhLXZhci1jaGVjazogXFxmMDBjO1xuJGZhLXZhci1jaGVjay1jaXJjbGU6IFxcZjA1ODtcbiRmYS12YXItY2hlY2stZG91YmxlOiBcXGY1NjA7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXFxmMTRhO1xuJGZhLXZhci1jaGVlc2U6IFxcZjdlZjtcbiRmYS12YXItY2hlc3M6IFxcZjQzOTtcbiRmYS12YXItY2hlc3MtYmlzaG9wOiBcXGY0M2E7XG4kZmEtdmFyLWNoZXNzLWJvYXJkOiBcXGY0M2M7XG4kZmEtdmFyLWNoZXNzLWtpbmc6IFxcZjQzZjtcbiRmYS12YXItY2hlc3Mta25pZ2h0OiBcXGY0NDE7XG4kZmEtdmFyLWNoZXNzLXBhd246IFxcZjQ0MztcbiRmYS12YXItY2hlc3MtcXVlZW46IFxcZjQ0NTtcbiRmYS12YXItY2hlc3Mtcm9vazogXFxmNDQ3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duOiBcXGYxM2E7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ6IFxcZjEzNztcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ6IFxcZjEzODtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtdXA6IFxcZjEzOTtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcXGYwNzg7XG4kZmEtdmFyLWNoZXZyb24tbGVmdDogXFxmMDUzO1xuJGZhLXZhci1jaGV2cm9uLXJpZ2h0OiBcXGYwNTQ7XG4kZmEtdmFyLWNoZXZyb24tdXA6IFxcZjA3NztcbiRmYS12YXItY2hpbGQ6IFxcZjFhZTtcbiRmYS12YXItY2hyb21lOiBcXGYyNjg7XG4kZmEtdmFyLWNocm9tZWNhc3Q6IFxcZjgzODtcbiRmYS12YXItY2h1cmNoOiBcXGY1MWQ7XG4kZmEtdmFyLWNpcmNsZTogXFxmMTExO1xuJGZhLXZhci1jaXJjbGUtbm90Y2g6IFxcZjFjZTtcbiRmYS12YXItY2l0eTogXFxmNjRmO1xuJGZhLXZhci1jbGluaWMtbWVkaWNhbDogXFxmN2YyO1xuJGZhLXZhci1jbGlwYm9hcmQ6IFxcZjMyODtcbiRmYS12YXItY2xpcGJvYXJkLWNoZWNrOiBcXGY0NmM7XG4kZmEtdmFyLWNsaXBib2FyZC1saXN0OiBcXGY0NmQ7XG4kZmEtdmFyLWNsb2NrOiBcXGYwMTc7XG4kZmEtdmFyLWNsb25lOiBcXGYyNGQ7XG4kZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nOiBcXGYyMGE7XG4kZmEtdmFyLWNsb3VkOiBcXGYwYzI7XG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdDogXFxmMzgxO1xuJGZhLXZhci1jbG91ZC1tZWF0YmFsbDogXFxmNzNiO1xuJGZhLXZhci1jbG91ZC1tb29uOiBcXGY2YzM7XG4kZmEtdmFyLWNsb3VkLW1vb24tcmFpbjogXFxmNzNjO1xuJGZhLXZhci1jbG91ZC1yYWluOiBcXGY3M2Q7XG4kZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnk6IFxcZjc0MDtcbiRmYS12YXItY2xvdWQtc3VuOiBcXGY2YzQ7XG4kZmEtdmFyLWNsb3VkLXN1bi1yYWluOiBcXGY3NDM7XG4kZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQ6IFxcZjM4MjtcbiRmYS12YXItY2xvdWRmbGFyZTogXFxlMDdkO1xuJGZhLXZhci1jbG91ZHNjYWxlOiBcXGYzODM7XG4kZmEtdmFyLWNsb3Vkc21pdGg6IFxcZjM4NDtcbiRmYS12YXItY2xvdWR2ZXJzaWZ5OiBcXGYzODU7XG4kZmEtdmFyLWNvY2t0YWlsOiBcXGY1NjE7XG4kZmEtdmFyLWNvZGU6IFxcZjEyMTtcbiRmYS12YXItY29kZS1icmFuY2g6IFxcZjEyNjtcbiRmYS12YXItY29kZXBlbjogXFxmMWNiO1xuJGZhLXZhci1jb2RpZXBpZTogXFxmMjg0O1xuJGZhLXZhci1jb2ZmZWU6IFxcZjBmNDtcbiRmYS12YXItY29nOiBcXGYwMTM7XG4kZmEtdmFyLWNvZ3M6IFxcZjA4NTtcbiRmYS12YXItY29pbnM6IFxcZjUxZTtcbiRmYS12YXItY29sdW1uczogXFxmMGRiO1xuJGZhLXZhci1jb21tZW50OiBcXGYwNzU7XG4kZmEtdmFyLWNvbW1lbnQtYWx0OiBcXGYyN2E7XG4kZmEtdmFyLWNvbW1lbnQtZG9sbGFyOiBcXGY2NTE7XG4kZmEtdmFyLWNvbW1lbnQtZG90czogXFxmNGFkO1xuJGZhLXZhci1jb21tZW50LW1lZGljYWw6IFxcZjdmNTtcbiRmYS12YXItY29tbWVudC1zbGFzaDogXFxmNGIzO1xuJGZhLXZhci1jb21tZW50czogXFxmMDg2O1xuJGZhLXZhci1jb21tZW50cy1kb2xsYXI6IFxcZjY1MztcbiRmYS12YXItY29tcGFjdC1kaXNjOiBcXGY1MWY7XG4kZmEtdmFyLWNvbXBhc3M6IFxcZjE0ZTtcbiRmYS12YXItY29tcHJlc3M6IFxcZjA2NjtcbiRmYS12YXItY29tcHJlc3MtYWx0OiBcXGY0MjI7XG4kZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQ6IFxcZjc4YztcbiRmYS12YXItY29uY2llcmdlLWJlbGw6IFxcZjU2MjtcbiRmYS12YXItY29uZmx1ZW5jZTogXFxmNzhkO1xuJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDogXFxmMjBlO1xuJGZhLXZhci1jb250YW86IFxcZjI2ZDtcbiRmYS12YXItY29va2llOiBcXGY1NjM7XG4kZmEtdmFyLWNvb2tpZS1iaXRlOiBcXGY1NjQ7XG4kZmEtdmFyLWNvcHk6IFxcZjBjNTtcbiRmYS12YXItY29weXJpZ2h0OiBcXGYxZjk7XG4kZmEtdmFyLWNvdHRvbi1idXJlYXU6IFxcZjg5ZTtcbiRmYS12YXItY291Y2g6IFxcZjRiODtcbiRmYS12YXItY3BhbmVsOiBcXGYzODg7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM6IFxcZjI1ZTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieTogXFxmNGU3O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jOiBcXGY0ZTg7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6IFxcZjRlOTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcDogXFxmNGVhO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kOiBcXGY0ZWI7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQ6IFxcZjRlYztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6IFxcZjRlZDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peDogXFxmNGVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhOiBcXGY0ZWY7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6IFxcZjRmMDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOiBcXGY0ZjE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6IFxcZjRmMjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy16ZXJvOiBcXGY0ZjM7XG4kZmEtdmFyLWNyZWRpdC1jYXJkOiBcXGYwOWQ7XG4kZmEtdmFyLWNyaXRpY2FsLXJvbGU6IFxcZjZjOTtcbiRmYS12YXItY3JvcDogXFxmMTI1O1xuJGZhLXZhci1jcm9wLWFsdDogXFxmNTY1O1xuJGZhLXZhci1jcm9zczogXFxmNjU0O1xuJGZhLXZhci1jcm9zc2hhaXJzOiBcXGYwNWI7XG4kZmEtdmFyLWNyb3c6IFxcZjUyMDtcbiRmYS12YXItY3Jvd246IFxcZjUyMTtcbiRmYS12YXItY3J1dGNoOiBcXGY3Zjc7XG4kZmEtdmFyLWNzczM6IFxcZjEzYztcbiRmYS12YXItY3NzMy1hbHQ6IFxcZjM4YjtcbiRmYS12YXItY3ViZTogXFxmMWIyO1xuJGZhLXZhci1jdWJlczogXFxmMWIzO1xuJGZhLXZhci1jdXQ6IFxcZjBjNDtcbiRmYS12YXItY3V0dGxlZmlzaDogXFxmMzhjO1xuJGZhLXZhci1kLWFuZC1kOiBcXGYzOGQ7XG4kZmEtdmFyLWQtYW5kLWQtYmV5b25kOiBcXGY2Y2E7XG4kZmEtdmFyLWRhaWx5bW90aW9uOiBcXGUwNTI7XG4kZmEtdmFyLWRhc2hjdWJlOiBcXGYyMTA7XG4kZmEtdmFyLWRhdGFiYXNlOiBcXGYxYzA7XG4kZmEtdmFyLWRlYWY6IFxcZjJhNDtcbiRmYS12YXItZGVlemVyOiBcXGUwNzc7XG4kZmEtdmFyLWRlbGljaW91czogXFxmMWE1O1xuJGZhLXZhci1kZW1vY3JhdDogXFxmNzQ3O1xuJGZhLXZhci1kZXBsb3lkb2c6IFxcZjM4ZTtcbiRmYS12YXItZGVza3BybzogXFxmMzhmO1xuJGZhLXZhci1kZXNrdG9wOiBcXGYxMDg7XG4kZmEtdmFyLWRldjogXFxmNmNjO1xuJGZhLXZhci1kZXZpYW50YXJ0OiBcXGYxYmQ7XG4kZmEtdmFyLWRoYXJtYWNoYWtyYTogXFxmNjU1O1xuJGZhLXZhci1kaGw6IFxcZjc5MDtcbiRmYS12YXItZGlhZ25vc2VzOiBcXGY0NzA7XG4kZmEtdmFyLWRpYXNwb3JhOiBcXGY3OTE7XG4kZmEtdmFyLWRpY2U6IFxcZjUyMjtcbiRmYS12YXItZGljZS1kMjA6IFxcZjZjZjtcbiRmYS12YXItZGljZS1kNjogXFxmNmQxO1xuJGZhLXZhci1kaWNlLWZpdmU6IFxcZjUyMztcbiRmYS12YXItZGljZS1mb3VyOiBcXGY1MjQ7XG4kZmEtdmFyLWRpY2Utb25lOiBcXGY1MjU7XG4kZmEtdmFyLWRpY2Utc2l4OiBcXGY1MjY7XG4kZmEtdmFyLWRpY2UtdGhyZWU6IFxcZjUyNztcbiRmYS12YXItZGljZS10d286IFxcZjUyODtcbiRmYS12YXItZGlnZzogXFxmMWE2O1xuJGZhLXZhci1kaWdpdGFsLW9jZWFuOiBcXGYzOTE7XG4kZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaDogXFxmNTY2O1xuJGZhLXZhci1kaXJlY3Rpb25zOiBcXGY1ZWI7XG4kZmEtdmFyLWRpc2NvcmQ6IFxcZjM5MjtcbiRmYS12YXItZGlzY291cnNlOiBcXGYzOTM7XG4kZmEtdmFyLWRpc2Vhc2U6IFxcZjdmYTtcbiRmYS12YXItZGl2aWRlOiBcXGY1Mjk7XG4kZmEtdmFyLWRpenp5OiBcXGY1Njc7XG4kZmEtdmFyLWRuYTogXFxmNDcxO1xuJGZhLXZhci1kb2NodWI6IFxcZjM5NDtcbiRmYS12YXItZG9ja2VyOiBcXGYzOTU7XG4kZmEtdmFyLWRvZzogXFxmNmQzO1xuJGZhLXZhci1kb2xsYXItc2lnbjogXFxmMTU1O1xuJGZhLXZhci1kb2xseTogXFxmNDcyO1xuJGZhLXZhci1kb2xseS1mbGF0YmVkOiBcXGY0NzQ7XG4kZmEtdmFyLWRvbmF0ZTogXFxmNGI5O1xuJGZhLXZhci1kb29yLWNsb3NlZDogXFxmNTJhO1xuJGZhLXZhci1kb29yLW9wZW46IFxcZjUyYjtcbiRmYS12YXItZG90LWNpcmNsZTogXFxmMTkyO1xuJGZhLXZhci1kb3ZlOiBcXGY0YmE7XG4kZmEtdmFyLWRvd25sb2FkOiBcXGYwMTk7XG4kZmEtdmFyLWRyYWZ0MmRpZ2l0YWw6IFxcZjM5NjtcbiRmYS12YXItZHJhZnRpbmctY29tcGFzczogXFxmNTY4O1xuJGZhLXZhci1kcmFnb246IFxcZjZkNTtcbiRmYS12YXItZHJhdy1wb2x5Z29uOiBcXGY1ZWU7XG4kZmEtdmFyLWRyaWJiYmxlOiBcXGYxN2Q7XG4kZmEtdmFyLWRyaWJiYmxlLXNxdWFyZTogXFxmMzk3O1xuJGZhLXZhci1kcm9wYm94OiBcXGYxNmI7XG4kZmEtdmFyLWRydW06IFxcZjU2OTtcbiRmYS12YXItZHJ1bS1zdGVlbHBhbjogXFxmNTZhO1xuJGZhLXZhci1kcnVtc3RpY2stYml0ZTogXFxmNmQ3O1xuJGZhLXZhci1kcnVwYWw6IFxcZjFhOTtcbiRmYS12YXItZHVtYmJlbGw6IFxcZjQ0YjtcbiRmYS12YXItZHVtcHN0ZXI6IFxcZjc5MztcbiRmYS12YXItZHVtcHN0ZXItZmlyZTogXFxmNzk0O1xuJGZhLXZhci1kdW5nZW9uOiBcXGY2ZDk7XG4kZmEtdmFyLWR5YWxvZzogXFxmMzk5O1xuJGZhLXZhci1lYXJseWJpcmRzOiBcXGYzOWE7XG4kZmEtdmFyLWViYXk6IFxcZjRmNDtcbiRmYS12YXItZWRnZTogXFxmMjgyO1xuJGZhLXZhci1lZGdlLWxlZ2FjeTogXFxlMDc4O1xuJGZhLXZhci1lZGl0OiBcXGYwNDQ7XG4kZmEtdmFyLWVnZzogXFxmN2ZiO1xuJGZhLXZhci1lamVjdDogXFxmMDUyO1xuJGZhLXZhci1lbGVtZW50b3I6IFxcZjQzMDtcbiRmYS12YXItZWxsaXBzaXMtaDogXFxmMTQxO1xuJGZhLXZhci1lbGxpcHNpcy12OiBcXGYxNDI7XG4kZmEtdmFyLWVsbG86IFxcZjVmMTtcbiRmYS12YXItZW1iZXI6IFxcZjQyMztcbiRmYS12YXItZW1waXJlOiBcXGYxZDE7XG4kZmEtdmFyLWVudmVsb3BlOiBcXGYwZTA7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW46IFxcZjJiNjtcbiRmYS12YXItZW52ZWxvcGUtb3Blbi10ZXh0OiBcXGY2NTg7XG4kZmEtdmFyLWVudmVsb3BlLXNxdWFyZTogXFxmMTk5O1xuJGZhLXZhci1lbnZpcmE6IFxcZjI5OTtcbiRmYS12YXItZXF1YWxzOiBcXGY1MmM7XG4kZmEtdmFyLWVyYXNlcjogXFxmMTJkO1xuJGZhLXZhci1lcmxhbmc6IFxcZjM5ZDtcbiRmYS12YXItZXRoZXJldW06IFxcZjQyZTtcbiRmYS12YXItZXRoZXJuZXQ6IFxcZjc5NjtcbiRmYS12YXItZXRzeTogXFxmMmQ3O1xuJGZhLXZhci1ldXJvLXNpZ246IFxcZjE1MztcbiRmYS12YXItZXZlcm5vdGU6IFxcZjgzOTtcbiRmYS12YXItZXhjaGFuZ2UtYWx0OiBcXGYzNjI7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uOiBcXGYxMmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZTogXFxmMDZhO1xuJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTogXFxmMDcxO1xuJGZhLXZhci1leHBhbmQ6IFxcZjA2NTtcbiRmYS12YXItZXhwYW5kLWFsdDogXFxmNDI0O1xuJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdDogXFxmMzFlO1xuJGZhLXZhci1leHBlZGl0ZWRzc2w6IFxcZjIzZTtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQ6IFxcZjM1ZDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OiBcXGYzNjA7XG4kZmEtdmFyLWV5ZTogXFxmMDZlO1xuJGZhLXZhci1leWUtZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1leWUtc2xhc2g6IFxcZjA3MDtcbiRmYS12YXItZmFjZWJvb2s6IFxcZjA5YTtcbiRmYS12YXItZmFjZWJvb2stZjogXFxmMzllO1xuJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXI6IFxcZjM5ZjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcXGYwODI7XG4kZmEtdmFyLWZhbjogXFxmODYzO1xuJGZhLXZhci1mYW50YXN5LWZsaWdodC1nYW1lczogXFxmNmRjO1xuJGZhLXZhci1mYXN0LWJhY2t3YXJkOiBcXGYwNDk7XG4kZmEtdmFyLWZhc3QtZm9yd2FyZDogXFxmMDUwO1xuJGZhLXZhci1mYXVjZXQ6IFxcZTAwNTtcbiRmYS12YXItZmF4OiBcXGYxYWM7XG4kZmEtdmFyLWZlYXRoZXI6IFxcZjUyZDtcbiRmYS12YXItZmVhdGhlci1hbHQ6IFxcZjU2YjtcbiRmYS12YXItZmVkZXg6IFxcZjc5NztcbiRmYS12YXItZmVkb3JhOiBcXGY3OTg7XG4kZmEtdmFyLWZlbWFsZTogXFxmMTgyO1xuJGZhLXZhci1maWdodGVyLWpldDogXFxmMGZiO1xuJGZhLXZhci1maWdtYTogXFxmNzk5O1xuJGZhLXZhci1maWxlOiBcXGYxNWI7XG4kZmEtdmFyLWZpbGUtYWx0OiBcXGYxNWM7XG4kZmEtdmFyLWZpbGUtYXJjaGl2ZTogXFxmMWM2O1xuJGZhLXZhci1maWxlLWF1ZGlvOiBcXGYxYzc7XG4kZmEtdmFyLWZpbGUtY29kZTogXFxmMWM5O1xuJGZhLXZhci1maWxlLWNvbnRyYWN0OiBcXGY1NmM7XG4kZmEtdmFyLWZpbGUtY3N2OiBcXGY2ZGQ7XG4kZmEtdmFyLWZpbGUtZG93bmxvYWQ6IFxcZjU2ZDtcbiRmYS12YXItZmlsZS1leGNlbDogXFxmMWMzO1xuJGZhLXZhci1maWxlLWV4cG9ydDogXFxmNTZlO1xuJGZhLXZhci1maWxlLWltYWdlOiBcXGYxYzU7XG4kZmEtdmFyLWZpbGUtaW1wb3J0OiBcXGY1NmY7XG4kZmEtdmFyLWZpbGUtaW52b2ljZTogXFxmNTcwO1xuJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyOiBcXGY1NzE7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbDogXFxmNDc3O1xuJGZhLXZhci1maWxlLW1lZGljYWwtYWx0OiBcXGY0Nzg7XG4kZmEtdmFyLWZpbGUtcGRmOiBcXGYxYzE7XG4kZmEtdmFyLWZpbGUtcG93ZXJwb2ludDogXFxmMWM0O1xuJGZhLXZhci1maWxlLXByZXNjcmlwdGlvbjogXFxmNTcyO1xuJGZhLXZhci1maWxlLXNpZ25hdHVyZTogXFxmNTczO1xuJGZhLXZhci1maWxlLXVwbG9hZDogXFxmNTc0O1xuJGZhLXZhci1maWxlLXZpZGVvOiBcXGYxYzg7XG4kZmEtdmFyLWZpbGUtd29yZDogXFxmMWMyO1xuJGZhLXZhci1maWxsOiBcXGY1NzU7XG4kZmEtdmFyLWZpbGwtZHJpcDogXFxmNTc2O1xuJGZhLXZhci1maWxtOiBcXGYwMDg7XG4kZmEtdmFyLWZpbHRlcjogXFxmMGIwO1xuJGZhLXZhci1maW5nZXJwcmludDogXFxmNTc3O1xuJGZhLXZhci1maXJlOiBcXGYwNmQ7XG4kZmEtdmFyLWZpcmUtYWx0OiBcXGY3ZTQ7XG4kZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyOiBcXGYxMzQ7XG4kZmEtdmFyLWZpcmVmb3g6IFxcZjI2OTtcbiRmYS12YXItZmlyZWZveC1icm93c2VyOiBcXGUwMDc7XG4kZmEtdmFyLWZpcnN0LWFpZDogXFxmNDc5O1xuJGZhLXZhci1maXJzdC1vcmRlcjogXFxmMmIwO1xuJGZhLXZhci1maXJzdC1vcmRlci1hbHQ6IFxcZjUwYTtcbiRmYS12YXItZmlyc3RkcmFmdDogXFxmM2ExO1xuJGZhLXZhci1maXNoOiBcXGY1Nzg7XG4kZmEtdmFyLWZpc3QtcmFpc2VkOiBcXGY2ZGU7XG4kZmEtdmFyLWZsYWc6IFxcZjAyNDtcbiRmYS12YXItZmxhZy1jaGVja2VyZWQ6IFxcZjExZTtcbiRmYS12YXItZmxhZy11c2E6IFxcZjc0ZDtcbiRmYS12YXItZmxhc2s6IFxcZjBjMztcbiRmYS12YXItZmxpY2tyOiBcXGYxNmU7XG4kZmEtdmFyLWZsaXBib2FyZDogXFxmNDRkO1xuJGZhLXZhci1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWZseTogXFxmNDE3O1xuJGZhLXZhci1mb2xkZXI6IFxcZjA3YjtcbiRmYS12YXItZm9sZGVyLW1pbnVzOiBcXGY2NWQ7XG4kZmEtdmFyLWZvbGRlci1vcGVuOiBcXGYwN2M7XG4kZmEtdmFyLWZvbGRlci1wbHVzOiBcXGY2NWU7XG4kZmEtdmFyLWZvbnQ6IFxcZjAzMTtcbiRmYS12YXItZm9udC1hd2Vzb21lOiBcXGYyYjQ7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1hbHQ6IFxcZjM1YztcbiRmYS12YXItZm9udC1hd2Vzb21lLWZsYWc6IFxcZjQyNTtcbiRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbDogXFxmNGU2O1xuJGZhLXZhci1mb250aWNvbnM6IFxcZjI4MDtcbiRmYS12YXItZm9udGljb25zLWZpOiBcXGYzYTI7XG4kZmEtdmFyLWZvb3RiYWxsLWJhbGw6IFxcZjQ0ZTtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcXGYyODY7XG4kZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQ6IFxcZjNhMztcbiRmYS12YXItZm9ydW1iZWU6IFxcZjIxMTtcbiRmYS12YXItZm9yd2FyZDogXFxmMDRlO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcXGYxODA7XG4kZmEtdmFyLWZyZWUtY29kZS1jYW1wOiBcXGYyYzU7XG4kZmEtdmFyLWZyZWVic2Q6IFxcZjNhNDtcbiRmYS12YXItZnJvZzogXFxmNTJlO1xuJGZhLXZhci1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWZ1bGNydW06IFxcZjUwYjtcbiRmYS12YXItZnVubmVsLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1mdXRib2w6IFxcZjFlMztcbiRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWM6IFxcZjUwYztcbiRmYS12YXItZ2FsYWN0aWMtc2VuYXRlOiBcXGY1MGQ7XG4kZmEtdmFyLWdhbWVwYWQ6IFxcZjExYjtcbiRmYS12YXItZ2FzLXB1bXA6IFxcZjUyZjtcbiRmYS12YXItZ2F2ZWw6IFxcZjBlMztcbiRmYS12YXItZ2VtOiBcXGYzYTU7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFxcZjIyZDtcbiRmYS12YXItZ2V0LXBvY2tldDogXFxmMjY1O1xuJGZhLXZhci1nZzogXFxmMjYwO1xuJGZhLXZhci1nZy1jaXJjbGU6IFxcZjI2MTtcbiRmYS12YXItZ2hvc3Q6IFxcZjZlMjtcbiRmYS12YXItZ2lmdDogXFxmMDZiO1xuJGZhLXZhci1naWZ0czogXFxmNzljO1xuJGZhLXZhci1naXQ6IFxcZjFkMztcbiRmYS12YXItZ2l0LWFsdDogXFxmODQxO1xuJGZhLXZhci1naXQtc3F1YXJlOiBcXGYxZDI7XG4kZmEtdmFyLWdpdGh1YjogXFxmMDliO1xuJGZhLXZhci1naXRodWItYWx0OiBcXGYxMTM7XG4kZmEtdmFyLWdpdGh1Yi1zcXVhcmU6IFxcZjA5MjtcbiRmYS12YXItZ2l0a3Jha2VuOiBcXGYzYTY7XG4kZmEtdmFyLWdpdGxhYjogXFxmMjk2O1xuJGZhLXZhci1naXR0ZXI6IFxcZjQyNjtcbiRmYS12YXItZ2xhc3MtY2hlZXJzOiBcXGY3OWY7XG4kZmEtdmFyLWdsYXNzLW1hcnRpbmk6IFxcZjAwMDtcbiRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQ6IFxcZjU3YjtcbiRmYS12YXItZ2xhc3Mtd2hpc2tleTogXFxmN2EwO1xuJGZhLXZhci1nbGFzc2VzOiBcXGY1MzA7XG4kZmEtdmFyLWdsaWRlOiBcXGYyYTU7XG4kZmEtdmFyLWdsaWRlLWc6IFxcZjJhNjtcbiRmYS12YXItZ2xvYmU6IFxcZjBhYztcbiRmYS12YXItZ2xvYmUtYWZyaWNhOiBcXGY1N2M7XG4kZmEtdmFyLWdsb2JlLWFtZXJpY2FzOiBcXGY1N2Q7XG4kZmEtdmFyLWdsb2JlLWFzaWE6IFxcZjU3ZTtcbiRmYS12YXItZ2xvYmUtZXVyb3BlOiBcXGY3YTI7XG4kZmEtdmFyLWdvZm9yZTogXFxmM2E3O1xuJGZhLXZhci1nb2xmLWJhbGw6IFxcZjQ1MDtcbiRmYS12YXItZ29vZHJlYWRzOiBcXGYzYTg7XG4kZmEtdmFyLWdvb2RyZWFkcy1nOiBcXGYzYTk7XG4kZmEtdmFyLWdvb2dsZTogXFxmMWEwO1xuJGZhLXZhci1nb29nbGUtZHJpdmU6IFxcZjNhYTtcbiRmYS12YXItZ29vZ2xlLXBheTogXFxlMDc5O1xuJGZhLXZhci1nb29nbGUtcGxheTogXFxmM2FiO1xuJGZhLXZhci1nb29nbGUtcGx1czogXFxmMmIzO1xuJGZhLXZhci1nb29nbGUtcGx1cy1nOiBcXGYwZDU7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTogXFxmMGQ0O1xuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcXGYxZWU7XG4kZmEtdmFyLWdvcHVyYW06IFxcZjY2NDtcbiRmYS12YXItZ3JhZHVhdGlvbi1jYXA6IFxcZjE5ZDtcbiRmYS12YXItZ3JhdGlwYXk6IFxcZjE4NDtcbiRmYS12YXItZ3JhdjogXFxmMmQ2O1xuJGZhLXZhci1ncmVhdGVyLXRoYW46IFxcZjUzMTtcbiRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsOiBcXGY1MzI7XG4kZmEtdmFyLWdyaW1hY2U6IFxcZjU3ZjtcbiRmYS12YXItZ3JpbjogXFxmNTgwO1xuJGZhLXZhci1ncmluLWFsdDogXFxmNTgxO1xuJGZhLXZhci1ncmluLWJlYW06IFxcZjU4MjtcbiRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0OiBcXGY1ODM7XG4kZmEtdmFyLWdyaW4taGVhcnRzOiBcXGY1ODQ7XG4kZmEtdmFyLWdyaW4tc3F1aW50OiBcXGY1ODU7XG4kZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzOiBcXGY1ODY7XG4kZmEtdmFyLWdyaW4tc3RhcnM6IFxcZjU4NztcbiRmYS12YXItZ3Jpbi10ZWFyczogXFxmNTg4O1xuJGZhLXZhci1ncmluLXRvbmd1ZTogXFxmNTg5O1xuJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQ6IFxcZjU4YTtcbiRmYS12YXItZ3Jpbi10b25ndWUtd2luazogXFxmNThiO1xuJGZhLXZhci1ncmluLXdpbms6IFxcZjU4YztcbiRmYS12YXItZ3JpcC1ob3Jpem9udGFsOiBcXGY1OGQ7XG4kZmEtdmFyLWdyaXAtbGluZXM6IFxcZjdhNDtcbiRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbDogXFxmN2E1O1xuJGZhLXZhci1ncmlwLXZlcnRpY2FsOiBcXGY1OGU7XG4kZmEtdmFyLWdyaXBmaXJlOiBcXGYzYWM7XG4kZmEtdmFyLWdydW50OiBcXGYzYWQ7XG4kZmEtdmFyLWd1aWxkZWQ6IFxcZTA3ZTtcbiRmYS12YXItZ3VpdGFyOiBcXGY3YTY7XG4kZmEtdmFyLWd1bHA6IFxcZjNhZTtcbiRmYS12YXItaC1zcXVhcmU6IFxcZjBmZDtcbiRmYS12YXItaGFja2VyLW5ld3M6IFxcZjFkNDtcbiRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlOiBcXGYzYWY7XG4kZmEtdmFyLWhhY2tlcnJhbms6IFxcZjVmNztcbiRmYS12YXItaGFtYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLWhhbW1lcjogXFxmNmUzO1xuJGZhLXZhci1oYW1zYTogXFxmNjY1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmc6IFxcZjRiZDtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0OiBcXGY0YmU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1tZWRpY2FsOiBcXGUwNWM7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy11c2Q6IFxcZjRjMDtcbiRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyOiBcXGY0YzE7XG4kZmEtdmFyLWhhbmQtbGl6YXJkOiBcXGYyNTg7XG4kZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcjogXFxmODA2O1xuJGZhLXZhci1oYW5kLXBhcGVyOiBcXGYyNTY7XG4kZmEtdmFyLWhhbmQtcGVhY2U6IFxcZjI1YjtcbiRmYS12YXItaGFuZC1wb2ludC1kb3duOiBcXGYwYTc7XG4kZmEtdmFyLWhhbmQtcG9pbnQtbGVmdDogXFxmMGE1O1xuJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0OiBcXGYwYTQ7XG4kZmEtdmFyLWhhbmQtcG9pbnQtdXA6IFxcZjBhNjtcbiRmYS12YXItaGFuZC1wb2ludGVyOiBcXGYyNWE7XG4kZmEtdmFyLWhhbmQtcm9jazogXFxmMjU1O1xuJGZhLXZhci1oYW5kLXNjaXNzb3JzOiBcXGYyNTc7XG4kZmEtdmFyLWhhbmQtc3BhcmtsZXM6IFxcZTA1ZDtcbiRmYS12YXItaGFuZC1zcG9jazogXFxmMjU5O1xuJGZhLXZhci1oYW5kczogXFxmNGMyO1xuJGZhLXZhci1oYW5kcy1oZWxwaW5nOiBcXGY0YzQ7XG4kZmEtdmFyLWhhbmRzLXdhc2g6IFxcZTA1ZTtcbiRmYS12YXItaGFuZHNoYWtlOiBcXGYyYjU7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbHQtc2xhc2g6IFxcZTA1ZjtcbiRmYS12YXItaGFuZHNoYWtlLXNsYXNoOiBcXGUwNjA7XG4kZmEtdmFyLWhhbnVraWFoOiBcXGY2ZTY7XG4kZmEtdmFyLWhhcmQtaGF0OiBcXGY4MDc7XG4kZmEtdmFyLWhhc2h0YWc6IFxcZjI5MjtcbiRmYS12YXItaGF0LWNvd2JveTogXFxmOGMwO1xuJGZhLXZhci1oYXQtY293Ym95LXNpZGU6IFxcZjhjMTtcbiRmYS12YXItaGF0LXdpemFyZDogXFxmNmU4O1xuJGZhLXZhci1oZGQ6IFxcZjBhMDtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoOiBcXGUwNjE7XG4kZmEtdmFyLWhlYWQtc2lkZS1jb3VnaC1zbGFzaDogXFxlMDYyO1xuJGZhLXZhci1oZWFkLXNpZGUtbWFzazogXFxlMDYzO1xuJGZhLXZhci1oZWFkLXNpZGUtdmlydXM6IFxcZTA2NDtcbiRmYS12YXItaGVhZGluZzogXFxmMWRjO1xuJGZhLXZhci1oZWFkcGhvbmVzOiBcXGYwMjU7XG4kZmEtdmFyLWhlYWRwaG9uZXMtYWx0OiBcXGY1OGY7XG4kZmEtdmFyLWhlYWRzZXQ6IFxcZjU5MDtcbiRmYS12YXItaGVhcnQ6IFxcZjAwNDtcbiRmYS12YXItaGVhcnQtYnJva2VuOiBcXGY3YTk7XG4kZmEtdmFyLWhlYXJ0YmVhdDogXFxmMjFlO1xuJGZhLXZhci1oZWxpY29wdGVyOiBcXGY1MzM7XG4kZmEtdmFyLWhpZ2hsaWdodGVyOiBcXGY1OTE7XG4kZmEtdmFyLWhpa2luZzogXFxmNmVjO1xuJGZhLXZhci1oaXBwbzogXFxmNmVkO1xuJGZhLXZhci1oaXBzOiBcXGY0NTI7XG4kZmEtdmFyLWhpcmUtYS1oZWxwZXI6IFxcZjNiMDtcbiRmYS12YXItaGlzdG9yeTogXFxmMWRhO1xuJGZhLXZhci1oaXZlOiBcXGUwN2Y7XG4kZmEtdmFyLWhvY2tleS1wdWNrOiBcXGY0NTM7XG4kZmEtdmFyLWhvbGx5LWJlcnJ5OiBcXGY3YWE7XG4kZmEtdmFyLWhvbWU6IFxcZjAxNTtcbiRmYS12YXItaG9vbGk6IFxcZjQyNztcbiRmYS12YXItaG9ybmJpbGw6IFxcZjU5MjtcbiRmYS12YXItaG9yc2U6IFxcZjZmMDtcbiRmYS12YXItaG9yc2UtaGVhZDogXFxmN2FiO1xuJGZhLXZhci1ob3NwaXRhbDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC1hbHQ6IFxcZjQ3ZDtcbiRmYS12YXItaG9zcGl0YWwtc3ltYm9sOiBcXGY0N2U7XG4kZmEtdmFyLWhvc3BpdGFsLXVzZXI6IFxcZjgwZDtcbiRmYS12YXItaG90LXR1YjogXFxmNTkzO1xuJGZhLXZhci1ob3Rkb2c6IFxcZjgwZjtcbiRmYS12YXItaG90ZWw6IFxcZjU5NDtcbiRmYS12YXItaG90amFyOiBcXGYzYjE7XG4kZmEtdmFyLWhvdXJnbGFzczogXFxmMjU0O1xuJGZhLXZhci1ob3VyZ2xhc3MtZW5kOiBcXGYyNTM7XG4kZmEtdmFyLWhvdXJnbGFzcy1oYWxmOiBcXGYyNTI7XG4kZmEtdmFyLWhvdXJnbGFzcy1zdGFydDogXFxmMjUxO1xuJGZhLXZhci1ob3VzZS1kYW1hZ2U6IFxcZjZmMTtcbiRmYS12YXItaG91c2UtdXNlcjogXFxlMDY1O1xuJGZhLXZhci1ob3V6ejogXFxmMjdjO1xuJGZhLXZhci1ocnl2bmlhOiBcXGY2ZjI7XG4kZmEtdmFyLWh0bWw1OiBcXGYxM2I7XG4kZmEtdmFyLWh1YnNwb3Q6IFxcZjNiMjtcbiRmYS12YXItaS1jdXJzb3I6IFxcZjI0NjtcbiRmYS12YXItaWNlLWNyZWFtOiBcXGY4MTA7XG4kZmEtdmFyLWljaWNsZXM6IFxcZjdhZDtcbiRmYS12YXItaWNvbnM6IFxcZjg2ZDtcbiRmYS12YXItaWQtYmFkZ2U6IFxcZjJjMTtcbiRmYS12YXItaWQtY2FyZDogXFxmMmMyO1xuJGZhLXZhci1pZC1jYXJkLWFsdDogXFxmNDdmO1xuJGZhLXZhci1pZGVhbDogXFxlMDEzO1xuJGZhLXZhci1pZ2xvbzogXFxmN2FlO1xuJGZhLXZhci1pbWFnZTogXFxmMDNlO1xuJGZhLXZhci1pbWFnZXM6IFxcZjMwMjtcbiRmYS12YXItaW1kYjogXFxmMmQ4O1xuJGZhLXZhci1pbmJveDogXFxmMDFjO1xuJGZhLXZhci1pbmRlbnQ6IFxcZjAzYztcbiRmYS12YXItaW5kdXN0cnk6IFxcZjI3NTtcbiRmYS12YXItaW5maW5pdHk6IFxcZjUzNDtcbiRmYS12YXItaW5mbzogXFxmMTI5O1xuJGZhLXZhci1pbmZvLWNpcmNsZTogXFxmMDVhO1xuJGZhLXZhci1pbm5vc29mdDogXFxlMDgwO1xuJGZhLXZhci1pbnN0YWdyYW06IFxcZjE2ZDtcbiRmYS12YXItaW5zdGFncmFtLXNxdWFyZTogXFxlMDU1O1xuJGZhLXZhci1pbnN0YWxvZDogXFxlMDgxO1xuJGZhLXZhci1pbnRlcmNvbTogXFxmN2FmO1xuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXFxmMjZiO1xuJGZhLXZhci1pbnZpc2lvbjogXFxmN2IwO1xuJGZhLXZhci1pb3hob3N0OiBcXGYyMDg7XG4kZmEtdmFyLWl0YWxpYzogXFxmMDMzO1xuJGZhLXZhci1pdGNoLWlvOiBcXGY4M2E7XG4kZmEtdmFyLWl0dW5lczogXFxmM2I0O1xuJGZhLXZhci1pdHVuZXMtbm90ZTogXFxmM2I1O1xuJGZhLXZhci1qYXZhOiBcXGY0ZTQ7XG4kZmEtdmFyLWplZGk6IFxcZjY2OTtcbiRmYS12YXItamVkaS1vcmRlcjogXFxmNTBlO1xuJGZhLXZhci1qZW5raW5zOiBcXGYzYjY7XG4kZmEtdmFyLWppcmE6IFxcZjdiMTtcbiRmYS12YXItam9nZXQ6IFxcZjNiNztcbiRmYS12YXItam9pbnQ6IFxcZjU5NTtcbiRmYS12YXItam9vbWxhOiBcXGYxYWE7XG4kZmEtdmFyLWpvdXJuYWwtd2hpbGxzOiBcXGY2NmE7XG4kZmEtdmFyLWpzOiBcXGYzYjg7XG4kZmEtdmFyLWpzLXNxdWFyZTogXFxmM2I5O1xuJGZhLXZhci1qc2ZpZGRsZTogXFxmMWNjO1xuJGZhLXZhci1rYWFiYTogXFxmNjZiO1xuJGZhLXZhci1rYWdnbGU6IFxcZjVmYTtcbiRmYS12YXIta2V5OiBcXGYwODQ7XG4kZmEtdmFyLWtleWJhc2U6IFxcZjRmNTtcbiRmYS12YXIta2V5Ym9hcmQ6IFxcZjExYztcbiRmYS12YXIta2V5Y2RuOiBcXGYzYmE7XG4kZmEtdmFyLWtoYW5kYTogXFxmNjZkO1xuJGZhLXZhci1raWNrc3RhcnRlcjogXFxmM2JiO1xuJGZhLXZhci1raWNrc3RhcnRlci1rOiBcXGYzYmM7XG4kZmEtdmFyLWtpc3M6IFxcZjU5NjtcbiRmYS12YXIta2lzcy1iZWFtOiBcXGY1OTc7XG4kZmEtdmFyLWtpc3Mtd2luay1oZWFydDogXFxmNTk4O1xuJGZhLXZhci1raXdpLWJpcmQ6IFxcZjUzNTtcbiRmYS12YXIta29ydnVlOiBcXGY0MmY7XG4kZmEtdmFyLWxhbmRtYXJrOiBcXGY2NmY7XG4kZmEtdmFyLWxhbmd1YWdlOiBcXGYxYWI7XG4kZmEtdmFyLWxhcHRvcDogXFxmMTA5O1xuJGZhLXZhci1sYXB0b3AtY29kZTogXFxmNWZjO1xuJGZhLXZhci1sYXB0b3AtaG91c2U6IFxcZTA2NjtcbiRmYS12YXItbGFwdG9wLW1lZGljYWw6IFxcZjgxMjtcbiRmYS12YXItbGFyYXZlbDogXFxmM2JkO1xuJGZhLXZhci1sYXN0Zm06IFxcZjIwMjtcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXFxmMjAzO1xuJGZhLXZhci1sYXVnaDogXFxmNTk5O1xuJGZhLXZhci1sYXVnaC1iZWFtOiBcXGY1OWE7XG4kZmEtdmFyLWxhdWdoLXNxdWludDogXFxmNTliO1xuJGZhLXZhci1sYXVnaC13aW5rOiBcXGY1OWM7XG4kZmEtdmFyLWxheWVyLWdyb3VwOiBcXGY1ZmQ7XG4kZmEtdmFyLWxlYWY6IFxcZjA2YztcbiRmYS12YXItbGVhbnB1YjogXFxmMjEyO1xuJGZhLXZhci1sZW1vbjogXFxmMDk0O1xuJGZhLXZhci1sZXNzOiBcXGY0MWQ7XG4kZmEtdmFyLWxlc3MtdGhhbjogXFxmNTM2O1xuJGZhLXZhci1sZXNzLXRoYW4tZXF1YWw6IFxcZjUzNztcbiRmYS12YXItbGV2ZWwtZG93bi1hbHQ6IFxcZjNiZTtcbiRmYS12YXItbGV2ZWwtdXAtYWx0OiBcXGYzYmY7XG4kZmEtdmFyLWxpZmUtcmluZzogXFxmMWNkO1xuJGZhLXZhci1saWdodGJ1bGI6IFxcZjBlYjtcbiRmYS12YXItbGluZTogXFxmM2MwO1xuJGZhLXZhci1saW5rOiBcXGYwYzE7XG4kZmEtdmFyLWxpbmtlZGluOiBcXGYwOGM7XG4kZmEtdmFyLWxpbmtlZGluLWluOiBcXGYwZTE7XG4kZmEtdmFyLWxpbm9kZTogXFxmMmI4O1xuJGZhLXZhci1saW51eDogXFxmMTdjO1xuJGZhLXZhci1saXJhLXNpZ246IFxcZjE5NTtcbiRmYS12YXItbGlzdDogXFxmMDNhO1xuJGZhLXZhci1saXN0LWFsdDogXFxmMDIyO1xuJGZhLXZhci1saXN0LW9sOiBcXGYwY2I7XG4kZmEtdmFyLWxpc3QtdWw6IFxcZjBjYTtcbiRmYS12YXItbG9jYXRpb24tYXJyb3c6IFxcZjEyNDtcbiRmYS12YXItbG9jazogXFxmMDIzO1xuJGZhLXZhci1sb2NrLW9wZW46IFxcZjNjMTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bjogXFxmMzA5O1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0OiBcXGYzMGE7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXJpZ2h0OiBcXGYzMGI7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwOiBcXGYzMGM7XG4kZmEtdmFyLWxvdy12aXNpb246IFxcZjJhODtcbiRmYS12YXItbHVnZ2FnZS1jYXJ0OiBcXGY1OWQ7XG4kZmEtdmFyLWx1bmdzOiBcXGY2MDQ7XG4kZmEtdmFyLWx1bmdzLXZpcnVzOiBcXGUwNjc7XG4kZmEtdmFyLWx5ZnQ6IFxcZjNjMztcbiRmYS12YXItbWFnZW50bzogXFxmM2M0O1xuJGZhLXZhci1tYWdpYzogXFxmMGQwO1xuJGZhLXZhci1tYWduZXQ6IFxcZjA3NjtcbiRmYS12YXItbWFpbC1idWxrOiBcXGY2NzQ7XG4kZmEtdmFyLW1haWxjaGltcDogXFxmNTllO1xuJGZhLXZhci1tYWxlOiBcXGYxODM7XG4kZmEtdmFyLW1hbmRhbG9yaWFuOiBcXGY1MGY7XG4kZmEtdmFyLW1hcDogXFxmMjc5O1xuJGZhLXZhci1tYXAtbWFya2VkOiBcXGY1OWY7XG4kZmEtdmFyLW1hcC1tYXJrZWQtYWx0OiBcXGY1YTA7XG4kZmEtdmFyLW1hcC1tYXJrZXI6IFxcZjA0MTtcbiRmYS12YXItbWFwLW1hcmtlci1hbHQ6IFxcZjNjNTtcbiRmYS12YXItbWFwLXBpbjogXFxmMjc2O1xuJGZhLXZhci1tYXAtc2lnbnM6IFxcZjI3NztcbiRmYS12YXItbWFya2Rvd246IFxcZjYwZjtcbiRmYS12YXItbWFya2VyOiBcXGY1YTE7XG4kZmEtdmFyLW1hcnM6IFxcZjIyMjtcbiRmYS12YXItbWFycy1kb3VibGU6IFxcZjIyNztcbiRmYS12YXItbWFycy1zdHJva2U6IFxcZjIyOTtcbiRmYS12YXItbWFycy1zdHJva2UtaDogXFxmMjJiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS12OiBcXGYyMmE7XG4kZmEtdmFyLW1hc2s6IFxcZjZmYTtcbiRmYS12YXItbWFzdG9kb246IFxcZjRmNjtcbiRmYS12YXItbWF4Y2RuOiBcXGYxMzY7XG4kZmEtdmFyLW1kYjogXFxmOGNhO1xuJGZhLXZhci1tZWRhbDogXFxmNWEyO1xuJGZhLXZhci1tZWRhcHBzOiBcXGYzYzY7XG4kZmEtdmFyLW1lZGl1bTogXFxmMjNhO1xuJGZhLXZhci1tZWRpdW0tbTogXFxmM2M3O1xuJGZhLXZhci1tZWRraXQ6IFxcZjBmYTtcbiRmYS12YXItbWVkcnQ6IFxcZjNjODtcbiRmYS12YXItbWVldHVwOiBcXGYyZTA7XG4kZmEtdmFyLW1lZ2Fwb3J0OiBcXGY1YTM7XG4kZmEtdmFyLW1laDogXFxmMTFhO1xuJGZhLXZhci1tZWgtYmxhbms6IFxcZjVhNDtcbiRmYS12YXItbWVoLXJvbGxpbmctZXllczogXFxmNWE1O1xuJGZhLXZhci1tZW1vcnk6IFxcZjUzODtcbiRmYS12YXItbWVuZGVsZXk6IFxcZjdiMztcbiRmYS12YXItbWVub3JhaDogXFxmNjc2O1xuJGZhLXZhci1tZXJjdXJ5OiBcXGYyMjM7XG4kZmEtdmFyLW1ldGVvcjogXFxmNzUzO1xuJGZhLXZhci1taWNyb2Jsb2c6IFxcZTAxYTtcbiRmYS12YXItbWljcm9jaGlwOiBcXGYyZGI7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFxcZjEzMDtcbiRmYS12YXItbWljcm9waG9uZS1hbHQ6IFxcZjNjOTtcbiRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2g6IFxcZjUzOTtcbiRmYS12YXItbWljcm9waG9uZS1zbGFzaDogXFxmMTMxO1xuJGZhLXZhci1taWNyb3Njb3BlOiBcXGY2MTA7XG4kZmEtdmFyLW1pY3Jvc29mdDogXFxmM2NhO1xuJGZhLXZhci1taW51czogXFxmMDY4O1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFxcZjA1NjtcbiRmYS12YXItbWludXMtc3F1YXJlOiBcXGYxNDY7XG4kZmEtdmFyLW1pdHRlbjogXFxmN2I1O1xuJGZhLXZhci1taXg6IFxcZjNjYjtcbiRmYS12YXItbWl4Y2xvdWQ6IFxcZjI4OTtcbiRmYS12YXItbWl4ZXI6IFxcZTA1NjtcbiRmYS12YXItbWl6dW5pOiBcXGYzY2M7XG4kZmEtdmFyLW1vYmlsZTogXFxmMTBiO1xuJGZhLXZhci1tb2JpbGUtYWx0OiBcXGYzY2Q7XG4kZmEtdmFyLW1vZHg6IFxcZjI4NTtcbiRmYS12YXItbW9uZXJvOiBcXGYzZDA7XG4kZmEtdmFyLW1vbmV5LWJpbGw6IFxcZjBkNjtcbiRmYS12YXItbW9uZXktYmlsbC1hbHQ6IFxcZjNkMTtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlOiBcXGY1M2E7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6IFxcZjUzYjtcbiRmYS12YXItbW9uZXktY2hlY2s6IFxcZjUzYztcbiRmYS12YXItbW9uZXktY2hlY2stYWx0OiBcXGY1M2Q7XG4kZmEtdmFyLW1vbnVtZW50OiBcXGY1YTY7XG4kZmEtdmFyLW1vb246IFxcZjE4NjtcbiRmYS12YXItbW9ydGFyLXBlc3RsZTogXFxmNWE3O1xuJGZhLXZhci1tb3NxdWU6IFxcZjY3ODtcbiRmYS12YXItbW90b3JjeWNsZTogXFxmMjFjO1xuJGZhLXZhci1tb3VudGFpbjogXFxmNmZjO1xuJGZhLXZhci1tb3VzZTogXFxmOGNjO1xuJGZhLXZhci1tb3VzZS1wb2ludGVyOiBcXGYyNDU7XG4kZmEtdmFyLW11Zy1ob3Q6IFxcZjdiNjtcbiRmYS12YXItbXVzaWM6IFxcZjAwMTtcbiRmYS12YXItbmFwc3RlcjogXFxmM2QyO1xuJGZhLXZhci1uZW9zOiBcXGY2MTI7XG4kZmEtdmFyLW5ldHdvcmstd2lyZWQ6IFxcZjZmZjtcbiRmYS12YXItbmV1dGVyOiBcXGYyMmM7XG4kZmEtdmFyLW5ld3NwYXBlcjogXFxmMWVhO1xuJGZhLXZhci1uaW1ibHI6IFxcZjVhODtcbiRmYS12YXItbm9kZTogXFxmNDE5O1xuJGZhLXZhci1ub2RlLWpzOiBcXGYzZDM7XG4kZmEtdmFyLW5vdC1lcXVhbDogXFxmNTNlO1xuJGZhLXZhci1ub3Rlcy1tZWRpY2FsOiBcXGY0ODE7XG4kZmEtdmFyLW5wbTogXFxmM2Q0O1xuJGZhLXZhci1uczg6IFxcZjNkNTtcbiRmYS12YXItbnV0cml0aW9uaXg6IFxcZjNkNjtcbiRmYS12YXItb2JqZWN0LWdyb3VwOiBcXGYyNDc7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcXGYyNDg7XG4kZmEtdmFyLW9jdG9wdXMtZGVwbG95OiBcXGUwODI7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2k6IFxcZjI2MztcbiRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU6IFxcZjI2NDtcbiRmYS12YXItb2lsLWNhbjogXFxmNjEzO1xuJGZhLXZhci1vbGQtcmVwdWJsaWM6IFxcZjUxMDtcbiRmYS12YXItb206IFxcZjY3OTtcbiRmYS12YXItb3BlbmNhcnQ6IFxcZjIzZDtcbiRmYS12YXItb3BlbmlkOiBcXGYxOWI7XG4kZmEtdmFyLW9wZXJhOiBcXGYyNmE7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFxcZjIzYztcbiRmYS12YXItb3JjaWQ6IFxcZjhkMjtcbiRmYS12YXItb3NpOiBcXGY0MWE7XG4kZmEtdmFyLW90dGVyOiBcXGY3MDA7XG4kZmEtdmFyLW91dGRlbnQ6IFxcZjAzYjtcbiRmYS12YXItcGFnZTQ6IFxcZjNkNztcbiRmYS12YXItcGFnZWxpbmVzOiBcXGYxOGM7XG4kZmEtdmFyLXBhZ2VyOiBcXGY4MTU7XG4kZmEtdmFyLXBhaW50LWJydXNoOiBcXGYxZmM7XG4kZmEtdmFyLXBhaW50LXJvbGxlcjogXFxmNWFhO1xuJGZhLXZhci1wYWxldHRlOiBcXGY1M2Y7XG4kZmEtdmFyLXBhbGZlZDogXFxmM2Q4O1xuJGZhLXZhci1wYWxsZXQ6IFxcZjQ4MjtcbiRmYS12YXItcGFwZXItcGxhbmU6IFxcZjFkODtcbiRmYS12YXItcGFwZXJjbGlwOiBcXGYwYzY7XG4kZmEtdmFyLXBhcmFjaHV0ZS1ib3g6IFxcZjRjZDtcbiRmYS12YXItcGFyYWdyYXBoOiBcXGYxZGQ7XG4kZmEtdmFyLXBhcmtpbmc6IFxcZjU0MDtcbiRmYS12YXItcGFzc3BvcnQ6IFxcZjVhYjtcbiRmYS12YXItcGFzdGFmYXJpYW5pc206IFxcZjY3YjtcbiRmYS12YXItcGFzdGU6IFxcZjBlYTtcbiRmYS12YXItcGF0cmVvbjogXFxmM2Q5O1xuJGZhLXZhci1wYXVzZTogXFxmMDRjO1xuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFxcZjI4YjtcbiRmYS12YXItcGF3OiBcXGYxYjA7XG4kZmEtdmFyLXBheXBhbDogXFxmMWVkO1xuJGZhLXZhci1wZWFjZTogXFxmNjdjO1xuJGZhLXZhci1wZW46IFxcZjMwNDtcbiRmYS12YXItcGVuLWFsdDogXFxmMzA1O1xuJGZhLXZhci1wZW4tZmFuY3k6IFxcZjVhYztcbiRmYS12YXItcGVuLW5pYjogXFxmNWFkO1xuJGZhLXZhci1wZW4tc3F1YXJlOiBcXGYxNGI7XG4kZmEtdmFyLXBlbmNpbC1hbHQ6IFxcZjMwMztcbiRmYS12YXItcGVuY2lsLXJ1bGVyOiBcXGY1YWU7XG4kZmEtdmFyLXBlbm55LWFyY2FkZTogXFxmNzA0O1xuJGZhLXZhci1wZW9wbGUtYXJyb3dzOiBcXGUwNjg7XG4kZmEtdmFyLXBlb3BsZS1jYXJyeTogXFxmNGNlO1xuJGZhLXZhci1wZXBwZXItaG90OiBcXGY4MTY7XG4kZmEtdmFyLXBlcmJ5dGU6IFxcZTA4MztcbiRmYS12YXItcGVyY2VudDogXFxmMjk1O1xuJGZhLXZhci1wZXJjZW50YWdlOiBcXGY1NDE7XG4kZmEtdmFyLXBlcmlzY29wZTogXFxmM2RhO1xuJGZhLXZhci1wZXJzb24tYm9vdGg6IFxcZjc1NjtcbiRmYS12YXItcGhhYnJpY2F0b3I6IFxcZjNkYjtcbiRmYS12YXItcGhvZW5peC1mcmFtZXdvcms6IFxcZjNkYztcbiRmYS12YXItcGhvZW5peC1zcXVhZHJvbjogXFxmNTExO1xuJGZhLXZhci1waG9uZTogXFxmMDk1O1xuJGZhLXZhci1waG9uZS1hbHQ6IFxcZjg3OTtcbiRmYS12YXItcGhvbmUtc2xhc2g6IFxcZjNkZDtcbiRmYS12YXItcGhvbmUtc3F1YXJlOiBcXGYwOTg7XG4kZmEtdmFyLXBob25lLXNxdWFyZS1hbHQ6IFxcZjg3YjtcbiRmYS12YXItcGhvbmUtdm9sdW1lOiBcXGYyYTA7XG4kZmEtdmFyLXBob3RvLXZpZGVvOiBcXGY4N2M7XG4kZmEtdmFyLXBocDogXFxmNDU3O1xuJGZhLXZhci1waWVkLXBpcGVyOiBcXGYyYWU7XG4kZmEtdmFyLXBpZWQtcGlwZXItYWx0OiBcXGYxYTg7XG4kZmEtdmFyLXBpZWQtcGlwZXItaGF0OiBcXGY0ZTU7XG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFxcZjFhNztcbiRmYS12YXItcGllZC1waXBlci1zcXVhcmU6IFxcZTAxZTtcbiRmYS12YXItcGlnZ3ktYmFuazogXFxmNGQzO1xuJGZhLXZhci1waWxsczogXFxmNDg0O1xuJGZhLXZhci1waW50ZXJlc3Q6IFxcZjBkMjtcbiRmYS12YXItcGludGVyZXN0LXA6IFxcZjIzMTtcbiRmYS12YXItcGludGVyZXN0LXNxdWFyZTogXFxmMGQzO1xuJGZhLXZhci1waXp6YS1zbGljZTogXFxmODE4O1xuJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwOiBcXGY2N2Y7XG4kZmEtdmFyLXBsYW5lOiBcXGYwNzI7XG4kZmEtdmFyLXBsYW5lLWFycml2YWw6IFxcZjVhZjtcbiRmYS12YXItcGxhbmUtZGVwYXJ0dXJlOiBcXGY1YjA7XG4kZmEtdmFyLXBsYW5lLXNsYXNoOiBcXGUwNjk7XG4kZmEtdmFyLXBsYXk6IFxcZjA0YjtcbiRmYS12YXItcGxheS1jaXJjbGU6IFxcZjE0NDtcbiRmYS12YXItcGxheXN0YXRpb246IFxcZjNkZjtcbiRmYS12YXItcGx1ZzogXFxmMWU2O1xuJGZhLXZhci1wbHVzOiBcXGYwNjc7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcXGYwNTU7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcXGYwZmU7XG4kZmEtdmFyLXBvZGNhc3Q6IFxcZjJjZTtcbiRmYS12YXItcG9sbDogXFxmNjgxO1xuJGZhLXZhci1wb2xsLWg6IFxcZjY4MjtcbiRmYS12YXItcG9vOiBcXGYyZmU7XG4kZmEtdmFyLXBvby1zdG9ybTogXFxmNzVhO1xuJGZhLXZhci1wb29wOiBcXGY2MTk7XG4kZmEtdmFyLXBvcnRyYWl0OiBcXGYzZTA7XG4kZmEtdmFyLXBvdW5kLXNpZ246IFxcZjE1NDtcbiRmYS12YXItcG93ZXItb2ZmOiBcXGYwMTE7XG4kZmEtdmFyLXByYXk6IFxcZjY4MztcbiRmYS12YXItcHJheWluZy1oYW5kczogXFxmNjg0O1xuJGZhLXZhci1wcmVzY3JpcHRpb246IFxcZjViMTtcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZTogXFxmNDg1O1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDogXFxmNDg2O1xuJGZhLXZhci1wcmludDogXFxmMDJmO1xuJGZhLXZhci1wcm9jZWR1cmVzOiBcXGY0ODc7XG4kZmEtdmFyLXByb2R1Y3QtaHVudDogXFxmMjg4O1xuJGZhLXZhci1wcm9qZWN0LWRpYWdyYW06IFxcZjU0MjtcbiRmYS12YXItcHVtcC1tZWRpY2FsOiBcXGUwNmE7XG4kZmEtdmFyLXB1bXAtc29hcDogXFxlMDZiO1xuJGZhLXZhci1wdXNoZWQ6IFxcZjNlMTtcbiRmYS12YXItcHV6emxlLXBpZWNlOiBcXGYxMmU7XG4kZmEtdmFyLXB5dGhvbjogXFxmM2UyO1xuJGZhLXZhci1xcTogXFxmMWQ2O1xuJGZhLXZhci1xcmNvZGU6IFxcZjAyOTtcbiRmYS12YXItcXVlc3Rpb246IFxcZjEyODtcbiRmYS12YXItcXVlc3Rpb24tY2lyY2xlOiBcXGYwNTk7XG4kZmEtdmFyLXF1aWRkaXRjaDogXFxmNDU4O1xuJGZhLXZhci1xdWluc2NhcGU6IFxcZjQ1OTtcbiRmYS12YXItcXVvcmE6IFxcZjJjNDtcbiRmYS12YXItcXVvdGUtbGVmdDogXFxmMTBkO1xuJGZhLXZhci1xdW90ZS1yaWdodDogXFxmMTBlO1xuJGZhLXZhci1xdXJhbjogXFxmNjg3O1xuJGZhLXZhci1yLXByb2plY3Q6IFxcZjRmNztcbiRmYS12YXItcmFkaWF0aW9uOiBcXGY3Yjk7XG4kZmEtdmFyLXJhZGlhdGlvbi1hbHQ6IFxcZjdiYTtcbiRmYS12YXItcmFpbmJvdzogXFxmNzViO1xuJGZhLXZhci1yYW5kb206IFxcZjA3NDtcbiRmYS12YXItcmFzcGJlcnJ5LXBpOiBcXGY3YmI7XG4kZmEtdmFyLXJhdmVscnk6IFxcZjJkOTtcbiRmYS12YXItcmVhY3Q6IFxcZjQxYjtcbiRmYS12YXItcmVhY3RldXJvcGU6IFxcZjc1ZDtcbiRmYS12YXItcmVhZG1lOiBcXGY0ZDU7XG4kZmEtdmFyLXJlYmVsOiBcXGYxZDA7XG4kZmEtdmFyLXJlY2VpcHQ6IFxcZjU0MztcbiRmYS12YXItcmVjb3JkLXZpbnlsOiBcXGY4ZDk7XG4kZmEtdmFyLXJlY3ljbGU6IFxcZjFiODtcbiRmYS12YXItcmVkLXJpdmVyOiBcXGYzZTM7XG4kZmEtdmFyLXJlZGRpdDogXFxmMWExO1xuJGZhLXZhci1yZWRkaXQtYWxpZW46IFxcZjI4MTtcbiRmYS12YXItcmVkZGl0LXNxdWFyZTogXFxmMWEyO1xuJGZhLXZhci1yZWRoYXQ6IFxcZjdiYztcbiRmYS12YXItcmVkbzogXFxmMDFlO1xuJGZhLXZhci1yZWRvLWFsdDogXFxmMmY5O1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcXGYyNWQ7XG4kZmEtdmFyLXJlbW92ZS1mb3JtYXQ6IFxcZjg3ZDtcbiRmYS12YXItcmVucmVuOiBcXGYxOGI7XG4kZmEtdmFyLXJlcGx5OiBcXGYzZTU7XG4kZmEtdmFyLXJlcGx5LWFsbDogXFxmMTIyO1xuJGZhLXZhci1yZXBseWQ6IFxcZjNlNjtcbiRmYS12YXItcmVwdWJsaWNhbjogXFxmNzVlO1xuJGZhLXZhci1yZXNlYXJjaGdhdGU6IFxcZjRmODtcbiRmYS12YXItcmVzb2x2aW5nOiBcXGYzZTc7XG4kZmEtdmFyLXJlc3Ryb29tOiBcXGY3YmQ7XG4kZmEtdmFyLXJldHdlZXQ6IFxcZjA3OTtcbiRmYS12YXItcmV2OiBcXGY1YjI7XG4kZmEtdmFyLXJpYmJvbjogXFxmNGQ2O1xuJGZhLXZhci1yaW5nOiBcXGY3MGI7XG4kZmEtdmFyLXJvYWQ6IFxcZjAxODtcbiRmYS12YXItcm9ib3Q6IFxcZjU0NDtcbiRmYS12YXItcm9ja2V0OiBcXGYxMzU7XG4kZmEtdmFyLXJvY2tldGNoYXQ6IFxcZjNlODtcbiRmYS12YXItcm9ja3JtczogXFxmM2U5O1xuJGZhLXZhci1yb3V0ZTogXFxmNGQ3O1xuJGZhLXZhci1yc3M6IFxcZjA5ZTtcbiRmYS12YXItcnNzLXNxdWFyZTogXFxmMTQzO1xuJGZhLXZhci1ydWJsZS1zaWduOiBcXGYxNTg7XG4kZmEtdmFyLXJ1bGVyOiBcXGY1NDU7XG4kZmEtdmFyLXJ1bGVyLWNvbWJpbmVkOiBcXGY1NDY7XG4kZmEtdmFyLXJ1bGVyLWhvcml6b250YWw6IFxcZjU0NztcbiRmYS12YXItcnVsZXItdmVydGljYWw6IFxcZjU0ODtcbiRmYS12YXItcnVubmluZzogXFxmNzBjO1xuJGZhLXZhci1ydXBlZS1zaWduOiBcXGYxNTY7XG4kZmEtdmFyLXJ1c3Q6IFxcZTA3YTtcbiRmYS12YXItc2FkLWNyeTogXFxmNWIzO1xuJGZhLXZhci1zYWQtdGVhcjogXFxmNWI0O1xuJGZhLXZhci1zYWZhcmk6IFxcZjI2NztcbiRmYS12YXItc2FsZXNmb3JjZTogXFxmODNiO1xuJGZhLXZhci1zYXNzOiBcXGY0MWU7XG4kZmEtdmFyLXNhdGVsbGl0ZTogXFxmN2JmO1xuJGZhLXZhci1zYXRlbGxpdGUtZGlzaDogXFxmN2MwO1xuJGZhLXZhci1zYXZlOiBcXGYwYzc7XG4kZmEtdmFyLXNjaGxpeDogXFxmM2VhO1xuJGZhLXZhci1zY2hvb2w6IFxcZjU0OTtcbiRmYS12YXItc2NyZXdkcml2ZXI6IFxcZjU0YTtcbiRmYS12YXItc2NyaWJkOiBcXGYyOGE7XG4kZmEtdmFyLXNjcm9sbDogXFxmNzBlO1xuJGZhLXZhci1zZC1jYXJkOiBcXGY3YzI7XG4kZmEtdmFyLXNlYXJjaDogXFxmMDAyO1xuJGZhLXZhci1zZWFyY2gtZG9sbGFyOiBcXGY2ODg7XG4kZmEtdmFyLXNlYXJjaC1sb2NhdGlvbjogXFxmNjg5O1xuJGZhLXZhci1zZWFyY2gtbWludXM6IFxcZjAxMDtcbiRmYS12YXItc2VhcmNoLXBsdXM6IFxcZjAwZTtcbiRmYS12YXItc2VhcmNoZW5naW46IFxcZjNlYjtcbiRmYS12YXItc2VlZGxpbmc6IFxcZjRkODtcbiRmYS12YXItc2VsbGNhc3Q6IFxcZjJkYTtcbiRmYS12YXItc2VsbHN5OiBcXGYyMTM7XG4kZmEtdmFyLXNlcnZlcjogXFxmMjMzO1xuJGZhLXZhci1zZXJ2aWNlc3RhY2s6IFxcZjNlYztcbiRmYS12YXItc2hhcGVzOiBcXGY2MWY7XG4kZmEtdmFyLXNoYXJlOiBcXGYwNjQ7XG4kZmEtdmFyLXNoYXJlLWFsdDogXFxmMWUwO1xuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcXGYxZTE7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXFxmMTRkO1xuJGZhLXZhci1zaGVrZWwtc2lnbjogXFxmMjBiO1xuJGZhLXZhci1zaGllbGQtYWx0OiBcXGYzZWQ7XG4kZmEtdmFyLXNoaWVsZC12aXJ1czogXFxlMDZjO1xuJGZhLXZhci1zaGlwOiBcXGYyMWE7XG4kZmEtdmFyLXNoaXBwaW5nLWZhc3Q6IFxcZjQ4YjtcbiRmYS12YXItc2hpcnRzaW5idWxrOiBcXGYyMTQ7XG4kZmEtdmFyLXNob2UtcHJpbnRzOiBcXGY1NGI7XG4kZmEtdmFyLXNob3BpZnk6IFxcZTA1NztcbiRmYS12YXItc2hvcHBpbmctYmFnOiBcXGYyOTA7XG4kZmEtdmFyLXNob3BwaW5nLWJhc2tldDogXFxmMjkxO1xuJGZhLXZhci1zaG9wcGluZy1jYXJ0OiBcXGYwN2E7XG4kZmEtdmFyLXNob3B3YXJlOiBcXGY1YjU7XG4kZmEtdmFyLXNob3dlcjogXFxmMmNjO1xuJGZhLXZhci1zaHV0dGxlLXZhbjogXFxmNWI2O1xuJGZhLXZhci1zaWduOiBcXGY0ZDk7XG4kZmEtdmFyLXNpZ24taW4tYWx0OiBcXGYyZjY7XG4kZmEtdmFyLXNpZ24tbGFuZ3VhZ2U6IFxcZjJhNztcbiRmYS12YXItc2lnbi1vdXQtYWx0OiBcXGYyZjU7XG4kZmEtdmFyLXNpZ25hbDogXFxmMDEyO1xuJGZhLXZhci1zaWduYXR1cmU6IFxcZjViNztcbiRmYS12YXItc2ltLWNhcmQ6IFxcZjdjNDtcbiRmYS12YXItc2ltcGx5YnVpbHQ6IFxcZjIxNTtcbiRmYS12YXItc2luazogXFxlMDZkO1xuJGZhLXZhci1zaXN0cml4OiBcXGYzZWU7XG4kZmEtdmFyLXNpdGVtYXA6IFxcZjBlODtcbiRmYS12YXItc2l0aDogXFxmNTEyO1xuJGZhLXZhci1za2F0aW5nOiBcXGY3YzU7XG4kZmEtdmFyLXNrZXRjaDogXFxmN2M2O1xuJGZhLXZhci1za2lpbmc6IFxcZjdjOTtcbiRmYS12YXItc2tpaW5nLW5vcmRpYzogXFxmN2NhO1xuJGZhLXZhci1za3VsbDogXFxmNTRjO1xuJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzOiBcXGY3MTQ7XG4kZmEtdmFyLXNreWF0bGFzOiBcXGYyMTY7XG4kZmEtdmFyLXNreXBlOiBcXGYxN2U7XG4kZmEtdmFyLXNsYWNrOiBcXGYxOTg7XG4kZmEtdmFyLXNsYWNrLWhhc2g6IFxcZjNlZjtcbiRmYS12YXItc2xhc2g6IFxcZjcxNTtcbiRmYS12YXItc2xlaWdoOiBcXGY3Y2M7XG4kZmEtdmFyLXNsaWRlcnMtaDogXFxmMWRlO1xuJGZhLXZhci1zbGlkZXNoYXJlOiBcXGYxZTc7XG4kZmEtdmFyLXNtaWxlOiBcXGYxMTg7XG4kZmEtdmFyLXNtaWxlLWJlYW06IFxcZjViODtcbiRmYS12YXItc21pbGUtd2luazogXFxmNGRhO1xuJGZhLXZhci1zbW9nOiBcXGY3NWY7XG4kZmEtdmFyLXNtb2tpbmc6IFxcZjQ4ZDtcbiRmYS12YXItc21va2luZy1iYW46IFxcZjU0ZDtcbiRmYS12YXItc21zOiBcXGY3Y2Q7XG4kZmEtdmFyLXNuYXBjaGF0OiBcXGYyYWI7XG4kZmEtdmFyLXNuYXBjaGF0LWdob3N0OiBcXGYyYWM7XG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXFxmMmFkO1xuJGZhLXZhci1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItc25vd2ZsYWtlOiBcXGYyZGM7XG4kZmEtdmFyLXNub3dtYW46IFxcZjdkMDtcbiRmYS12YXItc25vd3Bsb3c6IFxcZjdkMjtcbiRmYS12YXItc29hcDogXFxlMDZlO1xuJGZhLXZhci1zb2NrczogXFxmNjk2O1xuJGZhLXZhci1zb2xhci1wYW5lbDogXFxmNWJhO1xuJGZhLXZhci1zb3J0OiBcXGYwZGM7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bjogXFxmMTVkO1xuJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0OiBcXGY4ODE7XG4kZmEtdmFyLXNvcnQtYWxwaGEtdXA6IFxcZjE1ZTtcbiRmYS12YXItc29ydC1hbHBoYS11cC1hbHQ6IFxcZjg4MjtcbiRmYS12YXItc29ydC1hbW91bnQtZG93bjogXFxmMTYwO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duLWFsdDogXFxmODg0O1xuJGZhLXZhci1zb3J0LWFtb3VudC11cDogXFxmMTYxO1xuJGZhLXZhci1zb3J0LWFtb3VudC11cC1hbHQ6IFxcZjg4NTtcbiRmYS12YXItc29ydC1kb3duOiBcXGYwZGQ7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duOiBcXGYxNjI7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duLWFsdDogXFxmODg2O1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXA6IFxcZjE2MztcbiRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdDogXFxmODg3O1xuJGZhLXZhci1zb3J0LXVwOiBcXGYwZGU7XG4kZmEtdmFyLXNvdW5kY2xvdWQ6IFxcZjFiZTtcbiRmYS12YXItc291cmNldHJlZTogXFxmN2QzO1xuJGZhLXZhci1zcGE6IFxcZjViYjtcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXFxmMTk3O1xuJGZhLXZhci1zcGVha2FwOiBcXGYzZjM7XG4kZmEtdmFyLXNwZWFrZXItZGVjazogXFxmODNjO1xuJGZhLXZhci1zcGVsbC1jaGVjazogXFxmODkxO1xuJGZhLXZhci1zcGlkZXI6IFxcZjcxNztcbiRmYS12YXItc3Bpbm5lcjogXFxmMTEwO1xuJGZhLXZhci1zcGxvdGNoOiBcXGY1YmM7XG4kZmEtdmFyLXNwb3RpZnk6IFxcZjFiYztcbiRmYS12YXItc3ByYXktY2FuOiBcXGY1YmQ7XG4kZmEtdmFyLXNxdWFyZTogXFxmMGM4O1xuJGZhLXZhci1zcXVhcmUtZnVsbDogXFxmNDVjO1xuJGZhLXZhci1zcXVhcmUtcm9vdC1hbHQ6IFxcZjY5ODtcbiRmYS12YXItc3F1YXJlc3BhY2U6IFxcZjViZTtcbiRmYS12YXItc3RhY2stZXhjaGFuZ2U6IFxcZjE4ZDtcbiRmYS12YXItc3RhY2stb3ZlcmZsb3c6IFxcZjE2YztcbiRmYS12YXItc3RhY2twYXRoOiBcXGY4NDI7XG4kZmEtdmFyLXN0YW1wOiBcXGY1YmY7XG4kZmEtdmFyLXN0YXI6IFxcZjAwNTtcbiRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQ6IFxcZjY5OTtcbiRmYS12YXItc3Rhci1oYWxmOiBcXGYwODk7XG4kZmEtdmFyLXN0YXItaGFsZi1hbHQ6IFxcZjVjMDtcbiRmYS12YXItc3Rhci1vZi1kYXZpZDogXFxmNjlhO1xuJGZhLXZhci1zdGFyLW9mLWxpZmU6IFxcZjYyMTtcbiRmYS12YXItc3RheWxpbmtlZDogXFxmM2Y1O1xuJGZhLXZhci1zdGVhbTogXFxmMWI2O1xuJGZhLXZhci1zdGVhbS1zcXVhcmU6IFxcZjFiNztcbiRmYS12YXItc3RlYW0tc3ltYm9sOiBcXGYzZjY7XG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFxcZjA0ODtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcXGYwNTE7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcXGYwZjE7XG4kZmEtdmFyLXN0aWNrZXItbXVsZTogXFxmM2Y3O1xuJGZhLXZhci1zdGlja3ktbm90ZTogXFxmMjQ5O1xuJGZhLXZhci1zdG9wOiBcXGYwNGQ7XG4kZmEtdmFyLXN0b3AtY2lyY2xlOiBcXGYyOGQ7XG4kZmEtdmFyLXN0b3B3YXRjaDogXFxmMmYyO1xuJGZhLXZhci1zdG9wd2F0Y2gtMjA6IFxcZTA2ZjtcbiRmYS12YXItc3RvcmU6IFxcZjU0ZTtcbiRmYS12YXItc3RvcmUtYWx0OiBcXGY1NGY7XG4kZmEtdmFyLXN0b3JlLWFsdC1zbGFzaDogXFxlMDcwO1xuJGZhLXZhci1zdG9yZS1zbGFzaDogXFxlMDcxO1xuJGZhLXZhci1zdHJhdmE6IFxcZjQyODtcbiRmYS12YXItc3RyZWFtOiBcXGY1NTA7XG4kZmEtdmFyLXN0cmVldC12aWV3OiBcXGYyMWQ7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFxcZjBjYztcbiRmYS12YXItc3RyaXBlOiBcXGY0Mjk7XG4kZmEtdmFyLXN0cmlwZS1zOiBcXGY0MmE7XG4kZmEtdmFyLXN0cm9vcHdhZmVsOiBcXGY1NTE7XG4kZmEtdmFyLXN0dWRpb3ZpbmFyaTogXFxmM2Y4O1xuJGZhLXZhci1zdHVtYmxldXBvbjogXFxmMWE0O1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFxcZjFhMztcbiRmYS12YXItc3Vic2NyaXB0OiBcXGYxMmM7XG4kZmEtdmFyLXN1YndheTogXFxmMjM5O1xuJGZhLXZhci1zdWl0Y2FzZTogXFxmMGYyO1xuJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nOiBcXGY1YzE7XG4kZmEtdmFyLXN1bjogXFxmMTg1O1xuJGZhLXZhci1zdXBlcnBvd2VyczogXFxmMmRkO1xuJGZhLXZhci1zdXBlcnNjcmlwdDogXFxmMTJiO1xuJGZhLXZhci1zdXBwbGU6IFxcZjNmOTtcbiRmYS12YXItc3VycHJpc2U6IFxcZjVjMjtcbiRmYS12YXItc3VzZTogXFxmN2Q2O1xuJGZhLXZhci1zd2F0Y2hib29rOiBcXGY1YzM7XG4kZmEtdmFyLXN3aWZ0OiBcXGY4ZTE7XG4kZmEtdmFyLXN3aW1tZXI6IFxcZjVjNDtcbiRmYS12YXItc3dpbW1pbmctcG9vbDogXFxmNWM1O1xuJGZhLXZhci1zeW1mb255OiBcXGY4M2Q7XG4kZmEtdmFyLXN5bmFnb2d1ZTogXFxmNjliO1xuJGZhLXZhci1zeW5jOiBcXGYwMjE7XG4kZmEtdmFyLXN5bmMtYWx0OiBcXGYyZjE7XG4kZmEtdmFyLXN5cmluZ2U6IFxcZjQ4ZTtcbiRmYS12YXItdGFibGU6IFxcZjBjZTtcbiRmYS12YXItdGFibGUtdGVubmlzOiBcXGY0NWQ7XG4kZmEtdmFyLXRhYmxldDogXFxmMTBhO1xuJGZhLXZhci10YWJsZXQtYWx0OiBcXGYzZmE7XG4kZmEtdmFyLXRhYmxldHM6IFxcZjQ5MDtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQ6IFxcZjNmZDtcbiRmYS12YXItdGFnOiBcXGYwMmI7XG4kZmEtdmFyLXRhZ3M6IFxcZjAyYztcbiRmYS12YXItdGFwZTogXFxmNGRiO1xuJGZhLXZhci10YXNrczogXFxmMGFlO1xuJGZhLXZhci10YXhpOiBcXGYxYmE7XG4kZmEtdmFyLXRlYW1zcGVhazogXFxmNGY5O1xuJGZhLXZhci10ZWV0aDogXFxmNjJlO1xuJGZhLXZhci10ZWV0aC1vcGVuOiBcXGY2MmY7XG4kZmEtdmFyLXRlbGVncmFtOiBcXGYyYzY7XG4kZmEtdmFyLXRlbGVncmFtLXBsYW5lOiBcXGYzZmU7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWhpZ2g6IFxcZjc2OTtcbiRmYS12YXItdGVtcGVyYXR1cmUtbG93OiBcXGY3NmI7XG4kZmEtdmFyLXRlbmNlbnQtd2VpYm86IFxcZjFkNTtcbiRmYS12YXItdGVuZ2U6IFxcZjdkNztcbiRmYS12YXItdGVybWluYWw6IFxcZjEyMDtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFxcZjAzNDtcbiRmYS12YXItdGV4dC13aWR0aDogXFxmMDM1O1xuJGZhLXZhci10aDogXFxmMDBhO1xuJGZhLXZhci10aC1sYXJnZTogXFxmMDA5O1xuJGZhLXZhci10aC1saXN0OiBcXGYwMGI7XG4kZmEtdmFyLXRoZS1yZWQteWV0aTogXFxmNjlkO1xuJGZhLXZhci10aGVhdGVyLW1hc2tzOiBcXGY2MzA7XG4kZmEtdmFyLXRoZW1lY286IFxcZjVjNjtcbiRmYS12YXItdGhlbWVpc2xlOiBcXGYyYjI7XG4kZmEtdmFyLXRoZXJtb21ldGVyOiBcXGY0OTE7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5OiBcXGYyY2I7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGw6IFxcZjJjNztcbiRmYS12YXItdGhlcm1vbWV0ZXItaGFsZjogXFxmMmM5O1xuJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOiBcXGYyY2E7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOiBcXGYyYzg7XG4kZmEtdmFyLXRoaW5rLXBlYWtzOiBcXGY3MzE7XG4kZmEtdmFyLXRodW1icy1kb3duOiBcXGYxNjU7XG4kZmEtdmFyLXRodW1icy11cDogXFxmMTY0O1xuJGZhLXZhci10aHVtYnRhY2s6IFxcZjA4ZDtcbiRmYS12YXItdGlja2V0LWFsdDogXFxmM2ZmO1xuJGZhLXZhci10aWt0b2s6IFxcZTA3YjtcbiRmYS12YXItdGltZXM6IFxcZjAwZDtcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLXRpbnQ6IFxcZjA0MztcbiRmYS12YXItdGludC1zbGFzaDogXFxmNWM3O1xuJGZhLXZhci10aXJlZDogXFxmNWM4O1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcXGYyMDQ7XG4kZmEtdmFyLXRvZ2dsZS1vbjogXFxmMjA1O1xuJGZhLXZhci10b2lsZXQ6IFxcZjdkODtcbiRmYS12YXItdG9pbGV0LXBhcGVyOiBcXGY3MWU7XG4kZmEtdmFyLXRvaWxldC1wYXBlci1zbGFzaDogXFxlMDcyO1xuJGZhLXZhci10b29sYm94OiBcXGY1NTI7XG4kZmEtdmFyLXRvb2xzOiBcXGY3ZDk7XG4kZmEtdmFyLXRvb3RoOiBcXGY1Yzk7XG4kZmEtdmFyLXRvcmFoOiBcXGY2YTA7XG4kZmEtdmFyLXRvcmlpLWdhdGU6IFxcZjZhMTtcbiRmYS12YXItdHJhY3RvcjogXFxmNzIyO1xuJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uOiBcXGY1MTM7XG4kZmEtdmFyLXRyYWRlbWFyazogXFxmMjVjO1xuJGZhLXZhci10cmFmZmljLWxpZ2h0OiBcXGY2Mzc7XG4kZmEtdmFyLXRyYWlsZXI6IFxcZTA0MTtcbiRmYS12YXItdHJhaW46IFxcZjIzODtcbiRmYS12YXItdHJhbTogXFxmN2RhO1xuJGZhLXZhci10cmFuc2dlbmRlcjogXFxmMjI0O1xuJGZhLXZhci10cmFuc2dlbmRlci1hbHQ6IFxcZjIyNTtcbiRmYS12YXItdHJhc2g6IFxcZjFmODtcbiRmYS12YXItdHJhc2gtYWx0OiBcXGYyZWQ7XG4kZmEtdmFyLXRyYXNoLXJlc3RvcmU6IFxcZjgyOTtcbiRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQ6IFxcZjgyYTtcbiRmYS12YXItdHJlZTogXFxmMWJiO1xuJGZhLXZhci10cmVsbG86IFxcZjE4MTtcbiRmYS12YXItdHJpcGFkdmlzb3I6IFxcZjI2MjtcbiRmYS12YXItdHJvcGh5OiBcXGYwOTE7XG4kZmEtdmFyLXRydWNrOiBcXGYwZDE7XG4kZmEtdmFyLXRydWNrLWxvYWRpbmc6IFxcZjRkZTtcbiRmYS12YXItdHJ1Y2stbW9uc3RlcjogXFxmNjNiO1xuJGZhLXZhci10cnVjay1tb3Zpbmc6IFxcZjRkZjtcbiRmYS12YXItdHJ1Y2stcGlja3VwOiBcXGY2M2M7XG4kZmEtdmFyLXRzaGlydDogXFxmNTUzO1xuJGZhLXZhci10dHk6IFxcZjFlNDtcbiRmYS12YXItdHVtYmxyOiBcXGYxNzM7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFxcZjE3NDtcbiRmYS12YXItdHY6IFxcZjI2YztcbiRmYS12YXItdHdpdGNoOiBcXGYxZTg7XG4kZmEtdmFyLXR3aXR0ZXI6IFxcZjA5OTtcbiRmYS12YXItdHdpdHRlci1zcXVhcmU6IFxcZjA4MTtcbiRmYS12YXItdHlwbzM6IFxcZjQyYjtcbiRmYS12YXItdWJlcjogXFxmNDAyO1xuJGZhLXZhci11YnVudHU6IFxcZjdkZjtcbiRmYS12YXItdWlraXQ6IFxcZjQwMztcbiRmYS12YXItdW1icmFjbzogXFxmOGU4O1xuJGZhLXZhci11bWJyZWxsYTogXFxmMGU5O1xuJGZhLXZhci11bWJyZWxsYS1iZWFjaDogXFxmNWNhO1xuJGZhLXZhci11bmNoYXJ0ZWQ6IFxcZTA4NDtcbiRmYS12YXItdW5kZXJsaW5lOiBcXGYwY2Q7XG4kZmEtdmFyLXVuZG86IFxcZjBlMjtcbiRmYS12YXItdW5kby1hbHQ6IFxcZjJlYTtcbiRmYS12YXItdW5pcmVnaXN0cnk6IFxcZjQwNDtcbiRmYS12YXItdW5pdHk6IFxcZTA0OTtcbiRmYS12YXItdW5pdmVyc2FsLWFjY2VzczogXFxmMjlhO1xuJGZhLXZhci11bml2ZXJzaXR5OiBcXGYxOWM7XG4kZmEtdmFyLXVubGluazogXFxmMTI3O1xuJGZhLXZhci11bmxvY2s6IFxcZjA5YztcbiRmYS12YXItdW5sb2NrLWFsdDogXFxmMTNlO1xuJGZhLXZhci11bnNwbGFzaDogXFxlMDdjO1xuJGZhLXZhci11bnRhcHBkOiBcXGY0MDU7XG4kZmEtdmFyLXVwbG9hZDogXFxmMDkzO1xuJGZhLXZhci11cHM6IFxcZjdlMDtcbiRmYS12YXItdXNiOiBcXGYyODc7XG4kZmEtdmFyLXVzZXI6IFxcZjAwNztcbiRmYS12YXItdXNlci1hbHQ6IFxcZjQwNjtcbiRmYS12YXItdXNlci1hbHQtc2xhc2g6IFxcZjRmYTtcbiRmYS12YXItdXNlci1hc3Ryb25hdXQ6IFxcZjRmYjtcbiRmYS12YXItdXNlci1jaGVjazogXFxmNGZjO1xuJGZhLXZhci11c2VyLWNpcmNsZTogXFxmMmJkO1xuJGZhLXZhci11c2VyLWNsb2NrOiBcXGY0ZmQ7XG4kZmEtdmFyLXVzZXItY29nOiBcXGY0ZmU7XG4kZmEtdmFyLXVzZXItZWRpdDogXFxmNGZmO1xuJGZhLXZhci11c2VyLWZyaWVuZHM6IFxcZjUwMDtcbiRmYS12YXItdXNlci1ncmFkdWF0ZTogXFxmNTAxO1xuJGZhLXZhci11c2VyLWluanVyZWQ6IFxcZjcyODtcbiRmYS12YXItdXNlci1sb2NrOiBcXGY1MDI7XG4kZmEtdmFyLXVzZXItbWQ6IFxcZjBmMDtcbiRmYS12YXItdXNlci1taW51czogXFxmNTAzO1xuJGZhLXZhci11c2VyLW5pbmphOiBcXGY1MDQ7XG4kZmEtdmFyLXVzZXItbnVyc2U6IFxcZjgyZjtcbiRmYS12YXItdXNlci1wbHVzOiBcXGYyMzQ7XG4kZmEtdmFyLXVzZXItc2VjcmV0OiBcXGYyMWI7XG4kZmEtdmFyLXVzZXItc2hpZWxkOiBcXGY1MDU7XG4kZmEtdmFyLXVzZXItc2xhc2g6IFxcZjUwNjtcbiRmYS12YXItdXNlci10YWc6IFxcZjUwNztcbiRmYS12YXItdXNlci10aWU6IFxcZjUwODtcbiRmYS12YXItdXNlci10aW1lczogXFxmMjM1O1xuJGZhLXZhci11c2VyczogXFxmMGMwO1xuJGZhLXZhci11c2Vycy1jb2c6IFxcZjUwOTtcbiRmYS12YXItdXNlcnMtc2xhc2g6IFxcZTA3MztcbiRmYS12YXItdXNwczogXFxmN2UxO1xuJGZhLXZhci11c3N1bm5haDogXFxmNDA3O1xuJGZhLXZhci11dGVuc2lsLXNwb29uOiBcXGYyZTU7XG4kZmEtdmFyLXV0ZW5zaWxzOiBcXGYyZTc7XG4kZmEtdmFyLXZhYWRpbjogXFxmNDA4O1xuJGZhLXZhci12ZWN0b3Itc3F1YXJlOiBcXGY1Y2I7XG4kZmEtdmFyLXZlbnVzOiBcXGYyMjE7XG4kZmEtdmFyLXZlbnVzLWRvdWJsZTogXFxmMjI2O1xuJGZhLXZhci12ZW51cy1tYXJzOiBcXGYyMjg7XG4kZmEtdmFyLXZlc3Q6IFxcZTA4NTtcbiRmYS12YXItdmVzdC1wYXRjaGVzOiBcXGUwODY7XG4kZmEtdmFyLXZpYWNvaW46IFxcZjIzNztcbiRmYS12YXItdmlhZGVvOiBcXGYyYTk7XG4kZmEtdmFyLXZpYWRlby1zcXVhcmU6IFxcZjJhYTtcbiRmYS12YXItdmlhbDogXFxmNDkyO1xuJGZhLXZhci12aWFsczogXFxmNDkzO1xuJGZhLXZhci12aWJlcjogXFxmNDA5O1xuJGZhLXZhci12aWRlbzogXFxmMDNkO1xuJGZhLXZhci12aWRlby1zbGFzaDogXFxmNGUyO1xuJGZhLXZhci12aWhhcmE6IFxcZjZhNztcbiRmYS12YXItdmltZW86IFxcZjQwYTtcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcXGYxOTQ7XG4kZmEtdmFyLXZpbWVvLXY6IFxcZjI3ZDtcbiRmYS12YXItdmluZTogXFxmMWNhO1xuJGZhLXZhci12aXJ1czogXFxlMDc0O1xuJGZhLXZhci12aXJ1cy1zbGFzaDogXFxlMDc1O1xuJGZhLXZhci12aXJ1c2VzOiBcXGUwNzY7XG4kZmEtdmFyLXZrOiBcXGYxODk7XG4kZmEtdmFyLXZudjogXFxmNDBiO1xuJGZhLXZhci12b2ljZW1haWw6IFxcZjg5NztcbiRmYS12YXItdm9sbGV5YmFsbC1iYWxsOiBcXGY0NWY7XG4kZmEtdmFyLXZvbHVtZS1kb3duOiBcXGYwMjc7XG4kZmEtdmFyLXZvbHVtZS1tdXRlOiBcXGY2YTk7XG4kZmEtdmFyLXZvbHVtZS1vZmY6IFxcZjAyNjtcbiRmYS12YXItdm9sdW1lLXVwOiBcXGYwMjg7XG4kZmEtdmFyLXZvdGUteWVhOiBcXGY3NzI7XG4kZmEtdmFyLXZyLWNhcmRib2FyZDogXFxmNzI5O1xuJGZhLXZhci12dWVqczogXFxmNDFmO1xuJGZhLXZhci13YWxraW5nOiBcXGY1NTQ7XG4kZmEtdmFyLXdhbGxldDogXFxmNTU1O1xuJGZhLXZhci13YXJlaG91c2U6IFxcZjQ5NDtcbiRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZzogXFxlMDg3O1xuJGZhLXZhci13YXRlcjogXFxmNzczO1xuJGZhLXZhci13YXZlLXNxdWFyZTogXFxmODNlO1xuJGZhLXZhci13YXplOiBcXGY4M2Y7XG4kZmEtdmFyLXdlZWJseTogXFxmNWNjO1xuJGZhLXZhci13ZWlibzogXFxmMThhO1xuJGZhLXZhci13ZWlnaHQ6IFxcZjQ5NjtcbiRmYS12YXItd2VpZ2h0LWhhbmdpbmc6IFxcZjVjZDtcbiRmYS12YXItd2VpeGluOiBcXGYxZDc7XG4kZmEtdmFyLXdoYXRzYXBwOiBcXGYyMzI7XG4kZmEtdmFyLXdoYXRzYXBwLXNxdWFyZTogXFxmNDBjO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcXGYxOTM7XG4kZmEtdmFyLXdobWNzOiBcXGY0MGQ7XG4kZmEtdmFyLXdpZmk6IFxcZjFlYjtcbiRmYS12YXItd2lraXBlZGlhLXc6IFxcZjI2NjtcbiRmYS12YXItd2luZDogXFxmNzJlO1xuJGZhLXZhci13aW5kb3ctY2xvc2U6IFxcZjQxMDtcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcXGYyZDA7XG4kZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTogXFxmMmQxO1xuJGZhLXZhci13aW5kb3ctcmVzdG9yZTogXFxmMmQyO1xuJGZhLXZhci13aW5kb3dzOiBcXGYxN2E7XG4kZmEtdmFyLXdpbmUtYm90dGxlOiBcXGY3MmY7XG4kZmEtdmFyLXdpbmUtZ2xhc3M6IFxcZjRlMztcbiRmYS12YXItd2luZS1nbGFzcy1hbHQ6IFxcZjVjZTtcbiRmYS12YXItd2l4OiBcXGY1Y2Y7XG4kZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0OiBcXGY3MzA7XG4kZmEtdmFyLXdvZHU6IFxcZTA4ODtcbiRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbjogXFxmNTE0O1xuJGZhLXZhci13b24tc2lnbjogXFxmMTU5O1xuJGZhLXZhci13b3JkcHJlc3M6IFxcZjE5YTtcbiRmYS12YXItd29yZHByZXNzLXNpbXBsZTogXFxmNDExO1xuJGZhLXZhci13cGJlZ2lubmVyOiBcXGYyOTc7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFxcZjJkZTtcbiRmYS12YXItd3Bmb3JtczogXFxmMjk4O1xuJGZhLXZhci13cHJlc3NyOiBcXGYzZTQ7XG4kZmEtdmFyLXdyZW5jaDogXFxmMGFkO1xuJGZhLXZhci14LXJheTogXFxmNDk3O1xuJGZhLXZhci14Ym94OiBcXGY0MTI7XG4kZmEtdmFyLXhpbmc6IFxcZjE2ODtcbiRmYS12YXIteGluZy1zcXVhcmU6IFxcZjE2OTtcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcXGYyM2I7XG4kZmEtdmFyLXlhaG9vOiBcXGYxOWU7XG4kZmEtdmFyLXlhbW1lcjogXFxmODQwO1xuJGZhLXZhci15YW5kZXg6IFxcZjQxMztcbiRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWw6IFxcZjQxNDtcbiRmYS12YXIteWFybjogXFxmN2UzO1xuJGZhLXZhci15ZWxwOiBcXGYxZTk7XG4kZmEtdmFyLXllbi1zaWduOiBcXGYxNTc7XG4kZmEtdmFyLXlpbi15YW5nOiBcXGY2YWQ7XG4kZmEtdmFyLXlvYXN0OiBcXGYyYjE7XG4kZmEtdmFyLXlvdXR1YmU6IFxcZjE2NztcbiRmYS12YXIteW91dHViZS1zcXVhcmU6IFxcZjQzMTtcbiRmYS12YXItemhpaHU6IFxcZjYzZjtcbiIsIi8vIExpc3QgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogJGZhLWxpLXdpZHRoICogNS80O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgPiBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tbGkge1xuICBsZWZ0OiAtJGZhLWxpLXdpZHRoO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6ICRmYS1saS13aWR0aDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4iLCIvLyBCb3JkZXJlZCAmIFB1bGxlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAuMDhlbSAkZmEtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAuMWVtO1xuICBwYWRkaW5nOiAuMmVtIC4yNWVtIC4xNWVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSxcbi5mYXMsXG4uZmFyLFxuLmZhbCxcbi5mYWIge1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuIiwiLy8gQW5pbWF0ZWQgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGluIHtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bHNlIHtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4iLCIvLyBSb3RhdGVkICYgRmxpcHBlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTkwICB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDkwZGVnLCAxKTsgIH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoMTgwZGVnLCAyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0yNzAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgyNzBkZWcsIDMpOyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWhvcml6b250YWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIDEsIDApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC12ZXJ0aWNhbCAgIHsgQGluY2x1ZGUgZmEtaWNvbi1mbGlwKDEsIC0xLCAyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtYm90aCwgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsIHsgQGluY2x1ZGUgZmEtaWNvbi1mbGlwKC0xLCAtMSwgMik7IH1cblxuLy8gSG9vayBmb3IgSUU4LTlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuOnJvb3Qge1xuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTkwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0yNzAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWhvcml6b250YWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsLFxuICAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoIHtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGZhLWljb24ge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuQG1peGluIGZhLWljb24tcm90YXRlKCRkZWdyZWVzLCAkcm90YXRpb24pIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0pXCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbn1cblxuQG1peGluIGZhLWljb24tZmxpcCgkaG9yaXosICR2ZXJ0LCAkcm90YXRpb24pIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0jeyRyb3RhdGlvbn0sIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzLiBBIGxhIEJvb3RzdHJhcCA0LlxuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuIiwiLy8gU3RhY2tlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMmVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAoJGZhLWZ3LXdpZHRoKjIpO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXgsXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMngge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMngge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmVyc2Uge1xuICBjb2xvcjogJGZhLWludmVyc2U7XG59XG4iLCIvKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbnJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG5cbi4jeyRmYS1jc3MtcHJlZml4fS01MDBweDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItNTAwcHgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY2Nlc3NpYmxlLWljb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNjdXNvZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY3Vzb2Z0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFjcXVpc2l0aW9ucy1pbmNvcnBvcmF0ZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjcXVpc2l0aW9ucy1pbmNvcnBvcmF0ZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWRkcmVzcy1ib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWRkcmVzcy1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkanVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWRqdXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWRuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkdmVyc2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZHZlcnNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWZmaWxpYXRldGhlbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWlyLWZyZXNoZW5lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyLWZyZXNoZW5lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1haXJibmI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFpcmJuYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGdvbGlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGdvbGlhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tY2VudGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWp1c3RpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWp1c3RpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxsZXJnaWVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGxlcmdpZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1hem9uLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWJ1bGFuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYnVsYW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1pbGlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWlsaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5jaG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmNob3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5kcm9pZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdlbGxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2VsbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdyeWNyZWF0aXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdyeWNyZWF0aXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3VsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3VsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5raDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5raCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHAtc3RvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHAtc3RvcmUtaW9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJjaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNod2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNod2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdC1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0LWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdC12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0LXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJ0c3RhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJ0c3RhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3RlcmlzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXN0ZXJpc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXN5bW1ldHJpazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXN5bW1ldHJpayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0bGFzc2lhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRsYXNzaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0b206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0b20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXVkaWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXVkaWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXVkaW8tZGVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXV0b3ByZWZpeGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdXRvcHJlZml4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXZpYW5leDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYW5leCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhdG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF2aWF0byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXdhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWJ5LWNhcnJpYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWJ5LWNhcnJpYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2tzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFja3NwYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFjdGVyaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY3RlcmlhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY3Rlcml1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjdGVyaXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhaGFpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWhhaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWxhbmNlLXNjYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZC1haWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmQtYWlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbmRjYW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYW5kY2FtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXJjb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFzZWJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFzZWJhbGwtYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXNrZXRiYWxsLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhc2tldGJhbGwtYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZW1wdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktZW1wdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LWZ1bGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0bGUtbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0bGUtbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVoYW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVoYW5jZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlemllci1jdXJ2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmV6aWVyLWN1cnZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpa2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpbW9iamVjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmltb2JqZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpbm9jdWxhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpbm9jdWxhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlvaGF6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW9oYXphcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlydGhkYXktY2FrZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlydGhkYXktY2FrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGJ1Y2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXRjb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2stdGllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFjay10aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2tiZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxhY2tiZXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGVuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGVuZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXItcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXItcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxpbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsaW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZ2dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyLWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsb2dnZXItYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsdWV0b290aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGgtYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoLWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9sZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9sZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2x0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2x0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vay1kZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLWRlYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vay1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vay1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vay1yZWFkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stcmVhZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rbWFyayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib290c3RyYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb3RzdHJhcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3JkZXItYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1ub25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3JkZXItbm9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItc3R5bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1zdHlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3dsaW5nLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvd2xpbmctYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94LW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94LXRpc3N1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94LXRpc3N1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3hlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94ZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhaWxsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJhaWxsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJlYWQtc2xpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyZWFkLXNsaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJpZWZjYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9hZGNhc3QtdG93ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyb2FkY2FzdC10b3dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJ1c2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJydXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ0YzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnRjKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZmZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVmZmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1ZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWlsZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbGhvcm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1bGxzZXllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1c2luZXNzLXRpbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1c2luZXNzLXRpbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5LW4tbGFyZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1eS1uLWxhcmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1eXNlbGxhZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1eXNlbGxhZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsY3VsYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsY3VsYXRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWRheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItZGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci10aW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci13ZWVrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci13ZWVrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtZXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYS1yZXRybzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtZXJhLXJldHJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbXBncm91bmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbXBncm91bmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FuYWRpYW4tbWFwbGUtbGVhZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5keS1jYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5keS1jYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbm5hYmlzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5uYWJpcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXBzdWxlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Fwc3VsZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYmF0dGVyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLWJhdHRlcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLWNyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItY3Jhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1zaWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmF2YW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmF2YW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJyb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnJvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnQtYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJ0LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnQtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXNoLXJlZ2lzdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXNoLXJlZ2lzdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2F0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtYXpvbi1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFtYXpvbi1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1leDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYW1leCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hcHBsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFwcGxlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtZGluZXJzLWNsdWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWRpc2NvdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWpjYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtamNiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLW1hc3RlcmNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1wYXlwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Mtc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1zdHJpcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtdmlzYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtdmlzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZW50ZXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50ZXJjb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2VudG9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZXJ0aWZpY2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhaXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhbGtib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFyZ2luZy1zdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LWFyZWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWFyZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYmFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1iYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtbGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtbGluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1waWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LXBpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJpc2hvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtYmlzaG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1ib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1raW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtuaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3Mta25pZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXBhd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXBhd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcXVlZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXF1ZWVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoaWxkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGlsZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNocm9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHJvbWVjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHJvbWVjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNodXJjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2h1cmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpcmNsZS1ub3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2lyY2xlLW5vdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpbmljLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaW5pYy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQtbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbWVhdGJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1lYXRiYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbi1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1tb29uLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtcmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtc3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXN1bi1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4tcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkZmxhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkZmxhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRzY2FsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRzY2FsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHNtaXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHNtaXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkdmVyc2lmeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWR2ZXJzaWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvY2t0YWlsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2NrdGFpbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGUtYnJhbmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2RlLWJyYW5jaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2RlcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGllcGllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2RpZXBpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2ZmZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZmZlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2dzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2dzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvaW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2lucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2x1bW5zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWRvdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtZG90cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50cy1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wYWN0LWRpc2M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhY3QtZGlzYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wcmVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wcmVzcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wcmVzcy1hcnJvd3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wcmVzcy1hcnJvd3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbmNpZXJnZS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb25jaWVyZ2UtYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25mbHVlbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb25mbHVlbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb25uZWN0ZGV2ZWxvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb250YW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbnRhbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb29raWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvb2tpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb29raWUtYml0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29va2llLWJpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29weSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5cmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvcHlyaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3R0b24tYnVyZWF1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3R0b24tYnVyZWF1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdWNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3VjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcGFuZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNwYW5lbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtYnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWV1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtanApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNoYXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy16ZXJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVkaXQtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcml0aWNhbC1yb2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcml0aWNhbC1yb2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3AtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcm9zcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9zc2hhaXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcm9zc2hhaXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNydXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3J1dGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNzczM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNzczMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNzczMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1YmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1dHRsZWZpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1dHRsZWZpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZC1hbmQtZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZC1hbmQtZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kLWJleW9uZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZC1hbmQtZC1iZXlvbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFpbHltb3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhaWx5bW90aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhc2hjdWJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kYXNoY3ViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXRhYmFzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGF0YWJhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVhZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVhZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWV6ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlZXplcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWxpY2lvdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlbGljaW91cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZW1vY3JhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVtb2NyYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVwbG95ZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXBsb3lkb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVza3BybzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVza3Bybyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXNrdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldmlhbnRhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRldmlhbnRhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGhhcm1hY2hha3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaGFybWFjaGFrcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGhsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlhZ25vc2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWFnbm9zZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlhc3BvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYXNwb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kMjA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZDIwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZDY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZDYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1maXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWZpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1mb3VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWZvdXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2Utb25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2Utc2l4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXNpeCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXRocmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXRocmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtdHdvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXR3byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWdnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2l0YWwtb2NlYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2l0YWwtb2NlYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnaXRhbC10YWNob2dyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWdpdGFsLXRhY2hvZ3JhcGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlyZWN0aW9uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlyZWN0aW9ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXNjb3JkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXNjb3JkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2NvdXJzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzY291cnNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2Vhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2Vhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGl2aWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXZpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGl6enk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpenp5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRuYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG5hKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvY2h1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9jaHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvY2tlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9ja2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGxhci1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xsYXItc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9sbHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbHktZmxhdGJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9sbHktZmxhdGJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb25hdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbmF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLWNsb3NlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9vci1jbG9zZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9vci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG90LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG90LWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3ZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3ZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3dubG9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFmdDJkaWdpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmFmdDJkaWdpdGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0aW5nLWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0aW5nLWNvbXBhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZ29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmFnb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhdy1wb2x5Z29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmF3LXBvbHlnb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyaWJiYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyb3Bib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyb3Bib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtLXN0ZWVscGFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVtLXN0ZWVscGFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW1zdGljay1iaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVtc3RpY2stYml0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVwYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydXBhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1iYmVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtYmJlbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtcHN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1bXBzdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bXBzdGVyLWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1bXBzdGVyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVuZ2VvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVuZ2Vvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1keWFsb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR5YWxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lYXJseWJpcmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lYXJseWJpcmRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWViYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWViYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWRnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWRnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlLWxlZ2FjeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWRnZS1sZWdhY3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWRpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWRpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZ2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVnZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lamVjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWplY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxlbWVudG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGVtZW50b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxsaXBzaXMtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsbG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW1iZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtYmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtcGlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW1waXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtb3Blbi10ZXh0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52aXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVxdWFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXF1YWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVyYXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXJhc2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVybGFuZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXJsYW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0aGVyZXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldGhlcmV1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldGhlcm5ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRoZXJuZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRzeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRzeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldXJvLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV1cm8tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldmVybm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXZlcm5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjaGFuZ2UtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNoYW5nZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZC1hcnJvd3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGVkaXRlZHNzbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLWRyb3BwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV5ZS1kcm9wcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1mOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1mKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLW1lc3NlbmdlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFjZWJvb2stbWVzc2VuZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFjZWJvb2stc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhbnRhc3ktZmxpZ2h0LWdhbWVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW50YXN5LWZsaWdodC1nYW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXN0LWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFzdC1mb3J3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhdWNldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmF1Y2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZheDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmF4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlYXRoZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlYXRoZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlYXRoZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZGV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mZWRleCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWRvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZG9yYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlbWFsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdodGVyLWpldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnaHRlci1qZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlnbWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpZ21hKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hcmNoaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYXVkaW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtYXVkaW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jb250cmFjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1jb250cmFjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNzdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1jc3YpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1kb3dubG9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2VsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWV4Y2VsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhwb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWV4cG9ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWltYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1wb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWltcG9ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWludm9pY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWludm9pY2UtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbWVkaWNhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wZGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcGRmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcG93ZXJwb2ludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wb3dlcnBvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcHJlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXByZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNpZ25hdHVyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1zaWduYXR1cmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdmlkZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS13b3JkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXdvcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsLWRyaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGwtZHJpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbmdlcnByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maW5nZXJwcmludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyZS1leHRpbmd1aXNoZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZWZveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyZWZveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94LWJyb3dzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmVmb3gtYnJvd3Nlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1haWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LWFpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1vcmRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3Qtb3JkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3Qtb3JkZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1vcmRlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3RkcmFmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3RkcmFmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpc3QtcmFpc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXN0LXJhaXNlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLWNoZWNrZXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLXVzYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhZy11c2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxpY2tyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxpcGJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsdXNoZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsdXNoZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb2xkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb2xkZXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb2xkZXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udGljb25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250aWNvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udGljb25zLWZpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250aWNvbnMtZmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9vdGJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9vdGJhbGwtYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb3J0LWF3ZXNvbWUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnVtYmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb3J1bWJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb3J3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvdXJzcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvdXJzcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyZWUtY29kZS1jYW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyZWVic2Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyZWVic2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJvd24tb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJvd24tb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdWxjcnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mdWxjcnVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bm5lbC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bm5lbC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnV0Ym9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mdXRib2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbGFjdGljLXJlcHVibGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbGFjdGljLXNlbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtc2VuYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWVwYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWVwYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FzLXB1bXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhcy1wdW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYXZlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZW5kZXJsZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZW5kZXJsZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdldC1wb2NrZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdldC1wb2NrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdnLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2ctY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naWZ0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0aHViLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGtyYWtlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0a3Jha2VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGxhYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0bGFiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNoZWVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2hlZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLW1hcnRpbmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLXdoaXNrZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLXdoaXNrZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Nlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYWZyaWNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1hZnJpY2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYW1lcmljYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFtZXJpY2FzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlLWFzaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFzaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1ldXJvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29mb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2ZvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29sZi1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2xmLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29kcmVhZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcy1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1kcml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLWRyaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cy1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29wdXJhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29wdXJhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhZHVhdGlvbi1jYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdGlwYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyYXRpcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyYXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JlYXRlci10aGFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmVhdGVyLXRoYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JlYXRlci10aGFuLWVxdWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpbWFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpbWFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLWJlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLWJlYW0tc3dlYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tYmVhbS1zd2VhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLWhlYXJ0czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1oZWFydHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3F1aW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3F1aW50LXRlYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXNxdWludC10ZWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXN0YXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXN0YXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tdGVhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tdGVhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tdG9uZ3VlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tdG9uZ3VlLXNxdWludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUtc3F1aW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tdG9uZ3VlLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tdG9uZ3VlLXdpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXdpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC1ob3Jpem9udGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLWhvcml6b250YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC1saW5lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC1saW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWxpbmVzLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtdmVydGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcGZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXBmaXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdydW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncnVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ndWlsZGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWlsZGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWd1aXRhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VpdGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWd1bHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWd1bHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWgtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYWNrZXItbmV3cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXItbmV3cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXJyYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYWNrZXJyYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbWJ1cmdlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFtYnVyZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFtbWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1zYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZy1oZWFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1ob2xkaW5nLXVzZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLXVzZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctd2F0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZy13YXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWxpemFyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1saXphcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1taWRkbGUtZmluZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLW1pZGRsZS1maW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wYXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wYXBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBlYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBlYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcm9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNjaXNzb3JzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3BhcmtsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc3BhcmtsZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zcG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHMtaGVscGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHMtaGVscGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kcy13YXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy13YXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHNoYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZS1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2Utc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFudWtpYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbnVraWFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhcmQtaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXJkLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXNodGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXNodGFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC1jb3dib3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhdC1jb3dib3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LWNvd2JveS1zaWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtY293Ym95LXNpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LXdpemFyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LXdpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhkZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtY291Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLW1hc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZC1zaWRlLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkcGhvbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkcGhvbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkcGhvbmVzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkc2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkc2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydC1icm9rZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0LWJyb2tlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydGJlYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0YmVhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWxpY29wdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWxpY29wdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpZ2hsaWdodGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaWdobGlnaHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaWtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpa2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXBwbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlwcG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlwcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXJlLWEtaGVscGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXJlLWEtaGVscGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpc3Rvcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpc3RvcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2NrZXktcHVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9ja2V5LXB1Y2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9sbHktYmVycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbGx5LWJlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9vbGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvb2xpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcm5iaWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JuYmlsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9yc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9yc2UtaGVhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9yc2UtaGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9zcGl0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9zcGl0YWwtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9zcGl0YWwtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbC1zeW1ib2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9zcGl0YWwtdXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9zcGl0YWwtdXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3QtdHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3QtdHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90ZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3RlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3RqYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGphcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MtZW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MtaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1zdGFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1kYW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWRhbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VzZS11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXp6OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3V6eik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ocnl2bmlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ocnl2bmlhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1odG1sNSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odWJzcG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1odWJzcG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWktY3Vyc29yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pLWN1cnNvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pY2UtY3JlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljZS1jcmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pY2ljbGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY2ljbGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljb25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY29ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1iYWRnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtYmFkZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWQtY2FyZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWRlYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkZWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlnbG9vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZ2xvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW1hZ2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW1kYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW1kYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmRlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kdXN0cnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZHVzdHJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZmluaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZpbml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm8tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZvLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbm5vc29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5ub3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWdyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFncmFtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWxvZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFsb2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJjb206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludGVyY29tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnRlcm5ldC1leHBsb3Jlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW52aXNpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW94aG9zdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW94aG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdGFsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0YWxpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdGNoLWlvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdGNoLWlvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0dW5lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXR1bmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0dW5lcy1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdHVuZXMtbm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qYXZhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qYXZhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplZGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplZGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVkaS1vcmRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVkaS1vcmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZW5raW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZW5raW5zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWppcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWppcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9nZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvZ2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb2ludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb29tbGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvb21sYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb3VybmFsLXdoaWxsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam91cm5hbC13aGlsbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzZmlkZGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qc2ZpZGRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rYWFiYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2FhYmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2FnZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rYWdnbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5YmFzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5YmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXlib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5Ym9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXljZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2hhbmRhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raGFuZGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lja3N0YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpY2tzdGFydGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpY2tzdGFydGVyLWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpY2tzdGFydGVyLWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXNzLWJlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpc3MtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXNzLXdpbmstaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpc3Mtd2luay1oZWFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXdpLWJpcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpd2ktYmlyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rb3J2dWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtvcnZ1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5kbWFyazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFuZG1hcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhbmd1YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3AtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtaG91c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1ob3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFyYXZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFyYXZlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhc3RmbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXN0Zm0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhdWdoLXNxdWludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtc3F1aW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhdWdoLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLXdpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF5ZXItZ3JvdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxheWVyLWdyb3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlYWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhbnB1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhbnB1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVtb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MtdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MtdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC1kb3duLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC11cC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodGJ1bGIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5rZWRpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbi1pbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlua2VkaW4taW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlub2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5vZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGludXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbnV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpcmEtc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlyYS1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpc3QtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Qtb2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpc3Qtb2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC11bDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC11bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jYXRpb24tYXJyb3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb3ctdmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb3ctdmlzaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx1Z2dhZ2UtY2FydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbHVnZ2FnZS1jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx1bmdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdW5ncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sdW5ncy12aXJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbHVuZ3MtdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHlmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbHlmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWdlbnRvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWdlbnRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWdpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWduZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ25ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLWJ1bGs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1haWwtYnVsayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsY2hpbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1haWxjaGltcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbmRhbG9yaWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYW5kYWxvcmlhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtcGluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtcGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1zaWduczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLXNpZ25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcmtkb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJrZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcmtlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLWRvdWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycy1zdHJva2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycy1zdHJva2UtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZS12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFzdG9kb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hc3RvZG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1heGNkbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWF4Y2RuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1kYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRhcHBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRhcHBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkaXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bS1tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0tbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGtpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVldHVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWV0dXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVnYXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZ2Fwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1ibGFuazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLWJsYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1yb2xsaW5nLWV5ZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVtb3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZW1vcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVuZGVsZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbmRlbGV5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lbm9yYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbm9yYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVyY3VyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVyY3VyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXRlb3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1ldGVvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2Jsb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2NoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvY2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9waG9uZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Njb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Njb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9zb2Z0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pbnVzLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pbnVzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXR0ZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pdHRlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1peCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXhjbG91ZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4Y2xvdWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl4ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1peGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1penVuaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl6dW5pKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vYmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vYmlsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vYmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9keDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9keCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25lcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmVybyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLXdhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1jaGVjay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWNoZWNrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb251bWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9udW1lbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3J0YXItcGVzdGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3J0YXItcGVzdGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vc3F1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9zcXVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdG9yY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdG9yY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91bnRhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdW50YWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VzZS1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11Zy1ob3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11Zy1ob3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVzaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5hcHN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5hcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmVvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmVvcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXR3b3JrLXdpcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXR3b3JrLXdpcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV1dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ld3NwYXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV3c3BhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5pbWJscjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmltYmxyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm9kZS1qczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm9kZS1qcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub3QtZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vdC1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub3Rlcy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub3Rlcy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5wbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnBtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5zODpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnM4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW51dHJpdGlvbml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1udXRyaXRpb25peCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtZ3JvdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9iamVjdC1ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vYmplY3QtdW5ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2JqZWN0LXVuZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2N0b3B1cy1kZXBsb3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9jdG9wdXMtZGVwbG95KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9kbm9rbGFzc25pa2kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9pbC1jYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9pbC1jYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2xkLXJlcHVibGljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vbGQtcmVwdWJsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVuY2FydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVuaWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5pZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3B0aW4tbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3B0aW4tbW9uc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcmNpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3JjaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3NpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vc2kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3R0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW90dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW91dGRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW91dGRlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZTQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2U0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhZ2VsaW5lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1icnVzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFpbnQtYnJ1c2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFpbnQtcm9sbGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWludC1yb2xsZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFsZXR0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsZXR0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWxmZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhbGZlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWxsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhbGxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXItcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXJjbGlwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXBlcmNsaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWNodXRlLWJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFyYWNodXRlLWJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhZ3JhcGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmFncmFwaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3Nwb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXNzcG9ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXN0YWZhcmlhbmlzbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzdGFmYXJpYW5pc20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdHJlb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdHJlb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF1c2UtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF3KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF5cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZWFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1mYW5jeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLWZhbmN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1uaWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1uaWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5jaWwtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1ydWxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuY2lsLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbm55LWFyY2FkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVubnktYXJjYWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlb3BsZS1hcnJvd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1hcnJvd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVvcGxlLWNhcnJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW9wbGUtY2FycnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVwcGVyLWhvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVwcGVyLWhvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJieXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJieXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmNlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmNlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudGFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudGFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJpc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmlzY29wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJzb24tYm9vdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcnNvbi1ib290aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waGFicmljYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhhYnJpY2F0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1mcmFtZXdvcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtc3F1YWRyb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS1zcXVhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1zcXVhcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXZvbHVtZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtdm9sdW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob3RvLXZpZGVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG90by12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBocCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlci1oYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1wcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlci1wcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGlnZ3ktYmFuazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGlnZ3ktYmFuayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWxsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGlsbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waW50ZXJlc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdC1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGl6emEtc2xpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpenphLXNsaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYWNlLW9mLXdvcnNoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lLWFycml2YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWFycml2YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtZGVwYXJ0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZS1kZXBhcnR1cmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXktY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXlzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5c3RhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2RjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2RjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbC1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2xsLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9vLXN0b3JtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb28tc3Rvcm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9vcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3J0cmFpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9ydHJhaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG91bmQtc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG91bmQtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3dlci1vZmY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvd2VyLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByYXlpbmctaGFuZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByYXlpbmctaGFuZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJlc2NyaXB0aW9uLWJvdHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2NlZHVyZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2NlZHVyZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvZHVjdC1odW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcm9kdWN0LWh1bnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvamVjdC1kaWFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcm9qZWN0LWRpYWdyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVtcC1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wdW1wLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVtcC1zb2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wdW1wLXNvYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVzaGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wdXNoZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHV6emxlLXBpZWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wdXp6bGUtcGllY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHl0aG9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1weXRob24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXFxKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFyY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXJjb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWVzdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWlkZGl0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1aWRkaXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWluc2NhcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1aW5zY2FwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVvcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVvdGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVvdGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVyYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1cmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXItcHJvamVjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItci1wcm9qZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhZGlhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaWF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhZGlhdGlvbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhZGlhdGlvbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFpbmJvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFpbmJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW5kb206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhbmRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYXNwYmVycnktcGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhc3BiZXJyeS1waSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYXZlbHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYXZlbHJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFjdGV1cm9wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhY3RldXJvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhZG1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFkbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmViZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY2VpcHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY2VpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjb3JkLXZpbnlsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWNvcmQtdmlueWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjeWNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjeWNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWQtcml2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZC1yaXZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtYWxpZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdC1hbGllbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ2lzdGVyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZ2lzdGVyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVtb3ZlLWZvcm1hdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVtb3ZlLWZvcm1hdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW5yZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlbnJlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwbHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseS1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwdWJsaWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwdWJsaWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXNlYXJjaGdhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlc2VhcmNoZ2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXNvbHZpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlc29sdmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXN0cm9vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzdHJvb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmV0d2VldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV0d2VldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJldik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yaWJib246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJpYmJvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ib3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvYm90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tldGNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvY2tldGNoYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja3JtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja3Jtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3V0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm91dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnNzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnNzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWJsZS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWJsZS1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci1jb21iaW5lZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVsZXItY29tYmluZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXItaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVsZXItaG9yaXpvbnRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVsZXItdmVydGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVubmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVubmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydXBlZS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydXBlZS1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1c3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1c3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FkLWNyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FkLWNyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWQtdGVhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FkLXRlYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FmYXJpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWZhcmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FsZXNmb3JjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FsZXNmb3JjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdGVsbGl0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2F0ZWxsaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdGVsbGl0ZS1kaXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXRlbGxpdGUtZGlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjaGxpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NobGl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjaG9vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nob29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmV3ZHJpdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY3Jld2RyaXZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcmliZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JvbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcm9sbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtbG9jYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaGVuZ2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2hlbmdpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWVkbGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VlZGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbGNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlbGxjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxzeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbHN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VydmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZpY2VzdGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VydmljZXN0YWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXBlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZWtlbC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGVrZWwtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGllbGQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZC12aXJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpZWxkLXZpcnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcHBpbmctZmFzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcHBpbmctZmFzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaXJ0c2luYnVsayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9lLXByaW50czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvZS1wcmludHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcGlmeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcGlmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1iYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3BwaW5nLWJhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3BwaW5nLWJhc2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3B3YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wd2FyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG93ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaHV0dGxlLXZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2h1dHRsZS12YW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWluLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1pbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1sYW5ndWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLW91dC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24tb3V0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ25hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduYXR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW0tY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2ltLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2ltcGx5YnVpbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpbXBseWJ1aWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lzdHJpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lzdHJpeCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXRlbWFwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXRlbWFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2thdGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2thdGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2V0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrZXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2lpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraWluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2lpbmctbm9yZGljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2lpbmctbm9yZGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3VsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3VsbC1jcm9zc2JvbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreWF0bGFzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3lhdGxhcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2t5cGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsYWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsYWNrLWhhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsYWNrLWhhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsZWlnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xlaWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnMtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVycy1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsaWRlc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtaWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtaWxlLWJlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtaWxlLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbW9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2tpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtb2tpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21va2luZy1iYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtb2tpbmctYmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1naG9zdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25hcGNoYXQtZ2hvc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25vd2JvYXJkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93Ym9hcmRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25vd2ZsYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93Zmxha2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25vd21hbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25vd21hbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93cGxvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25vd3Bsb3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2NrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ja3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29sYXItcGFuZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvbGFyLXBhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kb3duLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC11cC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1kb3duLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtbnVtZXJpYy11cC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VuZGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3VuZGNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdXJjZXRyZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvdXJjZXRyZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhY2Utc2h1dHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BhY2Utc2h1dHRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGVha2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWFrZXItZGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BlYWtlci1kZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWxsLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVsbC1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGlkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaWRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGlubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGlubmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwbG90Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwbG90Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BvdGlmeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BvdGlmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcHJheS1jYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwcmF5LWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlLWZ1bGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlLXJvb3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUtcm9vdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlc3BhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZXNwYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFjay1leGNoYW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1vdmVyZmxvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhY2stb3ZlcmZsb3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2twYXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFja3BhdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1hbmQtY3Jlc2NlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItYW5kLWNyZXNjZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItaGFsZi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1vZi1kYXZpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1vZi1kYXZpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW9mLWxpZmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItb2YtbGlmZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGF5bGlua2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGF5bGlua2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWFtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbS1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWFtLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVwLWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlcC1mb3J3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXRob3Njb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGV0aG9zY29wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGlja2VyLW11bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0aWNrZXItbXVsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RpY2t5LW5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcC1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcHdhdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wd2F0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcHdhdGNoLTIwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wd2F0Y2gtMjApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3JlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3JlLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUtYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3JlLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJhdmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmF2YSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJlZXQtdmlldzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyZWV0LXZpZXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaWtldGhyb3VnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyaWtldGhyb3VnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmlwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpcGUtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyaXBlLXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Ryb29wd2FmZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cm9vcHdhZmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dWRpb3ZpbmFyaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1ZGlvdmluYXJpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVtYmxldXBvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1YnNjcmlwdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWJ3YXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1YndheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VpdGNhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VpdGNhc2Utcm9sbGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VpdGNhc2Utcm9sbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnBvd2VyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VwZXJwb3dlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cGVyc2NyaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cHBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VwcGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cnByaXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXJwcmlzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN3YXRjaGJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN3YXRjaGJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN3aWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN3aW1tZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN3aW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpbW1pbmctcG9vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpbW1pbmctcG9vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW1mb255OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW1mb255KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bmFnb2d1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYWdvZ3VlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bmM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5cmluZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5cmluZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxlLXRlbm5pczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGUtdGVubmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhc2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXNrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXhpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXhpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlYW1zcGVhazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVhbXNwZWFrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlZXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWV0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWV0aC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWV0aC1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWxlZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVsZWdyYW0tcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVtcGVyYXR1cmUtaGlnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtaGlnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1sb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbXBlcmF0dXJlLWxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW5jZW50LXdlaWJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXJtaW5hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVybWluYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRleHQtaGVpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtd2lkdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRleHQtd2lkdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxhcmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aC1sYXJnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aC1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZS1yZWQteWV0aTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlLXJlZC15ZXRpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZWF0ZXItbWFza3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZWF0ZXItbWFza3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVjbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlbWVjbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWlzbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZW1laXNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGluay1wZWFrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhpbmstcGVha3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRodW1icy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJzLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1idGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJ0YWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpY2tldC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpY2tldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlrdG9rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aWt0b2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGludC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGlyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9nZ2xlLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvZ2dsZS1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2lsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvaWxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2lsZXQtcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvaWxldC1wYXBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2lsZXQtcGFwZXItc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvaWxldC1wYXBlci1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b29sYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b29sYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb2xzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b29scyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9vdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9yYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvcmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvcmlpLWdhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvcmlpLWdhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhY3RvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhY3Rvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlbWFyazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhZGVtYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWZmaWMtbGlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWZmaWMtbGlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhaWxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhaWxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhbnNnZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFuc2dlbmRlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLXJlc3RvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLXJlc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtcmVzdG9yZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLXJlc3RvcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlbGxvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmVsbG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJpcGFkdmlzb3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyaXBhZHZpc29yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJvcGh5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cnVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1sb2FkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cnVjay1sb2FkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLW1vbnN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLW1vbnN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stbW92aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cnVjay1tb3ZpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stcGlja3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cnVjay1waWNrdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHNoaXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10c2hpcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dW1ibHIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHVtYmxyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10djpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHdpdHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHdpdHRlci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHlwbzM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR5cG8zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXViZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXViZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdWJ1bnR1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11YnVudHUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdWlraXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVpa2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVtYnJhY286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVtYnJhY28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVtYnJlbGxhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVtYnJlbGxhLWJlYWNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bWJyZWxsYS1iZWFjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmNoYXJ0ZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuY2hhcnRlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZGVybGluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmRvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG8tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmRvLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmlyZWdpc3RyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pcmVnaXN0cnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2l0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdmVyc2l0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVubGluayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVubG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxvY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmxvY2stYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuc3BsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bnNwbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bnRhcHBkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bnRhcHBkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWFzdHJvbmF1dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1hc3Ryb25hdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1mcmllbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWZyaWVuZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1ncmFkdWF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1ncmFkdWF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWluanVyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItaW5qdXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWxvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1uaW5qYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1uaW5qYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW51cnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW51cnNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2VjcmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNlY3JldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1zaGllbGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItdGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzLWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMtY29nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2Vycy1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c3BzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c3BzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzc3VubmFoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c3N1bm5haCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11dGVuc2lsLXNwb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11dGVuc2lsLXNwb29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXV0ZW5zaWxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11dGVuc2lscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12YWFkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZhYWRpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZWN0b3Itc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ZWN0b3Itc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ZW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51cy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzLWRvdWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51cy1tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ZW51cy1tYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVzdC1wYXRjaGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ZXN0LXBhdGNoZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhY29pbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhY29pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFkZW8tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlkZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlkZW8tc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpZGVvLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpaGFyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmloYXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aW1lbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aW1lby12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpcnVzLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aXJ1cy1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aXJ1c2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aXJ1c2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12bnY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZudik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2ljZW1haWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvaWNlbWFpbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2xsZXliYWxsLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbGxleWJhbGwtYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW11dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS1tdXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1vZmY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS1vZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm90ZS15ZWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvdGUteWVhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZyLWNhcmRib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdnItY2FyZGJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZ1ZWpzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12dWVqcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YWxraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YWxraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2FsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhcmVob3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2FyZWhvdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhdGNobWFuLW1vbml0b3Jpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhdGNobWFuLW1vbml0b3JpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhdmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXZlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXplKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlZWJseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VlYmx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWlibyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlnaHQtaGFuZ2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpZ2h0LWhhbmdpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpeGluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWl4aW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdoYXRzYXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hhdHNhcHAtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoZWVsY2hhaXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdoZWVsY2hhaXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2htY3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdobWNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpZmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lraXBlZGlhLXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpa2lwZWRpYS13KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctY2xvc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1heGltaXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctbWF4aW1pemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LW1pbmltaXplOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctbWluaW1pemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93LXJlc3RvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1yZXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1ib3R0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtYm90dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmUtZ2xhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtZ2xhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1nbGFzcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmUtZ2xhc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2l4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aXphcmRzLW9mLXRoZS1jb2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b2R1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b2R1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvbGYtcGFjay1iYXR0YWxpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvbGYtcGFjay1iYXR0YWxpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29uLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvbi1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvcmRwcmVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29yZHByZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvcmRwcmVzcy1zaW1wbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvcmRwcmVzcy1zaW1wbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3BiZWdpbm5lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3BiZWdpbm5lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGV4cGxvcmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cGV4cGxvcmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZm9ybXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwZm9ybXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3ByZXNzcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3ByZXNzcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cmVuY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdyZW5jaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14LXJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteC1yYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmctc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14aW5nLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15LWNvbWJpbmF0b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXktY29tYmluYXRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YWhvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFob28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFuZGV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YW5kZXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbmRleC1pbnRlcm5hdGlvbmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhcm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhcm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWVscDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWVscCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZW4tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWVuLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWluLXlhbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlpbi15YW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15b2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15b3V0dWJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15b3V0dWJlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS16aGlodTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItemhpaHUpOyB9XG4iLCIvLyBTY3JlZW4gUmVhZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc3Itb25seSB7IEBpbmNsdWRlIHNyLW9ubHk7IH1cbi5zci1vbmx5LWZvY3VzYWJsZSB7IEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlOyB9XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuZW90Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAuZW90Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWUnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uZmFiIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuIiwiLyohXG4gKiBDb3JlVUkgLSBIVE1MLCBDU1MsIGFuZCBKYXZhU2NyaXB0IFVJIENvbXBvbmVudHMgTGlicmFyeVxuICogQHZlcnNpb24gdjMuMy4wXG4gKiBAbGluayBodHRwczovL2NvcmV1aS5pby9cbiAqIENvcHlyaWdodCAoYykgMjAyMCBjcmVhdGl2ZUxhYnMgxYF1a2FzeiBIb2xlY3pla1xuICogTGljZW5zZSBNSVQgIChodHRwczovL2NvcmV1aS5pby9saWNlbnNlLylcbiAqL1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicm9vdFwiO1xuQGltcG9ydCBcImFwcFwiO1xuQGltcG9ydCBcInJlYm9vdFwiO1xuXG4vLyBWZW5kb3JzXG5AaW1wb3J0IFwidmVuZG9yc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiYWxlcnRcIjtcbkBpbXBvcnQgXCJhdmF0YXJzXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iLW1lbnVcIjtcbkBpbXBvcnQgXCJicmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcImNhbGxvdXRcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJjaGFydHNcIjtcbkBpbXBvcnQgXCJjbG9zZVwiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJjdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImZvb3RlclwiO1xuQGltcG9ydCBcImZvcm1zXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcImhlYWRlclwiO1xuQGltcG9ydCBcImljb25cIjtcbkBpbXBvcnQgXCJpbnB1dC1ncm91cFwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImp1bWJvdHJvblwiO1xuQGltcG9ydCBcImxpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtZWRpYVwiO1xuQGltcG9ydCBcIm1vZGFsXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwicGFnaW5hdGlvblwiO1xuQGltcG9ydCBcInBvcG92ZXJcIjtcbkBpbXBvcnQgXCJwcm9ncmVzc1wiO1xuQGltcG9ydCBcInByb2dyZXNzLWdyb3VwXCI7XG5AaW1wb3J0IFwic2lkZWJhclwiO1xuQGltcG9ydCBcInNwaW5uZXJzXCI7XG5AaW1wb3J0IFwic3ViaGVhZGVyXCI7XG5AaW1wb3J0IFwic3dpdGNoZXNcIjtcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJ0b29sdGlwXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJ0eXBlXCI7XG5AaW1wb3J0IFwid2lkZ2V0c1wiO1xuXG4vLyBMYXlvdXQgT3B0aW9uc1xuQGltcG9ydCBcImxheW91dHNcIjtcblxuLy8gVXRpbGl0eSBjbGFzc2VzXG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7XG5cbi8vIFJpZ2h0LXRvLWxlZnRcbkBpbXBvcnQgXCJydGxcIjtcblxuLy8gQ3VzdG9tIFByb3BlcnRpZXMgc3VwcG9ydCBmb3IgSW50ZXJuZXQgRXhwbG9yZXJcbkBpbXBvcnQgXCJpZS1jdXN0b20tcHJvcGVydGllc1wiO1xuXG5AaW1wb3J0IFwicHJpbnRcIjtcbiIsIjpyb290IHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIC8vIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAvLyAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIC8vIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIFVzZSBgaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktc2Fucy1zZXJpZil9O1xuICAtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1tb25vc3BhY2UpfTtcbn1cbiIsIi5jLWFwcCB7XG4gIEBpbmNsdWRlIHRoZW1lLXZhcmlhbnQodHJ1ZSkge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cbiAgQGluY2x1ZGUgdGhlbWVzKCRib2R5LXRoZW1lLW1hcCwgJGNyZWF0ZTogYXBwZW5kKSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJib2R5LWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJib2R5LWJnXCIpO1xuXG4gICAgLS1jb2xvcjogI3t0aGVtZXMtZ2V0LXZhbHVlKFwiYm9keS1jb2xvclwiKX07XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGF0LXJ1bGUtbm8tdmVuZG9yLXByZWZpeCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gMS4gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cbi8vIDIuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMuXG4vLyAzLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4vLyA0LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbi8vIDUuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMlxuICBsaW5lLWhlaWdodDogMS4xNTsgLy8gM1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDRcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDVcbn1cblxuLy8gU2hpbSBmb3IgXCJuZXdcIiBIVE1MNSBzdHJ1Y3R1cmFsIGVsZW1lbnRzIHRvIGRpc3BsYXkgY29ycmVjdGx5IChJRTEwLCBvbGRlciBicm93c2Vycylcbi8vIFRPRE86IHJlbW92ZSBpbiB2NVxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZVxuLy8gICAgdGhlIGBpbmhlcml0YCB2YWx1ZSBvbiB0aGluZ3MgbGlrZSBgPHRoPmAgZWxlbWVudHMuXG4vLyA0LiBEaXNhYmxlIGhvcml6b250YWwgc2Nyb2xsaW5nXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgLy8gVE9ETzogZmluZCBhIGJldHRlciBzb2x1dGlvbiB0byBhdm9pZCBob3Jpem9udGFsIHNjcm9sbCBpZiBhIHNpZGViYXIgZG9lc24ndCBoYXZlIGEgZml4ZWQgcG9zaXRpb24uXG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgLy8gNFxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gM1xuICBAaW5jbHVkZSB0aGVtZXMoJGJvZHktdGhlbWUtbWFwLCAkY3JlYXRlOiBhcHBlbmQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImJvZHktY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImJvZHktYmdcIik7IC8vIDJcbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgcnVsZTogaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IDpmb2N1cy12aXNpYmxlLCBzdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZVxuLy8gb24gZWxlbWVudHMgdGhhdCBwcm9ncmFtbWF0aWNhbGx5IHJlY2VpdmUgZm9jdXMgYnV0IHdvdWxkbid0IG5vcm1hbGx5IHNob3cgYSB2aXNpYmxlXG4vLyBmb2N1cyBvdXRsaW5lLiBJbiBnZW5lcmFsLCB0aGlzIHdvdWxkIG1lYW4gdGhhdCB0aGUgb3V0bGluZSBpcyBvbmx5IGFwcGxpZWQgaWYgdGhlXG4vLyBpbnRlcmFjdGlvbiB0aGF0IGxlZCB0byB0aGUgZWxlbWVudCByZWNlaXZpbmcgcHJvZ3JhbW1hdGljIGZvY3VzIHdhcyBhIGtleWJvYXJkIGludGVyYWN0aW9uLFxuLy8gb3IgdGhlIGJyb3dzZXIgaGFzIHNvbWVob3cgZGV0ZXJtaW5lZCB0aGF0IHRoZSB1c2VyIGlzIHByaW1hcmlseSBhIGtleWJvYXJkIHVzZXIgYW5kL29yXG4vLyB3YW50cyBmb2N1cyBvdXRsaW5lcyB0byBhbHdheXMgYmUgcHJlc2VudGVkLlxuLy9cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvOmZvY3VzLXZpc2libGVcbi8vIGFuZCBodHRwczovL2RldmVsb3Blci5wYWNpZWxsb2dyb3VwLmNvbS9ibG9nLzIwMTgvMDMvZm9jdXMtdmlzaWJsZS1hbmQtYmFja3dhcmRzLWNvbXBhdGliaWxpdHkvXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG4gIH1cbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg4MCUpOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xufVxuXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg3NSUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgQGluY2x1ZGUgdGhlbWVzKCRsaW5rLXRoZW1lLW1hcCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGluay1jb2xvclwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGxpbmstdGhlbWUtbWFwKSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpbmstY29sb3JcIik7XG4gICAgfVxuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG5wcmUge1xuICAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbiAgbWFyZ2luLXRvcDogMDtcbiAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IG9mIGAxZW1gIHRvIHVzZSBgcmVtYHNcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvLyBEaXNhYmxlIGF1dG8taGlkaW5nIHNjcm9sbGJhciBpbiBJRSAmIGxlZ2FjeSBFZGdlIHRvIGF2b2lkIG92ZXJsYXAsXG4gIC8vIG1ha2luZyBpdCBpbXBvc3NpYmxlIHRvIGludGVyYWN0IHdpdGggdGhlIGNvbnRlbnRcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBmb250LXNpemUoMS41cmVtKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAuODc1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICA1LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTMtc2l6ZTogIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kdnItYmc6ICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHZyLXdpZHRoOiAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgJHNwYWNlciAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgMXJlbSAhZGVmYXVsdDtcblxuLy8gSWNvbnNcbi8vXG4vLyBTdHlsZSAuYy1pY29uIGVsZW1lbnQuXG5cbiRpY29uLXNpemUtYmFzZTogIDFyZW0gIWRlZmF1bHQ7XG4kaWNvbi1zaXplLXNtOiAgICAkaWNvbi1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGljb24tc2l6ZS1sZzogICAgJGljb24tc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRpY29uLXNpemUteGw6ICAgICRpY29uLXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcblxuXG4kdHlwb2dyYXBoeS10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0eXBvZ3JhcGh5LXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJoci1ib3JkZXItY29sb3JcIjogICRoci1ib3JkZXItY29sb3IsXG4gICAgICBcInZyLWJnXCI6ICAgICAgICAgICAgJHZyLWJnLFxuICAgICAgXCJ0ZXh0LW11dGVkXCI6ICAgICAgICR0ZXh0LW11dGVkXG4gICAgKVxuICApLFxuICAkdHlwb2dyYXBoeS10aGVtZS1tYXBcbik7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgZm9udC1yZXNpemluZ1xuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnNcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNpemUgZm9udC1zaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udC1zaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gVmFyaWFibGVzIGZvciBzdG9yaW5nIHN0YXRpYyBhbmQgZmx1aWQgcmVzY2FsaW5nXG4gICAgJHJmcy1zdGF0aWM6IG51bGw7XG4gICAgJHJmcy1mbHVpZDogbnVsbDtcblxuICAgIC8vIFJlbW92ZSBweC11bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250LXNpemVcbiAgICBAaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0ge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzIC8gJHJmcy1yZW0tdmFsdWV9cmVtI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcHgge1xuICAgICAgJHJmcy1zdGF0aWM6ICN7JGZzfXB4I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFkZCBtZWRpYSBxdWVyeSBpZiBmb250LXNpemUgaXMgYmlnZ2VyIGFzIHRoZSBtaW5pbXVtIGZvbnQtc2l6ZVxuICAgIC8vIElmICRyZnMtZmFjdG9yID09IDEsIG5vIHJlc2NhbGluZyB3aWxsIHRha2UgcGxhY2VcbiAgICBAaWYgJGZzID4gJHJmcy1iYXNlLWZvbnQtc2l6ZSBhbmQgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgJG1pbi13aWR0aDogbnVsbDtcbiAgICAgICR2YXJpYWJsZS11bml0OiBudWxsO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArICgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplKSAvICRyZnMtZmFjdG9yO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdpdmVuIGZvbnQtc2l6ZSBhbmQgbWluaW11bSBmb250LXNpemUgZm9yIGdpdmVuIGZvbnQtc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHVuaXQgaXMgdmFsaWQsIGJlY2F1c2Ugd2UgZGlkIHRoYXQgYmVmb3JlXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3skZnMtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBJZiB0d28tZGltZW5zaW9uYWwsIHVzZSBzbWFsbGVzdCBvZiBzY3JlZW4gd2lkdGggYW5kIGhlaWdodFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3skZnMtZGlmZiAqIDEwMCAvICRyZnMtYnJlYWtwb2ludH0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZS5cbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyaW5nXG4gICAgQGlmICRyZnMtZmx1aWQgPT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlbmRlciBzdGF0aWMgZm9udC1zaXplIGlmIG5vIGZsdWlkIGZvbnQtc2l6ZSBpcyBhdmFpbGFibGVcbiAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRtcS12YWx1ZTogbnVsbDtcblxuICAgICAgLy8gUkZTIGJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgQGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IGVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0ID09IHJlbSB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnQgLyAkcmZzLXJlbS12YWx1ZX0jeyRyZnMtYnJlYWtwb2ludC11bml0fTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4IHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludH1weDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAgICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSxcbiAgICAgICAgLy8gd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAgICAgJixcbiAgICAgICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgICAgICAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGxlbmd0aC16ZXJvLW5vLXVuaXRcbiAgICAgICAgICAgIG1pbi13aWR0aDogMHZ3O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW4gdXNlcyBSRlMgdG8gcmVzY2FsZSBmb250IHNpemVzXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiQG1peGluIGx0ciB7XG4gIEBpZiAkZW5hYmxlLWx0ciB7XG4gICAgQGlmICYge1xuICAgICAgJiB7XG4gICAgICAgIGh0bWw6bm90KFtkaXI9XCJydGxcIl0pICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGh0bWw6bm90KFtkaXI9XCJydGxcIl0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gcnRsIHtcbiAgQGlmICRlbmFibGUtcnRsIHtcbiAgICBAaWYgJiB7XG4gICAgICAmIHtcbiAgICAgICAgKltkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgKltkaXI9XCJydGxcIl0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpbmtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAgMTUlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaW5rXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaW5rLWRlZmF1bHQtdGhlbWVcbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaW5rLWRlZmF1bHQtdGhlbWVcblxuJGxpbmstdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kbGluay10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwibGluay1jb2xvclwiOiAgICAgICAgJGxpbmstY29sb3IsXG4gICAgICBcImxpbmstaG92ZXItY29sb3JcIjogICRsaW5rLWhvdmVyLWNvbG9yXG4gICAgKVxuICApLFxuICAkbGluay10aGVtZS1tYXBcbik7XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGVcbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAuM3JlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6IC02ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZVxuXG4vLyBEZWZhdWx0IFRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtZGVmYXVsdC10aGVtZVxuJHRhYmxlLWNvbG9yOiAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLWRlZmF1bHQtdGhlbWVcblxuJHRhYmxlLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRhYmxlLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJ0YWJsZS1jb2xvclwiOiAgICAgICAgICAgICAgJHRhYmxlLWNvbG9yLFxuICAgICAgXCJ0YWJsZS1iZ1wiOiAgICAgICAgICAgICAgICAgJHRhYmxlLWJnLFxuICAgICAgXCJ0YWJsZS1hY2NlbnQtYmdcIjogICAgICAgICAgJHRhYmxlLWFjY2VudC1iZyxcbiAgICAgIFwidGFibGUtaG92ZXItY29sb3JcIjogICAgICAgICR0YWJsZS1ob3Zlci1jb2xvcixcbiAgICAgIFwidGFibGUtaG92ZXItYmdcIjogICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyxcbiAgICAgIFwidGFibGUtYWN0aXZlLWJnXCI6ICAgICAgICAgICR0YWJsZS1hY3RpdmUtYmcsXG4gICAgICBcInRhYmxlLWJvcmRlci1jb2xvclwiOiAgICAgICAkdGFibGUtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJ0YWJsZS1oZWFkLWJnXCI6ICAgICAgICAgICAgJHRhYmxlLWhlYWQtYmcsXG4gICAgICBcInRhYmxlLWhlYWQtY29sb3JcIjogICAgICAgICAkdGFibGUtaGVhZC1jb2xvcixcbiAgICAgIFwidGFibGUtZGFyay1jb2xvclwiOiAgICAgICAgICR0YWJsZS1kYXJrLWNvbG9yLFxuICAgICAgXCJ0YWJsZS1kYXJrLWJnXCI6ICAgICAgICAgICAgJHRhYmxlLWRhcmstYmcsXG4gICAgICBcInRhYmxlLWRhcmstYWNjZW50LWJnXCI6ICAgICAkdGFibGUtZGFyay1hY2NlbnQtYmcsXG4gICAgICBcInRhYmxlLWRhcmstaG92ZXItY29sb3JcIjogICAkdGFibGUtZGFyay1ob3Zlci1jb2xvcixcbiAgICAgIFwidGFibGUtZGFyay1ob3Zlci1iZ1wiOiAgICAgICR0YWJsZS1kYXJrLWhvdmVyLWJnLFxuICAgICAgXCJ0YWJsZS1kYXJrLWJvcmRlci1jb2xvclwiOiAgJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yXG4gICAgKVxuICApLFxuICAkdGFibGUtdGhlbWUtbWFwXG4pO1xuIiwiLy9cbi8vIENvcmVVSSBkZWZhdWx0IGNvbG9yc1xuLy9cblxuJHdoaXRlOiAgI2ZmZiAhZGVmYXVsdDtcbiRibGFjazogICMwMDAwMTUgIWRlZmF1bHQ7XG5cbiRncmF5LWJhc2U6ICAjM2M0YjY0ICFkZWZhdWx0O1xuJGdyYXktMTAwOiAgICNlYmVkZWYgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICAgI2Q4ZGJlMCAhZGVmYXVsdDtcbiRncmF5LTMwMDogICAjYzRjOWQwICFkZWZhdWx0O1xuJGdyYXktNDAwOiAgICNiMWI3YzEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICAgIzlkYTViMSAhZGVmYXVsdDtcbiRncmF5LTYwMDogICAjOGE5M2EyICFkZWZhdWx0O1xuJGdyYXktNzAwOiAgICM3NjgxOTIgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICAgIzYzNmY4MyAhZGVmYXVsdDtcbiRncmF5LTkwMDogICAjNGY1ZDczICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogICRncmF5LTEwMCxcbiAgICBcIjIwMFwiOiAgJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogICRncmF5LTQwMCxcbiAgICBcIjUwMFwiOiAgJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogICRncmF5LTcwMCxcbiAgICBcIjgwMFwiOiAgJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kcHJpbWFyeS1iYXNlOiAgIzMyMWZkYiAhZGVmYXVsdDtcbiRwcmltYXJ5LTEwMDogICAjZWFlOWZiICFkZWZhdWx0O1xuJHByaW1hcnktMjAwOiAgICNkNmQyZmIgIWRlZmF1bHQ7XG4kcHJpbWFyeS0zMDA6ICAgI2MxYmNmNCAhZGVmYXVsdDtcbiRwcmltYXJ5LTQwMDogICAjYWRhNWYxICFkZWZhdWx0O1xuJHByaW1hcnktNTAwOiAgICM5ODhmZWQgIWRlZmF1bHQ7XG4kcHJpbWFyeS02MDA6ICAgIzg0NzhlYSAhZGVmYXVsdDtcbiRwcmltYXJ5LTcwMDogICAjNmY2MmU2ICFkZWZhdWx0O1xuJHByaW1hcnktODAwOiAgICM1YjRjZTIgIWRlZmF1bHQ7XG4kcHJpbWFyeS05MDA6ICAgIzQ2MzVkZiAhZGVmYXVsdDtcblxuJHByaW1hcnktZGFyazogICMxZjE0OTggIWRlZmF1bHQ7XG4kcHJpbWFyeTogICAgICAgIzMyMWZkYiAhZGVmYXVsdDtcbiRwcmltYXJ5LTUwOiAgICAjOTg4ZmVkICFkZWZhdWx0O1xuJHByaW1hcnktMjU6ICAgICNjY2M3ZjYgIWRlZmF1bHQ7XG5cblxuJHNlY29uZGFyeS1iYXNlOiAgIzNjNGI2NCAhZGVmYXVsdDtcblxuJHNlY29uZGFyeS0xMDA6ICAgI2ViZWRlZiAhZGVmYXVsdDtcbiRzZWNvbmRhcnktMjAwOiAgICNkOGRiZTAgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LTMwMDogICAjYzRjOWQwICFkZWZhdWx0O1xuJHNlY29uZGFyeS00MDA6ICAgI2IxYjdjMSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktNTAwOiAgICM5ZGE1YjEgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LTYwMDogICAjOGE5M2EyICFkZWZhdWx0O1xuJHNlY29uZGFyeS03MDA6ICAgIzc2ODE5MiAhZGVmYXVsdDtcbiRzZWNvbmRhcnktODAwOiAgICM2MzZmODMgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LTkwMDogICAjNGY1ZDczICFkZWZhdWx0O1xuXG4kc2Vjb25kYXJ5LWRhcms6ICAjMjEyMjMzICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICAgIzNjNGI2NCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktNTA6ICAgICM5ZGE1YjEgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LTI1OiAgICAjY2VkMmQ4ICFkZWZhdWx0O1xuXG5cbiRkYW5nZXItZGFyazogICNkOTM3MzcgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAjZTU1MzUzICFkZWZhdWx0O1xuJGRhbmdlci01MDogICAgI2YyYTlhOSAhZGVmYXVsdDtcbiRkYW5nZXItMjU6ICAgICNmOWQ0ZDQgIWRlZmF1bHQ7XG5cbiRpbmZvLWRhcms6ICAjMjk4MmNjICFkZWZhdWx0O1xuJGluZm86ICAgICAgICMzOWYgIWRlZmF1bHQ7XG4kaW5mby01MDogICAgIzgwYzZmZiAhZGVmYXVsdDtcbiRpbmZvLTI1OiAgICAjYzBlNmZmICFkZWZhdWx0O1xuXG4kc3VjY2Vzcy1kYXJrOiAgIzFiOWUzZSAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAjMmViODVjICFkZWZhdWx0O1xuJHN1Y2Nlc3MtNTA6ICAgICM5NmRiYWQgIWRlZmF1bHQ7XG4kc3VjY2Vzcy0yNTogICAgI2NiZWRkNiAhZGVmYXVsdDtcblxuJHdhcm5pbmctZGFyazogICNmNjk2MGIgIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgI2Y5YjExNSAhZGVmYXVsdDtcbiR3YXJuaW5nLTUwOiAgICAjZmNkODhhICFkZWZhdWx0O1xuJHdhcm5pbmctMjU6ICAgICNmZWVjYzUgIWRlZmF1bHQ7XG5cbiRsaWdodDogICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHBpbms6ICAjZTgzZThjICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LTI1LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiR5aXEtdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4keWlxLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJ5aXEtdGV4dC1kYXJrXCI6ICAkeWlxLXRleHQtZGFyayxcbiAgICAgIFwieWlxLXRleHQtbGlnaHRcIjogICR5aXEtdGV4dC1saWdodFxuICAgIClcbiAgKSxcbiAgJHlpcS10aGVtZS1tYXBcbik7XG5cbi8vIFRPRE86IE1vdmUgdG8gYmV0dGVyIHBsYWNlXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIixcIiUzY1wiKSxcbiAgKFwiPlwiLFwiJTNlXCIpLFxuICAoXCIjXCIsXCIlMjNcIiksXG4gIChcIihcIixcIiUyOFwiKSxcbiAgKFwiKVwiLFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIHNjc3MtZG9jcy1zdGFydCBidXR0b25zLWZvcm1zXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ1dHRvbnMtZm9ybXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ1dHRvbnNcbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ1dHRvbnNcblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm1zXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDIpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogIC4zcmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg6ICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDogIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VsZWN0LW9wdGlvbi1iZzogaW5oZXJpdCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybXNcblxuJGZvcm0tdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwiaW5wdXQtYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcsXG4gICAgICBcImlucHV0LWRpc2FibGVkLWJnXCI6ICAgICAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnLFxuICAgICAgXCJpbnB1dC1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcixcbiAgICAgIFwiaW5wdXQtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJpbnB1dC1mb2N1cy1iZ1wiOiAgICAgICAgICAgICAgICAgICRpbnB1dC1mb2N1cy1iZyxcbiAgICAgIFwiaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJpbnB1dC1mb2N1cy1jb2xvclwiOiAgICAgICAgICAgICAgICRpbnB1dC1mb2N1cy1jb2xvcixcbiAgICAgIFwiaW5wdXQtcGxhY2Vob2xkZXItY29sb3JcIjogICAgICAgICAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3IsXG4gICAgICBcImlucHV0LXBsYWludGV4dC1jb2xvclwiOiAgICAgICAgICAgJGlucHV0LXBsYWludGV4dC1jb2xvcixcbiAgICAgIFwiaW5wdXQtZ3JvdXAtYWRkb24tY29sb3JcIjogICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3IsXG4gICAgICBcImlucHV0LWdyb3VwLWFkZG9uLWJnXCI6ICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnLFxuICAgICAgXCJpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3JcIjogICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3IsXG4gICAgICBcInNlbGVjdC1vcHRpb24tYmdcIjogICAgICAgICAgICAgICAgJHNlbGVjdC1vcHRpb24tYmdcbiAgICApXG4gICksXG4gICRmb3JtLXRoZW1lLW1hcFxuKTtcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogICAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAgICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4ucHMge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIC1tcy10b3VjaC1hY3Rpb246IGF1dG87XG4gIHRvdWNoLWFjdGlvbjogYXV0bztcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG59XG5cbi5wc19fcmFpbC14IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTVweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG59XG5cbi5wc19fcmFpbC15IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBAaW5jbHVkZSBsdHIge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbGVmdDogMDtcbiAgfVxuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTVweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBvcGFjaXR5IC4ycyBsaW5lYXI7XG59XG5cbi5wcy0tYWN0aXZlLXggPiAucHNfX3JhaWwteCxcbi5wcy0tYWN0aXZlLXkgPiAucHNfX3JhaWwteSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnBzOmhvdmVyID4gLnBzX19yYWlsLXgsXG4ucHM6aG92ZXIgPiAucHNfX3JhaWwteSxcbi5wcy0tZm9jdXMgPiAucHNfX3JhaWwteCxcbi5wcy0tZm9jdXMgPiAucHNfX3JhaWwteSxcbi5wcy0tc2Nyb2xsaW5nLXggPiAucHNfX3JhaWwteCxcbi5wcy0tc2Nyb2xsaW5nLXkgPiAucHNfX3JhaWwteSB7XG4gIG9wYWNpdHk6IC42O1xufVxuXG4ucHNfX3JhaWwteDpob3Zlcixcbi5wc19fcmFpbC15OmhvdmVyLFxuLnBzX19yYWlsLXg6Zm9jdXMsXG4ucHNfX3JhaWwteTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIG9wYWNpdHk6IC45O1xufVxuXG4vKlxuICogU2Nyb2xsYmFyIHRodW1iIHN0eWxlc1xuICovXG4ucHNfX3RodW1iLXgge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIGhlaWdodCAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5wc19fdGh1bWIteSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICByaWdodDogMnB4O1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbGVmdDogMnB4O1xuICB9XG4gIHdpZHRoOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCB3aWR0aCAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5wc19fcmFpbC14OmhvdmVyID4gLnBzX190aHVtYi14LFxuLnBzX19yYWlsLXg6Zm9jdXMgPiAucHNfX3RodW1iLXgge1xuICBoZWlnaHQ6IDExcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG59XG5cbi5wc19fcmFpbC15OmhvdmVyID4gLnBzX190aHVtYi15LFxuLnBzX19yYWlsLXk6Zm9jdXMgPiAucHNfX3RodW1iLXkge1xuICB3aWR0aDogMTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbn1cblxuQHN1cHBvcnRzICgtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmUpIHtcbiAgLnBzIHtcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5wcyB7XG4gICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vX3ZhcnMuc2Nzcyc7XG5cbi4jeyRuYW1lc3BhY2UtcHJlZml4fS1ib3gge1xuICAmW2RhdGEtYW5pbWF0aW9uPSdmYWRlJ11bZGF0YS1zdGF0ZT0naGlkZGVuJ10ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi4jeyRuYW1lc3BhY2UtcHJlZml4fS1ib3hbZGF0YS10aGVtZX49J2Nwb3BvdmVyJ10ge1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcG9wb3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcG9wb3Zlci1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICA+LiN7JG5hbWVzcGFjZS1wcmVmaXh9LWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiBpbml0aWFsO1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICB9XG5cbiAgPi4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cblxuICAvLyAuI3skbmFtZXNwYWNlLXByZWZpeH0tYXJyb3cge1xuICAvLyAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgLy8gICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcIik7XG4gIC8vICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctY29sb3JcIik7XG4gIC8vICAgfVxuXG4gIC8vICAgJjo6YWZ0ZXIge1xuICAvLyAgICAgY29udGVudDogJyc7XG4gIC8vICAgICB6LWluZGV4OiAtMTtcbiAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAvLyAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgJltkYXRhLXBsYWNlbWVudF49J3RvcCddLFxuICAmW2RhdGEtcGxhY2VtZW50Xj0nYm90dG9tJ10ge1xuICAgID4gLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWFycm93IHtcbiAgICAgIHdpZHRoOiBhZGQoJHBvcG92ZXItYXJyb3ctd2lkdGgsICgyICogJHBvcG92ZXItYm9yZGVyLXJhZGl1cykpO1xuICAgICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAwICRwb3BvdmVyLWJvcmRlci1yYWRpdXM7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcGxhY2VtZW50Xj0ncmlnaHQnXSxcbiAgJltkYXRhLXBsYWNlbWVudF49J2xlZnQnXSB7XG4gICAgPiAuI3skbmFtZXNwYWNlLXByZWZpeH0tYXJyb3cge1xuICAgICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGhlaWdodDogYWRkKCRwb3BvdmVyLWFycm93LXdpZHRoLCAoMiAqICRwb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIHBhZGRpbmc6ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG5cbiAgJltkYXRhLXBsYWNlbWVudF49J3RvcCddIHtcblxuICAgID4gLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWFycm93IHtcbiAgICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcIik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXBsYWNlbWVudF49J2JvdHRvbSddIHtcblxuICAgID4gLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWFycm93IHtcbiAgICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcIik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXBsYWNlbWVudF49J2xlZnQnXSB7XG5cbiAgICA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcIik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAmW2RhdGEtcGxhY2VtZW50Xj0ncmlnaHQnXSB7XG5cbiAgICA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgICBsZWZ0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvclwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctY29sb3JcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvYXN0ZXI6ICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG4iLCIvLyBQb3BvdmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3ZlclxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXJcblxuXG4vLyBEZWZhdWx0IFRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci1kZWZhdWx0LXRoZW1lXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci1kZWZhdWx0LXRoZW1lXG5cbiRwb3BvdmVyLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHBvcG92ZXItdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcInBvcG92ZXItYmdcIjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnLFxuICAgICAgXCJwb3BvdmVyLWJvcmRlci1jb2xvclwiOiAgICAgICAkcG9wb3Zlci1ib3JkZXItY29sb3IsXG4gICAgICBcInBvcG92ZXItaGVhZGVyLWJnXCI6ICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1iZyxcbiAgICAgIFwicG9wb3Zlci1oZWFkZXItY29sb3JcIjogICAgICAgJHBvcG92ZXItaGVhZGVyLWNvbG9yLFxuICAgICAgXCJwb3BvdmVyLWJvZHktY29sb3JcIjogICAgICAgICAkcG9wb3Zlci1ib2R5LWNvbG9yLFxuICAgICAgXCJwb3BvdmVyLWFycm93LWNvbG9yXCI6ICAgICAgICAkcG9wb3Zlci1hcnJvdy1jb2xvcixcbiAgICAgIFwicG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvclwiOiAgJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcbiAgICApXG4gICksXG4gICRwb3BvdmVyLXRoZW1lLW1hcFxuKTtcbiIsIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kYm9yZGVyLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJib3JkZXItY29sb3JcIjogJGJvcmRlci1jb2xvclxuICAgIClcbiAgKSxcbiAgJGJvcmRlci10aGVtZS1tYXBcbik7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtY29sb3I6ICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRjb21wb25lbnQtYmc6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG4iLCJAaW1wb3J0ICcuL192YXJzLnNjc3MnO1xuQGltcG9ydCAnLi9hbmltYXRpb25zL2ZhZGUuc2Nzcyc7XG5AaW1wb3J0ICcuLy4uLy4uL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuL3BvcG92ZXIuc2Nzcyc7XG5cbi4jeyRuYW1lc3BhY2UtcHJlZml4fS1pT1Mge1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuW2RhdGEtI3skbmFtZXNwYWNlLXByZWZpeH0tcm9vdF0ge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxMHB4KTtcbn1cblxuLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgLy8gY29sb3I6IHdoaXRlO1xuICAvLyBib3JkZXItcmFkaXVzOiA0cHg7XG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3V0bGluZTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCB2aXNpYmlsaXR5LCBvcGFjaXR5O1xuXG4gICZbZGF0YS1wbGFjZW1lbnRePSd0b3AnXSA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogLSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXBsYWNlbWVudF49J2JvdHRvbSddID4gLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAtICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcGxhY2VtZW50Xj0nbGVmdCddID4gLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IC0gJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1wbGFjZW1lbnRePSdyaWdodCddID4gLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWluZXJ0aWFdW2RhdGEtc3RhdGU9J3Zpc2libGUnXSB7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU0LCAxLjUsIDAuMzgsIDEuMTEpO1xuICB9XG59XG5cbi4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gIGNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG4uI3skbmFtZXNwYWNlLXByZWZpeH0tY29udGVudCB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCIvLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgJHRvb2x0aXAtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctbGVmdDogJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyO1xuICB9XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1tb2RpZmllcnNcbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoIHRoZW1lLWNvbG9yLWxldmVsKCR2YWx1ZSwgJGFsZXJ0LWJnLWxldmVsKSwgIHRoZW1lLWNvbG9yLWxldmVsKCR2YWx1ZSwgJGFsZXJ0LWJvcmRlci1sZXZlbCksICB0aGVtZS1jb2xvci1sZXZlbCgkdmFsdWUsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LW1vZGlmaWVyc1xuIiwiXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnRcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgNiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnRcbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIuYy1hdmF0YXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTBlbTtcbiAgQGluY2x1ZGUgYXZhdGFyKCRhdmF0YXItd2lkdGgsJGF2YXRhci1zdGF0dXMtd2lkdGgpO1xufVxuXG4uYy1hdmF0YXItaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogNTBlbTtcbn1cblxuLmMtYXZhdGFyLXN0YXR1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MGVtO1xuXG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5jLWF2YXRhci1zbSB7XG4gIEBpbmNsdWRlIGF2YXRhcigkYXZhdGFyLXNtLXdpZHRoLCRhdmF0YXItc20tc3RhdHVzLXdpZHRoKTtcbn1cblxuLmMtYXZhdGFyLWxnIHtcbiAgQGluY2x1ZGUgYXZhdGFyKCRhdmF0YXItbGctd2lkdGgsJGF2YXRhci1sZy1zdGF0dXMtd2lkdGgpO1xufVxuXG4uYy1hdmF0YXIteGwge1xuICBAaW5jbHVkZSBhdmF0YXIoJGF2YXRhci14bC13aWR0aCwkYXZhdGFyLXhsLXN0YXR1cy13aWR0aCk7XG59XG5cbi5jLWF2YXRhcnMtc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC5jLWF2YXRhciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkYXZhdGFyLXdpZHRoIC8gMik7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXJpZ2h0ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jLWF2YXRhci1zbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkYXZhdGFyLXNtLXdpZHRoIC8gMik7XG4gIH1cblxuICAuYy1hdmF0YXItbGcge1xuICAgIG1hcmdpbi1yaWdodDogLSAoJGF2YXRhci1sZy13aWR0aCAvIDIpO1xuICB9XG5cbiAgLmMtYXZhdGFyLXhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gKCRhdmF0YXIteGwtd2lkdGggLyAyKTtcbiAgfVxufVxuXG4uYy1hdmF0YXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG4uYy1hdmF0YXItc3F1YXJlIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIkBtaXhpbiBhdmF0YXIoJHdpZHRoLCAkc3RhdHVzLXdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJHdpZHRoO1xuICBmb250LXNpemU6ICR3aWR0aCAvIDIuNTtcblxuICAuYy1hdmF0YXItc3RhdHVzIHtcbiAgICB3aWR0aDogJHN0YXR1cy13aWR0aDtcbiAgICBoZWlnaHQ6ICRzdGF0dXMtd2lkdGg7XG4gIH1cbn1cbiIsIi8vIEF2YXRhcnNcbi8vIHNjc3MtZG9jcy1zdGFydCBhdmF0YXJzXG4kYXZhdGFyLXNtLXdpZHRoOiAgICAgICAgIDI0cHggIWRlZmF1bHQ7XG4kYXZhdGFyLXNtLXN0YXR1cy13aWR0aDogIDhweCAhZGVmYXVsdDtcblxuJGF2YXRhci13aWR0aDogICAgICAgICAgICAzNnB4ICFkZWZhdWx0O1xuJGF2YXRhci1zdGF0dXMtd2lkdGg6ICAgICAxMHB4ICFkZWZhdWx0O1xuXG4kYXZhdGFyLWxnLXdpZHRoOiAgICAgICAgIDQ4cHggIWRlZmF1bHQ7XG4kYXZhdGFyLWxnLXN0YXR1cy13aWR0aDogIDEycHggIWRlZmF1bHQ7XG5cbiRhdmF0YXIteGwtd2lkdGg6ICAgICAgICAgNjRweCAhZGVmYXVsdDtcbiRhdmF0YXIteGwtc3RhdHVzLXdpZHRoOiAgMTRweCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYXZhdGFyc1xuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSwgJGNvbG9yKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogIDEwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZXNcblxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnLCAkY29sb3IpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgI3tzdHItcmVwbGFjZSgjeyZ9LCBcIi5iYWRnZS0jeyRjb2xvcn1cIiwgXCIgXCIpfSBhLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuLy8gV2hlbiBjcmVhdGluZyBhIHRoZW1lJ3MgY2xhc3MsIHNjcmlwdCB3aWxsIHVzZSB0aGlzIHBvc3RmaXguXG4vL1xuLy8gQHR5cGUgU3RyaW5nXG4kdGhlbWVzLWRlZmF1bHQtcG9zdC1jbGFzczogXCItdGhlbWVcIiAhZGVmYXVsdDtcblxuLy8gQHR5cGUgU3RyaW5nXG4kY3VycmVudC12YXJpYW50OiBcIlwiICFkZWZhdWx0O1xuXG4vLy8gQ3VycmVudCBfbWFwXyBkdXJpbmcgdGhlIGxvb3AuIENhbiBiZSB1c2VkIGluIGN1c3RvbSBjcmVhdGlvbi5cbi8vL1xuLy8gQHR5cGUgTWFwXG4kdGhlbWVzLW1hcDogXCJcIiAhZGVmYXVsdDtcblxuLy8gQHR5cGUgQm9vbGVhblxuJHRoZW1lLWhhcy12YXJpYW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEdldHMgYSB2YWx1ZSBmcm9tIGEgdGhlbWUtbGlrZSBtYXAgdXNpbmcgdGhlIGN1cnJlbnQgZW50aXR5IGFuZCBtYXAgd2l0aGluZyB0aGUgdGhlbWUgc2NvcGUuXG4vL1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIHRoZSB2YXJpYWJsZSB5b3Ugd2FudCB0byBnZXRcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZW50aXR5IC0gTmFtZSBvZiB0aGUgZW50aXR5IHlvdSB3YW50IHRvIGFjY2Vzc1xuLy9cbi8vIEBleGFtcGxlIHNjc3Ncbi8vICAgdGhlbWUtZ2V0KCdjb2xvci1wcmltYXJ5JywgdXNlcik7XG4vLyAgIC8vIC0+ICMzMzNcbi8vXG4vLyBAcmV0dXJucyB7U3RyaW5nfSBWYWx1ZSBvZiBrZXkgZm9yIHRoYXQgZW50aXR5XG5AZnVuY3Rpb24gdGhlbWVzLWdldC12YWx1ZSgka2V5LCAkdGhlbWU6ICRjdXJyZW50LXRoZW1lLCAkdmFyaWFudDogJGN1cnJlbnQtdmFyaWFudCwgJG1hcDogJHRoZW1lcy1tYXApIHtcblxuICAkY3VycmVudC10aGVtZS1tYXA6IG1hcC1nZXQoJG1hcCwgJHRoZW1lKTtcblxuICAvLyBAaWYgbm90ICRlbnRpdHktbWFwIHtcbiAgLy8gICBAZXJyb3IgJ1RoZXJlIGlzIG5vIGAjeyRlbnRpdHl9YCBlbnRpdHkgaW4geW91ciB2YXJpYXRpb25zIGxpc3QuJztcbiAgLy8gfVxuXG4gIEBpZiAkdGhlbWUtaGFzLXZhcmlhbnRzIHtcbiAgICAkY3VycmVudC12YXJpYW50LW1hcDogbWFwLWdldChtYXAtZ2V0KCRjdXJyZW50LXRoZW1lLW1hcCwgXCJtYXBcIiksICR2YXJpYW50KTtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGN1cnJlbnQtdmFyaWFudC1tYXAsICRrZXkpO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGN1cnJlbnQtdGhlbWUtbWFwLCAka2V5KSB7XG4gICAgICAkdmFsdWU6IG1hcC1nZXQoJGN1cnJlbnQtdGhlbWUtbWFwLCAka2V5KTtcbiAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHZhbHVlOiBtYXAtZ2V0KG1hcC1nZXQoJG1hcCwgJGRlZmF1bHQtdGhlbWUpLCAka2V5KTtcbiAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8vVE9ETzogZmluZCBzb2x1dGlvbiB3aGVuICRrZXkgaXMgYG51bGxgXG4gIC8vIEBpZiBub3QgJHJldCB7XG4gIC8vICAgQHdhcm4gJ1RoZSBlbnRpdHkgYCN7JGVudGl0eX1gIGRvZXNuXFwndCBoYXZlIGEgdmFsdWUgZm9yIGAjeyRrZXl9YC4nO1xuICAvLyB9XG59XG5cbkBmdW5jdGlvbiBkZWZhdWx0LXRoZW1lKCkge1xuICBAZWFjaCAka2V5IGluIG1hcC1rZXlzKCRkZWZhdWx0LXRoZW1lcykge1xuICAgIC8vIENoZWNrIGlmIHRoZSB0aGVtZSBpcyBkZWZhdWx0XG4gICAgQGlmIG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsICRrZXkpLCBcImRlZmF1bHRcIikgPT0gdHJ1ZSB7XG4gICAgICBAcmV0dXJuICRrZXk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwcm9wZXJ0eSgkcHJvcGVydHksICRrZXksICR0aGVtZTogJGN1cnJlbnQtdGhlbWUsICR2YXJpYW50OiAkY3VycmVudC12YXJpYW50LCAkbWFwOiAkdGhlbWVzLW1hcCkge1xuICAkY3VycmVudC10aGVtZS1tYXA6IG1hcC1nZXQoJG1hcCwgJHRoZW1lKTtcblxuICBAaWYgJHRoZW1lLWhhcy12YXJpYW50cyB7XG4gICAgJGN1cnJlbnQtdmFyaWFudC1tYXA6IG1hcC1nZXQobWFwLWdldCgkY3VycmVudC10aGVtZS1tYXAsIFwibWFwXCIpLCAkdmFyaWFudCk7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRjdXJyZW50LXZhcmlhbnQtbWFwLCAka2V5KTtcblxuICAgIC8vIEByZXR1cm4gJHZhbHVlO1xuICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGN1cnJlbnQtdGhlbWUtbWFwLCAka2V5KSB7XG4gICAgICAkdmFsdWU6IG1hcC1nZXQoJGN1cnJlbnQtdGhlbWUtbWFwLCAka2V5KTtcbiAgICAgIC8vIEByZXR1cm4gJHZhbHVlO1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkdmFsdWU6IG1hcC1nZXQobWFwLWdldCgkbWFwLCAkZGVmYXVsdC10aGVtZSksICRrZXkpO1xuICAgICAgLy8gQHJldHVybiAkdmFsdWU7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHRoZW1lcy1nZXQtb3B0aW9uKCRrZXksICRmYWxsYmFjazogbnVsbCwgJHRoZW1lOiAkY3VycmVudC10aGVtZSwgJHZhcmlhbnQ6ICRjdXJyZW50LXZhcmlhbnQsICRtYXA6ICR0aGVtZXMtbWFwKSB7XG5cbiAgJGN1cnJlbnQtdGhlbWUtbWFwOiBtYXAtZ2V0KCRtYXAsICR0aGVtZSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRjdXJyZW50LXRoZW1lLW1hcCwgJGtleSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkY3VycmVudC10aGVtZS1tYXAsICRrZXkpO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRmYWxsYmFjaztcbiAgfVxufVxuXG5AbWl4aW4gdGhlbWVzLWFwcGVuZC12YXJpYWJsZXMoJHRoZW1lKSB7XG4gIC8vIFVwZGF0ZSBnbG9iYWwgdmFyaWFibGVzXG4gICRjdXJyZW50LXRoZW1lOiAkdGhlbWUgIWdsb2JhbDtcbiAgQGlmICRjdXJyZW50LXRoZW1lID09IFwiZGFya1wiIGFuZCAkZW5hYmxlLXByZWZlcnMtY29sb3Itc2NoZW1lIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiB0aGVtZXMtY3JlYXRlLXBhcmVudCgkdGhlbWUsICR2YXJpYW50KSB7XG4gIC8vIFVwZGF0ZSBnbG9iYWwgdmFyaWFibGVzXG4gICRjdXJyZW50LXRoZW1lOiAkdGhlbWUgIWdsb2JhbDtcbiAgJGN1cnJlbnQtdmFyaWFudDogJHZhcmlhbnQgIWdsb2JhbDtcblxuICBAaWYgbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJGN1cnJlbnQtdGhlbWUpLCBcImRlZmF1bHRcIikge1xuICAgIEBhdC1yb290e1xuICAgICAgQGlmICR2YXJpYW50ID09ICRkZWZhdWx0LXZhcmlhbnQge1xuICAgICAgICAjeyRwYXJlbnQtZWxlbWVudH0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcGFyZW50LWVsZW1lbnR9I3skcGFyZW50LWVsZW1lbnR9LSN7JHZhcmlhbnR9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGF0LXJvb3R7XG4gICAgICBAaWYgJHZhcmlhbnQgPT0gJGRlZmF1bHQtdmFyaWFudCB7XG4gICAgICAgIEBpZiAkY3VycmVudC10aGVtZSA9PSBcImRhcmtcIiBhbmQgJGVuYWJsZS1wcmVmZXJzLWNvbG9yLXNjaGVtZSB7XG4gICAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAgICAgI3skcGFyZW50LWVsZW1lbnR9IHtcbiAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAuYy0jeyR0aGVtZX0jeyR0aGVtZXMtZGVmYXVsdC1wb3N0LWNsYXNzfSAjeyRwYXJlbnQtZWxlbWVudH0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmICRjdXJyZW50LXRoZW1lID09IFwiZGFya1wiIGFuZCAkZW5hYmxlLXByZWZlcnMtY29sb3Itc2NoZW1lIHtcbiAgICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgICAgICAjeyRwYXJlbnQtZWxlbWVudH0jeyRwYXJlbnQtZWxlbWVudH0tI3skdmFyaWFudH0ge1xuICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC5jLSN7JHRoZW1lfSN7JHRoZW1lcy1kZWZhdWx0LXBvc3QtY2xhc3N9ICN7JHBhcmVudC1lbGVtZW50fSN7JHBhcmVudC1lbGVtZW50fS0jeyR2YXJpYW50fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRoZW1lLXNpbmdsZS1hcHBlbmQoJHRoZW1lKSB7XG4gIC8vIFVwZGF0ZSBnbG9iYWwgdmFyaWFibGVzXG4gICRjdXJyZW50LXRoZW1lOiAkdGhlbWUgIWdsb2JhbDtcblxuICBAaWYgbm90ICYge1xuICAgIEBlcnJvciBcIk5vIHNlbGVjdG9yIGZvdW5kLiBJIG5lZWQgYSBzZWxlY3RvciB0byBhcHBlbmQgdGhlIGNsYXNzIHRvLlwiO1xuICB9XG5cbiAgQGlmICRjdXJyZW50LXRoZW1lID09IFwiZGFya1wiIGFuZCAkZW5hYmxlLXByZWZlcnMtY29sb3Itc2NoZW1lIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICYuYy0jeyR0aGVtZX0jeyR0aGVtZXMtZGVmYXVsdC1wb3N0LWNsYXNzfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRoZW1lcy1zaW5nbGUtcGFyZW50KCR0aGVtZSkge1xuICAvLyBVcGRhdGUgZ2xvYmFsIHZhcmlhYmxlc1xuICAkY3VycmVudC10aGVtZTogJHRoZW1lICFnbG9iYWw7XG5cbiAgQGF0LXJvb3R7XG4gICAgQGlmICRjdXJyZW50LXRoZW1lID09IFwiZGFya1wiIGFuZCAkZW5hYmxlLXByZWZlcnMtY29sb3Itc2NoZW1lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgQGlmICYge1xuICAgICAgICAgICYge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmICYge1xuICAgICAgICAuYy0jeyR0aGVtZX0jeyR0aGVtZXMtZGVmYXVsdC1wb3N0LWNsYXNzfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC5jLSN7JHRoZW1lfSN7JHRoZW1lcy1kZWZhdWx0LXBvc3QtY2xhc3N9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGhlbWVzKCRsb29wOiAkdGhlbWVzLW1hcCwgJHBhcmVudDogZmFsc2UsICRjcmVhdGU6IGZhbHNlKSB7XG4gICR0aGVtZXMtbWFwOiAkbG9vcCAhZ2xvYmFsO1xuICAkcGFyZW50LWVsZW1lbnQ6ICRwYXJlbnQgIWdsb2JhbDtcbiAgJGRlZmF1bHQtdGhlbWU6IG51bGwgIWdsb2JhbDtcblxuICBAZWFjaCAka2V5IGluIG1hcC1rZXlzKCRkZWZhdWx0LXRoZW1lcykge1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIHRoZW1lIGlzIGRlZmF1bHRcbiAgICBAaWYgbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJGtleSksIFwiZGVmYXVsdFwiKSA9PSB0cnVlIHtcbiAgICAgICRkZWZhdWx0LXRoZW1lOiAka2V5ICFnbG9iYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IGxpc3Qgb2YgdGhlbWVzXG4gICR0aGVtZXM6IG1hcC1rZXlzKCR0aGVtZXMtbWFwKTtcblxuICBAZWFjaCAkdGhlbWUgaW4gJHRoZW1lcyB7XG4gICAgJGN1cnJlbnQtdGhlbWU6ICR0aGVtZSAhZ2xvYmFsO1xuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSB7XG4gICAgICAkdGhlbWUtbWFwOiBtYXAtZ2V0KCR0aGVtZXMtbWFwLCAkdGhlbWUpO1xuICAgICAgLy8gQ2hlY2sgaWYgJHRoZW1lLW1hcCBoYXMgdmFyaWFudHNcbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkdGhlbWUtbWFwLCBcIm1hcFwiKSB7XG4gICAgICAgICR0aGVtZS1oYXMtdmFyaWFudHM6IHRydWUgIWdsb2JhbDtcbiAgICAgICAgLy8gR2V0IGxpc3Qgb2YgdmFyaWFudHNcbiAgICAgICAgJHZhcmlhbnRzOiBtYXAta2V5cyhtYXAtZ2V0KCR0aGVtZS1tYXAsIFwibWFwXCIpKTtcbiAgICAgICAgJGRlZmF1bHQtdmFyaWFudDogbWFwLWdldCgkdGhlbWUtbWFwLCBcImRlZmF1bHRcIikgIWdsb2JhbDtcbiAgICAgICAgQGVhY2ggJHZhcmlhbnQgaW4gJHZhcmlhbnRzIHtcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtZXMtY3JlYXRlLXBhcmVudCgkdGhlbWUsICR2YXJpYW50KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdGhlbWUtaGFzLXZhcmlhbnRzOiBmYWxzZSAhZ2xvYmFsO1xuICAgICAgICBAaWYgbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSwgXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtZXMtYXBwZW5kLXZhcmlhYmxlcygkdGhlbWUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgQGlmICRjcmVhdGUgPT0gXCJwYXJlbnRcIiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtZXMtc2luZ2xlLXBhcmVudCgkdGhlbWUpIHtcbiAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSBpZiAkY3JlYXRlID09IFwiYXBwZW5kXCIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWUtc2luZ2xlLWFwcGVuZCgkdGhlbWUpIHtcbiAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtZXMtc2luZ2xlLXBhcmVudCgkdGhlbWUpIHtcbiAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aGVtZS12YXJpYW50KCRleHRlbmQtY2xhc3M6IGZhbHNlKSB7XG4gIEBlYWNoICR0aGVtZSBpbiBtYXAta2V5cygkZGVmYXVsdC10aGVtZXMpIHtcbiAgICAkZ2V0LWNvbG9yczogbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSwgXCJ0aGVtZS1jb2xvcnNcIik7XG4gICAgJGdldC1kZWZhdWx0OiBtYXAtZ2V0KG1hcC1nZXQoJGRlZmF1bHQtdGhlbWVzLCAkdGhlbWUpLCBcImRlZmF1bHRcIik7XG4gICAgJGdldC1ncmF5czogbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSwgXCJncmF5c1wiKTtcbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZ2V0LWNvbG9ycyB7XG4gICAgICAkY29sb3I6ICRjb2xvciAhZ2xvYmFsO1xuICAgICAgJHZhbHVlOiAkdmFsdWUgIWdsb2JhbDtcbiAgICAgIEBpZiAkZ2V0LWRlZmF1bHQge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZGVmYXVsdC1jb2xvcjogbWFwLWdldChtYXAtZ2V0KG1hcC1nZXQoJGRlZmF1bHQtdGhlbWVzLCBkZWZhdWx0LXRoZW1lKCkpLCBcInRoZW1lLWNvbG9yc1wiKSwgJGNvbG9yKTtcbiAgICAgICAgQGlmICRkZWZhdWx0LWNvbG9yICE9ICR2YWx1ZSB7XG4gICAgICAgICAgQGlmICRleHRlbmQtY2xhc3Mge1xuICAgICAgICAgICAgJi5jLSN7JHRoZW1lfSN7JHRoZW1lLXN1ZmZpeH0ge1xuICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBhdC1yb290e1xuICAgICAgICAgICAgICAuYy0jeyR0aGVtZX0jeyR0aGVtZS1zdWZmaXh9IHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGhlbWUtZ3JhZGllbnRzKCkge1xuICBAZWFjaCAkdGhlbWUgaW4gbWFwLWtleXMoJGRlZmF1bHQtdGhlbWVzKSB7XG4gICAgJGdldC1kZWZhdWx0OiBtYXAtZ2V0KG1hcC1nZXQoJGRlZmF1bHQtdGhlbWVzLCAkdGhlbWUpLCBcImRlZmF1bHRcIik7XG4gICAgJGdldC1ncmFkaWVudHM6IG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsICR0aGVtZSksIFwiZ3JhZGllbnRzXCIpO1xuICAgIEBlYWNoICRncmFkaWVudCwgJHZhbHVlIGluICRnZXQtZ3JhZGllbnRzIHtcbiAgICAgICRncmFkaWVudDogJGdyYWRpZW50ICFnbG9iYWw7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAhZ2xvYmFsO1xuICAgICAgQGlmICRnZXQtZGVmYXVsdCB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRkZWZhdWx0LWdyYWRpZW50OiBtYXAtZ2V0KG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsIGRlZmF1bHQtdGhlbWUoKSksIFwiZ3JhZGllbnRzXCIpLCAkZ3JhZGllbnQpO1xuICAgICAgICBAaWYgJGRlZmF1bHQtZ3JhZGllbnQgIT0gJHZhbHVlIHtcbiAgICAgICAgICBAYXQtcm9vdHtcbiAgICAgICAgICAgIC5jLSN7JHRoZW1lfSN7JHRoZW1lLXN1ZmZpeH0ge1xuICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRoZW1lLWdldC1jb2xvcigkY29sb3IpIHtcbiAgQGVhY2ggJHRoZW1lIGluIG1hcC1rZXlzKCRkZWZhdWx0LXRoZW1lcykge1xuICAgICRnZXQtY29sb3I6IG1hcC1nZXQobWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSwgXCJ0aGVtZS1jb2xvcnNcIiksICRjb2xvcik7XG4gICAgJGdldC1kZWZhdWx0OiBtYXAtZ2V0KG1hcC1nZXQoJGRlZmF1bHQtdGhlbWVzLCAkdGhlbWUpLCBcImRlZmF1bHRcIik7XG4gICAgJGNvbG9yOiAkZ2V0LWNvbG9yICFnbG9iYWw7XG4gICAgQGlmICRnZXQtZGVmYXVsdCB7XG4gICAgICBAY29udGVudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBhdC1yb290e1xuICAgICAgICAuYy0jeyR0aGVtZX0jeyR0aGVtZS1zdWZmaXh9ICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYi1tZW51IHtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAaW5jbHVkZSBsdHIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmJ0bi1ncm91cCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5idG4ge1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAmOmhvdmVyLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSB0aGVtZXMoJHR5cG9ncmFwaHktdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGV4dC1tdXRlZFwiKTtcbiAgICB9XG4gIH1cblxuICAuc2hvdyB7XG4gICAgLmJ0biB7XG4gICAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRicmVhZGNydW1iLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYnJlYWRjcnVtYi1mb250LXNpemUpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXJzKCRicmVhZGNydW1iLWJvcmRlcnMpO1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkYnJlYWRjcnVtYi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJicmVhZGNydW1iLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImJyZWFkY3J1bWItYm9yZGVyLWNvbG9yXCIpO1xuICB9XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkYnJlYWRjcnVtYi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImJyZWFkY3J1bWItZGl2aWRlci1jb2xvclwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnRlbnQ6IGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcik7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkYnJlYWRjcnVtYi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJicmVhZGNydW1iLWFjdGl2ZS1jb2xvclwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBib3JkZXJzKCRib3JkZXJzLCAkcmV2ZXJzZTogZmFsc2UpIHtcbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJGRpcmVjdGlvbjogbnRoKCRib3JkZXIsIDEpO1xuICAgIEBpZiAkZGlyZWN0aW9uID09IFwiYWxsXCIge1xuICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKTtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJ0b3BcIiB7XG4gICAgICBib3JkZXItdG9wOiBtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKTtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgIEBpZiAkcmV2ZXJzZSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbik7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tXCIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbik7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKTtcbiAgICAgIEBpZiAkcmV2ZXJzZSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJvcmRlcnMtc2hhZG93KCRib3JkZXJzLCAkcmV2ZXJzZTogZmFsc2UpIHtcbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJGRpcmVjdGlvbjogbnRoKCRib3JkZXIsIDEpO1xuICAgIEBpZiAkZGlyZWN0aW9uID09IFwiYWxsXCIge1xuICAgICAgJHNpemU6IG1hcC1nZXQobWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbiksIHNpemUpO1xuICAgICAgJGNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pLCBjb2xvcik7XG4gICAgICBib3gtc2hhZG93OiAkc2l6ZSAkc3R5bGUgJGNvbG9yIGluc2V0O1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInRvcFwiIHtcbiAgICAgICRzaXplOiBtYXAtZ2V0KG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pLCBzaXplKTtcbiAgICAgICRjb2xvcjogbWFwLWdldChtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKSwgY29sb3IpO1xuICAgICAgYm94LXNoYWRvdzogMCAtICRzaXplICRzaXplIC0gJHNpemUgJGNvbG9yIGluc2V0O1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgICAgJHNpemU6IG1hcC1nZXQobWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbiksIHNpemUpO1xuICAgICAgJGNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pLCBjb2xvcik7XG4gICAgICBAaWYgJHJldmVyc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAkc2l6ZSAwICRzaXplIC0gJHNpemUgJGNvbG9yIGluc2V0O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IC0gJHNpemUgMCAkc2l6ZSAtICRzaXplICRjb2xvciBpbnNldDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICAkc2l6ZTogbWFwLWdldChtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKSwgc2l6ZSk7XG4gICAgICAkY29sb3I6IG1hcC1nZXQobWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbiksIGNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgJHNpemUgJHNpemUgLSAkc2l6ZSAkY29sb3IgaW5zZXQ7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAgICRzaXplOiBtYXAtZ2V0KG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pLCBzaXplKTtcbiAgICAgICRjb2xvcjogbWFwLWdldChtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKSwgY29sb3IpO1xuICAgICAgYm94LXNoYWRvdzogJHNpemUgMCAkc2l6ZSAtICRzaXplICRjb2xvciBpbnNldDtcbiAgICAgIEBpZiAkcmV2ZXJzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IC0gJHNpemUgMCAkc2l6ZSAtICRzaXplICRjb2xvciBpbnNldDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAkc2l6ZSAwICRzaXplIC0gJHNpemUgJGNvbG9yIGluc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWRpdmlkZXI6ICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAwICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXJzOiAgKCBib3R0b206IDFweCBzb2xpZCApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iXG5cbi8vIERlZmF1bHQgdGhlbWVcbi8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLWRlZmF1bHQtdGhlbWVcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1jb2xvcjogICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItZGVmYXVsdC10aGVtZVxuXG4kYnJlYWRjcnVtYi10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRicmVhZGNydW1iLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJicmVhZGNydW1iLWJnXCI6ICAgICAgICAgICAgICRicmVhZGNydW1iLWJnLFxuICAgICAgXCJicmVhZGNydW1iLWJvcmRlci1jb2xvclwiOiAgICRicmVhZGNydW1iLWJvcmRlci1jb2xvcixcbiAgICAgIFwiYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yXCI6ICAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yLFxuICAgICAgXCJicmVhZGNydW1iLWFjdGl2ZS1jb2xvclwiOiAgICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvclxuICAgIClcbiAgKSxcbiAgJGJyZWFkY3J1bWItdGhlbWUtbWFwXG4pO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gICAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wcmlnaHQgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtc20gKiAuNzU7XG59XG5cbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXgtbGcgKiAuNzU7XG59XG5cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBTZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG5cbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaSxcbiAgLmMtaWNvbiB7XG4gICAgaGVpZ2h0OiAkYnRuLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW46ICgoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSAtICRmb250LXNpemUtYmFzZSkgLyAyKSAwO1xuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbi5idG4tdHJhbnNwYXJlbnQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gIH1cbn1cblxuQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmJ0bi1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogNTBlbTtcbn1cblxuLmJ0bi1zcXVhcmUge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vL1xuLy8gR2hvc3QgYnV0dG9uXG4vL1xuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAuYnRuLWdob3N0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdob3N0LXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG4vL1xuLy8gQnJhbmQgYnV0dG9uXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkYnJhbmRzLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuLy8gQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGJyYW5kcy1jb2xvcnMge1xuLy8gICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbi8vICAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4vLyAgIH1cbi8vIH1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGF0LXJvb3QgI3tzdHItcmVwbGFjZSgjeyZ9LCBcIi5idG4tXCIsIFwiLnNob3cgPiAuYnRuLVwiKX0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAYXQtcm9vdCAje3N0ci1yZXBsYWNlKCN7Jn0sIFwiLmJ0bi1cIiwgXCIuc2hvdyA+IC5idG4tXCIpfS5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgaSxcbiAgLmMtaWNvbiB7XG4gICAgd2lkdGg6ICRmb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZm9udC1zaXplO1xuICAgIG1hcmdpbjogKCgoJGZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodCkgLSAkZm9udC1zaXplKSAvIDIpIDA7XG4gIH1cbn1cblxuLy8gQnV0dG9uIEdob3N0XG5cbkBtaXhpbiBidXR0b24tZ2hvc3QtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGF0LXJvb3QgI3tzdHItcmVwbGFjZSgjeyZ9LCBcIi5idG4tXCIsIFwiLnNob3cgPiAuYnRuLVwiKX0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi8vIEJyYW5kIENvbG9yc1xuXG4kZmFjZWJvb2s6ICAgICAgICAjM2I1OTk4ICFkZWZhdWx0O1xuJHR3aXR0ZXI6ICAgICAgICAgIzAwYWNlZCAhZGVmYXVsdDtcbiRsaW5rZWRpbjogICAgICAgICM0ODc1YjQgIWRlZmF1bHQ7XG4kZmxpY2tyOiAgICAgICAgICAjZmYwMDg0ICFkZWZhdWx0O1xuJHR1bWJscjogICAgICAgICAgIzMyNTA2ZCAhZGVmYXVsdDtcbiR4aW5nOiAgICAgICAgICAgICMwMjY0NjYgIWRlZmF1bHQ7XG4kZ2l0aHViOiAgICAgICAgICAjNDE4M2M0ICFkZWZhdWx0O1xuJHN0YWNrLW92ZXJmbG93OiAgI2ZlN2ExNSAhZGVmYXVsdDtcbiR5b3V0dWJlOiAgICAgICAgICNiMDAgIWRlZmF1bHQ7XG4kZHJpYmJibGU6ICAgICAgICAjZWE0Yzg5ICFkZWZhdWx0O1xuJGluc3RhZ3JhbTogICAgICAgIzUxN2ZhNCAhZGVmYXVsdDtcbiRwaW50ZXJlc3Q6ICAgICAgICNjYjIwMjcgIWRlZmF1bHQ7XG4kdms6ICAgICAgICAgICAgICAjNDU2NjhlICFkZWZhdWx0O1xuJHlhaG9vOiAgICAgICAgICAgIzQwMDE5MSAhZGVmYXVsdDtcbiRiZWhhbmNlOiAgICAgICAgICMxNzY5ZmYgIWRlZmF1bHQ7XG4kcmVkZGl0OiAgICAgICAgICAjZmY0NTAwICFkZWZhdWx0O1xuJHZpbWVvOiAgICAgICAgICAgI2FhZDQ1MCAhZGVmYXVsdDtcblxuJGJyYW5kcy1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRicmFuZHMtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImZhY2Vib29rXCI6ICAgICAgICAkZmFjZWJvb2ssXG4gICAgXCJ0d2l0dGVyXCI6ICAgICAgICAgJHR3aXR0ZXIsXG4gICAgXCJsaW5rZWRpblwiOiAgICAgICAgJGxpbmtlZGluLFxuICAgIFwiZmxpY2tyXCI6ICAgICAgICAgICRmbGlja3IsXG4gICAgXCJ0dW1ibHJcIjogICAgICAgICAgJHR1bWJscixcbiAgICBcInhpbmdcIjogICAgICAgICAgICAkeGluZyxcbiAgICBcImdpdGh1YlwiOiAgICAgICAgICAkZ2l0aHViLFxuICAgIFwic3RhY2stb3ZlcmZsb3dcIjogICRzdGFjay1vdmVyZmxvdyxcbiAgICBcInlvdXR1YmVcIjogICAgICAgICAkeW91dHViZSxcbiAgICBcImRyaWJiYmxlXCI6ICAgICAgICAkZHJpYmJibGUsXG4gICAgXCJpbnN0YWdyYW1cIjogICAgICAgJGluc3RhZ3JhbSxcbiAgICBcInBpbnRlcmVzdFwiOiAgICAgICAkcGludGVyZXN0LFxuICAgIFwidmtcIjogICAgICAgICAgICAgICR2ayxcbiAgICBcInlhaG9vXCI6ICAgICAgICAgICAkeWFob28sXG4gICAgXCJiZWhhbmNlXCI6ICAgICAgICAgJGJlaGFuY2UsXG4gICAgXCJyZWRkaXRcIjogICAgICAgICAgJHJlZGRpdCxcbiAgICBcInZpbWVvXCI6ICAgICAgICAgICAkdmltZW9cbiAgKSxcbiAgJGJyYW5kcy1jb2xvcnNcbik7XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jLWNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgJHNwYWNlcjtcbiAgbWFyZ2luOiAkc3BhY2VyIDA7XG5cbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuLmMtY2FsbG91dC1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7XG59XG4uYy1jYWxsb3V0IGNvZGUge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbi5jLWNhbGxvdXQgaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG59XG4uYy1jYWxsb3V0IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYy1jYWxsb3V0ICsgLmMtY2FsbG91dCB7XG4gIG1hcmdpbi10b3A6IC0gLjI1cmVtO1xufVxuXG4vL1xuLy8gVmFyaWFudHNcbi8vXG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC5jLWNhbGxvdXQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR2YWx1ZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHZhbHVlO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGNvbG9yOiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogJGNhcmQtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1tYXJnaW4tYm90dG9tO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRoZW1lcygkY2FyZC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjYXJkLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImNhcmQtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5kcmFnLFxuICAuZHJhZyB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICB9XG59XG5cbi8vIENhcmRzIHdpdGggY29sb3IgYWNjZW50XG4uY2FyZFtjbGFzc149XCJiZy1cIl0sXG4uY2FyZFtjbGFzcyo9XCIgYmctXCJdIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xMjUpOyAvL2RhcmtlbigkdmFsdWUsIDEyLjUlKTtcbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wNSk7IC8vZGFya2VuKCR2YWx1ZSwgMyUpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMTI1KTsgLy9kYXJrZW4oJHZhbHVlLCAxMi41JSk7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIGltYWdlIHNpemUgYnVnIGluIElFXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjg4NTVcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbiAgQGluY2x1ZGUgdGhlbWVzKCRjYXJkLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjYXJkLWNvbG9yXCIpO1xuICB9XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtc3BhY2VyLXg7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIHRoZW1lcygkY2FyZC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2FyZC1jYXAtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImNhcmQtY2FwLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImNhcmQtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxuXG4gICsgLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLmMtY2hhcnQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgdGhlbWVzKCRjYXJkLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjYXJkLWNhcC1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2FyZC1jYXAtYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2FyZC1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLXBsYWNlaG9sZGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIC4wMjUpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgJGdyYXktMzAwO1xufVxuXG4uY2FyZC1oZWFkZXItaWNvbi1iZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICgkY2FyZC1zcGFjZXIteSAqIDIpICsgKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKTtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgMDtcbiAgbWFyZ2luOiAoLSAkY2FyZC1zcGFjZXIteSkgJGNhcmQtc3BhY2VyLXggKC0gJGNhcmQtc3BhY2VyLXkpICgtICRjYXJkLXNwYWNlci14KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAkY2FyZC1pY29uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICRjYXJkLWljb24tYmc7XG4gIGJvcmRlci1yaWdodDogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSB0aGVtZXMoJGNhcmQtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBib3JkZXItcmlnaHQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJjYXJkLWJvcmRlci1jb2xvclwiKTtcbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAaW5jbHVkZSBsdHIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gKCRzcGFjZXIgLyA0KTtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAtICgkc3BhY2VyIC8gNCk7XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyLWFjdGlvbiB7XG4gIHBhZGRpbmc6IDAgKCRzcGFjZXIgLyA0KTtcbiAgY29sb3I6ICRncmF5LTYwMDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gQ2FyZHMgd2l0aCBjb2xvciBhY2NlbnRcbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC5jYXJkLWFjY2VudC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGNhcmQtYWNjZW50LXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG4uY2FyZC1mdWxsIHtcbiAgbWFyZ2luLXRvcDogLSAkc3BhY2VyO1xuICBtYXJnaW4tcmlnaHQ6IC0gJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0gJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1jb2x1bW5zIHtcblxuICAgICYuY29scy0yIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG4gIH1cbn1cbiIsIlxuLy9cbi8vIENhcmRzXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZHNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAgICAgICAgJHNwYWNlciAqIDEuNSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtbWFyZ2luOiAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cbiRjYXJkLWljb24tYmc6ICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjYXJkLWljb24tY29sb3I6ICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZHNcblxuLy8gRGVmYXVsdCB0aGVtZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmRzLWRlZmF1bHQtdGhlbWVcbiRjYXJkLWJvcmRlci1jb2xvcjogICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmRzLWRlZmF1bHQtdGhlbWVcblxuJGNhcmQtdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY2FyZC10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwiY2FyZC1ib3JkZXItY29sb3JcIjogICRjYXJkLWJvcmRlci1jb2xvcixcbiAgICAgIFwiY2FyZC1jYXAtYmdcIjogICAgICAgICRjYXJkLWNhcC1iZyxcbiAgICAgIFwiY2FyZC1jYXAtY29sb3JcIjogICAgICRjYXJkLWNhcC1jb2xvcixcbiAgICAgIFwiY2FyZC1jb2xvclwiOiAgICAgICAgICRjYXJkLWNvbG9yLFxuICAgICAgXCJjYXJkLWJnXCI6ICAgICAgICAgICAgJGNhcmQtYmdcbiAgICApXG4gICksXG4gICRjYXJkLXRoZW1lLW1hcFxuKTtcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBOYW1lIG9mIHRoZSBwcmV2aW91cyBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgZmlyc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWJlZm9yZShsZylcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQobGcsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KGxnLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1iZWZvcmUoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiAtIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjYXJkLWFjY2VudC12YXJpYW50KCRjb2xvcikge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3IgIWltcG9ydGFudDtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB0aGUgY3VycmVudFxuLy8gICAgc2xpZGUgaW4gaXRzIGluLXRyYW5zaXRpb24gc3RhdGUuIE9ubHkgb25lIG9mIHRoZXNlIG9jY3VycyBhdCBhIHRpbWUuXG4vLyA1LiAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0XG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSB0cmFuc2l0aW9uc1xuLy9cblxuLmNhcm91c2VsLWZhZGUge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDEwMCUgMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICB9XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gQ2Fyb3VzZWxcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogIDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsXG4iLCIuYy1jaGFydC13cmFwcGVyIGNhbnZhcyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci10eXBlLW5vLXVua25vd25cbmJhc2UtY2hhcnQuY2hhcnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuY2FudmFzIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG9wYWNpdHk6IC41O1xuICBAaW5jbHVkZSB0aGVtZXMoJGNsb3NlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjbG9zZS1jb2xvclwiKTtcbiAgICB0ZXh0LXNoYWRvdzogdGhlbWVzLWdldC12YWx1ZShcImNsb3NlLXRleHQtc2hhZG93XCIpO1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY2xvc2UtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2xvc2UtY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIlxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgMzQwcHggIWRlZmF1bHQ7XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg7XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBoZWlnaHQ6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvclwiKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvclwiKTtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZ1wiKSk7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnXCIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIHRvIHdvcmsgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0sXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZ1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHNldWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGN1cnNvcjogJGN1c3RvbS1jb250cm9sLWN1cnNvcjtcbiAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3JcIik7XG4gIH1cblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgcmlnaHQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXI6IHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZ1wiKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgcmlnaHQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgfVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2Zyh0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWRcIikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvclwiKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmdcIik7XG4gICAgICB9XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZFwiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gc3dpdGNoZXNcbi8vXG4vLyBUd2VhayBhIGZldyB0aGluZ3MgZm9yIHN3aXRjaGVzXG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgfVxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICByaWdodDogLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpO1xuICAgICAgfVxuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLXdpZHRoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogYWRkKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbGVmdDogYWRkKC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIHJpZ2h0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgfVxuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmdcIik7XG4gICAgICB9XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGN1c3RvbS1zd2l0Y2gtd2lkdGggLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFNlbGVjdFxuLy9cbi8vIFJlcGxhY2VzIHRoZSBicm93c2VyIGRlZmF1bHQgc2VsZWN0IHdpdGggYSBjdXN0b20gb25lLCBtb3N0bHkgcHVsbGVkIGZyb21cbi8vIGh0dHBzOi8vcHJpbWVyLmdpdGh1Yi5pby8uXG4vL1xuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tc2VsZWN0LWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tc2VsZWN0LWJnXCIpIHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tc2VsZWN0LWJhY2tncm91bmRcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3csICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtY29sb3JcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1iZ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZ1wiKTtcbiAgICB9XG4gIH1cblxuICAvLyBIaWRlcyB0aGUgZGVmYXVsdCBjYXJldCBpbiBJRTExXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICB9XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc20pO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICB9XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1maWxlLWRpc2FibGVkLWJnXCIpO1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICB+IC5jdXN0b20tZmlsZS1sYWJlbFtkYXRhLWJyb3dzZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtYnJvd3NlKTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1maWxlLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tZmlsZS1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tZmlsZS1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yXCIpO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1maWxlLWJ1dHRvbi1iZ1wiKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJhbmdlXG4vL1xuLy8gU3R5bGUgcmFuZ2UgaW5wdXRzIHRoZSBzYW1lIGFjcm9zcyBicm93c2Vycy4gVmVuZG9yLXNwZWNpZmljIHJ1bGVzIGZvciBwc2V1ZG9cbi8vIGVsZW1lbnRzIGNhbm5vdCBiZSBtaXhlZC4gQXMgc3VjaCwgdGhlcmUgYXJlIG5vIHNoYXJlZCBzdHlsZXMgZm9yIGZvY3VzIG9yXG4vLyBhY3RpdmUgc3RhdGVzIG9uIHByZWZpeGVkIHNlbGVjdG9ycy5cblxuLmN1c3RvbS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCwgJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoICogMik7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1zLXRodW1iICAgICAgICAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodCAtICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0KSAvIDI7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRodW1iLWJnXCIpKTtcbiAgICB9XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmdcIikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRyYWNrLWJnXCIpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tcmFuZ2UtdGh1bWItYmdcIikpO1xuICAgIH1cbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZ1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10cmFjay1iZ1wiKTtcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRodW1iLWJnXCIpKTtcbiAgICB9XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmdcIikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQgLyAyO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10cmFjay1iZ1wiKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgLy8gYXJiaXRyYXJ5P1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRyYWNrLWJnXCIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmdcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLFxuLmN1c3RvbS1maWxlLWxhYmVsLFxuLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG59XG4iLCIkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yOiAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgNTAlICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDIgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6ICBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBEZWZhdWx0IFRoZW1lXG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcblxuXG4kY3VzdG9tLWZvcm1zLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZyxcbiAgICAgIFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3IsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZ1wiOiAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmcsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcixcbiAgICAgIFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3JcIjogICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yLFxuICAgICAgXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZ1wiOiAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnXCI6ICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyxcbiAgICAgIFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcixcbiAgICAgIFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3IsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3JcIjogICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yLFxuICAgICAgXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnXCI6ICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZyxcbiAgICAgIFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3JcIjogICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZFwiOiAgICAgICAgICAgICAgICAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQsXG4gICAgICBcImN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZ1wiOiAgICAgICAgICAgICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcsXG4gICAgICBcImN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvclwiOiAgICAgICAgICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3IsXG4gICAgICBcImN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3JcIjogICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZVwiOiAgICAgICAgICAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUsXG4gICAgICBcImN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkXCI6ICAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCxcbiAgICAgIFwiY3VzdG9tLXNlbGVjdC1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtY29sb3IsXG4gICAgICBcImN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yLFxuICAgICAgXCJjdXN0b20tc2VsZWN0LWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1iZyxcbiAgICAgIFwiY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmcsXG4gICAgICBcImN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcixcbiAgICAgIFwiY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLFxuICAgICAgXCJjdXN0b20tc2VsZWN0LWJhY2tncm91bmRcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLFxuICAgICAgXCJjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3IsXG4gICAgICBcImN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcixcbiAgICAgIFwiY3VzdG9tLXJhbmdlLXRyYWNrLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10cmFjay1iZyxcbiAgICAgIFwiY3VzdG9tLXJhbmdlLXRodW1iLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi1iZyxcbiAgICAgIFwiY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcsXG4gICAgICBcImN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmcsXG4gICAgICBcImN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3IsXG4gICAgICBcImN1c3RvbS1maWxlLWRpc2FibGVkLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZyxcbiAgICAgIFwiY3VzdG9tLWZpbGUtY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yLFxuICAgICAgXCJjdXN0b20tZmlsZS1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWZpbGUtYmcsXG4gICAgICBcImN1c3RvbS1maWxlLWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3IsXG4gICAgICBcImN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tZmlsZS1idXR0b24tY29sb3IsXG4gICAgICBcImN1c3RvbS1maWxlLWJ1dHRvbi1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tZmlsZS1idXR0b24tYmdcbiAgICApXG4gICksXG4gICRjdXN0b20tZm9ybXMtdGhlbWUtbWFwXG4pO1xuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIC8vIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkZHJvcGRvd24tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1ib3JkZXItY29sb3JcIik7XG4gIH1cbn1cblxuLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LFxuLm5hdmJhciAuZHJvcGRvd24tbWVudSxcbltkYXRhLWRpc3BsYXlePVwic3RhdGljXCJdIH4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCxcbiAgICAubmF2YmFyIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQsXG4gICAgW2RhdGEtZGlzcGxheV49XCJzdGF0aWNcIl0gfiAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0LFxuICAgIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQsXG4gICAgW2RhdGEtZGlzcGxheV49XCJzdGF0aWNcIl0gfiAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3VcInJlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSB0aGVtZXMoJGRyb3Bkb3duLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgQGluY2x1ZGUgbmF2LWRpdmlkZXIodGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWRpdmlkZXItYmdcIiksICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbiAgfVxufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgQGluY2x1ZGUgdGhlbWVzKCRkcm9wZG93bi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiZHJvcGRvd24tbGluay1jb2xvclwiKTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmVcInMgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLy8gQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuXG4gICAgQGluY2x1ZGUgdGhlbWVzKCRkcm9wZG93bi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWxpbmstaG92ZXItYmdcIikpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC8vIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJGRyb3Bkb3duLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yXCIpO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWxpbmstYWN0aXZlLWJnXCIpKTtcbiAgICB9XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJGRyb3Bkb3duLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3JcIik7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG4gIEBpbmNsdWRlIHRoZW1lcygkZHJvcGRvd24tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWhlYWRlci1jb2xvclwiKTtcbiAgfVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG5cbiAgQGluY2x1ZGUgdGhlbWVzKCRkcm9wZG93bi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiZHJvcGRvd24tbGluay1jb2xvclwiKTtcbiAgfVxufVxuIiwiQG1peGluIGNhcmV0LWRvd24oKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIH1cbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd25zXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd25zXG5cbi8vIERlZmF1bHQgdGhlbWVcbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bnMtZGVmYXVsdC10aGVtZVxuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3ducy1kZWZhdWx0LXRoZW1lXG5cblxuJGRyb3Bkb3duLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGRyb3Bkb3duLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJkcm9wZG93bi1jb2xvclwiOiAgICAgICAgICAgICAgICAkZHJvcGRvd24tY29sb3IsXG4gICAgICBcImRyb3Bkb3duLWJvcmRlci1jb2xvclwiOiAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IsXG4gICAgICBcImRyb3Bkb3duLWJnXCI6ICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1iZyxcbiAgICAgIFwiZHJvcGRvd24tZGl2aWRlci1iZ1wiOiAgICAgICAgICAgJGRyb3Bkb3duLWRpdmlkZXItYmcsXG4gICAgICBcImRyb3Bkb3duLWxpbmstY29sb3JcIjogICAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yLFxuICAgICAgXCJkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yXCI6ICAgICAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcixcbiAgICAgIFwiZHJvcGRvd24tbGluay1ob3Zlci1iZ1wiOiAgICAgICAgJGRyb3Bkb3duLWxpbmstaG92ZXItYmcsXG4gICAgICBcImRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yXCI6ICAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcixcbiAgICAgIFwiZHJvcGRvd24tbGluay1hY3RpdmUtYmdcIjogICAgICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnLFxuICAgICAgXCJkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yXCI6ICAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcixcbiAgICAgIFwiZHJvcGRvd24taGVhZGVyLWNvbG9yXCI6ICAgICAgICAgJGRyb3Bkb3duLWhlYWRlci1jb2xvclxuICAgIClcbiAgKSxcbiAgJGRyb3Bkb3duLXRoZW1lLW1hcFxuKTtcbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbmF2LWRpdmlkZXIoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLmMtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwICRmb290ZXItaGVpZ2h0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogJGZvb3Rlci1oZWlnaHQ7XG4gIHBhZGRpbmc6IDAgJHNwYWNlcjtcblxuICAmW2NsYXNzKj1cImJnLVwiXSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpO1xuICB9XG5cbiAgJi5jLWZvb3Rlci1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgdGhlbWVzKCRmb290ZXItdGhlbWUtbWFwLCAkcGFyZW50OiBcIi5jLWZvb3RlclwiKSB7XG4gIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiZm9vdGVyLWNvbG9yXCIpO1xuICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwiZm9vdGVyLWJnXCIpO1xuICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJmb290ZXItYm9yZGVyc1wiKSk7XG59XG4iLCIvLyBGb290ZXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvb3RlclxuJGZvb3Rlci1oZWlnaHQ6ICA1MHB4ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb290ZXJcblxuXG4vLyBEZWZhdWx0IFRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9vdGVyLWRlZmF1bHQtdGhlbWVcbiRmb290ZXItZGFyay1iZzogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvb3Rlci1kYXJrLWNvbG9yOiAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyLWRhcmstYm9yZGVyczogIDAgIWRlZmF1bHQ7XG5cbiRmb290ZXItbGlnaHQtYmc6ICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRmb290ZXItbGlnaHQtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1saWdodC1ib3JkZXJzOiAgKCB0b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yICkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvb3Rlci1kZWZhdWx0LXRoZW1lXG5cbiRmb290ZXItdmFyaWFudHMtbWFwOiAgKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvb3Rlci12YXJpYW50cy1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRhcms6IChcbiAgICAgIFwiZm9vdGVyLWJnXCI6ICAgICAgICRmb290ZXItZGFyay1iZyxcbiAgICAgIFwiZm9vdGVyLWNvbG9yXCI6ICAgICRmb290ZXItZGFyay1jb2xvcixcbiAgICAgIFwiZm9vdGVyLWJvcmRlcnNcIjogICRmb290ZXItZGFyay1ib3JkZXJzXG4gICAgKSxcbiAgICBsaWdodDogKFxuICAgICAgXCJmb290ZXItYmdcIjogICAgICAgJGZvb3Rlci1saWdodC1iZyxcbiAgICAgIFwiZm9vdGVyLWNvbG9yXCI6ICAgICRmb290ZXItbGlnaHQtY29sb3IsXG4gICAgICBcImZvb3Rlci1ib3JkZXJzXCI6ICAkZm9vdGVyLWxpZ2h0LWJvcmRlcnNcbiAgICApXG4gICksXG4gICRmb290ZXItdmFyaWFudHMtbWFwXG4pO1xuXG4kZm9vdGVyLWRlZmF1bHQtdmFyaWFudDogXCJsaWdodFwiICFkZWZhdWx0O1xuJGZvb3Rlci12YXJpYW50czogKFxuICBcImRlZmF1bHRcIjogJGZvb3Rlci1kZWZhdWx0LXZhcmlhbnQsXG4gIFwibWFwXCI6ICAgICAkZm9vdGVyLXZhcmlhbnRzLW1hcFxuKSAhZGVmYXVsdDtcblxuXG4kZm9vdGVyLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvb3Rlci10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6ICRmb290ZXItdmFyaWFudHMsXG4gICksXG4gICRmb290ZXItdGhlbWUtbWFwXG4pO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSBzZWxlY3Qgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkaW5wdXQtY29sb3I7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGZvcm0tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtcGxhY2Vob2xkZXItY29sb3JcIik7XG4gICAgfVxuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGZvcm0tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1kaXNhYmxlZC1iZ1wiKTtcbiAgICB9XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIEBpbmNsdWRlIHRoZW1lcygkZm9ybS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1iZ1wiKTtcbiAgICB9XG4gIH1cblxuICBvcHRpb24ge1xuICAgIC8vIEFkZCBiYWNrZ3JvdW5kLWNvbG9yIGZvciBvcHRpb24gZWxlbWVudHNcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGZvcm0tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzZWxlY3Qtb3B0aW9uLWJnXCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG4gIEBpbmNsdWRlIHRoZW1lcygkZm9ybS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtcGxhaW50ZXh0LWNvbG9yXCIpO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBJbmRlbnQgdGhlIGxhYmVscyB0byBwb3NpdGlvbiByYWRpb3MvY2hlY2tib3hlcyBhcyBoYW5naW5nIGNvbnRyb2xzLlxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBAaW5jbHVkZSBsdHIge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCR0eXBvZ3JhcGh5LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRleHQtbXV0ZWRcIik7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuICB9XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuLy9cbi8vIFByb3ZpZGUgZmVlZGJhY2sgdG8gdXNlcnMgd2hlbiBmb3JtIGZpZWxkIHZhbHVlcyBhcmUgdmFsaWQgb3IgaW52YWxpZC4gV29ya3Ncbi8vIHByaW1hcmlseSBmb3IgY2xpZW50LXNpZGUgdmFsaWRhdGlvbiB2aWEgc2NvcGVkIGA6aW52YWxpZGAgYW5kIGA6dmFsaWRgXG4vLyBwc2V1ZG8tY2xhc3NlcyBidXQgYWxzbyBpbmNsdWRlcyBgLmlzLWludmFsaWRgIGFuZCBgLmlzLXZhbGlkYCBjbGFzc2VzIGZvclxuLy8gc2VydmVyIHNpZGUgdmFsaWRhdGlvbi5cblxuQGVhY2ggJHN0YXRlLCAkZGF0YSBpbiAkZm9ybS12YWxpZGF0aW9uLXN0YXRlcyB7XG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZSgkc3RhdGUsIG1hcC1nZXQoJGRhdGEsIGNvbG9yKSwgbWFwLWdldCgkZGF0YSwgaWNvbikpO1xufVxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBQcmV2ZW50IHNob3J0ZXIgZWxlbWVudHMgZnJvbSBncm93aW5nIHRvIHNhbWUgaGVpZ2h0IGFzIG90aGVycyAoZS5nLiwgc21hbGwgYnV0dG9ucyBncm93aW5nIHRvIG5vcm1hbCBzaXplZCBidXR0b24gaGVpZ2h0KVxuXG4gIC8vIEJlY2F1c2Ugd2UgdXNlIGZsZXgsIHRoZSBpbml0aWFsIHNpemluZyBvZiBjaGVja2JveGVzIGlzIGNvbGxhcHNlZCBhbmRcbiAgLy8gZG9lc24ndCBvY2N1cHkgdGhlIGZ1bGwtd2lkdGggKHdoaWNoIGlzIHdoYXQgd2Ugd2FudCBmb3IgeHMgZ3JpZCB0aWVyKSxcbiAgLy8gc28gd2UgZm9yY2UgdGhhdCBoZXJlLlxuICAuZm9ybS1jaGVjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBLaWNrIGluIHRoZSBpbmxpbmVcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCxcbiAgICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaC5cbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgbWF4LXdpZHRoOiAzcmVtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15O1xufVxuXG4uZm9ybS1jb250cm9sLWNvbG9yOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uZm9ybS1jb250cm9sLWNvbG9yOjotd2Via2l0LWNvbG9yLXN3YXRjaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGZvcm0tdGhlbWUtbWFwKSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWZvY3VzLWNvbG9yXCIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWZvY3VzLWJnXCIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGxlZnQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCBlc2NhcGUtc3ZnKCRpY29uKSAkY3VzdG9tLXNlbGVjdC1iZyBuby1yZXBlYXQgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cblxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG5cbi5yb3cucm93LWVxdWFsIHtcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDQpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyA0KTtcbiAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xuICBtYXJnaW4tbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcblxuICBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDQpO1xuICAgIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDQpO1xuICB9XG59XG5cbi5tYWluIC5jb250YWluZXItZmx1aWQge1xuICBwYWRkaW5nOiAwIDMwcHg7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgIDYgIWRlZmF1bHQ7XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1NDEwXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWluLWhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG5cbiAgJltjbGFzcyo9XCJiZy1cIl0gIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSk7XG4gIH1cblxuICAmLmMtaGVhZGVyLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LWZpeGVkIC0gMTtcbiAgfVxuXG4gIC5jLXN1YmhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYy1oZWFkZXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAkaGVhZGVyLWJyYW5kLXdpZHRoO1xuICBtaW4taGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcbiAgdHJhbnNpdGlvbjogd2lkdGggJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICYuYy1oZWFkZXItYnJhbmQtY2VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkaGVhZGVyLWhlaWdodDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG5cbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbGVmdDogNTAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgJi5jLWhlYWRlci1icmFuZC0jeyRicmVha3BvaW50fS1kb3duLWNlbnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAkaGVhZGVyLWhlaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgJi5jLWhlYWRlci1icmFuZC0jeyRicmVha3BvaW50fS11cC1jZW50ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogJGhlYWRlci1oZWlnaHQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jLWhlYWRlci10b2dnbGVyIHtcbiAgbWluLXdpZHRoOiA1MHB4O1xuICBmb250LXNpemU6ICRoZWFkZXItdG9nZ2xlci1mb250LXNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdG9nZ2xlci1iZztcbiAgYm9yZGVyOiAwOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVycygkaGVhZGVyLXRvZ2dsZXItYm9yZGVyKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaGVhZGVyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLm5hdmJhci10b2dnbGVyIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5jLWRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5jLWhlYWRlci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAkaGVhZGVyLXRvZ2dsZXItZm9udC1zaXplICogMS4yNTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi5jLWhlYWRlci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAuYy1oZWFkZXItbmF2LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jLWhlYWRlci1uYXYtYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG5cbiAgLmMtaGVhZGVyLW5hdi1saW5rLFxuICAuYy1oZWFkZXItbmF2LWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRoZWFkZXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgIHBhZGRpbmctbGVmdDogJGhlYWRlci1uYXYtbGluay1wYWRkaW5nLXg7XG5cbiAgICAuYmFkZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIG1pbi13aWR0aDogMTgwcHg7XG4gIH1cbn1cblxuLy9cbi8vIEhlYWRlciB2YXJpYW50c1xuLy9cblxuQGluY2x1ZGUgdGhlbWVzKCRoZWFkZXItdGhlbWUtbWFwLCAkY3JlYXRlOiBhcHBlbmQsICRwYXJlbnQ6IFwiLmMtaGVhZGVyXCIpIHtcbiAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1iZ1wiKTtcbiAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLWJvcmRlclwiKSk7XG5cbiAgLmMtc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIGJvcmRlci10b3A6IHRoZW1lcy1nZXQtdmFsdWUoXCJzdWJoZWFkZXItc2VwYXJhdG9yXCIpO1xuICB9XG5cbiAgLmMtaGVhZGVyLWJyYW5kIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1icmFuZC1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLWJyYW5kLWJnXCIpO1xuICAgIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1icmFuZC1ib3JkZXJcIikpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItYnJhbmQtaG92ZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLmMtaGVhZGVyLW5hdiB7XG4gICAgLmMtaGVhZGVyLW5hdi1saW5rLFxuICAgIC5jLWhlYWRlci1uYXYtYnRuIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLWNvbG9yXCIpO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgfVxuXG4gICAgICAmLmMtZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1kaXNhYmxlZC1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1zaG93ID4gLmMtaGVhZGVyLW5hdi1saW5rLFxuICAgIC5jLWFjdGl2ZSA+IC5jLWhlYWRlci1uYXYtbGluayxcbiAgICAuYy1oZWFkZXItbmF2LWxpbmsuYy1zaG93LFxuICAgIC5jLWhlYWRlci1uYXYtbGluay5jLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1hY3RpdmUtY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLmMtaGVhZGVyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLWNvbG9yXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci10b2dnbGVyLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIC5jLWhlYWRlci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItdG9nZ2xlci1pY29uLWJnXCIpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLXRvZ2dsZXItaG92ZXItaWNvbi1iZ1wiKTtcbiAgICB9XG4gIH1cblxuICAuYy1oZWFkZXItdGV4dCB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItY29sb3JcIik7XG4gICAgYSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1hY3RpdmUtY29sb3JcIik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItYWN0aXZlLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSGVhZGVyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkZXJcbiRoZWFkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgNTZweCAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtd2lkdGg6ICAgICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtbWluaW1pemVkLXdpZHRoOiAgNTZweCAhZGVmYXVsdDtcblxuJGhlYWRlci1wYWRkaW5nLXk6ICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkZXItcGFkZGluZy14OiAgJHNwYWNlciAhZGVmYXVsdDtcblxuJGhlYWRlci1uYXYtbGluay1wYWRkaW5nLXg6ICAuNXJlbSAhZGVmYXVsdDtcblxuJGhlYWRlci1icmFuZC1mb250LXNpemU6ICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGhlYWRlci1icmFuZC1oZWlnaHQ6ICAgICAkaGVhZGVyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGhlYWRlci1icmFuZC1wYWRkaW5nLXk6ICAoJG5hdi1saW5rLWhlaWdodCAtICRoZWFkZXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRlclxuXG5cbi8vIERlZmF1bHQgdGhlbWVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRlci1kZWZhdWx0LXRoZW1lXG4kaGVhZGVyLXRvZ2dsZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhlYWRlci10b2dnbGVyLXBhZGRpbmcteTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRoZWFkZXItdG9nZ2xlci1ib3JkZXI6ICAgICAgICAgMCAhZGVmYXVsdDtcbiRoZWFkZXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kaGVhZGVyLWxpZ2h0LWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRoZWFkZXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRoZWFkZXItbGlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgKCBib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yICkgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRoZWFkZXItbGlnaHQtY29sb3J9JyBzdHJva2Utd2lkdGg9JzIuMjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC10b2dnbGVyLWhvdmVyLWljb24tYmc6ICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skaGVhZGVyLWxpZ2h0LWhvdmVyLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyLjI1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRoZWFkZXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6ICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGhlYWRlci1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWJhc2UgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstYm9yZGVyOiAgICAgICAgICAgICAgICAgKCBib3R0b206IDFweCBzb2xpZCAkZ3JheS04MDAgKSAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjkpICFkZWZhdWx0O1xuJGhlYWRlci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skaGVhZGVyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzIuMjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGhlYWRlci1kYXJrLXRvZ2dsZXItaG92ZXItaWNvbi1iZzogIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRoZWFkZXItZGFyay1ob3Zlci1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMi4yNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJGhlYWRlci1saWdodC1icmFuZC1iZzogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LWJyYW5kLWJvcmRlcjogICAgICAgICAgICAwICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgZGFya2VuKCRncmF5LTkwMCwgMTAlKSAhZGVmYXVsdDtcbiRoZWFkZXItbGlnaHQtYnJhbmQtbWluaW1pemVkLWJnOiAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC1icmFuZC1taW5pbWl6ZWQtYm9yZGVyOiAgMCAhZGVmYXVsdDtcblxuJGhlYWRlci1kYXJrLWJyYW5kLWJnOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay1icmFuZC1ib3JkZXI6ICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgJGhlYWRlci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgJGhlYWRlci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay1icmFuZC1taW5pbWl6ZWQtYmc6ICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstYnJhbmQtbWluaW1pemVkLWJvcmRlcjogIDAgIWRlZmF1bHQ7XG5cbiRzdWJoZWFkZXItbGlnaHQtc2VwYXJhdG9yOiAgMXB4IHNvbGlkICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJoZWFkZXItZGFyay1zZXBhcmF0b3I6ICAxcHggc29saWQgJGdyYXktODAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkZXItZGVmYXVsdC10aGVtZVxuXG5cbiRoZWFkZXItdmFyaWFudHMtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kaGVhZGVyLXZhcmlhbnRzLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGFyazogKFxuICAgICAgXCJoZWFkZXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgJGhlYWRlci1kYXJrLWJnLFxuICAgICAgXCJoZWFkZXItY29sb3JcIjogICAgICAgICAgICAgICAgICAgJGhlYWRlci1kYXJrLWNvbG9yLFxuICAgICAgXCJoZWFkZXItYm9yZGVyXCI6ICAgICAgICAgICAgICAgICAgJGhlYWRlci1kYXJrLWJvcmRlcixcbiAgICAgIFwiaGVhZGVyLWhvdmVyLWNvbG9yXCI6ICAgICAgICAgICAgICRoZWFkZXItZGFyay1ob3Zlci1jb2xvcixcbiAgICAgIFwiaGVhZGVyLWFjdGl2ZS1jb2xvclwiOiAgICAgICAgICAgICRoZWFkZXItZGFyay1hY3RpdmUtY29sb3IsXG4gICAgICBcImhlYWRlci1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICAkaGVhZGVyLWRhcmstZGlzYWJsZWQtY29sb3IsXG4gICAgICBcImhlYWRlci10b2dnbGVyLWljb24tYmdcIjogICAgICAgICAkaGVhZGVyLWRhcmstdG9nZ2xlci1pY29uLWJnLFxuICAgICAgXCJoZWFkZXItdG9nZ2xlci1ob3Zlci1pY29uLWJnXCI6ICAgJGhlYWRlci1kYXJrLXRvZ2dsZXItaG92ZXItaWNvbi1iZyxcbiAgICAgIFwiaGVhZGVyLXRvZ2dsZXItYm9yZGVyLWNvbG9yXCI6ICAgICRoZWFkZXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcixcbiAgICAgIFwiaGVhZGVyLWJyYW5kLWJnXCI6ICAgICAgICAgICAgICAgICRoZWFkZXItZGFyay1icmFuZC1iZyxcbiAgICAgIFwiaGVhZGVyLWJyYW5kLWJvcmRlclwiOiAgICAgICAgICAgICRoZWFkZXItZGFyay1icmFuZC1ib3JkZXIsXG4gICAgICBcImhlYWRlci1icmFuZC1jb2xvclwiOiAgICAgICAgICAgICAkaGVhZGVyLWRhcmstYnJhbmQtY29sb3IsXG4gICAgICBcImhlYWRlci1icmFuZC1ob3Zlci1jb2xvclwiOiAgICAgICAkaGVhZGVyLWRhcmstYnJhbmQtaG92ZXItY29sb3IsXG4gICAgICBcImhlYWRlci1icmFuZC1taW5pbWl6ZWQtYmdcIjogICAgICAkaGVhZGVyLWRhcmstYnJhbmQtbWluaW1pemVkLWJnLFxuICAgICAgXCJoZWFkZXItYnJhbmQtbWluaW1pemVkLWJvcmRlclwiOiAgJGhlYWRlci1kYXJrLWJyYW5kLW1pbmltaXplZC1ib3JkZXIsXG4gICAgICBcInN1YmhlYWRlci1zZXBhcmF0b3JcIjogICAgICAgICAgICAkc3ViaGVhZGVyLWRhcmstc2VwYXJhdG9yXG4gICAgKSxcbiAgICBsaWdodDogKFxuICAgICAgXCJoZWFkZXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgJGhlYWRlci1saWdodC1iZyxcbiAgICAgIFwiaGVhZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICRoZWFkZXItbGlnaHQtY29sb3IsXG4gICAgICBcImhlYWRlci1ib3JkZXJcIjogICAgICAgICAgICAgICAgICAkaGVhZGVyLWxpZ2h0LWJvcmRlcixcbiAgICAgIFwiaGVhZGVyLWhvdmVyLWNvbG9yXCI6ICAgICAgICAgICAgICRoZWFkZXItbGlnaHQtaG92ZXItY29sb3IsXG4gICAgICBcImhlYWRlci1hY3RpdmUtY29sb3JcIjogICAgICAgICAgICAkaGVhZGVyLWxpZ2h0LWFjdGl2ZS1jb2xvcixcbiAgICAgIFwiaGVhZGVyLWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAgICRoZWFkZXItbGlnaHQtZGlzYWJsZWQtY29sb3IsXG4gICAgICBcImhlYWRlci10b2dnbGVyLWljb24tYmdcIjogICAgICAgICAkaGVhZGVyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyxcbiAgICAgIFwiaGVhZGVyLXRvZ2dsZXItaG92ZXItaWNvbi1iZ1wiOiAgICRoZWFkZXItbGlnaHQtdG9nZ2xlci1ob3Zlci1pY29uLWJnLFxuICAgICAgXCJoZWFkZXItdG9nZ2xlci1ib3JkZXItY29sb3JcIjogICAgJGhlYWRlci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcixcbiAgICAgIFwiaGVhZGVyLWJyYW5kLWJnXCI6ICAgICAgICAgICAgICAgICRoZWFkZXItbGlnaHQtYnJhbmQtYmcsXG4gICAgICBcImhlYWRlci1icmFuZC1ib3JkZXJcIjogICAgICAgICAgICAkaGVhZGVyLWxpZ2h0LWJyYW5kLWJvcmRlcixcbiAgICAgIFwiaGVhZGVyLWJyYW5kLWNvbG9yXCI6ICAgICAgICAgICAgICRoZWFkZXItbGlnaHQtYnJhbmQtY29sb3IsXG4gICAgICBcImhlYWRlci1icmFuZC1ob3Zlci1jb2xvclwiOiAgICAgICAkaGVhZGVyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yLFxuICAgICAgXCJoZWFkZXItYnJhbmQtbWluaW1pemVkLWJnXCI6ICAgICAgJGhlYWRlci1saWdodC1icmFuZC1taW5pbWl6ZWQtYmcsXG4gICAgICBcImhlYWRlci1icmFuZC1taW5pbWl6ZWQtYm9yZGVyXCI6ICAkaGVhZGVyLWxpZ2h0LWJyYW5kLW1pbmltaXplZC1ib3JkZXIsXG4gICAgICBcInN1YmhlYWRlci1zZXBhcmF0b3JcIjogICAgICAgICAgICAkc3ViaGVhZGVyLWxpZ2h0LXNlcGFyYXRvclxuICAgIClcbiAgKSxcbiAgJGhlYWRlci12YXJpYW50cy1tYXBcbik7XG5cbiRoZWFkZXItZGVmYXVsdC12YXJpYW50OiBcImxpZ2h0XCIgIWRlZmF1bHQ7XG4kaGVhZGVyLXZhcmlhbnRzOiAoXG4gIGRlZmF1bHQ6ICAkaGVhZGVyLWRlZmF1bHQtdmFyaWFudCxcbiAgbWFwOiAgICAgICRoZWFkZXItdmFyaWFudHMtbWFwXG4pICFkZWZhdWx0O1xuXG4kaGVhZGVyLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGhlYWRlci10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6ICAkaGVhZGVyLXZhcmlhbnRzXG4gICksXG4gICRoZWFkZXItdGhlbWUtbWFwXG4pO1xuIiwiLmMtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICAmOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpIHtcbiAgICBAaW5jbHVkZSBpY29uLXNpemUoJGljb24tc2l6ZS1iYXNlKTtcblxuICAgIC8vIFRPRE86IGNyZWF0ZSB2YXJpYWJsZSB3aXRoIGEgcmFuZ2VcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDkge1xuICAgICAgJi5jLWljb24tI3skaX14bCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaSAqICgkaWNvbi1zaXplLXhsIC8gMS41KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jLWljb24teGwge1xuICAgICAgQGluY2x1ZGUgaWNvbi1zaXplKCRpY29uLXNpemUteGwpO1xuICAgIH1cblxuICAgICYuYy1pY29uLWxnIHtcbiAgICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaWNvbi1zaXplLWxnKTtcbiAgICB9XG5cbiAgICAmLmMtaWNvbi1zbSB7XG4gICAgICBAaW5jbHVkZSBpY29uLXNpemUoJGljb24tc2l6ZS1zbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBJY29uIHNpemVzXG5AbWl4aW4gaWNvbi1zaXplKCRpY29uLXNpemUpIHtcbiAgd2lkdGg6ICRpY29uLXNpemU7XG4gIGhlaWdodDogJGljb24tc2l6ZTtcbiAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQge1xuICBAaW5jbHVkZSBsdHIge1xuICAgIG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBNYXRjaCB0aGUgaW5wdXRzXG59XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1ncm91cC1hZGRvbi1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtZ3JvdXAtYWRkb24tYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBsdHIge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyIC8gMjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbFxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWxcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmVcbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmVcbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkanVtYm90cm9uLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJqdW1ib3Ryb24tY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImp1bWJvdHJvbi1iZ1wiKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIlxuLy8gSnVtYm90cm9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBqdW1ib3Ryb25cbiRqdW1ib3Ryb24tcGFkZGluZzogIDJyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGp1bWJvdHJvblxuXG4vLyBEZWZhdWx0IHRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQganVtYm90cm9uLWRlZmF1bHQtdGhlbWVcbiRqdW1ib3Ryb24tY29sb3I6ICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQganVtYm90cm9uLWRlZmF1bHQtdGhlbWVcblxuJGp1bWJvdHJvbi10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRqdW1ib3Ryb24tdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcImp1bWJvdHJvbi1jb2xvclwiOiAgJGp1bWJvdHJvbi1jb2xvcixcbiAgICAgIFwianVtYm90cm9uLWJnXCI6ICAgICAkanVtYm90cm9uLWJnXG4gICAgKVxuICApLFxuICAkanVtYm90cm9uLXRoZW1lLW1hcFxuKTtcbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICB9XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcbiAgQGluY2x1ZGUgdGhlbWVzKCRsaXN0LWdyb3VwLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWFjdGlvbi1jb2xvclwiKTtcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRsaXN0LWdyb3VwLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtaG92ZXItYmdcIik7XG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkbGlzdC1ncm91cC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnXCIpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJvcmRlcjogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSB0aGVtZXMoJGxpc3QtZ3JvdXAtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGlzdC1ncm91cC1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGxpc3QtZ3JvdXAtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWRpc2FibGVkLWJnXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIEBpbmNsdWRlIHRoZW1lcygkbGlzdC1ncm91cC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWFjdGl2ZS1iZ1wiKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvclwiKTtcbiAgICB9XG4gIH1cblxuICAmICsgJiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRjb2xvciwgIHRoZW1lLWNvbG9yLWxldmVsKCR2YWx1ZSwgLTkpLCAgdGhlbWUtY29sb3ItbGV2ZWwoJHZhbHVlLCA2KSk7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4vLyBMaXN0IGl0ZW1zIHdpdGggYWNjZW50XG4vL1xuLy8gUmVtb3ZlIHRvcCwgYm90dG9tZSBhbmQgcmlnaHQgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cy5cblxuLmxpc3QtZ3JvdXAtYWNjZW50IHtcbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWRpdmlkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBsZWZ0OiA1JTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgIHJpZ2h0OiA1JTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB0aGVtZXMoJGxpc3QtZ3JvdXAtdGhlbWUtbWFwKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIENvbnRleHR1YWwgdmFyaWFudHNcbiAgLy9cbiAgLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIGJvcmRlciBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuICBAaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAgIEBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS1hY2NlbnQtdmFyaWFudCgkY29sb3IsICR2YWx1ZSk7XG4gIH1cbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tYWNjZW50LXZhcmlhbnQoJHN0YXRlLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS1hY2NlbnQtI3skc3RhdGV9IHtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRjb2xvcjtcbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi5tb2RhbC1vcGVuIHtcbiAgLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLm1vZGFsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDsgLy8gUmVzZXQgaGVpZ2h0IHRvIDAgZXhjZXB0IG9uIElFXG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xuICBAaW5jbHVkZSB0aGVtZXMoJG1vZGFsLXRoZW1lLW1hcCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibW9kYWwtY29udGVudC1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibW9kYWwtY29udGVudC1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvclwiKTtcbiAgfVxufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRoZW1lcygkbW9kYWwtdGhlbWUtbWFwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgbGVmdCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG8gKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRoZW1lcygkbW9kYWwtdGhlbWUtbWFwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAvIDI7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC5tb2RhbC0jeyRjb2xvcn0ge1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdmFsdWU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTW9kYWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbFxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogIHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwteGw6ICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWxcblxuLy8gRGVmYXVsdCB0aGVtZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWRlZmF1bHQtdGhlbWVcbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1kZWZhdWx0LXRoZW1lXG5cbiRtb2RhbC10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRtb2RhbC10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwibW9kYWwtY29udGVudC1jb2xvclwiOiAgICAgICAgICRtb2RhbC1jb250ZW50LWNvbG9yLFxuICAgICAgXCJtb2RhbC1jb250ZW50LWJnXCI6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYmcsXG4gICAgICBcIm1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yXCI6ICAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3IsXG4gICAgICBcIm1vZGFsLWhlYWRlci1ib3JkZXItY29sb3JcIjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcixcbiAgICAgIFwibW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvclwiOiAgICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yLFxuICAgIClcbiAgKSxcbiAgJG1vZGFsLXRoZW1lLW1hcFxuKTtcbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmcteSAkbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJG5hdi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtbGluay1kaXNhYmxlZC1jb2xvclwiKTtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIHRoZW1lcygkbmF2LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJG5hdi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi1saW5rLWRpc2FibGVkLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtbGluay1hY3RpdmUtYmdcIik7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyAmLm5hdi10YWJzLWJveGVkIHtcbiAgLy8gICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1ib3hlZC1ib3JkZXItY29sb3I7XG4gIC8vICAgKyAudGFiLWNvbnRlbnQge1xuXG4gIC8vICAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQ7XG4gIC8vICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1ib3hlZC1ib3JkZXItY29sb3I7XG5cbiAgLy8gICB9XG4gIC8vIH1cbn1cblxuLm5hdi10YWJzLWJveGVkIHtcbiAgLm5hdi10YWJzIHtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSB0aGVtZXMoJG5hdi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtdGFicy1ib3hlZC1saW5rLWFjdGl2ZS1iZ1wiKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtYm94ZWQtbGluay1hY3RpdmUtYmdcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRhYi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1wYWRkaW5nLXkgJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtcGFkZGluZy14O1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzICRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMgJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwKSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yXCIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWJveGVkLWNvbnRlbnQtYmdcIik7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1jb2xvclwiKTtcbiAgICB9XG4gIH1cblxuICAmLm5hdi10YWJzLWJveGVkLXRvcC1yaWdodCB7XG4gICAgLm5hdi10YWJzIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgIC50YWItY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMgMCAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzICRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYubmF2LXRhYnMtYm94ZWQtbGVmdCxcbiAgJi5uYXYtdGFicy1ib3hlZC1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmLm5hdi10YWJzLWJveGVkLWxlZnQge1xuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyAwIDAgJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwKSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtYm94ZWQtbGVmdC1hY3RpdmUtYm9yZGVyLWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5uYXYtdGFicy1ib3hlZC1yaWdodCB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzICRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMgMCk7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwKSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtYm94ZWQtcmlnaHQtYWN0aXZlLWJvcmRlci1jb2xvclwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50YWItY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMgMCAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzICRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkbmF2LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtcGlsbHMtbGluay1hY3RpdmUtYmdcIik7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBVbmRlcmxpbmVcbi8vXG5cbi5uYXYtdW5kZXJsaW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogKDIgKiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZDtcbiAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtdGFicy1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IC0gKDIgKiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoKTtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJG5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgLm5hdi11bmRlcmxpbmUtI3skY29sb3J9IHtcbiAgICAubmF2LWxpbmsuYWN0aXZlLFxuICAgIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkdmFsdWU7XG4gICAgICBib3JkZXItY29sb3I6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIFRhYnMgaW4gU2lkZWJhclxuXG4uYy1zaWRlYmFyIHtcbiAgLm5hdi10YWJzOmZpcnN0LWNoaWxkLFxuICAuYy1zaWRlYmFyLWNsb3NlICsgLm5hdi10YWJzIHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6ICRzaWRlYmFyLWJyYW5kLWhlaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJcbi8vIFNpZGViYXJcbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyXG4kc2lkZWJhci13aWR0aDogICAgIDI1NnB4ICFkZWZhdWx0O1xuJHNpZGViYXItc20td2lkdGg6ICAxOTJweCAhZGVmYXVsdDtcbiRzaWRlYmFyLWxnLXdpZHRoOiAgMzIwcHggIWRlZmF1bHQ7XG4kc2lkZWJhci14bC13aWR0aDogIDM4NHB4ICFkZWZhdWx0O1xuXG4kc2lkZWJhci13aWR0aHM6IChcbiAgc206IDE5MnB4LFxuICBsZzogMzIwcHgsXG4gIHhsOiAzODRweFxuKSAhZGVmYXVsdDtcblxuJHNpZGViYXItcGFkZGluZzogICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg6ICAgNTZweCAhZGVmYXVsdDtcbiRzaWRlYmFyLW1pbmltaXplZC1oZWlnaHQ6ICAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGggIWRlZmF1bHQ7XG4kc2lkZWJhci1jb21wYWN0LXdpZHRoOiAgICAgMTUwcHggIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWJhY2tkcm9wLWJnOiAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kc2lkZWJhci1iYWNrZHJvcC1vcGFjaXR5OiAgLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItZGVmYXVsdC10aGVtZVxuJHNpZGViYXItZGFyay1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1iZzogICAgICAgJGdyYXktYmFzZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstYm9yZGVyczogIG5vbmUgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1ib3JkZXJzOiAgKFxuICByaWdodDogMXB4IHNvbGlkIHJnYmEoZGFya2VuKCRib3JkZXItY29sb3IsIDIwJSksIC41KVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1kZWZhdWx0LXRoZW1lXG5cbi8vIFNpZGViYXIgQnJhbmRcbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLWJyYW5kXG4kc2lkZWJhci1icmFuZC1oZWlnaHQ6ICA1NnB4ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWJyYW5kXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLWJyYW5kLWRlZmF1bHQtdGhlbWVcbiRzaWRlYmFyLWRhcmstYnJhbmQtY29sb3I6ICAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLWJyYW5kLWJnOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHNpZGViYXItbGlnaHQtYnJhbmQtY29sb3I6ICAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1icmFuZC1iZzogICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWJyYW5kLWRlZmF1bHQtdGhlbWVcblxuLy8gU2lkZWJhciBIZWFkZXJcbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLWhlYWRlclxuJHNpZGViYXItaGVhZGVyLWhlaWdodDogICAgIGF1dG8gIWRlZmF1bHQ7XG4kc2lkZWJhci1oZWFkZXItcGFkZGluZy15OiAgLjc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItaGVhZGVyLXBhZGRpbmcteDogIDFyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItaGVhZGVyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLWhlYWRlci1kZWZhdWx0LXRoZW1lXG4kc2lkZWJhci1kYXJrLWhlYWRlci1iZzogIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1oZWFkZXItYmc6IHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItaGVhZGVyLWRlZmF1bHQtdGhlbWVcblxuLy8gU2lkZWJhciBGb3JtXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1mb3JtLWRlZmF1bHQtdGhlbWVcbiRzaWRlYmFyLWRhcmstZm9ybS1ib3JkZXI6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1mb3JtLWJnOiAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgIHJnYmEoJHdoaXRlLCAuNykgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LWZvcm0tYm9yZGVyOiAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtZm9ybS1iZzogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1mb3JtLWNvbG9yOiAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuNykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItZm9ybS1kZWZhdWx0LXRoZW1lXG5cblxuLy8gU2lkZWJhciBOYXZpZ2F0aW9uXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1uYXZcbiRzaWRlYmFyLW5hdi10aXRsZS1wYWRkaW5nLXk6ICAgLjc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteDogICAxcmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LXRpdGxlLW1hcmdpbi10b3A6ICAxcmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstcGFkZGluZy15OiAgICAuODQ0NXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1pY29uLXdpZHRoOiAgICAgICAgNTZweCAhZGVmYXVsdDtcblxuJHNpZGViYXItbmF2LWluZGVudGF0aW9uLWxldmVsczogNSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1pbmRlbnRhdGlvbi1zaXplOiAgIDhweCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1uYXZcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItbmF2LWRlZmF1bHQtdGhlbWVcbiRzaWRlYmFyLWRhcmstbmF2LXRpdGxlLWNvbG9yOiAgICAgIHJnYmEoJHdoaXRlLCAuNikgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1saW5rLWNvbG9yOiAgICAgICByZ2JhKCR3aGl0ZSwgLjgpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1saW5rLWljb24tY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1ib3JkZXJzOiAgICAgMCAhZGVmYXVsdDtcblxuJHNpZGViYXItbGlnaHQtbmF2LXRpdGxlLWNvbG9yOiAgICAgIHJnYmEoJGJsYWNrLCAuNCkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC44KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWljb24tY29sb3I6ICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstYm9yZGVyczogICAgIDAgIWRlZmF1bHQ7XG5cblxuJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1pY29uLWNvbG9yOiAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1ib3JkZXJzOiAgICAgMCAhZGVmYXVsdDtcblxuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstaG92ZXItY29sb3I6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1ob3Zlci1pY29uLWNvbG9yOiAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstaG92ZXItYm9yZGVyczogICAgIDAgIWRlZmF1bHQ7XG5cblxuJHNpZGViYXItZGFyay1uYXYtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstYWN0aXZlLWljb24tY29sb3I6ICAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1saW5rLWFjdGl2ZS1ib3JkZXJzOiAgICAgMCAhZGVmYXVsdDtcblxuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjgpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yOiAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1hY3RpdmUtYm9yZGVyczogICAgIDAgIWRlZmF1bHQ7XG5cblxuJHNpZGViYXItZGFyay1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgZGFya2VuKCR3aGl0ZSwgMzAlKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICRzaWRlYmFyLWRhcmstYmcgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3I6ICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWljb24tY29sb3IgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1saW5rLWRpc2FibGVkLWJvcmRlcnM6ICAgICAwICFkZWZhdWx0O1xuXG4kc2lkZWJhci1saWdodC1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgZGFya2VuKCR3aGl0ZSwgMzAlKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAkc2lkZWJhci1saWdodC1iZyAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3I6ICAkc2lkZWJhci1saWdodC1uYXYtbGluay1pY29uLWNvbG9yICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstZGlzYWJsZWQtYm9yZGVyczogICAgIDAgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWJvcmRlcnM6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24taW5kaWNhdG9yOiAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPScjeyRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWluZGljYXRvci1jb2xvcn0nIGQ9J005LjE0OCAyLjM1MmwtNC4xNDggNC4xNDggNC4xNDggNC4xNDhxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUybC0xLjI5NyAxLjI5N3EtMC4xNDggMC4xNDgtMC4zNTIgMC4xNDh0LTAuMzUyLTAuMTQ4bC01Ljc5Ny01Ljc5N3EtMC4xNDgtMC4xNDgtMC4xNDgtMC4zNTJ0MC4xNDgtMC4zNTJsNS43OTctNS43OTdxMC4xNDgtMC4xNDggMC4zNTItMC4xNDh0MC4zNTIgMC4xNDhsMS4yOTcgMS4yOTdxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUyeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyLWNvbG9yOiAgJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3ZlcjogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0nI3skc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXItY29sb3J9JyBkPSdNOS4xNDggMi4zNTJsLTQuMTQ4IDQuMTQ4IDQuMTQ4IDQuMTQ4cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MmwtMS4yOTcgMS4yOTdxLTAuMTQ4IDAuMTQ4LTAuMzUyIDAuMTQ4dC0wLjM1Mi0wLjE0OGwtNS43OTctNS43OTdxLTAuMTQ4LTAuMTQ4LTAuMTQ4LTAuMzUydDAuMTQ4LTAuMzUybDUuNzk3LTUuNzk3cTAuMTQ4LTAuMTQ4IDAuMzUyLTAuMTQ4dDAuMzUyIDAuMTQ4bDEuMjk3IDEuMjk3cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MnonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuOCkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1ib3JkZXJzOiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWluZGljYXRvci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24taW5kaWNhdG9yOiAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPScjeyRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItY29sb3J9JyBkPSdNOS4xNDggMi4zNTJsLTQuMTQ4IDQuMTQ4IDQuMTQ4IDQuMTQ4cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MmwtMS4yOTcgMS4yOTdxLTAuMTQ4IDAuMTQ4LTAuMzUyIDAuMTQ4dC0wLjM1Mi0wLjE0OGwtNS43OTctNS43OTdxLTAuMTQ4LTAuMTQ4LTAuMTQ4LTAuMzUydDAuMTQ4LTAuMzUybDUuNzk3LTUuNzk3cTAuMTQ4LTAuMTQ4IDAuMzUyLTAuMTQ4dDAuMzUyIDAuMTQ4bDEuMjk3IDEuMjk3cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MnonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXItY29sb3I6ICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3ZlcjogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0nI3skc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyLWNvbG9yfScgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItbmF2LWRlZmF1bHQtdGhlbWVcblxuLy8gU2lkZWJhciBUYWJzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1uYXYtdGFic1xuJHNpZGViYXItbmF2LXRhYnMtbGluay1wYWRkaW5nLXk6ICAuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtdGFicy1saW5rLXBhZGRpbmcteDogIDFyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItbmF2LXRhYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItbmF2LXRhYnMtZGVmYXVsdC10aGVtZVxuJHNpZGViYXItZGFyay1uYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgcmdiYSgkYmxhY2ssIC4yKSByZ2JhKCRibGFjaywgLjIpIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LXRhYnMtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgcmdiYSgkYmxhY2ssIC4yKSByZ2JhKCRibGFjaywgLjIpICRncmF5LTIwMCAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstdGFiLWNvbnRlbnQtYm9yZGVyczogICAgICAgICAgICAgICAgKCB0b3A6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgLjIpKSAhZGVmYXVsdDtcblxuJHNpZGViYXItbGlnaHQtbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYShkYXJrZW4oJGJvcmRlci1jb2xvciwgMjAlKSwgLjUpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgcmdiYShkYXJrZW4oJGJvcmRlci1jb2xvciwgMjAlKSwgLjUpIHJnYmEoZGFya2VuKCRib3JkZXItY29sb3IsIDIwJSksIC41KSAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtdGFicy1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICByZ2JhKGRhcmtlbigkYm9yZGVyLWNvbG9yLCAyMCUpLCAuNSkgcmdiYShkYXJrZW4oJGJvcmRlci1jb2xvciwgMjAlKSwgLjUpICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LXRhYi1jb250ZW50LWJvcmRlcnM6ICAgICAgICAgICAgICAgICggdG9wOiAxcHggc29saWQgcmdiYShkYXJrZW4oJGJvcmRlci1jb2xvciwgMjAlKSwgLjUpKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1uYXYtdGFicy1kZWZhdWx0LXRoZW1lXG5cbi8vIFNpZGViYXIgRm9vdGVyXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1mb290ZXJcbiRzaWRlYmFyLWZvb3Rlci1oZWlnaHQ6ICAgICBhdXRvICFkZWZhdWx0O1xuJHNpZGViYXItZm9vdGVyLXBhZGRpbmcteTogIC43NXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvb3Rlci1wYWRkaW5nLXg6ICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWZvb3RlclxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1mb290ZXItZGVmYXVsdC10aGVtZVxuJHNpZGViYXItZGFyay1mb290ZXItYmc6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1mb290ZXItYm9yZGVyczogICAwICFkZWZhdWx0O1xuXG4kc2lkZWJhci1saWdodC1mb290ZXItYmc6ICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1mb290ZXItYm9yZGVyczogIDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItZm9vdGVyLWRlZmF1bHQtdGhlbWVcblxuLy8gU2lkZWJhciBNaW5pbWl6ZXJcbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLW1pbmltaXplclxuJHNpZGViYXItbWluaW1pemVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1taW5pbWl6ZXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItbWluaW1pemVyLWRlZmF1bHQtdGhlbWVcbiRzaWRlYmFyLWRhcmstbWluaW1pemVyLWJvcmRlcnM6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW1pbmltaXplci1iZzogICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1taW5pbWl6ZXItaW5kaWNhdG9yLWNvbG9yOiAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1taW5pbWl6ZXItaW5kaWNhdG9yOiAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPScjeyRzaWRlYmFyLWRhcmstbWluaW1pemVyLWluZGljYXRvci1jb2xvcn0nIGQ9J005LjE0OCAyLjM1MmwtNC4xNDggNC4xNDggNC4xNDggNC4xNDhxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUybC0xLjI5NyAxLjI5N3EtMC4xNDggMC4xNDgtMC4zNTIgMC4xNDh0LTAuMzUyLTAuMTQ4bC01Ljc5Ny01Ljc5N3EtMC4xNDgtMC4xNDgtMC4xNDgtMC4zNTJ0MC4xNDgtMC4zNTJsNS43OTctNS43OTdxMC4xNDgtMC4xNDggMC4zNTItMC4xNDh0MC4zNTIgMC4xNDhsMS4yOTcgMS4yOTdxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUyeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1taW5pbWl6ZXItaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4zKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbWluaW1pemVyLWhvdmVyLWluZGljYXRvci1jb2xvcjogICRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3I6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNCclM0UlM0NwYXRoIGZpbGw9JyN7JHNpZGViYXItZGFyay1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yLWNvbG9yfScgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1ib3JkZXJzOiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbWluaW1pemVyLWJnOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1pbmRpY2F0b3ItY29sb3I6ICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1taW5pbWl6ZXItaW5kaWNhdG9yOiAgICAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPScjeyRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1pbmRpY2F0b3ItY29sb3J9JyBkPSdNOS4xNDggMi4zNTJsLTQuMTQ4IDQuMTQ4IDQuMTQ4IDQuMTQ4cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MmwtMS4yOTcgMS4yOTdxLTAuMTQ4IDAuMTQ4LTAuMzUyIDAuMTQ4dC0wLjM1Mi0wLjE0OGwtNS43OTctNS43OTdxLTAuMTQ4LTAuMTQ4LTAuMTQ4LTAuMzUydDAuMTQ4LTAuMzUybDUuNzk3LTUuNzk3cTAuMTQ4LTAuMTQ4IDAuMzUyLTAuMTQ4dDAuMzUyIDAuMTQ4bDEuMjk3IDEuMjk3cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MnonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1ob3Zlci1iZzogICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3ItY29sb3I6ICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPScjeyRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3ItY29sb3J9JyBkPSdNOS4xNDggMi4zNTJsLTQuMTQ4IDQuMTQ4IDQuMTQ4IDQuMTQ4cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MmwtMS4yOTcgMS4yOTdxLTAuMTQ4IDAuMTQ4LTAuMzUyIDAuMTQ4dC0wLjM1Mi0wLjE0OGwtNS43OTctNS43OTdxLTAuMTQ4LTAuMTQ4LTAuMTQ4LTAuMzUydDAuMTQ4LTAuMzUybDUuNzk3LTUuNzk3cTAuMTQ4LTAuMTQ4IDAuMzUyLTAuMTQ4dDAuMzUyIDAuMTQ4bDEuMjk3IDEuMjk3cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MnonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1taW5pbWl6ZXItZGVmYXVsdC10aGVtZVxuXG4kc2lkZWJhci12YXJpYW50cy1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaWRlYmFyLXZhcmlhbnRzLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGFyazogKFxuICAgICAgXCJzaWRlYmFyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstY29sb3IsXG4gICAgICBcInNpZGViYXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1iZyxcbiAgICAgIFwiZGFyay10aGVtZS1zaWRlYmFyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgXCJzaWRlYmFyLWJvcmRlcnNcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstYm9yZGVycyxcbiAgICAgIFwiZGFyay10aGVtZS1zaWRlYmFyLWJvcmRlcnNcIjogICAgICAgICAgICAgICAgICAwLFxuICAgICAgXCJzaWRlYmFyLWJyYW5kLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstYnJhbmQtY29sb3IsXG4gICAgICBcInNpZGViYXItYnJhbmQtYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1icmFuZC1iZyxcbiAgICAgIFwic2lkZWJhci1oZWFkZXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWhlYWRlci1iZyxcbiAgICAgIFwic2lkZWJhci1mb3JtLWJvcmRlclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWZvcm0tYm9yZGVyLFxuICAgICAgXCJzaWRlYmFyLWZvcm0tYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstZm9ybS1iZyxcbiAgICAgIFwic2lkZWJhci1mb3JtLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWZvcm0tY29sb3IsXG4gICAgICBcInNpZGViYXItZm9ybS1wbGFjZWhvbGRlci1jb2xvclwiOiAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi10aXRsZS1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LXRpdGxlLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1pY29uLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWljb24tY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstaG92ZXItYmdcIjogICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1pY29uLWNvbG9yXCI6ICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWhvdmVyLWljb24tY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstaG92ZXItYm9yZGVyc1wiOiAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1jb2xvclwiOiAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstYWN0aXZlLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstYWN0aXZlLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yXCI6ICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstYWN0aXZlLWljb24tY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstYWN0aXZlLWJvcmRlcnNcIjogICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1hY3RpdmUtYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWJnXCI6ICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstZGlzYWJsZWQtYmcsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1jb2xvclwiOiAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWJvcmRlcnNcIjogICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstZGlzYWJsZWQtYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24tY29sb3JcIjogICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24tYmdcIjogICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24tYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItY29sb3JcIjogICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWluZGljYXRvci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yXCI6ICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1pbmRpY2F0b3IsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3Zlci1jb2xvclwiOiAgJHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXJcIjogICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3ZlcixcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1ib3JkZXItY29sb3JcIjogICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi10YWJzLWJvcmRlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi10YWJzLWxpbmstYWN0aXZlLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvclwiOiAgICRzaWRlYmFyLWRhcmstbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi10YWJzLWxpbmstaG92ZXItYmdcIjogICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LXRhYnMtbGluay1ob3Zlci1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvclwiOiAgICAkc2lkZWJhci1kYXJrLW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLXRhYi1jb250ZW50LWJvcmRlcnNcIjogICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstdGFiLWNvbnRlbnQtYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1mb290ZXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWZvb3Rlci1iZyxcbiAgICAgIFwic2lkZWJhci1mb290ZXItYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWZvb3Rlci1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbWluaW1pemVyLWJvcmRlcnMsXG4gICAgICBcInNpZGViYXItbWluaW1pemVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1taW5pbWl6ZXItYmcsXG4gICAgICBcInNpZGViYXItbWluaW1pemVyLWluZGljYXRvci1jb2xvclwiOiAgICAgICAgICAgJHNpZGViYXItZGFyay1taW5pbWl6ZXItaW5kaWNhdG9yLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1pbmRpY2F0b3JcIjogICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbWluaW1pemVyLWluZGljYXRvcixcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItaG92ZXItYmdcIjogICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW1pbmltaXplci1ob3Zlci1iZyxcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yLWNvbG9yXCI6ICAgICAkc2lkZWJhci1kYXJrLW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3ItY29sb3IsXG4gICAgICBcInNpZGViYXItbWluaW1pemVyLWhvdmVyLWluZGljYXRvclwiOiAgICAgICAgICAgJHNpZGViYXItZGFyay1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yXG4gICAgKSxcbiAgICBsaWdodDogKFxuICAgICAgXCJzaWRlYmFyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWJnLFxuICAgICAgXCJkYXJrLXRoZW1lLXNpZGViYXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICBcInNpZGViYXItYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtYm9yZGVycyxcbiAgICAgIFwiZGFyay10aGVtZS1zaWRlYmFyLWJvcmRlcnNcIjogICAgICAgICAgICAgICAgICAwLFxuICAgICAgXCJzaWRlYmFyLWJyYW5kLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWJyYW5kLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLWJyYW5kLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWJyYW5kLWJnLFxuICAgICAgXCJzaWRlYmFyLWhlYWRlci1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWhlYWRlci1iZyxcbiAgICAgIFwic2lkZWJhci1mb3JtLWJvcmRlclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1mb3JtLWJvcmRlcixcbiAgICAgIFwic2lkZWJhci1mb3JtLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1mb3JtLWJnLFxuICAgICAgXCJzaWRlYmFyLWZvcm0tY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWZvcm0tY29sb3IsXG4gICAgICBcInNpZGViYXItZm9ybS1wbGFjZWhvbGRlci1jb2xvclwiOiAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtZm9ybS1wbGFjZWhvbGRlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtdGl0bGUtY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtdGl0bGUtY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstYmcsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvclwiOiAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstaWNvbi1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWhvdmVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWhvdmVyLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWljb24tY29sb3JcIjogICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWhvdmVyLWljb24tY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstaG92ZXItYm9yZGVyc1wiOiAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstaG92ZXItYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtY29sb3JcIjogICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1hY3RpdmUtY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstYWN0aXZlLWJnXCI6ICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstYWN0aXZlLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yXCI6ICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1ib3JkZXJzXCI6ICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWFjdGl2ZS1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWJnXCI6ICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3JcIjogICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtYm9yZGVyc1wiOiAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstZGlzYWJsZWQtYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24tY29sb3JcIjogICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24tY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItY29sb3JcIjogICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWluZGljYXRvclwiOiAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWluZGljYXRvcixcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyLWNvbG9yXCI6ICAkc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXJcIjogICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXIsXG4gICAgICBcInNpZGViYXItbmF2LXRhYnMtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LXRhYnMtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi10YWJzLWxpbmstYWN0aXZlLWJnXCI6ICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvclwiOiAgICRzaWRlYmFyLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1saW5rLWhvdmVyLWJnXCI6ICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtdGFicy1saW5rLWhvdmVyLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yXCI6ICAgICRzaWRlYmFyLWxpZ2h0LW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLXRhYi1jb250ZW50LWJvcmRlcnNcIjogICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LXRhYi1jb250ZW50LWJvcmRlcnMsXG4gICAgICBcInNpZGViYXItZm9vdGVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtZm9vdGVyLWJnLFxuICAgICAgXCJzaWRlYmFyLWZvb3Rlci1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWZvb3Rlci1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1iZyxcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItaW5kaWNhdG9yLWNvbG9yXCI6ICAgICAgICAgICAkc2lkZWJhci1saWdodC1taW5pbWl6ZXItaW5kaWNhdG9yLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1pbmRpY2F0b3JcIjogICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1pbmRpY2F0b3IsXG4gICAgICBcInNpZGViYXItbWluaW1pemVyLWhvdmVyLWJnXCI6ICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbWluaW1pemVyLWhvdmVyLWJnLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3ItY29sb3JcIjogICAgICRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3ItY29sb3IsXG4gICAgICBcInNpZGViYXItbWluaW1pemVyLWhvdmVyLWluZGljYXRvclwiOiAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbWluaW1pemVyLWhvdmVyLWluZGljYXRvcixcbiAgICApXG4gICksXG4gICRzaWRlYmFyLXZhcmlhbnRzLW1hcFxuKTtcblxuJHNpZGViYXItZGVmYXVsdC12YXJpYW50OiBcImRhcmtcIiAhZGVmYXVsdDtcbiRzaWRlYmFyLXZhcmlhbnRzOiAoXG4gIG1hcDogJHNpZGViYXItdmFyaWFudHMtbWFwLFxuICBkZWZhdWx0OiAkc2lkZWJhci1kZWZhdWx0LXZhcmlhbnRcbikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpZGViYXItdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAkc2lkZWJhci12YXJpYW50cyxcbiAgKSxcbiAgJHNpZGViYXItdGhlbWUtbWFwXG4pO1xuIiwiLy8gQ29udGVudHNcbi8vXG4vLyBOYXZiYXJcbi8vIE5hdmJhciBicmFuZFxuLy8gTmF2YmFyIG5hdlxuLy8gTmF2YmFyIHRleHRcbi8vIE5hdmJhciBkaXZpZGVyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy8gTmF2YmFyIHBvc2l0aW9uXG4vLyBOYXZiYXIgdGhlbWVzXG5cblxuLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15ICRuYXZiYXItcGFkZGluZy14O1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgfVxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC8vIENoYW5nZXMgZmxleC1iYXNlcyB0byBhdXRvIGJlY2F1c2Ugb2YgYW4gSUUxMCBidWdcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHRoZW1lcygkbmF2YmFyLXRoZW1lLW1hcCwgJGNyZWF0ZTogYXBwZW5kLCAkcGFyZW50OiBcIi5uYXZiYXJcIikge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdmJhci1icmFuZC1jb2xvclwiKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItYnJhbmQtaG92ZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdmJhci1jb2xvclwiKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2YmFyLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2YmFyLWFjdGl2ZS1jb2xvclwiKTtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2YmFyLWNvbG9yXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItdG9nZ2xlci1pY29uLWJnXCIpKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItY29sb3JcIik7XG4gICAgYSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdmJhci1hY3RpdmUtY29sb3JcIik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdmJhci1hY3RpdmUtY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLy8gLm5hdmJhci1saWdodCB7XG4vLyAgIC5uYXZiYXItYnJhbmQge1xuLy8gICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yO1xuXG4vLyAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4vLyAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjtcbi8vICAgICB9XG4vLyAgIH1cblxuLy8gICAubmF2YmFyLW5hdiB7XG4vLyAgICAgLm5hdi1saW5rIHtcbi8vICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4vLyAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbi8vICAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4vLyAgICAgICB9XG5cbi8vICAgICAgICYuZGlzYWJsZWQge1xuLy8gICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbi8vICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAuc2hvdyA+IC5uYXYtbGluayxcbi8vICAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuLy8gICAgIC5uYXYtbGluay5zaG93LFxuLy8gICAgIC5uYXYtbGluay5hY3RpdmUge1xuLy8gICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIC5uYXZiYXItdG9nZ2xlciB7XG4vLyAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4vLyAgICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuLy8gICB9XG5cbi8vICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xuLy8gICB9XG5cbi8vICAgLm5hdmJhci10ZXh0IHtcbi8vICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbi8vICAgICBhIHtcbi8vICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuLy8gICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4vLyAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cblxuLy8gLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLy8gLm5hdmJhci1kYXJrIHtcbi8vICAgLm5hdmJhci1icmFuZCB7XG4vLyAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1jb2xvcjtcblxuLy8gICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuLy8gICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjtcbi8vICAgICB9XG4vLyAgIH1cblxuLy8gICAubmF2YmFyLW5hdiB7XG4vLyAgICAgLm5hdi1saW5rIHtcbi8vICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbi8vICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuLy8gICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuLy8gICAgICAgfVxuXG4vLyAgICAgICAmLmRpc2FibGVkIHtcbi8vICAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbi8vICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAuc2hvdyA+IC5uYXYtbGluayxcbi8vICAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuLy8gICAgIC5uYXYtbGluay5zaG93LFxuLy8gICAgIC5uYXYtbGluay5hY3RpdmUge1xuLy8gICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4vLyAgICAgfVxuLy8gICB9XG5cbi8vICAgLm5hdmJhci10b2dnbGVyIHtcbi8vICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuLy8gICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuLy8gICB9XG5cbi8vICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyk7XG4vLyAgIH1cblxuLy8gICAubmF2YmFyLXRleHQge1xuLy8gICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4vLyAgICAgYSB7XG4vLyAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuLy8gICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4vLyAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuIiwiXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhclxuJG5hdmJhci1wYWRkaW5nLXk6ICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kZWZhdWx0LXRoZW1lXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRlZmF1bHQtdGhlbWVcblxuJG5hdmJhci12YXJpYW50cy1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRuYXZiYXItdmFyaWFudHMtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkYXJrOiAoXG4gICAgICBcIm5hdmJhci1jb2xvclwiOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWNvbG9yLFxuICAgICAgXCJuYXZiYXItaG92ZXItY29sb3JcIjogICAgICAgICAgICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcixcbiAgICAgIFwibmF2YmFyLWFjdGl2ZS1jb2xvclwiOiAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yLFxuICAgICAgXCJuYXZiYXItZGlzYWJsZWQtY29sb3JcIjogICAgICAgICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcixcbiAgICAgIFwibmF2YmFyLXRvZ2dsZXItaWNvbi1iZ1wiOiAgICAgICAkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnLFxuICAgICAgXCJuYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3JcIjogICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcixcbiAgICAgIFwibmF2YmFyLWJyYW5kLWNvbG9yXCI6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3IsXG4gICAgICBcIm5hdmJhci1icmFuZC1ob3Zlci1jb2xvclwiOiAgICAgJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yXG4gICAgKSxcbiAgICBsaWdodDogKFxuICAgICAgXCJuYXZiYXItY29sb3JcIjogICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtY29sb3IsXG4gICAgICBcIm5hdmJhci1ob3Zlci1jb2xvclwiOiAgICAgICAgICAgJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcixcbiAgICAgIFwibmF2YmFyLWFjdGl2ZS1jb2xvclwiOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcixcbiAgICAgIFwibmF2YmFyLWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAkbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yLFxuICAgICAgXCJuYXZiYXItdG9nZ2xlci1pY29uLWJnXCI6ICAgICAgICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnLFxuICAgICAgXCJuYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3JcIjogICRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3IsXG4gICAgICBcIm5hdmJhci1icmFuZC1jb2xvclwiOiAgICAgICAgICAgJG5hdmJhci1saWdodC1icmFuZC1jb2xvcixcbiAgICAgIFwibmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yXCI6ICAgICAkbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yXG4gICAgKVxuICApLFxuICAkbmF2YmFyLXZhcmlhbnRzLW1hcFxuKTtcblxuJG5hdmJhci1kZWZhdWx0LXZhcmlhbnQ6IG51bGwgIWRlZmF1bHQ7XG4kbmF2YmFyLXZhcmlhbnRzOiAoXG4gIGRlZmF1bHQ6ICAkbmF2YmFyLWRlZmF1bHQtdmFyaWFudCxcbiAgbWFwOiAgICAgICRuYXZiYXItdmFyaWFudHMtbWFwXG4pICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJG5hdmJhci10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6ICAkbmF2YmFyLXZhcmlhbnRzXG4gICksXG4gICRuYXZiYXItdGhlbWUtbWFwXG4pO1xuIiwiXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAgMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAgKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNwYWNlcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDA6ICAwLFxuICAgIDE6ICAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICAkc3BhY2VyLFxuICAgIDQ6ICAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogICgkc3BhY2VyICogMylcbiAgKSxcbiAgJHNwYWNlcnNcbik7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogICAgMjUlLFxuICAgIDUwOiAgICA1MCUsXG4gICAgNzU6ICAgIDc1JSxcbiAgICAxMDA6ICAgMTAwJSxcbiAgICBhdXRvOiAgYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG4iLCIvLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm94ZWQtY29udGVudC1wYWRkaW5nLXk6ICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm94ZWQtY29udGVudC1wYWRkaW5nLXg6ICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZcblxuLy8gTGlnaHQgVGhlbWVcbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtZGVmYXVsdC10aGVtZVxuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJveGVkLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJnOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItY29sb3I6ICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJveGVkLWxlZnQtYWN0aXZlLWJvcmRlci1jb2xvcjogICAkYm9yZGVyLWNvbG9yICR3aGl0ZSAkYm9yZGVyLWNvbG9yICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm94ZWQtcmlnaHQtYWN0aXZlLWJvcmRlci1jb2xvcjogICRib3JkZXItY29sb3IgJGJvcmRlci1jb2xvciAkYm9yZGVyLWNvbG9yICR3aGl0ZSAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2LWRlZmF1bHQtdGhlbWVcblxuJG5hdi10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRuYXYtdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcIm5hdi1saW5rLWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcixcbiAgICAgIFwibmF2LXRhYnMtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgJG5hdi10YWJzLWJvcmRlci1jb2xvcixcbiAgICAgIFwibmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3JcIjogICAgICAgICAgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yLFxuICAgICAgXCJuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvclwiOiAgICAgICAgICAgICAgICAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IsXG4gICAgICBcIm5hdi10YWJzLWxpbmstYWN0aXZlLWJnXCI6ICAgICAgICAgICAgICAgICAgICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyxcbiAgICAgIFwibmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcixcbiAgICAgIFwibmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yXCI6ICAgICAgICAgICAgICAgJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcixcbiAgICAgIFwibmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnXCI6ICAgICAgICAgICAgICAgICAgJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZyxcbiAgICAgIFwibmF2LWRpdmlkZXItY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgJG5hdi1kaXZpZGVyLWNvbG9yLFxuICAgICAgXCJuYXYtdGFicy1ib3hlZC1saW5rLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAkbmF2LXRhYnMtYm94ZWQtbGluay1hY3RpdmUtYmcsXG4gICAgICBcIm5hdi10YWJzLWJveGVkLWNvbnRlbnQtYmdcIjogICAgICAgICAgICAgICAgICRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJnLFxuICAgICAgXCJuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1jb2xvclwiOiAgICAgICAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItY29sb3IsXG4gICAgICBcIm5hdi10YWJzLWJveGVkLWxlZnQtYWN0aXZlLWJvcmRlci1jb2xvclwiOiAgICRuYXYtdGFicy1ib3hlZC1sZWZ0LWFjdGl2ZS1ib3JkZXItY29sb3IsXG4gICAgICBcIm5hdi10YWJzLWJveGVkLXJpZ2h0LWFjdGl2ZS1ib3JkZXItY29sb3JcIjogICRuYXYtdGFicy1ib3hlZC1yaWdodC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgKVxuICApLFxuICAkbmF2LXRoZW1lLW1hcFxuKTtcbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIH1cbiAgQGluY2x1ZGUgdGhlbWVzKCRwYWdpbmF0aW9uLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBhZ2luYXRpb24tYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRwYWdpbmF0aW9uLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBhZ2luYXRpb24taG92ZXItY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicGFnaW5hdGlvbi1ob3Zlci1iZ1wiKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIEBpbmNsdWRlIHRoZW1lcygkcGFnaW5hdGlvbi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWFjdGl2ZS1iZ1wiKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvclwiKTtcbiAgICB9XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBAaW5jbHVkZSB0aGVtZXMoJHBhZ2luYXRpb24tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWRpc2FibGVkLWJnXCIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICB9XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCJcbi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb25cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAxLjI1ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvblxuXG4vLyBEZWZhdWx0IHRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1kZWZhdWx0LXRoZW1lXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLWRlZmF1bHQtdGhlbWVcblxuJHBhZ2luYXRpb24tdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kcGFnaW5hdGlvbi10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwicGFnaW5hdGlvbi1jb2xvclwiOiAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWNvbG9yLFxuICAgICAgXCJwYWdpbmF0aW9uLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcsXG4gICAgICBcInBhZ2luYXRpb24tYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3IsXG4gICAgICBcInBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvd1wiOiAgICAgICAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93LFxuICAgICAgXCJwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmVcIjogICAgICAgICAgJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZSxcbiAgICAgIFwicGFnaW5hdGlvbi1ob3Zlci1jb2xvclwiOiAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yLFxuICAgICAgXCJwYWdpbmF0aW9uLWhvdmVyLWJnXCI6ICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcsXG4gICAgICBcInBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yXCI6ICAgICAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3IsXG4gICAgICBcInBhZ2luYXRpb24tYWN0aXZlLWNvbG9yXCI6ICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IsXG4gICAgICBcInBhZ2luYXRpb24tYWN0aXZlLWJnXCI6ICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcsXG4gICAgICBcInBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvclwiOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IsXG4gICAgICBcInBhZ2luYXRpb24tZGlzYWJsZWQtYmdcIjogICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZyxcbiAgICAgIFwicGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3JcIjogICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvclxuICAgIClcbiAgKSxcbiAgJHBhZ2luYXRpb24tdGhlbWUtbWFwXG4pO1xuXG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucG9wb3ZlciB7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIC5wb3BvdmVyLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbiVicy1wb3BvdmVyLXRvcCxcbiVicy1wb3BvdmVyLWJvdHRvbSB7XG4gIC5wb3BvdmVyLWFycm93IHtcbiAgICB3aWR0aDogYWRkKCRwb3BvdmVyLWFycm93LXdpZHRoLCAoMiAqICRwb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBwYWRkaW5nOiAwICRwb3BvdmVyLWJvcmRlci1yYWRpdXM7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcbiAgfVxufVxuXG4lYnMtcG9wb3Zlci1yaWdodCxcbiVicy1wb3BvdmVyLWxlZnQge1xuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6IGFkZCgkcG9wb3Zlci1hcnJvdy13aWR0aCwgKDIgKiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzKSk7XG4gICAgcGFkZGluZzogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbiVicy1wb3BvdmVyLXRvcCB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICFpbXBvcnRhbnQ7IC8vIE92ZXJ3cml0ZSBQb3BwZXIgMiBtYXJnaW5zLlxuXG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lYnMtcG9wb3Zlci1yaWdodCB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodCAhaW1wb3J0YW50OyAvLyBPdmVyd3JpdGUgUG9wcGVyIDIgbWFyZ2lucy5cblxuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBsZWZ0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiVicy1wb3BvdmVyLWJvdHRvbSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgbWFyZ2luLXRvcDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICFpbXBvcnRhbnQ7IC8vIE92ZXJ3cml0ZSBQb3BwZXIgMiBtYXJnaW5zLlxuXG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAvIDI7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItaGVhZGVyLWJnXCIpO1xuICAgIH1cbiAgfVxufVxuXG4lYnMtcG9wb3Zlci1sZWZ0IHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICFpbXBvcnRhbnQ7IC8vIE92ZXJ3cml0ZSBQb3BwZXIgMiBtYXJnaW5zLlxuXG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4ucG9wb3ZlciB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAlYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgJWJzLXBvcG92ZXItcmlnaHQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kICVicy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kICVicy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItaGVhZGVyLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWhlYWRlci1iZ1wiKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBkYXJrZW4odGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItaGVhZGVyLWJnXCIpLCA1JSk7XG4gIH1cblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1ib2R5LWNvbG9yXCIpO1xuICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkcHJvZ3Jlc3MtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicHJvZ3Jlc3MtYmdcIik7XG4gIH1cbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcblxuICBAaW5jbHVkZSB0aGVtZXMoJHByb2dyZXNzLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwcm9ncmVzcy1iYXItY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInByb2dyZXNzLWJhci1iZ1wiKTtcbiAgfVxufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nO1xuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmVzcy14cyB7XG4gIGhlaWdodDogNHB4O1xufVxuXG4ucHJvZ3Jlc3Mtc20ge1xuICBoZWlnaHQ6IDhweDtcbn1cblxuLy8gV2hpdGUgcHJvZ3Jlc3MgYmFyXG4ucHJvZ3Jlc3MucHJvZ3Jlc3Mtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTtcbiAgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1iYXJcbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcblxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtYmFyXG5cbi8vIERlZmF1bHQgdGhlbWVcbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1iYXItZGVmYXVsdC10aGVtZVxuJHByb2dyZXNzLWJnOiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy1iYXItZGVmYXVsdC10aGVtZVxuXG4kcHJvZ3Jlc3MtdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kcHJvZ3Jlc3MtdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcInByb2dyZXNzLWJnXCI6ICAgICAgICAgJHByb2dyZXNzLWJnLFxuICAgICAgXCJwcm9ncmVzcy1iYXItY29sb3JcIjogICRwcm9ncmVzcy1iYXItY29sb3IsXG4gICAgICBcInByb2dyZXNzLWJhci1iZ1wiOiAgICAgJHByb2dyZXNzLWJhci1iZ1xuICAgIClcbiAgKSxcbiAgJHByb2dyZXNzLXRoZW1lLW1hcFxuKTtcbiIsIi8vVE9ETzogbW92ZSBhbGwgdmFsdWVzIHRvIHZhcmlhYmxlcy5zY3NzXG4ucHJvZ3Jlc3MtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtcHJlcGVuZCB7XG4gIGZsZXg6IDAgMCAxMDBweDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtaWNvbiB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblxuICBAaW5jbHVkZSBsdHIge1xuICAgIG1hcmdpbjogMCAkc3BhY2VyIDAgKCRzcGFjZXIgKiAuMjUpO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbWFyZ2luOiAwICgkc3BhY2VyICogLjI1KSAwICRzcGFjZXI7XG4gIH1cbn1cblxuLnByb2dyZXNzLWdyb3VwLXRleHQge1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGNvbG9yOiAkZ3JheS03MDA7XG59XG5cbi5wcm9ncmVzcy1ncm91cC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyICogLjI1KTtcbn1cblxuLnByb2dyZXNzLWdyb3VwLWJhcnMge1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAucHJvZ3Jlc3M6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG59XG5cbi5wcm9ncmVzcy1ncm91cC1oZWFkZXIgKyAucHJvZ3Jlc3MtZ3JvdXAtYmFycyB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG59XG4iLCJcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1jbGFzcywgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1tYXgtY29tcG91bmQtc2VsZWN0b3JzLCBmdW5jdGlvbi11cmwtcXVvdGVzLCBzZWxlY3Rvci1tYXgtY29tYmluYXRvcnNcbi5jLXNpZGViYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8vICRzaWRlYmFyLXdpZHRoIGlzIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uc1xuICBmbGV4OiAwIDAgJHNpZGViYXItd2lkdGg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8vIHB1dCB0aGUgbmF2IG9uIHRoZSBsZWZ0XG4gIG9yZGVyOiAtMTtcbiAgd2lkdGg6ICRzaWRlYmFyLXdpZHRoO1xuICBwYWRkaW5nOiAkc2lkZWJhci1wYWRkaW5nO1xuICBib3gtc2hhZG93OiBub25lO1xuXG4gICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICBvcmRlcjogOTk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oYnJlYWtwb2ludC1iZWZvcmUoJG1vYmlsZS1icmVha3BvaW50KSkge1xuICAgIC8vIFNvbWUgb2Ygb3VyIGNvbXBvbmVudHMgdXNlIHRoaXMgcHJvcGVydHkgdG8gZGV0ZWN0IGlmIHRoZSBzaWRlYmFyIGhhcyBtb2JpbGUgYmVoYXZpb3IuXG4gICAgLS1pcy1tb2JpbGU6IHRydWU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogJHppbmRleC1maXhlZCArIDE7XG5cbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgJjpub3QoLmMtc2lkZWJhci1yaWdodCl7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgJjpub3QoLmMtc2lkZWJhci1yaWdodCl7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgJjpub3QoLmMtc2lkZWJhci1yaWdodCl7XG4gICAgICBtYXJnaW4tbGVmdDogLSAkc2lkZWJhci13aWR0aDtcbiAgICB9XG4gICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtICRzaWRlYmFyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgJjpub3QoLmMtc2lkZWJhci1yaWdodCl7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0gJHNpZGViYXItd2lkdGg7XG4gICAgfVxuICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtICRzaWRlYmFyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gICZbY2xhc3MqPVwiYmctXCJdICB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpO1xuICB9XG5cbiAgQGVhY2ggJHdpZHRoLCAkdmFsdWUgaW4gJHNpZGViYXItd2lkdGhzIHtcbiAgICAmLmMtc2lkZWJhci0jeyR3aWR0aH0ge1xuICAgICAgZmxleDogMCAwICR2YWx1ZTtcbiAgICAgIHdpZHRoOiAkdmFsdWU7XG5cbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpe1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAmOm5vdCguYy1zaWRlYmFyLXJpZ2h0KXtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0gJHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmMtc2lkZWJhci1maXhlZCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG5cbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jLXNpZGViYXItb3ZlcmxhaWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQgKyAyO1xuXG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgJjpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gU2lkZWJhciBjb21wb25lbnRzXG4vL1xuXG4uYy1zaWRlYmFyLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogJHNpZGViYXItYnJhbmQtaGVpZ2h0O1xuICBoZWlnaHQ6ICRzaWRlYmFyLWJyYW5kLWhlaWdodDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbHRyIHtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG4uYy1zaWRlYmFyLWJyYW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwICRzaWRlYmFyLWJyYW5kLWhlaWdodDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmMtc2lkZWJhci1icmFuZC1taW5pbWl6ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmMtc2lkZWJhci1oZWFkZXIge1xuICBmbGV4OiAwIDAgJHNpZGViYXItaGVhZGVyLWhlaWdodDtcbiAgcGFkZGluZzogJHNpZGViYXItaGVhZGVyLXBhZGRpbmcteSAkc2lkZWJhci1oZWFkZXItcGFkZGluZy14O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcbn1cblxuLy8gU2lkZWJhciBuYXZpZ2F0aW9uXG5cbi5jLXNpZGViYXItbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgJi5wcyB7XG4gICAgLy8gRmlyZWZveFxuICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTtcbiAgICAvLyBJRSAxMCtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgLy8gQ2hyb21lLCBFZGdlLCBTYWZhcmksIE9wZXJhXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLmMtc2lkZWJhci1uYXYtdGl0bGUge1xuICBwYWRkaW5nOiAkc2lkZWJhci1uYXYtdGl0bGUtcGFkZGluZy15ICRzaWRlYmFyLW5hdi10aXRsZS1wYWRkaW5nLXg7XG4gIG1hcmdpbi10b3A6ICRzaWRlYmFyLW5hdi10aXRsZS1tYXJnaW4tdG9wO1xuICBmb250LXNpemU6IDgwJTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xufVxuXG4uYy1zaWRlYmFyLW5hdi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xufVxuXG4uYy1zaWRlYmFyLW5hdi1pdGVtIHtcbiAgd2lkdGg6IGluaGVyaXQ7XG59XG5cbi5jLXNpZGViYXItbmF2LWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXkgJHNpZGViYXItbmF2LWxpbmstcGFkZGluZy14O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkLCBjb2xvciAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG4gIEBpZiAkZW5hYmxlLXNpZGViYXItbmF2LXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi5jLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGZsZXg6IDAgMCAkc2lkZWJhci1uYXYtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSk7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuMjUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBtYXJnaW4tbGVmdDogLSAkc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0gJHNpZGViYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgIH1cbiAgfVxufVxuXG4uYy1zaWRlYmFyLW5hdi1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQgZWFzZS1pbi1vdXQ7XG5cbiAgJi5jLXNob3cge1xuICAgIEBpZiAkZW5hYmxlLXNpZGViYXItbmF2LXJvdW5kZWQge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgICAgbWF4LWhlaWdodDogMTUwMHB4O1xuICAgIH1cblxuICAgID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLmMtc2hvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgfVxuICB9XG59XG5cbi5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBleHRlbmQgLmMtc2lkZWJhci1uYXYtbGluaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAwIDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJHNpZGViYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICB9XG4gIH1cbn1cblxuLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkIGVhc2UtaW4tb3V0O1xuXG4gIC5jLXNpZGViYXItbmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlYmFyLW5hdi1pY29uLXdpZHRoO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgcGFkZGluZy1yaWdodDogJHNpZGViYXItbmF2LWljb24td2lkdGg7XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSAkc2lkZWJhci1uYXYtaWNvbi13aWR0aDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSAkc2lkZWJhci1uYXYtaWNvbi13aWR0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4uYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPVwidHJ1ZVwiXSB7XG4gICR3cmFwcGVyLWNsYXNzLW5hbWU6IFwiLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXNcIjtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkc2lkZWJhci1uYXYtaW5kZW50YXRpb24tbGV2ZWxzIHtcbiAgICAjeyR3cmFwcGVyLWNsYXNzLW5hbWV9IHtcbiAgICAgIC5jLXNpZGViYXItbmF2LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNpZGViYXItbmF2LWljb24td2lkdGggKyAoJGkgKiAkc2lkZWJhci1uYXYtaW5kZW50YXRpb24tc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc2lkZWJhci1uYXYtaWNvbi13aWR0aCArICgkaSAqICRzaWRlYmFyLW5hdi1pbmRlbnRhdGlvbi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgICAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gJHNpZGViYXItbmF2LWljb24td2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0gJHNpZGViYXItbmF2LWljb24td2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICR3cmFwcGVyLWNsYXNzLW5hbWU6IHNlbGVjdG9yLW5lc3QoJHdyYXBwZXItY2xhc3MtbmFtZSwgJHdyYXBwZXItY2xhc3MtbmFtZSk7XG4gIH1cbn1cblxuLmMtc2lkZWJhci1uYXYtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAoJHNpZGViYXItbmF2LWxpbmstcGFkZGluZy15IC8gNCkgJHNpZGViYXItbmF2LWxpbmstcGFkZGluZy14O1xuICB0cmFuc2l0aW9uOiAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICB9XG59XG5cbi5jLXNpZGViYXItZm9vdGVyIHtcbiAgZmxleDogMCAwICRzaWRlYmFyLWZvb3Rlci1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRzaWRlYmFyLWZvb3Rlci1wYWRkaW5nLXkgJHNpZGViYXItZm9vdGVyLXBhZGRpbmcteDtcbiAgdHJhbnNpdGlvbjogJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xufVxuXG4uYy1zaWRlYmFyLW1pbmltaXplciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCAkc2lkZWJhci1taW5pbWl6ZXItaGVpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogaW5oZXJpdDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGJyZWFrcG9pbnQtYmVmb3JlKCRtb2JpbGUtYnJlYWtwb2ludCkpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHNpZGViYXItbWluaW1pemVyLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzaWRlYmFyLW1pbmltaXplci1oZWlnaHQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRzaWRlYmFyLW1pbmltaXplci1oZWlnaHQgLyA0O1xuICAgIHRyYW5zaXRpb246ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuYy1mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC5jLXNpZGViYXItcmlnaHQgJiB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4uYy1zaWRlYmFyLWJhY2tkcm9wIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGJyZWFrcG9pbnQtYmVmb3JlKCRtb2JpbGUtYnJlYWtwb2ludCkpIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1maXhlZDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iYWNrZHJvcC1iZztcbiAgICB0cmFuc2l0aW9uOiAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAgICYuYy1mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAgICYuYy1zaG93IHsgb3BhY2l0eTogJHNpZGViYXItYmFja2Ryb3Atb3BhY2l0eTsgfVxuICB9XG59XG5cbi8vIE1pbmltaXplZCBTaWRlYmFyXG5cbi5jLXNpZGViYXItbWluaW1pemVkIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICB6LWluZGV4OiAkemluZGV4LWZpeGVkICsgMTtcbiAgICBmbGV4OiAwIDAgJHNpZGViYXItbWluaW1pemVkLXdpZHRoO1xuXG4gICAgJi5jLXNpZGViYXItZml4ZWQge1xuICAgICAgei1pbmRleDogJHppbmRleC1maXhlZCArIDE7XG4gICAgICB3aWR0aDogJHNpZGViYXItbWluaW1pemVkLXdpZHRoO1xuICAgIH1cblxuICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpe1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0gJHNpZGViYXItbWluaW1pemVkLXdpZHRoO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1zaWRlYmFyLWJyYW5kLWZ1bGwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYy1zaWRlYmFyLWJyYW5kLW1pbmltaXplZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuYy1zaWRlYmFyLW5hdiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNpZGViYXItbWluaW1pemVyLWhlaWdodDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5jLWQtbWluaW1pemVkLW5vbmUsXG4gICAgLmMtc2lkZWJhci1uYXYtZGl2aWRlcixcbiAgICAuYy1zaWRlYmFyLW5hdi1sYWJlbCxcbiAgICAuYy1zaWRlYmFyLW5hdi10aXRsZSxcbiAgICAuYy1zaWRlYmFyLWZvb3RlcixcbiAgICAuYy1zaWRlYmFyLWZvcm0sXG4gICAgLmMtc2lkZWJhci1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLy8gVGVtcG9yYXJ5IGZpeCBmb3IgdGhpcyBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2NvcmV1aS9jb3JldWktZnJlZS1ib290c3RyYXAtYWRtaW4tdGVtcGxhdGUvaXNzdWVzLzQwNFxuICAgIC8vIFRPRE86IGZpbmQgYmV0dGVyIHNvbHV0aW9uXG4gICAgLmMtc2lkZWJhci1taW5pbWl6ZXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IGluaGVyaXQ7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYy1zaWRlYmFyLXJpZ2h0IC5jLXNpZGViYXItbWluaW1pemVyOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYy1zaWRlYmFyLXJpZ2h0IC5jLXNpZGViYXItbmF2IHtcbiAgICAgID4gLmMtc2lkZWJhci1uYXYtaXRlbTpob3ZlcixcbiAgICAgID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd246aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtICRzaWRlYmFyLXdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICRzaWRlYmFyLXdpZHRoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1uYXYtbGluayxcbiAgICAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBib3JkZXItbGVmdDogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHdpZHRoOiAkc2lkZWJhci13aWR0aCArICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgICAgLmMtc2lkZWJhci1uYXYtbGluayB7XG4gICAgICAgIHdpZHRoOiAkc2lkZWJhci13aWR0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICAgIC5jLXNpZGViYXItbmF2ID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bjpub3QoLmMtc2hvdykgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNTAwcHg7XG4gICAgICB9XG5cblxuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB3aWR0aDogJHNpZGViYXItd2lkdGggKyAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgICAgbGVmdDogJHNpZGViYXItbWluaW1pemVkLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgcmlnaHQ6ICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmMtc2lkZWJhci1yaWdodCA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duOmhvdmVyID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGJlaGF2aW9yXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAuYy1zaWRlYmFyLmMtc2lkZWJhciN7JGluZml4fS1zaG93LFxuICAgIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cge1xuICAgICAgJjpub3QoLmMtc2lkZWJhci1yaWdodCl7XG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAmLmMtc2lkZWJhci1maXhlZCB7XG4gICAgICAgICAgICB+IC5jLXdyYXBwZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc2lkZWJhci13aWR0aDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNpZGViYXItd2lkdGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlYWNoICR3aWR0aCwgJHZhbHVlIGluICRzaWRlYmFyLXdpZHRocyB7XG4gICAgICAgICAgICAgICYuYy1zaWRlYmFyLSN7JHdpZHRofSB7XG4gICAgICAgICAgICAgICAgfiAuYy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdmFsdWU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYy1zaWRlYmFyLW1pbmltaXplZCB7XG4gICAgICAgICAgICAgIH4gLmMtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgICAgICAgICYuYy1zaWRlYmFyLWZpeGVkIHtcbiAgICAgICAgICAgIH4gLmMtd3JhcHBlciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc2lkZWJhci13aWR0aDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc2lkZWJhci13aWR0aDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVhY2ggJHdpZHRoLCAkdmFsdWUgaW4gJHNpZGViYXItd2lkdGhzIHtcbiAgICAgICAgICAgICAgJi5jLXNpZGViYXItI3skd2lkdGh9IHtcbiAgICAgICAgICAgICAgICB+IC5jLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdmFsdWU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHZhbHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jLXNpZGViYXItbWluaW1pemVkIHtcbiAgICAgICAgICAgICAgfiAuYy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNpZGViYXItbWluaW1pemVkLXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSB0aGVtZXMoJHNpZGViYXItdGhlbWUtbWFwLCAkY3JlYXRlOiBhcHBlbmQsICRwYXJlbnQ6IFwiLmMtc2lkZWJhclwiKSB7XG4gIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1jb2xvclwiKTtcbiAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItYmdcIik7XG5cbiAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1ib3JkZXJzXCIpKTtcblxuICBAaW5jbHVkZSBsdHIge1xuICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItYm9yZGVyc1wiKSx0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwge1xuICAgIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItYm9yZGVyc1wiKSx0cnVlKTtcbiAgICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWJvcmRlcnNcIikpO1xuICAgIH1cbiAgfVxuXG4gIC5jLXNpZGViYXItY2xvc2Uge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1jb2xvclwiKTtcbiAgfVxuXG4gIC5jLXNpZGViYXItYnJhbmQge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1icmFuZC1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1icmFuZC1iZ1wiKTtcbiAgfVxuXG4gIC5jLXNpZGViYXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1oZWFkZXItYmdcIik7XG4gIH1cblxuICAuYy1zaWRlYmFyLWZvcm0gLmMtZm9ybS1jb250cm9sIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItZm9ybS1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1mb3JtLWJnXCIpO1xuICAgIGJvcmRlcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItZm9ybS1ib3JkZXJcIik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItZm9ybS1wbGFjZWhvbGRlci1jb2xvclwiKTtcbiAgICB9XG4gIH1cblxuICAuYy1zaWRlYmFyLW5hdi10aXRsZSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi10aXRsZS1jb2xvclwiKTtcbiAgfVxuXG4gIC5jLXNpZGViYXItbmF2LWxpbmsge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1iZ1wiKTtcbiAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWJvcmRlcnNcIikpO1xuXG4gICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvclwiKTtcbiAgICB9XG5cbiAgICAmLmMtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtYmdcIik7XG4gICAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1ib3JkZXJzXCIpKTtcblxuICAgICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtaWNvbi1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1iZ1wiKTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1ib3JkZXJzXCIpKTtcblxuICAgICAgICAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvclwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1ib3JkZXJzXCIpKTtcblxuICAgICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yXCIpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yXCIpO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWJvcmRlcnNcIikpO1xuXG4gICAgICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXJcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLmMtc2hvdyB7XG4gICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWRyb3Bkb3duLWJnXCIpO1xuICAgIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWRyb3Bkb3duLWJvcmRlcnNcIikpO1xuXG4gICAgLmMtc2lkZWJhci1uYXYtbGluayB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWRyb3Bkb3duLWNvbG9yXCIpO1xuXG4gICAgICAmLmMtZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1jb2xvclwiKTtcblxuICAgICAgICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3JcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmMtc2lkZWJhci1uYXYtbGFiZWwge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtdGl0bGUtY29sb3JcIik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1jb2xvclwiKTtcbiAgICB9XG5cbiAgICAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1pY29uLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAobGlnaHRuZXNzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWJnXCIpKSA8IDQwKSB7XG4gICAgLmMtcHJvZ3Jlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbih0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1iZ1wiKSwgMTUlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jLXNpZGViYXItZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1mb290ZXItYmdcIik7XG4gICAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1mb290ZXItYm9yZGVyc1wiKSk7XG4gIH1cblxuICAuYy1zaWRlYmFyLW1pbmltaXplciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbWluaW1pemVyLWJnXCIpO1xuICAgIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbWluaW1pemVyLWJvcmRlcnNcIikpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW1pbmltaXplci1pbmRpY2F0b3JcIik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmMtZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW1pbmltaXplci1ob3Zlci1iZ1wiKTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3JcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYy1zaWRlYmFyLW1pbmltaXplZCB7XG5cbiAgICAuYy1zaWRlYmFyLW5hdi1pdGVtIHtcblxuICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgPiAuYy1zaWRlYmFyLW5hdi1saW5rLCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstaG92ZXItYmdcIik7XG5cbiAgICAgICAgICAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1jb2xvclwiKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmMtZGlzYWJsZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtYmdcIik7XG5cbiAgICAgICAgICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1jb2xvclwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1zaWRlYmFyLW5hdiB7XG4gICAgICA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duIHtcbiAgICAgICAgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItYmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1iZ1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLmMtc2lkZWJhciB7XG4gIEBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gICAgLmMtc2lkZWJhci1uYXYtbGluayB7XG4gICAgICAmLmMtc2lkZWJhci1uYXYtbGluay0jeyRjb2xvcn0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdmFsdWU7XG4gICAgICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHZhbHVlLCA1JSk7XG4gICAgICAgICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kdGhlbWUtc3VmZml4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtdGhlbWUgIWRlZmF1bHQ7XG4kbW9iaWxlLWJyZWFrcG9pbnQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBsZyAhZGVmYXVsdDtcbiRlbmFibGUtbHRyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJ0bDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXNpZGViYXItbmF2LXJvdW5kZWQ6ICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDogICAgICAgICAgICAgICAgICAgIC4zcyAhZGVmYXVsdDtcbiRlbmFibGUtZWxldmF0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtY29sb3Itc2NoZW1lOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcblxuJG9wdGlvbnM6ICgpICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10aGVtZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRkZWZhdWx0LXRoZW1lczogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJkZWZhdWx0XCI6ICAgICAgIHRydWUsXG4gICAgICBcInRoZW1lLWNvbG9yc1wiOiAgJHRoZW1lLWNvbG9ycyxcbiAgICAgIFwiZ3JheXNcIjogICAgICAgICAkZ3JheXMsXG4gICAgICBcImdyYWRpZW50c1wiOiAgICAgJHRoZW1lLWdyYWRpZW50c1xuICAgIClcbiAgKSxcbiAgJGRlZmF1bHQtdGhlbWVzXG4pO1xuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbG9yc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9icmFuZC1jb2xvcnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvZ3JhZGllbnRzXCI7XG5cbi8vIE9wdGlvbnNcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvb3B0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL3otaW5kZXhcIjtcblxuQGltcG9ydCBcInZhcmlhYmxlcy9ib2R5XCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvc2hhcmVkXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvZ3JpZFwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvbGlua3NcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy90YWJsZXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9idXR0b25zLWZvcm1zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvbmF2c1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL25hdmJhclwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL3N1YmhlYWRlclwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL3NpZGViYXJcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9mb290ZXJcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9kcm9wZG93bnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvY2FyZHNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9qdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy90b29sdGlwc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL3BvcG92ZXJzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvdG9hc3RzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvYmFkZ2VzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvbW9kYWxzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvYWxlcnRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9pbWFnZXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9zcGlubmVyc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2F2YXRhcnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9zd2l0Y2hlc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2Nsb3NlXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvY29kZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvdXRpbGl0aWVzXCI7XG5cblxuLy8gUHJpbnRpbmdcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvcHJpbnRpbmdcIjtcblxuLy8gQ3Vyc29yXG4kY3Vyc29yLWRpc2FibGVkOiBkZWZhdWx0ICFkZWZhdWx0O1xuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGlubmVyLWJvcmRlciAuNzVzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBzcGlubmVyLWdyb3cgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuIiwiLy8gU3Bpbm5lcnNcbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAgLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lclxuIiwiLmMtc3ViaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAkc3ViaGVhZGVyLWhlaWdodDtcblxuICAmW2NsYXNzKj1cImJnLVwiXSAge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKTtcbiAgfVxuXG4gICYuYy1zdWJoZWFkZXItZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG4gIH1cbn1cblxuLmMtc3ViaGVhZGVyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6ICRzdWJoZWFkZXItaGVpZ2h0O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5jLXN1YmhlYWRlci1uYXYtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmMtc3ViaGVhZGVyLW5hdi1idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuYy1zdWJoZWFkZXItbmF2LWxpbmssXG4gIC5jLXN1YmhlYWRlci1uYXYtYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogJGhlYWRlci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgcGFkZGluZy1sZWZ0OiAkaGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteDtcblxuICAgIC5iYWRnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xNnB4O1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFN1YmhlYWRlciB2YXJpYW50c1xuLy9cblxuQGluY2x1ZGUgdGhlbWVzKCRzdWJoZWFkZXItdGhlbWUtbWFwLCAkY3JlYXRlOiBhcHBlbmQsICRwYXJlbnQ6IFwiLmMtc3ViaGVhZGVyXCIpIHtcbiAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInN1YmhlYWRlci1iZ1wiKTtcbiAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic3ViaGVhZGVyLWJvcmRlclwiKSk7XG5cbiAgLmMtc3ViaGVhZGVyLW5hdiB7XG4gICAgLmMtc3ViaGVhZGVyLW5hdi1saW5rLFxuICAgIC5jLXN1YmhlYWRlci1uYXYtYnRuIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic3ViaGVhZGVyLWNvbG9yXCIpO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic3ViaGVhZGVyLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgfVxuXG4gICAgICAmLmMtZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInN1YmhlYWRlci1kaXNhYmxlZC1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1zaG93ID4gLmMtc3ViaGVhZGVyLW5hdi1saW5rLFxuICAgIC5jLWFjdGl2ZSA+IC5jLXN1YmhlYWRlci1uYXYtbGluayxcbiAgICAuYy1zdWJoZWFkZXItbmF2LWxpbmsuYy1zaG93LFxuICAgIC5jLXN1YmhlYWRlci1uYXYtbGluay5jLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInN1YmhlYWRlci1hY3RpdmUtY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLmMtc3ViaGVhZGVyLXRleHQge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic3ViaGVhZGVyLWNvbG9yXCIpO1xuICAgIGEge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzdWJoZWFkZXItYWN0aXZlLWNvbG9yXCIpO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic3ViaGVhZGVyLWFjdGl2ZS1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFN1YmhlYWRlclxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHN1YmhlYWRlclxuJHN1YmhlYWRlci1oZWlnaHQ6ICAgICAgIDQ4cHggIWRlZmF1bHQ7XG5cbiRzdWJoZWFkZXItcGFkZGluZy15OiAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLXBhZGRpbmcteDogICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRzdWJoZWFkZXItbmF2LWxpbmstcGFkZGluZy14OiAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHN1YmhlYWRlclxuXG4vLyBEZWZhdWx0IHRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3ViaGVhZGVyLWRlZmF1bHQtdGhlbWVzXG4kc3ViaGVhZGVyLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktYmFzZSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZGFyay1ib3JkZXI6ICAgICAgICAgICAgICAgICAoIGJvdHRvbTogMXB4IHNvbGlkICRncmF5LTgwMCApICFkZWZhdWx0O1xuJHN1YmhlYWRlci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuOSkgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHN1YmhlYWRlci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuXG4kc3ViaGVhZGVyLWxpZ2h0LWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItbGlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgKCBib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yICkgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHN1YmhlYWRlci1kZWZhdWx0LXRoZW1lc1xuXG5cbiRzdWJoZWFkZXItdmFyaWFudHMtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3ViaGVhZGVyLXZhcmlhbnRzLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGFyazogKFxuICAgICAgXCJzdWJoZWFkZXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgJHN1YmhlYWRlci1kYXJrLWJnLFxuICAgICAgXCJzdWJoZWFkZXItY29sb3JcIjogICAgICAgICAgICAgICAgICAgJHN1YmhlYWRlci1kYXJrLWNvbG9yLFxuICAgICAgXCJzdWJoZWFkZXItYm9yZGVyXCI6ICAgICAgICAgICAgICAgICAgJHN1YmhlYWRlci1kYXJrLWJvcmRlcixcbiAgICAgIFwic3ViaGVhZGVyLWhvdmVyLWNvbG9yXCI6ICAgICAgICAgICAgICRzdWJoZWFkZXItZGFyay1ob3Zlci1jb2xvcixcbiAgICAgIFwic3ViaGVhZGVyLWFjdGl2ZS1jb2xvclwiOiAgICAgICAgICAgICRzdWJoZWFkZXItZGFyay1hY3RpdmUtY29sb3IsXG4gICAgICBcInN1YmhlYWRlci1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICAkc3ViaGVhZGVyLWRhcmstZGlzYWJsZWQtY29sb3IsXG4gICAgKSxcbiAgICBsaWdodDogKFxuICAgICAgXCJzdWJoZWFkZXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgJHN1YmhlYWRlci1saWdodC1iZyxcbiAgICAgIFwic3ViaGVhZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICRzdWJoZWFkZXItbGlnaHQtY29sb3IsXG4gICAgICBcInN1YmhlYWRlci1ib3JkZXJcIjogICAgICAgICAgICAgICAgICAkc3ViaGVhZGVyLWxpZ2h0LWJvcmRlcixcbiAgICAgIFwic3ViaGVhZGVyLWhvdmVyLWNvbG9yXCI6ICAgICAgICAgICAgICRzdWJoZWFkZXItbGlnaHQtaG92ZXItY29sb3IsXG4gICAgICBcInN1YmhlYWRlci1hY3RpdmUtY29sb3JcIjogICAgICAgICAgICAkc3ViaGVhZGVyLWxpZ2h0LWFjdGl2ZS1jb2xvcixcbiAgICAgIFwic3ViaGVhZGVyLWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAgICRzdWJoZWFkZXItbGlnaHQtZGlzYWJsZWQtY29sb3IsXG4gICAgKVxuICApLFxuICAkc3ViaGVhZGVyLXZhcmlhbnRzLW1hcFxuKTtcblxuJHN1YmhlYWRlci1kZWZhdWx0LXZhcmlhbnQ6IFwibGlnaHRcIiAhZGVmYXVsdDtcbiRzdWJoZWFkZXItdmFyaWFudHM6IChcbiAgZGVmYXVsdDogICRzdWJoZWFkZXItZGVmYXVsdC12YXJpYW50LFxuICBtYXA6ICAgICAgJHN1YmhlYWRlci12YXJpYW50cy1tYXBcbikgIWRlZmF1bHQ7XG5cbiRzdWJoZWFkZXItdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3ViaGVhZGVyLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogICRzdWJoZWFkZXItdmFyaWFudHNcbiAgKSxcbiAgJHN1YmhlYWRlci10aGVtZS1tYXBcbik7XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jLXN3aXRjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG59XG5cbi5jLXN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jLXN3aXRjaC1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkO1xuICB0cmFuc2l0aW9uOiAuMTVzIGVhc2Utb3V0O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSB0aGVtZXMoJGZvcm0tdGhlbWUtbWFwKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1oYW5kbGUtbWFyZ2luO1xuICAgIGxlZnQ6ICRzd2l0Y2gtaGFuZGxlLW1hcmdpbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLWhhbmRsZS1tYXJnaW4gKiAyKSAtICgkYm9yZGVyLXdpZHRoICogMik7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLWhhbmRsZS1tYXJnaW4gKiAyKSAtICgkYm9yZGVyLXdpZHRoICogMik7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICB0cmFuc2l0aW9uOiAuMTVzIGVhc2Utb3V0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMgLyAyKTtcbiAgfVxufVxuXG4uYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5jLXN3aXRjaC1zbGlkZXIge1xuICAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc3dpdGNoLXdpZHRoIC0gJHN3aXRjaC1oZWlnaHQpO1xuICB9XG59XG5cbi5jLXN3aXRjaC1pbnB1dDpmb2N1cyB+IC5jLXN3aXRjaC1zbGlkZXIge1xuICBAaW5jbHVkZSB0aGVtZXMoJGZvcm0tdGhlbWUtbWFwKSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1mb2N1cy1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtZm9jdXMtYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG4gIG91dGxpbmU6IDA7XG4gIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICB9IEBlbHNlIHtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4uYy1zd2l0Y2gtaW5wdXQ6ZGlzYWJsZWQgfiAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogLjU7XG59XG5cbi8vXG4vLyBTd2l0Y2ggU2l6ZXNcbi8vXG5cbi5jLXN3aXRjaC1sZyB7XG4gIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtbGctd2lkdGgsICRzd2l0Y2gtbGctaGVpZ2h0LCAkc3dpdGNoLWxnLWZvbnQtc2l6ZSwgJHN3aXRjaC1oYW5kbGUtbWFyZ2luKTtcbn1cblxuLmMtc3dpdGNoLXNtIHtcbiAgQGluY2x1ZGUgc3dpdGNoLXNpemUoJHN3aXRjaC1zbS13aWR0aCwgJHN3aXRjaC1zbS1oZWlnaHQsICRzd2l0Y2gtc20tZm9udC1zaXplLCAkc3dpdGNoLWhhbmRsZS1tYXJnaW4pO1xufVxuXG4vL1xuLy8gU3dpdGNoIHdpdGggbGFiZWxcbi8vXG4uYy1zd2l0Y2gtbGFiZWwge1xuICB3aWR0aDogJHN3aXRjaC1sYWJlbC13aWR0aDtcblxuICAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0uNWVtO1xuICAgICAgZm9udC1zaXplOiAkc3dpdGNoLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAkZ3JheS0zMDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29udGVudDogYXR0cihkYXRhLXVuY2hlY2tlZCk7XG4gICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICByaWdodDogMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc3dpdGNoLWxhYmVsLXdpZHRoIC0gJHN3aXRjaC1oZWlnaHQpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY29udGVudDogYXR0cihkYXRhLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpemVzXG4gICYuYy1zd2l0Y2gtbGcge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtbGFiZWwtbGctd2lkdGgsICRzd2l0Y2gtbGctaGVpZ2h0LCAkc3dpdGNoLWxnLWZvbnQtc2l6ZSwgJHN3aXRjaC1oYW5kbGUtbWFyZ2luKTtcbiAgfVxuXG4gICYuYy1zd2l0Y2gtc20ge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtbGFiZWwtc20td2lkdGgsICRzd2l0Y2gtc20taGVpZ2h0LCAkc3dpdGNoLXNtLWZvbnQtc2l6ZSwgJHN3aXRjaC1oYW5kbGUtbWFyZ2luKTtcbiAgfVxufVxuXG4vL1xuLy8gU3dpdGNoIDNkXG4vL1xuXG4uYy1zd2l0Y2hbY2xhc3MqPVwiLTNkXCJdIHtcbiAgLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwZW07XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgbGVmdDogLTFweDtcbiAgICAgIHdpZHRoOiAkc3dpdGNoLWhlaWdodDtcbiAgICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MGVtO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoJGJsYWNrLCAuMyk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6ZXNcbiAgJi5jLXN3aXRjaC1sZyB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLTNkLXNpemUoJHN3aXRjaC1sZy13aWR0aCwgJHN3aXRjaC1sZy1oZWlnaHQpO1xuICB9XG5cbiAgJi5jLXN3aXRjaC1zbSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLTNkLXNpemUoJHN3aXRjaC1zbS13aWR0aCwgJHN3aXRjaC1zbS1oZWlnaHQpO1xuICB9XG59XG5cbi8vXG4vLyBTd2l0Y2ggVmFyaWFudHNcbi8vXG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC8vbm9ybWFsIHN0eWxlXG4gIC5jLXN3aXRjaC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIHN3aXRjaC12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbiAgLy8gM3Mgc3R5bGVcbiAgLmMtc3dpdGNoLTNkLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLTNkLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxuICAvLyBvdXRsaW5lIHN0eWxlXG4gIC5jLXN3aXRjaC1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG4gIC8vIG9wb3NpdGVcbiAgLmMtc3dpdGNoLW9wcG9zaXRlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLW9wcG9zaXRlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG4vL1xuLy8gUGlsbCBTdHlsZVxuLy9cblxuLmMtc3dpdGNoLXBpbGwge1xuICAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MGVtO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwZW07XG4gICAgfVxuICB9XG59XG5cbi5jLXN3aXRjaC1zcXVhcmUge1xuICAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBTd2l0Y2hlc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHN3aXRjaFxuJHN3aXRjaC13aWR0aDogICAgICA0MHB4ICFkZWZhdWx0O1xuJHN3aXRjaC1oZWlnaHQ6ICAgICAyNnB4ICFkZWZhdWx0O1xuJHN3aXRjaC1mb250LXNpemU6ICAxMHB4ICFkZWZhdWx0O1xuXG4kc3dpdGNoLWxnLXdpZHRoOiAgICAgIDQ4cHggIWRlZmF1bHQ7XG4kc3dpdGNoLWxnLWhlaWdodDogICAgIDMwcHggIWRlZmF1bHQ7XG4kc3dpdGNoLWxnLWZvbnQtc2l6ZTogIDEycHggIWRlZmF1bHQ7XG5cbiRzd2l0Y2gtc20td2lkdGg6ICAgICAgMzJweCAhZGVmYXVsdDtcbiRzd2l0Y2gtc20taGVpZ2h0OiAgICAgMjJweCAhZGVmYXVsdDtcbiRzd2l0Y2gtc20tZm9udC1zaXplOiAgOHB4ICFkZWZhdWx0O1xuXG4kc3dpdGNoLWxhYmVsLXdpZHRoOiAgICAgNDhweCAhZGVmYXVsdDtcbiRzd2l0Y2gtbGFiZWwtbGctd2lkdGg6ICA1NnB4ICFkZWZhdWx0O1xuJHN3aXRjaC1sYWJlbC1zbS13aWR0aDogIDQwcHggIWRlZmF1bHQ7XG5cbiRzd2l0Y2gtaGFuZGxlLW1hcmdpbjogIDJweCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3dpdGNoXG4iLCJAbWl4aW4gc3dpdGNoLXNpemUoJHdpZHRoLCAkaGVpZ2h0LCAkZm9udC1zaXplLCAkaGFuZGxlLW1hcmdpbikge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAkaGVpZ2h0IC0gKCRoYW5kbGUtbWFyZ2luICogMikgLSAoJGJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0IC0gKCRoYW5kbGUtbWFyZ2luICogMikgLSAoJGJvcmRlci13aWR0aCAqIDIpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR3aWR0aCAtICRoZWlnaHQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3dpdGNoLTNkLXNpemUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICAgIHdpZHRoOiAkaGVpZ2h0O1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkd2lkdGggLSAkaGVpZ2h0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN3aXRjaC0zZC12YXJpYW50KCRjb2xvcikge1xuICAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gc3dpdGNoLXZhcmlhbnQoJGNvbG9yKSB7XG4gIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzd2l0Y2gtb3V0bGluZS12YXJpYW50KCRjb2xvcikge1xuICAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzd2l0Y2gtb3Bwb3NpdGUtdmFyaWFudCgkY29sb3IpIHtcbiAgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG5cbiAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWJnXCIpO1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZDtcblxuICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZDtcblxuICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZDtcblxuICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZDtcblxuICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQ7XG5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcblxuICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1hY2NlbnQtYmdcIik7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtaG92ZXItY29sb3JcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1ob3Zlci1iZ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsICB0aGVtZS1jb2xvci1sZXZlbCgkdmFsdWUsICR0YWJsZS1iZy1sZXZlbCksICB0aGVtZS1jb2xvci1sZXZlbCgkdmFsdWUsICR0YWJsZS1ib3JkZXItbGV2ZWwpKTtcbn1cblxuQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsIHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1hY3RpdmUtYmdcIikpO1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChzZWxlY3RlZCwgdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWFjdGl2ZS1iZ1wiKSwgdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWFjdGl2ZS1iZ1wiKSk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udGFibGUge1xuICB0Ym9keSB0ciB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtaG92ZXItYmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwKSB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtZGFyay1jb2xvclwiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWRhcmstYmdcIik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWRhcmstYm9yZGVyLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXApIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1oZWFkLWNvbG9yXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtaGVhZC1iZ1wiKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtYm9yZGVyLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGFibGUtZGFyayB7XG4gIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwKSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1kYXJrLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1kYXJrLWJnXCIpO1xuICB9XG5cbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXApIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWRhcmstYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1kYXJrLWFjY2VudC1iZ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXApIHtcbiAgICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWRhcmstaG92ZXItY29sb3JcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWRhcmstaG92ZXItYmdcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1vdXRsaW5lIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG5cbiAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi50YWJsZS1hbGlnbi1taWRkbGUge1xuXG4gIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi50YWJsZS1jbGVhciB7XG4gIHRkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJHlpcS10aGVtZS1tYXAsICRjdXJyZW50LXRoZW1lKSB7XG4gICAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQsIG1hcC1nZXQobWFwLWdldCgkeWlxLXRoZW1lLW1hcCwgJGN1cnJlbnQtdGhlbWUpLCBcInlpcS10ZXh0LWRhcmtcIiksIG1hcC1nZXQobWFwLWdldCgkeWlxLXRoZW1lLW1hcCwgJGN1cnJlbnQtdGhlbWUpLCBcInlpcS10ZXh0LWxpZ2h0XCIpKTtcbiAgICAgIH1cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudG9hc3Qge1xuICB3aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgbWF4LXdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjaGVhcCByb3VuZGVkIGNvcm5lcnMgb24gbmVzdGVkIGl0ZW1zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdGhlbWVzKCR0b2FzdC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidG9hc3QtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRvYXN0LWJhY2tncm91bmQtY29sb3JcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidG9hc3QtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgdGhlbWVzKCR0b2FzdC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidG9hc3QtaGVhZGVyLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvclwiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yXCIpO1xuICB9XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuXG4udG9hc3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICgkc3BhY2VyIC8gNCkgKCRzcGFjZXIgLyAyKTtcblxuICAmLXRvcC1mdWxsLFxuICAmLXRvcC1jZW50ZXIsXG4gICYtdG9wLXJpZ2h0LFxuICAmLXRvcC1sZWZ0LFxuICAmLWJvdHRvbS1mdWxsLFxuICAmLWJvdHRvbS1jZW50ZXIsXG4gICYtYm90dG9tLXJpZ2h0LFxuICAmLWJvdHRvbS1sZWZ0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogJHppbmRleC10b2FzdGVyO1xuICAgIHdpZHRoOiAkdG9hc3QtbWF4LXdpZHRoO1xuICB9XG5cbiAgJi10b3AtZnVsbCxcbiAgJi10b3AtY2VudGVyLFxuICAmLXRvcC1yaWdodCxcbiAgJi10b3AtbGVmdCB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgJi1ib3R0b20tZnVsbCxcbiAgJi1ib3R0b20tY2VudGVyLFxuICAmLWJvdHRvbS1yaWdodCxcbiAgJi1ib3R0b20tbGVmdCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmLXRvcC1mdWxsLFxuICAmLWJvdHRvbS1mdWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gICYtdG9wLWNlbnRlcixcbiAgJi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi10b3AtZnVsbCxcbiAgJi1ib3R0b20tZnVsbCxcbiAgJi10b3AtcmlnaHQsXG4gICYtYm90dG9tLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gICYtdG9wLWZ1bGwsXG4gICYtYm90dG9tLWZ1bGwsXG4gICYtdG9wLWxlZnQsXG4gICYtYm90dG9tLWxlZnQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAudG9hc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAoJHNwYWNlciAvIDgpO1xuICAgIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gOCk7XG4gIH1cbn1cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgdG9hc3QuXG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC50b2FzdC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIHRvYXN0LXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG4iLCIvLyBUb2FzdHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdFxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvYXN0XG5cbi8vIERlZmF1bHQgdGhlbWVcbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC1kZWZhdWx0LXRoZW1lXG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC1kZWZhdWx0LXRoZW1lXG5cbiR0b2FzdC10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0b2FzdC10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwidG9hc3QtYmFja2dyb3VuZC1jb2xvclwiOiAgICAgICAgICR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICAgXCJ0b2FzdC1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgJHRvYXN0LWNvbG9yLFxuICAgICAgXCJ0b2FzdC1ib3JkZXItY29sb3JcIjogICAgICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvcixcbiAgICAgIFwidG9hc3QtaGVhZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICR0b2FzdC1oZWFkZXItY29sb3IsXG4gICAgICBcInRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yXCI6ICAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3IsXG4gICAgICBcInRvYXN0LWhlYWRlci1ib3JkZXItY29sb3JcIjogICAgICAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvclxuICAgIClcbiAgKSxcbiAgJHRvYXN0LXRoZW1lLW1hcFxuKTtcbiIsIkBtaXhpbiB0b2FzdC12YXJpYW50KCRiYWNrZ3JvdW5kKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG5cbiAgLnRvYXN0LWhlYWRlciB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICR0b29sdGlwLW1hcmdpbjtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9vbHRpcC1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5zaG93IHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gIC50b29sdGlwLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4lYnMtdG9vbHRpcC10b3AsXG4lYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICB9XG59XG5cbiVicy10b29sdGlwLXJpZ2h0LFxuJWJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC50b29sdGlwLWFycm93IHtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gIH1cbn1cblxuJWJzLXRvb2x0aXAtdG9wIHtcbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiVicy10b29sdGlwLXJpZ2h0IHtcbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIGxlZnQ6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuJWJzLXRvb2x0aXAtYm90dG9tIHtcbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiVicy10b29sdGlwLWxlZnQge1xuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4udG9vbHRpcCB7XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAlYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIEBleHRlbmQgJWJzLXRvb2x0aXAtcmlnaHQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kICVicy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kICVicy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mYWRlLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbn1cblxuLy9cbi8vIENvbXBvbmVudHNcbi8vXG5cbi5jLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xufVxuXG4uYy1zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkIC8gMiwgdHJhbnNmb3JtICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCwgbWFyZ2luLWxlZnQgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkLCBtYXJnaW4tcmlnaHQgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkLCB3aWR0aCAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQsIHotaW5kZXggMHMgZWFzZSAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG4gICYuYy1zaWRlYmFyLXVuZm9sZGFibGUge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQsIG1hcmdpbi1sZWZ0ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCwgbWFyZ2luLXJpZ2h0ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCwgd2lkdGggJGxheW91dC10cmFuc2l0aW9uLXNwZWVkLCB6LWluZGV4IDBzIGVhc2UgMHM7XG4gIH1cbn1cblxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24ge1xuICAuYy13cmFwcGVyLFxuICAuYy1zaWRlYmFyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICAgLmMtc2lkZWJhci1oZWFkZXIsXG4gICAgLmMtc2lkZWJhci1uYXYtdGl0bGUsXG4gICAgLmMtc2lkZWJhci1uYXYtZGl2aWRlcixcbiAgICAuYy1zaWRlYmFyLW5hdi1saW5rLFxuICAgIC5jLXNpZGViYXItbmF2LWljb24sXG4gICAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24sXG4gICAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIsXG4gICAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMsXG4gICAgLmMtc2lkZWJhci1uYXYtbGFiZWwsXG4gICAgLmMtc2lkZWJhci1mb290ZXIsXG4gICAgLmMtc2lkZWJhci1taW5pbWl6ZXIgIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5jLW5vLXRyYW5zaXRpb24ge1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIHRoZW1lcygkdHlwb2dyYXBoeS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhyLWJvcmRlci1jb2xvclwiKTtcbiAgfVxufVxuXG4vL1xuLy8gVmVydGljYWwgcnVsZXNcbi8vXG5cbi5jLXZyIHtcbiAgd2lkdGg6ICR2ci13aWR0aDtcbiAgQGluY2x1ZGUgdGhlbWVzKCR0eXBvZ3JhcGh5LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInZyLWJnXCIpO1xuICB9XG59XG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFyay1iZztcbn1cblxuXG4vL1xuLy8gTGlzdHNcbi8vXG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy9cbi8vIENvcmVVSSBkZWZhdWx0IGxheW91dFxuLy9cblxuLmMtYXBwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi8vIElFMTAmMTEgRmxleGJveCBmaXhcbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICBodG1sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLmMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG5cbiAgJjpub3QoLmMtd3JhcHBlci1mbHVpZCkge1xuXG4gICAgLmMtc3ViaGVhZGVyLWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuYy1oZWFkZXItZml4ZWQge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcblxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbWFyZ2luOiBpbmhlcml0O1xuXG4gICAgICAgIH4gLmMtYm9keSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTA0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1mb290ZXItZml4ZWQge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcblxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbWFyZ2luOiBpbmhlcml0O1xuXG4gICAgICAgIH4gLmMtYm9keSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDlweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jLWJvZHkge1xuICAgICAgLy8gZGVwcmVjYXRlIHY0XG4gICAgICAvLyBmaXggZm9vdGVyIHBvc2l0aW9uIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZS5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgLy8gLS0tXG5cbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gIH1cblxuICAvLyBkZXByZWNhdGUgdjRcbiAgJi5jLXdyYXBwZXItZmx1aWQge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgLmMtaGVhZGVyLWZpeGVkIHtcbiAgICAgIG1hcmdpbjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuLmMtbWFpbiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZy10b3A6IDIgKiAkc3BhY2VyO1xuXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy12YXJpYW50YCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLWdyYWRpZW50LXZhcmlhbnRgIG1peGluXCIsIFwidjQuNS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cblxuQG1peGluIGNvcmV1aS1iZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvcnMpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkY29sb3JzLCBcInN0b3BcIikgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG1hcC1nZXQoJGNvbG9ycywgXCJzdGFydFwiKSAwJSwgbWFwLWdldCgkY29sb3JzLCBcInN0b3BcIikgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgXCJzdG9wXCIpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLy8gQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbi8vICAgQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbi8vICAgICBAaW5jbHVkZSBiZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xuLy8gICB9XG4vLyB9XG5cbkBpbmNsdWRlIHRoZW1lLWdyYWRpZW50cygpIHtcbiAgQGluY2x1ZGUgY29yZXVpLWJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skZ3JhZGllbnR9XCIsICR2YWx1ZSk7XG59XG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG5bY2xhc3NePVwiYmctXCJdIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGJyYW5kcy1jb2xvcnMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkZ3JheXMge1xuICBAaW5jbHVkZSBiZy12YXJpYW50KFwiLmJnLWdyYXktI3skY29sb3J9XCIsICR2YWx1ZSk7XG59XG5cbi5iZy1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6ICgkc3BhY2VyICogMi41KTtcbiAgaGVpZ2h0OiAoJHNwYWNlciAqIDIuNSk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG5AaW5jbHVkZSB0aGVtZXMoJGJvcmRlci10aGVtZS1tYXApIHtcbiAgLmJvcmRlciAgICAgICAgIHsgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRoZW1lcy1nZXQtdmFsdWUoXCJib3JkZXItY29sb3JcIikgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRoZW1lcy1nZXQtdmFsdWUoXCJib3JkZXItY29sb3JcIikgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgdGhlbWVzLWdldC12YWx1ZShcImJvcmRlci1jb2xvclwiKSAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItYm90dG9tICB7IGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgdGhlbWVzLWdldC12YWx1ZShcImJvcmRlci1jb2xvclwiKSAhaW1wb3J0YW50OyB9XG4gIC5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRoZW1lcy1nZXQtdmFsdWUoXCJib3JkZXItY29sb3JcIikgIWltcG9ydGFudDsgfVxufVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLy9cbi8vIEJvcmRlci1yYWRpdXNcbi8vXG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcmlnaHQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGcge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRyb3VuZGVkLXBpbGwgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKGJvcmRlcjogYikge1xuICBAZWFjaCAkc2l6ZSBpbiAoMCwxLDIpIHtcbiAgICBAaWYgJHNpemUgPT0gMCB7XG4gICAgICAuI3skYWJicmV2fS1hLSN7JHNpemV9IHsgI3skcHJvcH06IDAgIWltcG9ydGFudDsgfSAvLyBhID0gQWxsIHNpZGVzXG4gICAgICAuI3skYWJicmV2fS10LSN7JHNpemV9IHsgI3skcHJvcH0tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyRhYmJyZXZ9LXItI3skc2l6ZX0geyAjeyRwcm9wfS1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3skYWJicmV2fS1iLSN7JHNpemV9IHsgI3skcHJvcH0tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC4jeyRhYmJyZXZ9LWwtI3skc2l6ZX0geyAjeyRwcm9wfS1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIC4jeyRhYmJyZXZ9LWEtI3skc2l6ZX0geyAjeyRwcm9wfTogJHNpemUgKiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7IH0gLy8gYSA9IEFsbCBzaWRlc1xuICAgICAgLiN7JGFiYnJldn0tdC0jeyRzaXplfSB7ICN7JHByb3B9LXRvcDogJHNpemUgKiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7IH1cbiAgICAgIC4jeyRhYmJyZXZ9LXItI3skc2l6ZX0geyAjeyRwcm9wfS1yaWdodDogJHNpemUgKiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7IH1cbiAgICAgIC4jeyRhYmJyZXZ9LWItI3skc2l6ZX0geyAjeyRwcm9wfS1ib3R0b206ICRzaXplICogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yOyB9XG4gICAgICAuI3skYWJicmV2fS1sLSN7JHNpemV9IHsgI3skcHJvcH0tbGVmdDogJHNpemUgKiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jb250ZW50LWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciBjb21tb24gYGRpc3BsYXlgIHZhbHVlc1xuLy9cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgIC5kI3skaW5maXh9LWRvd24tbm9uZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbkBlYWNoICR0aGVtZSBpbiBtYXAta2V5cygkZGVmYXVsdC10aGVtZXMpIHtcbiAgLmMtI3skdGhlbWV9I3skdGhlbWUtc3VmZml4fSB7XG4gICAgLmMtZC0jeyR0aGVtZX0tbm9uZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG4gIEBpZiBtYXAtZ2V0KG1hcC1nZXQoJGRlZmF1bHQtdGhlbWVzLCAkdGhlbWUpLCBcImRlZmF1bHRcIikge1xuICAgICRvdGhlci10aGVtZXM6IG1hcC1yZW1vdmUoJGRlZmF1bHQtdGhlbWVzLCAkdGhlbWUpO1xuXG4gICAgJHNlbGVjdG9yOiBzZWxlY3Rvci1hcHBlbmQoXCIuYy1hcHBcIik7XG4gICAgQGVhY2ggJG90aGVyLXRoZW1lIGluIG1hcC1rZXlzKCRvdGhlci10aGVtZXMpIHtcbiAgICAgICRzZWxlY3Rvcjogc2VsZWN0b3ItYXBwZW5kKCRzZWxlY3RvciwgXCI6bm90KC5jLSN7JG90aGVyLXRoZW1lfSN7JHRoZW1lLXN1ZmZpeH0pXCIpO1xuICAgICAgLy8gLmMtYXBwIHtcbiAgICAgIC8vICAgJjpub3QoLmMtI3skb3RoZXItdGhlbWV9I3skdGhlbWUtc3VmZml4fSkge1xuICAgICAgLy8gICAgIC5jLWQtI3skdGhlbWV9LW5vbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgICBAaWYgKCRzZWxlY3RvciAhPSBzZWxlY3Rvci1hcHBlbmQoXCIuYy1hcHBcIikpIHtcbiAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIC5jLWQtI3skdGhlbWV9LW5vbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15IC8gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEZsZXggdmFyaWF0aW9uXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgYWRkaXRpb25hbCBmbGV4IGFsaWdubWVudCBvcHRpb25zLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxleCN7JGluZml4fS1yb3cgICAgICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbiAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tcm93LXJldmVyc2UgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAgICAgICAgICB7IGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tbm93cmFwICAgICAgIHsgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1maWxsICAgICAgICAgeyBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0wICAgICAgIHsgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTEgICAgICAgeyBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0wICAgICB7IGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMSAgICAgeyBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG5cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tY2VudGVyICB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWF1dG8gICAgIHsgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1jZW50ZXIgICB7IGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkdXNlci1zZWxlY3RzIHtcbiAgLnVzZXItc2VsZWN0LSN7JHZhbHVlfSB7IHVzZXItc2VsZWN0OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBlYWNoICR2YWx1ZSBpbiAkb3ZlcmZsb3dzIHtcbiAgLm92ZXJmbG93LSN7JHZhbHVlfSB7IG92ZXJmbG93OiAkdmFsdWUgIWltcG9ydGFudDsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcbkBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zIHtcbiAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7IHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDsgfVxufVxuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLnN0aWNreS10b3Age1xuICBAc3VwcG9ydHMgKHBvc2l0aW9uOiBzdGlja3kpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuIiwiLy9cbi8vIFNjcmVlbnJlYWRlcnNcbi8vXG5cbi5zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZSgpO1xufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skYWJicmV2fWZzI3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1mZSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2lucyAoZS5nLiwgd2hlcmUgYC5tYi1uMWAgaXMgbmVnYXRpdmUgdmVyc2lvbiBvZiBgLm1iLTFgKVxuICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAwIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWZzI3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWZlI3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHNcbiAgICAubSN7JGluZml4fS1hdXRvIHsgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAubXQjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tciN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWIjeyRpbmZpeH0tYXV0byxcbiAgICAubXkjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tbCN7JGluZml4fS1hdXRvLFxuICAgIC5teCN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlscyBmb3IgZmxleCwgd29yayBvbmx5IHdpdGggZmxleC1kaXJlY3Rpb246IHJvd1xuICAgIC5tZnMjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5tZmUjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLy8gSnVzdCBpbiBjYXNlIGBwb2ludGVyLWV2ZW50czogbm9uZWAgaXMgc2V0IG9uIGEgcGFyZW50XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvLyBJRTEwIGJ1Z2ZpeCwgc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE2OTQ3OTY3L2llMTAtaG92ZXItcHNldWRvLWNsYXNzLWRvZXNudC13b3JrLXdpdGhvdXQtYmFja2dyb3VuZC1jb2xvclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHtcbiAgQGluY2x1ZGUgdGhlbWVzKCR0eXBvZ3JhcGh5LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0ZXh0LW11dGVkXCIpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBJRSAmIDwgRWRnZSAxOFxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1lbXBoYXNpcy12YXJpYW50KClgXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCJib2R5IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuLmZvbnQteHMge1xuICBmb250LXNpemU6IC43NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC1zbSB7XG4gIGZvbnQtc2l6ZTogLjg1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LWxnIHtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXhsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LTJ4bCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LTN4bCB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC00eGwge1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLmZvbnQtNXhsIHtcbiAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbn1cblxuW2NsYXNzXj1cInRleHQtdmFsdWVcIl0ge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udGV4dC12YWx1ZS14cyB7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIC43NSk7XG59XG5cbi50ZXh0LXZhbHVlLXNtIHtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogLjg1KTtcbn1cblxuLnRleHQtdmFsdWUge1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbn1cblxuLnRleHQtdmFsdWUtbGcge1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xufVxuXG4udGV4dC12YWx1ZS14bCB7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNzUpO1xufVxuXG4udGV4dC13aGl0ZSAudGV4dC1tdXRlZCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KSAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiIsIi8vXG4vLyBSVEwgU3VwcG9ydFxuLy9cbkBpbmNsdWRlIHJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsO1xuICB1bmljb2RlLWJpZGk6IGVtYmVkO1xuXG4gIGJvZHkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4iLCIuaWUtY3VzdG9tLXByb3BlcnRpZXMge1xuICAvLyBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkYnAsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgYnJlYWtwb2ludC0jeyRicH06ICN7JHZhbHVlfTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBTcGVjaWZ5IGEgc2l6ZSBhbmQgbWluLXdpZHRoIHRvIG1ha2UgcHJpbnRpbmcgY2xvc2VyIGFjcm9zcyBicm93c2Vycy5cbiAgICAvLyBXZSBkb24ndCBzZXQgbWFyZ2luIGhlcmUgYmVjYXVzZSBpdCBicmVha3MgYHNpemVgIGluIENocm9tZS4gV2UgYWxzb1xuICAgIC8vIGRvbid0IHVzZSBgIWltcG9ydGFudGAgb24gYHNpemVgIGFzIGl0IGJyZWFrcyBpbiBDaHJvbWUuXG4gICAgQHBhZ2Uge1xuICAgICAgc2l6ZTogJHByaW50LXBhZ2Utc2l6ZTtcbiAgICB9XG4gICAgYm9keSB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJsYWNrO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1kYXJrIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiXG4vLyBQcmludGluZ1xuXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/ \ No newline at end of file +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2JhY2tlbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSxnQkFBZ0IsQ0NBaEI7Ozs7OztFQ0FBLFlBQ0UsNkJBQ0EsNENBQ0EsZ1BBSUEsZ0JBQ0Esa0JDUUYsZ0NESEUsdUNBQ0EsV0FDQSxrQkFDQSxnQkFDQSxvQkFDQSxvQkFDQSxjQUdBLG1DQUNBLGtDQUlBLG1CQUVJLGVBRkosMkJBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixtQkFFSSxlQUZKLDJCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLHdCQUVJLGVBRkosdUJBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosdUJBRUksZUFGSiwwQkFFSSxlQUZKLDJCQUVJLGVBRkosMkJBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkosaUJBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosaUJBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosK0JBRUksZUFGSixzQkFFSSxlQUZKLHdCQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSiwyQkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixtQkFFSSxlQUZKLDRCQUVJLGVBRkosMEJBRUksZUFGSixnQ0FFSSxlQUZKLDhCQUVJLGVBRkosc0JBRUksZUFGSiwyQkFFSSxlQUZKLG1CQUVJLGVBRkosaUJBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkoseUJBRUksZUFGSix1QkFFSSxlQUZKLHlCQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosdUJBRUksZUFGSix1QkFFSSxlQUZKLHlCQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosMkJBRUksZUFGSiwyQkFFSSxlQUZKLDJCQUVJLGVBRkosMkJBRUksZUFGSiw2QkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLDBCQUVJLGVBRkosaUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosNEJBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosNEJBRUksZUFGSiwyQkFFSSxlQUZKLHlCQUVJLGVBRkosOEJBRUksZUFGSiwyQkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosMEJBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkosb0JBRUksZUFGSixnQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSiw2QkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSixtQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLGtCQUVJLGVBRkoscUJBRUksZUFGSixpQkFFSSxlQUZKLGtCQUVJLGVBRkoscUJBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkosNEJBRUksZUFGSiwrQkFFSSxlQUZKLCtCQUVJLGVBRkosK0JBRUksZUFGSiwrQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLG1CQUVJLGVBRkosZ0JBRUksZUFGSixzQkFFSSxlQUZKLGtCQUVJLGVBRkosMkJBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkosMkJBRUksZUFGSiwwQkFFSSxlQUZKLCtCQUVJLGVBRkosMEJBRUksZUFGSix5QkFFSSxlQUZKLDBCQUVJLGVBRkosMEJBRUksZUFGSiwwQkFFSSxlQUZKLHdCQUVJLGVBRkosNkJBRUksZUFGSixtQkFFSSxlQUZKLHVCQUVJLGVBRkoseUJBRUksZUFGSiwwQkFFSSxlQUZKLDBCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLHNCQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLDBCQUVJLGVBRkosa0JBRUksZUFGSiwwQkFFSSxlQUZKLDJCQUVJLGVBRkosaUJBRUksZUFGSixzQkFFSSxlQUZKLG1CQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSiwwQkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosMEJBRUksZUFGSiw0QkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSiwwQkFFSSxlQUZKLDZCQUVJLGVBRkosMkJBRUksZUFGSixvQkFFSSxlQUZKLG9DQUVJLGVBRkosb0NBRUksZUFGSixpQ0FFSSxlQUZKLDBCQUVJLGVBRkosd0JBRUksZUFGSix5QkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkosdUJBRUksZUFGSixvQ0FFSSxlQUZKLHFDQUVJLGVBRkoscUJBRUksZUFGSix5QkFFSSxlQUZKLHlCQUVJLGVBRkosMEJBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosdUJBRUksZUFGSiwyQkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLDZCQUVJLGVBRkosNkJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosNEJBRUksZUFGSiwwQkFFSSxlQUZKLDJCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLDBCQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLGdDQUVJLGVBRkosK0JBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHFCQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLHdCQUVJLGVBRkosNkJBRUksZUFGSiwyQkFFSSxlQUZKLDRCQUVJLGVBRkosNkJBRUksZUFGSiwrQkFFSSxlQUZKLDZCQUVJLGVBRkosdUJBRUksZUFGSixrQkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSix5QkFFSSxlQUZKLHlCQUVJLGVBRkosMkJBRUksZUFGSix1QkFFSSxlQUZKLHVCQUVJLGVBRkosbUNBRUksZUFGSixtQ0FFSSxlQUZKLGdDQUVJLGVBRkosdUJBRUksZUFGSix3Q0FFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSix5QkFFSSxlQUZKLDJCQUVJLGVBRkosd0JBRUksZUFGSix5QkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSiw0QkFFSSxlQUZKLHlCQUVJLGVBRkoseUJBRUksZUFGSiwwQkFFSSxlQUZKLGtCQUVJLGVBRkosbUNBRUksZUFGSiwyQkFFSSxlQUZKLDBCQUVJLGVBRkosaUNBRUksZUFGSiwrQkFFSSxlQUZKLGdDQUVJLGVBRkosOEJBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosZ0NBRUksZUFGSixxQ0FFSSxlQUZKLG1DQUVJLGVBRkosb0NBRUksZUFGSixrQ0FFSSxlQUZKLDhCQUVJLGVBRkosK0JBRUksZUFGSixtQ0FFSSxlQUZKLGlDQUVJLGVBRkosa0NBRUksZUFGSixnQ0FFSSxlQUZKLDZCQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLHdCQUVJLGVBRkosMEJBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSixtQkFFSSxlQUZKLHVCQUVJLGVBRkosMEJBRUksZUFGSiw0QkFFSSxlQUZKLHFDQUVJLGVBRkoscUNBRUksZUFGSixzQ0FFSSxlQUZKLG1DQUVJLGVBRkosaUNBRUksZUFGSixpQ0FFSSxlQUZKLGtDQUVJLGVBRkosK0JBRUksZUFGSixtQ0FFSSxlQUZKLDBCQUVJLGVBRkosMkJBRUksZUFGSix5QkFFSSxlQUZKLHVCQUVJLGVBRkosdUJBRUksZUFGSixtQkFFSSxlQUZKLHFCQUVJLGVBRkoseUJBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSiw4QkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLDRCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLHFCQUVJLGVBRkosZ0NBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosaUJBRUksZUFGSixrQkFFSSxlQUZKLDJCQUVJLGVBRkosb0JBRUksZUFGSix5QkFFSSxlQUZKLDJCQUVJLGVBRkosMEJBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkosaUJBRUksZUFGSix5QkFFSSxlQUZKLG1CQUVJLGVBRkoseUJBRUksZUFGSixxQkFFSSxlQUZKLGtCQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLG1CQUVJLGVBRkoseUJBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkoseUJBRUksZUFGSix1QkFFSSxlQUZKLDZCQUVJLGVBRkosNkJBRUksZUFGSiw0QkFFSSxlQUZKLGVBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSix1QkFFSSxlQUZKLG1CQUVJLGVBRkosaUJBRUksZUFGSixpQkFFSSxlQUZKLHNCQUVJLGVBRkosdUJBRUksZUFGSiwyQkFFSSxlQUZKLDRCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLHdCQUVJLGVBRkosZ0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSiwrQkFFSSxlQUZKLDRCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLDRCQUVJLGVBRkoscUJBRUksZUFGSiwrQkFFSSxlQUZKLGdCQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLCtCQUVJLGVBRkosd0JBRUksZUFGSiw2QkFFSSxlQUZKLGdCQUVJLGVBRkosd0JBRUksZUFGSix5QkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSiwyQkFFSSxlQUZKLHlCQUVJLGVBRkoseUJBRUksZUFGSix3QkFFSSxlQUZKLDBCQUVJLGVBRkosaUNBRUksZUFGSixnQ0FFSSxlQUZKLGlDQUVJLGVBRkosZ0NBRUksZUFGSix3QkFFSSxlQUZKLHdCQUVJLGVBRkosaUJBRUksZUFGSixtQkFFSSxlQUZKLHdCQUVJLGVBRkosMEJBRUksZUFGSixxQkFFSSxlQUZKLGdCQUVJLGVBRkosbUJBRUksZUFGSiwrQkFFSSxlQUZKLHlCQUVJLGVBRkosd0JBRUksZUFGSix3QkFFSSxlQUZKLGdCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHlCQUVJLGVBRkosNkJBRUksZUFGSiw2QkFFSSxlQUZKLDJCQUVJLGVBRkosa0JBRUksZUFGSiwwQkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLGlCQUVJLGVBRkosa0JBRUksZUFGSiwwQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLHlCQUVJLGVBRkosMkJBRUksZUFGSiwyQkFFSSxlQUZKLCtCQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosOEJBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkoscUJBRUksZUFGSiw0QkFFSSxlQUZKLHdCQUVJLGVBRkosa0JBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkosc0JBRUksZUFGSiw0QkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLDBCQUVJLGVBRkosaUJBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLDJCQUVJLGVBRkosd0JBRUksZUFGSixrQkFFSSxlQUZKLG1CQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLHlCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosaUJBRUksZUFGSix5QkFFSSxlQUZKLDRCQUVJLGVBRkosNEJBRUksZUFGSixvQkFFSSxlQUZKLDZCQUVJLGVBRkosNkJBRUksZUFGSiw4QkFFSSxlQUZKLDJCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSTtBRnRCTix1Q0FBdUMsQztBSVB2QyxnQkFBZ0IsQ0NBaEI7Ozs7OztFQ0FBLFlBQ0UsOEJBQ0EsNENBQ0EsZ1BBSUEsZ0JBQ0Esa0JDUUYsZ0NESEUsd0NBQ0EsV0FDQSxrQkFDQSxnQkFDQSxvQkFDQSxvQkFDQSxjQUdBLG1DQUNBLGtDQUlBLHFCQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosaUJBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosa0NBRUksZUFGSixpQ0FFSSxlQUZKLDRCQUVJLGVBRkosa0NBRUksZUFGSiwrQkFFSSxlQUZKLCtCQUVJLGVBRkosNEJBRUksZUFGSixxQ0FFSSxlQUZKLDZCQUVJLGVBRkosNkJBRUksZUFGSiw0QkFFSSxlQUZKLDJCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSix3QkFFSSxlQUZKLG9CQUVJLGVBRkosaUJBRUksZUFGSiw4QkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSix5QkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSiwrQkFFSSxlQUZKLHFCQUVJLGVBRkoscUJBRUksZUFGSiw0QkFFSSxlQUZKLDBCQUVJLGVBRkosMEJBRUksZUFGSixvQkFFSSxlQUZKLDJCQUVJLGVBRkosdUJBRUksZUFGSix5QkFFSSxlQUZKLHVCQUVJLGVBRkosNEJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLGdDQUVJLGVBRkoscUJBRUksZUFGSix3QkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosa0JBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSiw2QkFFSSxlQUZKLDBCQUVJLGVBRkosNkJBRUksZUFGSixtQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosd0JBRUksZUFGSixrQkFFSSxlQUZKLGlCQUVJLGVBRkosdUJBRUksZUFGSixxQkFFSSxlQUZKLHlCQUVJLGVBRkosbUJBRUksZUFGSix3QkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSixxQkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkosdUJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSiw2QkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSixlQUVJLGVBRkoscUJBRUksZUFGSiw4QkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosMkJBRUksZUFGSixxQkFFSSxlQUZKLDBCQUVJLGVBRkosNEJBRUksZUFGSix5QkFFSSxlQUZKLG9CQUVJLGVBRkosMkJBRUksZUFGSix1QkFFSSxlQUZKLHVCQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLGtCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLHdCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSix3QkFFSSxlQUZKLHFCQUVJLGVBRkoseUJBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSiwwQkFFSSxlQUZKLHNDQUVJLGVBRkosc0JBRUksZUFGSix5QkFFSSxlQUZKLHFCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosdUJBRUksZUFGSixpQ0FFSSxlQUZKLG9DQUVJLGVBRkosb0NBRUksZUFGSixpQ0FFSSxlQUZKLGlDQUVJLGVBRkoscUNBRUksZUFGSixpQ0FFSSxlQUZKLG9DQUVJLGVBRkosaUNBRUksZUFGSiw0Q0FFSSxlQUZKLHVDQUVJLGVBRkosb0NBRUksZUFGSixtQ0FFSSxlQUZKLDhCQUVJLGVBRkosd0JBRUksZUFGSix5QkFFSSxlQUZKLHlCQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLG1CQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLDJCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixrQkFFSSxlQUZKLDJCQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLDRCQUVJLGVBRkosMkJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLGtCQUVJLGVBRkosc0JBRUksZUFGSixzQkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLG1CQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosa0JBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSix3QkFFSSxlQUZKLGtCQUVJLGVBRkosc0JBRUksZUFGSiw4QkFFSSxlQUZKLGtCQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLDJCQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosb0JBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSiwwQkFFSSxlQUZKLDBCQUVJLGVBRkosMkJBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosd0JBRUksZUFGSixvQkFFSSxlQUZKLGdCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLGlCQUVJLGVBRkosbUJBRUksZUFGSixvQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkosK0JBRUksZUFGSix3QkFFSSxlQUZKLGlCQUVJLGVBRkosZ0JBRUksZUFGSiwwQkFFSSxlQUZKLHFCQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLHdCQUVJLGVBRkoseUJBRUksZUFGSiw4QkFFSSxlQUZKLDJCQUVJLGVBRkosMEJBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkoseUJBRUksZUFGSiw2QkFFSSxlQUZKLG9CQUVJLGVBRkosNEJBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHlCQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLHFCQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkoseUJBRUksZUFGSix1QkFFSSxlQUZKLHdCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLDZCQUVJLGVBRkosa0JBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixnQkFFSSxlQUZKLDBCQUVJLGVBRkosbUJBRUksZUFGSix5QkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLDJCQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLHVCQUVJLGVBRkosd0JBRUksZUFGSixtQkFFSSxlQUZKLDBCQUVJLGVBRkosc0JBRUksZUFGSiwrQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLGtCQUVJLGVBRkosaUJBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLGdCQUVJLGVBRkosc0JBRUksZUFGSixzQkFFSSxlQUZKLGtCQUVJLGVBRkoscUJBRUksZUFGSix3QkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSixvQkFFSSxlQUZKLHlCQUVJLGVBRkosaUJBRUksZUFGSixtQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkosd0JBRUksZUFGSixvQkFFSSxlQUZKLDZCQUVJLGVBRkosMEJBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSix1QkFFSSxlQUZKLHNCQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLDBCQUVJLGVBRkosd0JBRUksZUFGSixrQkFFSSxlQUZKLHVCQUVJLGVBRkosMEJBRUksZUFGSix5QkFFSSxlQUZKLGtCQUVJLGVBRkoseUJBRUksZUFGSixzQkFFSSxlQUZKLDhCQUVJLGVBRkosd0JBRUksZUFGSixtQkFFSSxlQUZKLHlCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLGlCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLHdCQUVJLGVBRkosc0JBRUksZUFGSiw2QkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLDBCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLHNCQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLHdCQUVJLGVBRkosMkJBRUksZUFGSiw0QkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSiwwQkFFSSxlQUZKLGlCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkosNkJBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosMEJBRUksZUFGSixpQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLG1CQUVJLGVBRkosaUJBRUksZUFGSiwwQkFFSSxlQUZKLCtCQUVJLGVBRkosNkJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosb0JBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixvQkFFSSxlQUZKLDRCQUVJLGVBRkosb0JBRUksZUFGSiwyQkFFSSxlQUZKLHlCQUVJLGVBRkosNkJBRUksZUFGSixxQkFFSSxlQUZKLG9DQUVJLGVBRkosMkJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosbUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixvQkFFSSxlQUZKLGlCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHNCQUVJLGVBRkosaUJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkoscUJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLGlCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSix5QkFFSSxlQUZKLHVCQUVJLGVBRkosNEJBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSix5QkFFSSxlQUZKLDBCQUVJLGVBRkosMEJBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkoseUJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosd0JBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkosd0JBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSix5QkFFSSxlQUZKLDBCQUVJLGVBRkosc0JBRUksZUFGSix3QkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixtQkFFSSxlQUZKLGdCQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLHdCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixlQUVJLGVBRkoseUJBRUksZUFGSixtQkFFSSxlQUZKLDBCQUVJLGVBRkosbUJBRUksZUFGSiwyQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixvQkFFSSxlQUZKLHVCQUVJLGVBRkosd0JBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSix1QkFFSSxlQUZKLG1CQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHdCQUVJLGVBRkosd0JBRUksZUFGSix1QkFFSSxlQUZKLHlCQUVJLGVBRkoscUJBRUksZUFGSixpQkFFSSxlQUZKLHNCQUVJLGVBRkosa0JBRUksZUFGSix1QkFFSSxlQUZKLG1CQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLDJCQUVJLGVBRkoscUJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSixvQkFFSSxlQUZKLG1CQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHVCQUVJLGVBRkosb0JBRUksZUFGSix3QkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLHdCQUVJLGVBRkosOEJBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosa0JBRUksZUFGSixzQkFFSSxlQUZKLHVCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSSxlQUZKLHNCQUVJLGVBRkosbUJBRUksZUFGSix3QkFFSSxlQUZKLHlCQUVJLGVBRkoseUJBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLGtCQUVJLGVBRkosMEJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosdUJBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSix5QkFFSSxlQUZKLHNCQUVJLGVBRkosMkJBRUksZUFGSiwyQkFFSSxlQUZKLHVCQUVJLGVBRkosd0JBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkosdUJBRUksZUFGSix3QkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkoscUJBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixzQkFFSSxlQUZKLG9CQUVJLGVBRkoscUJBRUksZUFGSix5QkFFSSxlQUZKLHdCQUVJLGVBRkosb0JBRUksZUFGSiwwQkFFSSxlQUZKLHdCQUVJLGVBRkosdUJBRUksZUFGSixvQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLG1CQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLHNCQUVJLGVBRkosc0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSix3QkFFSSxlQUZKLGlCQUVJLGVBRkosdUJBRUksZUFGSiw0QkFFSSxlQUZKLHNCQUVJLGVBRkosd0JBRUksZUFGSiwyQkFFSSxlQUZKLHdCQUVJLGVBRkosdUJBRUksZUFGSixtQkFFSSxlQUZKLHdCQUVJLGVBRkosZ0NBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSix5QkFFSSxlQUZKLG1CQUVJLGVBRkosc0JBRUksZUFGSix1QkFFSSxlQUZKLG9CQUVJLGVBRkoseUJBRUksZUFGSixvQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosa0JBRUksZUFGSix3QkFFSSxlQUZKLG1CQUVJLGVBRkosa0JBRUksZUFGSixxQkFFSSxlQUZKLDJCQUVJLGVBRkosb0JBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosbUJBRUksZUFGSixxQkFFSSxlQUZKLG1CQUVJLGVBRkosMkJBRUksZUFGSixzQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSixpQkFFSSxlQUZKLGdCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSixtQkFFSSxlQUZKLGlCQUVJLGVBRkoscUJBRUksZUFGSixtQkFFSSxlQUZKLGtCQUVJLGVBRkosa0JBRUksZUFGSixrQkFFSSxlQUZKLGdDQUVJLGVBRkosMkJBRUksZUFGSixnQkFFSSxlQUZKLGlCQUVJLGVBRkosa0JBRUksZUFGSixvQkFFSSxlQUZKLHFCQUVJLGVBRkosb0JBRUksZUFGSiwrQkFFSSxlQUZKLHFCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLHNCQUVJLGVBRkoseUJBRUksZUFGSixpQkFFSSxlQUZKLGtCQUVJLGVBRkosdUJBRUksZUFGSixxQkFFSSxlQUZKLGtCQUVJLGVBRkosdUJBRUksZUFGSixpQkFFSSxlQUZKLDhCQUVJLGVBRkosaUNBRUksZUFGSixxQkFFSSxlQUZKLHVCQUVJLGVBRkosc0JBRUksZUFGSixvQkFFSSxlQUZKLGtCQUVJLGVBRkosbUJBRUksZUFGSixrQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixpQkFFSSxlQUZKLG9CQUVJLGVBRkosMEJBRUksZUFGSixtQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixrQkFFSSxlQUZKLGtCQUVJLGVBRkoscUJBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosa0JBRUksZUFGSixxQkFFSSxlQUZKLG9CQUVJLGVBRkosb0JBRUksZUFGSixvQkFFSSxlQUZKLGtCQUVJLGVBRkosbUJBRUksZUFGSixtQkFFSTtBRnRCTix3Q0FBd0MsQztBSVB4QyxnQkFBZ0I7QUNBaEI7OztFQUFBO0FDR0E7Ozs7OztFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGTUY7O0FHakJBO0VBQ0U7RUFDQTtFQUNBO0FIb0JGOztBR2pCQTtFQUNFO0FIb0JGOztBR2pCQTtFQUNFO0FIb0JGOztBR2hCRTtFQUNFO0FIbUJKOztBR3BCRTtFQUNFO0FIdUJKOztBR3hCRTtFQUNFO0FIMkJKOztBRzVCRTtFQUNFO0FIK0JKOztBR2hDRTtFQUNFO0FIbUNKOztBR3BDRTtFQUNFO0FIdUNKOztBR3hDRTtFQUNFO0FIMkNKOztBRzVDRTtFQUNFO0FIK0NKOztBR2hERTtFQUNFO0FIbURKOztBR3BERTtFQUNFO0FIdURKOztBSXpFQTtFQUNFO0VBQ0EsYUNPcUI7QUxxRXZCOztBTTdFQTtFQUNFO0VBQ0E7RUFDQTtBTmdGRjtBTTlFRTtFQUFPO0FOaUZUOztBTTlFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFVETHFCO0VDTXJCO0FOaUZGOztBTzlGQTtFQUNFO0VBQ0E7RUFDQTtBUGlHRjs7QU85RkE7RUFBK0I7QVBrRy9COztBT2pHQTtFQUFnQztBUHFHaEM7O0FPOUZFOzs7OztFQUFnQztBUHNHbEM7QU9yR0U7Ozs7O0VBQWlDO0FQNEduQzs7QVEzSEE7RUFDRTtBUjhIRjs7QVEzSEE7RUFDRTtBUjhIRjs7QVEzSEE7RUFDRTtJQUNFO0VSOEhGO0VRM0hBO0lBQ0U7RVI2SEY7QUFDRjtBUzVJQTtFQ1dFO0VBQ0E7QVZvSUY7O0FTL0lBO0VDVUU7RUFDQTtBVnlJRjs7QVNuSkE7RUNTRTtFQUNBO0FWOElGOztBU3RKQTtFQ1lFO0VBQ0E7QVY4SUY7O0FTMUpBO0VDV0U7RUFDQTtBVm1KRjs7QVM5SkE7RUNVRTtFQUNBO0FWd0pGOztBUzdKRTs7Ozs7O0VBTUU7QVRnS0o7O0FXbExBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYcUxGOztBV2xMQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBWHFMRjs7QVdsTEE7RUFDRTtBWHFMRjs7QVdsTEE7RUFDRTtBWHFMRjs7QVdsTEE7RUFDRSxXTnBCcUI7QUx5TXZCOztBWWxOQTtnRUFBQTtBQUdBO0VBQWtDO0FacU5sQzs7QVlwTkE7RUFBNEM7QVp3TjVDOztBWXZOQTtFQUFxQztBWjJOckM7O0FZMU5BO0VBQXNEO0FaOE50RDs7QVk3TkE7RUFBK0I7QVppTy9COztBWWhPQTtFQUF5QztBWm9PekM7O0FZbk9BO0VBQXlDO0FadU96Qzs7QVl0T0E7RUFBbUM7QVowT25DOztBWXpPQTtFQUFnQztBWjZPaEM7O0FZNU9BO0VBQXFDO0FaZ1ByQzs7QVkvT0E7RUFBMkM7QVptUDNDOztBWWxQQTtFQUEwQztBWnNQMUM7O0FZclBBO0VBQW1DO0FaeVBuQzs7QVl4UEE7RUFBb0M7QVo0UHBDOztBWTNQQTtFQUF5QztBWitQekM7O0FZOVBBO0VBQTBDO0Faa1ExQzs7QVlqUUE7RUFBdUM7QVpxUXZDOztBWXBRQTtFQUF3QztBWndReEM7O0FZdlFBO0VBQW1DO0FaMlFuQzs7QVkxUUE7RUFBc0M7QVo4UXRDOztBWTdRQTtFQUFtQztBWmlSbkM7O0FZaFJBO0VBQXVDO0Fab1J2Qzs7QVluUkE7RUFBc0M7QVp1UnRDOztBWXRSQTtFQUFnRTtBWjBSaEU7O0FZelJBO0VBQW1DO0FaNlJuQzs7QVk1UkE7RUFBbUM7QVpnU25DOztBWS9SQTtFQUFvQztBWm1TcEM7O0FZbFNBO0VBQXNDO0Fac1N0Qzs7QVlyU0E7RUFBOEM7QVp5UzlDOztBWXhTQTtFQUE4QztBWjRTOUM7O0FZM1NBO0VBQStDO0FaK1MvQzs7QVk5U0E7RUFBNEM7QVprVDVDOztBWWpUQTtFQUF1QztBWnFUdkM7O0FZcFRBO0VBQXVDO0Fad1R2Qzs7QVl2VEE7RUFBd0M7QVoyVHhDOztBWTFUQTtFQUFxQztBWjhUckM7O0FZN1RBO0VBQWtDO0FaaVVsQzs7QVloVUE7RUFBMEM7QVpvVTFDOztBWW5VQTtFQUFvQztBWnVVcEM7O0FZdFVBO0VBQWlDO0FaMFVqQzs7QVl6VUE7RUFBc0M7QVo2VXRDOztBWTVVQTtFQUEwQztBWmdWMUM7O0FZL1VBO0VBQWtDO0FabVZsQzs7QVlsVkE7RUFBa0M7QVpzVmxDOztBWXJWQTtFQUFzQztBWnlWdEM7O0FZeFZBO0VBQXNDO0FaNFZ0Qzs7QVkzVkE7RUFBb0M7QVorVnBDOztBWTlWQTtFQUFvQztBWmtXcEM7O0FZaldBO0VBQWtEO0FacVdsRDs7QVlwV0E7RUFBa0Q7QVp3V2xEOztBWXZXQTtFQUFtRDtBWjJXbkQ7O0FZMVdBO0VBQWdEO0FaOFdoRDs7QVk3V0E7RUFBOEM7QVppWDlDOztBWWhYQTtFQUE4QztBWm9YOUM7O0FZblhBO0VBQStDO0FadVgvQzs7QVl0WEE7RUFBNEM7QVowWDVDOztBWXpYQTtFQUF1QztBWjZYdkM7O0FZNVhBO0VBQXVDO0FaZ1l2Qzs7QVkvWEE7RUFBd0M7QVptWXhDOztBWWxZQTtFQUFxQztBWnNZckM7O0FZcllBO0VBQXVDO0FaeVl2Qzs7QVl4WUE7RUFBeUM7QVo0WXpDOztBWTNZQTtFQUF5QztBWitZekM7O0FZOVlBO0VBQXVDO0Faa1p2Qzs7QVlqWkE7RUFBd0Q7QVpxWnhEOztBWXBaQTtFQUFxQztBWndackM7O0FZdlpBO0VBQXVDO0FaMlp2Qzs7QVkxWkE7RUFBK0I7QVo4Wi9COztBWTdaQTtFQUFrQztBWmlhbEM7O0FZaGFBO0VBQXNDO0Fab2F0Qzs7QVluYUE7RUFBaUM7QVp1YWpDOztBWXRhQTtFQUFvQztBWjBhcEM7O0FZemFBO0VBQThDO0FaNmE5Qzs7QVk1YUE7RUFBeUM7QVpnYnpDOztBWS9hQTtFQUFvQztBWm1icEM7O0FZbGJBO0VBQW1DO0Fac2JuQzs7QVlyYkE7RUFBa0M7QVp5YmxDOztBWXhiQTtFQUFnQztBWjRiaEM7O0FZM2JBO0VBQWlDO0FaK2JqQzs7QVk5YkE7RUFBMEM7QVprYzFDOztBWWpjQTtFQUFzQztBWnFjdEM7O0FZcGNBO0VBQXFDO0Fad2NyQzs7QVl2Y0E7RUFBa0M7QVoyY2xDOztBWTFjQTtFQUFxQztBWjhjckM7O0FZN2NBO0VBQXNDO0FaaWR0Qzs7QVloZEE7RUFBa0M7QVpvZGxDOztBWW5kQTtFQUEwQztBWnVkMUM7O0FZdGRBO0VBQStDO0FaMGQvQzs7QVl6ZEE7RUFBZ0Q7QVo2ZGhEOztBWTVkQTtFQUFnQztBWmdlaEM7O0FZL2RBO0VBQXFDO0FabWVyQzs7QVlsZUE7RUFBcUM7QVpzZXJDOztBWXJlQTtFQUFvQztBWnllcEM7O0FZeGVBO0VBQWlDO0FaNGVqQzs7QVkzZUE7RUFBMEM7QVorZTFDOztBWTllQTtFQUE0QztBWmtmNUM7O0FZamZBO0VBQWlDO0FacWZqQzs7QVlwZkE7RUFBMEM7QVp3ZjFDOztBWXZmQTtFQUF5QztBWjJmekM7O0FZMWZBO0VBQXlDO0FaOGZ6Qzs7QVk3ZkE7RUFBNEM7QVppZ0I1Qzs7QVloZ0JBO0VBQW1EO0Fab2dCbkQ7O0FZbmdCQTtFQUF1QztBWnVnQnZDOztBWXRnQkE7RUFBZ0M7QVowZ0JoQzs7QVl6Z0JBO0VBQWlDO0FaNmdCakM7O0FZNWdCQTtFQUFvQztBWmdoQnBDOztBWS9nQkE7RUFBMkM7QVptaEIzQzs7QVlsaEJBO0VBQWlDO0Fac2hCakM7O0FZcmhCQTtFQUF1QztBWnloQnZDOztBWXhoQkE7RUFBeUM7QVo0aEJ6Qzs7QVkzaEJBO0VBQWtDO0FaK2hCbEM7O0FZOWhCQTtFQUFvQztBWmtpQnBDOztBWWppQkE7RUFBbUM7QVpxaUJuQzs7QVlwaUJBO0VBQXNDO0Fad2lCdEM7O0FZdmlCQTtFQUF1QztBWjJpQnZDOztBWTFpQkE7RUFBc0M7QVo4aUJ0Qzs7QVk3aUJBO0VBQTBDO0FaaWpCMUM7O0FZaGpCQTtFQUFzQztBWm9qQnRDOztBWW5qQkE7RUFBb0M7QVp1akJwQzs7QVl0akJBO0VBQWlDO0FaMGpCakM7O0FZempCQTtFQUFzQztBWjZqQnRDOztBWTVqQkE7RUFBdUM7QVpna0J2Qzs7QVkvakJBO0VBQW9DO0FabWtCcEM7O0FZbGtCQTtFQUEwQztBWnNrQjFDOztBWXJrQkE7RUFBa0M7QVp5a0JsQzs7QVl4a0JBO0VBQWlDO0FaNGtCakM7O0FZM2tCQTtFQUFvQztBWitrQnBDOztBWTlrQkE7RUFBc0M7QVprbEJ0Qzs7QVlqbEJBO0VBQXNDO0FacWxCdEM7O0FZcGxCQTtFQUF3QztBWndsQnhDOztBWXZsQkE7RUFBaUM7QVoybEJqQzs7QVkxbEJBO0VBQWlDO0FaOGxCakM7O0FZN2xCQTtFQUFpQztBWmltQmpDOztBWWhtQkE7RUFBaUM7QVpvbUJqQzs7QVlubUJBO0VBQWlDO0FadW1CakM7O0FZdG1CQTtFQUFpQztBWjBtQmpDOztBWXptQkE7RUFBc0M7QVo2bUJ0Qzs7QVk1bUJBO0VBQXlDO0FaZ25CekM7O0FZL21CQTtFQUFzQztBWm1uQnRDOztBWWxuQkE7RUFBd0M7QVpzbkJ4Qzs7QVlybkJBO0VBQXFDO0FaeW5CckM7O0FZeG5CQTtFQUFzQztBWjRuQnRDOztBWTNuQkE7RUFBdUM7QVorbkJ2Qzs7QVk5bkJBO0VBQXdDO0Faa29CeEM7O0FZam9CQTtFQUF5QztBWnFvQnpDOztBWXBvQkE7RUFBeUM7QVp3b0J6Qzs7QVl2b0JBO0VBQWdDO0FaMm9CaEM7O0FZMW9CQTtFQUFxQztBWjhvQnJDOztBWTdvQkE7RUFBdUM7QVppcEJ2Qzs7QVlocEJBO0VBQWtDO0Fab3BCbEM7O0FZbnBCQTtFQUFvQztBWnVwQnBDOztBWXRwQkE7RUFBa0M7QVowcEJsQzs7QVl6cEJBO0VBQXdDO0FaNnBCeEM7O0FZNXBCQTtFQUFzQztBWmdxQnRDOztBWS9wQkE7RUFBOEM7QVptcUI5Qzs7QVlscUJBO0VBQTRDO0Fac3FCNUM7O0FZcnFCQTtFQUFrQztBWnlxQmxDOztBWXhxQkE7RUFBa0M7QVo0cUJsQzs7QVkzcUJBO0VBQWdDO0FaK3FCaEM7O0FZOXFCQTtFQUFtQztBWmtyQm5DOztBWWpyQkE7RUFBZ0M7QVpxckJoQzs7QVlwckJBO0VBQXFDO0Fad3JCckM7O0FZdnJCQTtFQUFxQztBWjJyQnJDOztBWTFyQkE7RUFBcUM7QVo4ckJyQzs7QVk3ckJBO0VBQWlDO0FaaXNCakM7O0FZaHNCQTtFQUE2QztBWm9zQjdDOztBWW5zQkE7RUFBZ0M7QVp1c0JoQzs7QVl0c0JBO0VBQW9DO0FaMHNCcEM7O0FZenNCQTtFQUEwQztBWjZzQjFDOztBWTVzQkE7RUFBd0M7QVpndEJ4Qzs7QVkvc0JBO0VBQXVDO0FabXRCdkM7O0FZbHRCQTtFQUF1QztBWnN0QnZDOztBWXJ0QkE7RUFBcUM7QVp5dEJyQzs7QVl4dEJBO0VBQXlDO0FaNHRCekM7O0FZM3RCQTtFQUEyQztBWit0QjNDOztBWTl0QkE7RUFBeUM7QVprdUJ6Qzs7QVlqdUJBO0VBQTJDO0FacXVCM0M7O0FZcHVCQTtFQUEwQztBWnd1QjFDOztBWXZ1QkE7RUFBMkM7QVoydUIzQzs7QVkxdUJBO0VBQTBDO0FaOHVCMUM7O0FZN3VCQTtFQUFtQztBWml2Qm5DOztBWWh2QkE7RUFBeUM7QVpvdkJ6Qzs7QVludkJBO0VBQXVDO0FadXZCdkM7O0FZdHZCQTtFQUFnRDtBWjB2QmhEOztBWXp2QkE7RUFBdUM7QVo2dkJ2Qzs7QVk1dkJBO0VBQXFDO0FaZ3dCckM7O0FZL3ZCQTtFQUFxQztBWm13QnJDOztBWWx3QkE7RUFBZ0M7QVpzd0JoQzs7QVlyd0JBO0VBQW9DO0FaeXdCcEM7O0FZeHdCQTtFQUF3QztBWjR3QnhDOztBWTN3QkE7RUFBc0M7QVord0J0Qzs7QVk5d0JBO0VBQXFDO0Faa3hCckM7O0FZanhCQTtFQUFvQztBWnF4QnBDOztBWXB4QkE7RUFBdUM7QVp3eEJ2Qzs7QVl2eEJBO0VBQXVDO0FaMnhCdkM7O0FZMXhCQTtFQUF3QztBWjh4QnhDOztBWTd4QkE7RUFBOEM7QVppeUI5Qzs7QVloeUJBO0VBQThDO0Fab3lCOUM7O0FZbnlCQTtFQUErQztBWnV5Qi9DOztBWXR5QkE7RUFBNEM7QVoweUI1Qzs7QVl6eUJBO0VBQXFDO0FaNnlCckM7O0FZNXlCQTtFQUFtQztBWmd6Qm5DOztBWS95QkE7RUFBNEM7QVptekI1Qzs7QVlsekJBO0VBQXNDO0Fac3pCdEM7O0FZcnpCQTtFQUEwQztBWnl6QjFDOztBWXh6QkE7RUFBZ0M7QVo0ekJoQzs7QVkzekJBO0VBQTBDO0FaK3pCMUM7O0FZOXpCQTtFQUFvQztBWmswQnBDOztBWWowQkE7RUFBeUM7QVpxMEJ6Qzs7QVlwMEJBO0VBQTJDO0FadzBCM0M7O0FZdjBCQTtFQUF3QztBWjIwQnhDOztBWTEwQkE7RUFBbUM7QVo4MEJuQzs7QVk3MEJBO0VBQTBDO0FaaTFCMUM7O0FZaDFCQTtFQUFzQztBWm8xQnRDOztBWW4xQkE7RUFBc0M7QVp1MUJ0Qzs7QVl0MUJBO0VBQW9DO0FaMDFCcEM7O0FZejFCQTtFQUF1QztBWjYxQnZDOztBWTUxQkE7RUFBbUM7QVpnMkJuQzs7QVkvMUJBO0VBQXdDO0FabTJCeEM7O0FZbDJCQTtFQUFrQztBWnMyQmxDOztBWXIyQkE7RUFBdUM7QVp5MkJ2Qzs7QVl4MkJBO0VBQStDO0FaNDJCL0M7O0FZMzJCQTtFQUE2QztBWisyQjdDOztBWTkyQkE7RUFBdUM7QVprM0J2Qzs7QVlqM0JBO0VBQXNDO0FacTNCdEM7O0FZcDNCQTtFQUF1QztBWnczQnZDOztBWXYzQkE7RUFBc0M7QVoyM0J0Qzs7QVkxM0JBO0VBQWtDO0FaODNCbEM7O0FZNzNCQTtFQUF5QztBWmk0QnpDOztBWWg0QkE7RUFBeUM7QVpvNEJ6Qzs7QVluNEJBO0VBQXlDO0FadTRCekM7O0FZdDRCQTtFQUFtQztBWjA0Qm5DOztBWXo0QkE7RUFBa0M7QVo2NEJsQzs7QVk1NEJBO0VBQXlDO0FaZzVCekM7O0FZLzRCQTtFQUF3QztBWm01QnhDOztBWWw1QkE7RUFBdUM7QVpzNUJ2Qzs7QVlyNUJBO0VBQXlDO0FaeTVCekM7O0FZeDVCQTtFQUF1QztBWjQ1QnZDOztBWTM1QkE7RUFBd0M7QVorNUJ4Qzs7QVk5NUJBO0VBQXVDO0FaazZCdkM7O0FZajZCQTtFQUFnRDtBWnE2QmhEOztBWXA2QkE7RUFBZ0Q7QVp3NkJoRDs7QVl2NkJBO0VBQWlEO0FaMjZCakQ7O0FZMTZCQTtFQUE4QztBWjg2QjlDOztBWTc2QkE7RUFBeUM7QVppN0J6Qzs7QVloN0JBO0VBQXlDO0FabzdCekM7O0FZbjdCQTtFQUEwQztBWnU3QjFDOztBWXQ3QkE7RUFBdUM7QVowN0J2Qzs7QVl6N0JBO0VBQWtDO0FaNjdCbEM7O0FZNTdCQTtFQUFtQztBWmc4Qm5DOztBWS83QkE7RUFBdUM7QVptOEJ2Qzs7QVlsOEJBO0VBQW1DO0FaczhCbkM7O0FZcjhCQTtFQUFtQztBWnk4Qm5DOztBWXg4QkE7RUFBeUM7QVo0OEJ6Qzs7QVkzOEJBO0VBQWlDO0FaKzhCakM7O0FZOThCQTtFQUEyQztBWms5QjNDOztBWWo5QkE7RUFBc0M7QVpxOUJ0Qzs7QVlwOUJBO0VBQTRDO0FadzlCNUM7O0FZdjlCQTtFQUEyQztBWjI5QjNDOztBWTE5QkE7RUFBa0M7QVo4OUJsQzs7QVk3OUJBO0VBQWtDO0FaaStCbEM7O0FZaCtCQTtFQUE4QztBWm8rQjlDOztBWW4rQkE7RUFBa0M7QVp1K0JsQzs7QVl0K0JBO0VBQStDO0FaMCtCL0M7O0FZeitCQTtFQUEyQztBWjYrQjNDOztBWTUrQkE7RUFBdUM7QVpnL0J2Qzs7QVkvK0JBO0VBQTRDO0FabS9CNUM7O0FZbC9CQTtFQUF1QztBWnMvQnZDOztBWXIvQkE7RUFBZ0Q7QVp5L0JoRDs7QVl4L0JBO0VBQXNDO0FaNC9CdEM7O0FZMy9CQTtFQUEyQztBWisvQjNDOztBWTkvQkE7RUFBNkM7QVprZ0M3Qzs7QVlqZ0NBO0VBQXVDO0FacWdDdkM7O0FZcGdDQTtFQUF1QztBWndnQ3ZDOztBWXZnQ0E7RUFBdUM7QVoyZ0N2Qzs7QVkxZ0NBO0VBQXlDO0FaOGdDekM7O0FZN2dDQTtFQUFxQztBWmloQ3JDOztBWWhoQ0E7RUFBaUM7QVpvaENqQzs7QVluaENBO0VBQXdDO0FadWhDeEM7O0FZdGhDQTtFQUFvQztBWjBoQ3BDOztBWXpoQ0E7RUFBcUM7QVo2aENyQzs7QVk1aENBO0VBQW1DO0FaZ2lDbkM7O0FZL2hDQTtFQUFnQztBWm1pQ2hDOztBWWxpQ0E7RUFBaUM7QVpzaUNqQzs7QVlyaUNBO0VBQWtDO0FaeWlDbEM7O0FZeGlDQTtFQUFvQztBWjRpQ3BDOztBWTNpQ0E7RUFBb0M7QVoraUNwQzs7QVk5aUNBO0VBQXdDO0Faa2pDeEM7O0FZampDQTtFQUEyQztBWnFqQzNDOztBWXBqQ0E7RUFBeUM7QVp3akN6Qzs7QVl2akNBO0VBQTRDO0FaMmpDNUM7O0FZMWpDQTtFQUEwQztBWjhqQzFDOztBWTdqQ0E7RUFBcUM7QVppa0NyQzs7QVloa0NBO0VBQTRDO0Fab2tDNUM7O0FZbmtDQTtFQUF5QztBWnVrQ3pDOztBWXRrQ0E7RUFBb0M7QVowa0NwQzs7QVl6a0NBO0VBQXFDO0FaNmtDckM7O0FZNWtDQTtFQUF5QztBWmdsQ3pDOztBWS9rQ0E7RUFBZ0Q7QVptbENoRDs7QVlsbENBO0VBQTJDO0Fac2xDM0M7O0FZcmxDQTtFQUF1QztBWnlsQ3ZDOztBWXhsQ0E7RUFBMkM7QVo0bEMzQzs7QVkzbENBO0VBQW1DO0FaK2xDbkM7O0FZOWxDQTtFQUFtQztBWmttQ25DOztBWWptQ0E7RUFBd0M7QVpxbUN4Qzs7QVlwbUNBO0VBQWlDO0Fad21DakM7O0FZdm1DQTtFQUFzQztBWjJtQ3RDOztBWTFtQ0E7RUFBMEM7QVo4bUMxQzs7QVk3bUNBO0VBQWtDO0FaaW5DbEM7O0FZaG5DQTtFQUFtQztBWm9uQ25DOztBWW5uQ0E7RUFBNkM7QVp1bkM3Qzs7QVl0bkNBO0VBQWdEO0FaMG5DaEQ7O0FZem5DQTtFQUFnRDtBWjZuQ2hEOztBWTVuQ0E7RUFBbUQ7QVpnb0NuRDs7QVkvbkNBO0VBQW1EO0FabW9DbkQ7O0FZbG9DQTtFQUFnRDtBWnNvQ2hEOztBWXJvQ0E7RUFBZ0Q7QVp5b0NoRDs7QVl4b0NBO0VBQW9EO0FaNG9DcEQ7O0FZM29DQTtFQUFtRDtBWitvQ25EOztBWTlvQ0E7RUFBZ0Q7QVprcENoRDs7QVlqcENBO0VBQXNEO0FacXBDdEQ7O0FZcHBDQTtFQUEyRDtBWndwQzNEOztBWXZwQ0E7RUFBbUQ7QVoycENuRDs7QVkxcENBO0VBQWtEO0FaOHBDbEQ7O0FZN3BDQTtFQUF3QztBWmlxQ3hDOztBWWhxQ0E7RUFBMEM7QVpvcUMxQzs7QVlucUNBO0VBQWlDO0FadXFDakM7O0FZdHFDQTtFQUFxQztBWjBxQ3JDOztBWXpxQ0E7RUFBa0M7QVo2cUNsQzs7QVk1cUNBO0VBQXVDO0FaZ3JDdkM7O0FZL3FDQTtFQUFpQztBWm1yQ2pDOztBWWxyQ0E7RUFBa0M7QVpzckNsQzs7QVlyckNBO0VBQW1DO0FaeXJDbkM7O0FZeHJDQTtFQUFpQztBWjRyQ2pDOztBWTNyQ0E7RUFBcUM7QVorckNyQzs7QVk5ckNBO0VBQWlDO0Faa3NDakM7O0FZanNDQTtFQUFrQztBWnFzQ2xDOztBWXBzQ0E7RUFBZ0M7QVp3c0NoQzs7QVl2c0NBO0VBQXVDO0FaMnNDdkM7O0FZMXNDQTtFQUFvQztBWjhzQ3BDOztBWTdzQ0E7RUFBMkM7QVppdEMzQzs7QVlodENBO0VBQXdDO0Fab3RDeEM7O0FZbnRDQTtFQUFxQztBWnV0Q3JDOztBWXR0Q0E7RUFBcUM7QVowdENyQzs7QVl6dENBO0VBQWlDO0FaNnRDakM7O0FZNXRDQTtFQUFtQztBWmd1Q25DOztBWS90Q0E7RUFBc0M7QVptdUN0Qzs7QVlsdUNBO0VBQXFDO0Fac3VDckM7O0FZcnVDQTtFQUFzQztBWnl1Q3RDOztBWXh1Q0E7RUFBb0M7QVo0dUNwQzs7QVkzdUNBO0VBQW9DO0FaK3VDcEM7O0FZOXVDQTtFQUFnQztBWmt2Q2hDOztBWWp2Q0E7RUFBdUM7QVpxdkN2Qzs7QVlwdkNBO0VBQXlDO0Fad3ZDekM7O0FZdnZDQTtFQUFnQztBWjJ2Q2hDOztBWTF2Q0E7RUFBc0M7QVo4dkN0Qzs7QVk3dkNBO0VBQXFDO0FaaXdDckM7O0FZaHdDQTtFQUFpQztBWm93Q2pDOztBWW53Q0E7RUFBcUM7QVp1d0NyQzs7QVl0d0NBO0VBQW9DO0FaMHdDcEM7O0FZendDQTtFQUFzQztBWjZ3Q3RDOztBWTV3Q0E7RUFBc0M7QVpneEN0Qzs7QVkvd0NBO0VBQXFDO0FabXhDckM7O0FZbHhDQTtFQUFxQztBWnN4Q3JDOztBWXJ4Q0E7RUFBdUM7QVp5eEN2Qzs7QVl4eENBO0VBQXFDO0FaNHhDckM7O0FZM3hDQTtFQUFpQztBWit4Q2pDOztBWTl4Q0E7RUFBMEM7QVpreUMxQzs7QVlqeUNBO0VBQStDO0FacXlDL0M7O0FZcHlDQTtFQUF1QztBWnd5Q3ZDOztBWXZ5Q0E7RUFBb0M7QVoyeUNwQzs7QVkxeUNBO0VBQXNDO0FaOHlDdEM7O0FZN3lDQTtFQUFvQztBWml6Q3BDOztBWWh6Q0E7RUFBbUM7QVpvekNuQzs7QVluekNBO0VBQWtDO0FadXpDbEM7O0FZdHpDQTtFQUFnQztBWjB6Q2hDOztBWXp6Q0E7RUFBbUM7QVo2ekNuQzs7QVk1ekNBO0VBQW1DO0FaZzBDbkM7O0FZL3pDQTtFQUFnQztBWm0wQ2hDOztBWWwwQ0E7RUFBd0M7QVpzMEN4Qzs7QVlyMENBO0VBQWtDO0FaeTBDbEM7O0FZeDBDQTtFQUEwQztBWjQwQzFDOztBWTMwQ0E7RUFBbUM7QVorMENuQzs7QVk5MENBO0VBQXdDO0FaazFDeEM7O0FZajFDQTtFQUFzQztBWnExQ3RDOztBWXAxQ0E7RUFBdUM7QVp3MUN2Qzs7QVl2MUNBO0VBQWlDO0FaMjFDakM7O0FZMTFDQTtFQUFxQztBWjgxQ3JDOztBWTcxQ0E7RUFBMEM7QVppMkMxQzs7QVloMkNBO0VBQTZDO0FabzJDN0M7O0FZbjJDQTtFQUFtQztBWnUyQ25DOztBWXQyQ0E7RUFBeUM7QVowMkN6Qzs7QVl6MkNBO0VBQXFDO0FaNjJDckM7O0FZNTJDQTtFQUE0QztBWmczQzVDOztBWS8yQ0E7RUFBb0M7QVptM0NwQzs7QVlsM0NBO0VBQWlDO0FaczNDakM7O0FZcjNDQTtFQUEwQztBWnkzQzFDOztBWXgzQ0E7RUFBMkM7QVo0M0MzQzs7QVkzM0NBO0VBQW1DO0FaKzNDbkM7O0FZOTNDQTtFQUFxQztBWms0Q3JDOztBWWo0Q0E7RUFBcUM7QVpxNENyQzs7QVlwNENBO0VBQTBDO0FadzRDMUM7O0FZdjRDQTtFQUFvQztBWjI0Q3BDOztBWTE0Q0E7RUFBbUM7QVo4NENuQzs7QVk3NENBO0VBQXVDO0FaaTVDdkM7O0FZaDVDQTtFQUFpQztBWm81Q2pDOztBWW41Q0E7RUFBaUM7QVp1NUNqQzs7QVl0NUNBO0VBQXdDO0FaMDVDeEM7O0FZejVDQTtFQUFpQztBWjY1Q2pDOztBWTU1Q0E7RUFBZ0M7QVpnNkNoQzs7QVkvNUNBO0VBQWtDO0FabTZDbEM7O0FZbDZDQTtFQUFzQztBWnM2Q3RDOztBWXI2Q0E7RUFBdUM7QVp5NkN2Qzs7QVl4NkNBO0VBQXVDO0FaNDZDdkM7O0FZMzZDQTtFQUFpQztBWis2Q2pDOztBWTk2Q0E7RUFBa0M7QVprN0NsQzs7QVlqN0NBO0VBQW1DO0FacTdDbkM7O0FZcDdDQTtFQUFxQztBWnc3Q3JDOztBWXY3Q0E7RUFBMEM7QVoyN0MxQzs7QVkxN0NBO0VBQStDO0FaODdDL0M7O0FZNzdDQTtFQUE0QztBWmk4QzVDOztBWWg4Q0E7RUFBbUM7QVpvOENuQzs7QVluOENBO0VBQW1DO0FadThDbkM7O0FZdDhDQTtFQUFtQztBWjA4Q25DOztBWXo4Q0E7RUFBbUM7QVo2OENuQzs7QVk1OENBO0VBQXFDO0FaZzlDckM7O0FZLzhDQTtFQUFxQztBWm05Q3JDOztBWWw5Q0E7RUFBaUM7QVpzOUNqQzs7QVlyOUNBO0VBQXNDO0FaeTlDdEM7O0FZeDlDQTtFQUFxQztBWjQ5Q3JDOztBWTM5Q0E7RUFBeUM7QVorOUN6Qzs7QVk5OUNBO0VBQXdDO0FaaytDeEM7O0FZaitDQTtFQUErQztBWnErQy9DOztBWXArQ0E7RUFBaUQ7QVp3K0NqRDs7QVl2K0NBO0VBQW1DO0FaMitDbkM7O0FZMStDQTtFQUF1QztBWjgrQ3ZDOztBWTcrQ0E7RUFBOEM7QVppL0M5Qzs7QVloL0NBO0VBQXlDO0Faby9DekM7O0FZbi9DQTtFQUE4QztBWnUvQzlDOztBWXQvQ0E7RUFBcUQ7QVowL0NyRDs7QVl6L0NBO0VBQWdDO0FaNi9DaEM7O0FZNS9DQTtFQUF3QztBWmdnRHhDOztBWS8vQ0E7RUFBc0M7QVptZ0R0Qzs7QVlsZ0RBO0VBQXFDO0Fac2dEckM7O0FZcmdEQTtFQUF1QztBWnlnRHZDOztBWXhnREE7RUFBK0M7QVo0Z0QvQzs7QVkzZ0RBO0VBQTRDO0FaK2dENUM7O0FZOWdEQTtFQUFnQztBWmtoRGhDOztBWWpoREE7RUFBaUQ7QVpxaERqRDs7QVlwaERBO0VBQTBDO0Fad2hEMUM7O0FZdmhEQTtFQUF5QztBWjJoRHpDOztBWTFoREE7RUFBbUM7QVo4aERuQzs7QVk3aERBO0VBQWdDO0FaaWlEaEM7O0FZaGlEQTtFQUFvQztBWm9pRHBDOztBWW5pREE7RUFBd0M7QVp1aUR4Qzs7QVl0aURBO0VBQWtDO0FaMGlEbEM7O0FZemlEQTtFQUFtQztBWjZpRG5DOztBWTVpREE7RUFBbUM7QVpnakRuQzs7QVkvaURBO0VBQXdDO0FabWpEeEM7O0FZbGpEQTtFQUFrQztBWnNqRGxDOztBWXJqREE7RUFBaUM7QVp5akRqQzs7QVl4akRBO0VBQXFDO0FaNGpEckM7O0FZM2pEQTtFQUF5QztBWitqRHpDOztBWTlqREE7RUFBdUM7QVpra0R2Qzs7QVlqa0RBO0VBQXNDO0FacWtEdEM7O0FZcGtEQTtFQUEwQztBWndrRDFDOztBWXZrREE7RUFBcUM7QVoya0RyQzs7QVkxa0RBO0VBQTBDO0FaOGtEMUM7O0FZN2tEQTtFQUF1QztBWmlsRHZDOztBWWhsREE7RUFBd0M7QVpvbER4Qzs7QVlubERBO0VBQXVDO0FadWxEdkM7O0FZdGxEQTtFQUF3QztBWjBsRHhDOztBWXpsREE7RUFBeUM7QVo2bER6Qzs7QVk1bERBO0VBQWdEO0FaZ21EaEQ7O0FZL2xEQTtFQUF5QztBWm1tRHpDOztBWWxtREE7RUFBNkM7QVpzbUQ3Qzs7QVlybURBO0VBQXFDO0FaeW1EckM7O0FZeG1EQTtFQUE0QztBWjRtRDVDOztBWTNtREE7RUFBOEM7QVorbUQ5Qzs7QVk5bURBO0VBQTJDO0Faa25EM0M7O0FZam5EQTtFQUF3QztBWnFuRHhDOztBWXBuREE7RUFBdUM7QVp3bkR2Qzs7QVl2bkRBO0VBQXNDO0FaMm5EdEM7O0FZMW5EQTtFQUFpQztBWjhuRGpDOztBWTduREE7RUFBc0M7QVppb0R0Qzs7QVlob0RBO0VBQWlDO0Fab29EakM7O0FZbm9EQTtFQUFtQztBWnVvRG5DOztBWXRvREE7RUFBd0M7QVowb0R4Qzs7QVl6b0RBO0VBQWlDO0FaNm9EakM7O0FZNW9EQTtFQUFxQztBWmdwRHJDOztBWS9vREE7RUFBOEM7QVptcEQ5Qzs7QVlscERBO0VBQW9DO0Fac3BEcEM7O0FZcnBEQTtFQUE0QztBWnlwRDVDOztBWXhwREE7RUFBc0M7QVo0cER0Qzs7QVkzcERBO0VBQXdDO0FaK3BEeEM7O0FZOXBEQTtFQUE0QztBWmtxRDVDOztBWWpxREE7RUFBdUM7QVpxcUR2Qzs7QVlwcURBO0VBQWlDO0Fad3FEakM7O0FZdnFEQTtFQUF3QztBWjJxRHhDOztBWTFxREE7RUFBaUM7QVo4cURqQzs7QVk3cURBO0VBQTJDO0FaaXJEM0M7O0FZaHJEQTtFQUFxQztBWm9yRHJDOztBWW5yREE7RUFBa0M7QVp1ckRsQzs7QVl0ckRBO0VBQW1DO0FaMHJEbkM7O0FZenJEQTtFQUFzQztBWjZyRHRDOztBWTVyREE7RUFBb0M7QVpnc0RwQzs7QVkvckRBO0VBQWdDO0FabXNEaEM7O0FZbHNEQTtFQUFtQztBWnNzRG5DOztBWXJzREE7RUFBeUM7QVp5c0R6Qzs7QVl4c0RBO0VBQXdDO0FaNHNEeEM7O0FZM3NEQTtFQUF3QztBWitzRHhDOztBWTlzREE7RUFBaUM7QVprdERqQzs7QVlqdERBO0VBQXlDO0FacXREekM7O0FZcHREQTtFQUE2QztBWnd0RDdDOztBWXZ0REE7RUFBOEM7QVoydEQ5Qzs7QVkxdERBO0VBQW1EO0FaOHREbkQ7O0FZN3REQTtFQUFzQztBWml1RHRDOztBWWh1REE7RUFBeUM7QVpvdUR6Qzs7QVludURBO0VBQTBDO0FadXVEMUM7O0FZdHVEQTtFQUF5QztBWjB1RHpDOztBWXp1REE7RUFBNkM7QVo2dUQ3Qzs7QVk1dURBO0VBQXFDO0FaZ3ZEckM7O0FZL3VEQTtFQUFvQztBWm12RHBDOztBWWx2REE7RUFBdUM7QVpzdkR2Qzs7QVlydkRBO0VBQTJDO0FaeXZEM0M7O0FZeHZEQTtFQUFvQztBWjR2RHBDOztBWTN2REE7RUFBaUM7QVordkRqQzs7QVk5dkRBO0VBQWtDO0Faa3dEbEM7O0FZandEQTtFQUF1QztBWnF3RHZDOztBWXB3REE7RUFBb0M7QVp3d0RwQzs7QVl2d0RBO0VBQTBDO0FaMndEMUM7O0FZMXdEQTtFQUFtQztBWjh3RG5DOztBWTd3REE7RUFBOEM7QVppeEQ5Qzs7QVloeERBO0VBQTRDO0Fab3hENUM7O0FZbnhEQTtFQUFvQztBWnV4RHBDOztBWXR4REE7RUFBcUM7QVoweERyQzs7QVl6eERBO0VBQWtDO0FaNnhEbEM7O0FZNXhEQTtFQUFnQztBWmd5RGhDOztBWS94REE7RUFBdUM7QVpteUR2Qzs7QVlseURBO0VBQXVDO0Fac3lEdkM7O0FZcnlEQTtFQUErQjtBWnl5RC9COztBWXh5REE7RUFBc0M7QVo0eUR0Qzs7QVkzeURBO0VBQWtDO0FaK3lEbEM7O0FZOXlEQTtFQUFpQztBWmt6RGpDOztBWWp6REE7RUFBa0M7QVpxekRsQzs7QVlwekRBO0VBQWdDO0Fad3pEaEM7O0FZdnpEQTtFQUFvQztBWjJ6RHBDOztBWTF6REE7RUFBdUM7QVo4ekR2Qzs7QVk3ekRBO0VBQW1DO0FaaTBEbkM7O0FZaDBEQTtFQUF1QztBWm8wRHZDOztBWW4wREE7RUFBMEM7QVp1MEQxQzs7QVl0MERBO0VBQXNDO0FaMDBEdEM7O0FZejBEQTtFQUFtQztBWjYwRG5DOztBWTUwREE7RUFBbUM7QVpnMURuQzs7QVkvMERBO0VBQXlDO0FabTFEekM7O0FZbDFEQTtFQUEwQztBWnMxRDFDOztBWXIxREE7RUFBOEM7QVp5MUQ5Qzs7QVl4MURBO0VBQTBDO0FaNDFEMUM7O0FZMzFEQTtFQUFvQztBWisxRHBDOztBWTkxREE7RUFBa0M7QVprMkRsQzs7QVlqMkRBO0VBQW9DO0FacTJEcEM7O0FZcDJEQTtFQUFrQztBWncyRGxDOztBWXYyREE7RUFBeUM7QVoyMkR6Qzs7QVkxMkRBO0VBQTJDO0FaODJEM0M7O0FZNzJEQTtFQUF1QztBWmkzRHZDOztBWWgzREE7RUFBeUM7QVpvM0R6Qzs7QVluM0RBO0VBQW1DO0FadTNEbkM7O0FZdDNEQTtFQUFzQztBWjAzRHRDOztBWXozREE7RUFBc0M7QVo2M0R0Qzs7QVk1M0RBO0VBQXdDO0FaZzREeEM7O0FZLzNEQTtFQUFtQztBWm00RG5DOztBWWw0REE7RUFBeUM7QVpzNER6Qzs7QVlyNERBO0VBQXVDO0FaeTREdkM7O0FZeDREQTtFQUF3QztBWjQ0RHhDOztBWTM0REE7RUFBd0M7QVorNER4Qzs7QVk5NERBO0VBQTBDO0FaazVEMUM7O0FZajVEQTtFQUErQztBWnE1RC9DOztBWXA1REE7RUFBMEM7QVp3NUQxQzs7QVl2NURBO0VBQW9DO0FaMjVEcEM7O0FZMTVEQTtFQUEyQztBWjg1RDNDOztBWTc1REE7RUFBcUM7QVppNkRyQzs7QVloNkRBO0VBQWlDO0FabzZEakM7O0FZbjZEQTtFQUF5QztBWnU2RHpDOztBWXQ2REE7RUFBK0M7QVowNkQvQzs7QVl6NkRBO0VBQW9DO0FaNjZEcEM7O0FZNTZEQTtFQUFpQztBWmc3RGpDOztBWS82REE7RUFBcUM7QVptN0RyQzs7QVlsN0RBO0VBQXNDO0FaczdEdEM7O0FZcjdEQTtFQUE0QztBWnk3RDVDOztBWXg3REE7RUFBd0M7QVo0N0R4Qzs7QVkzN0RBO0VBQXdDO0FaKzdEeEM7O0FZOTdEQTtFQUE4QztBWms4RDlDOztBWWo4REE7RUFBdUM7QVpxOER2Qzs7QVlwOERBO0VBQXVDO0FadzhEdkM7O0FZdjhEQTtFQUF3QztBWjI4RHhDOztBWTE4REE7RUFBK0M7QVo4OEQvQzs7QVk3OERBO0VBQTZDO0FaaTlEN0M7O0FZaDlEQTtFQUFzQztBWm85RHRDOztBWW45REE7RUFBNEM7QVp1OUQ1Qzs7QVl0OURBO0VBQXVDO0FaMDlEdkM7O0FZejlEQTtFQUFnRDtBWjY5RGhEOztBWTU5REE7RUFBMEM7QVpnK0QxQzs7QVkvOURBO0VBQXFDO0FabStEckM7O0FZbCtEQTtFQUFrQztBWnMrRGxDOztBWXIrREE7RUFBb0M7QVp5K0RwQzs7QVl4K0RBO0VBQW1DO0FaNCtEbkM7O0FZMytEQTtFQUFpQztBWisrRGpDOztBWTkrREE7RUFBcUM7QVprL0RyQzs7QVlqL0RBO0VBQXdDO0FacS9EeEM7O0FZcC9EQTtFQUErQztBWncvRC9DOztBWXYvREE7RUFBdUM7QVoyL0R2Qzs7QVkxL0RBO0VBQXNDO0FaOC9EdEM7O0FZNy9EQTtFQUFtQztBWmlnRW5DOztBWWhnRUE7RUFBa0M7QVpvZ0VsQzs7QVluZ0VBO0VBQXlDO0FadWdFekM7O0FZdGdFQTtFQUErQztBWjBnRS9DOztBWXpnRUE7RUFBaUQ7QVo2Z0VqRDs7QVk1Z0VBO0VBQTZDO0FaZ2hFN0M7O0FZL2dFQTtFQUErQztBWm1oRS9DOztBWWxoRUE7RUFBd0M7QVpzaEV4Qzs7QVlyaEVBO0VBQStDO0FaeWhFL0M7O0FZeGhFQTtFQUF1QztBWjRoRXZDOztBWTNoRUE7RUFBdUM7QVoraEV2Qzs7QVk5aEVBO0VBQTRDO0Faa2lFNUM7O0FZamlFQTtFQUE0QztBWnFpRTVDOztBWXBpRUE7RUFBNkM7QVp3aUU3Qzs7QVl2aUVBO0VBQTBDO0FaMmlFMUM7O0FZMWlFQTtFQUF5QztBWjhpRXpDOztBWTdpRUE7RUFBc0M7QVppakV0Qzs7QVloakVBO0VBQTBDO0Fab2pFMUM7O0FZbmpFQTtFQUEwQztBWnVqRTFDOztBWXRqRUE7RUFBdUM7QVowakV2Qzs7QVl6akVBO0VBQWtDO0FaNmpFbEM7O0FZNWpFQTtFQUEwQztBWmdrRTFDOztBWS9qRUE7RUFBdUM7QVpta0V2Qzs7QVlsa0VBO0VBQXNDO0Fac2tFdEM7O0FZcmtFQTtFQUFnRDtBWnlrRWhEOztBWXhrRUE7RUFBNEM7QVo0a0U1Qzs7QVkza0VBO0VBQXFDO0FaK2tFckM7O0FZOWtFQTtFQUFxQztBWmtsRXJDOztBWWpsRUE7RUFBb0M7QVpxbEVwQzs7QVlwbEVBO0VBQXVDO0Fad2xFdkM7O0FZdmxFQTtFQUE0QztBWjJsRTVDOztBWTFsRUE7RUFBdUM7QVo4bEV2Qzs7QVk3bEVBO0VBQWdDO0FaaW1FaEM7O0FZaG1FQTtFQUE0QztBWm9tRTVDOztBWW5tRUE7RUFBa0Q7QVp1bUVsRDs7QVl0bUVBO0VBQTJDO0FaMG1FM0M7O0FZem1FQTtFQUE0QztBWjZtRTVDOztBWTVtRUE7RUFBb0M7QVpnbkVwQzs7QVkvbUVBO0VBQXVDO0FabW5FdkM7O0FZbG5FQTtFQUEyQztBWnNuRTNDOztBWXJuRUE7RUFBb0M7QVp5bkVwQzs7QVl4bkVBO0VBQWtDO0FaNG5FbEM7O0FZM25FQTtFQUF5QztBWituRXpDOztBWTluRUE7RUFBc0M7QVprb0V0Qzs7QVlqb0VBO0VBQXVDO0FacW9FdkM7O0FZcG9FQTtFQUF3QztBWndvRXhDOztBWXZvRUE7RUFBbUM7QVoyb0VuQzs7QVkxb0VBO0VBQWtDO0FaOG9FbEM7O0FZN29FQTtFQUFpQztBWmlwRWpDOztBWWhwRUE7RUFBMEM7QVpvcEUxQzs7QVlucEVBO0VBQW9DO0FadXBFcEM7O0FZdHBFQTtFQUFpQztBWjBwRWpDOztBWXpwRUE7RUFBd0M7QVo2cEV4Qzs7QVk1cEVBO0VBQXdDO0FaZ3FFeEM7O0FZL3BFQTtFQUFpQztBWm1xRWpDOztBWWxxRUE7RUFBa0M7QVpzcUVsQzs7QVlycUVBO0VBQXFDO0FaeXFFckM7O0FZeHFFQTtFQUFrQztBWjRxRWxDOztBWTNxRUE7RUFBdUM7QVorcUV2Qzs7QVk5cUVBO0VBQXFDO0Faa3JFckM7O0FZanJFQTtFQUF5QztBWnFyRXpDOztBWXByRUE7RUFBNEM7QVp3ckU1Qzs7QVl2ckVBO0VBQTBDO0FaMnJFMUM7O0FZMXJFQTtFQUFvQztBWjhyRXBDOztBWTdyRUE7RUFBbUM7QVppc0VuQzs7QVloc0VBO0VBQWtDO0Fab3NFbEM7O0FZbnNFQTtFQUFtQztBWnVzRW5DOztBWXRzRUE7RUFBc0M7QVowc0V0Qzs7QVl6c0VBO0VBQTBDO0FaNnNFMUM7O0FZNXNFQTtFQUEyQztBWmd0RTNDOztBWS9zRUE7RUFBNEM7QVptdEU1Qzs7QVlsdEVBO0VBQXlDO0Fac3RFekM7O0FZcnRFQTtFQUF1QztBWnl0RXZDOztBWXh0RUE7RUFBa0M7QVo0dEVsQzs7QVkzdEVBO0VBQW9DO0FaK3RFcEM7O0FZOXRFQTtFQUFrQztBWmt1RWxDOztBWWp1RUE7RUFBb0M7QVpxdUVwQzs7QVlwdUVBO0VBQXFDO0Fad3VFckM7O0FZdnVFQTtFQUFzQztBWjJ1RXRDOztBWTF1RUE7RUFBb0M7QVo4dUVwQzs7QVk3dUVBO0VBQWtDO0FaaXZFbEM7O0FZaHZFQTtFQUFxQztBWm92RXJDOztBWW52RUE7RUFBb0M7QVp1dkVwQzs7QVl0dkVBO0VBQXdDO0FaMHZFeEM7O0FZenZFQTtFQUFrQztBWjZ2RWxDOztBWTV2RUE7RUFBa0M7QVpnd0VsQzs7QVkvdkVBO0VBQWtDO0FabXdFbEM7O0FZbHdFQTtFQUFtQztBWnN3RW5DOztBWXJ3RUE7RUFBaUM7QVp5d0VqQzs7QVl4d0VBO0VBQWtDO0FaNHdFbEM7O0FZM3dFQTtFQUFtQztBWit3RW5DOztBWTl3RUE7RUFBcUM7QVpreEVyQzs7QVlqeEVBO0VBQXFDO0FacXhFckM7O0FZcHhFQTtFQUFpQztBWnd4RWpDOztBWXZ4RUE7RUFBd0M7QVoyeEV4Qzs7QVkxeEVBO0VBQXFDO0FaOHhFckM7O0FZN3hFQTtFQUFzQztBWml5RXRDOztBWWh5RUE7RUFBNkM7QVpveUU3Qzs7QVlueUVBO0VBQXFDO0FadXlFckM7O0FZdHlFQTtFQUFxQztBWjB5RXJDOztBWXp5RUE7RUFBOEM7QVo2eUU5Qzs7QVk1eUVBO0VBQXFDO0FaZ3pFckM7O0FZL3lFQTtFQUFvQztBWm16RXBDOztBWWx6RUE7RUFBbUM7QVpzekVuQzs7QVlyekVBO0VBQW9DO0FaeXpFcEM7O0FZeHpFQTtFQUFtQztBWjR6RW5DOztBWTN6RUE7RUFBd0M7QVorekV4Qzs7QVk5ekVBO0VBQWlDO0FaazBFakM7O0FZajBFQTtFQUFpQztBWnEwRWpDOztBWXAwRUE7RUFBdUM7QVp3MEV2Qzs7QVl2MEVBO0VBQW9DO0FaMjBFcEM7O0FZMTBFQTtFQUFpQztBWjgwRWpDOztBWTcwRUE7RUFBa0M7QVppMUVsQzs7QVloMUVBO0VBQWtDO0FabzFFbEM7O0FZbjFFQTtFQUFtQztBWnUxRW5DOztBWXQxRUE7RUFBMkM7QVowMUUzQzs7QVl6MUVBO0VBQStCO0FaNjFFL0I7O0FZNTFFQTtFQUFzQztBWmcyRXRDOztBWS8xRUE7RUFBcUM7QVptMkVyQzs7QVlsMkVBO0VBQWtDO0FaczJFbEM7O0FZcjJFQTtFQUFtQztBWnkyRW5DOztBWXgyRUE7RUFBZ0M7QVo0MkVoQzs7QVkzMkVBO0VBQW9DO0FaKzJFcEM7O0FZOTJFQTtFQUFxQztBWmszRXJDOztBWWozRUE7RUFBbUM7QVpxM0VuQzs7QVlwM0VBO0VBQW1DO0FadzNFbkM7O0FZdjNFQTtFQUF3QztBWjIzRXhDOztBWTEzRUE7RUFBMEM7QVo4M0UxQzs7QVk3M0VBO0VBQWlDO0FaaTRFakM7O0FZaDRFQTtFQUFzQztBWm80RXRDOztBWW40RUE7RUFBNEM7QVp1NEU1Qzs7QVl0NEVBO0VBQXNDO0FaMDRFdEM7O0FZejRFQTtFQUFtQztBWjY0RW5DOztBWTU0RUE7RUFBcUM7QVpnNUVyQzs7QVkvNEVBO0VBQXFDO0FabTVFckM7O0FZbDVFQTtFQUFtQztBWnM1RW5DOztBWXI1RUE7RUFBd0M7QVp5NUV4Qzs7QVl4NUVBO0VBQXlDO0FaNDVFekM7O0FZMzVFQTtFQUEyQztBWis1RTNDOztBWTk1RUE7RUFBb0M7QVprNkVwQzs7QVlqNkVBO0VBQW1DO0FacTZFbkM7O0FZcDZFQTtFQUEwQztBWnc2RTFDOztBWXY2RUE7RUFBa0M7QVoyNkVsQzs7QVkxNkVBO0VBQXVDO0FaODZFdkM7O0FZNzZFQTtFQUF5QztBWmk3RXpDOztBWWg3RUE7RUFBdUM7QVpvN0V2Qzs7QVluN0VBO0VBQXdDO0FadTdFeEM7O0FZdDdFQTtFQUFpQztBWjA3RWpDOztBWXo3RUE7RUFBb0M7QVo2N0VwQzs7QVk1N0VBO0VBQWtDO0FaZzhFbEM7O0FZLzdFQTtFQUFpQztBWm04RWpDOztBWWw4RUE7RUFBc0M7QVpzOEV0Qzs7QVlyOEVBO0VBQTRDO0FaeThFNUM7O0FZeDhFQTtFQUEyQztBWjQ4RTNDOztBWTM4RUE7RUFBeUM7QVorOEV6Qzs7QVk5OEVBO0VBQXNDO0FaazlFdEM7O0FZajlFQTtFQUFzQztBWnE5RXRDOztBWXA5RUE7RUFBaUM7QVp3OUVqQzs7QVl2OUVBO0VBQWlDO0FaMjlFakM7O0FZMTlFQTtFQUFxQztBWjg5RXJDOztBWTc5RUE7RUFBd0M7QVppK0V4Qzs7QVloK0VBO0VBQW1DO0FabytFbkM7O0FZbitFQTtFQUFrQztBWnUrRWxDOztBWXQrRUE7RUFBc0M7QVowK0V0Qzs7QVl6K0VBO0VBQWlDO0FaNitFakM7O0FZNStFQTtFQUFxQztBWmcvRXJDOztBWS8rRUE7RUFBb0M7QVptL0VwQzs7QVlsL0VBO0VBQW9DO0Facy9FcEM7O0FZci9FQTtFQUEyQztBWnkvRTNDOztBWXgvRUE7RUFBaUM7QVo0L0VqQzs7QVkzL0VBO0VBQXNDO0FaKy9FdEM7O0FZOS9FQTtFQUFnRDtBWmtnRmhEOztBWWpnRkE7RUFBZ0Q7QVpxZ0ZoRDs7QVlwZ0ZBO0VBQWlEO0Fad2dGakQ7O0FZdmdGQTtFQUE4QztBWjJnRjlDOztBWTFnRkE7RUFBdUM7QVo4Z0Z2Qzs7QVk3Z0ZBO0VBQXlDO0FaaWhGekM7O0FZaGhGQTtFQUFrQztBWm9oRmxDOztBWW5oRkE7RUFBd0M7QVp1aEZ4Qzs7QVl0aEZBO0VBQWlDO0FaMGhGakM7O0FZemhGQTtFQUFvQztBWjZoRnBDOztBWTVoRkE7RUFBa0M7QVpnaUZsQzs7QVkvaEZBO0VBQW1DO0FabWlGbkM7O0FZbGlGQTtFQUFzQztBWnNpRnRDOztBWXJpRkE7RUFBc0M7QVp5aUZ0Qzs7QVl4aUZBO0VBQWlDO0FaNGlGakM7O0FZM2lGQTtFQUF3QztBWitpRnhDOztBWTlpRkE7RUFBZ0M7QVprakZoQzs7QVlqakZBO0VBQXVDO0FacWpGdkM7O0FZcGpGQTtFQUEyQztBWndqRjNDOztBWXZqRkE7RUFBdUM7QVoyakZ2Qzs7QVkxakZBO0VBQTJDO0FaOGpGM0M7O0FZN2pGQTtFQUFvQztBWmlrRnBDOztBWWhrRkE7RUFBc0M7QVpva0Z0Qzs7QVlua0ZBO0VBQXFDO0FadWtGckM7O0FZdGtGQTtFQUFtQztBWjBrRm5DOztBWXprRkE7RUFBaUM7QVo2a0ZqQzs7QVk1a0ZBO0VBQXdDO0FaZ2xGeEM7O0FZL2tGQTtFQUF3QztBWm1sRnhDOztBWWxsRkE7RUFBMEM7QVpzbEYxQzs7QVlybEZBO0VBQTBDO0FaeWxGMUM7O0FZeGxGQTtFQUFpQztBWjRsRmpDOztBWTNsRkE7RUFBcUM7QVorbEZyQzs7QVk5bEZBO0VBQW1DO0Faa21GbkM7O0FZam1GQTtFQUFnQztBWnFtRmhDOztBWXBtRkE7RUFBa0M7QVp3bUZsQzs7QVl2bUZBO0VBQW9DO0FaMm1GcEM7O0FZMW1GQTtFQUFtQztBWjhtRm5DOztBWTdtRkE7RUFBcUM7QVppbkZyQzs7QVlobkZBO0VBQW1DO0Fab25GbkM7O0FZbm5GQTtFQUFrQztBWnVuRmxDOztBWXRuRkE7RUFBbUM7QVowbkZuQzs7QVl6bkZBO0VBQXFDO0FaNm5GckM7O0FZNW5GQTtFQUFnQztBWmdvRmhDOztBWS9uRkE7RUFBc0M7QVptb0Z0Qzs7QVlsb0ZBO0VBQTZDO0Fac29GN0M7O0FZcm9GQTtFQUFtQztBWnlvRm5DOztBWXhvRkE7RUFBcUM7QVo0b0ZyQzs7QVkzb0ZBO0VBQW9DO0FaK29GcEM7O0FZOW9GQTtFQUFvQztBWmtwRnBDOztBWWpwRkE7RUFBbUM7QVpxcEZuQzs7QVlwcEZBO0VBQXNDO0Fad3BGdEM7O0FZdnBGQTtFQUFzQztBWjJwRnRDOztBWTFwRkE7RUFBdUM7QVo4cEZ2Qzs7QVk3cEZBO0VBQTJDO0FaaXFGM0M7O0FZaHFGQTtFQUFpRDtBWm9xRmpEOztBWW5xRkE7RUFBNkM7QVp1cUY3Qzs7QVl0cUZBO0VBQXVDO0FaMHFGdkM7O0FZenFGQTtFQUFzQztBWjZxRnRDOztBWTVxRkE7RUFBa0M7QVpnckZsQzs7QVkvcUZBO0VBQXlDO0FabXJGekM7O0FZbHJGQTtFQUF5QztBWnNyRnpDOztBWXJyRkE7RUFBbUM7QVp5ckZuQzs7QVl4ckZBO0VBQWdDO0FaNHJGaEM7O0FZM3JGQTtFQUFxQztBWityRnJDOztBWTlyRkE7RUFBa0M7QVprc0ZsQzs7QVlqc0ZBO0VBQW1DO0FacXNGbkM7O0FZcHNGQTtFQUFtQztBWndzRm5DOztBWXZzRkE7RUFBdUM7QVoyc0Z2Qzs7QVkxc0ZBO0VBQWlDO0FaOHNGakM7O0FZN3NGQTtFQUFtQztBWml0Rm5DOztBWWh0RkE7RUFBdUM7QVpvdEZ2Qzs7QVludEZBO0VBQTJDO0FadXRGM0M7O0FZdHRGQTtFQUE0QztBWjB0RjVDOztBWXp0RkE7RUFBZ0Q7QVo2dEZoRDs7QVk1dEZBO0VBQXdDO0FaZ3VGeEM7O0FZL3RGQTtFQUE0QztBWm11RjVDOztBWWx1RkE7RUFBcUM7QVpzdUZyQzs7QVlydUZBO0VBQWlDO0FaeXVGakM7O0FZeHVGQTtFQUEwQztBWjR1RjFDOztBWTN1RkE7RUFBbUM7QVordUZuQzs7QVk5dUZBO0VBQXVDO0Faa3ZGdkM7O0FZanZGQTtFQUFxQztBWnF2RnJDOztBWXB2RkE7RUFBa0M7QVp3dkZsQzs7QVl2dkZBO0VBQTBDO0FaMnZGMUM7O0FZMXZGQTtFQUFvQztBWjh2RnBDOztBWTd2RkE7RUFBa0M7QVppd0ZsQzs7QVlod0ZBO0VBQW9DO0Fab3dGcEM7O0FZbndGQTtFQUFpQztBWnV3RmpDOztBWXR3RkE7RUFBMEM7QVowd0YxQzs7QVl6d0ZBO0VBQW1DO0FaNndGbkM7O0FZNXdGQTtFQUFzQztBWmd4RnRDOztBWS93RkE7RUFBbUM7QVpteEZuQzs7QVlseEZBO0VBQWlDO0Fac3hGakM7O0FZcnhGQTtFQUFvQztBWnl4RnBDOztBWXh4RkE7RUFBc0M7QVo0eEZ0Qzs7QVkzeEZBO0VBQTBDO0FaK3hGMUM7O0FZOXhGQTtFQUFnQztBWmt5RmhDOztBWWp5RkE7RUFBZ0M7QVpxeUZoQzs7QVlweUZBO0VBQXdDO0Fad3lGeEM7O0FZdnlGQTtFQUF5QztBWjJ5RnpDOztBWTF5RkE7RUFBMkM7QVo4eUYzQzs7QVk3eUZBO0VBQTJDO0FaaXpGM0M7O0FZaHpGQTtFQUEwQztBWm96RjFDOztBWW56RkE7RUFBaUQ7QVp1ekZqRDs7QVl0ekZBO0VBQW9DO0FaMHpGcEM7O0FZenpGQTtFQUF5QztBWjZ6RnpDOztBWTV6RkE7RUFBK0I7QVpnMEYvQjs7QVkvekZBO0VBQXFDO0FabTBGckM7O0FZbDBGQTtFQUFtQztBWnMwRm5DOztBWXIwRkE7RUFBa0M7QVp5MEZsQzs7QVl4MEZBO0VBQTBDO0FaNDBGMUM7O0FZMzBGQTtFQUFrQztBWiswRmxDOztBWTkwRkE7RUFBZ0M7QVprMUZoQzs7QVlqMUZBO0VBQWtDO0FacTFGbEM7O0FZcDFGQTtFQUFvQztBWncxRnBDOztBWXYxRkE7RUFBa0M7QVoyMUZsQzs7QVkxMUZBO0VBQXNDO0FaODFGdEM7O0FZNzFGQTtFQUFrQztBWmkyRmxDOztBWWgyRkE7RUFBd0M7QVpvMkZ4Qzs7QVluMkZBO0VBQXlDO0FadTJGekM7O0FZdDJGQTtFQUFvQztBWjAyRnBDOztBWXoyRkE7RUFBbUM7QVo2MkZuQzs7QVk1MkZBO0VBQW1DO0FaZzNGbkM7O0FZLzJGQTtFQUF3QztBWm0zRnhDOztBWWwzRkE7RUFBc0M7QVpzM0Z0Qzs7QVlyM0ZBO0VBQTBDO0FaeTNGMUM7O0FZeDNGQTtFQUFzQztBWjQzRnRDOztBWTMzRkE7RUFBb0M7QVorM0ZwQzs7QVk5M0ZBO0VBQXFDO0FaazRGckM7O0FZajRGQTtFQUEyQztBWnE0RjNDOztBWXA0RkE7RUFBa0M7QVp3NEZsQzs7QVl2NEZBO0VBQW9DO0FaMjRGcEM7O0FZMTRGQTtFQUFrQztBWjg0RmxDOztBWTc0RkE7RUFBeUM7QVppNUZ6Qzs7QVloNUZBO0VBQWdDO0FabzVGaEM7O0FZbjVGQTtFQUFtQztBWnU1Rm5DOztBWXQ1RkE7RUFBa0M7QVowNUZsQzs7QVl6NUZBO0VBQWdDO0FaNjVGaEM7O0FZNTVGQTtFQUFvQztBWmc2RnBDOztBWS81RkE7RUFBc0M7QVptNkZ0Qzs7QVlsNkZBO0VBQW9DO0FaczZGcEM7O0FZcjZGQTtFQUF1QztBWnk2RnZDOztBWXg2RkE7RUFBdUM7QVo0NkZ2Qzs7QVkzNkZBO0VBQXlDO0FaKzZGekM7O0FZOTZGQTtFQUF5QztBWms3RnpDOztBWWo3RkE7RUFBMEM7QVpxN0YxQzs7QVlwN0ZBO0VBQXlDO0FadzdGekM7O0FZdjdGQTtFQUF1QztBWjI3RnZDOztBWTE3RkE7RUFBb0M7QVo4N0ZwQzs7QVk3N0ZBO0VBQW9DO0FaaThGcEM7O0FZaDhGQTtFQUF1QztBWm84RnZDOztBWW44RkE7RUFBc0M7QVp1OEZ0Qzs7QVl0OEZBO0VBQXlDO0FaMDhGekM7O0FZejhGQTtFQUF3QztBWjY4RnhDOztBWTU4RkE7RUFBOEM7QVpnOUY5Qzs7QVkvOEZBO0VBQTZDO0FabTlGN0M7O0FZbDlGQTtFQUFrQztBWnM5RmxDOztBWXI5RkE7RUFBc0M7QVp5OUZ0Qzs7QVl4OUZBO0VBQXdDO0FaNDlGeEM7O0FZMzlGQTtFQUF5QztBWis5RnpDOztBWTk5RkE7RUFBNkM7QVprK0Y3Qzs7QVlqK0ZBO0VBQXlDO0FacStGekM7O0FZcCtGQTtFQUF3QztBWncrRnhDOztBWXYrRkE7RUFBZ0M7QVoyK0ZoQzs7QVkxK0ZBO0VBQXVDO0FaOCtGdkM7O0FZNytGQTtFQUEyQztBWmkvRjNDOztBWWgvRkE7RUFBMkM7QVpvL0YzQzs7QVluL0ZBO0VBQTBDO0FadS9GMUM7O0FZdC9GQTtFQUE4QztBWjAvRjlDOztBWXovRkE7RUFBdUM7QVo2L0Z2Qzs7QVk1L0ZBO0VBQWtDO0FaZ2dHbEM7O0FZLy9GQTtFQUFzQztBWm1nR3RDOztBWWxnR0E7RUFBd0M7QVpzZ0d4Qzs7QVlyZ0dBO0VBQTZDO0FaeWdHN0M7O0FZeGdHQTtFQUF3QztBWjRnR3hDOztBWTNnR0E7RUFBNkM7QVorZ0c3Qzs7QVk5Z0dBO0VBQWtDO0Faa2hHbEM7O0FZamhHQTtFQUEwQztBWnFoRzFDOztBWXBoR0E7RUFBNEM7QVp3aEc1Qzs7QVl2aEdBO0VBQXdDO0FaMmhHeEM7O0FZMWhHQTtFQUFpQztBWjhoR2pDOztBWTdoR0E7RUFBd0M7QVppaUd4Qzs7QVloaUdBO0VBQXdDO0Fab2lHeEM7O0FZbmlHQTtFQUFpQztBWnVpR2pDOztBWXRpR0E7RUFBaUM7QVowaUdqQzs7QVl6aUdBO0VBQXdDO0FaNmlHeEM7O0FZNWlHQTtFQUF3QztBWmdqR3hDOztBWS9pR0E7RUFBb0M7QVptakdwQzs7QVlsakdBO0VBQWlDO0Fac2pHakM7O0FZcmpHQTtFQUFtQztBWnlqR25DOztBWXhqR0E7RUFBZ0M7QVo0akdoQzs7QVkzakdBO0VBQXNDO0FaK2pHdEM7O0FZOWpHQTtFQUFpQztBWmtrR2pDOztBWWprR0E7RUFBcUM7QVpxa0dyQzs7QVlwa0dBO0VBQXVDO0Fad2tHdkM7O0FZdmtHQTtFQUFzQztBWjJrR3RDOztBWTFrR0E7RUFBaUM7QVo4a0dqQzs7QVk3a0dBO0VBQTBDO0FaaWxHMUM7O0FZaGxHQTtFQUF5QztBWm9sR3pDOztBWW5sR0E7RUFBZ0Q7QVp1bEdoRDs7QVl0bEdBO0VBQW9EO0FaMGxHcEQ7O0FZemxHQTtFQUFrQztBWjZsR2xDOztBWTVsR0E7RUFBdUM7QVpnbUd2Qzs7QVkvbEdBO0VBQXlDO0FabW1HekM7O0FZbG1HQTtFQUE0QztBWnNtRzVDOztBWXJtR0E7RUFBeUM7QVp5bUd6Qzs7QVl4bUdBO0VBQXNDO0FaNG1HdEM7O0FZM21HQTtFQUFtQztBWittR25DOztBWTltR0E7RUFBeUM7QVprbkd6Qzs7QVlqbkdBO0VBQW1DO0FacW5HbkM7O0FZcG5HQTtFQUErQjtBWnduRy9COztBWXZuR0E7RUFBbUM7QVoybkduQzs7QVkxbkdBO0VBQXFDO0FaOG5HckM7O0FZN25HQTtFQUE0QztBWmlvRzVDOztBWWhvR0E7RUFBc0M7QVpvb0d0Qzs7QVlub0dBO0VBQXNDO0FadW9HdEM7O0FZdG9HQTtFQUFrQztBWjBvR2xDOztBWXpvR0E7RUFBdUM7QVo2b0d2Qzs7QVk1b0dBO0VBQXdDO0FaZ3BHeEM7O0FZL29HQTtFQUFrQztBWm1wR2xDOztBWWxwR0E7RUFBc0M7QVpzcEd0Qzs7QVlycEdBO0VBQXNDO0FaeXBHdEM7O0FZeHBHQTtFQUEwQztBWjRwRzFDOztBWTNwR0E7RUFBb0M7QVorcEdwQzs7QVk5cEdBO0VBQW1DO0Faa3FHbkM7O0FZanFHQTtFQUF5QztBWnFxR3pDOztBWXBxR0E7RUFBb0M7QVp3cUdwQzs7QVl2cUdBO0VBQWtDO0FaMnFHbEM7O0FZMXFHQTtFQUF3QztBWjhxR3hDOztBWTdxR0E7RUFBbUM7QVppckduQzs7QVlockdBO0VBQWtDO0Fab3JHbEM7O0FZbnJHQTtFQUFvQztBWnVyR3BDOztBWXRyR0E7RUFBeUM7QVowckd6Qzs7QVl6ckdBO0VBQW9DO0FaNnJHcEM7O0FZNXJHQTtFQUFzQztBWmdzR3RDOztBWS9yR0E7RUFBbUM7QVptc0duQzs7QVlsc0dBO0VBQXlDO0Fac3NHekM7O0FZcnNHQTtFQUEwQztBWnlzRzFDOztBWXhzR0E7RUFBbUM7QVo0c0duQzs7QVkzc0dBO0VBQWlDO0FaK3NHakM7O0FZOXNHQTtFQUFxQztBWmt0R3JDOztBWWp0R0E7RUFBdUM7QVpxdEd2Qzs7QVlwdEdBO0VBQTBDO0Fad3RHMUM7O0FZdnRHQTtFQUFtQztBWjJ0R25DOztBWTF0R0E7RUFBa0M7QVo4dEdsQzs7QVk3dEdBO0VBQXNDO0FaaXVHdEM7O0FZaHVHQTtFQUFtQztBWm91R25DOztBWW51R0E7RUFBdUM7QVp1dUd2Qzs7QVl0dUdBO0VBQXlDO0FaMHVHekM7O0FZenVHQTtFQUFzQztBWjZ1R3RDOztBWTV1R0E7RUFBcUM7QVpndkdyQzs7QVkvdUdBO0VBQW9DO0FabXZHcEM7O0FZbHZHQTtFQUFnQztBWnN2R2hDOztBWXJ2R0E7RUFBbUM7QVp5dkduQzs7QVl4dkdBO0VBQWlDO0FaNHZHakM7O0FZM3ZHQTtFQUFpQztBWit2R2pDOztBWTl2R0E7RUFBa0M7QVprd0dsQzs7QVlqd0dBO0VBQW1DO0FacXdHbkM7O0FZcHdHQTtFQUF1QztBWnd3R3ZDOztBWXZ3R0E7RUFBb0M7QVoyd0dwQzs7QVkxd0dBO0VBQWtDO0FaOHdHbEM7O0FZN3dHQTtFQUFnQztBWml4R2hDOztBWWh4R0E7RUFBdUM7QVpveEd2Qzs7QVlueEdBO0VBQXVDO0FadXhHdkM7O0FZdHhHQTtFQUFrQztBWjB4R2xDOztBWXp4R0E7RUFBMkM7QVo2eEczQzs7QVk1eEdBO0VBQTZDO0FaZ3lHN0M7O0FZL3hHQTtFQUEyQztBWm15RzNDOztBWWx5R0E7RUFBb0M7QVpzeUdwQzs7QVlyeUdBO0VBQXVDO0FaeXlHdkM7O0FZeHlHQTtFQUFpQztBWjR5R2pDOztBWTN5R0E7RUFBb0M7QVoreUdwQzs7QVk5eUdBO0VBQXFDO0Faa3pHckM7O0FZanpHQTtFQUFtQztBWnF6R25DOztBWXB6R0E7RUFBdUM7QVp3ekd2Qzs7QVl2ekdBO0VBQWlDO0FaMnpHakM7O0FZMXpHQTtFQUFzQztBWjh6R3RDOztBWTd6R0E7RUFBMkM7QVppMEczQzs7QVloMEdBO0VBQWlDO0FabzBHakM7O0FZbjBHQTtFQUFtQztBWnUwR25DOztBWXQwR0E7RUFBbUM7QVowMEduQzs7QVl6MEdBO0VBQXdDO0FaNjBHeEM7O0FZNTBHQTtFQUFtQztBWmcxR25DOztBWS8wR0E7RUFBbUM7QVptMUduQzs7QVlsMUdBO0VBQW9DO0FaczFHcEM7O0FZcjFHQTtFQUFtQztBWnkxR25DOztBWXgxR0E7RUFBMEM7QVo0MUcxQzs7QVkzMUdBO0VBQTRDO0FaKzFHNUM7O0FZOTFHQTtFQUF5QztBWmsyR3pDOztBWWoyR0E7RUFBd0M7QVpxMkd4Qzs7QVlwMkdBO0VBQXdDO0FadzJHeEM7O0FZdjJHQTtFQUFxQztBWjIyR3JDOztBWTEyR0E7RUFBcUM7QVo4MkdyQzs7QVk3MkdBO0VBQW1DO0FaaTNHbkM7O0FZaDNHQTtFQUFtQztBWm8zR25DOztBWW4zR0E7RUFBeUM7QVp1M0d6Qzs7QVl0M0dBO0VBQW1DO0FaMDNHbkM7O0FZejNHQTtFQUFrQztBWjYzR2xDOztBWTUzR0E7RUFBc0M7QVpnNEd0Qzs7QVkvM0dBO0VBQTZDO0FabTRHN0M7O0FZbDRHQTtFQUF5QztBWnM0R3pDOztBWXI0R0E7RUFBd0M7QVp5NEd4Qzs7QVl4NEdBO0VBQXVDO0FaNDRHdkM7O0FZMzRHQTtFQUF5QztBWis0R3pDOztBWTk0R0E7RUFBaUM7QVprNUdqQzs7QVlqNUdBO0VBQTBDO0FacTVHMUM7O0FZcDVHQTtFQUF5QztBWnc1R3pDOztBWXY1R0E7RUFBd0M7QVoyNUd4Qzs7QVkxNUdBO0VBQW9DO0FaODVHcEM7O0FZNzVHQTtFQUF5QztBWmk2R3pDOztBWWg2R0E7RUFBNEM7QVpvNkc1Qzs7QVluNkdBO0VBQTBDO0FadTZHMUM7O0FZdDZHQTtFQUFxQztBWjA2R3JDOztBWXo2R0E7RUFBbUM7QVo2NkduQzs7QVk1NkdBO0VBQXdDO0FaZzdHeEM7O0FZLzZHQTtFQUFpQztBWm03R2pDOztBWWw3R0E7RUFBd0M7QVpzN0d4Qzs7QVlyN0dBO0VBQTBDO0FaeTdHMUM7O0FZeDdHQTtFQUF5QztBWjQ3R3pDOztBWTM3R0E7RUFBbUM7QVorN0duQzs7QVk5N0dBO0VBQXNDO0FaazhHdEM7O0FZajhHQTtFQUFxQztBWnE4R3JDOztBWXA4R0E7RUFBd0M7QVp3OEd4Qzs7QVl2OEdBO0VBQWlDO0FaMjhHakM7O0FZMThHQTtFQUFvQztBWjg4R3BDOztBWTc4R0E7RUFBb0M7QVppOUdwQzs7QVloOUdBO0VBQWlDO0FabzlHakM7O0FZbjlHQTtFQUFvQztBWnU5R3BDOztBWXQ5R0E7RUFBbUM7QVowOUduQzs7QVl6OUdBO0VBQW1DO0FaNjlHbkM7O0FZNTlHQTtFQUEwQztBWmcrRzFDOztBWS85R0E7RUFBa0M7QVptK0dsQzs7QVlsK0dBO0VBQTZDO0FacytHN0M7O0FZcitHQTtFQUFxQztBWnkrR3JDOztBWXgrR0E7RUFBa0M7QVo0K0dsQzs7QVkzK0dBO0VBQWtDO0FaKytHbEM7O0FZOStHQTtFQUF1QztBWmsvR3ZDOztBWWovR0E7RUFBa0M7QVpxL0dsQzs7QVlwL0dBO0VBQW1DO0Fady9HbkM7O0FZdi9HQTtFQUFzQztBWjIvR3RDOztBWTEvR0E7RUFBdUM7QVo4L0d2Qzs7QVk3L0dBO0VBQWtDO0FaaWdIbEM7O0FZaGdIQTtFQUF1QztBWm9nSHZDOztBWW5nSEE7RUFBdUM7QVp1Z0h2Qzs7QVl0Z0hBO0VBQWlDO0FaMGdIakM7O0FZemdIQTtFQUFvQztBWjZnSHBDOztBWTVnSEE7RUFBd0M7QVpnaEh4Qzs7QVkvZ0hBO0VBQWdDO0FabWhIaEM7O0FZbGhIQTtFQUFxQztBWnNoSHJDOztBWXJoSEE7RUFBMkM7QVp5aEgzQzs7QVl4aEhBO0VBQTRDO0FaNGhINUM7O0FZM2hIQTtFQUF5QztBWitoSHpDOztBWTloSEE7RUFBc0M7QVpraUh0Qzs7QVlqaUhBO0VBQW9DO0FacWlIcEM7O0FZcGlIQTtFQUFxQztBWndpSHJDOztBWXZpSEE7RUFBaUM7QVoyaUhqQzs7QVkxaUhBO0VBQWtDO0FaOGlIbEM7O0FZN2lIQTtFQUF3QztBWmlqSHhDOztBWWhqSEE7RUFBaUM7QVpvakhqQzs7QVluakhBO0VBQTRDO0FadWpINUM7O0FZdGpIQTtFQUFnRDtBWjBqSGhEOztBWXpqSEE7RUFBMEM7QVo2akgxQzs7QVk1akhBO0VBQThDO0FaZ2tIOUM7O0FZL2pIQTtFQUE2QztBWm1rSDdDOztBWWxrSEE7RUFBaUQ7QVpza0hqRDs7QVlya0hBO0VBQTJDO0FaeWtIM0M7O0FZeGtIQTtFQUErQztBWjRrSC9DOztBWTNrSEE7RUFBc0M7QVora0h0Qzs7QVk5a0hBO0VBQThDO0Faa2xIOUM7O0FZamxIQTtFQUFrRDtBWnFsSGxEOztBWXBsSEE7RUFBNEM7QVp3bEg1Qzs7QVl2bEhBO0VBQWdEO0FaMmxIaEQ7O0FZMWxIQTtFQUFvQztBWjhsSHBDOztBWTdsSEE7RUFBdUM7QVppbUh2Qzs7QVlobUhBO0VBQXVDO0Fab21IdkM7O0FZbm1IQTtFQUFnQztBWnVtSGhDOztBWXRtSEE7RUFBMEM7QVowbUgxQzs7QVl6bUhBO0VBQW9DO0FaNm1IcEM7O0FZNW1IQTtFQUF5QztBWmduSHpDOztBWS9tSEE7RUFBd0M7QVptbkh4Qzs7QVlsbkhBO0VBQW1DO0Fac25IbkM7O0FZcm5IQTtFQUFvQztBWnluSHBDOztBWXhuSEE7RUFBb0M7QVo0bkhwQzs7QVkzbkhBO0VBQW9DO0FaK25IcEM7O0FZOW5IQTtFQUFzQztBWmtvSHRDOztBWWpvSEE7RUFBbUM7QVpxb0huQzs7QVlwb0hBO0VBQXdDO0Fad29IeEM7O0FZdm9IQTtFQUE0QztBWjJvSDVDOztBWTFvSEE7RUFBd0M7QVo4b0h4Qzs7QVk3b0hBO0VBQTJDO0FaaXBIM0M7O0FZaHBIQTtFQUEyQztBWm9wSDNDOztBWW5wSEE7RUFBc0M7QVp1cEh0Qzs7QVl0cEhBO0VBQWtDO0FaMHBIbEM7O0FZenBIQTtFQUFpQztBWjZwSGpDOztBWTVwSEE7RUFBOEM7QVpncUg5Qzs7QVkvcEhBO0VBQXNDO0FabXFIdEM7O0FZbHFIQTtFQUEwQztBWnNxSDFDOztBWXJxSEE7RUFBMEM7QVp5cUgxQzs7QVl4cUhBO0VBQXlDO0FaNHFIekM7O0FZM3FIQTtFQUF1QztBWitxSHZDOztBWTlxSEE7RUFBa0M7QVprckhsQzs7QVlqckhBO0VBQXlDO0FacXJIekM7O0FZcHJIQTtFQUF5QztBWndySHpDOztBWXZySEE7RUFBMEM7QVoyckgxQzs7QVkxckhBO0VBQXlDO0FaOHJIekM7O0FZN3JIQTtFQUF3QztBWmlzSHhDOztBWWhzSEE7RUFBeUM7QVpvc0h6Qzs7QVluc0hBO0VBQXdDO0FadXNIeEM7O0FZdHNIQTtFQUFpQztBWjBzSGpDOztBWXpzSEE7RUFBd0M7QVo2c0h4Qzs7QVk1c0hBO0VBQXNDO0FaZ3RIdEM7O0FZL3NIQTtFQUF5QztBWm10SHpDOztBWWx0SEE7RUFBa0M7QVpzdEhsQzs7QVlydEhBO0VBQXNDO0FaeXRIdEM7O0FZeHRIQTtFQUE0QztBWjR0SDVDOztBWTN0SEE7RUFBd0M7QVordEh4Qzs7QVk5dEhBO0VBQW1DO0Faa3VIbkM7O0FZanVIQTtFQUFtQztBWnF1SG5DOztBWXB1SEE7RUFBd0M7QVp3dUh4Qzs7QVl2dUhBO0VBQTBDO0FaMnVIMUM7O0FZMXVIQTtFQUFtQztBWjh1SG5DOztBWTd1SEE7RUFBcUM7QVppdkhyQzs7QVlodkhBO0VBQXdDO0Fab3ZIeEM7O0FZbnZIQTtFQUF5QztBWnV2SHpDOztBWXR2SEE7RUFBd0M7QVowdkh4Qzs7QVl6dkhBO0VBQStDO0FaNnZIL0M7O0FZNXZIQTtFQUFzQztBWmd3SHRDOztBWS92SEE7RUFBbUM7QVptd0huQzs7QVlsd0hBO0VBQXFDO0Fac3dIckM7O0FZcndIQTtFQUE2QztBWnl3SDdDOztBWXh3SEE7RUFBZ0M7QVo0d0hoQzs7QVkzd0hBO0VBQXdDO0FaK3dIeEM7O0FZOXdIQTtFQUF3QztBWmt4SHhDOztBWWp4SEE7RUFBbUM7QVpxeEhuQzs7QVlweEhBO0VBQXFDO0Fad3hIckM7O0FZdnhIQTtFQUFpQztBWjJ4SGpDOztBWTF4SEE7RUFBdUM7QVo4eEh2Qzs7QVk3eEhBO0VBQWtDO0FaaXlIbEM7O0FZaHlIQTtFQUFvQztBWm95SHBDOztBWW55SEE7RUFBMEM7QVp1eUgxQzs7QVl0eUhBO0VBQW9DO0FaMHlIcEM7O0FZenlIQTtFQUFzQztBWjZ5SHRDOztBWTV5SEE7RUFBaUM7QVpnekhqQzs7QVkveUhBO0VBQXFDO0FabXpIckM7O0FZbHpIQTtFQUFvQztBWnN6SHBDOztBWXJ6SEE7RUFBa0M7QVp5ekhsQzs7QVl4ekhBO0VBQXlDO0FaNHpIekM7O0FZM3pIQTtFQUFtQztBWit6SG5DOztBWTl6SEE7RUFBdUM7QVprMEh2Qzs7QVlqMEhBO0VBQW9DO0FacTBIcEM7O0FZcDBIQTtFQUEyQztBWncwSDNDOztBWXYwSEE7RUFBZ0M7QVoyMEhoQzs7QVkxMEhBO0VBQWlDO0FaODBIakM7O0FZNzBIQTtFQUFpQztBWmkxSGpDOztBWWgxSEE7RUFBa0M7QVpvMUhsQzs7QVluMUhBO0VBQWlDO0FadTFIakM7O0FZdDFIQTtFQUFzQztBWjAxSHRDOztBWXoxSEE7RUFBa0M7QVo2MUhsQzs7QVk1MUhBO0VBQXVDO0FaZzJIdkM7O0FZLzFIQTtFQUFxQztBWm0ySHJDOztBWWwySEE7RUFBMkM7QVpzMkgzQzs7QVlyMkhBO0VBQTZDO0FaeTJIN0M7O0FZeDJIQTtFQUE0QztBWjQySDVDOztBWTMySEE7RUFBMEM7QVorMkgxQzs7QVk5MkhBO0VBQWtDO0FaazNIbEM7O0FZajNIQTtFQUFxQztBWnEzSHJDOztBWXAzSEE7RUFBd0M7QVp3M0h4Qzs7QVl2M0hBO0VBQXVDO0FaMjNIdkM7O0FZMTNIQTtFQUErQjtBWjgzSC9COztBWTczSEE7RUFBcUM7QVppNEhyQzs7QVloNEhBO0VBQW9DO0FabzRIcEM7O0FZbjRIQTtFQUF5QztBWnU0SHpDOztBWXQ0SEE7RUFBMEM7QVowNEgxQzs7QVl6NEhBO0VBQW9DO0FaNjRIcEM7O0FZNTRIQTtFQUFzQztBWmc1SHRDOztBWS80SEE7RUFBd0M7QVptNUh4Qzs7QVlsNUhBO0VBQThDO0FaczVIOUM7O0FZcjVIQTtFQUE2QztBWnk1SDdDOztBWXg1SEE7RUFBNkM7QVo0NUg3Qzs7QVkzNUhBO0VBQWdEO0FaKzVIaEQ7O0FZOTVIQTtFQUF1RDtBWms2SHZEOztBWWo2SEE7RUFBd0M7QVpxNkh4Qzs7QVlwNkhBO0VBQXdDO0FadzZIeEM7O0FZdjZIQTtFQUFzQztBWjI2SHRDOztBWTE2SEE7RUFBc0M7QVo4Nkh0Qzs7QVk3NkhBO0VBQXVDO0FaaTdIdkM7O0FZaDdIQTtFQUFtQztBWm83SG5DOztBWW43SEE7RUFBa0M7QVp1N0hsQzs7QVl0N0hBO0VBQXlDO0FaMDdIekM7O0FZejdIQTtFQUFpQztBWjY3SGpDOztBWTU3SEE7RUFBdUM7QVpnOEh2Qzs7QVkvN0hBO0VBQWtDO0FabThIbEM7O0FZbDhIQTtFQUF1QztBWnM4SHZDOztBWXI4SEE7RUFBc0M7QVp5OEh0Qzs7QVl4OEhBO0VBQW1DO0FaNDhIbkM7O0FZMzhIQTtFQUF5QztBWis4SHpDOztBWTk4SEE7RUFBK0M7QVprOUgvQzs7QVlqOUhBO0VBQW9DO0FacTlIcEM7O0FZcDlIQTtFQUFrQztBWnc5SGxDOztBWXY5SEE7RUFBa0M7QVoyOUhsQzs7QVkxOUhBO0VBQWtDO0FaODlIbEM7O0FZNzlIQTtFQUF1QztBWmkrSHZDOztBWWgrSEE7RUFBb0M7QVpvK0hwQzs7QVluK0hBO0VBQTZDO0FadStIN0M7O0FZdCtIQTtFQUFzQztBWjArSHRDOztBWXorSEE7RUFBMEM7QVo2K0gxQzs7QVk1K0hBO0VBQW9DO0FaZy9IcEM7O0FZLytIQTtFQUFrQztBWm0vSGxDOztBWWwvSEE7RUFBaUM7QVpzL0hqQzs7QVlyL0hBO0VBQXdDO0FaeS9IeEM7O0FZeC9IQTtFQUE0QztBWjQvSDVDOztBWTMvSEE7RUFBa0M7QVorL0hsQzs7QVk5L0hBO0VBQXNDO0Faa2dJdEM7O0FZamdJQTtFQUEwQztBWnFnSTFDOztBWXBnSUE7RUFBOEM7QVp3Z0k5Qzs7QVl2Z0lBO0VBQWlDO0FaMmdJakM7O0FZMWdJQTtFQUFtQztBWjhnSW5DOztBWTdnSUE7RUFBd0M7QVppaEl4Qzs7QVloaElBO0VBQW1DO0Fab2hJbkM7O0FZbmhJQTtFQUFrQztBWnVoSWxDOztBWXRoSUE7RUFBMEM7QVowaEkxQzs7QVl6aElBO0VBQTBDO0FaNmhJMUM7O0FZNWhJQTtFQUF5QztBWmdpSXpDOztBWS9oSUE7RUFBeUM7QVptaUl6Qzs7QVlsaUlBO0VBQW1DO0Fac2lJbkM7O0FZcmlJQTtFQUFnQztBWnlpSWhDOztBWXhpSUE7RUFBbUM7QVo0aUluQzs7QVkzaUlBO0VBQTBDO0FaK2lJMUM7O0FZOWlJQTtFQUErQjtBWmtqSS9COztBWWpqSUE7RUFBbUM7QVpxakluQzs7QVlwaklBO0VBQW9DO0Fad2pJcEM7O0FZdmpJQTtFQUEyQztBWjJqSTNDOztBWTFqSUE7RUFBa0M7QVo4aklsQzs7QVk3aklBO0VBQWlDO0FaaWtJakM7O0FZaGtJQTtFQUFtQztBWm9rSW5DOztBWW5rSUE7RUFBa0M7QVp1a0lsQzs7QVl0a0lBO0VBQW9DO0FaMGtJcEM7O0FZemtJQTtFQUFxQztBWjZrSXJDOztBWTVrSUE7RUFBMkM7QVpnbEkzQzs7QVkva0lBO0VBQXNDO0FabWxJdEM7O0FZbGxJQTtFQUFzQztBWnNsSXRDOztBWXJsSUE7RUFBaUM7QVp5bElqQzs7QVl4bElBO0VBQXFDO0FaNGxJckM7O0FZM2xJQTtFQUF3QztBWitsSXhDOztBWTlsSUE7RUFBa0M7QVprbUlsQzs7QVlqbUlBO0VBQTZDO0FacW1JN0M7O0FZcG1JQTtFQUF1QztBWndtSXZDOztBWXZtSUE7RUFBbUM7QVoybUluQzs7QVkxbUlBO0VBQW1DO0FaOG1JbkM7O0FZN21JQTtFQUF1QztBWmluSXZDOztBWWhuSUE7RUFBcUM7QVpvbklyQzs7QVlubklBO0VBQW9DO0FadW5JcEM7O0FZdG5JQTtFQUFtQztBWjBuSW5DOztBWXpuSUE7RUFBZ0M7QVo2bkloQzs7QVk1bklBO0VBQWdDO0FaZ29JaEM7O0FZL25JQTtFQUFpQztBWm1vSWpDOztBWWxvSUE7RUFBcUM7QVpzb0lyQzs7QVlyb0lBO0VBQTJDO0FaeW9JM0M7O0FZeG9JQTtFQUEyQztBWjRvSTNDOztBWTNvSUE7RUFBdUM7QVorb0l2Qzs7QVk5b0lBO0VBQXdDO0Faa3BJeEM7O0FZanBJQTtFQUF1QztBWnFwSXZDOztBWXBwSUE7RUFBcUM7QVp3cElyQzs7QVl2cElBO0VBQXNDO0FaMnBJdEM7O0FZMXBJQTtFQUF5QztBWjhwSXpDOztBWTdwSUE7RUFBMEM7QVppcUkxQzs7QVlocUlBO0VBQXlDO0Fab3FJekM7O0FZbnFJQTtFQUFzQztBWnVxSXRDOztBWXRxSUE7RUFBb0M7QVowcUlwQzs7QVl6cUlBO0VBQXVDO0FaNnFJdkM7O0FZNXFJQTtFQUF1QztBWmdySXZDOztBWS9xSUE7RUFBdUM7QVptckl2Qzs7QVlscklBO0VBQXNDO0Fac3JJdEM7O0FZcnJJQTtFQUF3QztBWnlySXhDOztBWXhySUE7RUFBd0M7QVo0ckl4Qzs7QVkzcklBO0VBQXVDO0FaK3JJdkM7O0FZOXJJQTtFQUFxQztBWmtzSXJDOztBWWpzSUE7RUFBcUM7QVpxc0lyQzs7QVlwc0lBO0VBQXVDO0Fad3NJdkM7O0FZdnNJQTtFQUFrQztBWjJzSWxDOztBWTFzSUE7RUFBc0M7QVo4c0l0Qzs7QVk3c0lBO0VBQXdDO0FaaXRJeEM7O0FZaHRJQTtFQUFpQztBWm90SWpDOztBWW50SUE7RUFBcUM7QVp1dElyQzs7QVl0dElBO0VBQTBDO0FaMHRJMUM7O0FZenRJQTtFQUFxQztBWjZ0SXJDOztBWTV0SUE7RUFBbUM7QVpndUluQzs7QVkvdElBO0VBQTBDO0FabXVJMUM7O0FZbHVJQTtFQUFrQztBWnN1SWxDOztBWXJ1SUE7RUFBeUM7QVp5dUl6Qzs7QVl4dUlBO0VBQXVDO0FaNHVJdkM7O0FZM3VJQTtFQUFpQztBWit1SWpDOztBWTl1SUE7RUFBeUM7QVprdkl6Qzs7QVlqdklBO0VBQW9DO0FacXZJcEM7O0FZcHZJQTtFQUFtQztBWnd2SW5DOztBWXZ2SUE7RUFBMEM7QVoydkkxQzs7QVkxdklBO0VBQWlDO0FaOHZJakM7O0FZN3ZJQTtFQUFrQztBWml3SWxDOztBWWh3SUE7RUFBa0M7QVpvd0lsQzs7QVlud0lBO0VBQWtDO0FadXdJbEM7O0FZdHdJQTtFQUF3QztBWjB3SXhDOztBWXp3SUE7RUFBbUM7QVo2d0luQzs7QVk1d0lBO0VBQWtDO0FaZ3hJbEM7O0FZL3dJQTtFQUF5QztBWm14SXpDOztBWWx4SUE7RUFBb0M7QVpzeElwQzs7QVlyeElBO0VBQWlDO0FaeXhJakM7O0FZeHhJQTtFQUFrQztBWjR4SWxDOztBWTN4SUE7RUFBd0M7QVoreEl4Qzs7QVk5eElBO0VBQW9DO0Faa3lJcEM7O0FZanlJQTtFQUErQjtBWnF5SS9COztBWXB5SUE7RUFBZ0M7QVp3eUloQzs7QVl2eUlBO0VBQXNDO0FaMnlJdEM7O0FZMXlJQTtFQUE0QztBWjh5STVDOztBWTd5SUE7RUFBd0M7QVppekl4Qzs7QVloeklBO0VBQXdDO0Fab3pJeEM7O0FZbnpJQTtFQUF1QztBWnV6SXZDOztBWXR6SUE7RUFBc0M7QVowekl0Qzs7QVl6eklBO0VBQXFDO0FaNnpJckM7O0FZNXpJQTtFQUF5QztBWmcwSXpDOztBWS96SUE7RUFBa0M7QVptMElsQzs7QVlsMElBO0VBQW9DO0FaczBJcEM7O0FZcjBJQTtFQUFtQztBWnkwSW5DOztBWXgwSUE7RUFBc0M7QVo0MEl0Qzs7QVkzMElBO0VBQWdEO0FaKzBJaEQ7O0FZOTBJQTtFQUFrQztBWmsxSWxDOztBWWoxSUE7RUFBd0M7QVpxMUl4Qzs7QVlwMUlBO0VBQWlDO0FadzFJakM7O0FZdjFJQTtFQUFtQztBWjIxSW5DOztBWTExSUE7RUFBa0M7QVo4MUlsQzs7QVk3MUlBO0VBQW1DO0FaaTJJbkM7O0FZaDJJQTtFQUEyQztBWm8ySTNDOztBWW4ySUE7RUFBbUM7QVp1MkluQzs7QVl0MklBO0VBQXFDO0FaMDJJckM7O0FZejJJQTtFQUE0QztBWjYySTVDOztBWTUySUE7RUFBdUM7QVpnM0l2Qzs7QVkvMklBO0VBQWtDO0FabTNJbEM7O0FZbDNJQTtFQUFpQztBWnMzSWpDOztBWXIzSUE7RUFBd0M7QVp5M0l4Qzs7QVl4M0lBO0VBQWlDO0FaNDNJakM7O0FZMzNJQTtFQUF5QztBWiszSXpDOztBWTkzSUE7RUFBNEM7QVprNEk1Qzs7QVlqNElBO0VBQTRDO0FacTRJNUM7O0FZcDRJQTtFQUEyQztBWnc0STNDOztBWXY0SUE7RUFBb0M7QVoyNElwQzs7QVkxNElBO0VBQXdDO0FaODRJeEM7O0FZNzRJQTtFQUF1QztBWmk1SXZDOztBWWg1SUE7RUFBMkM7QVpvNUkzQzs7QVluNUlBO0VBQWdDO0FadTVJaEM7O0FZdDVJQTtFQUFpRDtBWjA1SWpEOztBWXo1SUE7RUFBaUM7QVo2NUlqQzs7QVk1NUlBO0VBQWdEO0FaZzZJaEQ7O0FZLzVJQTtFQUFxQztBWm02SXJDOztBWWw2SUE7RUFBc0M7QVpzNkl0Qzs7QVlyNklBO0VBQTZDO0FaeTZJN0M7O0FZeDZJQTtFQUF1QztBWjQ2SXZDOztBWTM2SUE7RUFBdUM7QVorNkl2Qzs7QVk5NklBO0VBQW9DO0FaazdJcEM7O0FZajdJQTtFQUFvQztBWnE3SXBDOztBWXA3SUE7RUFBbUM7QVp3N0luQzs7QVl2N0lBO0VBQWtDO0FaMjdJbEM7O0FZMTdJQTtFQUFpQztBWjg3SWpDOztBWTc3SUE7RUFBaUM7QVppOElqQzs7QVloOElBO0VBQXdDO0FabzhJeEM7O0FZbjhJQTtFQUF5QztBWnU4SXpDOztBWXQ4SUE7RUFBa0M7QVowOElsQzs7QVl6OElBO0VBQW1DO0FaNjhJbkM7O0FZNThJQTtFQUFtQztBWmc5SW5DOztBWS84SUE7RUFBaUQ7QVptOUlqRDs7QVlsOUlBO0VBQWlDO0FaczlJakM7O0FZcjlJQTtFQUFpQztBWnk5SWpDOztBWXg5SUE7RUFBcUM7QVo0OUlyQzs7QVkzOUlBO0VBQXFDO0FaKzlJckM7O0FZOTlJQTtFQUFrQztBWmsrSWxDOztBWWorSUE7RUFBb0M7QVpxK0lwQzs7QVlwK0lBO0VBQTJDO0FadytJM0M7O0FZditJQTtFQUFrQztBWjIrSWxDOztBYTc1TEE7RUgwQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnU0TEY7O0FVNzNMRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBViszTEo7O0FjcDdMQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CVExxQjtFU01yQjtFQUNBO0FkcTdMRjtBYzk2TEE7RUFDRTtFQUNBO0FkZzdMRjs7QWVyOExBOzs7RUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJWTHFCO0VVTXJCO0VBQ0E7QWZzOExGO0FlLzdMQTs7RUFFRTtFQUNBO0FmaThMRjs7QWdCdjlMQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CWExxQjtFV01yQjtFQUNBO0FoQnc5TEY7QWdCajlMQTtFQUNFO0VBQ0E7QWhCbTlMRjs7QWlCeCtMQTs7Ozs7O0VBQUE7QUNBQTtFQU9JO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFLRjtFQUNBO0FsQmkvTEY7O0FtQmxnTUE7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0E7RUFDQTtFQUVBO0FuQndnTUo7O0FvQjkvTEE7OztFQUdFO0FwQmlnTUY7O0FvQjkvTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEJpZ01GOztBb0IzL0xBO0VBQ0U7QXBCOC9MRjs7QW9Cbi9MQTtFQUNFO0VBRUE7RUFDQSxrTUM3Q3dCO0VDMEhwQixtQkF0Q2E7RUZyQ2pCLGdCQ3BDcUI7RURxQ3JCLGdCQ2hDa0I7RURpQ2xCO0VBRUU7RUFDQTtBcEJvL0xKOztBb0J2K0xBO0VBQ0U7QXBCMCtMRjs7QW9CaitMQTtFQUNFO0VBQ0E7RUFDQTtBcEJvK0xGOztBb0J2OUxBO0VBQ0U7RUFDQSxxQkNwRXdCO0FyQjhoTTFCOztBb0JuOUxBO0VBQ0U7RUFDQSxtQkMxQnlCO0FyQmcvTDNCOztBb0IzOExBOztFQUVFO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0FwQjg4TEY7O0FvQjM4TEE7RUFDRTtFQUNBO0VBQ0E7QXBCODhMRjs7QW9CMzhMQTs7O0VBR0U7RUFDQTtBcEI4OExGOztBb0IzOExBOzs7O0VBSUU7QXBCODhMRjs7QW9CMzhMQTtFQUNFLGdCQ25JcUI7QXJCaWxNdkI7O0FvQjM4TEE7RUFDRTtBcEI4OExGO0F1QmxtTVE7RUhzSko7QXBCKzhMSjtBd0JybU1RO0VKeUpKO0FwQis4TEo7O0FvQjM4TEE7RUFDRTtBcEI4OExGOztBb0IzOExBOztFQUVFLG1CQ3JKcUI7QXJCbW1NdkI7O0FvQjM4TEE7RUVsR0k7QXRCaWpNSjs7QW9CdDhMQTs7RUFFRTtFRTdHRTtFRitHRjtFQUNBO0FwQnk4TEY7O0FvQnQ4TEE7RUFBTTtBcEIwOExOOztBb0J6OExBO0VBQU07QXBCNjhMTjs7QW9CdDhMQTtFQUNFLHFCS2hNeUM7RUxpTXpDO0VBRUU7QXBCdzhMSjtBMEJub01FO0VBQ0U7SU44TEEsMEJLdE11QztJTHdNckM7RXBCdThMSjtBQUNGOztBb0I5N0xBO0VBQ0U7RUFDQTtBcEJpOExGO0EwQjlvTUU7RUFDRTtJTitNQTtJQUNBO0VwQms4TEY7QUFDRjs7QW9CMTdMQTs7OztFQUlFLGlHQ3BPd0I7RUNrRXRCO0F0QmdtTUo7O0FvQjE3TEE7RUFFRTtFQUVBO0VBRUE7RUFHQTtBcEJ3N0xGOztBb0JoN0xBO0VBRUU7QXBCazdMRjs7QW9CMTZMQTtFQUNFO0VBQ0E7QXBCNjZMRjs7QW9CMTZMQTtFQUdFO0VBQ0E7QXBCMjZMRjs7QW9CbjZMQTtFQUNFO0FwQnM2TEY7O0FvQm42TEE7RUFDRSxvQk8zUndCO0VQNFJ4Qix1Qk81UndCO0VQNlJ4QixjUW5SVztFUm9SWDtFQUNBO0FwQnM2TEY7O0FvQm42TEE7RUFHRTtBcEJvNkxGOztBb0I1NUxBO0VBRUU7RUFDQSxxQlN6T3FCO0E3QnVvTXZCOztBb0J4NUxBO0VBRUU7QXBCMDVMRjs7QW9CbjVMQTtFQUNFO0VBQ0E7QXBCczVMRjs7QW9CbjVMQTs7Ozs7RUFLRTtFQUNBO0VFdFFFO0VGd1FGO0FwQnM1TEY7O0FvQm41TEE7O0VBRUU7QXBCczVMRjs7QW9CbjVMQTs7RUFFRTtBcEJzNUxGOztBb0JoNUxBO0VBQ0U7QXBCbTVMRjs7QW9CNzRMQTtFQUNFO0FwQmc1TEY7O0FvQno0TEE7Ozs7RUFJRTtBcEI0NExGOztBb0JuNExJOzs7O0VBQ0U7QXBCeTRMTjs7QW9CbjRMQTs7OztFQUlFO0VBQ0E7QXBCczRMRjs7QW9CbjRMQTs7RUFFRTtFQUNBO0FwQnM0TEY7O0FvQm40TEE7RUFDRTtFQUVBO0FwQnE0TEY7O0FvQmw0TEE7RUFNRTtFQUVBO0VBQ0E7RUFDQTtBcEIrM0xGOztBb0IxM0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRTVTSSxpQkF0Q2E7RUZvVmpCO0VBQ0E7RUFDQTtBcEI2M0xGOztBb0IxM0xBO0VBQ0U7QXBCNjNMRjs7QW9CejNMQTs7RUFFRTtBcEI0M0xGOztBb0J6M0xBO0VBS0U7RUFDQTtBcEJ3M0xGOztBb0JqM0xBO0VBQ0U7QXBCbzNMRjs7QW9CNTJMQTtFQUNFO0VBQ0E7QXBCKzJMRjs7QW9CeDJMQTtFQUNFO0FwQjIyTEY7O0FvQngyTEE7RUFDRTtFQUNBO0FwQjIyTEY7O0FvQngyTEE7RUFDRTtBcEIyMkxGOztBb0J0MkxBO0VBQ0U7QXBCeTJMRjs7QThCbjFNQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0E5QnMxTUY7O0E4Qm4xTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCczFNRjs7QThCbjFNQTtFQUNFO0VBT0E7RUFDQTtFQUNBO0VBQ0E7QTlCZzFNRjtBdUJ6Mk1RO0VPaUJKO0E5QjIxTUo7QXdCNTJNUTtFTW9CSjtBOUIyMU1KOztBOEJuMU1BOztFQUVFO0VBQ0E7QTlCczFNRjs7QThCbjFNQTs7Ozs7O0VBTUU7QTlCczFNRjs7QThCbjFNQTs7OztFQUlFO0VBQ0E7QTlCczFNRjs7QThCbjFNQTs7RUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QnMxTUY7O0E4Qm4xTUE7RUFDRTtFQU9BO0VBQ0E7RUFDQTtFQUNBO0E5QmcxTUY7QXVCMTVNUTtFT2tFSjtBOUIyMU1KO0F3Qjc1TVE7RU1xRUo7QTlCMjFNSjs7QThCbjFNQTs7RUFFRTtFQUNBO0E5QnMxTUY7O0E4Qm4xTUE7O0VBRUU7RUFDQTtBOUJzMU1GOztBOEJuMU1BO0VBQ0U7SUFDRTtFOUJzMU1GO0FBQ0Y7QThCbjFNQTtFQUNFO0lBQ0U7RTlCcTFNRjtBQUNGO0ErQng3TUU7RUFDRTtBL0IwN01KOztBZ0M5N01BO0VBQ0UsYUNVdUI7RURUdkI7RUFDQSxnQkVDc0I7RUNIdEIsa01kSXdCO0VjRnhCO0VBQ0EsZ0JkWXFCO0VjWHJCLGdCZGdCa0I7RWNmbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWJnSEksc0JBdENhO0VVbkZqQjtFQUNBO0VBQ0E7RUlVRTtFSkxBO0VBQ0E7QWhDMjhNSjtBZ0N4OE1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQzA4TUo7QWdDdjhNRTtFQUNFO0VBQ0E7RUFDQTtBaEN5OE1KO0FnQ3Y4TUk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ3c4TU47QWdDbDdNSTtFQUNFO0VBQ0EsY0UzQ2tCO0VGNENsQjtBaENvN01OO0FnQ2w3TU07RUFDRTtBaENvN01SO0FnQzc2TUk7RUFDRSxhRXZEa0I7RUZ3RGxCO0VBQ0E7RUFDQTtBaEMrNk1OO0FnQ3g2TUk7RUFDRTtBaEMwNk1OO0FnQ3g2TU07RUFDRTtFQUNBO0VBRUU7QWhDeTZNVjtBZ0NyNk1NO0VBQ0UsV0t0RlE7RUx1RlI7RUFFRTtBaENzNk1WO0FnQzk1TUk7RUFDRTtBaENnNk1OO0FnQzk1TU07RUFDRTtFQUNBO0VBRUU7QWhDKzVNVjtBZ0MzNU1NO0VBQ0UsUUs3R1E7RUw4R1I7RUFFRTtBaEM0NU1WO0FnQ3A1TUk7RUFDRTtBaENzNU1OO0FnQ3A1TU07RUFDRTtFQUNBO0VBRUU7QWhDcTVNVjtBZ0NqNU1NO0VBQ0UsVUtwSVE7RUxxSVI7RUFFRTtBaENrNU1WO0FnQ3o0TUk7RUFDRTtBaEMyNE1OO0FnQ3o0TU07RUFDRTtFQUNBO0VBRUU7QWhDMDRNVjtBZ0N0NE1NO0VBQ0UsU0s1SlE7RUw2SlI7RUFFRTtBaEN1NE1WOztBc0MxaU5BO0VBQ0U7RUFDQTtBdEM2aU5GOztBc0MxaU5BO0VBQ0U7QXRDNmlORjs7QXNDMWlOQTtFQUNFO0VBQ0EsYUxKdUI7RUtLdkI7RUFDQSxTQ1J1QjtFSlR2QixrTWRJd0I7RWNGeEI7RUFDQSxnQmRZcUI7RWNYckIsZ0JkZ0JrQjtFY2ZsQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFYmdISSxzQkF0Q2E7RWdCakVqQjtFQUNBO0VBQ0E7QXRDdWpORjtBc0Nyak5FO0VBQ0U7QXRDdWpOSjtBc0Nyak5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDdWpOTjtBc0Nuak5FO0VBQ0U7QXRDcWpOSjtBc0Nuak5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDcWpOTjtBc0Nqak5FO0VBQ0U7RUFDQSxhQ3ZDcUI7RUR3Q3JCLGNDekNxQjtBdkM0bE56QjtBc0Nqak5JO0VBQ0U7RUFDQTtFQUNBO0F0Q21qTk47QXNDL2lORTtFQUNFO0VBQ0EsYUNuRHFCO0VEb0RyQixjQ3JEcUI7QXZDc21OekI7QXNDL2lOSTtFQUNFO0VBQ0E7RUFDQTtBdENpak5OO0FzQzdpTkU7RUFDRTtBdEMraU5KOztBc0MzaU5BO0VBQ0U7RUFDQTtFQUNBLGFDdEV1QjtFRHVFdkIsY0N0RXVCO0VEdUV2QixjVi9FTztBNUI2bk5UO0FzQzVpTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QzhpTko7O0FzQzFpTkE7RUFDRSxnQkM3RnVCO0VEOEZ2QjtFQUNBLFdWOUZPO0VVK0ZQO0VBQ0EseUJWL0ZPO0VRYUw7QXBDZ29OSjs7QXdDOW9OQTtFQUNFO0VBQ0E7RUFDQSxtQkNFd0I7RUREeEI7RUpVRTtBcEN3b05KOztBd0M3b05BO0VBRUU7QXhDK29ORjs7QXdDM29OQTtFQUNFLGdCbkJIcUI7QXJCaXBOdkI7O0F1QjlwTlE7RWlCMEJKO0F4Q3dvTko7QXdCbHFOUTtFZ0I2Qko7QXhDd29OSjtBd0Nwb05FO0VBQ0U7RUFDQTtFQU9BO0VBQ0E7QXhDZ29OSjtBdUIzcU5RO0VpQnFDRjtBeEN5b05OO0F3QjlxTlE7RWdCd0NGO0F4Q3lvTk47O0F3QzVuTkU7RUV4REEsY0Z5RHdIO0VHcER0SCx5QkhvRHdCO0VFdkQxQixxQkZ1RHVFO0F4Q2lvTnpFO0EwQ3RyTkU7RUFDRTtBMUN3ck5KO0EwQ3JyTkU7RUFDRTtBMUN1ck5KOztBd0N4b05FO0VFeERBLGNGeUR3SDtFR3BEdEgseUJIb0R3QjtFRXZEMUIscUJGdUR1RTtBeEM2b056RTtBMENsc05FO0VBQ0U7QTFDb3NOSjtBMENqc05FO0VBQ0U7QTFDbXNOSjs7QXdDcHBORTtFRXhEQSxjRnlEd0g7RUdwRHRILHlCSG9Ed0I7RUV2RDFCLHFCRnVEdUU7QXhDeXBOekU7QTBDOXNORTtFQUNFO0ExQ2d0Tko7QTBDN3NORTtFQUNFO0ExQytzTko7O0F3Q2hxTkU7RUV4REEsY0Z5RHdIO0VHcER0SCx5QkhvRHdCO0VFdkQxQixxQkZ1RHVFO0F4Q3FxTnpFO0EwQzF0TkU7RUFDRTtBMUM0dE5KO0EwQ3p0TkU7RUFDRTtBMUMydE5KOztBd0M1cU5FO0VFeERBLGNGeUR3SDtFR3BEdEgseUJIb0R3QjtFRXZEMUIscUJGdUR1RTtBeENpck56RTtBMEN0dU5FO0VBQ0U7QTFDd3VOSjtBMENydU5FO0VBQ0U7QTFDdXVOSjs7QXdDeHJORTtFRXhEQSxjRnlEd0g7RUdwRHRILHlCSG9Ed0I7RUV2RDFCLHFCRnVEdUU7QXhDNnJOekU7QTBDbHZORTtFQUNFO0ExQ292Tko7QTBDanZORTtFQUNFO0ExQ212Tko7O0F3Q3BzTkU7RUV4REEsY0Z5RHdIO0VHcER0SCx5QkhvRHdCO0VFdkQxQixxQkZ1RHVFO0F4Q3lzTnpFO0EwQzl2TkU7RUFDRTtBMUNnd05KO0EwQzd2TkU7RUFDRTtBMUMrdk5KOztBd0NodE5FO0VFeERBLGNGeUR3SDtFR3BEdEgseUJIb0R3QjtFRXZEMUIscUJGdUR1RTtBeENxdE56RTtBMEMxd05FO0VBQ0U7QTFDNHdOSjtBMEN6d05FO0VBQ0U7QTFDMndOSjs7QTRDcnhOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUNKQSxXQ0l3QjtFREh4QixZQ0d3QjtFREZ4QjtBN0M2eE5GO0E2QzN4TkU7RUFDRTtFQUNBLFlDRHNCO0E5Qzh4TjFCOztBNEMzeE5BO0VBQ0U7RUFDQTtFQUNBO0E1Qzh4TkY7O0E0QzN4TkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Qzh4TkY7QXVCOXlOUTtFcUJtQko7QTVDOHhOSjtBd0Jqek5RO0VvQnNCSjtBNUM4eE5KOztBNEMxeE5BO0VDN0JFLFdDQ3dCO0VEQXhCO0VBQ0E7QTdDMnpORjtBNkN6ek5FO0VBQ0UsVUNIc0I7RURJdEIsV0NKc0I7QTlDK3pOMUI7O0E0Q2h5TkE7RUNqQ0UsV0NPd0I7RUROeEIsWUNNd0I7RURMeEI7QTdDcTBORjtBNkNuME5FO0VBQ0UsV0NHc0I7RURGdEIsWUNFc0I7QTlDbTBOMUI7O0E0Q3R5TkE7RUNyQ0UsV0NVd0I7RURUeEIsWUNTd0I7RURSeEI7QTdDKzBORjtBNkM3ME5FO0VBQ0UsV0NNc0I7RURMdEIsWUNLc0I7QTlDMDBOMUI7O0E0QzV5TkE7RUFDRTtBNUMreU5GO0E0Qzd5TkU7RUFDRTtFQUNBO0E1Qyt5Tko7QTRDN3lOSTtFQUNFO0E1Qyt5Tk47QTRDM3lORTtFQUNFO0E1QzZ5Tko7QTRDMXlORTtFQUNFO0E1QzR5Tko7QTRDenlORTtFQUNFO0E1QzJ5Tko7O0E0Q3Z5TkE7RUFDRSxzQlA3Q2tCO0FyQ3UxTnBCOztBNEN2eU5BO0VBQ0U7QTVDMHlORjs7QStDNzJOQTtFQUNFO0VBQ0E7RXpCaUVFO0V5Qi9ERixnQjFCUXFCO0UwQlByQjtFQUNBO0VBQ0E7RUFDQTtFWEtFO0VZRkUscUlEREo7QS9DZzNORjtBZ0QzMk5NO0VEZk47SUNnQlE7RWhEODJOTjtBQUNGO0EwQmwzTkU7RXFCQ0k7QS9DbzNOTjs7QStDLzJORTtFQUNFO0EvQ2szTko7O0ErQzcyTkE7RUFDRTtFQUNBO0EvQ2czTkY7O0ErQ3oyTkE7RUFDRSxvQkUzQnNCO0VGNEJ0QixtQkU1QnNCO0ViS3BCO0FwQ280Tko7O0ErQ3AyTkU7RUdqREE7RUFDQSx5QkN3UWU7QW5EaXBOakI7QTBCejRORTtFd0JaSTtFQUNBO0FsRHc1Tk47QWtEcjVOSTtFQUVFO0VBQ0E7QWxEczVOTjs7QStDajNORTtFR2pEQTtFQUNBLHlCQ3dRZTtBbkQ4cE5qQjtBMEJ0NU5FO0V3QlpJO0VBQ0E7QWxEcTZOTjtBa0RsNk5JO0VBRUU7RUFDQTtBbERtNk5OOztBK0M5M05FO0VHakRBO0VBQ0EseUJDd1FlO0FuRDJxTmpCO0EwQm42TkU7RXdCWkk7RUFDQTtBbERrN05OO0FrRC82Tkk7RUFFRTtFQUNBO0FsRGc3Tk47O0ErQzM0TkU7RUdqREE7RUFDQSxzQkN3UWU7QW5Ed3JOakI7QTBCaDdORTtFd0JaSTtFQUNBO0FsRCs3Tk47QWtENTdOSTtFQUVFO0VBQ0E7QWxENjdOTjs7QStDeDVORTtFR2pEQTtFQUNBLHlCQ3dRZTtBbkRxc05qQjtBMEI3N05FO0V3QlpJO0VBQ0E7QWxENDhOTjtBa0R6OE5JO0VBRUU7RUFDQTtBbEQwOE5OOztBK0NyNk5FO0VHakRBO0VBQ0EseUJDd1FlO0FuRGt0TmpCO0EwQjE4TkU7RXdCWkk7RUFDQTtBbER5OU5OO0FrRHQ5Tkk7RUFFRTtFQUNBO0FsRHU5Tk47O0ErQ2w3TkU7RUdqREE7RUFDQSx5QkN3UWU7QW5EK3ROakI7QTBCdjlORTtFd0JaSTtFQUNBO0FsRHMrTk47QWtEbitOSTtFQUVFO0VBQ0E7QWxEbytOTjs7QStDLzdORTtFR2pEQTtFQUNBLHlCQ3dRZTtBbkQ0dU5qQjtBMEJwK05FO0V3QlpJO0VBQ0E7QWxEbS9OTjtBa0RoL05JO0VBRUU7RUFDQTtBbERpL05OOztBdUIxL05RO0U2QkZKO0FwRGdnT0o7QXVCOS9OUTtFNkJDSjtBcERnZ09KO0FvRDUvTkU7RUFDRTtBcEQ4L05KO0FvRDMvTkU7RUFDRTtBcEQ2L05KO0FvRDEvTkU7RUFDRTtFQUNBO0VBQ0E7RUFRRTtBcERxL05OO0FvRDMvTkk7RUFFRSxjeEJqQk87RXdCa0JQO0FwRDQvTk47QW9EcC9OSTtFQUNFLGN4QjNCTztFd0I0QlA7QXBEcy9OTjtBb0RsL05FO0VBQ0U7RUFDQSxnQi9CcEJnQjtBckJ3Z09wQjs7QXFEemhPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RWpCUUU7RWtCSEU7RURBRjtFQUNBO0FyRHloT0o7O0FxRHJoT0E7RUFDRTtBckR3aE9GO0F1QnppT1E7RThCc0JGLG9CRXBCcUI7QXZEMGlPM0I7QXdCNWlPUTtFNkJ5QkYscUJFdkJxQjtBdkQ2aU8zQjtBcURuaE9JO0VBQ0U7RUFFRTtFQUVGO0FyRG1oT047QXVCcGpPUTtFOEJtQ0EscUJFakNtQjtBdkRxak8zQjtBd0J2ak9RO0U2QnNDQSxvQkVwQ21CO0F2RHdqTzNCO0FxRHpnT0U7RUFDRTtBckQyZ09KO0FxRHhnT0U7RUFDRTtBckQwZ09KO0FxRHZnT0U7RUFFSTtBckR3Z09OOztBd0Rwa09BOztFQUVFO0VBQ0E7RUFDQTtBeER1a09GO0F3RHJrT0U7O0VBQ0U7RUFDQTtBeER3a09KO0EwQnZrT0U7RUFDRTs7SThCR0U7RXhEd2tPSjtBQUNGO0F3RHZrT0k7Ozs7RUFHRTtBeEQwa09OOztBd0Rwa09BO0VBQ0U7RUFDQTtFQUNBO0F4RHVrT0Y7QXdEcmtPRTtFQUNFO0F4RHVrT0o7O0F1QnBtT1E7O0VpQ3NDRjtBeERta09OO0F3QnptT1E7O0VnQ3lDRjtBeERva09OO0F3RDlqT0k7O0VwQmpCQTtFQUNBO0FwQ21sT0o7QXdEOWpPSTs7RXBCUkE7RUFDQTtBcEMwa09KO0F3RDVqT0k7O0VwQmZBO0VBQ0E7QXBDK2tPSjtBd0Q1ak9JOztFcEJsQ0E7RUFDQTtBcENrbU9KOztBd0Q5aU9BO0VBQ0U7RUFDQTtBeERpak9GO0F1QnRvT1E7RWlDMkZGO0F4RDhpT047QXdCem9PUTtFZ0M4RkY7QXhEOGlPTjtBdUI1b09RO0VpQ29HRjtBeEQyaU9OO0F3Qi9vT1E7RWdDdUdGO0F4RDJpT047O0F3RHRpT0E7RUFDRTtFQUNBO0F4RHlpT0Y7O0F3RHRpT0E7RUFDRTtFQUNBO0F4RHlpT0Y7O0F3RHBoT0E7RUFDRTtFQUNBO0VBQ0E7QXhEdWhPRjtBd0RyaE9FOztFQUVFO0F4RHVoT0o7QXdEcGhPRTs7RUFFRTtBeERzaE9KO0F3RGxoT0U7O0VwQm5IRTtFQUNBO0FwQ3lvT0o7QXdEbGhPRTs7RXBCdElFO0VBQ0E7QXBDNHBPSjs7QXdEbmdPRTs7RUFFRTtBeERzZ09KO0F3RHBnT0k7Ozs7RUFFRTtFQUNBO0VBQ0E7QXhEd2dPTjs7QXlEL3JPQTtFQUNFO0VBRUEsZ0JwQ09xQjtFb0NOckIsYzdCSFc7RTZCSVg7RUFHQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQ2tIQTtFcENMSSxtQkF0Q2E7RW9DNkNqQixnQnJDakhrQjtFZUhoQjtFWUZFLHFJU0lKO0F6RGtzT0Y7QTBENWtPRTs7RUFFRSxlckNsSWM7RXFDbUlkLGdCckNuSWM7RXFDb0lkO0ExRDhrT0o7QWdEeHNPTTtFU2ROO0lUZVE7RWhEMnNPTjtBQUNGO0EwQnJ0T0U7RUFDRTtJK0JVQSxjN0JoQlM7STZCaUJUO0V6RDhzT0Y7QUFDRjtBeUQ1c09FO0VBRUU7RUFDQSxnRDVCakIwQjtBN0I4dE85QjtBeUR6c09FO0VBRUUsYTVCcUJxQjtBN0Jxck96QjtBeUR0c09FO0VBQ0U7QXpEd3NPSjtBeUQ1ck9FOztFQUVFLGdCcEM3Q2M7RW9DOENkO0F6RDhyT0o7O0F5RHpyT0E7O0VBRUU7QXpENHJPRjs7QXlEbnJPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EdS9OakI7QTBCcnZPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURrd092RztBQUNGO0EwRHZ2T0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEb3ZPTjtBMEQvdU9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRHlnT2pCO0EwRDF1T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEbXhPN0w7QTBEdHVPSTtFQUtJO0ExRG91T1I7QTBEaHVPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQyeE83TDtBMEQ3dE9JO0VBS0k7QTFEMnRPUjs7QXlEM3RPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EK2hPakI7QTBCN3hPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQweU92RztBQUNGO0EwRC94T0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFENHhPTjtBMER2eE9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRGlqT2pCO0EwRGx4T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEMnpPN0w7QTBEOXdPSTtFQUtJO0ExRDR3T1I7QTBEeHdPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMURtME83TDtBMERyd09JO0VBS0k7QTFEbXdPUjs7QXlEbndPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EdWtPakI7QTBCcjBPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURrMU92RztBQUNGO0EwRHYwT0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEbzBPTjtBMEQvek9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRHlsT2pCO0EwRDF6T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEbTJPN0w7QTBEdHpPSTtFQUtJO0ExRG96T1I7QTBEaHpPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQyMk83TDtBMEQ3eU9JO0VBS0k7QTFEMnlPUjs7QXlEM3lPRTtFQ2xFQTtFZkFFLHNCUW9RYTtFT2xRZixrQlBrUWU7QW5EK21PakI7QTBCNzJPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQwM092RztBQUNGO0EwRC8yT0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFENDJPTjtBMER2Mk9FO0VBRUU7RUFDQSxzQlB3T2E7RU92T2Isa0JQdU9hO0FuRGlvT2pCO0EwRGwyT0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEMjRPN0w7QTBEOTFPSTtFQUtJO0ExRDQxT1I7QTBEeDFPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMURtNU83TDtBMERyMU9JO0VBS0k7QTFEbTFPUjs7QXlEbjFPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EdXBPakI7QTBCcjVPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURrNk92RztBQUNGO0EwRHY1T0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEbzVPTjtBMEQvNE9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRHlxT2pCO0EwRDE0T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEbTdPN0w7QTBEdDRPSTtFQUtJO0ExRG80T1I7QTBEaDRPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQyN083TDtBMEQ3M09JO0VBS0k7QTFEMjNPUjs7QXlEMzNPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EK3JPakI7QTBCNzdPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQwOE92RztBQUNGO0EwRC83T0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFENDdPTjtBMER2N09FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRGl0T2pCO0EwRGw3T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEMjlPN0w7QTBEOTZPSTtFQUtJO0ExRDQ2T1I7QTBEeDZPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMURtK083TDtBMERyNk9JO0VBS0k7QTFEbTZPUjs7QXlEbjZPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EdXVPakI7QTBCcitPRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURrL092RztBQUNGO0EwRHYrT0U7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEbytPTjtBMEQvOU9FO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRHl2T2pCO0EwRDE5T0U7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEbWdQN0w7QTBEdDlPSTtFQUtJO0ExRG85T1I7QTBEaDlPVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQyZ1A3TDtBMEQ3OE9JO0VBS0k7QTFEMjhPUjs7QXlEMzhPRTtFQ2xFQTtFZkFFLHlCUW9RYTtFT2xRZixxQlBrUWU7QW5EK3dPakI7QTBCN2dQRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQwaFB2RztBQUNGO0EwRC9nUEU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFENGdQTjtBMER2Z1BFO0VBRUU7RUFDQSx5QlB3T2E7RU92T2IscUJQdU9hO0FuRGl5T2pCO0EwRGxnUEU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEMmlQN0w7QTBEOS9PSTtFQUtJO0ExRDQvT1I7QTBEeC9PVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMURtalA3TDtBMERyL09JO0VBS0k7QTFEbS9PUjs7QXlEOStPQTtFQUNFO0F6RGkvT0Y7QXlELytPRTtFQUNFO0F6RGkvT0o7O0F5RDUrT0U7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5ENnpPakI7QTBCM2pQRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRG0wT2Y7QUFDRjtBMER0L09FO0VBRUU7QTFEdS9PSjtBMERwL09FO0VBRUUsY1AyS2E7RU8xS2I7QTFEcS9PSjtBMERsL09FO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRGcxT2pCO0EwRGovT0k7RUFLSTtBMUQrK09SO0EwRDMrT1c7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EdzFPakI7QTBEMytPSTtFQUtJO0ExRHkrT1I7O0F5RC9nUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5EZzJPakI7QTBCOWxQRTtFQUNFO0lnQ3NFQSxjQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRHMyT2Y7QUFDRjtBMER6aFBFO0VBRUU7QTFEMGhQSjtBMER2aFBFO0VBRUUsY1AyS2E7RU8xS2I7QTFEd2hQSjtBMERyaFBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRG0zT2pCO0EwRHBoUEk7RUFLSTtBMURraFBSO0EwRDlnUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EMjNPakI7QTBEOWdQSTtFQUtJO0ExRDRnUFI7O0F5RGxqUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5EbTRPakI7QTBCam9QRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRHk0T2Y7QUFDRjtBMEQ1alBFO0VBRUU7QTFENmpQSjtBMEQxalBFO0VBRUUsY1AyS2E7RU8xS2I7QTFEMmpQSjtBMER4alBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRHM1T2pCO0EwRHZqUEk7RUFLSTtBMURxalBSO0EwRGpqUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EODVPakI7QTBEampQSTtFQUtJO0ExRCtpUFI7O0F5RHJsUEU7RUNQQSxXUDJMZTtFTzFMZixrQlAwTGU7QW5EczZPakI7QTBCcHFQRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCxzQlBzTGE7SU9yTGIsa0JQcUxhO0VuRDQ2T2Y7QUFDRjtBMEQvbFBFO0VBRUU7QTFEZ21QSjtBMEQ3bFBFO0VBRUUsV1AyS2E7RU8xS2I7QTFEOGxQSjtBMEQzbFBFO0VBRUU7RUFDQSxzQlBvS2E7RU9uS2Isa0JQbUthO0FuRHk3T2pCO0EwRDFsUEk7RUFLSTtBMUR3bFBSO0EwRHBsUFc7RUFDUDtFQUNBLHNCUHNKYTtFT3JKYixrQlBxSmE7QW5EaThPakI7QTBEcGxQSTtFQUtJO0ExRGtsUFI7O0F5RHhuUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5EeThPakI7QTBCdnNQRTtFQUNFO0lnQ3NFQSxjQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRCs4T2Y7QUFDRjtBMERsb1BFO0VBRUU7QTFEbW9QSjtBMERob1BFO0VBRUUsY1AyS2E7RU8xS2I7QTFEaW9QSjtBMEQ5blBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRDQ5T2pCO0EwRDduUEk7RUFLSTtBMUQyblBSO0EwRHZuUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EbytPakI7QTBEdm5QSTtFQUtJO0ExRHFuUFI7O0F5RDNwUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5ENCtPakI7QTBCMXVQRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRGsvT2Y7QUFDRjtBMERycVBFO0VBRUU7QTFEc3FQSjtBMERucVBFO0VBRUUsY1AyS2E7RU8xS2I7QTFEb3FQSjtBMERqcVBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRCsvT2pCO0EwRGhxUEk7RUFLSTtBMUQ4cFBSO0EwRDFwUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EdWdQakI7QTBEMXBQSTtFQUtJO0ExRHdwUFI7O0F5RDlyUEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5EK2dQakI7QTBCN3dQRTtFQUNFO0lnQ3NFQSxjQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRHFoUGY7QUFDRjtBMER4c1BFO0VBRUU7QTFEeXNQSjtBMER0c1BFO0VBRUUsY1AyS2E7RU8xS2I7QTFEdXNQSjtBMERwc1BFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRGtpUGpCO0EwRG5zUEk7RUFLSTtBMURpc1BSO0EwRDdyUFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5EMGlQakI7QTBEN3JQSTtFQUtJO0ExRDJyUFI7O0F5RGp1UEU7RUNQQSxjUDJMZTtFTzFMZixxQlAwTGU7QW5Ea2pQakI7QTBCaHpQRTtFQUNFO0lnQ3NFQSxXQUxnRDtJQU1oRCx5QlBzTGE7SU9yTGIscUJQcUxhO0VuRHdqUGY7QUFDRjtBMEQzdVBFO0VBRUU7QTFENHVQSjtBMER6dVBFO0VBRUUsY1AyS2E7RU8xS2I7QTFEMHVQSjtBMER2dVBFO0VBRUU7RUFDQSx5QlBvS2E7RU9uS2IscUJQbUthO0FuRHFrUGpCO0EwRHR1UEk7RUFLSTtBMURvdVBSO0EwRGh1UFc7RUFDUDtFQUNBLHlCUHNKYTtFT3JKYixxQlBxSmE7QW5ENmtQakI7QTBEaHVQSTtFQUtJO0ExRDh0UFI7O0F5RHp2UEE7RUFDRSxnQnBDbEZxQjtFb0NtRnJCLGNoQ3hGeUM7RWdDeUZ6QyxxQmhDaEd5QztBekI0MVAzQztBMEJwMVBFO0VBQ0U7SStCMEZBLGNoQzNGdUM7SWdDNEZ2QywwQmhDbkd1QztFekJnMlB6QztBQUNGO0F5RDN2UEU7RUFFRSwwQmhDeEd1QztBekJvMlAzQztBeUR6dlBFO0VBRUUsYzdCckdTO0U2QnNHVDtBekQwdlBKOztBeUQvdVBBO0VDTUU7RXBDTEkscUJBdENhO0VvQzZDakIsZ0JyQmhJZ0I7RURZZDtBcENrMlBKO0EwRDF1UEU7OztFQUVFLGlCckNqSWM7RXFDa0lkLGtCckNsSWM7RXFDbUlkO0ExRDZ1UEo7O0F5RHp2UEE7RUNFRTtFcENMSSxzQkF0Q2E7RW9DNkNqQixnQnJCL0hnQjtFRFdkO0FwQ2czUEo7QTBEeHZQRTs7O0VBRUUsa0JyQ2hJYztFcUNpSWQsbUJyQ2pJYztFcUNrSWQ7QTFEMnZQSjs7QXlEOXZQQTtFQUNFO0VBQ0E7QXpEaXdQRjtBeUQ5dlBFO0VBQ0Usa0I1Qm5Ga0I7QTdCbTFQdEI7O0F5RHh2UEU7OztFQUNFO0F6RDZ2UEo7O0F5RHp2UEE7RUFDRTtBekQ0dlBGOztBeUR6dlBBO0VBQ0U7QXpENHZQRjs7QXlEcHZQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEOHdQRjtBMEQ1d1BFO0VBQ0UsV0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkRpcVBqQjtBMEQzd1BFO0VBRUU7QTFENHdQSjtBMER6d1BFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMUQwd1BKO0EwRHZ3UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EOHFQakI7QTBEdHdQSTtFQUtJO0ExRG93UFI7QTBEaHdQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkRzclBqQjtBMERod1BJO0VBS0k7QTFEOHZQUjs7QXlEeHhQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEa3pQRjtBMERoelBFO0VBQ0UsY0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkRxc1BqQjtBMEQveVBFO0VBRUU7QTFEZ3pQSjtBMEQ3eVBFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMUQ4eVBKO0EwRDN5UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5Ea3RQakI7QTBEMXlQSTtFQUtJO0ExRHd5UFI7QTBEcHlQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkQwdFBqQjtBMERweVBJO0VBS0k7QTFEa3lQUjs7QXlENXpQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEczFQRjtBMERwMVBFO0VBQ0UsV0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkR5dVBqQjtBMERuMVBFO0VBRUU7QTFEbzFQSjtBMERqMVBFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMURrMVBKO0EwRC8wUEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5Ec3ZQakI7QTBEOTBQSTtFQUtJO0ExRDQwUFI7QTBEeDBQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkQ4dlBqQjtBMER4MFBJO0VBS0k7QTFEczBQUjs7QXlEaDJQRTtFQ3RCQSxXUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEMDNQRjtBMER4M1BFO0VBQ0UsV0FQOEM7RUFROUMsc0JQOEdhO0VPN0diLGtCUDZHYTtBbkQ2d1BqQjtBMER2M1BFO0VBRUU7QTFEdzNQSjtBMERyM1BFO0VBRUUsV1BtR2E7RU9sR2I7RUFDQTtBMURzM1BKO0EwRG4zUEU7RUFFRTtFQUNBLHNCUDJGYTtFTzFGYixrQlAwRmE7QW5EMHhQakI7QTBEbDNQSTtFQUtJO0ExRGczUFI7QTBENTJQVztFQUNQO0VBQ0Esc0JQNkVhO0VPNUViLGtCUDRFYTtBbkRreVBqQjtBMEQ1MlBJO0VBS0k7QTFEMDJQUjs7QXlEcDRQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEODVQRjtBMEQ1NVBFO0VBQ0UsY0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkRpelBqQjtBMEQzNVBFO0VBRUU7QTFENDVQSjtBMER6NVBFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMUQwNVBKO0EwRHY1UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EOHpQakI7QTBEdDVQSTtFQUtJO0ExRG81UFI7QTBEaDVQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkRzMFBqQjtBMERoNVBJO0VBS0k7QTFEODRQUjs7QXlEeDZQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEazhQRjtBMERoOFBFO0VBQ0UsV0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkRxMVBqQjtBMEQvN1BFO0VBRUU7QTFEZzhQSjtBMEQ3N1BFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMUQ4N1BKO0EwRDM3UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EazJQakI7QTBEMTdQSTtFQUtJO0ExRHc3UFI7QTBEcDdQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkQwMlBqQjtBMERwN1BJO0VBS0k7QTFEazdQUjs7QXlENThQRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEcytQRjtBMERwK1BFO0VBQ0UsY0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkR5M1BqQjtBMERuK1BFO0VBRUU7QTFEbytQSjtBMERqK1BFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMURrK1BKO0EwRC85UEU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EczRQakI7QTBEOTlQSTtFQUtJO0ExRDQ5UFI7QTBEeDlQVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkQ4NFBqQjtBMER4OVBJO0VBS0k7QTFEczlQUjs7QXlEaC9QRTtFQ3RCQSxjUHFIZTtFT3BIZjtFQUNBO0VBQ0E7QTFEMGdRRjtBMER4Z1FFO0VBQ0UsV0FQOEM7RUFROUMseUJQOEdhO0VPN0diLHFCUDZHYTtBbkQ2NVBqQjtBMER2Z1FFO0VBRUU7QTFEd2dRSjtBMERyZ1FFO0VBRUUsY1BtR2E7RU9sR2I7RUFDQTtBMURzZ1FKO0EwRG5nUUU7RUFFRTtFQUNBLHlCUDJGYTtFTzFGYixxQlAwRmE7QW5EMDZQakI7QTBEbGdRSTtFQUtJO0ExRGdnUVI7QTBENS9QVztFQUNQO0VBQ0EseUJQNkVhO0VPNUViLHFCUDRFYTtBbkRrN1BqQjtBMEQ1L1BJO0VBS0k7QTFEMC9QUjs7QXlEMWdRRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0Q4cVFoQjtBMEJ6clFFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRHNzUXZHO0FBQ0Y7QTBEM3JRRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUR3clFOO0EwRG5yUUU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEZ3NRaEI7QTBEOXFRRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUR1dFE3TDtBMEQxcVFJO0VBS0k7QTFEd3FRUjtBMERwcVFXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRCt0UTdMO0EwRGpxUUk7RUFLSTtBMUQrcFFSOztBeURsalFFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRHN0UWhCO0EwQmp1UUU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEOHVRdkc7QUFDRjtBMERudVFFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRGd1UU47QTBEM3RRRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0R3dVFoQjtBMER0dFFFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRCt2UTdMO0EwRGx0UUk7RUFLSTtBMURndFFSO0EwRDVzUVc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEdXdRN0w7QTBEenNRSTtFQUtJO0ExRHVzUVI7O0F5RDFsUUU7RUMvS0E7RWZBRSx5QmdCaUJZO0VEZmQscUJDZWM7QTNEOHZRaEI7QTBCendRRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURzeFF2RztBQUNGO0EwRDN3UUU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEd3dRTjtBMERud1FFO0VBRUU7RUFDQSx5QkNYWTtFRFlaLHFCQ1pZO0EzRGd4UWhCO0EwRDl2UUU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEdXlRN0w7QTBEMXZRSTtFQUtJO0ExRHd2UVI7QTBEcHZRVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQreVE3TDtBMERqdlFJO0VBS0k7QTFEK3VRUjs7QXlEbG9RRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0RzeVFoQjtBMEJqelFFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRDh6UXZHO0FBQ0Y7QTBEbnpRRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMURnelFOO0EwRDN5UUU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEd3pRaEI7QTBEdHlRRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUQrMFE3TDtBMERseVFJO0VBS0k7QTFEZ3lRUjtBMEQ1eFFXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRHUxUTdMO0EwRHp4UUk7RUFLSTtBMUR1eFFSOztBeUQxcVFFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRDgwUWhCO0EwQnoxUUU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEczJRdkc7QUFDRjtBMEQzMVFFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRHcxUU47QTBEbjFRRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0RnMlFoQjtBMEQ5MFFFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRHUzUTdMO0EwRDEwUUk7RUFLSTtBMUR3MFFSO0EwRHAwUVc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEKzNRN0w7QTBEajBRSTtFQUtJO0ExRCt6UVI7O0F5RGx0UUU7RUMvS0E7RWZBRSx5QmdCaUJZO0VEZmQscUJDZWM7QTNEczNRaEI7QTBCajRRRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQ4NFF2RztBQUNGO0EwRG40UUU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEZzRRTjtBMEQzM1FFO0VBRUU7RUFDQSx5QkNYWTtFRFlaLHFCQ1pZO0EzRHc0UWhCO0EwRHQzUUU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEKzVRN0w7QTBEbDNRSTtFQUtJO0ExRGczUVI7QTBENTJRVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUR1NlE3TDtBMER6MlFJO0VBS0k7QTFEdTJRUjs7QXlEMXZRRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0Q4NVFoQjtBMEJ6NlFFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRHM3UXZHO0FBQ0Y7QTBEMzZRRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUR3NlFOO0EwRG42UUU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEZzdRaEI7QTBEOTVRRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUR1OFE3TDtBMEQxNVFJO0VBS0k7QTFEdzVRUjtBMERwNVFXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRCs4UTdMO0EwRGo1UUk7RUFLSTtBMUQrNFFSOztBeURseVFFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRHM4UWhCO0EwQmo5UUU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEODlRdkc7QUFDRjtBMERuOVFFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRGc5UU47QTBEMzhRRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0R3OVFoQjtBMER0OFFFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRCsrUTdMO0EwRGw4UUk7RUFLSTtBMURnOFFSO0EwRDU3UVc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEdS9RN0w7QTBEejdRSTtFQUtJO0ExRHU3UVI7O0F5RDEwUUU7RUMvS0E7RWZBRSxzQmdCaUJZO0VEZmQsa0JDZWM7QTNEOCtRaEI7QTBCei9RRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURzZ1J2RztBQUNGO0EwRDMvUUU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEdy9RTjtBMERuL1FFO0VBRUU7RUFDQSxzQkNYWTtFRFlaLGtCQ1pZO0EzRGdnUmhCO0EwRDkrUUU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEdWhSN0w7QTBEMStRSTtFQUtJO0ExRHcrUVI7QTBEcCtRVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQraFI3TDtBMERqK1FJO0VBS0k7QTFEKzlRUjs7QXlEbDNRRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0RzaFJoQjtBMEJqaVJFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRDhpUnZHO0FBQ0Y7QTBEbmlSRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMURnaVJOO0EwRDNoUkU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEd2lSaEI7QTBEdGhSRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUQralI3TDtBMERsaFJJO0VBS0k7QTFEZ2hSUjtBMEQ1Z1JXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRHVrUjdMO0EwRHpnUkk7RUFLSTtBMUR1Z1JSOztBeUQxNVFFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRDhqUmhCO0EwQnprUkU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEc2xSdkc7QUFDRjtBMEQza1JFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRHdrUk47QTBEbmtSRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0RnbFJoQjtBMEQ5alJFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRHVtUjdMO0EwRDFqUkk7RUFLSTtBMUR3alJSO0EwRHBqUlc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEK21SN0w7QTBEampSSTtFQUtJO0ExRCtpUlI7O0F5RGw4UUU7RUMvS0E7RWZBRSx5QmdCaUJZO0VEZmQscUJDZWM7QTNEc21SaEI7QTBCam5SRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMUQ4blJ2RztBQUNGO0EwRG5uUkU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEZ25STjtBMEQzbVJFO0VBRUU7RUFDQSx5QkNYWTtFRFlaLHFCQ1pZO0EzRHduUmhCO0EwRHRtUkU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEK29SN0w7QTBEbG1SSTtFQUtJO0ExRGdtUlI7QTBENWxSVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUR1cFI3TDtBMER6bFJJO0VBS0k7QTFEdWxSUjs7QXlEMStRRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0Q4b1JoQjtBMEJ6cFJFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRHNxUnZHO0FBQ0Y7QTBEM3BSRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUR3cFJOO0EwRG5wUkU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEZ3FSaEI7QTBEOW9SRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUR1clI3TDtBMEQxb1JJO0VBS0k7QTFEd29SUjtBMERwb1JXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRCtyUjdMO0EwRGpvUkk7RUFLSTtBMUQrblJSOztBeURsaFJFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRHNyUmhCO0EwQmpzUkU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEOHNSdkc7QUFDRjtBMERuc1JFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRGdzUk47QTBEM3JSRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0R3c1JoQjtBMER0clJFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRCt0UjdMO0EwRGxyUkk7RUFLSTtBMURnclJSO0EwRDVxUlc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEdXVSN0w7QTBEenFSSTtFQUtJO0ExRHVxUlI7O0F5RDFqUkU7RUMvS0E7RWZBRSx5QmdCaUJZO0VEZmQscUJDZWM7QTNEOHRSaEI7QTBCenVSRTtFQUNFO0lnQ0RBO0lmTkEseUJlRDJEO0lBUzNELHFCQVRxRztFMURzdlJ2RztBQUNGO0EwRDN1UkU7RUFFRTtFZmJBLHlCZUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFEd3VSTjtBMERudVJFO0VBRUU7RUFDQSx5QkNYWTtFRFlaLHFCQ1pZO0EzRGd2UmhCO0EwRDl0UkU7RUFFRTtFQUNBLHlCQXZDK0k7RUEyQy9JLHFCQTNDeUw7QTFEdXdSN0w7QTBEMXRSSTtFQUtJO0ExRHd0UlI7QTBEcHRSVztFQUNQO0VBQ0EseUJBeEQrSTtFQTREL0kscUJBNUR5TDtBMUQrd1I3TDtBMERqdFJJO0VBS0k7QTFEK3NSUjs7QXlEbG1SRTtFQy9LQTtFZkFFLHlCZ0JpQlk7RURmZCxxQkNlYztBM0Rzd1JoQjtBMEJqeFJFO0VBQ0U7SWdDREE7SWZOQSx5QmVEMkQ7SUFTM0QscUJBVHFHO0UxRDh4UnZHO0FBQ0Y7QTBEbnhSRTtFQUVFO0VmYkEseUJlRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMURneFJOO0EwRDN3UkU7RUFFRTtFQUNBLHlCQ1hZO0VEWVoscUJDWlk7QTNEd3hSaEI7QTBEdHdSRTtFQUVFO0VBQ0EseUJBdkMrSTtFQTJDL0kscUJBM0N5TDtBMUQreVI3TDtBMERsd1JJO0VBS0k7QTFEZ3dSUjtBMEQ1dlJXO0VBQ1A7RUFDQSx5QkF4RCtJO0VBNEQvSSxxQkE1RHlMO0ExRHV6UjdMO0EwRHp2Ukk7RUFLSTtBMUR1dlJSOztBeUQxb1JFO0VDL0tBO0VmQUUseUJnQmlCWTtFRGZkLHFCQ2VjO0EzRDh5UmhCO0EwQnp6UkU7RUFDRTtJZ0NEQTtJZk5BLHlCZUQyRDtJQVMzRCxxQkFUcUc7RTFEczBSdkc7QUFDRjtBMEQzelJFO0VBRUU7RWZiQSx5QmVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExRHd6Uk47QTBEbnpSRTtFQUVFO0VBQ0EseUJDWFk7RURZWixxQkNaWTtBM0RnMFJoQjtBMEQ5eVJFO0VBRUU7RUFDQSx5QkF2QytJO0VBMkMvSSxxQkEzQ3lMO0ExRHUxUjdMO0EwRDF5Ukk7RUFLSTtBMUR3eVJSO0EwRHB5Ulc7RUFDUDtFQUNBLHlCQXhEK0k7RUE0RC9JLHFCQTVEeUw7QTFEKzFSN0w7QTBEanlSSTtFQUtJO0ExRCt4UlI7O0E0RG4yUkE7RUFDRTtFQUNBO0VBQ0E7RUFVRSxzQnZCTWdCO0FyQ3UxUnBCO0F1QjEyUlE7RXFDTUo7QTVEdTJSSjtBd0I3MlJRO0VvQ1NKO0E1RHUyUko7O0E0RC8xUkE7RUFDRTtFQUNBO0E1RGsyUkY7O0E0RGgyUkE7RUFDRSxzQnZCSGtCO0FyQ3MyUnBCOztBNERqMlJBO0VBQ0U7RUFDQTtBNURvMlJGOztBNERsMlJBO0VBQ0U7QTVEcTJSRjs7QTREbjJSQTtFQUNFO0E1RHMyUkY7O0F1QnQ0UlE7RXFDMENGLDBCVDROVztBbkRvb1JqQjtBd0IxNFJRO0VvQzZDRiwyQlR5Tlc7QW5EdW9SakI7QTRENzFSSTtFQUNFLGNUcU5XO0FuRDBvUmpCOztBdUJoNVJRO0VxQzBDRiwwQlQ0Tlc7QW5EOG9SakI7QXdCcDVSUTtFb0M2Q0YsMkJUeU5XO0FuRGlwUmpCO0E0RHYyUkk7RUFDRSxjVHFOVztBbkRvcFJqQjs7QXVCMTVSUTtFcUMwQ0YsMEJUNE5XO0FuRHdwUmpCO0F3Qjk1UlE7RW9DNkNGLDJCVHlOVztBbkQycFJqQjtBNERqM1JJO0VBQ0UsY1RxTlc7QW5EOHBSakI7O0F1QnA2UlE7RXFDMENGLHVCVDROVztBbkRrcVJqQjtBd0J4NlJRO0VvQzZDRix3QlR5Tlc7QW5EcXFSakI7QTREMzNSSTtFQUNFLFdUcU5XO0FuRHdxUmpCOztBdUI5NlJRO0VxQzBDRiwwQlQ0Tlc7QW5ENHFSakI7QXdCbDdSUTtFb0M2Q0YsMkJUeU5XO0FuRCtxUmpCO0E0RHI0Ukk7RUFDRSxjVHFOVztBbkRrclJqQjs7QXVCeDdSUTtFcUMwQ0YsMEJUNE5XO0FuRHNyUmpCO0F3QjU3UlE7RW9DNkNGLDJCVHlOVztBbkR5clJqQjtBNEQvNFJJO0VBQ0UsY1RxTlc7QW5ENHJSakI7O0F1Qmw4UlE7RXFDMENGLDBCVDROVztBbkRnc1JqQjtBd0J0OFJRO0VvQzZDRiwyQlR5Tlc7QW5EbXNSakI7QTREejVSSTtFQUNFLGNUcU5XO0FuRHNzUmpCOztBdUI1OFJRO0VxQzBDRiwwQlQ0Tlc7QW5EMHNSakI7QXdCaDlSUTtFb0M2Q0YsMkJUeU5XO0FuRDZzUmpCO0E0RG42Ukk7RUFDRSxjVHFOVztBbkRndFJqQjs7QTZEdDlSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUEscUJDQzBCO0VEQTFCO0VBQ0E7RUFDQTtFekJLRTtFeUJGQTtFQUNBO0E3RHU5Uko7QTZEcDlSRTtFQUNFO0VBQ0E7QTdEczlSSjtBNkRuOVJFO0VBQ0U7RUFDQTtBN0RxOVJKO0E2RG45Ukk7RUFDRTtFekJIRjtFQUNBO0FwQ3k5Uko7QTZEbjlSSTtFQUNFO0V6Qk1GO0VBQ0E7QXBDZzlSSjtBNkRsOVJFOztFQUVFO0E3RG85Uko7O0E2RC84UkE7O0VBRUU7QTdEazlSRjtBNkRqOVJFOztFQUNFO0VBQ0E7QTdEbzlSSjs7QTZEaDlSQTtFQUdFO0VBR0E7RUFDQSxnQkN4RDBCO0E5RHVnUzVCOztBNkR6OFJBO0VBQ0Usc0JDaEUwQjtBOUQ0Z1M1Qjs7QTZEejhSQTtFQUNFO0VBQ0E7QTdENDhSRjs7QTZEejhSQTtFQUNFO0E3RDQ4UkY7O0EwQi9nU0U7RUFDRTtJbUN1RUE7RTdENDhSRjtBQUNGO0F1QjdoU1E7RXNDcUZGLG9CQ2xGc0I7QTlENmhTNUI7QXdCaGlTUTtFcUN3RkYscUJDckZzQjtBOURnaVM1Qjs7QTZEbDhSQTtFQUNFO0VBQ0E7RUFDQTtFQUdFO0VBQ0E7QTdEbThSSjtBNkRoOFJFO0V6QjdGRTtBcENnaVNKO0E2RDk3Ukk7RUFDRTtBN0RnOFJOO0E2RDc3UkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RCs3Uko7O0E2RDM3UkE7RUFDRTtFQUNBO0VBR0U7RUFDQTtBN0Q0N1JKO0E2RHo3UkU7RXpCeEhFO0FwQ29qU0o7O0E2RGw3UkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0RxN1JGOztBNkRsN1JBO0VBQ0U7RUFDQTtBN0RxN1JGOztBNkRqN1JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCQzFKMEI7QTlEOGtTNUI7O0E2RGo3UkE7OztFQUdFO0VBQ0E7QTdEbzdSRjs7QTZEajdSQTs7RXpCdEpJO0VBQ0E7QXBDNGtTSjs7QTZEbDdSQTs7RXpCN0lJO0VBQ0E7QXBDb2tTSjs7QTZELzZSRTtFQUNFLG1CQ2pMaUI7QTlEbW1TckI7QStEemlTSTtFRnFISjtJQU1JO0lBQ0E7SUFDQTtJQUNBO0U3RGs3UkY7RTZEaDdSRTtJQUVFO0lBQ0Esa0JDN0xlO0lEOExmO0lBQ0EsaUJDL0xlO0U5RGduU25CO0FBQ0Y7O0E2RHI2UkU7RUFDRSxtQkM3TWlCO0E5RHFuU3JCO0ErRDNqU0k7RUYrSUo7SUFRSTtJQUNBO0U3RHc2UkY7RTZEcjZSRTtJQUVFO0lBQ0E7RTdEczZSSjtFdUJ6b1NNO0lzQ3VPRTtJQUNBO0U3RHE2UlI7RXdCN29TTTtJcUMyT0U7SUFDQTtFN0RxNlJSO0U2RC81Uk07SXpCcE5KO0lBQ0E7RXBDc25TRjtFNkRoNlJROztJQUdFO0U3RGk2UlY7RTZELzVSUTs7SUFHRTtFN0RnNlJWO0U2RDU1Uk07SXpCck5KO0lBQ0E7RXBDb25TRjtFNkQ3NVJROztJQUdFO0U3RDg1UlY7RTZENTVSUTs7SUFHRTtFN0Q2NVJWO0FBQ0Y7O0E2RGg1UkU7RUFDRSxzQkN6UndCO0E5RDRxUzVCO0ErRHptU0k7RUZvTko7SUFNSSxvQkNqUm1CO1NEaVJuQixlQ2pSbUI7SURrUm5CLHdCQ2pSbUI7U0RpUm5CLG1CQ2pSbUI7SURrUm5CO0lBQ0E7RTdEbTVSRjtFNkRqNVJFO0lBQ0U7SUFDQTtFN0RtNVJKO0FBQ0Y7O0E2RHo0UkU7RUFDRTtBN0Q0NFJKO0E2RDE0Ukk7RUFDRTtFekJoUkY7RUFDQTtBcEM2cFNKO0E2RDE0Ukk7RXpCbFNBO0VBQ0E7QXBDK3FTSjtBNkQxNFJJO0V6Qi9TQTtFeUJpVEU7QTdENDRSTjs7QTZEdjRSQTtFQUNFO0VBQ0E7QTdEMDRSRjs7QTZEdjRSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjakM1VVc7RWlDNlVYO0VBQ0EsdUJDL1RpQjtFRGdVakI7RUFFRTtBN0R5NFJKOztBNkRyNFJBO0VBQ0U7QTdEdzRSRjtBdUJqdVNRO0VzQzRWSjtFQUNBO0E3RHc0Uko7QXdCcnVTUTtFcUNnV0o7RUFDQTtBN0R3NFJKOztBNkRwNFJBO0VBQ0U7RUFDQSxjakM5Vlc7QTVCcXVTYjtBNkRyNFJFO0VBQ0UsY2pDdldTO0VpQ3dXVDtBN0R1NFJKOztBNkRoNFJFO0VHcFhBO0FoRXd2U0Y7O0E2RHA0UkU7RUdwWEE7QWhFNHZTRjs7QTZEeDRSRTtFR3BYQTtBaEVnd1NGOztBNkQ1NFJFO0VHcFhBO0FoRW93U0Y7O0E2RGg1UkU7RUdwWEE7QWhFd3dTRjs7QTZEcDVSRTtFR3BYQTtBaEU0d1NGOztBNkR4NVJFO0VHcFhBO0FoRWd4U0Y7O0E2RDU1UkU7RUdwWEE7QWhFb3hTRjs7QTZEMzVSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEODVSRjs7QStEcnRTSTtFRjZUQTtJQUNFO1NBQUE7RTdENDVSSjtBQUNGO0FpRXZ4U0E7RUFDRTtBakV5eFNGOztBaUV0eFNBO0VBQ0U7QWpFeXhTRjs7QWlFdHhTQTtFQUNFO0VBQ0E7RUFDQTtBakV5eFNGO0FrRWh6U0U7RUFDRTtFQUNBO0VBQ0E7QWxFa3pTSjs7QWlFMXhTQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakJsQkksc0NpQm1CSjtBakU2eFNGO0FnRDV5U007RWlCUU47SWpCUFE7RWhEK3lTTjtBQUNGOztBaUUveFNBOzs7RUFHRTtBakVreVNGOztBaUUveFNBOztFQUVFO0FqRWt5U0Y7O0FpRS94U0E7O0VBRUU7QWpFa3lTRjs7QWlFenhTRTtFQUNFO0VBQ0E7RUFDQTtBakU0eFNKO0FpRXp4U0U7OztFQUdFO0VBQ0E7QWpFMnhTSjtBaUV4eFNFOztFQUVFO0VBQ0E7RWpCNURFLDJCaUI2REY7QWpFMHhTSjtBZ0RuMVNNO0VpQnFESjs7SWpCcERNO0VoRHUxU047QUFDRjs7QWlFdnhTQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLFVFNUZnQztFRjZGaEMsV3JDN0ZPO0VxQzhGUDtFQUNBLFlFOUZnQztFbkJXNUIsOEJpQm9GSjtBakV5eFNGO0FnRHoyU007RWlCa0VOOztJakJqRVE7RWhENjJTTjtBQUNGO0EwQmozU0U7OztFdUNzRkUsV3JDcEdLO0VxQ3FHTDtFQUNBO0VBQ0EsWUVyRzhCO0FuRXE0U2xDOztBaUU3eFNBO0VBQ0U7QWpFZ3lTRjs7QWlFM3hTQTtFQUNFO0FqRTh4U0Y7O0FpRXZ4U0E7O0VBRUU7RUFDQSxXRTVHNkI7RUY2RzdCLFlFN0c2QjtFRjhHN0I7QWpFMHhTRjs7QWlFeHhTQTtFQUNFO0FqRTJ4U0Y7O0FpRXp4U0E7RUFDRTtBakU0eFNGOztBaUVueFNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFRQSxpQkUzSmdDO0VGNEpoQyxnQkU1SmdDO0VGNkpoQztBakUrd1NGO0F1QjU2U1E7RTBDcUpKO0FqRTB4U0o7QXdCLzZTUTtFeUN3Sko7QWpFMHhTSjtBaUVueFNFO0VBQ0U7RUFDQTtFQUNBLFdFN0prQztFRjhKbEMsV0U3SmtDO0VGOEpsQyxpQkU1SmtDO0VGNkpsQyxnQkU3SmtDO0VGOEpsQztFQUNBO0VBQ0Esc0JyQ3hLSztFcUN5S0w7RUFFQTtFQUNBO0VBQ0E7RWpCaktFLDZCaUJrS0Y7QWpFb3hTSjtBZ0RsN1NNO0VpQitJSjtJakI5SU07RWhEcTdTTjtBQUNGO0FpRXR4U0U7RUFDRTtBakV3eFNKOztBaUUvd1NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXckNuTU87RXFDb01QO0FqRWt4U0Y7O0FvRTE5U0E7RUFDRTtBcEU2OVNGOztBb0UxOVNBO0VBQ0U7QXBFNjlTRjs7QW9FMTlTQTtFQUNFO0tBQUE7VUFBQTtBcEU2OVNGOztBcUV0K1NBO0VBQ0U7RS9DOEhJLG9CQXRDYTtFK0N0RmpCLGdCaERjcUI7RWdEYnJCO0VBQ0E7RUFFRTtFQUNBO0FyRXcrU0o7QTBCcCtTRTtFQUNFO0kyQ0FBO0lBRUU7RXJFcytTSjtBQUNGO0EwQnArU0U7RTJDR0k7QXJFbytTTjs7QXFFejlTQTtFQUNFO0VBQ0E7RUFDQTtBckU0OVNGOztBcUV0OVNBO0VBQ0U7QXJFeTlTRjs7QXNFbGdUQTtFaER1RUk7RWdEckVGLGMxQzBGTTtFMEN6Rk47QXRFcWdURjtBc0VsZ1RFO0VBQ0U7QXRFb2dUSjs7QXNFLy9TQTtFQUNFO0VoRDBERTtFZ0R4REYsVzFDWk87RTBDYVAseUIxQ0RXO0VRRVQ7QXBDa2dUSjtBc0UvL1NFO0VBQ0U7RWhEa0RBO0VnRGhEQSxnQmpEUG1CO0FyQndnVHZCOztBc0UzL1NBO0VBQ0U7RWhEeUNFO0VnRHZDRixjMUNqQlc7QTVCK2dUYjtBc0UzL1NFO0VoRG9DRTtFZ0RsQ0E7RUFDQTtBdEU2L1NKOztBc0V4L1NBO0VBQ0UsaUJDL0IyQjtFRGdDM0I7QXRFMi9TRjs7QXdFaGlUQTtFQUNFO0VBQ0E7RUFDQTtBeEVtaVRGO0F1QjNpVFE7RWlEVUo7QXhFb2lUSjtBd0I5aVRRO0VnRGFKO0F4RW9pVEo7O0F3RWhpVEE7RUFDRTtFQUNBLGtCQ3BCeUI7QXpFdWpUM0I7O0F3RWhpVEE7RUFDRTtFQU9BO0VBQ0EsV0M3QitCO0VEOEIvQjtFQUNBO0F4RTZoVEY7QXVCOWpUUTtFaUR5Qko7QXhFd2lUSjtBd0Jqa1RRO0VnRDRCSjtBeEV3aVRKO0F3RWppVEU7RUFHSTtFQUNBO0U3QnJDRix5QjZCc0N1QjtBeEVpaVQzQjtBd0U3aFRFO0VBS0ksZ0QzQ3hDd0I7QTdCbWtUOUI7QXdFdmhURTtFQUVJO0F4RXdoVE47QXdFcGhURTtFQUVJO0VBQ0E7RUFDQTtBeEVxaFROO0F3RTdnVEk7RUFFSTtBeEU4Z1RSO0F3RTNnVE07RUFFSTtBeEU0Z1RWOztBd0VqZ1RBO0VBQ0U7RUFDQTtFQUNBO0F4RW9nVEY7QXdFNy9TRTtFQUNFO0VBQ0E7RUFPQTtFQUNBLFdDM0c2QjtFRDRHN0IsWUM1RzZCO0VENkc3QjtFQUNBO0VBQ0E7RUFHRTtFQUNBO0F4RXUvU047QXVCNW1UUTtFaUR1R0Y7QXhFd2dUTjtBd0IvbVRRO0VnRDBHRjtBeEV3Z1ROO0F3RXgvU0U7RUFDRTtFQUNBO0VBT0E7RUFDQSxXQ2xJNkI7RURtSTdCLFlDbkk2QjtFRG9JN0I7RUFDQTtBeEVvL1NKO0F1QjNuVFE7RWlEOEhGO0F4RWdnVE47QXdCOW5UUTtFZ0RpSUY7QXhFZ2dUTjs7QXdFaC9TRTtFcENuSUU7QXBDdW5USjtBd0UvK1NJO0VBRUk7QXhFZy9TUjtBd0UxK1NJO0VBRUk7RTdCOUpKLHlCTitCc0I7QXJDMm1UMUI7QXdFditTSTtFQUNFO0F4RXkrU047QXdFcCtTSTtFQUVJO0F4RXErU1I7QXdFbCtTSTtFQUVJO0F4RW0rU1I7O0F3RXg5U0U7RUFFRSxrQkMzS29DO0F6RXFvVHhDO0F3RXQ5U0k7RUFFSTtBeEV1OVNSO0F3RWo5U0k7RUFFSTtBeEVrOVNSOztBdUIvcFRRO0VpRDBOSjtBeEV5OFNKO0F3Qm5xVFE7RWdENk5KO0F4RXk4U0o7QXdFdDhTSTtFQU9FLGNDak5tQztFRGtObkM7RUFFQSxxQkNuTm1DO0F6RW9wVHpDO0F1QjNxVFE7RWlEa09BO0F4RTQ4U1I7QXdCOXFUUTtFZ0RxT0E7QXhFNDhTUjtBd0VwOFNJO0VBQ0U7RUFPQSx1QkM3Tm1DO0VEOE5uQyx3QkM5Tm1DO0VEK05uQyx5QjVDL09PO0U0Q2lQUCxxQkNsT21DO0V6QlhuQyx5SXdCOE9BO0VBRUU7QXhFODdTUjtBdUIxclRRO0VpRGdQQTtBeEU2OFNSO0F3QjdyVFE7RWdEbVBBO0F4RTY4U1I7QWdEaHJUTTtFd0I2TkY7SXhCNU5JO0VoRG1yVE47QUFDRjtBd0VuOFNJO0VBRUk7RUFFRjtBeEVtOFNOO0F3RTk3U0k7RUFFSTtBeEUrN1NSOztBd0VsN1NBO0VBQ0U7RUFDQTtFQUNBLG1DM0N4S2lCO0UyQ3lLakI7RWxEbktJLG1CQXRDYTtFa0Q0TWpCLGdCbkRyUnFCO0VtRHNSckIsZ0JuRGpSa0I7RW1Ea1JsQjtFQUNBO0VwQ3RSRTtFb0N5UkY7S0FBQTtVQUFBO0VBRUU7RUFDQTtFQUNBO0F4RWs3U0o7QXdFLzZTRTtFQUVJO0VBRUY7RUFLRSxnREN6UThCO0F6RW9yVHBDO0F3RXg2U0k7RUFPSTtFQUNBO0F4RW82U1I7QXdFLzVTRTtFQUVFO0VBT0E7QXhFMDVTSjtBdUIxdVRRO0VpRDJVRixzQjNDelVtQjtBN0IydVR6QjtBd0I3dVRRO0VnRDhVRixxQjNDNVVtQjtBN0I4dVR6QjtBd0U3NVNFO0VBRUk7RUFDQTtBeEU4NVNOO0F3RXo1U0U7RUFDRTtBeEUyNVNKO0F3RXY1U0U7RUFDRTtFQUNBO0F4RXk1U0o7O0F3RXI1U0E7RUFDRSxrQzNDalBpQjtFMkNrUGpCLG9CM0M3VjBCO0UyQzhWMUIsdUIzQzlWMEI7RVBnSHRCLHNCQXRDYTtBdEI2cVRuQjtBdUJsd1RRO0VpRDJXSixvQjNDL1Z3QjtBN0J5dlQ1QjtBd0Jyd1RRO0VnRDhXSixxQjNDbFd3QjtBN0I0dlQ1Qjs7QXdFcjVTQTtFQUNFLGdDM0M3UGlCO0UyQzhQakIsbUIzQ3JXMEI7RTJDc1cxQixzQjNDdFcwQjtFUDJHdEIscUJBdENhO0F0QjByVG5CO0F1Qi93VFE7RWlEd1hKLGtCM0N2V3dCO0E3Qml3VDVCO0F3Qmx4VFE7RWdEMlhKLG1CM0MxV3dCO0E3Qm93VDVCOztBd0VoNVNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUMzQ3BSaUI7RTJDcVJqQjtBeEVtNVNGOztBd0VoNVNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUMzQzVSaUI7RTJDNlJqQjtFQUNBO0F4RW01U0Y7QXdFajVTRTtFQUNFLGdEM0M3WTBCO0UyQytZeEI7QXhFazVTTjtBd0U3NFNFO0VBR0k7QXhFNjRTTjtBd0V4NFNJO0VBQ0UsaUJDaFZhO0F6RTB0VG5CO0F3RXQ0U0U7RUFDRTtBeEV3NFNKOztBd0VwNFNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1DM0NoVWlCO0UyQ2lVakI7RUFFQSxnQm5ENWFxQjtFbUQ2YXJCLGdCbkR4YWtCO0VtRHlhbEI7RXBDNWFFO0VvQ2diQTtFQUNBO0VBQ0E7QXhFbzRTSjtBd0VqNFNFO0VBQ0U7RUFDQTtFQU9BO0VBQ0E7RUFDQTtFQUNBLDZCM0M5VjBCO0UyQytWMUI7RUFDQSxnQm5EaGNnQjtFbURpY2hCO0VBQ0E7RXBDcmNBO0VvQ3djRTtFN0JwZEYseUI2QnFkdUI7QXhFNDNTM0I7QXVCbjFUUTtFaUR1Y0Y7QXhFKzRTTjtBd0J0MVRRO0VnRDBjRjtBeEUrNFNOOztBd0V2M1NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7QXhFMDNTRjtBd0V4M1NFO0VBQ0U7QXhFMDNTSjtBd0V0M1NJO0VBQTBCLG1FQ3phZTtBekVreVQ3QztBd0V4M1NJO0VBQTBCLG1FQzFhZTtBekVxeVQ3QztBd0UxM1NJO0VBQTBCLG1FQzNhZTtBekV3eVQ3QztBd0UxM1NFO0VBQ0U7QXhFNDNTSjtBd0V6M1NFO0VBQ0UsV0N4YnlDO0VEeWJ6QyxZQ3pieUM7RUQwYnpDO0U3QnhmQSx5QjZCMGZ1QjtFQUV2QixTQzVieUM7RXJDcER6QztFWUZFLG9Id0JxZkY7RXhCcmZFLDRHd0JxZkY7RUFDQTtVQUFBO0F4RXczU0o7QWdEMTJUTTtFd0J1ZUo7SXhCdGVNO0lBQUE7RWhENjJUTjtBQUNGO0F3RTMzU0k7RTdCbGdCQSx5QjZCb2dCeUI7QXhFNDNTN0I7QXdFdjNTRTtFQUNFLFdDbGRnQztFRG1kaEMsY0NsZGdDO0VEbWRoQztFQUNBLGVDbmRnQztFRG9kaEM7RXBDbGdCQTtFb0NzZ0JFO0F4RXUzU047QXdFbjNTRTtFQUNFLFdDemR5QztFRDBkekMsWUMxZHlDO0U5QjlEekMseUI2QjBoQnVCO0VBRXZCLFNDNWR5QztFckNwRHpDO0VZRkUsaUh3QnFoQkY7RXhCcmhCRSw0R3dCcWhCRjtFQUNBO09BQUE7QXhFazNTSjtBZ0RwNFRNO0V3QndnQko7SXhCdmdCTTtJQUFBO0VoRHU0VE47QUFDRjtBd0VyM1NJO0U3QmxpQkEseUI2Qm9pQnlCO0F4RXMzUzdCO0F3RWozU0U7RUFDRSxXQ2xmZ0M7RURtZmhDLGNDbGZnQztFRG1maEM7RUFDQSxlQ25mZ0M7RURxZjlCO0VBRUY7RXBDcmlCQTtBcEN1NVRKO0F3RTcyU0U7RUFDRSxXQ3pmeUM7RUQwZnpDLFlDMWZ5QztFRDJmekM7RUFDQSxvQjNDcmpCMEI7RTJDc2pCMUIsbUIzQ3RqQjBCO0VjTDFCLHlCNkI2akJ1QjtFQUV2QixTQy9meUM7RXJDcER6QztFWUZFLGdId0J3akJGO0V4QnhqQkUsNEd3QndqQkY7RUFDQTtBeEU0MlNKO0FnRGo2VE07RXdCd2lCSjtJeEJ2aUJNO0lBQUE7RWhEbzZUTjtBQUNGO0F3RS8yU0k7RTdCcmtCQSx5QjZCdWtCeUI7QXhFZzNTN0I7QXdFMzJTRTtFQUNFLFdDcmhCZ0M7RURzaEJoQyxjQ3JoQmdDO0VEc2hCaEM7RUFDQSxlQ3RoQmdDO0VEdWhCaEM7RUFDQTtFQUNBO0F4RTYyU0o7QXdFejJTRTtFQUVJO0VwQzdrQkY7QXBDdzdUSjtBd0V0MlNFO0VBQ0U7RUFFRTtFcENybEJGO0FwQzY3VEo7QXdFbDJTSTtFQUVJO0F4RW0yU1I7QXdFLzFTSTtFQUNFO0F4RWkyU047QXdFOTFTSTtFQUVJO0F4RSsxU1I7QXdFMzFTSTtFQUNFO0F4RTYxU047QXdFMTFTSTtFQUVJO0F4RTIxU1I7O0F3RXIxU0E7OztFeEJ6bkJNLDRHd0I0bkJKO0F4RXcxU0Y7QWdEaDlUTTtFd0JxbkJOOzs7SXhCcG5CUTtFaERxOVROO0FBQ0Y7O0EwRTErVEE7Ozs7RUFJRTtBMUU2K1RGOztBMEUxK1RBO0VBQ0U7QTFFNitURjtBMkV6OVRJO0VBQ0U7RUFPQSx1QnRDR2tCO0VzQ0ZsQjtFQXJDSjtFQUNBO0VBQ0E7RUFDQTtBM0UyL1RGO0F1QjMvVFE7RW9ENEJBLG9CdENTZ0I7QXJDeTlUeEI7QXdCOS9UUTtFbUQrQkEscUJ0Q01nQjtBckM0OVR4QjtBdUJqZ1VRO0VvRDREQTtBM0V3OFRSO0F3QnBnVVE7RW1EK0RBO0EzRXc4VFI7O0EwRTMvVEE7RUFDRTtFQUNBO0VBRUEsYXpDZHVCO0V5Q2V2QjtFQUNBO0VBQ0EsZ0JFakI4QjtFRmtCOUI7RXBEdUdJLG1CQXRDYTtFb0QvRGpCO0VBQ0E7RUFDQTtFQUNBO0V0Q1hFO0VzQ2dCQTtFQUNBO0VBQ0E7QTFFMC9USjs7QTBFdC9UQTs7O0VBR0U7QTFFeS9URjs7QXVCaGlVUTs7O0VtRG1EQTtFQUNBO0ExRW0vVFI7QXdCdmlVUTs7O0VrRHVEQTtFQUNBO0ExRXEvVFI7O0F1QjdpVVE7OztFbURnRUE7RUFDQTtBMUVtL1RSO0F3QnBqVVE7OztFa0RvRUE7RUFDQTtBMUVxL1RSOztBK0RyL1RJO0V4Q3JFSTs7O0ltRG1EQTtJQUNBO0UxRThnVU47RXdCbGtVTTs7O0lrRHVEQTtJQUNBO0UxRWdoVU47O0V1QnhrVU07OztJbURnRUE7SUFDQTtFMUU4Z1VOO0V3Qi9rVU07OztJa0RvRUE7SUFDQTtFMUVnaFVOO0FBQ0Y7QStEamhVSTtFeENyRUk7OztJbURtREE7SUFDQTtFMUV5aVVOO0V3QjdsVU07OztJa0R1REE7SUFDQTtFMUUyaVVOOztFdUJubVVNOzs7SW1EZ0VBO0lBQ0E7RTFFeWlVTjtFd0IxbVVNOzs7SWtEb0VBO0lBQ0E7RTFFMmlVTjtBQUNGO0ErRDVpVUk7RXhDckVJOzs7SW1EbURBO0lBQ0E7RTFFb2tVTjtFd0J4blVNOzs7SWtEdURBO0lBQ0E7RTFFc2tVTjs7RXVCOW5VTTs7O0ltRGdFQTtJQUNBO0UxRW9rVU47RXdCcm9VTTs7O0lrRG9FQTtJQUNBO0UxRXNrVU47QUFDRjtBK0R2a1VJO0V4Q3JFSTs7O0ltRG1EQTtJQUNBO0UxRStsVU47RXdCbnBVTTs7O0lrRHVEQTtJQUNBO0UxRWltVU47O0V1QnpwVU07OztJbURnRUE7SUFDQTtFMUUrbFVOO0V3QmhxVU07OztJa0RvRUE7SUFDQTtFMUVpbVVOO0FBQ0Y7QStEbG1VSTtFeENyRUk7OztJbURtREE7SUFDQTtFMUUwblVOO0V3QjlxVU07OztJa0R1REE7SUFDQTtFMUU0blVOOztFdUJwclVNOzs7SW1EZ0VBO0lBQ0E7RTFFMG5VTjtFd0IzclVNOzs7SWtEb0VBO0lBQ0E7RTFFNG5VTjtBQUNGO0EwRW5uVUU7RUFDRTtFQUNBO0VBQ0E7RUFDQSx1QkUvRTRCO0E1RW9zVWhDO0EyRS9xVUk7RUFDRTtFQU9BLHVCdENHa0I7RXNDRmxCO0VBOUJKO0VBQ0E7RUFDQTtFQUNBO0EzRTBzVUY7QXVCanRVUTtFb0Q0QkEsb0J0Q1NnQjtBckMrcVV4QjtBd0JwdFVRO0VtRCtCQSxxQnRDTWdCO0FyQ2tyVXhCO0F1QnZ0VVE7RW9ENERBO0EzRThwVVI7QXdCMXRVUTtFbUQrREE7QTNFOHBVUjs7QTBFam9VRTtFQUNFO0VBQ0E7QTFFb29VSjtBdUJsdVVRO0VtRGdHRjtFQUNBO0VBQ0EscUJFOUYwQjtBNUVtdVVoQztBd0J2dVVRO0VrRHFHRjtFQUNBO0VBQ0Esc0JFbkcwQjtBNUV3dVVoQztBMkVudFVJO0VBQ0U7RUFPQSx1QnRDR2tCO0VzQ0ZsQjtFQXZCSjtFQUNBO0VBQ0E7RUFDQTtBM0V1dVVGO0F1QnJ2VVE7RW9ENEJBLG9CdENTZ0I7QXJDbXRVeEI7QXdCeHZVUTtFbUQrQkEscUJ0Q01nQjtBckNzdFV4QjtBdUIzdlVRO0VvRDREQTtBM0Vrc1VSO0F3Qjl2VVE7RW1EK0RBO0EzRWtzVVI7QTBFcHBVSTtFQUNFO0ExRXNwVU47O0EwRWhwVUU7RUFDRTtFQUNBO0ExRW1wVUo7QXVCendVUTtFbUR5SEY7RUFDQTtFQUNBLHNCRXZIMEI7QTVFMHdVaEM7QXdCOXdVUTtFa0Q4SEY7RUFDQTtFQUNBLHFCRTVIMEI7QTVFK3dVaEM7QTJFMXZVSTtFQUNFO0VBT0EsdUJ0Q0drQjtFc0NGbEI7QTNFc3ZVTjtBdUJ4eFVRO0VvRDRCQSxvQnRDU2dCO0FyQ3N2VXhCO0F3QjN4VVE7RW1EK0JBLHFCdENNZ0I7QXJDeXZVeEI7QTJFanZVTTtFQUNFO0EzRW12VVI7QTJFaHZVTTtFQUNFO0VBQ0EscUJ0Q2RnQjtFc0NlaEIsdUJ0Q2hCZ0I7RXNDaUJoQjtFQW5DTjtFQUNBO0VBQ0E7QTNFc3hVRjtBdUIxeVVRO0VvRDREQTtBM0VpdlVSO0F3Qjd5VVE7RW1EK0RBO0EzRWl2VVI7QTBFMXFVSTtFQUNFO0ExRTRxVU47O0EwRXRxVUE7RUc1SUU7RUFDQTtFQUNBO0VBQ0E7QTdFc3pVRjs7QTBFcHFVQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQnJEaEpxQjtFcURpSnJCO0VBRUE7RUFDQTtFQUNBO0VBR0U7QTFFb3FVSjtBMEIxelVFO0VnRHNLRTtFQUlFO0UvQnRMRix5QitCdUx1QjtBMUVvcFUzQjtBMEVocFVFO0VBRUU7RUFJRTtFL0JqTUYseUIrQmtNdUI7QTFFOG9VM0I7QTBFMW9VRTtFQUVFO0VBQ0E7RUFPRTtBMUVxb1VOOztBMEVob1VBO0VBQ0U7QTFFbW9VRjs7QTBFL25VQTtFQUNFO0VBQ0EsdUJFak44QjtFRmtOOUI7RXBEcEdJLHNCQXRDYTtFb0Q0SWpCO0VBRUU7QTFFaW9VSjs7QTBFNW5VQTtFQUNFO0VBQ0E7RUFHRTtBMUU2blVKOztBOEU5MlVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQ0ZlO0VER2Y7QTlFaTNVRjtBOEUvMlVFO0VBQ0U7QTlFaTNVSjtBOEU5MlVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhN0NUcUI7QWpDeTNVekI7O0FtRHZ3VVE7RTJCcEdOO0VBQ0E7QTlFKzJVRjs7QW1EaHhVUTtFMkJoR047RUFDQTtFeEJqQkk7QXREczRVTjs7QWdGdDRVQTtFQUNFO0VBQ0E7RUFDQSxtQ25EZ0hpQjtFbUQvR2pCO0UxRHFISSxtQkF0Q2E7RTBENUVqQixnQjNER3FCO0UyREZyQixnQjNET2tCO0UyRE5sQjtFQUNBO0VBRUU7RUFDQTtFQUNBO0U1Q0ZBO0VZRkUsd0VnQ1dKO0FoRms0VUY7QWdEejRVTTtFZ0NkTjtJaENlUTtFaEQ0NFVOO0FBQ0Y7QWdGcDRVRTtFQUNFO0VBQ0E7QWhGczRVSjtBZ0ZsNFVFO0VBQ0U7RUFDQTtBaEZvNFVKO0FpRjc1VUU7RUFFSTtFQUNBO0VBQ0E7RUFFRjtFQU1FLGdEcERad0I7QTdCbzZVOUI7QWdGcDRVRTtFQUVJO0VBR0Y7QWhGbTRVSjtBZ0Z4NFVFO0VBRUk7RUFHRjtBaEZtNFVKO0FnRjMzVUU7RUFHSTtFQUdGO0FoRnkzVUo7O0FnRmozVUU7Ozs7RUFDRTtLQUFBO1VBQUE7QWhGdTNVSjs7QWdGbDNVRTtFQU9JO0VBQ0E7QWhGKzJVTjtBZ0YzMlVFO0VBR0k7QWhGMjJVTjs7QWdGcjJVQTs7RUFFRTtFQUNBO0FoRncyVUY7O0FnRjkxVUE7RUFDRTtFQUNBO0VBQ0E7RTFEM0NFO0UwRDZDRixnQjNEaEdrQjtBckJpOFVwQjs7QWdGOTFVQTtFQUNFO0VBQ0E7RTFES0kscUJBdENhO0UwRG1DakIsZ0IzQ3RIZ0I7QXJDdTlVbEI7O0FnRjkxVUE7RUFDRTtFQUNBO0UxREZJLHNCQXRDYTtFMEQwQ2pCLGdCM0M1SGdCO0FyQzY5VWxCOztBZ0Z4MVVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RTFEakJJLG1CQXRDYTtFMER5RGpCLGdCM0Q3SGtCO0UyRDhIbEI7RUFDQTtFQUNBO0VBRUU7QWhGMDFVSjtBZ0Z2MVVFO0VBRUU7RUFDQTtBaEZ3MVVKOztBZ0Y1MFVBO0VBQ0Usa0NuRGhEaUI7RW1EaURqQjtFMUQ1Q0ksc0JBdENhO0UwRG9GakIsZ0IzQ3RLZ0I7RURXZDtBcEMyK1VKOztBZ0Y1MFVBO0VBQ0UsZ0NuRHZEaUI7RW1Ed0RqQjtFMURwREkscUJBdENhO0UwRDRGakIsZ0IzQy9LZ0I7RURZZDtBcENtL1VKOztBZ0YxMFVFO0VBRUU7QWhGNDBVSjs7QWdGeDBVQTtFQUNFO0FoRjIwVUY7O0FnRm4wVUE7RUFDRSxtQm5EbEUwQjtBN0J3NFU1Qjs7QWdGbjBVQTtFQUNFO0VBQ0EsbUJuRGpGc0I7QTdCdTVVeEI7O0FnRjl6VUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEZpMFVGO0FnRi96VUU7O0VBRUU7RUFDQTtBaEZpMFVKOztBZ0Z4elVBO0VBQ0U7RUFDQTtBaEYyelVGO0F1Qm5pVlE7RXlEME9KLHFCbkQ3R3lCO0E3Qnk2VTdCO0F3QnRpVlE7RXdENk9KLHNCbkRoSHlCO0E3QjQ2VTdCOztBZ0Z4elVBO0VBQ0U7RUFDQSxrQm5EckgyQjtBN0JnN1U3QjtBdUI5aVZRO0V5RHFQSjtBaEY0elVKO0F3QmpqVlE7RXdEd1BKO0FoRjR6VUo7QWdGeHpVRTtFQUdJO0FoRnd6VU47O0FnRm56VUE7RUFDRTtBaEZzelVGOztBZ0ZuelVBO0VBQ0U7RUFDQTtBaEZzelVGO0F1QmhrVlE7RXlENFFKO0VBQ0EscUJuRDVJZ0M7QTdCbThVcEM7QXdCcGtWUTtFd0RnUko7RUFDQSxvQm5EaEpnQztBN0J1OFVwQztBZ0ZuelVFO0VBQ0U7RUFDQTtBaEZxelVKO0F1QjVrVlE7RXlEeVJGLHVCbkR2SjhCO0VtRHdKOUI7QWhGc3pVTjtBd0JobFZRO0V3RDZSRjtFQUNBLHNCbkQ1SjhCO0E3Qms5VXBDOztBaUZ6aVZFO0VBQ0U7RUFDQTtFQUNBLG1CcEQ2RW9CO0VQdkRwQjtFMkRwQkEsY0Q0UHFDO0FoRmd6VXpDOztBaUZ6aVZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNEaUVFLHNCQXRDYTtFMkR6QmYsZ0I1RDNDZ0I7RTRENENoQjtFQUNBO0U3Q2hEQTtBcEM2bFZKOztBaUZ4aVZJOzs7O0VBRUU7QWpGNmlWTjs7QWlGbmxWSTtFQTRDRSxxQkRpT21DO0VDeE5qQztFQUNBO0VBT0E7QWpGNmhWUjtBdUJ6blZRO0UwRCtFRSxvQ3BEa0NvQjtBN0IyZ1Y5QjtBd0I1blZRO0V5RGtGRSxtQ3BEK0JvQjtBN0I4Z1Y5QjtBdUIvblZRO0UwRHVGRTtBakYyaVZWO0F3QmxvVlE7RXlEMEZFO0FqRjJpVlY7QWlGdGlWTTtFQUNFLHFCRDRNaUM7RUMzTWpDO0FqRndpVlI7O0F1QnpvVlE7RTBEMkdFLG9DcERNb0I7RW9ETHBCO0FqRmtpVlY7QXdCOW9WUTtFeUQrR0UsbUNwREVvQjtFb0REcEI7QWpGa2lWVjs7QWlGbm5WSTtFQXlGRSxxQkRvTG1DO0VDM0tqQztBakZzaFZSO0F1QnZwVlE7RTBENEhFLHVDUnZGbUM7QXpFcW5WN0M7QXdCMXBWUTtFeUQrSEUsc0NSMUZtQztBekV3blY3QztBaUZ6aFZNO0VBQ0UscUJEdUtpQztFQ3RLakM7QWpGMmhWUjs7QWlGcGhWTTtFQUNFLGNEOEppQztBaEZ5M1V6QztBaUZwaFZNOzs7RUFFRTtBakZ1aFZSOztBaUZoaFZNO0VBQ0UsY0RpSmlDO0FoRms0VXpDO0FpRmpoVlE7RUFDRSxxQkQ4SStCO0FoRnE0VXpDO0FpRjlnVlE7RUFDRTtFdENsS04seUJzQ21LMkI7QWpGZ2hWL0I7QWlGM2dWUTtFQUNFO0FqRjZnVlY7QWlGMWdWUTtFQUNFLHFCQVZxQjtBakZzaFYvQjs7QWlGbmdWTTtFQUNFLHFCQXBCdUI7QWpGMGhWL0I7QWlGbGdWUTtFQUNFLHFCQXpCcUI7RUEwQnJCO0FqRm9nVlY7O0FpRnhwVkU7RUFDRTtFQUNBO0VBQ0EsbUJwRDZFb0I7RVB2RHBCO0UyRHBCQSxjRDRQcUM7QWhGKzVVekM7O0FpRnhwVkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0RpRUUsc0JBdENhO0UyRHpCZixnQjVEM0NnQjtFNEQ0Q2hCO0VBQ0E7RTdDaERBO0FwQzRzVko7O0FpRnZwVkk7Ozs7RUFFRTtBakY0cFZOOztBaUZsc1ZJO0VBNENFLHFCRGlPbUM7RUN4TmpDO0VBQ0E7RUFPQTtBakY0b1ZSO0F1Qnh1VlE7RTBEK0VFLG9DcERrQ29CO0E3QjBuVjlCO0F3QjN1VlE7RXlEa0ZFLG1DcEQrQm9CO0E3QjZuVjlCO0F1Qjl1VlE7RTBEdUZFO0FqRjBwVlY7QXdCanZWUTtFeUQwRkU7QWpGMHBWVjtBaUZycFZNO0VBQ0UscUJENE1pQztFQzNNakM7QWpGdXBWUjs7QXVCeHZWUTtFMEQyR0Usb0NwRE1vQjtFb0RMcEI7QWpGaXBWVjtBd0I3dlZRO0V5RCtHRSxtQ3BERW9CO0VvRERwQjtBakZpcFZWOztBaUZsdVZJO0VBeUZFLHFCRG9MbUM7RUMzS2pDO0FqRnFvVlI7QXVCdHdWUTtFMEQ0SEUsdUNSdkZtQztBekVvdVY3QztBd0J6d1ZRO0V5RCtIRSxzQ1IxRm1DO0F6RXV1VjdDO0FpRnhvVk07RUFDRSxxQkR1S2lDO0VDdEtqQztBakYwb1ZSOztBaUZub1ZNO0VBQ0UsY0Q4SmlDO0FoRncrVXpDO0FpRm5vVk07OztFQUVFO0FqRnNvVlI7O0FpRi9uVk07RUFDRSxjRGlKaUM7QWhGaS9VekM7QWlGaG9WUTtFQUNFLHFCRDhJK0I7QWhGby9VekM7QWlGN25WUTtFQUNFO0V0Q2xLTix5QnNDbUsyQjtBakYrblYvQjtBaUYxblZRO0VBQ0U7QWpGNG5WVjtBaUZ6blZRO0VBQ0UscUJBVnFCO0FqRnFvVi9COztBaUZsblZNO0VBQ0UscUJBcEJ1QjtBakZ5b1YvQjtBaUZqblZRO0VBQ0UscUJBekJxQjtFQTBCckI7QWpGbW5WVjs7QWdGMS9VQTtFQUNFO0VBQ0E7RUFDQTtBaEY2L1VGO0FnRngvVUU7RUFDRTtBaEYwL1VKO0ErRHR2Vkk7RWlCaVFBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWhGdy9VSjtFZ0ZwL1VFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEZzL1VKO0VnRmwvVUU7SUFDRTtJQUNBO0lBQ0E7RWhGby9VSjtFZ0ZoL1VFO0lBQ0U7RWhGay9VSjtFZ0YvK1VFOztJQUVFO0VoRmkvVUo7RWdGNStVRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VoRjgrVUo7RXVCMzFWTTtJeUQrV0E7RWhGKytVTjtFd0I5MVZNO0l3RGtYQTtFaEYrK1VOO0VnRjUrVUU7SUFDRTtJQUNBO0lBQ0E7RWhGOCtVSjtFdUJ0MlZNO0l5RDBYQSxxQm5EM1BxQjtJbUQ0UHJCO0VoRisrVU47RXdCMTJWTTtJd0Q4WEE7SUFDQSxvQm5EaFFxQjtFN0IrdVYzQjtFZ0YzK1VFO0lBQ0U7SUFDQTtFaEY2K1VKO0VnRjMrVUU7SUFDRTtFaEY2K1VKO0FBQ0Y7O0FnRnorVUE7RUFDRTtFQUNBLGlCbkQ5WXVCO0E3QjAzVnpCOztBZ0Z6K1VBO0U1Q3BZSTtBcENpM1ZKOztBZ0Z6K1VBO0U1Q3hZSTtBcENxM1ZKOztBa0ZqNFZFO0VDREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkZzNFZGO0ErRHQwVkk7RW1CbkVGO0lDV0ksZ0JDVWlCO0VwRnczVnJCO0FBQ0Y7QStEMzBWSTtFbUJuRUY7SUNXSSxnQkNVaUI7RXBGNjNWckI7QUFDRjtBK0RoMVZJO0VtQm5FRjtJQ1dJLGdCQ1VpQjtFcEZrNFZyQjtBQUNGO0ErRHIxVkk7RW1CbkVGO0lDV0ksaUJDVWlCO0VwRnU0VnJCO0FBQ0Y7QStEMTFWSTtFbUJuRUY7SUNXSSxpQkNVaUI7RXBGNDRWckI7QUFDRjs7QWtGNTVWRTtFQ1BBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5GdTZWRjs7QStEdjJWSTtFbUJsREU7SUFDRSxnQkVHZTtFcEYwNVZyQjtBQUNGO0ErRDcyVkk7RW1CbERFO0lBQ0UsZ0JFR2U7RXBGKzVWckI7QUFDRjtBK0RsM1ZJO0VtQmxERTtJQUNFLGdCRUdlO0VwRm82VnJCO0FBQ0Y7QStEdjNWSTtFbUJsREU7SUFDRSxpQkVHZTtFcEZ5NlZyQjtBQUNGO0ErRDUzVkk7RW1CbERFO0lBQ0UsaUJFR2U7RXBGODZWckI7QUFDRjtBa0Z0NVZFO0VDN0JBO0VBQ0E7RUFDQTtFQUNBO0FuRnM3VkY7O0FrRnQ1VkU7RUFDRTtFQUNBO0FsRnk1Vko7QWtGdjVWSTs7RUFFRTtFQUNBO0FsRnk1Vk47O0FxRm45VkU7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckY0OVZKOztBcUZ0OFZNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJGeThWUjs7QW1GOTZWRTtFQUNFO0VBQ0E7QW5GaTdWSjs7QW1GbjdWRTtFQUNFO0VBQ0E7QW5GczdWSjs7QW1GeDdWRTtFQUNFO0VBQ0E7QW5GMjdWSjs7QW1GNzdWRTtFQUNFO0VBQ0E7QW5GZzhWSjs7QW1GbDhWRTtFQUNFO0VBQ0E7QW5GcThWSjs7QW1GdjhWRTtFQUNFO0VBQ0E7QW5GMDhWSjs7QXFGNTlWTTtFRkFKO0VBQ0E7RUFDQTtBbkZnK1ZGOztBcUY1OVZVO0VGZFI7RUFJQTtBbkYyK1ZGOztBcUZqK1ZVO0VGZFI7RUFJQTtBbkZnL1ZGOztBcUZ0K1ZVO0VGZFI7RUFJQTtBbkZxL1ZGOztBcUYzK1ZVO0VGZFI7RUFJQTtBbkYwL1ZGOztBcUZoL1ZVO0VGZFI7RUFJQTtBbkYrL1ZGOztBcUZyL1ZVO0VGZFI7RUFJQTtBbkZvZ1dGOztBcUYxL1ZVO0VGZFI7RUFJQTtBbkZ5Z1dGOztBcUYvL1ZVO0VGZFI7RUFJQTtBbkY4Z1dGOztBcUZwZ1dVO0VGZFI7RUFJQTtBbkZtaFdGOztBcUZ6Z1dVO0VGZFI7RUFJQTtBbkZ3aFdGOztBcUY5Z1dVO0VGZFI7RUFJQTtBbkY2aFdGOztBcUZuaFdVO0VGZFI7RUFJQTtBbkZraVdGOztBcUZsaFdNO0VBQXdCO0FyRnNoVzlCOztBcUZwaFdNO0VBQXVCO0FyRndoVzdCOztBcUZyaFdRO0VBQXdCLFFBRGI7QXJGMGhXbkI7O0FxRnpoV1E7RUFBd0IsUUFEYjtBckY4aFduQjs7QXFGN2hXUTtFQUF3QixRQURiO0FyRmtpV25COztBcUZqaVdRO0VBQXdCLFFBRGI7QXJGc2lXbkI7O0FxRnJpV1E7RUFBd0IsUUFEYjtBckYwaVduQjs7QXFGemlXUTtFQUF3QixRQURiO0FyRjhpV25COztBcUY3aVdRO0VBQXdCLFFBRGI7QXJGa2pXbkI7O0FxRmpqV1E7RUFBd0IsUUFEYjtBckZzalduQjs7QXFGcmpXUTtFQUF3QixRQURiO0FyRjBqV25COztBcUZ6aldRO0VBQXdCLFFBRGI7QXJGOGpXbkI7O0FxRjdqV1E7RUFBd0IsU0FEYjtBckZra1duQjs7QXFGamtXUTtFQUF3QixTQURiO0FyRnNrV25COztBcUZya1dRO0VBQXdCLFNBRGI7QXJGMGtXbkI7O0FxRmxrV1k7RUZqQlY7QW5GdWxXRjs7QXFGdGtXWTtFRmpCVjtBbkYybFdGOztBcUYxa1dZO0VGakJWO0FuRitsV0Y7O0FxRjlrV1k7RUZqQlY7QW5GbW1XRjs7QXFGbGxXWTtFRmpCVjtBbkZ1bVdGOztBcUZ0bFdZO0VGakJWO0FuRjJtV0Y7O0FxRjFsV1k7RUZqQlY7QW5GK21XRjs7QXFGOWxXWTtFRmpCVjtBbkZtbldGOztBcUZsbVdZO0VGakJWO0FuRnVuV0Y7O0FxRnRtV1k7RUZqQlY7QW5GMm5XRjs7QXFGMW1XWTtFRmpCVjtBbkYrbldGOztBK0Q3bVdJO0VzQnhDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VyRnlwV047O0VtRjluV0E7SUFDRTtJQUNBO0VuRmlvV0Y7O0VtRm5vV0E7SUFDRTtJQUNBO0VuRnNvV0Y7O0VtRnhvV0E7SUFDRTtJQUNBO0VuRjJvV0Y7O0VtRjdvV0E7SUFDRTtJQUNBO0VuRmdwV0Y7O0VtRmxwV0E7SUFDRTtJQUNBO0VuRnFwV0Y7O0VtRnZwV0E7SUFDRTtJQUNBO0VuRjBwV0Y7O0VxRjVxV0k7SUZBSjtJQUNBO0lBQ0E7RW5GZ3JXQTs7RXFGNXFXUTtJRmRSO0lBSUE7RW5GMnJXQTs7RXFGanJXUTtJRmRSO0lBSUE7RW5GZ3NXQTs7RXFGdHJXUTtJRmRSO0lBSUE7RW5GcXNXQTs7RXFGM3JXUTtJRmRSO0lBSUE7RW5GMHNXQTs7RXFGaHNXUTtJRmRSO0lBSUE7RW5GK3NXQTs7RXFGcnNXUTtJRmRSO0lBSUE7RW5Gb3RXQTs7RXFGMXNXUTtJRmRSO0lBSUE7RW5GeXRXQTs7RXFGL3NXUTtJRmRSO0lBSUE7RW5GOHRXQTs7RXFGcHRXUTtJRmRSO0lBSUE7RW5GbXVXQTs7RXFGenRXUTtJRmRSO0lBSUE7RW5Gd3VXQTs7RXFGOXRXUTtJRmRSO0lBSUE7RW5GNnVXQTs7RXFGbnVXUTtJRmRSO0lBSUE7RW5Ga3ZXQTs7RXFGbHVXSTtJQUF3QjtFckZzdVc1Qjs7RXFGcHVXSTtJQUF1QjtFckZ3dVczQjs7RXFGcnVXTTtJQUF3QixRQURiO0VyRjB1V2pCOztFcUZ6dVdNO0lBQXdCLFFBRGI7RXJGOHVXakI7O0VxRjd1V007SUFBd0IsUUFEYjtFckZrdldqQjs7RXFGanZXTTtJQUF3QixRQURiO0VyRnN2V2pCOztFcUZydldNO0lBQXdCLFFBRGI7RXJGMHZXakI7O0VxRnp2V007SUFBd0IsUUFEYjtFckY4dldqQjs7RXFGN3ZXTTtJQUF3QixRQURiO0VyRmt3V2pCOztFcUZqd1dNO0lBQXdCLFFBRGI7RXJGc3dXakI7O0VxRnJ3V007SUFBd0IsUUFEYjtFckYwd1dqQjs7RXFGendXTTtJQUF3QixRQURiO0VyRjh3V2pCOztFcUY3d1dNO0lBQXdCLFNBRGI7RXJGa3hXakI7O0VxRmp4V007SUFBd0IsU0FEYjtFckZzeFdqQjs7RXFGcnhXTTtJQUF3QixTQURiO0VyRjB4V2pCOztFcUZseFdVO0lGakJWO0VuRnV5V0E7O0VxRnR4V1U7SUZqQlY7RW5GMnlXQTs7RXFGMXhXVTtJRmpCVjtFbkYreVdBOztFcUY5eFdVO0lGakJWO0VuRm16V0E7O0VxRmx5V1U7SUZqQlY7RW5GdXpXQTs7RXFGdHlXVTtJRmpCVjtFbkYyeldBOztFcUYxeVdVO0lGakJWO0VuRit6V0E7O0VxRjl5V1U7SUZqQlY7RW5GbTBXQTs7RXFGbHpXVTtJRmpCVjtFbkZ1MFdBOztFcUZ0eldVO0lGakJWO0VuRjIwV0E7O0VxRjF6V1U7SUZqQlY7RW5GKzBXQTs7RXFGOXpXVTtJRmpCVjtFbkZtMVdBO0FBQ0Y7QStEbDBXSTtFc0J4Q0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFckY2MldOOztFbUZsMVdBO0lBQ0U7SUFDQTtFbkZxMVdGOztFbUZ2MVdBO0lBQ0U7SUFDQTtFbkYwMVdGOztFbUY1MVdBO0lBQ0U7SUFDQTtFbkYrMVdGOztFbUZqMldBO0lBQ0U7SUFDQTtFbkZvMldGOztFbUZ0MldBO0lBQ0U7SUFDQTtFbkZ5MldGOztFbUYzMldBO0lBQ0U7SUFDQTtFbkY4MldGOztFcUZoNFdJO0lGQUo7SUFDQTtJQUNBO0VuRm80V0E7O0VxRmg0V1E7SUZkUjtJQUlBO0VuRis0V0E7O0VxRnI0V1E7SUZkUjtJQUlBO0VuRm81V0E7O0VxRjE0V1E7SUZkUjtJQUlBO0VuRnk1V0E7O0VxRi80V1E7SUZkUjtJQUlBO0VuRjg1V0E7O0VxRnA1V1E7SUZkUjtJQUlBO0VuRm02V0E7O0VxRno1V1E7SUZkUjtJQUlBO0VuRnc2V0E7O0VxRjk1V1E7SUZkUjtJQUlBO0VuRjY2V0E7O0VxRm42V1E7SUZkUjtJQUlBO0VuRms3V0E7O0VxRng2V1E7SUZkUjtJQUlBO0VuRnU3V0E7O0VxRjc2V1E7SUZkUjtJQUlBO0VuRjQ3V0E7O0VxRmw3V1E7SUZkUjtJQUlBO0VuRmk4V0E7O0VxRnY3V1E7SUZkUjtJQUlBO0VuRnM4V0E7O0VxRnQ3V0k7SUFBd0I7RXJGMDdXNUI7O0VxRng3V0k7SUFBdUI7RXJGNDdXM0I7O0VxRno3V007SUFBd0IsUUFEYjtFckY4N1dqQjs7RXFGNzdXTTtJQUF3QixRQURiO0VyRms4V2pCOztFcUZqOFdNO0lBQXdCLFFBRGI7RXJGczhXakI7O0VxRnI4V007SUFBd0IsUUFEYjtFckYwOFdqQjs7RXFGejhXTTtJQUF3QixRQURiO0VyRjg4V2pCOztFcUY3OFdNO0lBQXdCLFFBRGI7RXJGazlXakI7O0VxRmo5V007SUFBd0IsUUFEYjtFckZzOVdqQjs7RXFGcjlXTTtJQUF3QixRQURiO0VyRjA5V2pCOztFcUZ6OVdNO0lBQXdCLFFBRGI7RXJGODlXakI7O0VxRjc5V007SUFBd0IsUUFEYjtFckZrK1dqQjs7RXFGaitXTTtJQUF3QixTQURiO0VyRnMrV2pCOztFcUZyK1dNO0lBQXdCLFNBRGI7RXJGMCtXakI7O0VxRnorV007SUFBd0IsU0FEYjtFckY4K1dqQjs7RXFGdCtXVTtJRmpCVjtFbkYyL1dBOztFcUYxK1dVO0lGakJWO0VuRisvV0E7O0VxRjkrV1U7SUZqQlY7RW5GbWdYQTs7RXFGbC9XVTtJRmpCVjtFbkZ1Z1hBOztFcUZ0L1dVO0lGakJWO0VuRjJnWEE7O0VxRjEvV1U7SUZqQlY7RW5GK2dYQTs7RXFGOS9XVTtJRmpCVjtFbkZtaFhBOztFcUZsZ1hVO0lGakJWO0VuRnVoWEE7O0VxRnRnWFU7SUZqQlY7RW5GMmhYQTs7RXFGMWdYVTtJRmpCVjtFbkYraFhBOztFcUY5Z1hVO0lGakJWO0VuRm1pWEE7O0VxRmxoWFU7SUZqQlY7RW5GdWlYQTtBQUNGO0ErRHRoWEk7RXNCeENFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXJGaWtYTjs7RW1GdGlYQTtJQUNFO0lBQ0E7RW5GeWlYRjs7RW1GM2lYQTtJQUNFO0lBQ0E7RW5GOGlYRjs7RW1GaGpYQTtJQUNFO0lBQ0E7RW5GbWpYRjs7RW1GcmpYQTtJQUNFO0lBQ0E7RW5Gd2pYRjs7RW1GMWpYQTtJQUNFO0lBQ0E7RW5GNmpYRjs7RW1GL2pYQTtJQUNFO0lBQ0E7RW5Ga2tYRjs7RXFGcGxYSTtJRkFKO0lBQ0E7SUFDQTtFbkZ3bFhBOztFcUZwbFhRO0lGZFI7SUFJQTtFbkZtbVhBOztFcUZ6bFhRO0lGZFI7SUFJQTtFbkZ3bVhBOztFcUY5bFhRO0lGZFI7SUFJQTtFbkY2bVhBOztFcUZubVhRO0lGZFI7SUFJQTtFbkZrblhBOztFcUZ4bVhRO0lGZFI7SUFJQTtFbkZ1blhBOztFcUY3bVhRO0lGZFI7SUFJQTtFbkY0blhBOztFcUZsblhRO0lGZFI7SUFJQTtFbkZpb1hBOztFcUZ2blhRO0lGZFI7SUFJQTtFbkZzb1hBOztFcUY1blhRO0lGZFI7SUFJQTtFbkYyb1hBOztFcUZqb1hRO0lGZFI7SUFJQTtFbkZncFhBOztFcUZ0b1hRO0lGZFI7SUFJQTtFbkZxcFhBOztFcUYzb1hRO0lGZFI7SUFJQTtFbkYwcFhBOztFcUYxb1hJO0lBQXdCO0VyRjhvWDVCOztFcUY1b1hJO0lBQXVCO0VyRmdwWDNCOztFcUY3b1hNO0lBQXdCLFFBRGI7RXJGa3BYakI7O0VxRmpwWE07SUFBd0IsUUFEYjtFckZzcFhqQjs7RXFGcnBYTTtJQUF3QixRQURiO0VyRjBwWGpCOztFcUZ6cFhNO0lBQXdCLFFBRGI7RXJGOHBYakI7O0VxRjdwWE07SUFBd0IsUUFEYjtFckZrcVhqQjs7RXFGanFYTTtJQUF3QixRQURiO0VyRnNxWGpCOztFcUZycVhNO0lBQXdCLFFBRGI7RXJGMHFYakI7O0VxRnpxWE07SUFBd0IsUUFEYjtFckY4cVhqQjs7RXFGN3FYTTtJQUF3QixRQURiO0VyRmtyWGpCOztFcUZqclhNO0lBQXdCLFFBRGI7RXJGc3JYakI7O0VxRnJyWE07SUFBd0IsU0FEYjtFckYwclhqQjs7RXFGenJYTTtJQUF3QixTQURiO0VyRjhyWGpCOztFcUY3clhNO0lBQXdCLFNBRGI7RXJGa3NYakI7O0VxRjFyWFU7SUZqQlY7RW5GK3NYQTs7RXFGOXJYVTtJRmpCVjtFbkZtdFhBOztFcUZsc1hVO0lGakJWO0VuRnV0WEE7O0VxRnRzWFU7SUZqQlY7RW5GMnRYQTs7RXFGMXNYVTtJRmpCVjtFbkYrdFhBOztFcUY5c1hVO0lGakJWO0VuRm11WEE7O0VxRmx0WFU7SUZqQlY7RW5GdXVYQTs7RXFGdHRYVTtJRmpCVjtFbkYydVhBOztFcUYxdFhVO0lGakJWO0VuRit1WEE7O0VxRjl0WFU7SUZqQlY7RW5GbXZYQTs7RXFGbHVYVTtJRmpCVjtFbkZ1dlhBOztFcUZ0dVhVO0lGakJWO0VuRjJ2WEE7QUFDRjtBK0QxdVhJO0VzQnhDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VyRnF4WE47O0VtRjF2WEE7SUFDRTtJQUNBO0VuRjZ2WEY7O0VtRi92WEE7SUFDRTtJQUNBO0VuRmt3WEY7O0VtRnB3WEE7SUFDRTtJQUNBO0VuRnV3WEY7O0VtRnp3WEE7SUFDRTtJQUNBO0VuRjR3WEY7O0VtRjl3WEE7SUFDRTtJQUNBO0VuRml4WEY7O0VtRm54WEE7SUFDRTtJQUNBO0VuRnN4WEY7O0VxRnh5WEk7SUZBSjtJQUNBO0lBQ0E7RW5GNHlYQTs7RXFGeHlYUTtJRmRSO0lBSUE7RW5GdXpYQTs7RXFGN3lYUTtJRmRSO0lBSUE7RW5GNHpYQTs7RXFGbHpYUTtJRmRSO0lBSUE7RW5GaTBYQTs7RXFGdnpYUTtJRmRSO0lBSUE7RW5GczBYQTs7RXFGNXpYUTtJRmRSO0lBSUE7RW5GMjBYQTs7RXFGajBYUTtJRmRSO0lBSUE7RW5GZzFYQTs7RXFGdDBYUTtJRmRSO0lBSUE7RW5GcTFYQTs7RXFGMzBYUTtJRmRSO0lBSUE7RW5GMDFYQTs7RXFGaDFYUTtJRmRSO0lBSUE7RW5GKzFYQTs7RXFGcjFYUTtJRmRSO0lBSUE7RW5GbzJYQTs7RXFGMTFYUTtJRmRSO0lBSUE7RW5GeTJYQTs7RXFGLzFYUTtJRmRSO0lBSUE7RW5GODJYQTs7RXFGOTFYSTtJQUF3QjtFckZrMlg1Qjs7RXFGaDJYSTtJQUF1QjtFckZvMlgzQjs7RXFGajJYTTtJQUF3QixRQURiO0VyRnMyWGpCOztFcUZyMlhNO0lBQXdCLFFBRGI7RXJGMDJYakI7O0VxRnoyWE07SUFBd0IsUUFEYjtFckY4MlhqQjs7RXFGNzJYTTtJQUF3QixRQURiO0VyRmszWGpCOztFcUZqM1hNO0lBQXdCLFFBRGI7RXJGczNYakI7O0VxRnIzWE07SUFBd0IsUUFEYjtFckYwM1hqQjs7RXFGejNYTTtJQUF3QixRQURiO0VyRjgzWGpCOztFcUY3M1hNO0lBQXdCLFFBRGI7RXJGazRYakI7O0VxRmo0WE07SUFBd0IsUUFEYjtFckZzNFhqQjs7RXFGcjRYTTtJQUF3QixRQURiO0VyRjA0WGpCOztFcUZ6NFhNO0lBQXdCLFNBRGI7RXJGODRYakI7O0VxRjc0WE07SUFBd0IsU0FEYjtFckZrNVhqQjs7RXFGajVYTTtJQUF3QixTQURiO0VyRnM1WGpCOztFcUY5NFhVO0lGakJWO0VuRm02WEE7O0VxRmw1WFU7SUZqQlY7RW5GdTZYQTs7RXFGdDVYVTtJRmpCVjtFbkYyNlhBOztFcUYxNVhVO0lGakJWO0VuRis2WEE7O0VxRjk1WFU7SUZqQlY7RW5GbTdYQTs7RXFGbDZYVTtJRmpCVjtFbkZ1N1hBOztFcUZ0NlhVO0lGakJWO0VuRjI3WEE7O0VxRjE2WFU7SUZqQlY7RW5GKzdYQTs7RXFGOTZYVTtJRmpCVjtFbkZtOFhBOztFcUZsN1hVO0lGakJWO0VuRnU4WEE7O0VxRnQ3WFU7SUZqQlY7RW5GMjhYQTs7RXFGMTdYVTtJRmpCVjtFbkYrOFhBO0FBQ0Y7QStEOTdYSTtFc0J4Q0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFckZ5K1hOOztFbUY5OFhBO0lBQ0U7SUFDQTtFbkZpOVhGOztFbUZuOVhBO0lBQ0U7SUFDQTtFbkZzOVhGOztFbUZ4OVhBO0lBQ0U7SUFDQTtFbkYyOVhGOztFbUY3OVhBO0lBQ0U7SUFDQTtFbkZnK1hGOztFbUZsK1hBO0lBQ0U7SUFDQTtFbkZxK1hGOztFbUZ2K1hBO0lBQ0U7SUFDQTtFbkYwK1hGOztFcUY1L1hJO0lGQUo7SUFDQTtJQUNBO0VuRmdnWUE7O0VxRjUvWFE7SUZkUjtJQUlBO0VuRjJnWUE7O0VxRmpnWVE7SUZkUjtJQUlBO0VuRmdoWUE7O0VxRnRnWVE7SUZkUjtJQUlBO0VuRnFoWUE7O0VxRjNnWVE7SUZkUjtJQUlBO0VuRjBoWUE7O0VxRmhoWVE7SUZkUjtJQUlBO0VuRitoWUE7O0VxRnJoWVE7SUZkUjtJQUlBO0VuRm9pWUE7O0VxRjFoWVE7SUZkUjtJQUlBO0VuRnlpWUE7O0VxRi9oWVE7SUZkUjtJQUlBO0VuRjhpWUE7O0VxRnBpWVE7SUZkUjtJQUlBO0VuRm1qWUE7O0VxRnppWVE7SUZkUjtJQUlBO0VuRndqWUE7O0VxRjlpWVE7SUZkUjtJQUlBO0VuRjZqWUE7O0VxRm5qWVE7SUZkUjtJQUlBO0VuRmtrWUE7O0VxRmxqWUk7SUFBd0I7RXJGc2pZNUI7O0VxRnBqWUk7SUFBdUI7RXJGd2pZM0I7O0VxRnJqWU07SUFBd0IsUUFEYjtFckYwallqQjs7RXFGempZTTtJQUF3QixRQURiO0VyRjhqWWpCOztFcUY3allNO0lBQXdCLFFBRGI7RXJGa2tZakI7O0VxRmprWU07SUFBd0IsUUFEYjtFckZza1lqQjs7RXFGcmtZTTtJQUF3QixRQURiO0VyRjBrWWpCOztFcUZ6a1lNO0lBQXdCLFFBRGI7RXJGOGtZakI7O0VxRjdrWU07SUFBd0IsUUFEYjtFckZrbFlqQjs7RXFGamxZTTtJQUF3QixRQURiO0VyRnNsWWpCOztFcUZybFlNO0lBQXdCLFFBRGI7RXJGMGxZakI7O0VxRnpsWU07SUFBd0IsUUFEYjtFckY4bFlqQjs7RXFGN2xZTTtJQUF3QixTQURiO0VyRmttWWpCOztFcUZqbVlNO0lBQXdCLFNBRGI7RXJGc21ZakI7O0VxRnJtWU07SUFBd0IsU0FEYjtFckYwbVlqQjs7RXFGbG1ZVTtJRmpCVjtFbkZ1bllBOztFcUZ0bVlVO0lGakJWO0VuRjJuWUE7O0VxRjFtWVU7SUZqQlY7RW5GK25ZQTs7RXFGOW1ZVTtJRmpCVjtFbkZtb1lBOztFcUZsbllVO0lGakJWO0VuRnVvWUE7O0VxRnRuWVU7SUZqQlY7RW5GMm9ZQTs7RXFGMW5ZVTtJRmpCVjtFbkYrb1lBOztFcUY5bllVO0lGakJWO0VuRm1wWUE7O0VxRmxvWVU7SUZqQlY7RW5GdXBZQTs7RXFGdG9ZVTtJRmpCVjtFbkYycFlBOztFcUYxb1lVO0lGakJWO0VuRitwWUE7O0VxRjlvWVU7SUZqQlY7RW5GbXFZQTtBQUNGO0FrRjdvWUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEYrb1lGO0FrRjdvWUU7RUFDRTtFQUNBO0FsRitvWUo7O0FrRjNvWUE7RUFDRTtBbEY4b1lGOztBc0Z6dVlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCQ0g4QjtBdkYrdVloQztBc0YxdVlFO0VBQ0U7QXRGNHVZSjtBc0Z6dVlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRGMnVZSjtBc0Z4dVlFO0VBQ0U7QXRGMHVZSjs7QXNGdHVZQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFdDeEI4QjtFRHlCOUIsZ0JDMUI4QjtFRDJCOUI7QXRGeXVZRjtBc0Z2dVlFO0VBQ0U7RUFDQSxTQy9CNEI7RURnQzVCO0F0Rnl1WUo7QXVCeHdZUTtFK0RrQ0Y7QXRGeXVZTjtBd0Izd1lRO0U4RHFDRjtBdEZ5dVlOO0ErRDVyWUk7RXVCdkNFO0lBQ0U7SUFDQSxTQzlDd0I7SUQrQ3hCO0V0RnN1WU47RXVCcHhZTTtJK0RnREU7RXRGdXVZUjtFd0J2eFlNO0k4RG1ERTtFdEZ1dVlSO0FBQ0Y7QXNGbnVZTTtFQUNFO0VBQ0EsU0MzRHdCO0VENER4QjtBdEZxdVlSO0F1Qmh5WVE7RStENkRFO0F0RnN1WVY7QXdCbnlZUTtFOERnRUU7QXRGc3VZVjtBK0RwdFlJO0V1QnZDRTtJQUNFO0lBQ0EsU0M5Q3dCO0lEK0N4QjtFdEY4dllOO0V1QjV5WU07SStEZ0RFO0V0Rit2WVI7RXdCL3lZTTtJOERtREU7RXRGK3ZZUjtBQUNGO0ErRDl1WUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGOHZZTjtFdUJ6ellNO0krRDZERTtFdEYrdllSO0V3QjV6WU07SThEZ0VFO0V0Rit2WVI7QUFDRjtBK0Q5dVlJO0V1QnZDRTtJQUNFO0lBQ0EsU0M5Q3dCO0lEK0N4QjtFdEZ3eFlOO0V1QnQwWU07SStEZ0RFO0V0Rnl4WVI7RXdCejBZTTtJOERtREU7RXRGeXhZUjtBQUNGO0ErRHh3WUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGd3hZTjtFdUJuMVlNO0krRDZERTtFdEZ5eFlSO0V3QnQxWU07SThEZ0VFO0V0Rnl4WVI7QUFDRjtBK0R4d1lJO0V1QnZDRTtJQUNFO0lBQ0EsU0M5Q3dCO0lEK0N4QjtFdEZrellOO0V1QmgyWU07SStEZ0RFO0V0Rm16WVI7RXdCbjJZTTtJOERtREU7RXRGbXpZUjtBQUNGO0ErRGx5WUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGa3pZTjtFdUI3MllNO0krRDZERTtFdEZtellSO0V3QmgzWU07SThEZ0VFO0V0Rm16WVI7QUFDRjtBK0RseVlJO0V1QnZDRTtJQUNFO0lBQ0EsU0M5Q3dCO0lEK0N4QjtFdEY0MFlOO0V1QjEzWU07SStEZ0RFO0V0RjYwWVI7RXdCNzNZTTtJOERtREU7RXRGNjBZUjtBQUNGO0ErRDV6WUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGNDBZTjtFdUJ2NFlNO0krRDZERTtFdEY2MFlSO0V3QjE0WU07SThEZ0VFO0V0RjYwWVI7QUFDRjtBc0ZuMllNO0VBQ0U7RUFDQSxTQzlDd0I7RUQrQ3hCO0F0RnEyWVI7QXVCbjVZUTtFK0RnREU7QXRGczJZVjtBd0J0NVlRO0U4RG1ERTtBdEZzMllWO0ErRHAxWUk7RXVCYkU7SUFDRTtJQUNBLFNDM0R3QjtJRDREeEI7RXRGbzJZTjtFdUIvNVlNO0krRDZERTtFdEZxMllSO0V3Qmw2WU07SThEZ0VFO0V0RnEyWVI7QUFDRjs7QXNGLzFZQTtFQUNFO0VBQ0EscUJqRWxFZ0I7RWlFbUVoQiw2QkN6RDhCO0VEMEQ5QjtFbEQ3REU7QXBDZzZZSjtBMEJ0NllFO0VBQ0U7STREdUVBLGMxRDdFUztJMEQ4RVQ7RXRGazJZRjtBQUNGO0FzRmgyWUU7RUFFRTtBdEZpMllKO0FzRjcxWUU7RUFDRTtBdEYrMVlKOztBc0YzMVlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEY4MVlGOztBc0YzMVlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZ0JDNUc4QjtFRDZHOUI7RUFDQTtFQUNBO0F0RjgxWUY7QXNGNTFZRTtFQUNFO0F0RjgxWUo7QXNGMzFZRTtFQUNFO0VBQ0E7QXRGNjFZSjtBMEIzOFlFO0VBQ0U7STREZ0hFO0V0RjgxWUo7QUFDRjtBc0Y1MVlJO0VBRUU7QXRGNjFZTjtBc0Z6MVlFOztFQUVFO0VBQ0E7RUFDQSxxQkNoSXlCO0VEaUl6QixvQkNqSXlCO0F2RjQ5WTdCO0FzRnoxWUk7O0VBQ0U7RUFDQTtFQUNBO0F0RjQxWU47QXVCeCtZUTs7RStEOElBO0VBQ0E7QXRGODFZUjtBd0I3K1lROztFOERrSkE7RUFDQTtBdEYrMVlSO0FzRjMxWUk7O0VBQ0U7QXRGODFZTjtBc0YxMVlFO0VBQ0U7QXRGNDFZSjs7QW1EbjRZUTtFbUNnRE47RWhDM0pJO0F0RG0vWU47QXNGcjFZRTtFQUNFO0VBQ0E7QXRGdTFZSjtBc0ZwMVlFO0VBQ0U7RUFDQTtBdEZzMVlKO0EwQngvWUU7RTREc0tJO0F0RnExWU47QXNGaDFZSTs7RUFFRTtBdEZrMVlOO0EwQi8vWUU7OztFNERnTE07QXRGbzFZUjtBc0ZqMVlNOztFQUNFO0F0Rm8xWVI7QXNGaDFZSTs7OztFQUlFO0F0RmsxWU47QXNGOTBZRTtFQUNFO0VBQ0E7QXRGZzFZSjtBc0Y3MFlFO0VBQ0U7QXRGKzBZSjtBc0Y3MFlJO0VBQ0U7QXRGKzBZTjtBc0YzMFlFO0VBQ0U7QXRGNjBZSjtBc0Y1MFlJO0VBQ0U7QXRGODBZTjtBMEI5aFpFO0U0RG1OTTtBdEY4MFlSOztBbUQ3N1lRO0VtQ29ETjtFaEMzSkk7QXREeWlaTjtBc0YzNFlFO0VBQ0U7RUFDQTtBdEY2NFlKO0FzRjE0WUU7RUFDRTtFQUNBO0F0RjQ0WUo7QTBCOWlaRTtFNERzS0k7QXRGMjRZTjtBc0Z0NFlJOztFQUVFO0F0Rnc0WU47QTBCcmpaRTs7O0U0RGdMTTtBdEYwNFlSO0FzRnY0WU07O0VBQ0U7QXRGMDRZUjtBc0Z0NFlJOzs7O0VBSUU7QXRGdzRZTjtBc0ZwNFlFO0VBQ0U7RUFDQTtBdEZzNFlKO0FzRm40WUU7RUFDRTtBdEZxNFlKO0FzRm40WUk7RUFDRTtBdEZxNFlOO0FzRmo0WUU7RUFDRTtBdEZtNFlKO0FzRmw0WUk7RUFDRTtBdEZvNFlOO0EwQnBsWkU7RTREbU5NO0F0Rm80WVI7O0F3RnptWkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEY0bVpGO0F3RjNtWkU7RUNIQSxXcEVxRmdCO0VvRXBGaEIsWXBFb0ZnQjtFb0VuRmhCLGVwRW1GZ0I7QXJCOGhabEI7QXdGM21aTTtFQ1JKLFdEU3lCO0VDUnpCLFlEUXlCO0VDUHpCLGVET3lCO0F4RittWjNCO0F3RmhuWk07RUNSSixXRFN5QjtFQ1J6QixZRFF5QjtFQ1B6QixlRE95QjtBeEZvblozQjtBd0ZyblpNO0VDUkosV0RTeUI7RUNSekIsWURReUI7RUNQekIsZURPeUI7QXhGeW5aM0I7QXdGMW5aTTtFQ1JKLFdEU3lCO0VDUnpCLFlEUXlCO0VDUHpCLGVET3lCO0F4RjhuWjNCO0F3Ri9uWk07RUNSSixXRFN5QjtFQ1J6QixZRFF5QjtFQ1B6QixlRE95QjtBeEZtb1ozQjtBd0Zwb1pNO0VDUkosV0RTeUI7RUNSekIsWURReUI7RUNQekIsZURPeUI7QXhGd29aM0I7QXdGem9aTTtFQ1JKLFdEU3lCO0VDUnpCLFlEUXlCO0VDUHpCLGVET3lCO0F4RjZvWjNCO0F3RjlvWk07RUNSSixXRFN5QjtFQ1J6QixZRFF5QjtFQ1B6QixlRE95QjtBeEZrcFozQjtBd0Y5b1pJO0VDYkYsYXBFd0ZnQjtFb0V2RmhCLGNwRXVGZ0I7RW9FdEZoQixpQnBFc0ZnQjtBckJ3a1psQjtBd0Yvb1pJO0VDakJGLGNwRXVGZ0I7RW9FdEZoQixlcEVzRmdCO0VvRXJGaEIsa0JwRXFGZ0I7QXJCOGtabEI7QXdGaHBaSTtFQ3JCRixlcEVzRmdCO0VvRXJGaEIsZ0JwRXFGZ0I7RW9FcEZoQixtQnBFb0ZnQjtBckJvbFpsQjs7QTBGdHFaQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFGeXFaRjtBMEZ2cVpFOzs7O0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUZ5cVpKO0F1QjFyWlE7Ozs7Ozs7Ozs7OztFbUV1QkE7QTFGaXJaUjtBd0J4c1pROzs7Ozs7Ozs7Ozs7RWtFMEJBO0ExRjRyWlI7QTBGdHJaRTs7O0VBR0U7QTFGd3JaSjtBMEZwclpFO0VBQ0U7QTFGc3JaSjtBdUI5dFpROztFYThCSjtFQUNBO0FwQ29zWko7QXdCbnVaUTs7RVk0Q0o7RUFDQTtBcEMyclpKO0F1Qnh1WlE7O0VhNENKO0VBQ0E7QXBDZ3NaSjtBd0I3dVpROztFWThCSjtFQUNBO0FwQ210Wko7QTBGanJaRTtFQUNFO0VBQ0E7QTFGbXJaSjtBdUJ0dlpRO0VhOEJKO0VBQ0E7QXBDMnRaSjtBd0IxdlpRO0VZNENKO0VBQ0E7QXBDaXRaSjtBdUI5dlpRO0VhNENKO0VBQ0E7QXBDcXRaSjtBd0Jsd1pRO0VZOEJKO0VBQ0E7QXBDdXVaSjs7QTBGdHFaQTs7RUFFRTtBMUZ5cVpGO0EwRnBxWkU7O0VBQ0U7RUFDQTtBMUZ1cVpKO0EwRnJxWkk7O0VBQ0U7QTFGd3FaTjtBdUJweFpROzs7Ozs7OztFbUVxSEY7QTFGeXFaTjtBd0I5eFpROzs7Ozs7OztFa0V3SEY7QTFGZ3JaTjs7QTBGM3FaQTtFQU9FO0VBQ0E7QTFGd3FaRjtBdUI3eVpRO0VtRStISjtBMUZpclpKO0F3Qmh6WlE7RWtFa0lKO0ExRmlyWko7O0EwRjVxWkE7RUFPRTtFQUNBO0ExRnlxWkY7QXVCeHpaUTtFbUV5SUo7QTFGa3JaSjtBd0IzelpRO0VrRTRJSjtBMUZrclpKOztBMEZ0cVpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RXBFakNJLG1CQXRDYTtFb0V5RWpCLGdCckVsSnFCO0VxRW1KckIsZ0JyRTlJa0I7RXFFK0lsQjtFQUNBO0VBQ0E7RXREcEpFO0VzRHdKQTtFQUNBO0VBQ0E7QTFGdXFaSjtBMEZucVpFOztFQUVFO0ExRnFxWko7O0EwRjNwWkE7O0VBRUUsZ0M3RG5FaUI7QTdCaXVabkI7O0EwRjNwWkE7Ozs7OztFQU1FO0VwRXhFSSxxQkF0Q2E7RW9FZ0hqQixnQnJEbk1nQjtFRFlkO0FwQ3MxWko7O0EwRjNwWkE7O0VBRUUsa0M3RHJGaUI7QTdCbXZabkI7O0EwRjNwWkE7Ozs7OztFQU1FO0VwRXpGSSxzQkF0Q2E7RW9FaUlqQixnQnJEbk5nQjtFRFdkO0FwQ3UyWko7O0F1QnIzWlE7O0VtRTZOSjtBMUY2cFpKO0F3QjEzWlE7O0VrRWdPSjtBMUY4cFpKOztBdUI5M1pROzs7Ozs7RWE4Qko7RUFDQTtBcEN5MlpKO0F3Qng0WlE7Ozs7OztFWTRDSjtFQUNBO0FwQ28yWko7O0F1Qmo1WlE7Ozs7OztFYTRDSjtFQUNBO0FwQzgyWko7QXdCMzVaUTs7Ozs7O0VZOEJKO0VBQ0E7QXBDcTRaSjs7QTJGajZaQTtFQ0lFO0VBR0E7QTVGKzVaRjs7QTJGaDZaQTtFQUNFLGdCRVh5QjtFRll6Qix5Qi9EUFc7RStEUVg7RXZERUU7RXdEUEY7RUFHQTtBNUZ3NlpGOztBMkYxNVpBO0VBRUU7QTNGNDVaRjs7QTJGejVaQTtFQUNFO0VBQ0E7QTNGNDVaRjs7QTJGejVaQTtFckVrQ0k7RXFFaENGLGMvRDNCVztBNUJ1N1piOztBOEZwOFpBO0VBQ0U7RUFDQSxtQkNFbUI7RTNEY2pCO0UwRFhBO0E5Rm84Wko7QStEbDRaSTtFK0J6RUo7SUFZSTtFOUZtOFpGO0FBQ0Y7O0E4Rmg4WkE7RUFDRTtFQUNBO0UxREFFO0FwQ284Wko7O0FnR2w5WkE7RUFDRTtFQUNBO0VBU0E7RTVER0U7QXBDMjhaSjtBdUJ6OVpRO0V5RU1KO0FoR3M5Wko7QXdCNTlaUTtFd0VTSjtBaEdzOVpKOztBZ0cxOFpBO0VBQ0U7RUFDQTtFQUVFO0FoRzQ4Wko7QTBCdjlaRTtFc0VnQkU7RUFDQTtFQUVFO0VBQ0E7QWhHeThaTjtBZ0dyOFpFO0VBRUk7RUFDQTtBaEdzOFpOOztBZ0c1N1pBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFHRTtFQUNBO0FoRzQ3Wko7QWdHejdaRTtFNUR4Q0U7RUFDQTtBcENvK1pKO0FnR3o3WkU7RTVEOUJFO0VBQ0E7QXBDMDlaSjtBZ0d6N1pFO0VBRUU7RUFFRTtFQUNBO0FoR3k3Wk47QWdHcDdaRTtFQUNFO0VBRUU7RUFDQTtFQUNBO0FoR3E3Wk47QWdHajdaRTtFQUNFO0FoR203Wko7QWdHajdaSTtFQUNFO0VBQ0EscUIzRDFGVTtBckM2Z2FoQjs7QWdHcjZaSTtFQUNFO0FoR3c2Wk47QWdHcjZaUTtFNUQ1Q0o7RUFaQTtBcENpK1pKO0FnR3A2WlE7RTVEN0RKO0VBWUE7QXBDeTlaSjtBZ0duNlpRO0VBQ0U7QWhHcTZaVjtBZ0dsNlpRO0VBQ0UscUIzRDNITTtFMkQ0SE47QWhHbzZaVjtBZ0dsNlpVO0VBQ0U7RUFDQSxzQjNEaElJO0FyQ29pYWhCOztBK0RwK1pJO0VpQ3dDQTtJQUNFO0VoR2c4Wko7RWdHNzdaTTtJNUQ1Q0o7SUFaQTtFcEN5L1pGO0VnRzU3Wk07STVEN0RKO0lBWUE7RXBDaS9aRjtFZ0czN1pNO0lBQ0U7RWhHNjdaUjtFZ0cxN1pNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHNDdaUjtFZ0cxN1pRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQzRqYWQ7QUFDRjtBK0Q3L1pJO0VpQ3dDQTtJQUNFO0VoR3c5Wko7RWdHcjlaTTtJNUQ1Q0o7SUFaQTtFcENpaGFGO0VnR3A5Wk07STVEN0RKO0lBWUE7RXBDeWdhRjtFZ0duOVpNO0lBQ0U7RWhHcTlaUjtFZ0dsOVpNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHbzlaUjtFZ0dsOVpRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQ29sYWQ7QUFDRjtBK0RyaGFJO0VpQ3dDQTtJQUNFO0VoR2cvWko7RWdHNytaTTtJNUQ1Q0o7SUFaQTtFcEN5aWFGO0VnRzUrWk07STVEN0RKO0lBWUE7RXBDaWlhRjtFZ0czK1pNO0lBQ0U7RWhHNitaUjtFZ0cxK1pNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHNCtaUjtFZ0cxK1pRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQzRtYWQ7QUFDRjtBK0Q3aWFJO0VpQ3dDQTtJQUNFO0VoR3dnYUo7RWdHcmdhTTtJNUQ1Q0o7SUFaQTtFcENpa2FGO0VnR3BnYU07STVEN0RKO0lBWUE7RXBDeWphRjtFZ0duZ2FNO0lBQ0U7RWhHcWdhUjtFZ0dsZ2FNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHb2dhUjtFZ0dsZ2FRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQ29vYWQ7QUFDRjtBK0Rya2FJO0VpQ3dDQTtJQUNFO0VoR2dpYUo7RWdHN2hhTTtJNUQ1Q0o7SUFaQTtFcEN5bGFGO0VnRzVoYU07STVEN0RKO0lBWUE7RXBDaWxhRjtFZ0czaGFNO0lBQ0U7RWhHNmhhUjtFZ0cxaGFNO0lBQ0UscUIzRDNITTtJMkQ0SE47RWhHNGhhUjtFZ0cxaGFRO0lBQ0U7SUFDQSxzQjNEaElJO0VyQzRwYWQ7QUFDRjtBZ0cvZ2FBO0U1RHJJSTtBcEN1cGFKO0FnRy9nYUU7RUFDRTtBaEdpaGFKO0FnRy9nYUk7RUFDRTtBaEdpaGFOOztBaUc1cWFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoRzBnYTVDO0EwQmxxYUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakc4cWFSO0FpRzNxYU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR21oYTVFOztBaUcxcmFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR3doYTVDO0EwQmhyYUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakc0cmFSO0FpR3pyYU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR2lpYTVFOztBaUd4c2FFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR3NpYTVDO0EwQjlyYUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakcwc2FSO0FpR3ZzYU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoRytpYTVFOztBaUd0dGFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR29qYTVDO0EwQjVzYUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakd3dGFSO0FpR3J0YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoRzZqYTVFOztBaUdwdWFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR2trYTVDO0EwQjF0YUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakdzdWFSO0FpR251YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoRzJrYTVFOztBaUdsdmFFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoR2dsYTVDO0EwQnh1YUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakdvdmFSO0FpR2p2YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR3lsYTVFOztBaUdod2FFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoRzhsYTVDO0EwQnR2YUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakdrd2FSO0FpRy92YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR3VtYTVFOztBaUc5d2FFO0VBQ0UsY0RzS3dFO0VDckt4RSx5QkRxS3dDO0FoRzRtYTVDO0EwQnB3YUU7RXVFVE0sY0RpS29FO0VDaEtwRTtBakdneGFSO0FpRzd3YU07RUFDRSxXckVWQztFcUVXRCx5QkQySm9FO0VDMUpwRSxxQkQwSm9FO0FoR3FuYTVFOztBZ0c3bWFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RTVEcEtBO0FwQ3F4YUo7QWdHOW1hSTtFQUNFO0FoR2duYU47QWdHOW1hTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFTRTtBaEd3bWFWO0F1Qjl5YVE7RXlFZ01FO0FoR2luYVY7QXdCanphUTtFd0VtTUU7QWhHaW5hVjtBaUdqeWFFO0VBQ0U7QWpHbXlhSjtBaUdweWFFO0VBQ0U7QWpHc3lhSjtBaUd2eWFFO0VBQ0U7QWpHeXlhSjtBaUcxeWFFO0VBQ0U7QWpHNHlhSjtBaUc3eWFFO0VBQ0U7QWpHK3lhSjtBaUdoemFFO0VBQ0U7QWpHa3phSjtBaUduemFFO0VBQ0U7QWpHcXphSjtBaUd0emFFO0VBQ0U7QWpHd3phSjs7QWtHaDFhQTtFQUNFO0VBQ0E7QWxHbTFhRjs7QWtHaDFhQTtFQUNFO0FsR20xYUY7O0FtR24xYUE7RUFFRTtBbkdxMWFGO0FtR24xYUU7RUFDRTtFQUNBO0FuR3ExYUo7O0FtR2gxYUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhbEVYdUI7RWtFWXZCO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QW5HaTFhRjs7QW1HMTBhQTtFQUNFO0VBQ0E7RUFDQSxjQzlCNkI7RURnQzdCO0FuRzQwYUY7QW1HejBhRTtFbkQzQkksbUNtRDRCRjtFQUNBLDhCQ2JxQjtBcEd3MWF6QjtBZ0RwMmFNO0VtRHVCSjtJbkR0Qk07RWhEdTJhTjtBQUNGO0FtRzkwYUU7RUFDRSxlQ2ZxQjtBcEcrMWF6QjtBbUc1MGFFO0VBQ0Usc0JDbEJxQjtBcEdnMmF6Qjs7QW1HMTBhQTtFQUNFO0VBQ0E7QW5HNjBhRjtBbUczMGFFO0VBQ0U7RUFDQTtBbkc2MGFKO0FtRzEwYUU7O0VBRUU7QW5HNDBhSjtBbUd6MGFFO0VBQ0U7QW5HMjBhSjs7QW1HdjBhQTtFQUNFO0VBQ0E7RUFDQTtBbkcwMGFGO0FtR3YwYUU7RUFDRTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0FuR3kwYUo7QW1HcjBhRTtFQUNFO0VBQ0E7RUFDQTtBbkd1MGFKO0FtR3IwYUk7RUFDRTtBbkd1MGFOO0FtR3AwYUk7RUFDRTtBbkdzMGFOOztBbUdoMGFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RS9EaEdFO0UrRG9HRjtFQUdFO0VBQ0E7QW5HOHphSjs7QW1HenphQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGFsRTFIdUI7RWtFMkh2QjtFQUNBO0VBQ0EseUJ2RWpJTztBNUI2N2FUO0FtR3p6YUU7RUFBUztBbkc0emFYO0FtRzN6YUU7RUFBUyxZQ3RIa0I7QXBHbzdhN0I7O0FtR3p6YUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQkM1SDJCO0VENkgzQjtFL0R6SEU7RUFDQTtFK0QySEE7QW5HNHphSjtBbUd6emFFO0VBQ0Usa0JDcEl5QjtBcEcrN2E3QjtBdUJsOWFRO0U0RTBKRjtBbkcyemFOO0F3QnI5YVE7RTJFOEpGO0FuRzB6YU47O0FtR3B6YUE7RUFDRTtFQUNBLGdCOUVySmtCO0FyQjQ4YXBCOztBbUdsemFBO0VBQ0U7RUFHQTtFQUNBLGFDaExvQjtBcEdtK2F0Qjs7QW1HL3lhQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0RySkU7RUFDQTtFK0R1SkE7QW5Ha3phSjtBbUczeWFFO0VBQ0U7QW5HNnlhSjs7QW1HeHlhQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5HMnlhRjs7QStEcjdhSTtFb0NnSkY7SUFDRSxnQkM3TFE7SUQ4TFI7RW5HeXlhRjs7RW1HdHlhQTtJQUNFO0VuR3l5YUY7RW1HdnlhRTtJQUNFO0VuR3l5YUo7O0VtR3J5YUE7SUFDRTtFbkd3eWFGO0VtR3R5YUU7SUFDRTtJQUNBO0lBQUE7RW5Hd3lhSjs7RW1HaHlhQTtJQUFZLGdCQ3JORjtFcEd5L2FWO0FBQ0Y7QStELzhhSTtFb0M4S0Y7O0lBRUUsZ0JDN05RO0VwR2lnYlY7QUFDRjtBK0RyOWFJO0VvQ3FMRjtJQUFZLGlCQ25PRjtFcEd1Z2JWO0FBQ0Y7QW1HL3hhSTtFQUNFLHFCaERLVztBbkQ0eGFqQjtBbUc5eGFJO0VBQ0UsV3ZFclFHO0V1RXNRSDtBbkdneWFOOztBbUd0eWFJO0VBQ0UscUJoREtXO0FuRG95YWpCO0FtR3R5YUk7RUFDRSxXdkVyUUc7RXVFc1FIO0FuR3d5YU47O0FtRzl5YUk7RUFDRSxxQmhES1c7QW5ENHlhakI7QW1HOXlhSTtFQUNFLFd2RXJRRztFdUVzUUg7QW5HZ3phTjs7QW1HdHphSTtFQUNFLGtCaERLVztBbkRvemFqQjtBbUd0emFJO0VBQ0UsV3ZFclFHO0V1RXNRSDtBbkd3emFOOztBbUc5emFJO0VBQ0UscUJoREtXO0FuRDR6YWpCO0FtRzl6YUk7RUFDRSxXdkVyUUc7RXVFc1FIO0FuR2cwYU47O0FtR3QwYUk7RUFDRSxxQmhES1c7QW5EbzBhakI7QW1HdDBhSTtFQUNFLFd2RXJRRztFdUVzUUg7QW5HdzBhTjs7QW1HOTBhSTtFQUNFLHFCaERLVztBbkQ0MGFqQjtBbUc5MGFJO0VBQ0UsV3ZFclFHO0V1RXNRSDtBbkdnMWFOOztBbUd0MWFJO0VBQ0UscUJoREtXO0FuRG8xYWpCO0FtR3QxYUk7RUFDRSxXdkVyUUc7RXVFc1FIO0FuR3cxYU47O0FxRzdsYkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckdnbWJGO0F1QnJtYlE7RThFUUo7QXJHZ21iSjtBd0J4bWJRO0U2RVdKO0FyR2dtYko7O0FxRzVsYkE7RUFDRTtFQUNBO0FyRytsYkY7QTBCbG1iRTtFMkVPRTtBckc4bGJKO0FxRzFsYkU7RUFDRSxjekVqQlM7RXlFa0JUO0VBQ0E7RUFFRTtBckcybGJOOztBcUdsbGJBO0VBQ0U7RUFFRTtBckdvbGJKO0FxR2psYkU7RUFDRTtBckdtbGJKO0FxR2hsYkU7RUFDRTtFakUzQkE7RUFDQTtBcEM4bWJKO0EwQnhuYkU7RTJFeUNNO0FyR2tsYlI7QXFHOWtiSTtFQUNFO0VBQ0E7RUFFRTtBckcra2JSO0FxRzFrYkU7O0VBR0k7RUFDQTtFQUNBO0FyRzJrYk47QXFHdmtiRTtFQUVFO0VqRXhEQTtFQUNBO0FwQ2lvYko7O0FxR3pqYkU7RUFDRTtBckc0amJKO0FxR3pqYk07RUFFSTtFQUNBO0FyRzBqYlY7QXFHcmpiRTtFQUNFO0VBQ0E7RWpFaEdBO0VpRW1HRTtFQUNBO0VBQ0E7QXJHc2piTjtBcUdqamJJO0VBQ0U7QXJHbWpiTjtBcUdqamJJO0VqRTdHQTtBcENpcWJKO0FxRy9pYkU7RUFFRTtBckdnamJKO0FxRzlpYkk7RUFDRTtFQUNBO0VBQ0E7QXJHZ2piTjtBd0J2cmJRO0U2RTZJRjtBckc2aWJOO0FxRzFpYkk7RUFDRTtBckc0aWJOO0FxR3ppYkk7RWpFdElBO0FwQ2tyYko7QXFHemliTTtFQUVJO0FyRzBpYlY7QXVCbnNiUTtFOEVpS0Y7QXJHcWliTjtBd0J0c2JRO0U2RW9LRjtBckdxaWJOO0F1QnpzYlE7RThFeUtBO0FyR21pYlI7QXdCNXNiUTtFNkU0S0E7QXJHbWliUjtBcUcvaGJJO0VqRWxLQTtBcENvc2JKO0FxRy9oYk07RUFFSTtBckdnaWJWO0FxRzNoYkk7RWpFNUtBO0FwQzBzYko7O0FxR2xoYkU7RWpFeExFO0FwQzhzYko7QXFHbGhiRTs7RUFHSTtFQUNBO0FyR21oYk47O0FxRzFnYkE7RUFDRTtFQUVFO0FyRzRnYko7QXFHemdiRTtFQUNFO0FyRzJnYko7QXFHeGdiRTtFQUNFO0VBQ0E7QXJHMGdiSjtBcUd2Z2JFOztFQUVFO0FyR3lnYko7O0FxR25nYkk7O0VBRUUsY2xEc0JXO0VrRHJCWCxxQmxEcUJXO0FuRGkvYWpCOztBcUd6Z2JJOztFQUVFLGNsRHNCVztFa0RyQlgscUJsRHFCVztBbkR1L2FqQjs7QXFHL2diSTs7RUFFRSxjbERzQlc7RWtEckJYLHFCbERxQlc7QW5ENi9hakI7O0FxR3JoYkk7O0VBRUUsV2xEc0JXO0VrRHJCWCxrQmxEcUJXO0FuRG1nYmpCOztBcUczaGJJOztFQUVFLGNsRHNCVztFa0RyQlgscUJsRHFCVztBbkR5Z2JqQjs7QXFHamliSTs7RUFFRSxjbERzQlc7RWtEckJYLHFCbERxQlc7QW5EK2diakI7O0FxR3ZpYkk7O0VBRUUsY2xEc0JXO0VrRHJCWCxxQmxEcUJXO0FuRHFoYmpCOztBcUc3aWJJOztFQUVFLGNsRHNCVztFa0RyQlgscUJsRHFCVztBbkQyaGJqQjs7QXFHcmliRTtFQUNFO0VBQ0E7QXJHd2liSjs7QXFHbmliRTtFQUNFO0VBQ0E7RUFDQTtBckdzaWJKOztBcUc1aGJFO0VBQ0U7QXJHK2hiSjtBcUc3aGJFO0VBQ0U7QXJHK2hiSjs7QXFHdGhiSTs7RUFDRTtFQUNBO0VBQ0EsWUMvUGtCO0VEZ1FsQjtFQUNBO0FyRzBoYk47O0F1Ry95YkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZHa3piRjtBdUc5eWJFOzs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXZHc3piSjtBdUdseWJBO0VBQ0U7RUFDQSx5QkN4Q3dCO0VEeUN4Qiw0QkN6Q3dCO0VEMEN4QixrQkUvQ1E7RW5GdUhKLHFCQXRDYTtFaUZoQ2pCO0VBQ0E7QXZHb3liRjtBMEI1MGJFO0U2RTJDRTtBdkdveWJKOztBdUczeGJBO0VBQ0U7RUFDQTtFQU9BO0VBQ0E7QXZHd3hiRjtBdUJwMmJRO0VnRnNFSjtBdkdpeWJKO0F3QnYyYlE7RStFeUVKO0F2R2l5Yko7QXVHNXhiRTtFQUNFO0VBQ0E7QXZHOHhiSjtBdUczeGJFO0VBQ0U7RUFDQTtBdkc2eGJKOztBdUdweGJBO0VBQ0U7RUFDQSxtQkdqR29CO0VIa0dwQixzQkdsR29CO0ExR3kzYnRCOztBdUczd2JBO0VBQ0U7RUFDQTtFQUdBO0F2RzR3YkY7O0F1R3h3YkE7RUFDRTtFakZJSSxxQkF0Q2E7RWlGb0NqQjtFQUNBO0VBQ0E7RW5FN0dFO0FwQ3kzYko7QTBCejNiRTtFNkVpSEU7QXZHMndiSjs7QXVHcndiQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2R3d3YkY7O0ErRGwwYkk7RXdDc0VJOzs7Ozs7O0lBQ0U7SUFDQTtFdkdzd2JSO0FBQ0Y7QStENTFiSTtFd0NpRkE7SUFvQkk7SUFDQTtFdkcydmJOO0V1R3p2Yk07SUFDRTtFdkcydmJSO0V1R3p2YlE7SUFDRTtFdkcydmJWO0V1R3h2YlE7SUFDRSxxQkNsTGlCO0lEbUxqQixvQkNuTGlCO0V4RzY2YjNCO0V1R3J2Yk07Ozs7Ozs7SUFDRTtFdkc2dmJSO0V1Ry91Yk07SUFDRTtJQUdBO0V2Ryt1YlI7RXVHNXViTTtJQUNFO0V2Rzh1YlI7QUFDRjtBK0QvMmJJO0V3Q3NFSTs7Ozs7OztJQUNFO0lBQ0E7RXZHa3piUjtBQUNGO0ErRHg0Ykk7RXdDaUZBO0lBb0JJO0lBQ0E7RXZHdXliTjtFdUdyeWJNO0lBQ0U7RXZHdXliUjtFdUdyeWJRO0lBQ0U7RXZHdXliVjtFdUdweWJRO0lBQ0UscUJDbExpQjtJRG1MakIsb0JDbkxpQjtFeEd5OWIzQjtFdUdqeWJNOzs7Ozs7O0lBQ0U7RXZHeXliUjtFdUczeGJNO0lBQ0U7SUFHQTtFdkcyeGJSO0V1R3h4Yk07SUFDRTtFdkcweGJSO0FBQ0Y7QStEMzViSTtFd0NzRUk7Ozs7Ozs7SUFDRTtJQUNBO0V2RzgxYlI7QUFDRjtBK0RwN2JJO0V3Q2lGQTtJQW9CSTtJQUNBO0V2R20xYk47RXVHajFiTTtJQUNFO0V2R20xYlI7RXVHajFiUTtJQUNFO0V2R20xYlY7RXVHaDFiUTtJQUNFLHFCQ2xMaUI7SURtTGpCLG9CQ25MaUI7RXhHcWdjM0I7RXVHNzBiTTs7Ozs7OztJQUNFO0V2R3ExYlI7RXVHdjBiTTtJQUNFO0lBR0E7RXZHdTBiUjtFdUdwMGJNO0lBQ0U7RXZHczBiUjtBQUNGO0ErRHY4Ykk7RXdDc0VJOzs7Ozs7O0lBQ0U7SUFDQTtFdkcwNGJSO0FBQ0Y7QStEaCtiSTtFd0NpRkE7SUFvQkk7SUFDQTtFdkcrM2JOO0V1RzczYk07SUFDRTtFdkcrM2JSO0V1RzczYlE7SUFDRTtFdkcrM2JWO0V1RzUzYlE7SUFDRSxxQkNsTGlCO0lEbUxqQixvQkNuTGlCO0V4R2lqYzNCO0V1R3ozYk07Ozs7Ozs7SUFDRTtFdkdpNGJSO0V1R24zYk07SUFDRTtJQUdBO0V2R20zYlI7RXVHaDNiTTtJQUNFO0V2R2szYlI7QUFDRjtBK0RuL2JJO0V3Q3NFSTs7Ozs7OztJQUNFO0lBQ0E7RXZHczdiUjtBQUNGO0ErRDVnY0k7RXdDaUZBO0lBb0JJO0lBQ0E7RXZHMjZiTjtFdUd6NmJNO0lBQ0U7RXZHMjZiUjtFdUd6NmJRO0lBQ0U7RXZHMjZiVjtFdUd4NmJRO0lBQ0UscUJDbExpQjtJRG1MakIsb0JDbkxpQjtFeEc2bGMzQjtFdUdyNmJNOzs7Ozs7O0lBQ0U7RXZHNjZiUjtFdUcvNWJNO0lBQ0U7SUFHQTtFdkcrNWJSO0V1RzU1Yk07SUFDRTtFdkc4NWJSO0FBQ0Y7QXVHMzliSTtFQW9CSTtFQUNBO0F2RzA4YlI7QXVHNzliUTs7Ozs7OztFQUNFO0VBQ0E7QXZHcStiVjtBdUdsOWJRO0VBQ0U7QXZHbzliVjtBdUdsOWJVO0VBQ0U7QXZHbzliWjtBdUdqOWJVO0VBQ0UscUJDbExpQjtFRG1MakIsb0JDbkxpQjtBeEdzb2M3QjtBdUc5OGJROzs7Ozs7O0VBQ0U7QXZHczliVjtBdUd4OGJRO0VBQ0U7RUFHQTtBdkd3OGJWO0F1R3I4YlE7RUFDRTtBdkd1OGJWOztBdUcvN2JFO0VBQ0U7QXZHazhiSjtBMEIvb2NFO0U2RWdOSTtBdkdrOGJOO0F1Rzc3Ykk7RUFDRTtBdkcrN2JOO0EwQnJwY0U7RTZFeU5NO0F2Rys3YlI7QXVHNTdiTTtFQUNFO0F2Rzg3YlI7QXVHMTdiSTs7OztFQUlFO0F2RzQ3Yk47QXVHeDdiRTtFQUNFO0VBQ0E7QXZHMDdiSjtBdUd2N2JFO0VBQ0U7QXZHeTdiSjtBdUd0N2JFO0VBQ0U7QXZHdzdiSjtBdUd2N2JJO0VBQ0U7QXZHeTdiTjtBMEI5cWNFO0U2RXdQTTtBdkd5N2JSOztBdUdyK2JFO0VBQ0U7QXZHdytiSjtBMEJycmNFO0U2RWdOSTtBdkd3K2JOO0F1R24rYkk7RUFDRTtBdkdxK2JOO0EwQjNyY0U7RTZFeU5NO0F2R3ErYlI7QXVHbCtiTTtFQUNFO0F2R28rYlI7QXVHaCtiSTs7OztFQUlFO0F2R2srYk47QXVHOTliRTtFQUNFO0VBQ0E7QXZHZytiSjtBdUc3OWJFO0VBQ0U7QXZHKzliSjtBdUc1OWJFO0VBQ0U7QXZHODliSjtBdUc3OWJJO0VBQ0U7QXZHKzliTjtBMEJwdGNFO0U2RXdQTTtBdkcrOWJSOztBMkd6dWNBO0VBQ0U7RUNTQTtFeEVRRTtBcEM2dGNKO0F1QjN1Y1E7RXFGQ0o7QTVHNnVjSjtBd0I5dWNRO0VvRklKO0E1RzZ1Y0o7O0EyRy91Y0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBUUU7RUFDQTtFQUNBO0EzRzB1Y0o7QXVCNXZjUTtFb0ZVSjtBM0dxdmNKO0F3Qi92Y1E7RW1GYUo7QTNHcXZjSjtBMkc3dWNFO0VBQ0U7RUFDQTtFQUVFO0VBQ0E7RUFDQTtBM0c4dWNOO0EyRzF1Y0U7RUFDRTtFQUNBLFVFakJnQztFRmtCaEMsZ0Q5RXpCMEI7QTdCcXdjOUI7O0F1Qjl3Y1E7RW9GMENBO0V2RUVKO0VBQ0E7QXBDdXVjSjtBd0JweGNRO0VtRjhDQTtFdkVoQko7RUFDQTtBcEMwdmNKO0F1Qnp4Y1E7RWE4Qko7RUFDQTtBcEM4dmNKO0F3Qjd4Y1E7RVk0Q0o7RUFDQTtBcENvdmNKO0EyR251Y0U7RUFDRTtFQUVFO0VBQ0E7RUFDQTtBM0dvdWNOO0EyR2h1Y0U7RUFDRTtFQUVBO0VBRUU7RUFDQTtFQUNBO0EzR2d1Y047O0E4Ry95Y0U7RUFDRTtFeEYySEUscUJBdENhO0V3Rm5GZjtBOUdremNKO0F1QnB6Y1E7RWE0Q0o7RUFDQTtBcEMyd2NKO0F3Qnh6Y1E7RVk4Qko7RUFDQTtBcEM2eGNKO0F1QjV6Y1E7RWE4Qko7RUFDQTtBcENpeWNKO0F3QmgwY1E7RVk0Q0o7RUFDQTtBcEN1eGNKOztBOEdyMGNFO0VBQ0U7RXhGMkhFLHNCQXRDYTtFd0ZuRmYsZ0J6RUNjO0FyQ3UwY2xCO0F1QjEwY1E7RWE0Q0o7RUFDQTtBcENpeWNKO0F3QjkwY1E7RVk4Qko7RUFDQTtBcENtemNKO0F1QmwxY1E7RWE4Qko7RUFDQTtBcEN1emNKO0F3QnQxY1E7RVk0Q0o7RUFDQTtBcEM2eWNKOztBK0c5MWNBO0VBQ0UsYTlFVXVCO0U4RVR2QjtFQUNBLGdCN0VDc0I7RUNIdEIsa01kSXdCO0VjRnhCO0VBQ0EsZ0JkWXFCO0VjWHJCLGdCZGdCa0I7RWNmbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWJnSEksc0JBdENhO0V5RmhGakI7RUFDQTtFQUNBO0UzRU9FO0UyRUhBO0VBQ0E7QS9HeTJjSjtBK0d0MmNFO0VBQ0U7RUFDQTtBL0d3MmNKO0ErR3QyY0k7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvR3UyY047O0ErR2gyY0U7O0VBQ0U7RUFDQSxjN0VwQm9CO0U2RXFCcEI7QS9HbzJjSjs7QStHOTFjRTs7RUFDRSxhN0U1Qm9CO0U2RTZCcEI7RUFDQTtFQUNBO0EvR2syY0o7O0ErRzkxY0E7RUFFRTtBL0dnMmNGO0ErRzkxY0U7RUFDRTtBL0dnMmNKO0ErRzkxY0k7RUFDRTtFQUNBO0VBRUU7QS9HKzFjUjtBK0czMWNJO0VBQ0UsVzFFNURVO0UwRTZEVjtFQUVFO0EvRzQxY1I7O0ErR3QxY0E7RUFFRTtBL0d3MWNGO0ErR3QxY0U7RUFDRTtBL0d3MWNKO0ErR3QxY0k7RUFDRTtFQUNBO0VBRUU7QS9HdTFjUjtBK0duMWNJO0VBQ0UsUzFFckZVO0UwRXNGVjtFQUVFO0EvR28xY1I7O0ErRzkwY0E7RUFFRTtBL0dnMWNGO0ErRzkwY0U7RUFDRTtBL0dnMWNKO0ErRzkwY0k7RUFDRTtFQUNBO0VBRUU7QS9HKzBjUjtBK0czMGNJO0VBQ0UsUTFFOUdVO0UwRStHVjtFQUVFO0EvRzQwY1I7QStHdDBjRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzdFcEhvQjtFNkVxSHBCO0VBQ0E7RUFDQTtFQUVFO0EvR3UwY047O0ErR2wwY0E7RUFFRTtBL0dvMGNGO0ErR2wwY0U7RUFDRTtBL0dvMGNKO0ErR2wwY0k7RUFDRTtFQUNBO0VBRUU7QS9HbTBjUjtBK0cvemNJO0VBQ0UsVTFFdEpVO0UwRXVKVjtFQUVFO0EvR2cwY1I7O0ErR3h5Y0E7RUFDRTtFQUNBO0V6RjdESSxtQkF0Q2E7RXlGcUdqQjtFM0VuS0U7RUFDQTtFMkVzS0E7RUFDQTtBL0cweWNKO0ErR3Z5Y0U7RUFDRTtBL0d5eWNKOztBK0dyeWNBO0VBQ0U7RUFFRTtBL0d1eWNKOztBZ0huL2NFO0VBQ0U7SUFBTztFaEh1L2NUO0VnSHQvY0U7SUFBSztFaEh5L2NQO0FBQ0Y7QWdIdC9jQTtFQUNFO0VBQ0EsWUNQb0I7RURRcEI7RUFDQTtFMUZtSEkscUJBdENhO0VjdkVmO0U0RUFBO0FoSHEvY0o7O0FnSGovY0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhFWkksMkJnRWFKO0VBR0U7RUFDQTtBaEhrL2NKO0FnRC8vY007RWdFRU47SWhFRFE7RWhEa2dkTjtBQUNGOztBZ0huL2NBO0VyRU1FO0VxRUpBO0FoSHMvY0Y7O0FnSGwvY0U7RUFDRTtBaEhxL2NKO0FnSGwvY007RUFKSjtJQUtNO0VoSHEvY047QUFDRjs7QWdIaC9jQTtFQUNFO0FoSG0vY0Y7O0FnSGgvY0E7RUFDRTtBaEhtL2NGOztBZ0gvK2NBO0VBQ0U7QWhIay9jRjtBZ0hqL2NFO0VBQ0Usc0JwRjlESztBNUJpamRUOztBa0hwamRBO0VBQ0U7RUFDQTtFQUNBLG1CVElRO0F6R21qZFY7O0FrSHBqZEE7RUFDRTtFQUNBO0FsSHVqZEY7O0FrSHBqZEE7RUFDRSxxQjdGRmdCO0FyQnlqZGxCO0F1QmhrZFE7RTJGWUo7QWxIdWpkSjtBd0Jua2RRO0UwRmVKO0FsSHVqZEo7O0FrSG5qZEE7RUFDRSxzQjdGWmdCO0U2RmFoQixjdEZYVztBNUJpa2RiOztBa0huamRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxIc2pkRjs7QWtIbmpkQTtFQUNFO0VBQ0E7QWxIc2pkRjtBa0hwamRFO0VBQ0U7QWxIc2pkSjs7QWtIbGpkQTtFQUNFO0FsSHFqZEY7O0FtSGhtZEE7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0EsWWJQa0I7RWFRbEIsVWJHMEI7RWFGMUI7QW5IaW1kRjtBbUgvbGRFO0VBQ0U7QW5IaW1kSjtBK0QxaGRJO0VvRHBGSjtJQWtCSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuSGdtZEY7RW1IN2xkSTtJQUNFO0VuSCtsZE47RW1IN2xkSTtJQUNFO0VuSCtsZE47RW1IM2xkSTtJQUNFO0VuSDZsZE47RW1IM2xkSTtJQUNFO0VuSDZsZE47QUFDRjtBbUh4bGRJO0VBQ0U7QW5IMGxkTjtBbUh4bGRJO0VBQ0U7QW5IMGxkTjtBbUhybGRJO0VBQ0U7QW5IdWxkTjtBbUhybGRJO0VBQ0U7QW5IdWxkTjtBbUhubGRFO0VBQ0U7QW5IcWxkSjtBbUhqbGRJO0VBQ0U7RUFDQSxZYjdEVztBdEdncGRqQjtBbUhobGRRO0VBQ0U7QW5Ia2xkVjtBbUhobGRRO0VBQ0U7QW5Ia2xkVjtBbUg3a2RRO0VBQ0U7QW5IK2tkVjtBbUg3a2RRO0VBQ0U7QW5IK2tkVjtBbUhqbWRJO0VBQ0U7RUFDQSxZYjdEVztBdEdncWRqQjtBbUhobWRRO0VBQ0U7QW5Ia21kVjtBbUhobWRRO0VBQ0U7QW5Ia21kVjtBbUg3bGRRO0VBQ0U7QW5IK2xkVjtBbUg3bGRRO0VBQ0U7QW5IK2xkVjtBbUhqbmRJO0VBQ0U7RUFDQSxZYjdEVztBdEdncmRqQjtBbUhobmRRO0VBQ0U7QW5Ia25kVjtBbUhobmRRO0VBQ0U7QW5Ia25kVjtBbUg3bWRRO0VBQ0U7QW5IK21kVjtBbUg3bWRRO0VBQ0U7QW5IK21kVjtBK0QzbmRJO0VvRGtCRjtJQUVJO0lBQ0E7SUFDQTtJQUNBLGFsRnhGbUI7RWpDbXNkdkI7RW1IeG1kTTtJQUNFO0VuSDBtZFI7RW1Idm1kTTtJQUNFO0VuSHltZFI7RW1IcG1kTTtJQUNFO0VuSHNtZFI7RW1Ibm1kTTtJQUNFO0VuSHFtZFI7QUFDRjtBbUhobWRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5Ia21kSjtBbUgvbGRNO0VBQ0U7QW5IaW1kUjtBbUg5bGRNO0VBQ0U7QW5IZ21kUjtBbUgzbGRNO0VBQ0U7QW5INmxkUjtBbUgxbGRNO0VBQ0U7QW5INGxkUjs7QW1IbGxkQTtFQUNFO0VBQ0EsV2JySHNCO0Vhc0h0QixZYnRIc0I7RWF1SHRCO0VBQ0E7QW5IcWxkRjtBMEJ0dWRFO0VBQ0U7SXlGbUpBO0VuSHNsZEY7QUFDRjtBbUhwbGRFO0VBRUU7QW5IcWxkSjtBdUJ0dmRRO0U0RnFLSjtBbkhvbGRKO0F3Qnp2ZFE7RTJGeUtKO0FuSG1sZEo7O0FtSC9rZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkhrbGRGO0FtSGhsZEU7RUFDRTtBbkhrbGRKOztBbUg5a2RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZ0JDeksyQztBcEgwdmQ3Qzs7QW1INWtkQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkgra2RGO0FtSDdrZEU7RUFFRTtFQUVBO0FuSDZrZEo7QW1IM2tkSTtFQUNFO0FuSDZrZE47O0FtSHhrZEE7RUFDRTtFQUNBLGdCYmhKOEI7RWFpSjlCO0VBQ0E7RUFDQTtFQUNBLGdCQzNNMkM7QXBIc3hkN0M7O0FtSHhrZEE7RUFDRTtFQUNBO0FuSDJrZEY7O0FtSHhrZEE7RUFDRTtBbkgya2RGOztBbUh4a2RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5IMmtkRjtBdUI1emRRO0U0RndQRjtBbkh1a2ROO0F3Qi96ZFE7RTJGMlBGO0FuSHVrZE47QW1IbmtkRTtFQUNFLGVFeE1jO0FySDZ3ZGxCO0FtSG5rZEU7RUFDRTtJQUNFO0VuSHFrZEo7QUFDRjs7QW1IamtkQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JDM1AyQztFRDRQM0M7QW5Ib2tkRjtBdUJuMWRRO0U0Rm1SRjtBbkhta2ROO0F3QnQxZFE7RTJGc1JGO0FuSG1rZE47O0FtSDlqZEE7RUFDRTtFQUNBO0FuSGlrZEY7QW1IM2pkSTtFQUNFO0FuSDZqZE47QXVCajJkUTtFNEZ5U0E7QW5IMmpkUjtBd0JwMmRRO0UyRjRTQTtBbkgyamRSO0FtSHZqZEk7RUFDRTtBbkh5amROOztBbUhwamRBO0VBRUU7QW5Ic2pkRjtBbUhwamRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Ic2pkSjtBdUJ2M2RRO0U0Rm9VRjtBbkhzamROO0F3QjEzZFE7RTJGdVVGO0VBQ0E7QW5Ic2pkTjtBdUI5M2RRO0U0RjhVRixrQmJsUTBCO0F0R3F6ZGhDO0F3Qmo0ZFE7RTJGaVZGLGlCYnJRMEI7QXRHd3pkaEM7O0FtSDlpZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuSGlqZEY7QXVCNTRkUTtFNEYrVkYsa0JibFIwQjtBdEdrMGRoQztBd0IvNGRRO0UyRmtXRixtQmJyUjBCO0F0R3EwZGhDO0F1Qmw1ZFE7RTRGdVdBO0FuSDhpZFI7QXdCcjVkUTtFMkYwV0E7QW5IOGlkUjs7QXVCeDVkUTtFNEZ1WEU7QW5IcWlkVjtBd0I1NWRRO0UyRjBYRTtBbkhxaWRWO0F1Qi81ZFE7RTRGOFhJO0FuSG9pZFo7QXdCbDZkUTtFMkZpWUk7QW5Ib2lkWjtBdUJyNmRRO0U0RnVYRTtBbkhpamRWO0F3Qng2ZFE7RTJGMFhFO0FuSGlqZFY7QXVCMzZkUTtFNEY4WEk7QW5IZ2pkWjtBd0I5NmRRO0UyRmlZSTtBbkhnamRaO0F1Qmo3ZFE7RTRGdVhFO0FuSDZqZFY7QXdCcDdkUTtFMkYwWEU7QW5INmpkVjtBdUJ2N2RRO0U0RjhYSTtBbkg0amRaO0F3QjE3ZFE7RTJGaVlJO0FuSDRqZFo7QXVCNzdkUTtFNEZ1WEU7QW5IeWtkVjtBd0JoOGRRO0UyRjBYRTtBbkh5a2RWO0F1Qm44ZFE7RTRGOFhJO0FuSHdrZFo7QXdCdDhkUTtFMkZpWUk7QW5Id2tkWjtBdUJ6OGRRO0U0RnVYRTtBbkhxbGRWO0F3QjU4ZFE7RTJGMFhFO0FuSHFsZFY7QXVCLzhkUTtFNEY4WEk7QW5Ib2xkWjtBd0JsOWRRO0UyRmlZSTtBbkhvbGRaOztBbUgza2RBO0VBQ0U7RUFDQTtFQUNBLGdCQzFYMkM7QXBIdzhkN0M7QW1INWtkRTtFQUNFO0FuSDhrZEo7QW1IM2tkRTtFQUNFO0FuSDZrZEo7O0FtSHprZEE7RUFDRTtFQUNBO0VBQ0EsZ0JDeFkyQztBcEhvOWQ3Qzs7QW1IemtkQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuSDRrZEY7QStELzVkSTtFb0Q0VUo7SUFVSTtFbkg2a2RGO0FBQ0Y7QW1IM2tkRTtFQUNFO0VBQ0EsV2JwUDRDO0VhcVA1QyxZYnJQNEM7RWFzUDVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JDaGF5QztBcEg2K2Q3QztBd0JoZ2VRO0UyRnNiRjtBbkg2a2ROO0FtSHprZEU7RUFFRTtBbkgwa2RKO0FtSHZrZEU7RUFDRTtBbkh5a2RKO0F1QnpnZVE7RTRGbWNBO0FuSHlrZFI7QXdCNWdlUTtFMkZzY0E7QW5IeWtkUjs7QStENzdkSTtFb0QyWEo7SUFFSTtJQUNBO0lBQ0E7SUFDQSxhbEY5Y3FCO0lrRitjckI7SUFDQTtJQUNBLHlCdkZwZEs7SXVGcWRMLGdCQ25jeUM7RXBId2dlM0M7RW1IbGtkRTtJQUFXO0VuSHFrZGI7RW1IcGtkRTtJQUFXLFliMWNhO0V0R2loZTFCO0FBQ0Y7O0ErRDc5ZEk7RW9EMlpKO0lBRUk7SUFDQTtFbkhxa2RGO0VtSG5rZEU7SUFDRTtJQUNBLFdiNWRzQjtFdEdpaWUxQjtFdUI1aWVNO0k0RjRlQTtFbkhta2ROO0V3Qi9pZU07STJGK2VBO0VuSG1rZE47RXVCbGplTTtJNEZvZkE7RW5IaWtkTjtFdUJyamVNO0k0RnVmQTtFbkhpa2ROO0VtSDdqZEU7SUFDRTtFbkgramRKO0VtSDVqZEU7SUFDRTtFbkg4amRKO0VtSDNqZEU7SUFDRSxvQmIzVTBDO0lhNFUxQztFbkg2amRKO0VtSDFqZEU7Ozs7Ozs7SUFPRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuSDRqZEo7RW1IdmpkRTtJQUNFO0lBQ0E7SUFDQTtFbkh5amRKO0V1QnBsZU07STRGK2hCRTtFbkh3amRSO0V3QnZsZU07STJGa2lCRTtFbkh3amRSO0V1QjFsZU07STRGeWlCQTtFbkhvamROO0V3QjdsZU07STJGNGlCQTtFbkhvamROO0V1QmhtZU07O0k0Rm9qQkU7RW5IZ2pkUjtFd0JwbWVNOztJMkZ1akJFO0VuSGlqZFI7RW1INWlkRTs7SUFFRTtJQUNBO0lBQ0E7RW5IOGlkSjtFbUg1aWRJOztJQUNFO0VuSCtpZE47RW1IM2lkRTtJQUNFO0VuSDZpZEo7RW1IemlkSTtJQUNFLFliOWtCWTtFdEd5bmVsQjtFbUh0aWRFO0lBQ0U7RW5Id2lkSjtFbUh0aWRJO0lBQ0U7RW5Id2lkTjtFbUh0aWRNO0lBQ0U7RW5Id2lkUjtFbUhyaWRJO0lBQ0U7RW5IdWlkTjtFbUhsaWRJO0lBQ0U7SUFDQTtFbkhvaWROO0VtSGxpZE07SUFDRTtJQUNBO0VuSG9pZFI7RXVCNW9lTTtJNEYybUJJLFViaG1CZ0I7RXRHb29lMUI7RXdCL29lTTtJMkY4bUJJLFdibm1CZ0I7RXRHdW9lMUI7RXVCbHBlTTtJNEZzbkJBO0VuSCtoZE47RXdCcnBlTTtJMkZ5bkJBO0VuSCtoZE47QUFDRjs7QXVCenBlUTs7RTRGd29CRTtBbkhzaGRWO0F3QjlwZVE7O0UyRjJvQkU7QW5IdWhkVjtBK0Q3bGVJO0V4Q3JFSTs7STRGaXBCUSxrQmJscEJJO0V0R3dxZWxCO0V3QnZxZU07O0kyRm9wQlEsbUJicnBCSTtFdEc0cWVsQjtFdUIzcWVNOztJNEYycEJZLGtCYnZwQkg7RXRHMnFlZjtFd0IvcWVNOztJMkY4cEJZLG1CYjFwQkg7RXRHK3FlZjtFdUJucmVNOztJNEYycEJZLGtCYnZwQkg7RXRHbXJlZjtFd0J2cmVNOztJMkY4cEJZLG1CYjFwQkg7RXRHdXJlZjtFdUIzcmVNOztJNEYycEJZLGtCYnZwQkg7RXRHMnJlZjtFd0IvcmVNOztJMkY4cEJZLG1CYjFwQkg7RXRHK3JlZjtFdUJuc2VNOztJNEZzcUJVLGlCYjNwQlU7RXRHNHJlMUI7RXdCdnNlTTs7STJGeXFCVSxrQmI5cEJVO0V0R2dzZTFCO0FBQ0Y7QXVCNXNlUTs7RTRGa3JCRTtBbkg4aGRWO0F3Qmh0ZVE7O0UyRnFyQkU7QW5IK2hkVjtBK0Qvb2VJO0V4Q3JFSTs7STRGMnJCUSxtQmI1ckJJO0V0RzB0ZWxCO0V3Qnp0ZU07O0kyRjhyQlEsa0JiL3JCSTtFdEc4dGVsQjtFdUI3dGVNOztJNEZxc0JZLG1CYmpzQkg7RXRHNnRlZjtFd0JqdWVNOztJMkZ3c0JZLGtCYnBzQkg7RXRHaXVlZjtFdUJydWVNOztJNEZxc0JZLG1CYmpzQkg7RXRHcXVlZjtFd0J6dWVNOztJMkZ3c0JZLGtCYnBzQkg7RXRHeXVlZjtFdUI3dWVNOztJNEZxc0JZLG1CYmpzQkg7RXRHNnVlZjtFd0JqdmVNOztJMkZ3c0JZLGtCYnBzQkg7RXRHaXZlZjtFdUJydmVNOztJNEZndEJVLGtCYnJzQlU7RXRHOHVlMUI7RXdCenZlTTs7STJGbXRCVSxpQmJ4c0JVO0V0R2t2ZTFCO0FBQ0Y7O0ErRHpyZUk7RXhDckVJOztJNEZ3b0JFO0VuSDRuZFI7RXdCcHdlTTs7STJGMm9CRTtFbkg2bmRSO0FBQ0Y7QStEcHNlSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEcrd2VsQjtFd0I5d2VNOztJMkZvcEJRLG1CYnJwQkk7RXRHbXhlbEI7RXVCbHhlTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2t4ZWY7RXdCdHhlTTs7STJGOHBCWSxtQmIxcEJIO0V0R3N4ZWY7RXVCMXhlTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzB4ZWY7RXdCOXhlTTs7STJGOHBCWSxtQmIxcEJIO0V0Rzh4ZWY7RXVCbHllTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2t5ZWY7RXdCdHllTTs7STJGOHBCWSxtQmIxcEJIO0V0R3N5ZWY7RXVCMXllTTs7STRGc3FCVSxpQmIzcEJVO0V0R215ZTFCO0V3Qjl5ZU07O0kyRnlxQlUsa0JiOXBCVTtFdEd1eWUxQjtBQUNGO0ErRDl1ZUk7RXhDckVJOztJNEZrckJFO0VuSHNvZFI7RXdCeHplTTs7STJGcXJCRTtFbkh1b2RSO0FBQ0Y7QStEeHZlSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEdtMGVsQjtFd0JsMGVNOztJMkY4ckJRLGtCYi9yQkk7RXRHdTBlbEI7RXVCdDBlTTs7STRGcXNCWSxtQmJqc0JIO0V0R3MwZWY7RXdCMTBlTTs7STJGd3NCWSxrQmJwc0JIO0V0RzAwZWY7RXVCOTBlTTs7STRGcXNCWSxtQmJqc0JIO0V0RzgwZWY7RXdCbDFlTTs7STJGd3NCWSxrQmJwc0JIO0V0R2sxZWY7RXVCdDFlTTs7STRGcXNCWSxtQmJqc0JIO0V0R3MxZWY7RXdCMTFlTTs7STJGd3NCWSxrQmJwc0JIO0V0RzAxZWY7RXVCOTFlTTs7STRGZ3RCVSxrQmJyc0JVO0V0R3UxZTFCO0V3QmwyZU07O0kyRm10QlUsaUJieHNCVTtFdEcyMWUxQjtBQUNGO0ErRGx5ZUk7RXhDckVJOztJNEZ3b0JFO0VuSG91ZFI7RXdCNTJlTTs7STJGMm9CRTtFbkhxdWRSO0FBQ0Y7QStENXllSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEd1M2VsQjtFd0J0M2VNOztJMkZvcEJRLG1CYnJwQkk7RXRHMjNlbEI7RXVCMTNlTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzAzZWY7RXdCOTNlTTs7STJGOHBCWSxtQmIxcEJIO0V0RzgzZWY7RXVCbDRlTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2s0ZWY7RXdCdDRlTTs7STJGOHBCWSxtQmIxcEJIO0V0R3M0ZWY7RXVCMTRlTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzA0ZWY7RXdCOTRlTTs7STJGOHBCWSxtQmIxcEJIO0V0Rzg0ZWY7RXVCbDVlTTs7STRGc3FCVSxpQmIzcEJVO0V0RzI0ZTFCO0V3QnQ1ZU07O0kyRnlxQlUsa0JiOXBCVTtFdEcrNGUxQjtBQUNGO0ErRHQxZUk7RXhDckVJOztJNEZrckJFO0VuSDh1ZFI7RXdCaDZlTTs7STJGcXJCRTtFbkgrdWRSO0FBQ0Y7QStEaDJlSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEcyNmVsQjtFd0IxNmVNOztJMkY4ckJRLGtCYi9yQkk7RXRHKzZlbEI7RXVCOTZlTTs7STRGcXNCWSxtQmJqc0JIO0V0Rzg2ZWY7RXdCbDdlTTs7STJGd3NCWSxrQmJwc0JIO0V0R2s3ZWY7RXVCdDdlTTs7STRGcXNCWSxtQmJqc0JIO0V0R3M3ZWY7RXdCMTdlTTs7STJGd3NCWSxrQmJwc0JIO0V0RzA3ZWY7RXVCOTdlTTs7STRGcXNCWSxtQmJqc0JIO0V0Rzg3ZWY7RXdCbDhlTTs7STJGd3NCWSxrQmJwc0JIO0V0R2s4ZWY7RXVCdDhlTTs7STRGZ3RCVSxrQmJyc0JVO0V0Rys3ZTFCO0V3QjE4ZU07O0kyRm10QlUsaUJieHNCVTtFdEdtOGUxQjtBQUNGO0ErRDE0ZUk7RXhDckVJOztJNEZ3b0JFO0VuSDQwZFI7RXdCcDllTTs7STJGMm9CRTtFbkg2MGRSO0FBQ0Y7QStEcDVlSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEcrOWVsQjtFd0I5OWVNOztJMkZvcEJRLG1CYnJwQkk7RXRHbStlbEI7RXVCbCtlTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2srZWY7RXdCdCtlTTs7STJGOHBCWSxtQmIxcEJIO0V0R3MrZWY7RXVCMStlTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzArZWY7RXdCOStlTTs7STJGOHBCWSxtQmIxcEJIO0V0RzgrZWY7RXVCbC9lTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2svZWY7RXdCdC9lTTs7STJGOHBCWSxtQmIxcEJIO0V0R3MvZWY7RXVCMS9lTTs7STRGc3FCVSxpQmIzcEJVO0V0R20vZTFCO0V3QjkvZU07O0kyRnlxQlUsa0JiOXBCVTtFdEd1L2UxQjtBQUNGO0ErRDk3ZUk7RXhDckVJOztJNEZrckJFO0VuSHMxZFI7RXdCeGdmTTs7STJGcXJCRTtFbkh1MWRSO0FBQ0Y7QStEeDhlSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEdtaGZsQjtFd0JsaGZNOztJMkY4ckJRLGtCYi9yQkk7RXRHdWhmbEI7RXVCdGhmTTs7STRGcXNCWSxtQmJqc0JIO0V0R3NoZmY7RXdCMWhmTTs7STJGd3NCWSxrQmJwc0JIO0V0RzBoZmY7RXVCOWhmTTs7STRGcXNCWSxtQmJqc0JIO0V0RzhoZmY7RXdCbGlmTTs7STJGd3NCWSxrQmJwc0JIO0V0R2tpZmY7RXVCdGlmTTs7STRGcXNCWSxtQmJqc0JIO0V0R3NpZmY7RXdCMWlmTTs7STJGd3NCWSxrQmJwc0JIO0V0RzBpZmY7RXVCOWlmTTs7STRGZ3RCVSxrQmJyc0JVO0V0R3VpZjFCO0V3QmxqZk07O0kyRm10QlUsaUJieHNCVTtFdEcyaWYxQjtBQUNGO0ErRGwvZUk7RXhDckVJOztJNEZ3b0JFO0VuSG83ZFI7RXdCNWpmTTs7STJGMm9CRTtFbkhxN2RSO0FBQ0Y7QStENS9lSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEd1a2ZsQjtFd0J0a2ZNOztJMkZvcEJRLG1CYnJwQkk7RXRHMmtmbEI7RXVCMWtmTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzBrZmY7RXdCOWtmTTs7STJGOHBCWSxtQmIxcEJIO0V0RzhrZmY7RXVCbGxmTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2tsZmY7RXdCdGxmTTs7STJGOHBCWSxtQmIxcEJIO0V0R3NsZmY7RXVCMWxmTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzBsZmY7RXdCOWxmTTs7STJGOHBCWSxtQmIxcEJIO0V0RzhsZmY7RXVCbG1mTTs7STRGc3FCVSxpQmIzcEJVO0V0RzJsZjFCO0V3QnRtZk07O0kyRnlxQlUsa0JiOXBCVTtFdEcrbGYxQjtBQUNGO0ErRHRpZkk7RXhDckVJOztJNEZrckJFO0VuSDg3ZFI7RXdCaG5mTTs7STJGcXJCRTtFbkgrN2RSO0FBQ0Y7QStEaGpmSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEcybmZsQjtFd0IxbmZNOztJMkY4ckJRLGtCYi9yQkk7RXRHK25mbEI7RXVCOW5mTTs7STRGcXNCWSxtQmJqc0JIO0V0RzhuZmY7RXdCbG9mTTs7STJGd3NCWSxrQmJwc0JIO0V0R2tvZmY7RXVCdG9mTTs7STRGcXNCWSxtQmJqc0JIO0V0R3NvZmY7RXdCMW9mTTs7STJGd3NCWSxrQmJwc0JIO0V0RzBvZmY7RXVCOW9mTTs7STRGcXNCWSxtQmJqc0JIO0V0RzhvZmY7RXdCbHBmTTs7STJGd3NCWSxrQmJwc0JIO0V0R2twZmY7RXVCdHBmTTs7STRGZ3RCVSxrQmJyc0JVO0V0RytvZjFCO0V3QjFwZk07O0kyRm10QlUsaUJieHNCVTtFdEdtcGYxQjtBQUNGO0ErRDFsZkk7RXhDckVJOztJNEZ3b0JFO0VuSDRoZVI7RXdCcHFmTTs7STJGMm9CRTtFbkg2aGVSO0FBQ0Y7QStEcG1mSTtFeENyRUk7O0k0RmlwQlEsa0JibHBCSTtFdEcrcWZsQjtFd0I5cWZNOztJMkZvcEJRLG1CYnJwQkk7RXRHbXJmbEI7RXVCbHJmTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2tyZmY7RXdCdHJmTTs7STJGOHBCWSxtQmIxcEJIO0V0R3NyZmY7RXVCMXJmTTs7STRGMnBCWSxrQmJ2cEJIO0V0RzByZmY7RXdCOXJmTTs7STJGOHBCWSxtQmIxcEJIO0V0RzhyZmY7RXVCbHNmTTs7STRGMnBCWSxrQmJ2cEJIO0V0R2tzZmY7RXdCdHNmTTs7STJGOHBCWSxtQmIxcEJIO0V0R3NzZmY7RXVCMXNmTTs7STRGc3FCVSxpQmIzcEJVO0V0R21zZjFCO0V3QjlzZk07O0kyRnlxQlUsa0JiOXBCVTtFdEd1c2YxQjtBQUNGO0ErRDlvZkk7RXhDckVJOztJNEZrckJFO0VuSHNpZVI7RXdCeHRmTTs7STJGcXJCRTtFbkh1aWVSO0FBQ0Y7QStEeHBmSTtFeENyRUk7O0k0RjJyQlEsbUJiNXJCSTtFdEdtdWZsQjtFd0JsdWZNOztJMkY4ckJRLGtCYi9yQkk7RXRHdXVmbEI7RXVCdHVmTTs7STRGcXNCWSxtQmJqc0JIO0V0R3N1ZmY7RXdCMXVmTTs7STJGd3NCWSxrQmJwc0JIO0V0RzB1ZmY7RXVCOXVmTTs7STRGcXNCWSxtQmJqc0JIO0V0Rzh1ZmY7RXdCbHZmTTs7STJGd3NCWSxrQmJwc0JIO0V0R2t2ZmY7RXVCdHZmTTs7STRGcXNCWSxtQmJqc0JIO0V0R3N2ZmY7RXdCMXZmTTs7STJGd3NCWSxrQmJwc0JIO0V0RzB2ZmY7RXVCOXZmTTs7STRGZ3RCVSxrQmJyc0JVO0V0R3V2ZjFCO0V3Qmx3Zk07O0kyRm10QlUsaUJieHNCVTtFdEcydmYxQjtBQUNGO0FtRHJwZlE7RWdFNm1CTjtFQUNBO0FuSDJpZUY7QW1IL2hlSTtFQUNFO0FuSGlpZU47QW1INWhlRTtFQUNFO0FuSDhoZUo7QW1IM2hlRTtFQUNFO0VBQ0E7QW5INmhlSjtBbUgxaGVFO0VBQ0U7QW5INGhlSjtBbUh6aGVFO0VBQ0U7RUFDQTtFQUNBO0FuSDJoZUo7QW1IemhlSTtFQUNFO0FuSDJoZU47QW1INWhlSTtFQUNFO0FuSDJoZU47QW1IdmhlRTtFQUNFO0FuSHloZUo7QW1IdGhlRTtFQUNFO0VBQ0E7QW5Id2hlSjtBbUhyaGVJO0VBQ0U7QW5IdWhlTjtBbUhwaGVJO0VBQ0U7RUFDQTtBbkhzaGVOO0FtSG5oZU07RUFDRTtBbkhxaGVSO0FtSGpoZUk7RUFDRTtBbkhtaGVOO0FtSGpoZUk7RUFDRTtJQUNFO0lBQ0E7RW5IbWhlTjtFbUhoaGVNO0lBQ0U7RW5Ia2hlUjtFbUgvZ2VNO0lBQ0U7RW5IaWhlUjtBQUNGO0FtSDdnZUk7RUFDRTtFQUNBO0FuSCtnZU47QW1INWdlTTtFQUNFO0FuSDhnZVI7QW1IM2dlTTtFQUNFO0FuSDZnZVI7QW1IMWdlUTtFQUNFO0FuSDRnZVY7QW1IemdlUTtFQUNFO0FuSDJnZVY7QW1IdGdlRTtFQUNFO0FuSHdnZUo7QW1IdGdlSTtFQUNFO0FuSHdnZU47QW1IcGdlRTtFQUNFO0FuSHNnZUo7QW1IbmdlSTtFQUNFO0FuSHFnZU47QW1IbmdlTTtFQUNFO0VBQ0E7QW5IcWdlUjtBbUhuZ2VRO0VBQ0U7QW5IcWdlVjtBbUhuZ2VVO0VBQ0U7QW5IcWdlWjtBbUg5L2RFO0VBQ0U7QW5IZ2dlSjtBbUg5L2RJO0VBQ0U7QW5IZ2dlTjtBbUg3L2RJO0VBQ0U7QW5IKy9kTjtBbUgxL2RJO0VBQ0U7QW5INC9kTjtBbUh4L2RFO0VBQ0U7QW5IMC9kSjtBbUh0L2RFO0VBQ0U7QW5Idy9kSjtBbUhyL2RJO0VBQ0U7QW5IdS9kTjtBbUhwL2RJO0VBRUU7QW5IcS9kTjtBbUhsL2RJO0VBQ0U7QW5Iby9kTjtBbUhuL2RNO0VBQ0U7QW5IcS9kUjtBbUgzK2RRO0VBQ0U7QW5INitkVjtBbUgzK2RVO0VBQ0U7QW5INitkWjtBbUgxK2RVO0VBQ0U7QW5INCtkWjtBbUgxK2RZO0VBQ0U7QW5INCtkZDtBbUhuK2RRO0VBQ0U7QW5IcStkVjtBbUhsK2RRO0VBQ0U7QW5IbytkVjs7QW1EaHlmUTtFZ0V5bUJOO0VBQ0E7RTdEeHRCTTtBdERvNWZSO0FtSHZyZUk7RTdEaHVCSTtFQUNBO0F0RDA1ZlI7QXdCaDZmUTtFOEJLQTtFQUNBO0F0RDg1ZlI7QW1IeHJlSTtFQUNFO0U3RHJ1QkU7QXREZzZmUjtBbUh0cmVFO0VBQ0U7QW5Id3JlSjtBbUhycmVFO0VBQ0U7RUFDQTtBbkh1cmVKO0FtSHByZUU7RUFDRTtBbkhzcmVKO0FtSG5yZUU7RUFDRTtFQUNBO0VBQ0E7QW5IcXJlSjtBbUhucmVJO0VBQ0U7QW5IcXJlTjtBbUh0cmVJO0VBQ0U7QW5IcXJlTjtBbUhqcmVFO0VBQ0U7QW5IbXJlSjtBbUhocmVFO0VBQ0U7RUFDQTtBbkhrcmVKO0FtSC9xZUk7RUFDRTtBbkhpcmVOO0FtSDlxZUk7RUFDRTtFQUNBO0FuSGdyZU47QW1IN3FlTTtFQUNFO0FuSCtxZVI7QW1IM3FlSTtFQUNFO0FuSDZxZU47QW1IM3FlSTtFQUNFO0lBQ0U7SUFDQTtFbkg2cWVOO0VtSDFxZU07SUFDRTtFbkg0cWVSO0VtSHpxZU07SUFDRTtFbkgycWVSO0FBQ0Y7QW1IdnFlSTtFQUNFO0VBQ0E7QW5IeXFlTjtBbUh0cWVNO0VBQ0U7QW5Id3FlUjtBbUhycWVNO0VBQ0U7QW5IdXFlUjtBbUhwcWVRO0VBQ0U7QW5Ic3FlVjtBbUhucWVRO0VBQ0U7QW5IcXFlVjtBbUhocWVFO0VBQ0U7QW5Ia3FlSjtBbUhocWVJO0VBQ0U7QW5Ia3FlTjtBbUg5cGVFO0VBQ0U7QW5IZ3FlSjtBbUg3cGVJO0VBQ0U7QW5IK3BlTjtBbUg3cGVNO0VBQ0U7RUFDQTtBbkgrcGVSO0FtSDdwZVE7RUFDRTtBbkgrcGVWO0FtSDdwZVU7RUFDRTtBbkgrcGVaO0FtSHhwZUU7RUFDRTtBbkgwcGVKO0FtSHhwZUk7RUFDRTtBbkgwcGVOO0FtSHZwZUk7RUFDRTtBbkh5cGVOO0FtSC9vZUU7RUFDRTtBbkhpcGVKO0FtSDdvZUU7RUFDRTtBbkgrb2VKO0FtSDVvZUk7RUFDRTtBbkg4b2VOO0FtSDNvZUk7RUFFRTtBbkg0b2VOO0FtSHpvZUk7RUFDRTtBbkgyb2VOO0FtSDFvZU07RUFDRTtBbkg0b2VSO0FtSGxvZVE7RUFDRTtBbkhvb2VWO0FtSGxvZVU7RUFDRTtBbkhvb2VaO0FtSGpvZVU7RUFDRTtBbkhtb2VaO0FtSGpvZVk7RUFDRTtBbkhtb2VkO0FtSDFuZVE7RUFDRTtBbkg0bmVWO0FtSHpuZVE7RUFDRTtBbkgybmVWOztBbUhobmVNO0VBQ0UsbUJoRXhyQlM7QW5EMnlmakI7QW1IbG5lUTtFQUNFO0FuSG9uZVY7QW1IbG5lUTtFQUNFO0FuSG9uZVY7QW1Ibm5lVTtFQUNFLFd2RnI4Qkg7QTVCMGpnQlQ7QW1IN25lTTtFQUNFLG1CaEV4ckJTO0FuRHV6ZmpCO0FtSDluZVE7RUFDRTtBbkhnb2VWO0FtSDluZVE7RUFDRTtBbkhnb2VWO0FtSC9uZVU7RUFDRSxXdkZyOEJIO0E1QnNrZ0JUO0FtSHpvZU07RUFDRSxtQmhFeHJCUztBbkRtMGZqQjtBbUgxb2VRO0VBQ0U7QW5ING9lVjtBbUgxb2VRO0VBQ0U7QW5ING9lVjtBbUgzb2VVO0VBQ0UsV3ZGcjhCSDtBNUJrbGdCVDtBbUhycGVNO0VBQ0UsZ0JoRXhyQlM7QW5EKzBmakI7QW1IdHBlUTtFQUNFO0FuSHdwZVY7QW1IdHBlUTtFQUNFO0FuSHdwZVY7QW1IdnBlVTtFQUNFLFd2RnI4Qkg7QTVCOGxnQlQ7QW1IanFlTTtFQUNFLG1CaEV4ckJTO0FuRDIxZmpCO0FtSGxxZVE7RUFDRTtBbkhvcWVWO0FtSGxxZVE7RUFDRTtBbkhvcWVWO0FtSG5xZVU7RUFDRSxXdkZyOEJIO0E1QjBtZ0JUO0FtSDdxZU07RUFDRSxtQmhFeHJCUztBbkR1MmZqQjtBbUg5cWVRO0VBQ0U7QW5IZ3JlVjtBbUg5cWVRO0VBQ0U7QW5IZ3JlVjtBbUgvcWVVO0VBQ0UsV3ZGcjhCSDtBNUJzbmdCVDtBbUh6cmVNO0VBQ0UsbUJoRXhyQlM7QW5EbTNmakI7QW1IMXJlUTtFQUNFO0FuSDRyZVY7QW1IMXJlUTtFQUNFO0FuSDRyZVY7QW1IM3JlVTtFQUNFLFd2RnI4Qkg7QTVCa29nQlQ7QW1IcnNlTTtFQUNFLG1CaEV4ckJTO0FuRCszZmpCO0FtSHRzZVE7RUFDRTtBbkh3c2VWO0FtSHRzZVE7RUFDRTtBbkh3c2VWO0FtSHZzZVU7RUFDRSxXdkZyOEJIO0E1QjhvZ0JUOztBc0g5b2dCQTtFQUNFO0lBQUs7RXRIa3BnQkw7QUFDRjtBc0hocGdCQTtFQUNFO0VBQ0EsV0NSc0I7RURTdEIsWUNUc0I7RURVdEI7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdEhpcGdCRjs7QXNIOW9nQkE7RUFDRSxXQ2Z5QjtFRGdCekIsWUNoQnlCO0VEaUJ6QixtQkNmeUI7QXZIZ3FnQjNCOztBc0gxb2dCQTtFQUNFO0lBQ0U7RXRINm9nQkY7RXNIM29nQkE7SUFDRTtJQUNBO0V0SDZvZ0JGO0FBQ0Y7QXNIMW9nQkE7RUFDRTtFQUNBLFdDeENzQjtFRHlDdEIsWUN6Q3NCO0VEMEN0QjtFQUNBO0VBRUE7RUFDQTtFQUNBO0F0SDJvZ0JGOztBc0h4b2dCQTtFQUNFLFdDL0N5QjtFRGdEekIsWUNoRHlCO0F2SDJyZ0IzQjs7QXdIanNnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JDSnVCO0F6SHdzZ0J6QjtBd0hsc2dCRTtFQUNFO0F4SG9zZ0JKO0F3SGpzZ0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYXZGUnFCO0FqQzJzZ0J6Qjs7QXdIL3JnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxnQkN0QnVCO0VEdUJ2QjtFQUNBO0VBQ0E7QXhIa3NnQkY7QXdIaHNnQkU7RUFDRTtBeEhrc2dCSjtBd0gvcmdCRTtFQUNFO0VBQ0E7QXhIaXNnQko7QXdIOXJnQkU7O0VBRUU7RUFDQTtFQUNBLHFCakNoQ3lCO0VpQ2lDekIsb0JqQ2pDeUI7QXZGaXVnQjdCO0F3SDlyZ0JJOztFQUNFO0VBQ0E7RUFDQTtBeEhpc2dCTjtBdUI3dWdCUTs7RWlHOENBO0VBQ0E7QXhIbXNnQlI7QXdCbHZnQlE7O0VnR2tEQTtFQUNBO0F4SG9zZ0JSO0F3SGhzZ0JJOztFQUNFO0F4SG1zZ0JOOztBbURyb2dCUTtFcUVwRE47RWxFdkRJO0F0RHF2Z0JOO0F3SDFyZ0JJOztFQUVFO0F4SDRyZ0JOO0EwQnR2Z0JFOzs7RThGNkRNO0F4SDhyZ0JSO0F3SDNyZ0JNOztFQUNFO0F4SDhyZ0JSO0F3SDFyZ0JJOzs7O0VBSUU7QXhINHJnQk47QXdIeHJnQkU7RUFDRTtBeEgwcmdCSjtBd0h6cmdCSTtFQUNFO0F4SDJyZ0JOO0EwQjN3Z0JFO0U4Rm1GTTtBeEgycmdCUjs7QW1EMXFnQlE7RXFFaEROO0VsRXZESTtBdERzeGdCTjtBd0gzdGdCSTs7RUFFRTtBeEg2dGdCTjtBMEJ2eGdCRTs7O0U4RjZETTtBeEgrdGdCUjtBd0g1dGdCTTs7RUFDRTtBeEgrdGdCUjtBd0gzdGdCSTs7OztFQUlFO0F4SDZ0Z0JOO0F3SHp0Z0JFO0VBQ0U7QXhIMnRnQko7QXdIMXRnQkk7RUFDRTtBeEg0dGdCTjtBMEI1eWdCRTtFOEZtRk07QXhINHRnQlI7O0EwSDd6Z0JBO0VBQ0U7RUFDQSxXQ0prQjtFREtsQixZQ0prQjtBM0hvMGdCcEI7O0EwSDd6Z0JBO0VBQ0U7RUFDQTtFQUNBO0ExSGcwZ0JGOztBMEg3emdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdEZKRTtFc0ZRQTtFQUNBO0ExSDh6Z0JKO0EwSDN6Z0JFO0VBQ0U7RUFDQSxRQ2RvQjtFRGVwQixTQ2ZvQjtFRGdCcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQjlGbENLO0U4Rm1DTDtFQUNBO0V0RnRCQTtBcENvMWdCSjs7QTBIeHpnQkU7RUFDRTtBMUgyemdCSjs7QTBIdnpnQkE7RUFFSTtFQUNBO0VBQ0E7RUFFRjtFQUtFLGdEN0ZqRDBCO0E3QnEyZ0I5Qjs7QTBIaHpnQkE7RUFDRTtFQUNBO0ExSG16Z0JGOztBMEg1eWdCQTtFRTFFRSxXREtxQjtFQ0pyQixZREtxQjtBM0hxM2dCdkI7QTRIeDNnQkU7RUFDRSxlREdtQjtBM0h1M2dCdkI7QTRIeDNnQkk7RUFDRTtFQUNBO0E1SDAzZ0JOO0E0SHgzZ0JJO0VBQ0UsZURKaUI7QTNIODNnQnZCO0E0SHIzZ0JJO0VBQ0U7QTVIdTNnQk47O0EwSDF6Z0JBO0VFOUVFLFdEU3FCO0VDUnJCLFlEU3FCO0EzSG00Z0J2QjtBNEgxNGdCRTtFQUNFLGNET21CO0EzSHE0Z0J2QjtBNEgxNGdCSTtFQUNFO0VBQ0E7QTVINDRnQk47QTRIMTRnQkk7RUFDRTtBNUg0NGdCTjtBNEh2NGdCSTtFQUNFO0E1SHk0Z0JOOztBMEhyMGdCQTtFQUNFLFdDekV1QjtBM0hpNWdCekI7QTBIcjBnQkk7RUFDRTtBMUh1MGdCTjtBMEhyMGdCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlQy9GYztFRGdHZDtFQUNBO0VBQ0EsYzlGNUZPO0U4RjZGUDtFQUNBO0VBQ0E7RUFDQTtBMUh1MGdCTjtBdUI3NmdCUTtFbUd5R0E7QTFIdTBnQlI7QTBIajBnQkk7RUFDRTtBMUhtMGdCTjtBMEhqMGdCSTtFQUNFO0VBQ0EsVzlGcEhHO0U4RnFISDtBMUhtMGdCTjtBMEg5emdCRTtFRTdIQSxXRGN1QjtFQ2J2QixZREtxQjtBM0h5N2dCdkI7QTRINTdnQkU7RUFDRSxlREdtQjtBM0gyN2dCdkI7QTRINTdnQkk7RUFDRTtFQUNBO0E1SDg3Z0JOO0E0SDU3Z0JJO0VBQ0UsZURKaUI7QTNIazhnQnZCO0E0SHo3Z0JJO0VBQ0U7QTVIMjdnQk47QTBIMzBnQkU7RUVqSUEsV0RldUI7RUNkdkIsWURTcUI7QTNIczhnQnZCO0E0SDc4Z0JFO0VBQ0UsY0RPbUI7QTNIdzhnQnZCO0E0SDc4Z0JJO0VBQ0U7RUFDQTtBNUgrOGdCTjtBNEg3OGdCSTtFQUNFO0E1SCs4Z0JOO0E0SDE4Z0JJO0VBQ0U7QTVINDhnQk47O0EwSGwxZ0JFO0VBQ0UseUI5RnJJUztFOEZzSVQ7QTFIcTFnQko7QTBIbjFnQkk7RUFDRTtFQUNBO0VBQ0EsV0NoSmM7RURpSmQsWUNqSmM7RURrSmQ7RUFDQTtFQUNBO0ExSHExZ0JOO0EwSGgxZ0JFO0VFcElBLFdEbEJxQjtFQ21CckIsWURsQnFCO0EzSHkrZ0J2QjtBNEhyOWdCRTtFQUNFLFdEckJtQjtFQ3NCbkIsWUR0Qm1CO0EzSDYrZ0J2QjtBNEhuOWdCSTtFQUNFO0E1SHE5Z0JOO0EwSHYxZ0JFO0VFeElBLFdEZHFCO0VDZXJCLFlEZHFCO0EzSGcvZ0J2QjtBNEhoK2dCRTtFQUNFLFdEakJtQjtFQ2tCbkIsWURsQm1CO0EzSG8vZ0J2QjtBNEg5OWdCSTtFQUNFO0E1SGcrZ0JOOztBNEhwOWdCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SHU5Z0JKO0E0SHI5Z0JJO0VBQ0U7QTVIdTlnQk47O0E0SGwrZ0JFO0VBQ0UseUJ6RWlPYTtBbkRvd2dCakI7O0E0SHI5Z0JFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRHl3Z0JqQjtBNEh0OWdCSTtFQUNFLHFCekU0TVc7QW5ENHdnQmpCO0E0SHQ5Z0JJO0VBQ0UsY3pFeU1XO0FuRCt3Z0JqQjs7QTRIbDlnQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5Eb3hnQmpCO0E0SG45Z0JJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkR3eGdCakI7QTRIbjlnQkk7RUFDRSxjekUwTFc7QW5EMnhnQmpCOztBNEh2L2dCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SDAvZ0JKO0E0SHgvZ0JJO0VBQ0U7QTVIMC9nQk47O0E0SHJnaEJFO0VBQ0UseUJ6RWlPYTtBbkR1eWdCakI7O0E0SHgvZ0JFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRDR5Z0JqQjtBNEh6L2dCSTtFQUNFLHFCekU0TVc7QW5EK3lnQmpCO0E0SHovZ0JJO0VBQ0UsY3pFeU1XO0FuRGt6Z0JqQjs7QTRIci9nQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EdXpnQmpCO0E0SHQvZ0JJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkQyemdCakI7QTRIdC9nQkk7RUFDRSxjekUwTFc7QW5EOHpnQmpCOztBNEgxaGhCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SDZoaEJKO0E0SDNoaEJJO0VBQ0U7QTVINmhoQk47O0E0SHhpaEJFO0VBQ0UseUJ6RWlPYTtBbkQwMGdCakI7O0E0SDNoaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRCswZ0JqQjtBNEg1aGhCSTtFQUNFLHFCekU0TVc7QW5EazFnQmpCO0E0SDVoaEJJO0VBQ0UsY3pFeU1XO0FuRHExZ0JqQjs7QTRIeGhoQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EMDFnQmpCO0E0SHpoaEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkQ4MWdCakI7QTRIemhoQkk7RUFDRSxjekUwTFc7QW5EaTJnQmpCOztBNEg3amhCRTtFQUNFLHNCekUyTmE7RXlFMU5iO0E1SGdraEJKO0E0SDlqaEJJO0VBQ0U7QTVIZ2toQk47O0E0SDNraEJFO0VBQ0Usc0J6RWlPYTtBbkQ2MmdCakI7O0E0SDlqaEJFO0VBQ0U7RUFDQSxrQnpFK01hO0FuRGszZ0JqQjtBNEgvamhCSTtFQUNFLGtCekU0TVc7QW5EcTNnQmpCO0E0SC9qaEJJO0VBQ0UsV3pFeU1XO0FuRHczZ0JqQjs7QTRIM2poQkU7RUFDRTtFQUNBLGtCekVpTWE7QW5ENjNnQmpCO0E0SDVqaEJJO0VBQ0Usc0J6RThMVztFeUU3TFgsa0J6RTZMVztBbkRpNGdCakI7QTRINWpoQkk7RUFDRSxXekUwTFc7QW5EbzRnQmpCOztBNEhobWhCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SG1taEJKO0E0SGptaEJJO0VBQ0U7QTVIbW1oQk47O0E0SDltaEJFO0VBQ0UseUJ6RWlPYTtBbkRnNWdCakI7O0E0SGptaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRHE1Z0JqQjtBNEhsbWhCSTtFQUNFLHFCekU0TVc7QW5EdzVnQmpCO0E0SGxtaEJJO0VBQ0UsY3pFeU1XO0FuRDI1Z0JqQjs7QTRIOWxoQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EZzZnQmpCO0E0SC9saEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkRvNmdCakI7QTRIL2xoQkk7RUFDRSxjekUwTFc7QW5EdTZnQmpCOztBNEhub2hCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SHNvaEJKO0E0SHBvaEJJO0VBQ0U7QTVIc29oQk47O0E0SGpwaEJFO0VBQ0UseUJ6RWlPYTtBbkRtN2dCakI7O0E0SHBvaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRHc3Z0JqQjtBNEhyb2hCSTtFQUNFLHFCekU0TVc7QW5EMjdnQmpCO0E0SHJvaEJJO0VBQ0UsY3pFeU1XO0FuRDg3Z0JqQjs7QTRIam9oQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EbThnQmpCO0E0SGxvaEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkR1OGdCakI7QTRIbG9oQkk7RUFDRSxjekUwTFc7QW5EMDhnQmpCOztBNEh0cWhCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SHlxaEJKO0E0SHZxaEJJO0VBQ0U7QTVIeXFoQk47O0E0SHByaEJFO0VBQ0UseUJ6RWlPYTtBbkRzOWdCakI7O0E0SHZxaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRDI5Z0JqQjtBNEh4cWhCSTtFQUNFLHFCekU0TVc7QW5EODlnQmpCO0E0SHhxaEJJO0VBQ0UsY3pFeU1XO0FuRGkrZ0JqQjs7QTRIcHFoQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EcytnQmpCO0E0SHJxaEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkQwK2dCakI7QTRIcnFoQkk7RUFDRSxjekUwTFc7QW5ENitnQmpCOztBNEh6c2hCRTtFQUNFLHlCekUyTmE7RXlFMU5iO0E1SDRzaEJKO0E0SDFzaEJJO0VBQ0U7QTVINHNoQk47O0E0SHZ0aEJFO0VBQ0UseUJ6RWlPYTtBbkR5L2dCakI7O0E0SDFzaEJFO0VBQ0U7RUFDQSxxQnpFK01hO0FuRDgvZ0JqQjtBNEgzc2hCSTtFQUNFLHFCekU0TVc7QW5EaWdoQmpCO0E0SDNzaEJJO0VBQ0UsY3pFeU1XO0FuRG9naEJqQjs7QTRIdnNoQkU7RUFDRTtFQUNBLHFCekVpTWE7QW5EeWdoQmpCO0E0SHhzaEJJO0VBQ0UseUJ6RThMVztFeUU3TFgscUJ6RTZMVztBbkQ2Z2hCakI7QTRIeHNoQkk7RUFDRSxjekUwTFc7QW5EZ2hoQmpCOztBMEh6bGhCRTtFQUNFO0ExSDRsaEJKO0EwSDFsaEJJO0VBQ0U7QTFINGxoQk47O0EwSHRsaEJFO0VBQ0U7QTFIeWxoQko7QTBIdmxoQkk7RUFDRTtBMUh5bGhCTjs7QTZIcHloQkE7RUFDRTtFQUNBLG1CcEJFUTtFb0JDTjtBN0hxeWhCSjtBNkhqeWhCRTs7RUFFRSxnQmxHWHNCO0VrR1l0QjtFQUNBO0VBR0U7QTdIaXloQk47QTZIN3hoQkU7RUFDRTtFQUNBO0VBR0U7QTdINnhoQk47QTZIenhoQkU7RUFDRTtFQUdFO0E3SHl4aEJOOztBNkg5d2hCRTs7RUFFRSxlbEc3Q3NCO0EzQjh6aEIxQjs7QTZIeHdoQkE7RUFDRTtFQUdFO0E3SHl3aEJKO0E2SHR3aEJFOztFQUVFO0VBR0U7QTdIc3doQk47QTZIandoQkk7O0VBRUU7QTdIbXdoQk47O0E2SDd2aEJFOzs7O0VBSUU7QTdIZ3doQko7O0E2SHZ2aEJFO0VBR0k7QTdId3ZoQk47O0EwQmgxaEJFO0VBQ0U7SW1HcUdJO0lBQ0E7RTdIK3VoQk47QUFDRjs7QThINzFoQkk7OztFQUlJO0VBRUYseUJEb0hnQztBN0gwdWhCdEM7QThIMTFoQk07Ozs7RUFJRSxxQkQ0RzJFO0E3SGd2aEJuRjs7QTBCcDJoQkU7RUFDRTtJb0dtQkkseUJBSmU7RTlIeTFoQnJCO0U4SG4xaEJNOztJQUVFLHlCQVJhO0U5SDYxaEJyQjtBQUNGOztBOEhwM2hCSTs7O0VBSUk7RUFFRix5QkRvSGdDO0E3SGl3aEJ0QztBOEhqM2hCTTs7OztFQUlFLHFCRDRHMkU7QTdIdXdoQm5GOztBMEIzM2hCRTtFQUNFO0lvR21CSSx5QkFKZTtFOUhnM2hCckI7RThIMTJoQk07O0lBRUUseUJBUmE7RTlIbzNoQnJCO0FBQ0Y7O0E4SDM0aEJJOzs7RUFJSTtFQUVGLHlCRG9IZ0M7QTdId3hoQnRDO0E4SHg0aEJNOzs7O0VBSUUscUJENEcyRTtBN0g4eGhCbkY7O0EwQmw1aEJFO0VBQ0U7SW9HbUJJLHlCQUplO0U5SHU0aEJyQjtFOEhqNGhCTTs7SUFFRSx5QkFSYTtFOUgyNGhCckI7QUFDRjs7QThIbDZoQkk7OztFQUlJO0VBRUYseUJEb0hnQztBN0greWhCdEM7QThILzVoQk07Ozs7RUFJRSxxQkQ0RzJFO0E3SHF6aEJuRjs7QTBCejZoQkU7RUFDRTtJb0dtQkkseUJBSmU7RTlIODVoQnJCO0U4SHg1aEJNOztJQUVFLHlCQVJhO0U5SGs2aEJyQjtBQUNGOztBOEh6N2hCSTs7O0VBSUk7RUFFRix5QkRvSGdDO0E3SHMwaEJ0QztBOEh0N2hCTTs7OztFQUlFLHFCRDRHMkU7QTdINDBoQm5GOztBMEJoOGhCRTtFQUNFO0lvR21CSSx5QkFKZTtFOUhxN2hCckI7RThILzZoQk07O0lBRUUseUJBUmE7RTlIeTdoQnJCO0FBQ0Y7O0E4SGg5aEJJOzs7RUFJSTtFQUVGLHlCRG9IZ0M7QTdINjFoQnRDO0E4SDc4aEJNOzs7O0VBSUUscUJENEcyRTtBN0htMmhCbkY7O0EwQnY5aEJFO0VBQ0U7SW9HbUJJLHlCQUplO0U5SDQ4aEJyQjtFOEh0OGhCTTs7SUFFRSx5QkFSYTtFOUhnOWhCckI7QUFDRjs7QThIditoQkk7OztFQUlJO0VBRUYseUJEb0hnQztBN0hvM2hCdEM7QThIcCtoQk07Ozs7RUFJRSxxQkQ0RzJFO0E3SDAzaEJuRjs7QTBCOStoQkU7RUFDRTtJb0dtQkkseUJBSmU7RTlIbStoQnJCO0U4SDc5aEJNOztJQUVFLHlCQVJhO0U5SHUraEJyQjtBQUNGOztBOEg5L2hCSTs7O0VBSUk7RUFFRix5QkRvSGdDO0E3SDI0aEJ0QztBOEgzL2hCTTs7OztFQUlFLHFCRDRHMkU7QTdIaTVoQm5GOztBMEJyZ2lCRTtFQUNFO0lvR21CSSx5QkFKZTtFOUgwL2hCckI7RThIcC9oQk07O0lBRUUseUJBUmE7RTlIOC9oQnJCO0FBQ0Y7O0E4SHJoaUJJOzs7RUFJSTtFQUVGLHlCRHdIK0I7QTdIODVoQnJDOztBMEJ0aGlCRTtFQUNFO0lvR21CSSx5QkFKZTtFOUgyZ2lCckI7RThIcmdpQk07O0lBRUUseUJBUmE7RTlIK2dpQnJCO0FBQ0Y7O0E4SHRpaUJJOzs7RUFJSTtFQUVGLHlCRHlIaUM7QTdIODZoQnZDO0E4SG5paUJNOzs7O0VBSUUscUJEaUhvRTtBN0hvN2hCNUU7O0EwQjdpaUJFO0VBQ0U7SW9HbUJJLHlCQUplO0U5SGtpaUJyQjtFOEg1aGlCTTs7SUFFRSx5QkFSYTtFOUhzaWlCckI7QUFDRjs7QTZIeDdoQkk7RUFDRTtFQUVFO0VBQ0E7QTdIMDdoQlI7O0E2SDU2aEJJO0VBRUk7RUFDQTtFQUNBO0E3SDg2aEJSO0E2SHg2aEJJO0VBRUk7RUFDQTtFQUNBO0E3SHk2aEJSOztBNkhuNmhCQTtFQUVJO0VBQ0E7QTdIcTZoQko7QTZIbDZoQkU7OztFQUlJO0E3SG02aEJOO0E2SC81aEJFO0VBQ0U7QTdIaTZoQko7QTZINzVoQkk7RUFFSTtBN0g4NWhCUjtBMEJ4bGlCRTtFQUNFO0ltR2tNTTtJQUNBO0U3SHk1aEJSO0FBQ0Y7O0ErRHBoaUJJO0U4RDRJQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0U3SDI0aEJOO0U2SHg0aEJNO0lBQ0U7RTdIMDRoQlI7QUFDRjtBK0RoaWlCSTtFOEQ0SUE7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFN0hzNWhCTjtFNkhuNWhCTTtJQUNFO0U3SHE1aEJSO0FBQ0Y7QStEM2lpQkk7RThENElBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RTdIaTZoQk47RTZIOTVoQk07SUFDRTtFN0hnNmhCUjtBQUNGO0ErRHRqaUJJO0U4RDRJQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0U3SDQ2aEJOO0U2SHo2aEJNO0lBQ0U7RTdIMjZoQlI7QUFDRjtBK0Rqa2lCSTtFOEQ0SUE7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFN0h1N2hCTjtFNkhwN2hCTTtJQUNFO0U3SHM3aEJSO0FBQ0Y7QTZIaDhoQkk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBN0hpOGhCUjtBNkg5N2hCUTtFQUNFO0E3SGc4aEJWOztBNkh6N2hCQTtFQUNFO0VBR0U7QTdIMDdoQko7QTZIdjdoQkU7RUFDRTtBN0h5N2hCSjs7QTZIbjdoQkU7RUFDRTtBN0hzN2hCSjs7QTZIajdoQkU7RUFDRTtBN0hvN2hCSjs7QStIM3JpQkE7RUFDRSxZQ0MrQjtFREEvQjtFQUNBO0V6RzRISSxtQkF0Q2E7RXlHcEZqQjtFQUNBO0VBQ0EsaURDQytCO0VEQS9CO1VBQUE7RUFDQTtFM0ZTRTtFMkZMQTtFQUNBO0EvSDRyaUJKO0ErSHpyaUJFO0VBQ0Usc0JDZjZCO0FoSTBzaUJqQztBK0h4cmlCRTtFQUNFO0EvSDByaUJKO0ErSHZyaUJFO0VBQ0U7RUFDQTtBL0h5cmlCSjtBK0h0cmlCRTtFQUNFO0EvSHdyaUJKOztBK0hwcmlCQTtFQUNFO0VBQ0E7QS9IdXJpQkY7O0ErSHByaUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVFO0VBQ0E7RUFDQTtBL0hzcmlCSjs7QStIbHJpQkE7RUFDRSxnQkNuRCtCO0FoSXd1aUJqQzs7QStIbHJpQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0hxcmlCRjtBK0hucmlCRTtFQVFFO0VBQ0EsYTlGM0RxQjtFOEY0RHJCLFlDdkU2QjtBaElxdmlCakM7QStIM3FpQkU7RUFJRTtBL0gwcWlCSjtBK0h2cWlCRTtFQUlFO0VBQ0E7QS9Ic3FpQko7QStIbnFpQkU7RUFFRTtBL0hvcWlCSjtBK0hqcWlCRTtFQUVFO0VBQ0E7QS9Ia3FpQko7QStIL3BpQkU7RUFJRTtBL0g4cGlCSjtBK0gzcGlCRTtFQUlFO0EvSDBwaUJKO0ErSHZwaUJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9IeXBpQko7O0ErSGhwaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJb3hpQkY7QWlJbHhpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJb3hpQko7O0ErSDNwaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJK3hpQkY7QWlJN3hpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJK3hpQko7O0ErSHRxaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJMHlpQkY7QWlJeHlpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJMHlpQko7O0ErSGpyaUJFO0VFaElBO0VBQ0Esc0I5RXdRZTtFOEV2UWY7QWpJcXppQkY7QWlJbnppQkU7RUFDRTtFQUNBO0VBQ0E7QWpJcXppQko7O0ErSDVyaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJZzBpQkY7QWlJOXppQkU7RUFDRTtFQUNBO0VBQ0E7QWpJZzBpQko7O0ErSHZzaUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJMjBpQkY7QWlJejBpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJMjBpQko7O0ErSGx0aUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJczFpQkY7QWlJcDFpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJczFpQko7O0ErSDd0aUJFO0VFaElBO0VBQ0EseUI5RXdRZTtFOEV2UWY7QWpJaTJpQkY7QWlJLzFpQkU7RUFDRTtFQUNBO0VBQ0E7QWpJaTJpQko7O0FrSXgyaUJBO0VBQ0U7RUFDQSxhakdTdUI7RWlHUnZCO0VBQ0EsUzNGS3VCO0VKVHZCLGtNZEl3QjtFY0Z4QjtFQUNBLGdCZFlxQjtFY1hyQixnQmRnQmtCO0VjZmxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ViZ0hJLHNCQXRDYTtFNEc5RWpCO0VBQ0E7QWxJcTNpQkY7QWtJbjNpQkU7RUFBUyxZM0ZQYztBdkM2M2lCekI7QWtJcDNpQkU7RUFDRTtFQUNBO0FsSXMzaUJKO0FrSXAzaUJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxJczNpQk47O0FrSWozaUJBOztFQUVFO0FsSW8zaUJGO0FrSWwzaUJFOztFQUNFLGEzRnRCcUI7RTJGdUJyQixjM0Z0QnFCO0F2QzI0aUJ6Qjs7QWtJajNpQkE7O0VBRUU7QWxJbzNpQkY7QWtJbDNpQkU7O0VBQ0UsYTNGL0JxQjtFMkZnQ3JCLGMzRmpDcUI7QXZDczVpQnpCOztBa0loM2lCRTtFQUNFO0FsSW0zaUJKO0FrSWozaUJJO0VBQ0U7RUFDQTtFQUNBLHlCdEduREc7QTVCczZpQlQ7O0FrSTcyaUJFO0VBQ0U7QWxJZzNpQko7QWtJOTJpQkk7RUFDRTtFQUNBO0VBQ0EsMkJ0Ry9ERztBNUIrNmlCVDs7QWtJMTJpQkU7RUFDRTtBbEk2MmlCSjtBa0kzMmlCSTtFQUNFO0VBQ0E7RUFDQSw0QnRHM0VHO0E1Qnc3aUJUOztBa0l2MmlCRTtFQUNFO0FsSTAyaUJKO0FrSXgyaUJJO0VBQ0U7RUFDQTtFQUNBLDBCdEd2Rkc7QTVCaThpQlQ7O0FrSXAxaUJBO0VBQ0UsZ0IzRmhIdUI7RTJGaUh2QjtFQUNBLFd0R2pITztFc0drSFA7RUFDQSx5QnRHbEhPO0VRYUw7QXBDNjdpQko7O0FtSS84aUJBO0VuRmdCTSxnQ21GZko7QW5JazlpQkY7QWdELzdpQk07RW1GcEJOO0luRnFCUTtFaERrOGlCTjtBQUNGO0FtSXI5aUJFO0VBQ0U7QW5JdTlpQko7O0FtSWw5aUJFO0VBQ0U7QW5JcTlpQko7O0FtSWo5aUJBO0VBQ0U7RUFDQTtFQUNBO0VuRkRJLDZCbUZFSjtBbklvOWlCRjtBZ0RsOWlCTTtFbUZOTjtJbkZPUTtFaERxOWlCTjtBQUNGOztBbUl0OWlCQTtFQUNFO0lBQ0U7RW5JeTlpQkY7RW1JdDlpQkE7SUFDRTtFbkl3OWlCRjtBQUNGO0FtSXI5aUJBO0VBQ0U7RUFDQTtBbkl1OWlCRjs7QW1JaDlpQkE7RUFDRTtBbkltOWlCRjs7QW1JaDlpQkE7RUFDRTtBbkltOWlCRjtBbUlsOWlCRTtFQUNFO0FuSW85aUJKOztBbUkvOGlCRTs7RUFFRTtBbklrOWlCSjtBbUloOWlCSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBWUU7QW5JODlpQk47O0FtSXo5aUJBO0VBQ0U7QW5JNDlpQkY7O0FvSWhpakJBOztFQUVFLHFCL0dzQndCO0UrR3BCeEIsZ0IvR3NCd0I7RStHckJ4QixnQi9Hc0J3QjtBckI0Z2pCMUI7O0FvSTloakJBO0U5R2dITSxvQkF0Q2E7QXRCdzlpQm5COztBb0lqaWpCQTtFOUcrR00sa0JBdENhO0F0QjQ5aUJuQjs7QW9JcGlqQkE7RTlHOEdNLHFCQXRDYTtBdEJnK2lCbkI7O0FvSXZpakJBO0U5RzZHTSxvQkF0Q2E7QXRCbytpQm5COztBb0kxaWpCQTtFOUc0R00scUJBdENhO0F0QncraUJuQjs7QW9JN2lqQkE7RTlHMkdNLG1CQXRDYTtBdEI0K2lCbkI7O0FvSS9pakJBO0U5R3lHTSxxQkF0Q2E7RThHakVqQixnQi9Hd0JrQjtBckIwaGpCcEI7O0FvSTlpakJBO0U5R21HTSxlQXRDYTtFOEczRGpCLGdCL0dXcUI7RStHVnJCLGdCL0dFd0I7QXJCK2lqQjFCOztBb0kvaWpCQTtFOUc4Rk0saUJBdENhO0U4R3REakIsZ0IvR09xQjtFK0dOckIsZ0IvR0h3QjtBckJxampCMUI7O0FvSWhqakJBO0U5R3lGTSxpQkF0Q2E7RThHakRqQixnQi9HR3FCO0UrR0ZyQixnQi9HUndCO0FyQjJqakIxQjs7QW9JampqQkE7RTlHb0ZNLGlCQXRDYTtFOEc1Q2pCLGdCL0dEcUI7RStHRXJCLGdCL0did0I7QXJCaWtqQjFCOztBb0k1aWpCQTtFQUNFLGdCM0IvQ1E7RTJCZ0RSLG1CM0JoRFE7RTJCaURSO0VBQ0E7RUFFRTtBcEk4aWpCSjs7QW9JdGlqQkE7RUFDRSxVL0Y1RGM7RStGOERaO0FwSXdpakJKOztBb0loaWpCQTs7RTlHUEk7RThHVUYsZ0IvR2xFcUI7QXJCcW1qQnZCOztBb0loaWpCQTs7RUFFRSxjL0d2QmM7RStHd0JkLHlCL0dmUTtBckJrampCVjs7QW9JM2hqQkE7RXhCdEZFO0E1R3FuakJGO0F1QjNuakJRO0VxRkNKO0E1RzZuakJKO0F3QjluakJRO0VvRklKO0E1RzZuakJKOztBb0loaWpCQTtFeEIzRkU7QTVHK25qQkY7QXVCcm9qQlE7RXFGQ0o7QTVHdW9qQko7QXdCeG9qQlE7RW9GSUo7QTVHdW9qQko7O0FvSXZpakJBO0VBQ0U7QXBJMGlqQkY7QW9JeGlqQkU7RUFDRSxvQi9HckNtQjtBckIra2pCdkI7O0FvSWhpakJBO0U5RzlDSTtFOEdnREY7QXBJbWlqQkY7O0FvSS9oakJBO0VBQ0UsbUIzQnJIUTtFbkZ1SEoscUJBdENhO0F0QnVrakJuQjs7QW9JL2hqQkE7RUFDRTtFOUcxREU7RThHNERGLGN4R3ZIVztBNUJ5cGpCYjtBb0loaWpCRTtFQUNFO0FwSWtpakJKOztBcUlycWpCQTtFQUNFO0VBQ0E7RUFDQTtBckl3cWpCRjs7QXFJcHFqQkE7RUFDRTtJQUNFO0lBQ0E7RXJJdXFqQkY7QUFDRjtBcUlwcWpCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJJc3FqQkY7QXFJbHFqQkk7RUFDRTtBcklvcWpCTjtBcUlqcWpCSTtFQUNFO0VBQ0E7QXJJbXFqQk47QXFJanFqQk07RUFKRjtJQUtJO0lBQ0E7RXJJb3FqQk47RXFJbHFqQk07SUFDRTtFcklvcWpCUjtBQUNGO0FxSWhxakJJO0VBQ0U7RUFDQTtBcklrcWpCTjtBcUlocWpCTTtFQUpGO0lBS0k7SUFDQTtFckltcWpCTjtFcUlqcWpCTTtJQUNFO0VySW1xakJSO0FBQ0Y7QXFJL3BqQkk7RUFHRTtFQUNBO0VBR0E7QXJJNnBqQk47QXFJeHBqQkU7RUFDRTtBckkwcGpCSjtBcUl4cGpCSTtFQUNFO0FySTBwakJOOztBcUlycGpCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJJd3BqQkY7QStEcHFqQkk7RXNFY0Y7SUFFSSxtQmpEN0NlO0lpRDhDZixrQmpEOUNlO0VwRnNzakJuQjtBQUNGOztBc0lqdmpCQTtFQUFxQjtBdElxdmpCckI7O0FzSXB2akJBO0VBQXFCO0F0SXd2akJyQjs7QXNJdnZqQkE7RUFBcUI7QXRJMnZqQnJCOztBc0kxdmpCQTtFQUFxQjtBdEk4dmpCckI7O0FzSTd2akJBO0VBQXFCO0F0SWl3akJyQjs7QXNJaHdqQkE7RUFBcUI7QXRJb3dqQnJCOztBdUl0d2pCRTtFQUNFO0F2SXl3akJKOztBMEI3dmpCRTs7O0U2R1BJO0F2STB3akJOOztBdUloeGpCRTtFQUNFO0F2SW14akJKOztBMEJ2d2pCRTs7O0U2R1BJO0F2SW94akJOOztBdUkxeGpCRTtFQUNFO0F2STZ4akJKOztBMEJqeGpCRTs7O0U2R1BJO0F2STh4akJOOztBdUlweWpCRTtFQUNFO0F2SXV5akJKOztBMEIzeGpCRTs7O0U2R1BJO0F2SXd5akJOOztBdUk5eWpCRTtFQUNFO0F2SWl6akJKOztBMEJyeWpCRTs7O0U2R1BJO0F2SWt6akJOOztBdUl4empCRTtFQUNFO0F2STJ6akJKOztBMEIveWpCRTs7O0U2R1BJO0F2STR6akJOOztBdUlsMGpCRTtFQUNFO0F2SXEwakJKOztBMEJ6empCRTs7O0U2R1BJO0F2SXMwakJOOztBdUk1MGpCRTtFQUNFO0F2SSswakJKOztBMEJuMGpCRTs7O0U2R1BJO0F2SWcxakJOOztBdUlsMGpCRTtFQUNFO0VBQ0E7RUFDQTtBdklxMGpCSjs7QXVJeDBqQkU7RUFDRTtFQUNBO0VBQ0E7QXZJMjBqQko7O0F1STkwakJFO0VBQ0U7RUFDQTtFQUNBO0F2SWkxakJKOztBdUlwMWpCRTtFQUNFO0VBQ0E7RUFDQTtBdkl1MWpCSjs7QXVJMTFqQkU7RUFDRTtFQUNBO0VBQ0E7QXZJNjFqQko7O0F1SWgyakJFO0VBQ0U7RUFDQTtFQUNBO0F2SW0yakJKOztBdUl0MmpCRTtFQUNFO0VBQ0E7RUFDQTtBdkl5MmpCSjs7QXVJNTJqQkU7RUFDRTtFQUNBO0VBQ0E7QXZJKzJqQko7O0F3STUzakJBO0VBQ0U7QXhJKzNqQkY7O0F3STUzakJBO0VBQ0U7QXhJKzNqQkY7O0F3STUzakJBO0VBQ0UsVzVHcEJPO0E1Qm01akJUOztBdUlsNWpCRTtFQUNFO0F2SXE1akJKOztBMEJ6NGpCRTs7O0U2R1BJO0F2SXM1akJOOztBdUk1NWpCRTtFQUNFO0F2SSs1akJKOztBMEJuNWpCRTs7O0U2R1BJO0F2SWc2akJOOztBdUl0NmpCRTtFQUNFO0F2SXk2akJKOztBMEI3NWpCRTs7O0U2R1BJO0F2STA2akJOOztBdUloN2pCRTtFQUNFO0F2SW03akJKOztBMEJ2NmpCRTs7O0U2R1BJO0F2SW83akJOOztBdUkxN2pCRTtFQUNFO0F2STY3akJKOztBMEJqN2pCRTs7O0U2R1BJO0F2STg3akJOOztBdUlwOGpCRTtFQUNFO0F2SXU4akJKOztBMEIzN2pCRTs7O0U2R1BJO0F2SXc4akJOOztBdUk5OGpCRTtFQUNFO0F2SWk5akJKOztBMEJyOGpCRTs7O0U2R1BJO0F2SWs5akJOOztBdUl4OWpCRTtFQUNFO0F2STI5akJKOztBMEIvOGpCRTs7O0U2R1BJO0F2STQ5akJOOztBdUlsK2pCRTtFQUNFO0F2SXErakJKOztBMEJ6OWpCRTs7O0U2R1BJO0F2SXMrakJOOztBdUk1K2pCRTtFQUNFO0F2SSsrakJKOztBMEJuK2pCRTs7O0U2R1BJO0F2SWcvakJOOztBdUl0L2pCRTtFQUNFO0F2SXkvakJKOztBMEI3K2pCRTs7O0U2R1BJO0F2STAvakJOOztBdUloZ2tCRTtFQUNFO0F2SW1na0JKOztBMEJ2L2pCRTs7O0U2R1BJO0F2SW9na0JOOztBdUkxZ2tCRTtFQUNFO0F2STZna0JKOztBMEJqZ2tCRTs7O0U2R1BJO0F2SThna0JOOztBdUlwaGtCRTtFQUNFO0F2SXVoa0JKOztBMEIzZ2tCRTs7O0U2R1BJO0F2SXdoa0JOOztBdUk5aGtCRTtFQUNFO0F2SWlpa0JKOztBMEJyaGtCRTs7O0U2R1BJO0F2SWtpa0JOOztBdUl4aWtCRTtFQUNFO0F2STJpa0JKOztBMEIvaGtCRTs7O0U2R1BJO0F2STRpa0JOOztBdUlsamtCRTtFQUNFO0F2SXFqa0JKOztBMEJ6aWtCRTs7O0U2R1BJO0F2SXNqa0JOOztBdUk1amtCRTtFQUNFO0F2SStqa0JKOztBMEJuamtCRTs7O0U2R1BJO0F2SWdra0JOOztBdUl0a2tCRTtFQUNFO0F2SXlra0JKOztBMEI3amtCRTs7O0U2R1BJO0F2STBra0JOOztBdUlobGtCRTtFQUNFO0F2SW1sa0JKOztBMEJ2a2tCRTs7O0U2R1BJO0F2SW9sa0JOOztBdUkxbGtCRTtFQUNFO0F2STZsa0JKOztBMEJqbGtCRTs7O0U2R1BJO0F2SThsa0JOOztBdUlwbWtCRTtFQUNFO0F2SXVta0JKOztBMEIzbGtCRTs7O0U2R1BJO0F2SXdta0JOOztBdUk5bWtCRTtFQUNFO0F2SWlua0JKOztBMEJybWtCRTs7O0U2R1BJO0F2SWtua0JOOztBdUl4bmtCRTtFQUNFO0F2STJua0JKOztBMEIvbWtCRTs7O0U2R1BJO0F2STRua0JOOztBdUlsb2tCRTtFQUNFO0F2SXFva0JKOztBMEJ6bmtCRTs7O0U2R1BJO0F2SXNva0JOOztBdUk1b2tCRTtFQUNFO0F2SStva0JKOztBMEJub2tCRTs7O0U2R1BJO0F2SWdwa0JOOztBd0l4bmtCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhJMm5rQkY7O0F5STVwa0JFO0VBQWtCO0F6SWdxa0JwQjs7QXlJL3BrQkU7RUFBa0I7QXpJbXFrQnBCOztBeUlscWtCRTtFQUFrQjtBeklzcWtCcEI7O0F5SXJxa0JFO0VBQWtCO0F6SXlxa0JwQjs7QXlJeHFrQkU7RUFBa0I7QXpJNHFrQnBCOztBeUl6cWtCQTtFQUFtQjtBekk2cWtCbkI7O0F5STVxa0JBO0VBQW1CO0F6SWdya0JuQjs7QXlJL3FrQkE7RUFBbUI7QXpJbXJrQm5COztBeUlscmtCQTtFQUFtQjtBeklzcmtCbkI7O0F5SXJya0JBO0VBQW1CO0F6SXlya0JuQjs7QXlJdHJrQkU7RUFDRTtFQUNBO0F6SXlya0JKOztBeUkzcmtCRTtFQUNFO0VBQ0E7QXpJOHJrQko7O0F5SWhza0JFO0VBQ0U7RUFDQTtBekltc2tCSjs7QXlJcnNrQkU7RUFDRTtFQUNBO0F6SXdza0JKOztBeUkxc2tCRTtFQUNFO0VBQ0E7QXpJNnNrQko7O0F5SS9za0JFO0VBQ0U7RUFDQTtBeklrdGtCSjs7QXlJcHRrQkU7RUFDRTtFQUNBO0F6SXV0a0JKOztBeUl6dGtCRTtFQUNFO0VBQ0E7QXpJNHRrQko7O0F5SXh0a0JBO0VBQ0U7QXpJMnRrQkY7O0F5SXB0a0JBO0VBQ0U7QXpJdXRrQkY7O0F5SXB0a0JBO0VBQ0U7QXpJdXRrQkY7O0F5SXB0a0JBO0VBQ0U7RUFDQTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtFQUNBO0F6SXV0a0JGOztBeUlwdGtCQTtFQUNFO0VBQ0E7QXpJdXRrQkY7O0F5SXB0a0JBO0VBQ0U7RUFDQTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtBekl1dGtCRjs7QXlJcHRrQkE7RUFDRTtBekl1dGtCRjs7QXlJanRrQk07RUFBeUI7QXpJcXRrQi9COztBeUlwdGtCTTtFQUF5QjtBekl3dGtCL0I7O0F5SXZ0a0JNO0VBQXlCO0F6STJ0a0IvQjs7QXlJMXRrQk07RUFBeUI7QXpJOHRrQi9COztBeUk3dGtCTTtFQUF5QjtBeklpdWtCL0I7O0F5SS90a0JNO0VBQXlCO0F6SW11a0IvQjs7QXlJbHVrQk07RUFBeUI7QXpJc3VrQi9COztBeUlydWtCTTtFQUF5QjtBekl5dWtCL0I7O0F5SXh1a0JNO0VBQXlCO0F6STR1a0IvQjs7QXlJM3VrQk07RUFBeUI7QXpJK3VrQi9COztBeUludmtCTTtFQUF5QjtBekl1dmtCL0I7O0F5SXR2a0JNO0VBQXlCO0F6STB2a0IvQjs7QXlJenZrQk07RUFBeUI7QXpJNnZrQi9COztBeUk1dmtCTTtFQUF5QjtBeklnd2tCL0I7O0F5SS92a0JNO0VBQXlCO0F6SW13a0IvQjs7QTBJLzFrQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFJazJrQkY7O0FrRXYya0JFO0VBQ0U7RUFDQTtFQUNBO0FsRTAya0JKOztBMklwMmtCTTtFQUF3QjtBM0l3MmtCOUI7O0EySXgya0JNO0VBQXdCO0EzSTQya0I5Qjs7QTJJNTJrQk07RUFBd0I7QTNJZzNrQjlCOztBMkloM2tCTTtFQUF3QjtBM0lvM2tCOUI7O0EySXAza0JNO0VBQXdCO0EzSXcza0I5Qjs7QTJJeDNrQk07RUFBd0I7QTNJNDNrQjlCOztBMkk1M2tCTTtFQUF3QjtBM0lnNGtCOUI7O0EySWg0a0JNO0VBQXdCO0EzSW80a0I5Qjs7QTJJcDRrQk07RUFBd0I7QTNJdzRrQjlCOztBK0R6MGtCSTtFNEUvREU7SUFBd0I7RTNJNjRrQjVCOztFMkk3NGtCSTtJQUF3QjtFM0lpNWtCNUI7O0UySWo1a0JJO0lBQXdCO0UzSXE1a0I1Qjs7RTJJcjVrQkk7SUFBd0I7RTNJeTVrQjVCOztFMkl6NWtCSTtJQUF3QjtFM0k2NWtCNUI7O0UySTc1a0JJO0lBQXdCO0UzSWk2a0I1Qjs7RTJJajZrQkk7SUFBd0I7RTNJcTZrQjVCOztFMklyNmtCSTtJQUF3QjtFM0l5NmtCNUI7O0UySXo2a0JJO0lBQXdCO0UzSTY2a0I1QjtBQUNGO0ErRC8ya0JJO0U0RS9ERTtJQUF3QjtFM0lrN2tCNUI7O0UySWw3a0JJO0lBQXdCO0UzSXM3a0I1Qjs7RTJJdDdrQkk7SUFBd0I7RTNJMDdrQjVCOztFMkkxN2tCSTtJQUF3QjtFM0k4N2tCNUI7O0UySTk3a0JJO0lBQXdCO0UzSWs4a0I1Qjs7RTJJbDhrQkk7SUFBd0I7RTNJczhrQjVCOztFMkl0OGtCSTtJQUF3QjtFM0kwOGtCNUI7O0UySTE4a0JJO0lBQXdCO0UzSTg4a0I1Qjs7RTJJOThrQkk7SUFBd0I7RTNJazlrQjVCO0FBQ0Y7QStEcDVrQkk7RTRFL0RFO0lBQXdCO0UzSXU5a0I1Qjs7RTJJdjlrQkk7SUFBd0I7RTNJMjlrQjVCOztFMkkzOWtCSTtJQUF3QjtFM0krOWtCNUI7O0UySS85a0JJO0lBQXdCO0UzSW0ra0I1Qjs7RTJJbitrQkk7SUFBd0I7RTNJdStrQjVCOztFMkl2K2tCSTtJQUF3QjtFM0kyK2tCNUI7O0UySTMra0JJO0lBQXdCO0UzSSsra0I1Qjs7RTJJLytrQkk7SUFBd0I7RTNJbS9rQjVCOztFMkluL2tCSTtJQUF3QjtFM0l1L2tCNUI7QUFDRjtBK0R6N2tCSTtFNEUvREU7SUFBd0I7RTNJNC9rQjVCOztFMkk1L2tCSTtJQUF3QjtFM0lnZ2xCNUI7O0UySWhnbEJJO0lBQXdCO0UzSW9nbEI1Qjs7RTJJcGdsQkk7SUFBd0I7RTNJd2dsQjVCOztFMkl4Z2xCSTtJQUF3QjtFM0k0Z2xCNUI7O0UySTVnbEJJO0lBQXdCO0UzSWdobEI1Qjs7RTJJaGhsQkk7SUFBd0I7RTNJb2hsQjVCOztFMklwaGxCSTtJQUF3QjtFM0l3aGxCNUI7O0UySXhobEJJO0lBQXdCO0UzSTRobEI1QjtBQUNGO0ErRDk5a0JJO0U0RS9ERTtJQUF3QjtFM0lpaWxCNUI7O0UySWppbEJJO0lBQXdCO0UzSXFpbEI1Qjs7RTJJcmlsQkk7SUFBd0I7RTNJeWlsQjVCOztFMkl6aWxCSTtJQUF3QjtFM0k2aWxCNUI7O0UySTdpbEJJO0lBQXdCO0UzSWlqbEI1Qjs7RTJJampsQkk7SUFBd0I7RTNJcWpsQjVCOztFMklyamxCSTtJQUF3QjtFM0l5amxCNUI7O0UySXpqbEJJO0lBQXdCO0UzSTZqbEI1Qjs7RTJJN2psQkk7SUFBd0I7RTNJaWtsQjVCO0FBQ0Y7QStEdC9rQkk7RTRFckVBO0lBQXdCO0UzSStqbEIxQjtBQUNGO0ErRDMva0JJO0U0RXJFQTtJQUF3QjtFM0lva2xCMUI7QUFDRjtBK0RoZ2xCSTtFNEVyRUE7SUFBd0I7RTNJeWtsQjFCO0FBQ0Y7QStEcmdsQkk7RTRFckVBO0lBQXdCO0UzSThrbEIxQjtBQUNGO0ErRDFnbEJJO0U0RXJFQTtJQUF3QjtFM0ltbGxCMUI7QUFDRjtBMklwbGxCSTtFQUF3QjtBM0l1bGxCNUI7O0EySWpsbEJJO0VBQXNCO0EzSXFsbEIxQjs7QTJJMWpsQkE7RUFFSTtJQUFxQjtFM0k2amxCdkI7O0UySTdqbEJFO0lBQXFCO0UzSWlrbEJ2Qjs7RTJJamtsQkU7SUFBcUI7RTNJcWtsQnZCOztFMklya2xCRTtJQUFxQjtFM0l5a2xCdkI7O0UySXprbEJFO0lBQXFCO0UzSTZrbEJ2Qjs7RTJJN2tsQkU7SUFBcUI7RTNJaWxsQnZCOztFMklqbGxCRTtJQUFxQjtFM0lxbGxCdkI7O0UySXJsbEJFO0lBQXFCO0UzSXlsbEJ2Qjs7RTJJemxsQkU7SUFBcUI7RTNJNmxsQnZCO0FBQ0Y7QTRJaHBsQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1SWtwbEJGO0E0SWhwbEJFO0VBQ0U7RUFDQTtBNUlrcGxCSjtBNEkvb2xCRTs7Ozs7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUlpcGxCSjs7QTRJeG9sQkk7RUFDRTtBNUkyb2xCTjs7QTRJNW9sQkk7RUFDRTtBNUkrb2xCTjs7QTRJaHBsQkk7RUFDRTtBNUltcGxCTjs7QTRJcHBsQkk7RUFDRTtBNUl1cGxCTjs7QTRJeHBsQkk7RUFDRTtBNUkycGxCTjs7QTRJNXBsQkk7RUFDRTtBNUkrcGxCTjs7QTRJaHFsQkk7RUFDRTtBNUltcWxCTjs7QTRJcHFsQkk7RUFDRTtBNUl1cWxCTjs7QTZJaHNsQkk7RUFBZ0M7QTdJb3NsQnBDOztBNkluc2xCSTtFQUFnQztBN0l1c2xCcEM7O0E2SXRzbEJJO0VBQWdDO0E3STBzbEJwQzs7QTZJenNsQkk7RUFBZ0M7QTdJNnNsQnBDOztBNkkzc2xCSTtFQUE4QjtBN0krc2xCbEM7O0E2STlzbEJJO0VBQThCO0E3SWt0bEJsQzs7QTZJanRsQkk7RUFBOEI7QTdJcXRsQmxDOztBNklwdGxCSTtFQUE4QjtBN0l3dGxCbEM7O0E2SXZ0bEJJO0VBQThCO0E3STJ0bEJsQzs7QTZJMXRsQkk7RUFBOEI7QTdJOHRsQmxDOztBNkk3dGxCSTtFQUE4QjtBN0lpdWxCbEM7O0E2SWh1bEJJO0VBQThCO0E3SW91bEJsQzs7QTZJbHVsQkk7RUFBb0M7QTdJc3VsQnhDOztBNklydWxCSTtFQUFvQztBN0l5dWxCeEM7O0E2SXh1bEJJO0VBQW9DO0E3STR1bEJ4Qzs7QTZJM3VsQkk7RUFBb0M7QTdJK3VsQnhDOztBNkk5dWxCSTtFQUFvQztBN0lrdmxCeEM7O0E2SWh2bEJJO0VBQWlDO0E3SW92bEJyQzs7QTZJbnZsQkk7RUFBaUM7QTdJdXZsQnJDOztBNkl0dmxCSTtFQUFpQztBN0kwdmxCckM7O0E2SXp2bEJJO0VBQWlDO0E3STZ2bEJyQzs7QTZJNXZsQkk7RUFBaUM7QTdJZ3dsQnJDOztBNkk5dmxCSTtFQUFrQztBN0lrd2xCdEM7O0E2SWp3bEJJO0VBQWtDO0E3SXF3bEJ0Qzs7QTZJcHdsQkk7RUFBa0M7QTdJd3dsQnRDOztBNkl2d2xCSTtFQUFrQztBN0kyd2xCdEM7O0E2STF3bEJJO0VBQWtDO0E3STh3bEJ0Qzs7QTZJN3dsQkk7RUFBa0M7QTdJaXhsQnRDOztBNkkvd2xCSTtFQUFnQztBN0lteGxCcEM7O0E2SWx4bEJJO0VBQWdDO0E3SXN4bEJwQzs7QTZJcnhsQkk7RUFBZ0M7QTdJeXhsQnBDOztBNkl4eGxCSTtFQUFnQztBN0k0eGxCcEM7O0E2STN4bEJJO0VBQWdDO0E3SSt4bEJwQzs7QTZJOXhsQkk7RUFBZ0M7QTdJa3lsQnBDOztBK0R6d2xCSTtFOEUvREE7SUFBZ0M7RTdJNjBsQmxDOztFNkk1MGxCRTtJQUFnQztFN0lnMWxCbEM7O0U2SS8wbEJFO0lBQWdDO0U3SW0xbEJsQzs7RTZJbDFsQkU7SUFBZ0M7RTdJczFsQmxDOztFNklwMWxCRTtJQUE4QjtFN0l3MWxCaEM7O0U2SXYxbEJFO0lBQThCO0U3STIxbEJoQzs7RTZJMTFsQkU7SUFBOEI7RTdJODFsQmhDOztFNkk3MWxCRTtJQUE4QjtFN0lpMmxCaEM7O0U2SWgybEJFO0lBQThCO0U3SW8ybEJoQzs7RTZJbjJsQkU7SUFBOEI7RTdJdTJsQmhDOztFNkl0MmxCRTtJQUE4QjtFN0kwMmxCaEM7O0U2SXoybEJFO0lBQThCO0U3STYybEJoQzs7RTZJMzJsQkU7SUFBb0M7RTdJKzJsQnRDOztFNkk5MmxCRTtJQUFvQztFN0lrM2xCdEM7O0U2SWozbEJFO0lBQW9DO0U3SXEzbEJ0Qzs7RTZJcDNsQkU7SUFBb0M7RTdJdzNsQnRDOztFNkl2M2xCRTtJQUFvQztFN0kyM2xCdEM7O0U2SXozbEJFO0lBQWlDO0U3STYzbEJuQzs7RTZJNTNsQkU7SUFBaUM7RTdJZzRsQm5DOztFNkkvM2xCRTtJQUFpQztFN0ltNGxCbkM7O0U2SWw0bEJFO0lBQWlDO0U3SXM0bEJuQzs7RTZJcjRsQkU7SUFBaUM7RTdJeTRsQm5DOztFNkl2NGxCRTtJQUFrQztFN0kyNGxCcEM7O0U2STE0bEJFO0lBQWtDO0U3STg0bEJwQzs7RTZJNzRsQkU7SUFBa0M7RTdJaTVsQnBDOztFNkloNWxCRTtJQUFrQztFN0lvNWxCcEM7O0U2SW41bEJFO0lBQWtDO0U3SXU1bEJwQzs7RTZJdDVsQkU7SUFBa0M7RTdJMDVsQnBDOztFNkl4NWxCRTtJQUFnQztFN0k0NWxCbEM7O0U2STM1bEJFO0lBQWdDO0U3SSs1bEJsQzs7RTZJOTVsQkU7SUFBZ0M7RTdJazZsQmxDOztFNklqNmxCRTtJQUFnQztFN0lxNmxCbEM7O0U2SXA2bEJFO0lBQWdDO0U3SXc2bEJsQzs7RTZJdjZsQkU7SUFBZ0M7RTdJMjZsQmxDO0FBQ0Y7QStEbjVsQkk7RThFL0RBO0lBQWdDO0U3SXM5bEJsQzs7RTZJcjlsQkU7SUFBZ0M7RTdJeTlsQmxDOztFNkl4OWxCRTtJQUFnQztFN0k0OWxCbEM7O0U2STM5bEJFO0lBQWdDO0U3SSs5bEJsQzs7RTZJNzlsQkU7SUFBOEI7RTdJaStsQmhDOztFNkloK2xCRTtJQUE4QjtFN0lvK2xCaEM7O0U2SW4rbEJFO0lBQThCO0U3SXUrbEJoQzs7RTZJdCtsQkU7SUFBOEI7RTdJMCtsQmhDOztFNkl6K2xCRTtJQUE4QjtFN0k2K2xCaEM7O0U2STUrbEJFO0lBQThCO0U3SWcvbEJoQzs7RTZJLytsQkU7SUFBOEI7RTdJbS9sQmhDOztFNklsL2xCRTtJQUE4QjtFN0lzL2xCaEM7O0U2SXAvbEJFO0lBQW9DO0U3SXcvbEJ0Qzs7RTZJdi9sQkU7SUFBb0M7RTdJMi9sQnRDOztFNkkxL2xCRTtJQUFvQztFN0k4L2xCdEM7O0U2STcvbEJFO0lBQW9DO0U3SWlnbUJ0Qzs7RTZJaGdtQkU7SUFBb0M7RTdJb2dtQnRDOztFNklsZ21CRTtJQUFpQztFN0lzZ21CbkM7O0U2SXJnbUJFO0lBQWlDO0U3SXlnbUJuQzs7RTZJeGdtQkU7SUFBaUM7RTdJNGdtQm5DOztFNkkzZ21CRTtJQUFpQztFN0krZ21CbkM7O0U2STlnbUJFO0lBQWlDO0U3SWtobUJuQzs7RTZJaGhtQkU7SUFBa0M7RTdJb2htQnBDOztFNkluaG1CRTtJQUFrQztFN0l1aG1CcEM7O0U2SXRobUJFO0lBQWtDO0U3STBobUJwQzs7RTZJemhtQkU7SUFBa0M7RTdJNmhtQnBDOztFNkk1aG1CRTtJQUFrQztFN0lnaW1CcEM7O0U2SS9obUJFO0lBQWtDO0U3SW1pbUJwQzs7RTZJamltQkU7SUFBZ0M7RTdJcWltQmxDOztFNklwaW1CRTtJQUFnQztFN0l3aW1CbEM7O0U2SXZpbUJFO0lBQWdDO0U3STJpbUJsQzs7RTZJMWltQkU7SUFBZ0M7RTdJOGltQmxDOztFNkk3aW1CRTtJQUFnQztFN0lpam1CbEM7O0U2SWhqbUJFO0lBQWdDO0U3SW9qbUJsQztBQUNGO0ErRDVobUJJO0U4RS9EQTtJQUFnQztFN0krbG1CbEM7O0U2STlsbUJFO0lBQWdDO0U3SWttbUJsQzs7RTZJam1tQkU7SUFBZ0M7RTdJcW1tQmxDOztFNklwbW1CRTtJQUFnQztFN0l3bW1CbEM7O0U2SXRtbUJFO0lBQThCO0U3STBtbUJoQzs7RTZJem1tQkU7SUFBOEI7RTdJNm1tQmhDOztFNkk1bW1CRTtJQUE4QjtFN0lnbm1CaEM7O0U2SS9tbUJFO0lBQThCO0U3SW1ubUJoQzs7RTZJbG5tQkU7SUFBOEI7RTdJc25tQmhDOztFNklybm1CRTtJQUE4QjtFN0l5bm1CaEM7O0U2SXhubUJFO0lBQThCO0U3STRubUJoQzs7RTZJM25tQkU7SUFBOEI7RTdJK25tQmhDOztFNkk3bm1CRTtJQUFvQztFN0lpb21CdEM7O0U2SWhvbUJFO0lBQW9DO0U3SW9vbUJ0Qzs7RTZJbm9tQkU7SUFBb0M7RTdJdW9tQnRDOztFNkl0b21CRTtJQUFvQztFN0kwb21CdEM7O0U2SXpvbUJFO0lBQW9DO0U3STZvbUJ0Qzs7RTZJM29tQkU7SUFBaUM7RTdJK29tQm5DOztFNkk5b21CRTtJQUFpQztFN0lrcG1CbkM7O0U2SWpwbUJFO0lBQWlDO0U3SXFwbUJuQzs7RTZJcHBtQkU7SUFBaUM7RTdJd3BtQm5DOztFNkl2cG1CRTtJQUFpQztFN0kycG1CbkM7O0U2SXpwbUJFO0lBQWtDO0U3STZwbUJwQzs7RTZJNXBtQkU7SUFBa0M7RTdJZ3FtQnBDOztFNkkvcG1CRTtJQUFrQztFN0ltcW1CcEM7O0U2SWxxbUJFO0lBQWtDO0U3SXNxbUJwQzs7RTZJcnFtQkU7SUFBa0M7RTdJeXFtQnBDOztFNkl4cW1CRTtJQUFrQztFN0k0cW1CcEM7O0U2STFxbUJFO0lBQWdDO0U3SThxbUJsQzs7RTZJN3FtQkU7SUFBZ0M7RTdJaXJtQmxDOztFNklocm1CRTtJQUFnQztFN0lvcm1CbEM7O0U2SW5ybUJFO0lBQWdDO0U3SXVybUJsQzs7RTZJdHJtQkU7SUFBZ0M7RTdJMHJtQmxDOztFNkl6cm1CRTtJQUFnQztFN0k2cm1CbEM7QUFDRjtBK0RycW1CSTtFOEUvREE7SUFBZ0M7RTdJd3VtQmxDOztFNkl2dW1CRTtJQUFnQztFN0kydW1CbEM7O0U2STF1bUJFO0lBQWdDO0U3STh1bUJsQzs7RTZJN3VtQkU7SUFBZ0M7RTdJaXZtQmxDOztFNkkvdW1CRTtJQUE4QjtFN0ltdm1CaEM7O0U2SWx2bUJFO0lBQThCO0U3SXN2bUJoQzs7RTZJcnZtQkU7SUFBOEI7RTdJeXZtQmhDOztFNkl4dm1CRTtJQUE4QjtFN0k0dm1CaEM7O0U2STN2bUJFO0lBQThCO0U3SSt2bUJoQzs7RTZJOXZtQkU7SUFBOEI7RTdJa3dtQmhDOztFNklqd21CRTtJQUE4QjtFN0lxd21CaEM7O0U2SXB3bUJFO0lBQThCO0U3SXd3bUJoQzs7RTZJdHdtQkU7SUFBb0M7RTdJMHdtQnRDOztFNkl6d21CRTtJQUFvQztFN0k2d21CdEM7O0U2STV3bUJFO0lBQW9DO0U3SWd4bUJ0Qzs7RTZJL3dtQkU7SUFBb0M7RTdJbXhtQnRDOztFNklseG1CRTtJQUFvQztFN0lzeG1CdEM7O0U2SXB4bUJFO0lBQWlDO0U3SXd4bUJuQzs7RTZJdnhtQkU7SUFBaUM7RTdJMnhtQm5DOztFNkkxeG1CRTtJQUFpQztFN0k4eG1CbkM7O0U2STd4bUJFO0lBQWlDO0U3SWl5bUJuQzs7RTZJaHltQkU7SUFBaUM7RTdJb3ltQm5DOztFNklseW1CRTtJQUFrQztFN0lzeW1CcEM7O0U2SXJ5bUJFO0lBQWtDO0U3SXl5bUJwQzs7RTZJeHltQkU7SUFBa0M7RTdJNHltQnBDOztFNkkzeW1CRTtJQUFrQztFN0kreW1CcEM7O0U2STl5bUJFO0lBQWtDO0U3SWt6bUJwQzs7RTZJanptQkU7SUFBa0M7RTdJcXptQnBDOztFNkluem1CRTtJQUFnQztFN0l1em1CbEM7O0U2SXR6bUJFO0lBQWdDO0U3STB6bUJsQzs7RTZJenptQkU7SUFBZ0M7RTdJNnptQmxDOztFNkk1em1CRTtJQUFnQztFN0lnMG1CbEM7O0U2SS96bUJFO0lBQWdDO0U3SW0wbUJsQzs7RTZJbDBtQkU7SUFBZ0M7RTdJczBtQmxDO0FBQ0Y7QStEOXltQkk7RThFL0RBO0lBQWdDO0U3SWkzbUJsQzs7RTZJaDNtQkU7SUFBZ0M7RTdJbzNtQmxDOztFNkluM21CRTtJQUFnQztFN0l1M21CbEM7O0U2SXQzbUJFO0lBQWdDO0U3STAzbUJsQzs7RTZJeDNtQkU7SUFBOEI7RTdJNDNtQmhDOztFNkkzM21CRTtJQUE4QjtFN0krM21CaEM7O0U2STkzbUJFO0lBQThCO0U3SWs0bUJoQzs7RTZJajRtQkU7SUFBOEI7RTdJcTRtQmhDOztFNklwNG1CRTtJQUE4QjtFN0l3NG1CaEM7O0U2SXY0bUJFO0lBQThCO0U3STI0bUJoQzs7RTZJMTRtQkU7SUFBOEI7RTdJODRtQmhDOztFNkk3NG1CRTtJQUE4QjtFN0lpNW1CaEM7O0U2SS80bUJFO0lBQW9DO0U3SW01bUJ0Qzs7RTZJbDVtQkU7SUFBb0M7RTdJczVtQnRDOztFNklyNW1CRTtJQUFvQztFN0l5NW1CdEM7O0U2SXg1bUJFO0lBQW9DO0U3STQ1bUJ0Qzs7RTZJMzVtQkU7SUFBb0M7RTdJKzVtQnRDOztFNkk3NW1CRTtJQUFpQztFN0lpNm1CbkM7O0U2SWg2bUJFO0lBQWlDO0U3SW82bUJuQzs7RTZJbjZtQkU7SUFBaUM7RTdJdTZtQm5DOztFNkl0Nm1CRTtJQUFpQztFN0kwNm1CbkM7O0U2SXo2bUJFO0lBQWlDO0U3STY2bUJuQzs7RTZJMzZtQkU7SUFBa0M7RTdJKzZtQnBDOztFNkk5Nm1CRTtJQUFrQztFN0lrN21CcEM7O0U2SWo3bUJFO0lBQWtDO0U3SXE3bUJwQzs7RTZJcDdtQkU7SUFBa0M7RTdJdzdtQnBDOztFNkl2N21CRTtJQUFrQztFN0kyN21CcEM7O0U2STE3bUJFO0lBQWtDO0U3STg3bUJwQzs7RTZJNTdtQkU7SUFBZ0M7RTdJZzhtQmxDOztFNkkvN21CRTtJQUFnQztFN0ltOG1CbEM7O0U2SWw4bUJFO0lBQWdDO0U3SXM4bUJsQzs7RTZJcjhtQkU7SUFBZ0M7RTdJeThtQmxDOztFNkl4OG1CRTtJQUFnQztFN0k0OG1CbEM7O0U2STM4bUJFO0lBQWdDO0U3SSs4bUJsQztBQUNGO0F1QjUvbUJRO0V1SElBO0E5STIvbUJSO0F3Qi8vbUJRO0VzSE9BO0E5STIvbUJSOztBdUJsZ25CUTtFdUhZQTtBOUkwL21CUjtBd0J0Z25CUTtFc0hlQTtBOUkwL21CUjs7QThJdi9tQkk7RUFBd0I7QTlJMi9tQjVCOztBK0R4OG1CSTtFeENyRUk7SXVISUE7RTlJOGduQk47RXdCbGhuQk07SXNIT0E7RTlJOGduQk47O0V1QnJobkJNO0l1SFlBO0U5STZnbkJOO0V3QnpobkJNO0lzSGVBO0U5STZnbkJOOztFOEkxZ25CRTtJQUF3QjtFOUk4Z25CMUI7QUFDRjtBK0Q1OW1CSTtFeENyRUk7SXVISUE7RTlJaWluQk47RXdCcmluQk07SXNIT0E7RTlJaWluQk47O0V1QnhpbkJNO0l1SFlBO0U5SWdpbkJOO0V3QjVpbkJNO0lzSGVBO0U5SWdpbkJOOztFOEk3aG5CRTtJQUF3QjtFOUlpaW5CMUI7QUFDRjtBK0QvK21CSTtFeENyRUk7SXVISUE7RTlJb2puQk47RXdCeGpuQk07SXNIT0E7RTlJb2puQk47O0V1QjNqbkJNO0l1SFlBO0U5SW1qbkJOO0V3Qi9qbkJNO0lzSGVBO0U5SW1qbkJOOztFOEloam5CRTtJQUF3QjtFOUlvam5CMUI7QUFDRjtBK0RsZ25CSTtFeENyRUk7SXVISUE7RTlJdWtuQk47RXdCM2tuQk07SXNIT0E7RTlJdWtuQk47O0V1QjlrbkJNO0l1SFlBO0U5SXNrbkJOO0V3QmxsbkJNO0lzSGVBO0U5SXNrbkJOOztFOElua25CRTtJQUF3QjtFOUl1a25CMUI7QUFDRjtBK0RyaG5CSTtFeENyRUk7SXVISUE7RTlJMGxuQk47RXdCOWxuQk07SXNIT0E7RTlJMGxuQk47O0V1QmptbkJNO0l1SFlBO0U5SXlsbkJOO0V3QnJtbkJNO0lzSGVBO0U5SXlsbkJOOztFOEl0bG5CRTtJQUF3QjtFOUkwbG5CMUI7QUFDRjtBK0k5bW5CRTtFQUF5QjtLQUFBO1VBQUE7QS9JaW5uQjNCOztBK0lqbm5CRTtFQUF5QjtLQUFBO1VBQUE7QS9JcW5uQjNCOztBK0lybm5CRTtFQUF5QjtLQUFBO1VBQUE7QS9JeW5uQjNCOztBZ0p6bm5CRTtFQUFzQjtBaEo2bm5CeEI7O0FnSjdubkJFO0VBQXNCO0FoSmlvbkJ4Qjs7QWlKaG9uQkU7RUFBeUI7QWpKb29uQjNCOztBaUpwb25CRTtFQUF5QjtBakp3b25CM0I7O0FpSnhvbkJFO0VBQXlCO0FqSjRvbkIzQjs7QWlKNW9uQkU7RUFBeUI7QWpKZ3BuQjNCOztBaUpocG5CRTtFQUF5QjtBakpvcG5CM0I7O0FpSi9vbkJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhaEhOdUI7QWpDd3BuQnpCOztBaUovb25CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWhIZHVCO0FqQ2dxbkJ6Qjs7QWlKOW9uQkU7RUFERjtJQUVJO0lBQ0E7SUFDQSxhaEh0QnFCO0VqQ3dxbkJ2QjtBQUNGOztBa0o1cW5CQTtFQ0VFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbko4cW5CRjs7QW1KcHFuQkU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Kc3FuQko7O0FvSm5zbkJBO0VBQWE7QXBKdXNuQmI7O0FvSnRzbkJBO0VBQVU7QXBKMHNuQlY7O0FvSnpzbkJBO0VBQWE7QXBKNnNuQmI7O0FvSjVzbkJBO0VBQWU7QXBKZ3RuQmY7O0FxSi9zbkJJO0VBQXVCO0FySm10bkIzQjs7QXFKbnRuQkk7RUFBdUI7QXJKdXRuQjNCOztBcUp2dG5CSTtFQUF1QjtBckoydG5CM0I7O0FxSjN0bkJJO0VBQXVCO0FySit0bkIzQjs7QXFKL3RuQkk7RUFBdUI7QXJKbXVuQjNCOztBcUpudW5CSTtFQUF1QjtBckp1dW5CM0I7O0FxSnZ1bkJJO0VBQXVCO0FySjJ1bkIzQjs7QXFKM3VuQkk7RUFBdUI7QXJKK3VuQjNCOztBcUovdW5CSTtFQUF1QjtBckptdm5CM0I7O0FxSm52bkJJO0VBQXVCO0FySnV2bkIzQjs7QXFKbnZuQkE7RUFBVTtBckp1dm5CVjs7QXFKdHZuQkE7RUFBVTtBckowdm5CVjs7QXFKdHZuQkE7RUFBYztBckowdm5CZDs7QXFKenZuQkE7RUFBYztBcko2dm5CZDs7QXFKM3ZuQkE7RUFBVTtBckordm5CVjs7QXFKOXZuQkE7RUFBVTtBckprd25CVjs7QXNKM3duQlE7RUFBZ0M7QXRKK3duQnhDOztBc0o5d25CUTs7RUFFRTtBdEppeG5CVjs7QXNKL3duQlE7O0VBRUU7QXRKa3huQlY7O0FzSmh4bkJROztFQUVFO0F0Sm14bkJWOztBc0pqeG5CUTs7RUFFRTtBdEpveG5CVjs7QXVCenluQlE7RStIMEJJO0F0Sm14bkJaO0F3Qjd5bkJRO0U4SDZCSTtBdEpteG5CWjs7QXVCaHpuQlE7RStIa0NJO0F0Smt4bkJaO0F3QnB6bkJRO0U4SHFDSTtBdEpreG5CWjs7QXNKanpuQlE7RUFBZ0M7QXRKcXpuQnhDOztBc0pwem5CUTs7RUFFRTtBdEp1em5CVjs7QXNKcnpuQlE7O0VBRUU7QXRKd3puQlY7O0FzSnR6bkJROztFQUVFO0F0Snl6bkJWOztBc0p2em5CUTs7RUFFRTtBdEowem5CVjs7QXVCLzBuQlE7RStIMEJJO0F0Snl6bkJaO0F3Qm4xbkJRO0U4SDZCSTtBdEp5em5CWjs7QXVCdDFuQlE7RStIa0NJO0F0Snd6bkJaO0F3QjExbkJRO0U4SHFDSTtBdEp3em5CWjs7QXNKdjFuQlE7RUFBZ0M7QXRKMjFuQnhDOztBc0oxMW5CUTs7RUFFRTtBdEo2MW5CVjs7QXNKMzFuQlE7O0VBRUU7QXRKODFuQlY7O0FzSjUxbkJROztFQUVFO0F0SisxbkJWOztBc0o3MW5CUTs7RUFFRTtBdEpnMm5CVjs7QXVCcjNuQlE7RStIMEJJO0F0SisxbkJaO0F3QnozbkJRO0U4SDZCSTtBdEorMW5CWjs7QXVCNTNuQlE7RStIa0NJO0F0SjgxbkJaO0F3Qmg0bkJRO0U4SHFDSTtBdEo4MW5CWjs7QXNKNzNuQlE7RUFBZ0M7QXRKaTRuQnhDOztBc0poNG5CUTs7RUFFRTtBdEptNG5CVjs7QXNKajRuQlE7O0VBRUU7QXRKbzRuQlY7O0FzSmw0bkJROztFQUVFO0F0SnE0bkJWOztBc0puNG5CUTs7RUFFRTtBdEpzNG5CVjs7QXVCMzVuQlE7RStIMEJJO0F0SnE0bkJaO0F3Qi81bkJRO0U4SDZCSTtBdEpxNG5CWjs7QXVCbDZuQlE7RStIa0NJO0F0Sm80bkJaO0F3QnQ2bkJRO0U4SHFDSTtBdEpvNG5CWjs7QXNKbjZuQlE7RUFBZ0M7QXRKdTZuQnhDOztBc0p0Nm5CUTs7RUFFRTtBdEp5Nm5CVjs7QXNKdjZuQlE7O0VBRUU7QXRKMDZuQlY7O0FzSng2bkJROztFQUVFO0F0SjI2bkJWOztBc0p6Nm5CUTs7RUFFRTtBdEo0Nm5CVjs7QXVCajhuQlE7RStIMEJJO0F0SjI2bkJaO0F3QnI4bkJRO0U4SDZCSTtBdEoyNm5CWjs7QXVCeDhuQlE7RStIa0NJO0F0SjA2bkJaO0F3QjU4bkJRO0U4SHFDSTtBdEowNm5CWjs7QXNKejhuQlE7RUFBZ0M7QXRKNjhuQnhDOztBc0o1OG5CUTs7RUFFRTtBdEorOG5CVjs7QXNKNzhuQlE7O0VBRUU7QXRKZzluQlY7O0FzSjk4bkJROztFQUVFO0F0Smk5bkJWOztBc0ovOG5CUTs7RUFFRTtBdEprOW5CVjs7QXVCdituQlE7RStIMEJJO0F0Smk5bkJaO0F3QjMrbkJRO0U4SDZCSTtBdEppOW5CWjs7QXVCOStuQlE7RStIa0NJO0F0Smc5bkJaO0F3QmwvbkJRO0U4SHFDSTtBdEpnOW5CWjs7QXNKLytuQlE7RUFBZ0M7QXRKbS9uQnhDOztBc0psL25CUTs7RUFFRTtBdEpxL25CVjs7QXNKbi9uQlE7O0VBRUU7QXRKcy9uQlY7O0FzSnAvbkJROztFQUVFO0F0SnUvbkJWOztBc0pyL25CUTs7RUFFRTtBdEp3L25CVjs7QXVCN2dvQlE7RStIMEJJO0F0SnUvbkJaO0F3Qmpob0JRO0U4SDZCSTtBdEp1L25CWjs7QXVCcGhvQlE7RStIa0NJO0F0SnMvbkJaO0F3Qnhob0JRO0U4SHFDSTtBdEpzL25CWjs7QXNKcmhvQlE7RUFBZ0M7QXRKeWhvQnhDOztBc0p4aG9CUTs7RUFFRTtBdEoyaG9CVjs7QXNKemhvQlE7O0VBRUU7QXRKNGhvQlY7O0FzSjFob0JROztFQUVFO0F0SjZob0JWOztBc0ozaG9CUTs7RUFFRTtBdEo4aG9CVjs7QXVCbmpvQlE7RStIMEJJO0F0SjZob0JaO0F3QnZqb0JRO0U4SDZCSTtBdEo2aG9CWjs7QXVCMWpvQlE7RStIa0NJO0F0SjRob0JaO0F3Qjlqb0JRO0U4SHFDSTtBdEo0aG9CWjs7QXNKM2pvQlE7RUFBZ0M7QXRKK2pvQnhDOztBc0o5am9CUTs7RUFFRTtBdEppa29CVjs7QXNKL2pvQlE7O0VBRUU7QXRKa2tvQlY7O0FzSmhrb0JROztFQUVFO0F0Sm1rb0JWOztBc0pqa29CUTs7RUFFRTtBdEpva29CVjs7QXVCemxvQlE7RStIMEJJO0F0Sm1rb0JaO0F3Qjdsb0JRO0U4SDZCSTtBdEpta29CWjs7QXVCaG1vQlE7RStIa0NJO0F0Smtrb0JaO0F3QnBtb0JRO0U4SHFDSTtBdEpra29CWjs7QXNKam1vQlE7RUFBZ0M7QXRKcW1vQnhDOztBc0pwbW9CUTs7RUFFRTtBdEp1bW9CVjs7QXNKcm1vQlE7O0VBRUU7QXRKd21vQlY7O0FzSnRtb0JROztFQUVFO0F0Snltb0JWOztBc0p2bW9CUTs7RUFFRTtBdEowbW9CVjs7QXVCL25vQlE7RStIMEJJO0F0Snltb0JaO0F3Qm5vb0JRO0U4SDZCSTtBdEp5bW9CWjs7QXVCdG9vQlE7RStIa0NJO0F0Sndtb0JaO0F3QjFvb0JRO0U4SHFDSTtBdEp3bW9CWjs7QXNKdm9vQlE7RUFBZ0M7QXRKMm9vQnhDOztBc0oxb29CUTs7RUFFRTtBdEo2b29CVjs7QXNKM29vQlE7O0VBRUU7QXRKOG9vQlY7O0FzSjVvb0JROztFQUVFO0F0Sitvb0JWOztBc0o3b29CUTs7RUFFRTtBdEpncG9CVjs7QXVCcnFvQlE7RStIMEJJO0F0Sitvb0JaO0F3Qnpxb0JRO0U4SDZCSTtBdEorb29CWjs7QXVCNXFvQlE7RStIa0NJO0F0Sjhvb0JaO0F3Qmhyb0JRO0U4SHFDSTtBdEo4b29CWjs7QXNKN3FvQlE7RUFBZ0M7QXRKaXJvQnhDOztBc0pocm9CUTs7RUFFRTtBdEptcm9CVjs7QXNKanJvQlE7O0VBRUU7QXRKb3JvQlY7O0FzSmxyb0JROztFQUVFO0F0SnFyb0JWOztBc0pucm9CUTs7RUFFRTtBdEpzcm9CVjs7QXVCM3NvQlE7RStIMEJJO0F0SnFyb0JaO0F3Qi9zb0JRO0U4SDZCSTtBdEpxcm9CWjs7QXVCbHRvQlE7RStIa0NJO0F0Sm9yb0JaO0F3QnR0b0JRO0U4SHFDSTtBdEpvcm9CWjs7QXNKM3FvQlE7RUFBd0I7QXRKK3FvQmhDOztBc0o5cW9CUTs7RUFFRTtBdEppcm9CVjs7QXNKL3FvQlE7O0VBRUU7QXRKa3JvQlY7O0FzSmhyb0JROztFQUVFO0F0Sm1yb0JWOztBc0pqcm9CUTs7RUFFRTtBdEpvcm9CVjs7QXVCanZvQlE7RStIa0VJO0F0Sm1yb0JaO0F3QnJ2b0JRO0U4SHFFSTtBdEptcm9CWjs7QXVCeHZvQlE7RStIMEVJO0F0Smtyb0JaO0F3QjV2b0JRO0U4SDZFSTtBdEprcm9CWjs7QXNKanRvQlE7RUFBd0I7QXRKcXRvQmhDOztBc0pwdG9CUTs7RUFFRTtBdEp1dG9CVjs7QXNKcnRvQlE7O0VBRUU7QXRKd3RvQlY7O0FzSnR0b0JROztFQUVFO0F0Snl0b0JWOztBc0p2dG9CUTs7RUFFRTtBdEowdG9CVjs7QXVCdnhvQlE7RStIa0VJO0F0Snl0b0JaO0F3QjN4b0JRO0U4SHFFSTtBdEp5dG9CWjs7QXVCOXhvQlE7RStIMEVJO0F0Snd0b0JaO0F3Qmx5b0JRO0U4SDZFSTtBdEp3dG9CWjs7QXNKdnZvQlE7RUFBd0I7QXRKMnZvQmhDOztBc0oxdm9CUTs7RUFFRTtBdEo2dm9CVjs7QXNKM3ZvQlE7O0VBRUU7QXRKOHZvQlY7O0FzSjV2b0JROztFQUVFO0F0Sit2b0JWOztBc0o3dm9CUTs7RUFFRTtBdEpnd29CVjs7QXVCN3pvQlE7RStIa0VJO0F0Sit2b0JaO0F3Qmowb0JRO0U4SHFFSTtBdEordm9CWjs7QXVCcDBvQlE7RStIMEVJO0F0Sjh2b0JaO0F3Qngwb0JRO0U4SDZFSTtBdEo4dm9CWjs7QXNKN3hvQlE7RUFBd0I7QXRKaXlvQmhDOztBc0poeW9CUTs7RUFFRTtBdEpteW9CVjs7QXNKanlvQlE7O0VBRUU7QXRKb3lvQlY7O0FzSmx5b0JROztFQUVFO0F0SnF5b0JWOztBc0pueW9CUTs7RUFFRTtBdEpzeW9CVjs7QXVCbjJvQlE7RStIa0VJO0F0SnF5b0JaO0F3QnYyb0JRO0U4SHFFSTtBdEpxeW9CWjs7QXVCMTJvQlE7RStIMEVJO0F0Sm95b0JaO0F3Qjkyb0JRO0U4SDZFSTtBdEpveW9CWjs7QXNKbjBvQlE7RUFBd0I7QXRKdTBvQmhDOztBc0p0MG9CUTs7RUFFRTtBdEp5MG9CVjs7QXNKdjBvQlE7O0VBRUU7QXRKMDBvQlY7O0FzSngwb0JROztFQUVFO0F0SjIwb0JWOztBc0p6MG9CUTs7RUFFRTtBdEo0MG9CVjs7QXVCejRvQlE7RStIa0VJO0F0SjIwb0JaO0F3Qjc0b0JRO0U4SHFFSTtBdEoyMG9CWjs7QXVCaDVvQlE7RStIMEVJO0F0SjAwb0JaO0F3QnA1b0JRO0U4SDZFSTtBdEowMG9CWjs7QXNKbjBvQkk7RUFBbUI7QXRKdTBvQnZCOztBc0p0MG9CSTs7RUFFRTtBdEp5MG9CTjs7QXNKdjBvQkk7O0VBRUU7QXRKMDBvQk47O0FzSngwb0JJOztFQUVFO0F0SjIwb0JOOztBc0p6MG9CSTs7RUFFRTtBdEo0MG9CTjs7QXVCLzZvQlE7RStIeUdBO0F0SjAwb0JSO0F3Qm43b0JRO0U4SDRHQTtBdEowMG9CUjs7QXVCdDdvQlE7RStIaUhBO0F0Snkwb0JSO0F3QjE3b0JRO0U4SG9IQTtBdEp5MG9CUjs7QStEeDNvQkk7RXVGL0RJO0lBQWdDO0V0SjQ3b0J0Qzs7RXNKMzdvQk07O0lBRUU7RXRKODdvQlI7O0VzSjU3b0JNOztJQUVFO0V0Sis3b0JSOztFc0o3N29CTTs7SUFFRTtFdEpnOG9CUjs7RXNKOTdvQk07O0lBRUU7RXRKaThvQlI7O0V1QnQ5b0JNO0krSDBCSTtFdEpnOG9CVjtFd0IxOW9CTTtJOEg2Qkk7RXRKZzhvQlY7O0V1Qjc5b0JNO0krSGtDSTtFdEorN29CVjtFd0JqK29CTTtJOEhxQ0k7RXRKKzdvQlY7O0VzSjk5b0JNO0lBQWdDO0V0Smsrb0J0Qzs7RXNKaitvQk07O0lBRUU7RXRKbytvQlI7O0VzSmwrb0JNOztJQUVFO0V0SnErb0JSOztFc0puK29CTTs7SUFFRTtFdEpzK29CUjs7RXNKcCtvQk07O0lBRUU7RXRKdStvQlI7O0V1QjUvb0JNO0krSDBCSTtFdEpzK29CVjtFd0JoZ3BCTTtJOEg2Qkk7RXRKcytvQlY7O0V1Qm5ncEJNO0krSGtDSTtFdEpxK29CVjtFd0J2Z3BCTTtJOEhxQ0k7RXRKcStvQlY7O0VzSnBncEJNO0lBQWdDO0V0SndncEJ0Qzs7RXNKdmdwQk07O0lBRUU7RXRKMGdwQlI7O0VzSnhncEJNOztJQUVFO0V0SjJncEJSOztFc0p6Z3BCTTs7SUFFRTtFdEo0Z3BCUjs7RXNKMWdwQk07O0lBRUU7RXRKNmdwQlI7O0V1QmxpcEJNO0krSDBCSTtFdEo0Z3BCVjtFd0J0aXBCTTtJOEg2Qkk7RXRKNGdwQlY7O0V1QnppcEJNO0krSGtDSTtFdEoyZ3BCVjtFd0I3aXBCTTtJOEhxQ0k7RXRKMmdwQlY7O0VzSjFpcEJNO0lBQWdDO0V0SjhpcEJ0Qzs7RXNKN2lwQk07O0lBRUU7RXRKZ2pwQlI7O0VzSjlpcEJNOztJQUVFO0V0SmlqcEJSOztFc0ovaXBCTTs7SUFFRTtFdEpranBCUjs7RXNKaGpwQk07O0lBRUU7RXRKbWpwQlI7O0V1QnhrcEJNO0krSDBCSTtFdEpranBCVjtFd0I1a3BCTTtJOEg2Qkk7RXRKa2pwQlY7O0V1Qi9rcEJNO0krSGtDSTtFdEppanBCVjtFd0JubHBCTTtJOEhxQ0k7RXRKaWpwQlY7O0VzSmhscEJNO0lBQWdDO0V0Sm9scEJ0Qzs7RXNKbmxwQk07O0lBRUU7RXRKc2xwQlI7O0VzSnBscEJNOztJQUVFO0V0SnVscEJSOztFc0pybHBCTTs7SUFFRTtFdEp3bHBCUjs7RXNKdGxwQk07O0lBRUU7RXRKeWxwQlI7O0V1QjltcEJNO0krSDBCSTtFdEp3bHBCVjtFd0JsbnBCTTtJOEg2Qkk7RXRKd2xwQlY7O0V1QnJucEJNO0krSGtDSTtFdEp1bHBCVjtFd0J6bnBCTTtJOEhxQ0k7RXRKdWxwQlY7O0VzSnRucEJNO0lBQWdDO0V0SjBucEJ0Qzs7RXNKem5wQk07O0lBRUU7RXRKNG5wQlI7O0VzSjFucEJNOztJQUVFO0V0SjZucEJSOztFc0ozbnBCTTs7SUFFRTtFdEo4bnBCUjs7RXNKNW5wQk07O0lBRUU7RXRKK25wQlI7O0V1QnBwcEJNO0krSDBCSTtFdEo4bnBCVjtFd0J4cHBCTTtJOEg2Qkk7RXRKOG5wQlY7O0V1QjNwcEJNO0krSGtDSTtFdEo2bnBCVjtFd0IvcHBCTTtJOEhxQ0k7RXRKNm5wQlY7O0VzSjVwcEJNO0lBQWdDO0V0SmdxcEJ0Qzs7RXNKL3BwQk07O0lBRUU7RXRKa3FwQlI7O0VzSmhxcEJNOztJQUVFO0V0Sm1xcEJSOztFc0pqcXBCTTs7SUFFRTtFdEpvcXBCUjs7RXNKbHFwQk07O0lBRUU7RXRKcXFwQlI7O0V1QjFycEJNO0krSDBCSTtFdEpvcXBCVjtFd0I5cnBCTTtJOEg2Qkk7RXRKb3FwQlY7O0V1QmpzcEJNO0krSGtDSTtFdEptcXBCVjtFd0Jyc3BCTTtJOEhxQ0k7RXRKbXFwQlY7O0VzSmxzcEJNO0lBQWdDO0V0SnNzcEJ0Qzs7RXNKcnNwQk07O0lBRUU7RXRKd3NwQlI7O0VzSnRzcEJNOztJQUVFO0V0SnlzcEJSOztFc0p2c3BCTTs7SUFFRTtFdEowc3BCUjs7RXNKeHNwQk07O0lBRUU7RXRKMnNwQlI7O0V1Qmh1cEJNO0krSDBCSTtFdEowc3BCVjtFd0JwdXBCTTtJOEg2Qkk7RXRKMHNwQlY7O0V1QnZ1cEJNO0krSGtDSTtFdEp5c3BCVjtFd0IzdXBCTTtJOEhxQ0k7RXRKeXNwQlY7O0VzSnh1cEJNO0lBQWdDO0V0SjR1cEJ0Qzs7RXNKM3VwQk07O0lBRUU7RXRKOHVwQlI7O0VzSjV1cEJNOztJQUVFO0V0Sit1cEJSOztFc0o3dXBCTTs7SUFFRTtFdEpndnBCUjs7RXNKOXVwQk07O0lBRUU7RXRKaXZwQlI7O0V1QnR3cEJNO0krSDBCSTtFdEpndnBCVjtFd0Ixd3BCTTtJOEg2Qkk7RXRKZ3ZwQlY7O0V1Qjd3cEJNO0krSGtDSTtFdEordXBCVjtFd0JqeHBCTTtJOEhxQ0k7RXRKK3VwQlY7O0VzSjl3cEJNO0lBQWdDO0V0Smt4cEJ0Qzs7RXNKanhwQk07O0lBRUU7RXRKb3hwQlI7O0VzSmx4cEJNOztJQUVFO0V0SnF4cEJSOztFc0pueHBCTTs7SUFFRTtFdEpzeHBCUjs7RXNKcHhwQk07O0lBRUU7RXRKdXhwQlI7O0V1QjV5cEJNO0krSDBCSTtFdEpzeHBCVjtFd0JoenBCTTtJOEg2Qkk7RXRKc3hwQlY7O0V1Qm56cEJNO0krSGtDSTtFdEpxeHBCVjtFd0J2enBCTTtJOEhxQ0k7RXRKcXhwQlY7O0VzSnB6cEJNO0lBQWdDO0V0Snd6cEJ0Qzs7RXNKdnpwQk07O0lBRUU7RXRKMHpwQlI7O0VzSnh6cEJNOztJQUVFO0V0SjJ6cEJSOztFc0p6enBCTTs7SUFFRTtFdEo0enBCUjs7RXNKMXpwQk07O0lBRUU7RXRKNnpwQlI7O0V1QmwxcEJNO0krSDBCSTtFdEo0enBCVjtFd0J0MXBCTTtJOEg2Qkk7RXRKNHpwQlY7O0V1QnoxcEJNO0krSGtDSTtFdEoyenBCVjtFd0I3MXBCTTtJOEhxQ0k7RXRKMnpwQlY7O0VzSjExcEJNO0lBQWdDO0V0SjgxcEJ0Qzs7RXNKNzFwQk07O0lBRUU7RXRKZzJwQlI7O0VzSjkxcEJNOztJQUVFO0V0SmkycEJSOztFc0ovMXBCTTs7SUFFRTtFdEprMnBCUjs7RXNKaDJwQk07O0lBRUU7RXRKbTJwQlI7O0V1QngzcEJNO0krSDBCSTtFdEprMnBCVjtFd0I1M3BCTTtJOEg2Qkk7RXRKazJwQlY7O0V1Qi8zcEJNO0krSGtDSTtFdEppMnBCVjtFd0JuNHBCTTtJOEhxQ0k7RXRKaTJwQlY7O0VzSngxcEJNO0lBQXdCO0V0SjQxcEI5Qjs7RXNKMzFwQk07O0lBRUU7RXRKODFwQlI7O0VzSjUxcEJNOztJQUVFO0V0SisxcEJSOztFc0o3MXBCTTs7SUFFRTtFdEpnMnBCUjs7RXNKOTFwQk07O0lBRUU7RXRKaTJwQlI7O0V1Qjk1cEJNO0krSGtFSTtFdEpnMnBCVjtFd0JsNnBCTTtJOEhxRUk7RXRKZzJwQlY7O0V1QnI2cEJNO0krSDBFSTtFdEorMXBCVjtFd0J6NnBCTTtJOEg2RUk7RXRKKzFwQlY7O0VzSjkzcEJNO0lBQXdCO0V0Sms0cEI5Qjs7RXNKajRwQk07O0lBRUU7RXRKbzRwQlI7O0VzSmw0cEJNOztJQUVFO0V0SnE0cEJSOztFc0puNHBCTTs7SUFFRTtFdEpzNHBCUjs7RXNKcDRwQk07O0lBRUU7RXRKdTRwQlI7O0V1QnA4cEJNO0krSGtFSTtFdEpzNHBCVjtFd0J4OHBCTTtJOEhxRUk7RXRKczRwQlY7O0V1QjM4cEJNO0krSDBFSTtFdEpxNHBCVjtFd0IvOHBCTTtJOEg2RUk7RXRKcTRwQlY7O0VzSnA2cEJNO0lBQXdCO0V0Snc2cEI5Qjs7RXNKdjZwQk07O0lBRUU7RXRKMDZwQlI7O0VzSng2cEJNOztJQUVFO0V0SjI2cEJSOztFc0p6NnBCTTs7SUFFRTtFdEo0NnBCUjs7RXNKMTZwQk07O0lBRUU7RXRKNjZwQlI7O0V1QjErcEJNO0krSGtFSTtFdEo0NnBCVjtFd0I5K3BCTTtJOEhxRUk7RXRKNDZwQlY7O0V1QmovcEJNO0krSDBFSTtFdEoyNnBCVjtFd0JyL3BCTTtJOEg2RUk7RXRKMjZwQlY7O0VzSjE4cEJNO0lBQXdCO0V0Sjg4cEI5Qjs7RXNKNzhwQk07O0lBRUU7RXRKZzlwQlI7O0VzSjk4cEJNOztJQUVFO0V0Smk5cEJSOztFc0ovOHBCTTs7SUFFRTtFdEprOXBCUjs7RXNKaDlwQk07O0lBRUU7RXRKbTlwQlI7O0V1QmhocUJNO0krSGtFSTtFdEprOXBCVjtFd0JwaHFCTTtJOEhxRUk7RXRKazlwQlY7O0V1QnZocUJNO0krSDBFSTtFdEppOXBCVjtFd0IzaHFCTTtJOEg2RUk7RXRKaTlwQlY7O0VzSmgvcEJNO0lBQXdCO0V0Sm8vcEI5Qjs7RXNKbi9wQk07O0lBRUU7RXRKcy9wQlI7O0VzSnAvcEJNOztJQUVFO0V0SnUvcEJSOztFc0pyL3BCTTs7SUFFRTtFdEp3L3BCUjs7RXNKdC9wQk07O0lBRUU7RXRKeS9wQlI7O0V1QnRqcUJNO0krSGtFSTtFdEp3L3BCVjtFd0IxanFCTTtJOEhxRUk7RXRKdy9wQlY7O0V1QjdqcUJNO0krSDBFSTtFdEp1L3BCVjtFd0Jqa3FCTTtJOEg2RUk7RXRKdS9wQlY7O0VzSmgvcEJFO0lBQW1CO0V0Sm8vcEJyQjs7RXNKbi9wQkU7O0lBRUU7RXRKcy9wQko7O0VzSnAvcEJFOztJQUVFO0V0SnUvcEJKOztFc0pyL3BCRTs7SUFFRTtFdEp3L3BCSjs7RXNKdC9wQkU7O0lBRUU7RXRKeS9wQko7O0V1QjVscUJNO0krSHlHQTtFdEp1L3BCTjtFd0JobXFCTTtJOEg0R0E7RXRKdS9wQk47O0V1Qm5tcUJNO0krSGlIQTtFdEpzL3BCTjtFd0J2bXFCTTtJOEhvSEE7RXRKcy9wQk47QUFDRjtBK0R0aXFCSTtFdUYvREk7SUFBZ0M7RXRKeW1xQnRDOztFc0p4bXFCTTs7SUFFRTtFdEoybXFCUjs7RXNKem1xQk07O0lBRUU7RXRKNG1xQlI7O0VzSjFtcUJNOztJQUVFO0V0SjZtcUJSOztFc0ozbXFCTTs7SUFFRTtFdEo4bXFCUjs7RXVCbm9xQk07SStIMEJJO0V0SjZtcUJWO0V3QnZvcUJNO0k4SDZCSTtFdEo2bXFCVjs7RXVCMW9xQk07SStIa0NJO0V0SjRtcUJWO0V3QjlvcUJNO0k4SHFDSTtFdEo0bXFCVjs7RXNKM29xQk07SUFBZ0M7RXRKK29xQnRDOztFc0o5b3FCTTs7SUFFRTtFdEppcHFCUjs7RXNKL29xQk07O0lBRUU7RXRKa3BxQlI7O0VzSmhwcUJNOztJQUVFO0V0Sm1wcUJSOztFc0pqcHFCTTs7SUFFRTtFdEpvcHFCUjs7RXVCenFxQk07SStIMEJJO0V0Sm1wcUJWO0V3QjdxcUJNO0k4SDZCSTtFdEptcHFCVjs7RXVCaHJxQk07SStIa0NJO0V0SmtwcUJWO0V3QnBycUJNO0k4SHFDSTtFdEprcHFCVjs7RXNKanJxQk07SUFBZ0M7RXRKcXJxQnRDOztFc0pwcnFCTTs7SUFFRTtFdEp1cnFCUjs7RXNKcnJxQk07O0lBRUU7RXRKd3JxQlI7O0VzSnRycUJNOztJQUVFO0V0SnlycUJSOztFc0p2cnFCTTs7SUFFRTtFdEowcnFCUjs7RXVCL3NxQk07SStIMEJJO0V0SnlycUJWO0V3Qm50cUJNO0k4SDZCSTtFdEp5cnFCVjs7RXVCdHRxQk07SStIa0NJO0V0SndycUJWO0V3QjF0cUJNO0k4SHFDSTtFdEp3cnFCVjs7RXNKdnRxQk07SUFBZ0M7RXRKMnRxQnRDOztFc0oxdHFCTTs7SUFFRTtFdEo2dHFCUjs7RXNKM3RxQk07O0lBRUU7RXRKOHRxQlI7O0VzSjV0cUJNOztJQUVFO0V0Sit0cUJSOztFc0o3dHFCTTs7SUFFRTtFdEpndXFCUjs7RXVCcnZxQk07SStIMEJJO0V0Sit0cUJWO0V3Qnp2cUJNO0k4SDZCSTtFdEordHFCVjs7RXVCNXZxQk07SStIa0NJO0V0Sjh0cUJWO0V3Qmh3cUJNO0k4SHFDSTtFdEo4dHFCVjs7RXNKN3ZxQk07SUFBZ0M7RXRKaXdxQnRDOztFc0pod3FCTTs7SUFFRTtFdEptd3FCUjs7RXNKandxQk07O0lBRUU7RXRKb3dxQlI7O0VzSmx3cUJNOztJQUVFO0V0SnF3cUJSOztFc0pud3FCTTs7SUFFRTtFdEpzd3FCUjs7RXVCM3hxQk07SStIMEJJO0V0SnF3cUJWO0V3Qi94cUJNO0k4SDZCSTtFdEpxd3FCVjs7RXVCbHlxQk07SStIa0NJO0V0Sm93cUJWO0V3QnR5cUJNO0k4SHFDSTtFdEpvd3FCVjs7RXNKbnlxQk07SUFBZ0M7RXRKdXlxQnRDOztFc0p0eXFCTTs7SUFFRTtFdEp5eXFCUjs7RXNKdnlxQk07O0lBRUU7RXRKMHlxQlI7O0VzSnh5cUJNOztJQUVFO0V0SjJ5cUJSOztFc0p6eXFCTTs7SUFFRTtFdEo0eXFCUjs7RXVCajBxQk07SStIMEJJO0V0SjJ5cUJWO0V3QnIwcUJNO0k4SDZCSTtFdEoyeXFCVjs7RXVCeDBxQk07SStIa0NJO0V0SjB5cUJWO0V3QjUwcUJNO0k4SHFDSTtFdEoweXFCVjs7RXNKejBxQk07SUFBZ0M7RXRKNjBxQnRDOztFc0o1MHFCTTs7SUFFRTtFdEorMHFCUjs7RXNKNzBxQk07O0lBRUU7RXRKZzFxQlI7O0VzSjkwcUJNOztJQUVFO0V0SmkxcUJSOztFc0ovMHFCTTs7SUFFRTtFdEprMXFCUjs7RXVCdjJxQk07SStIMEJJO0V0SmkxcUJWO0V3QjMycUJNO0k4SDZCSTtFdEppMXFCVjs7RXVCOTJxQk07SStIa0NJO0V0SmcxcUJWO0V3QmwzcUJNO0k4SHFDSTtFdEpnMXFCVjs7RXNKLzJxQk07SUFBZ0M7RXRKbTNxQnRDOztFc0psM3FCTTs7SUFFRTtFdEpxM3FCUjs7RXNKbjNxQk07O0lBRUU7RXRKczNxQlI7O0VzSnAzcUJNOztJQUVFO0V0SnUzcUJSOztFc0pyM3FCTTs7SUFFRTtFdEp3M3FCUjs7RXVCNzRxQk07SStIMEJJO0V0SnUzcUJWO0V3Qmo1cUJNO0k4SDZCSTtFdEp1M3FCVjs7RXVCcDVxQk07SStIa0NJO0V0SnMzcUJWO0V3Qng1cUJNO0k4SHFDSTtFdEpzM3FCVjs7RXNKcjVxQk07SUFBZ0M7RXRKeTVxQnRDOztFc0p4NXFCTTs7SUFFRTtFdEoyNXFCUjs7RXNKejVxQk07O0lBRUU7RXRKNDVxQlI7O0VzSjE1cUJNOztJQUVFO0V0SjY1cUJSOztFc0ozNXFCTTs7SUFFRTtFdEo4NXFCUjs7RXVCbjdxQk07SStIMEJJO0V0SjY1cUJWO0V3QnY3cUJNO0k4SDZCSTtFdEo2NXFCVjs7RXVCMTdxQk07SStIa0NJO0V0SjQ1cUJWO0V3Qjk3cUJNO0k4SHFDSTtFdEo0NXFCVjs7RXNKMzdxQk07SUFBZ0M7RXRKKzdxQnRDOztFc0o5N3FCTTs7SUFFRTtFdEppOHFCUjs7RXNKLzdxQk07O0lBRUU7RXRKazhxQlI7O0VzSmg4cUJNOztJQUVFO0V0Sm04cUJSOztFc0pqOHFCTTs7SUFFRTtFdEpvOHFCUjs7RXVCejlxQk07SStIMEJJO0V0Sm04cUJWO0V3Qjc5cUJNO0k4SDZCSTtFdEptOHFCVjs7RXVCaCtxQk07SStIa0NJO0V0Sms4cUJWO0V3QnArcUJNO0k4SHFDSTtFdEprOHFCVjs7RXNKaitxQk07SUFBZ0M7RXRKcStxQnRDOztFc0pwK3FCTTs7SUFFRTtFdEp1K3FCUjs7RXNKcitxQk07O0lBRUU7RXRKdytxQlI7O0VzSnQrcUJNOztJQUVFO0V0SnkrcUJSOztFc0p2K3FCTTs7SUFFRTtFdEowK3FCUjs7RXVCLy9xQk07SStIMEJJO0V0SnkrcUJWO0V3Qm5nckJNO0k4SDZCSTtFdEp5K3FCVjs7RXVCdGdyQk07SStIa0NJO0V0SncrcUJWO0V3QjFnckJNO0k4SHFDSTtFdEp3K3FCVjs7RXNKdmdyQk07SUFBZ0M7RXRKMmdyQnRDOztFc0oxZ3JCTTs7SUFFRTtFdEo2Z3JCUjs7RXNKM2dyQk07O0lBRUU7RXRKOGdyQlI7O0VzSjVnckJNOztJQUVFO0V0SitnckJSOztFc0o3Z3JCTTs7SUFFRTtFdEpnaHJCUjs7RXVCcmlyQk07SStIMEJJO0V0SitnckJWO0V3QnppckJNO0k4SDZCSTtFdEorZ3JCVjs7RXVCNWlyQk07SStIa0NJO0V0SjhnckJWO0V3QmhqckJNO0k4SHFDSTtFdEo4Z3JCVjs7RXNKcmdyQk07SUFBd0I7RXRKeWdyQjlCOztFc0p4Z3JCTTs7SUFFRTtFdEoyZ3JCUjs7RXNKemdyQk07O0lBRUU7RXRKNGdyQlI7O0VzSjFnckJNOztJQUVFO0V0SjZnckJSOztFc0ozZ3JCTTs7SUFFRTtFdEo4Z3JCUjs7RXVCM2tyQk07SStIa0VJO0V0SjZnckJWO0V3Qi9rckJNO0k4SHFFSTtFdEo2Z3JCVjs7RXVCbGxyQk07SStIMEVJO0V0SjRnckJWO0V3QnRsckJNO0k4SDZFSTtFdEo0Z3JCVjs7RXNKM2lyQk07SUFBd0I7RXRKK2lyQjlCOztFc0o5aXJCTTs7SUFFRTtFdEppanJCUjs7RXNKL2lyQk07O0lBRUU7RXRKa2pyQlI7O0VzSmhqckJNOztJQUVFO0V0Sm1qckJSOztFc0pqanJCTTs7SUFFRTtFdEpvanJCUjs7RXVCam5yQk07SStIa0VJO0V0Sm1qckJWO0V3QnJuckJNO0k4SHFFSTtFdEptanJCVjs7RXVCeG5yQk07SStIMEVJO0V0SmtqckJWO0V3QjVuckJNO0k4SDZFSTtFdEpranJCVjs7RXNKamxyQk07SUFBd0I7RXRKcWxyQjlCOztFc0pwbHJCTTs7SUFFRTtFdEp1bHJCUjs7RXNKcmxyQk07O0lBRUU7RXRKd2xyQlI7O0VzSnRsckJNOztJQUVFO0V0SnlsckJSOztFc0p2bHJCTTs7SUFFRTtFdEowbHJCUjs7RXVCdnByQk07SStIa0VJO0V0SnlsckJWO0V3QjNwckJNO0k4SHFFSTtFdEp5bHJCVjs7RXVCOXByQk07SStIMEVJO0V0SndsckJWO0V3QmxxckJNO0k4SDZFSTtFdEp3bHJCVjs7RXNKdm5yQk07SUFBd0I7RXRKMm5yQjlCOztFc0oxbnJCTTs7SUFFRTtFdEo2bnJCUjs7RXNKM25yQk07O0lBRUU7RXRKOG5yQlI7O0VzSjVuckJNOztJQUVFO0V0SituckJSOztFc0o3bnJCTTs7SUFFRTtFdEpnb3JCUjs7RXVCN3JyQk07SStIa0VJO0V0SituckJWO0V3QmpzckJNO0k4SHFFSTtFdEorbnJCVjs7RXVCcHNyQk07SStIMEVJO0V0SjhuckJWO0V3QnhzckJNO0k4SDZFSTtFdEo4bnJCVjs7RXNKN3ByQk07SUFBd0I7RXRKaXFyQjlCOztFc0pocXJCTTs7SUFFRTtFdEptcXJCUjs7RXNKanFyQk07O0lBRUU7RXRKb3FyQlI7O0VzSmxxckJNOztJQUVFO0V0SnFxckJSOztFc0pucXJCTTs7SUFFRTtFdEpzcXJCUjs7RXVCbnVyQk07SStIa0VJO0V0SnFxckJWO0V3QnZ1ckJNO0k4SHFFSTtFdEpxcXJCVjs7RXVCMXVyQk07SStIMEVJO0V0Sm9xckJWO0V3Qjl1ckJNO0k4SDZFSTtFdEpvcXJCVjs7RXNKN3ByQkU7SUFBbUI7RXRKaXFyQnJCOztFc0pocXJCRTs7SUFFRTtFdEptcXJCSjs7RXNKanFyQkU7O0lBRUU7RXRKb3FyQko7O0VzSmxxckJFOztJQUVFO0V0SnFxckJKOztFc0pucXJCRTs7SUFFRTtFdEpzcXJCSjs7RXVCendyQk07SStIeUdBO0V0Sm9xckJOO0V3Qjd3ckJNO0k4SDRHQTtFdEpvcXJCTjs7RXVCaHhyQk07SStIaUhBO0V0Sm1xckJOO0V3QnB4ckJNO0k4SG9IQTtFdEptcXJCTjtBQUNGO0ErRG50ckJJO0V1Ri9ESTtJQUFnQztFdEpzeHJCdEM7O0VzSnJ4ckJNOztJQUVFO0V0Snd4ckJSOztFc0p0eHJCTTs7SUFFRTtFdEp5eHJCUjs7RXNKdnhyQk07O0lBRUU7RXRKMHhyQlI7O0VzSnh4ckJNOztJQUVFO0V0SjJ4ckJSOztFdUJoenJCTTtJK0gwQkk7RXRKMHhyQlY7RXdCcHpyQk07SThINkJJO0V0SjB4ckJWOztFdUJ2enJCTTtJK0hrQ0k7RXRKeXhyQlY7RXdCM3pyQk07SThIcUNJO0V0Snl4ckJWOztFc0p4enJCTTtJQUFnQztFdEo0enJCdEM7O0VzSjN6ckJNOztJQUVFO0V0Sjh6ckJSOztFc0o1enJCTTs7SUFFRTtFdEorenJCUjs7RXNKN3pyQk07O0lBRUU7RXRKZzByQlI7O0VzSjl6ckJNOztJQUVFO0V0SmkwckJSOztFdUJ0MXJCTTtJK0gwQkk7RXRKZzByQlY7RXdCMTFyQk07SThINkJJO0V0SmcwckJWOztFdUI3MXJCTTtJK0hrQ0k7RXRKK3pyQlY7RXdCajJyQk07SThIcUNJO0V0Sit6ckJWOztFc0o5MXJCTTtJQUFnQztFdEprMnJCdEM7O0VzSmoyckJNOztJQUVFO0V0Sm8yckJSOztFc0psMnJCTTs7SUFFRTtFdEpxMnJCUjs7RXNKbjJyQk07O0lBRUU7RXRKczJyQlI7O0VzSnAyckJNOztJQUVFO0V0SnUyckJSOztFdUI1M3JCTTtJK0gwQkk7RXRKczJyQlY7RXdCaDRyQk07SThINkJJO0V0SnMyckJWOztFdUJuNHJCTTtJK0hrQ0k7RXRKcTJyQlY7RXdCdjRyQk07SThIcUNJO0V0SnEyckJWOztFc0pwNHJCTTtJQUFnQztFdEp3NHJCdEM7O0VzSnY0ckJNOztJQUVFO0V0SjA0ckJSOztFc0p4NHJCTTs7SUFFRTtFdEoyNHJCUjs7RXNKejRyQk07O0lBRUU7RXRKNDRyQlI7O0VzSjE0ckJNOztJQUVFO0V0SjY0ckJSOztFdUJsNnJCTTtJK0gwQkk7RXRKNDRyQlY7RXdCdDZyQk07SThINkJJO0V0SjQ0ckJWOztFdUJ6NnJCTTtJK0hrQ0k7RXRKMjRyQlY7RXdCNzZyQk07SThIcUNJO0V0SjI0ckJWOztFc0oxNnJCTTtJQUFnQztFdEo4NnJCdEM7O0VzSjc2ckJNOztJQUVFO0V0Smc3ckJSOztFc0o5NnJCTTs7SUFFRTtFdEppN3JCUjs7RXNKLzZyQk07O0lBRUU7RXRKazdyQlI7O0VzSmg3ckJNOztJQUVFO0V0Sm03ckJSOztFdUJ4OHJCTTtJK0gwQkk7RXRKazdyQlY7RXdCNThyQk07SThINkJJO0V0Sms3ckJWOztFdUIvOHJCTTtJK0hrQ0k7RXRKaTdyQlY7RXdCbjlyQk07SThIcUNJO0V0Smk3ckJWOztFc0poOXJCTTtJQUFnQztFdEpvOXJCdEM7O0VzSm45ckJNOztJQUVFO0V0SnM5ckJSOztFc0pwOXJCTTs7SUFFRTtFdEp1OXJCUjs7RXNKcjlyQk07O0lBRUU7RXRKdzlyQlI7O0VzSnQ5ckJNOztJQUVFO0V0Snk5ckJSOztFdUI5K3JCTTtJK0gwQkk7RXRKdzlyQlY7RXdCbC9yQk07SThINkJJO0V0Snc5ckJWOztFdUJyL3JCTTtJK0hrQ0k7RXRKdTlyQlY7RXdCei9yQk07SThIcUNJO0V0SnU5ckJWOztFc0p0L3JCTTtJQUFnQztFdEowL3JCdEM7O0VzSnovckJNOztJQUVFO0V0SjQvckJSOztFc0oxL3JCTTs7SUFFRTtFdEo2L3JCUjs7RXNKMy9yQk07O0lBRUU7RXRKOC9yQlI7O0VzSjUvckJNOztJQUVFO0V0SisvckJSOztFdUJwaHNCTTtJK0gwQkk7RXRKOC9yQlY7RXdCeGhzQk07SThINkJJO0V0SjgvckJWOztFdUIzaHNCTTtJK0hrQ0k7RXRKNi9yQlY7RXdCL2hzQk07SThIcUNJO0V0SjYvckJWOztFc0o1aHNCTTtJQUFnQztFdEpnaXNCdEM7O0VzSi9oc0JNOztJQUVFO0V0Smtpc0JSOztFc0poaXNCTTs7SUFFRTtFdEptaXNCUjs7RXNKamlzQk07O0lBRUU7RXRKb2lzQlI7O0VzSmxpc0JNOztJQUVFO0V0SnFpc0JSOztFdUIxanNCTTtJK0gwQkk7RXRKb2lzQlY7RXdCOWpzQk07SThINkJJO0V0Sm9pc0JWOztFdUJqa3NCTTtJK0hrQ0k7RXRKbWlzQlY7RXdCcmtzQk07SThIcUNJO0V0Sm1pc0JWOztFc0psa3NCTTtJQUFnQztFdEpza3NCdEM7O0VzSnJrc0JNOztJQUVFO0V0Sndrc0JSOztFc0p0a3NCTTs7SUFFRTtFdEp5a3NCUjs7RXNKdmtzQk07O0lBRUU7RXRKMGtzQlI7O0VzSnhrc0JNOztJQUVFO0V0SjJrc0JSOztFdUJobXNCTTtJK0gwQkk7RXRKMGtzQlY7RXdCcG1zQk07SThINkJJO0V0SjBrc0JWOztFdUJ2bXNCTTtJK0hrQ0k7RXRKeWtzQlY7RXdCM21zQk07SThIcUNJO0V0Snlrc0JWOztFc0p4bXNCTTtJQUFnQztFdEo0bXNCdEM7O0VzSjNtc0JNOztJQUVFO0V0Sjhtc0JSOztFc0o1bXNCTTs7SUFFRTtFdEorbXNCUjs7RXNKN21zQk07O0lBRUU7RXRKZ25zQlI7O0VzSjltc0JNOztJQUVFO0V0Smluc0JSOztFdUJ0b3NCTTtJK0gwQkk7RXRKZ25zQlY7RXdCMW9zQk07SThINkJJO0V0Smduc0JWOztFdUI3b3NCTTtJK0hrQ0k7RXRKK21zQlY7RXdCanBzQk07SThIcUNJO0V0Sittc0JWOztFc0o5b3NCTTtJQUFnQztFdEprcHNCdEM7O0VzSmpwc0JNOztJQUVFO0V0Sm9wc0JSOztFc0pscHNCTTs7SUFFRTtFdEpxcHNCUjs7RXNKbnBzQk07O0lBRUU7RXRKc3BzQlI7O0VzSnBwc0JNOztJQUVFO0V0SnVwc0JSOztFdUI1cXNCTTtJK0gwQkk7RXRKc3BzQlY7RXdCaHJzQk07SThINkJJO0V0SnNwc0JWOztFdUJucnNCTTtJK0hrQ0k7RXRKcXBzQlY7RXdCdnJzQk07SThIcUNJO0V0SnFwc0JWOztFc0pwcnNCTTtJQUFnQztFdEp3cnNCdEM7O0VzSnZyc0JNOztJQUVFO0V0SjByc0JSOztFc0p4cnNCTTs7SUFFRTtFdEoycnNCUjs7RXNKenJzQk07O0lBRUU7RXRKNHJzQlI7O0VzSjFyc0JNOztJQUVFO0V0SjZyc0JSOztFdUJsdHNCTTtJK0gwQkk7RXRKNHJzQlY7RXdCdHRzQk07SThINkJJO0V0SjRyc0JWOztFdUJ6dHNCTTtJK0hrQ0k7RXRKMnJzQlY7RXdCN3RzQk07SThIcUNJO0V0SjJyc0JWOztFc0pscnNCTTtJQUF3QjtFdEpzcnNCOUI7O0VzSnJyc0JNOztJQUVFO0V0Sndyc0JSOztFc0p0cnNCTTs7SUFFRTtFdEp5cnNCUjs7RXNKdnJzQk07O0lBRUU7RXRKMHJzQlI7O0VzSnhyc0JNOztJQUVFO0V0SjJyc0JSOztFdUJ4dnNCTTtJK0hrRUk7RXRKMHJzQlY7RXdCNXZzQk07SThIcUVJO0V0SjByc0JWOztFdUIvdnNCTTtJK0gwRUk7RXRKeXJzQlY7RXdCbndzQk07SThINkVJO0V0Snlyc0JWOztFc0p4dHNCTTtJQUF3QjtFdEo0dHNCOUI7O0VzSjN0c0JNOztJQUVFO0V0Sjh0c0JSOztFc0o1dHNCTTs7SUFFRTtFdEordHNCUjs7RXNKN3RzQk07O0lBRUU7RXRKZ3VzQlI7O0VzSjl0c0JNOztJQUVFO0V0Sml1c0JSOztFdUI5eHNCTTtJK0hrRUk7RXRKZ3VzQlY7RXdCbHlzQk07SThIcUVJO0V0Smd1c0JWOztFdUJyeXNCTTtJK0gwRUk7RXRKK3RzQlY7RXdCenlzQk07SThINkVJO0V0Sit0c0JWOztFc0o5dnNCTTtJQUF3QjtFdEprd3NCOUI7O0VzSmp3c0JNOztJQUVFO0V0Sm93c0JSOztFc0psd3NCTTs7SUFFRTtFdEpxd3NCUjs7RXNKbndzQk07O0lBRUU7RXRKc3dzQlI7O0VzSnB3c0JNOztJQUVFO0V0SnV3c0JSOztFdUJwMHNCTTtJK0hrRUk7RXRKc3dzQlY7RXdCeDBzQk07SThIcUVJO0V0SnN3c0JWOztFdUIzMHNCTTtJK0gwRUk7RXRKcXdzQlY7RXdCLzBzQk07SThINkVJO0V0SnF3c0JWOztFc0pweXNCTTtJQUF3QjtFdEp3eXNCOUI7O0VzSnZ5c0JNOztJQUVFO0V0SjB5c0JSOztFc0p4eXNCTTs7SUFFRTtFdEoyeXNCUjs7RXNKenlzQk07O0lBRUU7RXRKNHlzQlI7O0VzSjF5c0JNOztJQUVFO0V0SjZ5c0JSOztFdUIxMnNCTTtJK0hrRUk7RXRKNHlzQlY7RXdCOTJzQk07SThIcUVJO0V0SjR5c0JWOztFdUJqM3NCTTtJK0gwRUk7RXRKMnlzQlY7RXdCcjNzQk07SThINkVJO0V0SjJ5c0JWOztFc0oxMHNCTTtJQUF3QjtFdEo4MHNCOUI7O0VzSjcwc0JNOztJQUVFO0V0Smcxc0JSOztFc0o5MHNCTTs7SUFFRTtFdEppMXNCUjs7RXNKLzBzQk07O0lBRUU7RXRKazFzQlI7O0VzSmgxc0JNOztJQUVFO0V0Sm0xc0JSOztFdUJoNXNCTTtJK0hrRUk7RXRKazFzQlY7RXdCcDVzQk07SThIcUVJO0V0Smsxc0JWOztFdUJ2NXNCTTtJK0gwRUk7RXRKaTFzQlY7RXdCMzVzQk07SThINkVJO0V0Smkxc0JWOztFc0oxMHNCRTtJQUFtQjtFdEo4MHNCckI7O0VzSjcwc0JFOztJQUVFO0V0Smcxc0JKOztFc0o5MHNCRTs7SUFFRTtFdEppMXNCSjs7RXNKLzBzQkU7O0lBRUU7RXRKazFzQko7O0VzSmgxc0JFOztJQUVFO0V0Sm0xc0JKOztFdUJ0N3NCTTtJK0h5R0E7RXRKaTFzQk47RXdCMTdzQk07SThINEdBO0V0Smkxc0JOOztFdUI3N3NCTTtJK0hpSEE7RXRKZzFzQk47RXdCajhzQk07SThIb0hBO0V0Smcxc0JOO0FBQ0Y7QStEaDRzQkk7RXVGL0RJO0lBQWdDO0V0Sm04c0J0Qzs7RXNKbDhzQk07O0lBRUU7RXRKcThzQlI7O0VzSm44c0JNOztJQUVFO0V0SnM4c0JSOztFc0pwOHNCTTs7SUFFRTtFdEp1OHNCUjs7RXNKcjhzQk07O0lBRUU7RXRKdzhzQlI7O0V1Qjc5c0JNO0krSDBCSTtFdEp1OHNCVjtFd0JqK3NCTTtJOEg2Qkk7RXRKdThzQlY7O0V1QnArc0JNO0krSGtDSTtFdEpzOHNCVjtFd0J4K3NCTTtJOEhxQ0k7RXRKczhzQlY7O0VzSnIrc0JNO0lBQWdDO0V0Snkrc0J0Qzs7RXNKeCtzQk07O0lBRUU7RXRKMitzQlI7O0VzSnorc0JNOztJQUVFO0V0SjQrc0JSOztFc0oxK3NCTTs7SUFFRTtFdEo2K3NCUjs7RXNKMytzQk07O0lBRUU7RXRKOCtzQlI7O0V1Qm5ndEJNO0krSDBCSTtFdEo2K3NCVjtFd0J2Z3RCTTtJOEg2Qkk7RXRKNitzQlY7O0V1QjFndEJNO0krSGtDSTtFdEo0K3NCVjtFd0I5Z3RCTTtJOEhxQ0k7RXRKNCtzQlY7O0VzSjNndEJNO0lBQWdDO0V0SitndEJ0Qzs7RXNKOWd0Qk07O0lBRUU7RXRKaWh0QlI7O0VzSi9ndEJNOztJQUVFO0V0SmtodEJSOztFc0poaHRCTTs7SUFFRTtFdEptaHRCUjs7RXNKamh0Qk07O0lBRUU7RXRKb2h0QlI7O0V1QnppdEJNO0krSDBCSTtFdEptaHRCVjtFd0I3aXRCTTtJOEg2Qkk7RXRKbWh0QlY7O0V1QmhqdEJNO0krSGtDSTtFdEpraHRCVjtFd0JwanRCTTtJOEhxQ0k7RXRKa2h0QlY7O0VzSmpqdEJNO0lBQWdDO0V0SnFqdEJ0Qzs7RXNKcGp0Qk07O0lBRUU7RXRKdWp0QlI7O0VzSnJqdEJNOztJQUVFO0V0SndqdEJSOztFc0p0anRCTTs7SUFFRTtFdEp5anRCUjs7RXNKdmp0Qk07O0lBRUU7RXRKMGp0QlI7O0V1Qi9rdEJNO0krSDBCSTtFdEp5anRCVjtFd0JubHRCTTtJOEg2Qkk7RXRKeWp0QlY7O0V1QnRsdEJNO0krSGtDSTtFdEp3anRCVjtFd0IxbHRCTTtJOEhxQ0k7RXRKd2p0QlY7O0VzSnZsdEJNO0lBQWdDO0V0SjJsdEJ0Qzs7RXNKMWx0Qk07O0lBRUU7RXRKNmx0QlI7O0VzSjNsdEJNOztJQUVFO0V0SjhsdEJSOztFc0o1bHRCTTs7SUFFRTtFdEorbHRCUjs7RXNKN2x0Qk07O0lBRUU7RXRKZ210QlI7O0V1QnJudEJNO0krSDBCSTtFdEorbHRCVjtFd0J6bnRCTTtJOEg2Qkk7RXRKK2x0QlY7O0V1QjVudEJNO0krSGtDSTtFdEo4bHRCVjtFd0Job3RCTTtJOEhxQ0k7RXRKOGx0QlY7O0VzSjdudEJNO0lBQWdDO0V0SmlvdEJ0Qzs7RXNKaG90Qk07O0lBRUU7RXRKbW90QlI7O0VzSmpvdEJNOztJQUVFO0V0Sm9vdEJSOztFc0psb3RCTTs7SUFFRTtFdEpxb3RCUjs7RXNKbm90Qk07O0lBRUU7RXRKc290QlI7O0V1QjNwdEJNO0krSDBCSTtFdEpxb3RCVjtFd0IvcHRCTTtJOEg2Qkk7RXRKcW90QlY7O0V1QmxxdEJNO0krSGtDSTtFdEpvb3RCVjtFd0J0cXRCTTtJOEhxQ0k7RXRKb290QlY7O0VzSm5xdEJNO0lBQWdDO0V0SnVxdEJ0Qzs7RXNKdHF0Qk07O0lBRUU7RXRKeXF0QlI7O0VzSnZxdEJNOztJQUVFO0V0SjBxdEJSOztFc0p4cXRCTTs7SUFFRTtFdEoycXRCUjs7RXNKenF0Qk07O0lBRUU7RXRKNHF0QlI7O0V1QmpzdEJNO0krSDBCSTtFdEoycXRCVjtFd0Jyc3RCTTtJOEg2Qkk7RXRKMnF0QlY7O0V1QnhzdEJNO0krSGtDSTtFdEowcXRCVjtFd0I1c3RCTTtJOEhxQ0k7RXRKMHF0QlY7O0VzSnpzdEJNO0lBQWdDO0V0SjZzdEJ0Qzs7RXNKNXN0Qk07O0lBRUU7RXRKK3N0QlI7O0VzSjdzdEJNOztJQUVFO0V0Smd0dEJSOztFc0o5c3RCTTs7SUFFRTtFdEppdHRCUjs7RXNKL3N0Qk07O0lBRUU7RXRKa3R0QlI7O0V1QnZ1dEJNO0krSDBCSTtFdEppdHRCVjtFd0IzdXRCTTtJOEg2Qkk7RXRKaXR0QlY7O0V1Qjl1dEJNO0krSGtDSTtFdEpndHRCVjtFd0JsdnRCTTtJOEhxQ0k7RXRKZ3R0QlY7O0VzSi91dEJNO0lBQWdDO0V0Sm12dEJ0Qzs7RXNKbHZ0Qk07O0lBRUU7RXRKcXZ0QlI7O0VzSm52dEJNOztJQUVFO0V0SnN2dEJSOztFc0pwdnRCTTs7SUFFRTtFdEp1dnRCUjs7RXNKcnZ0Qk07O0lBRUU7RXRKd3Z0QlI7O0V1Qjd3dEJNO0krSDBCSTtFdEp1dnRCVjtFd0JqeHRCTTtJOEg2Qkk7RXRKdXZ0QlY7O0V1QnB4dEJNO0krSGtDSTtFdEpzdnRCVjtFd0J4eHRCTTtJOEhxQ0k7RXRKc3Z0QlY7O0VzSnJ4dEJNO0lBQWdDO0V0Snl4dEJ0Qzs7RXNKeHh0Qk07O0lBRUU7RXRKMnh0QlI7O0VzSnp4dEJNOztJQUVFO0V0SjR4dEJSOztFc0oxeHRCTTs7SUFFRTtFdEo2eHRCUjs7RXNKM3h0Qk07O0lBRUU7RXRKOHh0QlI7O0V1Qm56dEJNO0krSDBCSTtFdEo2eHRCVjtFd0J2enRCTTtJOEg2Qkk7RXRKNnh0QlY7O0V1QjF6dEJNO0krSGtDSTtFdEo0eHRCVjtFd0I5enRCTTtJOEhxQ0k7RXRKNHh0QlY7O0VzSjN6dEJNO0lBQWdDO0V0Sit6dEJ0Qzs7RXNKOXp0Qk07O0lBRUU7RXRKaTB0QlI7O0VzSi96dEJNOztJQUVFO0V0SmswdEJSOztFc0poMHRCTTs7SUFFRTtFdEptMHRCUjs7RXNKajB0Qk07O0lBRUU7RXRKbzB0QlI7O0V1QnoxdEJNO0krSDBCSTtFdEptMHRCVjtFd0I3MXRCTTtJOEg2Qkk7RXRKbTB0QlY7O0V1QmgydEJNO0krSGtDSTtFdEprMHRCVjtFd0JwMnRCTTtJOEhxQ0k7RXRKazB0QlY7O0VzSmoydEJNO0lBQWdDO0V0SnEydEJ0Qzs7RXNKcDJ0Qk07O0lBRUU7RXRKdTJ0QlI7O0VzSnIydEJNOztJQUVFO0V0SncydEJSOztFc0p0MnRCTTs7SUFFRTtFdEp5MnRCUjs7RXNKdjJ0Qk07O0lBRUU7RXRKMDJ0QlI7O0V1Qi8zdEJNO0krSDBCSTtFdEp5MnRCVjtFd0JuNHRCTTtJOEg2Qkk7RXRKeTJ0QlY7O0V1QnQ0dEJNO0krSGtDSTtFdEp3MnRCVjtFd0IxNHRCTTtJOEhxQ0k7RXRKdzJ0QlY7O0VzSi8xdEJNO0lBQXdCO0V0Sm0ydEI5Qjs7RXNKbDJ0Qk07O0lBRUU7RXRKcTJ0QlI7O0VzSm4ydEJNOztJQUVFO0V0SnMydEJSOztFc0pwMnRCTTs7SUFFRTtFdEp1MnRCUjs7RXNKcjJ0Qk07O0lBRUU7RXRKdzJ0QlI7O0V1QnI2dEJNO0krSGtFSTtFdEp1MnRCVjtFd0J6NnRCTTtJOEhxRUk7RXRKdTJ0QlY7O0V1QjU2dEJNO0krSDBFSTtFdEpzMnRCVjtFd0JoN3RCTTtJOEg2RUk7RXRKczJ0QlY7O0VzSnI0dEJNO0lBQXdCO0V0Snk0dEI5Qjs7RXNKeDR0Qk07O0lBRUU7RXRKMjR0QlI7O0VzSno0dEJNOztJQUVFO0V0SjQ0dEJSOztFc0oxNHRCTTs7SUFFRTtFdEo2NHRCUjs7RXNKMzR0Qk07O0lBRUU7RXRKODR0QlI7O0V1QjM4dEJNO0krSGtFSTtFdEo2NHRCVjtFd0IvOHRCTTtJOEhxRUk7RXRKNjR0QlY7O0V1Qmw5dEJNO0krSDBFSTtFdEo0NHRCVjtFd0J0OXRCTTtJOEg2RUk7RXRKNDR0QlY7O0VzSjM2dEJNO0lBQXdCO0V0Sis2dEI5Qjs7RXNKOTZ0Qk07O0lBRUU7RXRKaTd0QlI7O0VzSi82dEJNOztJQUVFO0V0Sms3dEJSOztFc0poN3RCTTs7SUFFRTtFdEptN3RCUjs7RXNKajd0Qk07O0lBRUU7RXRKbzd0QlI7O0V1QmovdEJNO0krSGtFSTtFdEptN3RCVjtFd0JyL3RCTTtJOEhxRUk7RXRKbTd0QlY7O0V1QngvdEJNO0krSDBFSTtFdEprN3RCVjtFd0I1L3RCTTtJOEg2RUk7RXRKazd0QlY7O0VzSmo5dEJNO0lBQXdCO0V0SnE5dEI5Qjs7RXNKcDl0Qk07O0lBRUU7RXRKdTl0QlI7O0VzSnI5dEJNOztJQUVFO0V0Snc5dEJSOztFc0p0OXRCTTs7SUFFRTtFdEp5OXRCUjs7RXNKdjl0Qk07O0lBRUU7RXRKMDl0QlI7O0V1QnZodUJNO0krSGtFSTtFdEp5OXRCVjtFd0IzaHVCTTtJOEhxRUk7RXRKeTl0QlY7O0V1QjlodUJNO0krSDBFSTtFdEp3OXRCVjtFd0JsaXVCTTtJOEg2RUk7RXRKdzl0QlY7O0VzSnYvdEJNO0lBQXdCO0V0SjIvdEI5Qjs7RXNKMS90Qk07O0lBRUU7RXRKNi90QlI7O0VzSjMvdEJNOztJQUVFO0V0SjgvdEJSOztFc0o1L3RCTTs7SUFFRTtFdEorL3RCUjs7RXNKNy90Qk07O0lBRUU7RXRKZ2d1QlI7O0V1QjdqdUJNO0krSGtFSTtFdEorL3RCVjtFd0Jqa3VCTTtJOEhxRUk7RXRKKy90QlY7O0V1QnBrdUJNO0krSDBFSTtFdEo4L3RCVjtFd0J4a3VCTTtJOEg2RUk7RXRKOC90QlY7O0VzSnYvdEJFO0lBQW1CO0V0SjIvdEJyQjs7RXNKMS90QkU7O0lBRUU7RXRKNi90Qko7O0VzSjMvdEJFOztJQUVFO0V0SjgvdEJKOztFc0o1L3RCRTs7SUFFRTtFdEorL3RCSjs7RXNKNy90QkU7O0lBRUU7RXRKZ2d1Qko7O0V1Qm5tdUJNO0krSHlHQTtFdEo4L3RCTjtFd0J2bXVCTTtJOEg0R0E7RXRKOC90Qk47O0V1QjFtdUJNO0krSGlIQTtFdEo2L3RCTjtFd0I5bXVCTTtJOEhvSEE7RXRKNi90Qk47QUFDRjtBK0Q3aXVCSTtFdUYvREk7SUFBZ0M7RXRKZ251QnRDOztFc0ovbXVCTTs7SUFFRTtFdEprbnVCUjs7RXNKaG51Qk07O0lBRUU7RXRKbW51QlI7O0VzSmpudUJNOztJQUVFO0V0Sm9udUJSOztFc0psbnVCTTs7SUFFRTtFdEpxbnVCUjs7RXVCMW91Qk07SStIMEJJO0V0Sm9udUJWO0V3QjlvdUJNO0k4SDZCSTtFdEpvbnVCVjs7RXVCanB1Qk07SStIa0NJO0V0Sm1udUJWO0V3QnJwdUJNO0k4SHFDSTtFdEptbnVCVjs7RXNKbHB1Qk07SUFBZ0M7RXRKc3B1QnRDOztFc0pycHVCTTs7SUFFRTtFdEp3cHVCUjs7RXNKdHB1Qk07O0lBRUU7RXRKeXB1QlI7O0VzSnZwdUJNOztJQUVFO0V0SjBwdUJSOztFc0p4cHVCTTs7SUFFRTtFdEoycHVCUjs7RXVCaHJ1Qk07SStIMEJJO0V0SjBwdUJWO0V3QnBydUJNO0k4SDZCSTtFdEowcHVCVjs7RXVCdnJ1Qk07SStIa0NJO0V0SnlwdUJWO0V3QjNydUJNO0k4SHFDSTtFdEp5cHVCVjs7RXNKeHJ1Qk07SUFBZ0M7RXRKNHJ1QnRDOztFc0ozcnVCTTs7SUFFRTtFdEo4cnVCUjs7RXNKNXJ1Qk07O0lBRUU7RXRKK3J1QlI7O0VzSjdydUJNOztJQUVFO0V0SmdzdUJSOztFc0o5cnVCTTs7SUFFRTtFdEppc3VCUjs7RXVCdHR1Qk07SStIMEJJO0V0SmdzdUJWO0V3QjF0dUJNO0k4SDZCSTtFdEpnc3VCVjs7RXVCN3R1Qk07SStIa0NJO0V0SitydUJWO0V3Qmp1dUJNO0k4SHFDSTtFdEorcnVCVjs7RXNKOXR1Qk07SUFBZ0M7RXRKa3V1QnRDOztFc0pqdXVCTTs7SUFFRTtFdEpvdXVCUjs7RXNKbHV1Qk07O0lBRUU7RXRKcXV1QlI7O0VzSm51dUJNOztJQUVFO0V0SnN1dUJSOztFc0pwdXVCTTs7SUFFRTtFdEp1dXVCUjs7RXVCNXZ1Qk07SStIMEJJO0V0SnN1dUJWO0V3Qmh3dUJNO0k4SDZCSTtFdEpzdXVCVjs7RXVCbnd1Qk07SStIa0NJO0V0SnF1dUJWO0V3QnZ3dUJNO0k4SHFDSTtFdEpxdXVCVjs7RXNKcHd1Qk07SUFBZ0M7RXRKd3d1QnRDOztFc0p2d3VCTTs7SUFFRTtFdEowd3VCUjs7RXNKeHd1Qk07O0lBRUU7RXRKMnd1QlI7O0VzSnp3dUJNOztJQUVFO0V0SjR3dUJSOztFc0oxd3VCTTs7SUFFRTtFdEo2d3VCUjs7RXVCbHl1Qk07SStIMEJJO0V0SjR3dUJWO0V3QnR5dUJNO0k4SDZCSTtFdEo0d3VCVjs7RXVCenl1Qk07SStIa0NJO0V0SjJ3dUJWO0V3Qjd5dUJNO0k4SHFDSTtFdEoyd3VCVjs7RXNKMXl1Qk07SUFBZ0M7RXRKOHl1QnRDOztFc0o3eXVCTTs7SUFFRTtFdEpnenVCUjs7RXNKOXl1Qk07O0lBRUU7RXRKaXp1QlI7O0VzSi95dUJNOztJQUVFO0V0Smt6dUJSOztFc0poenVCTTs7SUFFRTtFdEptenVCUjs7RXVCeDB1Qk07SStIMEJJO0V0Smt6dUJWO0V3QjUwdUJNO0k4SDZCSTtFdEprenVCVjs7RXVCLzB1Qk07SStIa0NJO0V0Sml6dUJWO0V3Qm4xdUJNO0k4SHFDSTtFdEppenVCVjs7RXNKaDF1Qk07SUFBZ0M7RXRKbzF1QnRDOztFc0puMXVCTTs7SUFFRTtFdEpzMXVCUjs7RXNKcDF1Qk07O0lBRUU7RXRKdTF1QlI7O0VzSnIxdUJNOztJQUVFO0V0SncxdUJSOztFc0p0MXVCTTs7SUFFRTtFdEp5MXVCUjs7RXVCOTJ1Qk07SStIMEJJO0V0SncxdUJWO0V3QmwzdUJNO0k4SDZCSTtFdEp3MXVCVjs7RXVCcjN1Qk07SStIa0NJO0V0SnUxdUJWO0V3QnozdUJNO0k4SHFDSTtFdEp1MXVCVjs7RXNKdDN1Qk07SUFBZ0M7RXRKMDN1QnRDOztFc0p6M3VCTTs7SUFFRTtFdEo0M3VCUjs7RXNKMTN1Qk07O0lBRUU7RXRKNjN1QlI7O0VzSjMzdUJNOztJQUVFO0V0SjgzdUJSOztFc0o1M3VCTTs7SUFFRTtFdEorM3VCUjs7RXVCcDV1Qk07SStIMEJJO0V0SjgzdUJWO0V3Qng1dUJNO0k4SDZCSTtFdEo4M3VCVjs7RXVCMzV1Qk07SStIa0NJO0V0SjYzdUJWO0V3Qi81dUJNO0k4SHFDSTtFdEo2M3VCVjs7RXNKNTV1Qk07SUFBZ0M7RXRKZzZ1QnRDOztFc0ovNXVCTTs7SUFFRTtFdEprNnVCUjs7RXNKaDZ1Qk07O0lBRUU7RXRKbTZ1QlI7O0VzSmo2dUJNOztJQUVFO0V0Sm82dUJSOztFc0psNnVCTTs7SUFFRTtFdEpxNnVCUjs7RXVCMTd1Qk07SStIMEJJO0V0Sm82dUJWO0V3Qjk3dUJNO0k4SDZCSTtFdEpvNnVCVjs7RXVCajh1Qk07SStIa0NJO0V0Sm02dUJWO0V3QnI4dUJNO0k4SHFDSTtFdEptNnVCVjs7RXNKbDh1Qk07SUFBZ0M7RXRKczh1QnRDOztFc0pyOHVCTTs7SUFFRTtFdEp3OHVCUjs7RXNKdDh1Qk07O0lBRUU7RXRKeTh1QlI7O0VzSnY4dUJNOztJQUVFO0V0SjA4dUJSOztFc0p4OHVCTTs7SUFFRTtFdEoyOHVCUjs7RXVCaCt1Qk07SStIMEJJO0V0SjA4dUJWO0V3QnArdUJNO0k4SDZCSTtFdEowOHVCVjs7RXVCdit1Qk07SStIa0NJO0V0Snk4dUJWO0V3QjMrdUJNO0k4SHFDSTtFdEp5OHVCVjs7RXNKeCt1Qk07SUFBZ0M7RXRKNCt1QnRDOztFc0ozK3VCTTs7SUFFRTtFdEo4K3VCUjs7RXNKNSt1Qk07O0lBRUU7RXRKKyt1QlI7O0VzSjcrdUJNOztJQUVFO0V0SmcvdUJSOztFc0o5K3VCTTs7SUFFRTtFdEppL3VCUjs7RXVCdGd2Qk07SStIMEJJO0V0SmcvdUJWO0V3QjFndkJNO0k4SDZCSTtFdEpnL3VCVjs7RXVCN2d2Qk07SStIa0NJO0V0SisrdUJWO0V3QmpodkJNO0k4SHFDSTtFdEorK3VCVjs7RXNKOWd2Qk07SUFBZ0M7RXRKa2h2QnRDOztFc0pqaHZCTTs7SUFFRTtFdEpvaHZCUjs7RXNKbGh2Qk07O0lBRUU7RXRKcWh2QlI7O0VzSm5odkJNOztJQUVFO0V0SnNodkJSOztFc0pwaHZCTTs7SUFFRTtFdEp1aHZCUjs7RXVCNWl2Qk07SStIMEJJO0V0SnNodkJWO0V3QmhqdkJNO0k4SDZCSTtFdEpzaHZCVjs7RXVCbmp2Qk07SStIa0NJO0V0SnFodkJWO0V3QnZqdkJNO0k4SHFDSTtFdEpxaHZCVjs7RXNKNWd2Qk07SUFBd0I7RXRKZ2h2QjlCOztFc0ovZ3ZCTTs7SUFFRTtFdEpraHZCUjs7RXNKaGh2Qk07O0lBRUU7RXRKbWh2QlI7O0VzSmpodkJNOztJQUVFO0V0Sm9odkJSOztFc0psaHZCTTs7SUFFRTtFdEpxaHZCUjs7RXVCbGx2Qk07SStIa0VJO0V0Sm9odkJWO0V3QnRsdkJNO0k4SHFFSTtFdEpvaHZCVjs7RXVCemx2Qk07SStIMEVJO0V0Sm1odkJWO0V3QjdsdkJNO0k4SDZFSTtFdEptaHZCVjs7RXNKbGp2Qk07SUFBd0I7RXRKc2p2QjlCOztFc0pyanZCTTs7SUFFRTtFdEp3anZCUjs7RXNKdGp2Qk07O0lBRUU7RXRKeWp2QlI7O0VzSnZqdkJNOztJQUVFO0V0SjBqdkJSOztFc0p4anZCTTs7SUFFRTtFdEoyanZCUjs7RXVCeG52Qk07SStIa0VJO0V0SjBqdkJWO0V3QjVudkJNO0k4SHFFSTtFdEowanZCVjs7RXVCL252Qk07SStIMEVJO0V0SnlqdkJWO0V3Qm5vdkJNO0k4SDZFSTtFdEp5anZCVjs7RXNKeGx2Qk07SUFBd0I7RXRKNGx2QjlCOztFc0ozbHZCTTs7SUFFRTtFdEo4bHZCUjs7RXNKNWx2Qk07O0lBRUU7RXRKK2x2QlI7O0VzSjdsdkJNOztJQUVFO0V0SmdtdkJSOztFc0o5bHZCTTs7SUFFRTtFdEppbXZCUjs7RXVCOXB2Qk07SStIa0VJO0V0SmdtdkJWO0V3QmxxdkJNO0k4SHFFSTtFdEpnbXZCVjs7RXVCcnF2Qk07SStIMEVJO0V0SitsdkJWO0V3QnpxdkJNO0k4SDZFSTtFdEorbHZCVjs7RXNKOW52Qk07SUFBd0I7RXRKa292QjlCOztFc0pqb3ZCTTs7SUFFRTtFdEpvb3ZCUjs7RXNKbG92Qk07O0lBRUU7RXRKcW92QlI7O0VzSm5vdkJNOztJQUVFO0V0SnNvdkJSOztFc0pwb3ZCTTs7SUFFRTtFdEp1b3ZCUjs7RXVCcHN2Qk07SStIa0VJO0V0SnNvdkJWO0V3QnhzdkJNO0k4SHFFSTtFdEpzb3ZCVjs7RXVCM3N2Qk07SStIMEVJO0V0SnFvdkJWO0V3Qi9zdkJNO0k4SDZFSTtFdEpxb3ZCVjs7RXNKcHF2Qk07SUFBd0I7RXRKd3F2QjlCOztFc0p2cXZCTTs7SUFFRTtFdEowcXZCUjs7RXNKeHF2Qk07O0lBRUU7RXRKMnF2QlI7O0VzSnpxdkJNOztJQUVFO0V0SjRxdkJSOztFc0oxcXZCTTs7SUFFRTtFdEo2cXZCUjs7RXVCMXV2Qk07SStIa0VJO0V0SjRxdkJWO0V3Qjl1dkJNO0k4SHFFSTtFdEo0cXZCVjs7RXVCanZ2Qk07SStIMEVJO0V0SjJxdkJWO0V3QnJ2dkJNO0k4SDZFSTtFdEoycXZCVjs7RXNKcHF2QkU7SUFBbUI7RXRKd3F2QnJCOztFc0p2cXZCRTs7SUFFRTtFdEowcXZCSjs7RXNKeHF2QkU7O0lBRUU7RXRKMnF2Qko7O0VzSnpxdkJFOztJQUVFO0V0SjRxdkJKOztFc0oxcXZCRTs7SUFFRTtFdEo2cXZCSjs7RXVCaHh2Qk07SStIeUdBO0V0SjJxdkJOO0V3QnB4dkJNO0k4SDRHQTtFdEoycXZCTjs7RXVCdnh2Qk07SStIaUhBO0V0SjBxdkJOO0V3QjN4dkJNO0k4SG9IQTtFdEowcXZCTjtBQUNGO0F1Sjl4dkJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0F2Sjh4dkJKOztBd0p4eXZCQTtFQUFrQjtBeEo0eXZCbEI7O0F3Snh5dkJBO0VBQWlCO0F4SjR5dkJqQjs7QXdKM3l2QkE7RUFBaUI7QXhKK3l2QmpCOztBd0o5eXZCQTtFQUFpQjtBeEprenZCakI7O0F3Smp6dkJBO0VDVEU7RUFDQTtFQUNBO0F6Sjh6dkJGOztBd0oveXZCSTtFQUF3QjtBeEptenZCNUI7O0F3Smx6dkJJO0VBQXdCO0F4SnN6dkI1Qjs7QXdKcnp2Qkk7RUFBd0I7QXhKeXp2QjVCOztBK0R2d3ZCSTtFeUZwREE7SUFBd0I7RXhKZzB2QjFCOztFd0ovenZCRTtJQUF3QjtFeEptMHZCMUI7O0V3SmwwdkJFO0lBQXdCO0V4SnMwdkIxQjtBQUNGO0ErRHJ4dkJJO0V5RnBEQTtJQUF3QjtFeEo2MHZCMUI7O0V3SjUwdkJFO0lBQXdCO0V4SmcxdkIxQjs7RXdKLzB2QkU7SUFBd0I7RXhKbTF2QjFCO0FBQ0Y7QStEbHl2Qkk7RXlGcERBO0lBQXdCO0V4SjAxdkIxQjs7RXdKejF2QkU7SUFBd0I7RXhKNjF2QjFCOztFd0o1MXZCRTtJQUF3QjtFeEpnMnZCMUI7QUFDRjtBK0QveXZCSTtFeUZwREE7SUFBd0I7RXhKdTJ2QjFCOztFd0p0MnZCRTtJQUF3QjtFeEowMnZCMUI7O0V3SnoydkJFO0lBQXdCO0V4SjYydkIxQjtBQUNGO0ErRDV6dkJJO0V5RnBEQTtJQUF3QjtFeEpvM3ZCMUI7O0V3Sm4zdkJFO0lBQXdCO0V4SnUzdkIxQjs7RXdKdDN2QkU7SUFBd0I7RXhKMDN2QjFCO0FBQ0Y7QXdKcjN2QkE7RUFBbUI7QXhKdzN2Qm5COztBd0p2M3ZCQTtFQUFtQjtBeEoyM3ZCbkI7O0F3SjEzdkJBO0VBQW1CO0F4SjgzdkJuQjs7QXdKMTN2QkE7RUFBdUI7QXhKODN2QnZCOztBd0o3M3ZCQTtFQUF1QjtBeEppNHZCdkI7O0F3Smg0dkJBO0VBQXVCO0F4Sm80dkJ2Qjs7QXdKbjR2QkE7RUFBdUI7QXhKdTR2QnZCOztBd0p0NHZCQTtFQUF1QjtBeEowNHZCdkI7O0F3Sno0dkJBO0VBQXVCO0F4SjY0dkJ2Qjs7QXdKejR2QkE7RUFBYztBeEo2NHZCZDs7QTBKcDd2QkU7RUFDRTtBMUp1N3ZCSjs7QTBCMzZ2QkU7RWdJUE07QTFKczd2QlI7O0EwSjU3dkJFO0VBQ0U7QTFKKzd2Qko7O0EwQm43dkJFO0VnSVBNO0ExSjg3dkJSOztBMEpwOHZCRTtFQUNFO0ExSnU4dkJKOztBMEIzN3ZCRTtFZ0lQTTtBMUpzOHZCUjs7QTBKNTh2QkU7RUFDRTtBMUorOHZCSjs7QTBCbjh2QkU7RWdJUE07QTFKODh2QlI7O0EwSnA5dkJFO0VBQ0U7QTFKdTl2Qko7O0EwQjM4dkJFO0VnSVBNO0ExSnM5dkJSOztBMEo1OXZCRTtFQUNFO0ExSis5dkJKOztBMEJuOXZCRTtFZ0lQTTtBMUo4OXZCUjs7QTBKcCt2QkU7RUFDRTtBMUp1K3ZCSjs7QTBCMzl2QkU7RWdJUE07QTFKcyt2QlI7O0EwSjUrdkJFO0VBQ0U7QTFKKyt2Qko7O0EwQm4rdkJFO0VnSVBNO0ExSjgrdkJSOztBd0p2OHZCQTtFQUFhO0F4SjI4dkJiOztBd0oxOHZCQTtFQUVJO0F4SjQ4dkJKOztBd0p4OHZCQTtFQUFpQjtBeEo0OHZCakI7O0F3SjM4dkJBO0VBQWlCO0F4Sis4dkJqQjs7QXdKMzh2QkE7RUczREU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0owZ3dCRjs7QXdKLzh2QkE7RUFBd0I7QXhKbTl2QnhCOztBd0pqOXZCQTtFQUNFO0VBQ0E7QXhKbzl2QkY7O0F3Si84dkJBO0VBQWM7QXhKbTl2QmQ7O0E0Sjlod0JBO0VBQ0U7RUFDQTtBNUppaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRTtBNUpnaXdCRjs7QTRKN2h3QkE7RUFDRSxtQnZJekNnQjtBckJ5a3dCbEI7O0E0Sjdod0JBO0VBQ0U7QTVKZ2l3QkY7O0E0Sjdod0JBO0VBQ0U7QTVKZ2l3QkY7O0E0Sjdod0JBO0VBQ0U7QTVKZ2l3QkY7O0E2Snpsd0JBO0VBQ0U7QTdKNGx3QkY7O0E2Snpsd0JBO0VBQ0U7QTdKNGx3QkY7O0F3Qjdsd0JNO0VzSU5KO0VBQ0E7QTlKdW13QkY7QThKcm13QkU7RUFDRTtBOUp1bXdCSjs7QStKL213QkE7RUFHSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0EvSnlud0JKOztBZ0tybndCRTtFQUNFOzs7SUFLRTtJQUVBO0VoS3Fud0JKOztFZ0tqbndCSTtJQUNFO0VoS29ud0JOOztFZ0szbXdCRTtJQUNFO0VoSzhtd0JKOztFZ0tobXdCRTtJQUNFO0VoS21td0JKOztFZ0tqbXdCRTs7SUFFRTtJQUNBO0VoS29td0JKOztFZ0s1bHdCRTtJQUNFO0VoSytsd0JKOztFZ0s1bHdCRTs7SUFFRTtFaEsrbHdCSjs7RWdLNWx3QkU7OztJQUdFO0lBQ0E7RWhLK2x3Qko7O0VnSzVsd0JFOztJQUVFO0VoSytsd0JKOztFZ0t2bHdCRTtJQUNFLFFDdEZrQjtFaktncndCdEI7RWdLeGx3QkU7SUFDRTtFaEswbHdCSjs7RWdLeGx3QkU7SUFDRTtFaEsybHdCSjs7RWdLdmx3QkU7SUFDRTtFaEswbHdCSjs7RWdLeGx3QkU7SUFDRTtFaEsybHdCSjs7RWdLeGx3QkU7SUFDRTtFaEsybHdCSjtFZ0t6bHdCSTs7SUFFRTtFaEsybHdCTjs7RWdLdGx3Qkk7O0lBRUU7RWhLeWx3Qk47O0VnS3Jsd0JFO0lBQ0U7RWhLd2x3Qko7RWdLdGx3Qkk7Ozs7SUFJRSxxQnBJeEhLO0U1Qmd0d0JYOztFZ0twbHdCRTtJQUNFO0lBQ0EscUJwSTlITztFNUJxdHdCWDtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9pY29ucy9jc3MvZnJlZS5taW4uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2ljb25zL3Njc3MvZnJlZS9mcmVlLWljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvaWNvbnMvc2Nzcy9mcmVlL19jb3JlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvaWNvbnMvY3NzL2ZyZWUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2ljb25zL2Nzcy9icmFuZC5taW4uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY29yZXVpL2ljb25zL3Njc3MvYnJhbmQvYnJhbmQtaWNvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9pY29ucy9zY3NzL2JyYW5kL19jb3JlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvaWNvbnMvY3NzL2JyYW5kLmNzcyIsIndlYnBhY2s6Ly8vLi9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvZm9udGF3ZXNvbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2NvcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2xhcmdlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fZml4ZWQtd2lkdGguc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fbGlzdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fYm9yZGVyZWQtcHVsbGVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19hbmltYXRlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fcm90YXRlZC1mbGlwcGVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3N0YWNrZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3JlZ3VsYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2NvcmV1aS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcm9vdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZlbmRvcnMvX3Jmcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2x0ci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3J0bC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fbGlua3Muc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19idXR0b25zLWZvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZlbmRvcnMvX3BlcmZlY3Qtc2Nyb2xsYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZlbmRvcnMvdGlwcHlqcy9hbmltYXRpb25zL2ZhZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmVuZG9ycy90aXBweWpzL3BvcG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL196LWluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19wb3BvdmVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19zaGFyZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmVuZG9ycy90aXBweWpzL2luZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL190b29sdGlwcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL2NvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19hdmF0YXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYXZhdGFycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fYXZhdGFycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYmFkZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19iYWRnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3RoZW1lcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYnJlYWRjcnVtYi1tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYm9yZGVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvX2JyYW5kLWNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY2FsbG91dC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY2FyZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2NhcmQtYWNjZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY2hhcnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jbG9zZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY29kZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fY29kZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19jdXN0b20tZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL2NvbXBvbmVudHMvX2Ryb3Bkb3ducy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9faWNvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2ltYWdlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fanVtYm90cm9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19tb2RhbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX25hdi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19uYXZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wb3BvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wcm9ncmVzcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcHJvZ3Jlc3MtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3NpZGViYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL19vcHRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19zcGlubmVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fc3ViaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19zdWJoZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3N3aXRjaGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3ZhcmlhYmxlcy9jb21wb25lbnRzL19zd2l0Y2hlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3N3aXRjaGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3RvYXN0cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92YXJpYWJsZXMvY29tcG9uZW50cy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fdHlwZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9sYXlvdXRzL19kZWZhdWx0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fYWxpZ24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fYm9yZGVycy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX2NlbnRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19mbG9hdC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy91dGlsaXRpZXMvX3NoYWRvd3Muc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcnRsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19pZS1jdXN0b20tcHJvcGVydGllcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcHJpbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdmFyaWFibGVzL19wcmludGluZy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjsvKiFcbiAqIENvcmVVSSBJY29ucyBGcmVlIE9wZW4gU291cmNlIEljb25zXG4gKiBAdmVyc2lvbiB2MS4wLjFcbiAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2ljb25zXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgY3JlYXRpdmVMYWJzIMWBdWthc3ogSG9sZWN6ZWtcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9jb3JldWkuaW8vaWNvbnMvbGljZW5zZSlcbiAqL0Bmb250LWZhY2V7Zm9udC1mYW1pbHk6Q29yZVVJLUljb25zLUZyZWU7c3JjOnVybCguLi9mb250cy9Db3JlVUktSWNvbnMtRnJlZS5lb3Q/NjRoNnhoKTtzcmM6dXJsKC4uL2ZvbnRzL0NvcmVVSS1JY29ucy1GcmVlLmVvdD82NGg2eGgjaWVmaXgpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLHVybCguLi9mb250cy9Db3JlVUktSWNvbnMtRnJlZS50dGY/NjRoNnhoKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUud29mZj82NGg2eGgpIGZvcm1hdChcIndvZmZcIiksdXJsKC4uL2ZvbnRzL0NvcmVVSS1JY29ucy1GcmVlLnN2Zz82NGg2eGgjQ29yZVVJLUljb25zLUZyZWUpIGZvcm1hdChcInN2Z1wiKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9W2NsYXNzKj1cIiBjaWwtXCJdLFtjbGFzc149Y2lsLV17Zm9udC1mYW1pbHk6Q29yZVVJLUljb25zLUZyZWUhaW1wb3J0YW50O3NwZWFrOm5vbmU7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtsaW5lLWhlaWdodDoxOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5jaWwtYXBwbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMGZcIn0uY2lsLWJpcnRoZGF5LWNha2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTBcIn0uY2lsLWJ1cmdlcjpiZWZvcmV7Y29udGVudDpcIlxcZWMxMVwifS5jaWwtY29mZmVlOmJlZm9yZXtjb250ZW50OlwiXFxlOTdkXCJ9LmNpbC1kaW5uZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTJcIn0uY2lsLWRyaW5rOmJlZm9yZXtjb250ZW50OlwiXFxlYzEzXCJ9LmNpbC1kcmluay1hbGNvaG9sOmJlZm9yZXtjb250ZW50OlwiXFxlYzE0XCJ9LmNpbC1mYXN0Zm9vZDpiZWZvcmV7Y29udGVudDpcIlxcZWMxNVwifS5jaWwtbGVtb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMGZcIn0uY2lsLW11ZzpiZWZvcmV7Y29udGVudDpcIlxcZWMxN1wifS5jaWwtbXVnLXRlYTpiZWZvcmV7Y29udGVudDpcIlxcZWMxOFwifS5jaWwtcGl6emE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTlcIn0uY2lsLXJlc3RhdXJhbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWFcIn0uY2lsLWJhdHRlcnktMDpiZWZvcmV7Y29udGVudDpcIlxcZTkzNVwifS5jaWwtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDpcIlxcZTkzNVwifS5jaWwtYmF0dGVyeS0zOmJlZm9yZXtjb250ZW50OlwiXFxlOWI0XCJ9LmNpbC1iYXR0ZXJ5LTU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZDdcIn0uY2lsLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDpcIlxcZTlkN1wifS5jaWwtYmF0dGVyeS1hbGVydDpiZWZvcmV7Y29udGVudDpcIlxcZWNjY1wifS5jaWwtYmF0dGVyeS1zbGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZWNkM1wifS5jaWwtYm9sdDpiZWZvcmV7Y29udGVudDpcIlxcZWNkNVwifS5jaWwtZmlyZTpiZWZvcmV7Y29udGVudDpcIlxcZWNkOVwifS5jaWwtY2F0OmJlZm9yZXtjb250ZW50OlwiXFxlYzFjXCJ9LmNpbC1kb2c6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWRcIn0uY2lsLWZsb3dlcjpiZWZvcmV7Y29udGVudDpcIlxcZWMxZVwifS5jaWwtbGVhZjpiZWZvcmV7Y29udGVudDpcIlxcZWMxZlwifS5jaWwtZWNvOmJlZm9yZXtjb250ZW50OlwiXFxlYzFmXCJ9LmNpbC1wbGFudDpiZWZvcmV7Y29udGVudDpcIlxcZWMxZlwifS5jaWwtcGF3OmJlZm9yZXtjb250ZW50OlwiXFxlYzIwXCJ9LmNpbC1hbmltYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjBcIn0uY2lsLXRlcnJhaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjFcIn0uY2lsLWFtZXJpY2FuLWZvb3RiYWxsOmJlZm9yZXtjb250ZW50OlwiXFxlOTAwXCJ9LmNpbC1iYXNlYmFsbDpiZWZvcmV7Y29udGVudDpcIlxcZTkyN1wifS5jaWwtYmFza2V0YmFsbDpiZWZvcmV7Y29udGVudDpcIlxcZTkyOVwifS5jaWwtYm93bGluZzpiZWZvcmV7Y29udGVudDpcIlxcZTkyYVwifS5jaWwtZm9vdGJhbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2FcIn0uY2lsLXNvY2NlcjpiZWZvcmV7Y29udGVudDpcIlxcZTkzYVwifS5jaWwtZ29sZjpiZWZvcmV7Y29udGVudDpcIlxcZTk0MlwifS5jaWwtZ29sZi1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NzdcIn0uY2lsLXJvd2luZzpiZWZvcmV7Y29udGVudDpcIlxcZTk4NFwifS5jaWwtcnVubmluZzpiZWZvcmV7Y29udGVudDpcIlxcZTk5OFwifS5jaWwtc3dpbW1pbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTlcIn0uY2lsLXRlbm5pczpiZWZvcmV7Y29udGVudDpcIlxcZTk5Y1wifS5jaWwtdGVubmlzLWJhbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTZcIn0uY2lsLXdlaWdodGxpZml0bmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YjFcIn0uY2lsLWJyb3dzZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDdcIn0uY2lsLWNhc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjJcIn0uY2lsLWNsb3VkOmJlZm9yZXtjb250ZW50OlwiXFxlOTc4XCJ9LmNpbC1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDpcIlxcZTk3OVwifS5jaWwtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OlwiXFxlOTdhXCJ9LmNpbC1kYXRhLXRyYW5zZmVyLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTRcIn0uY2lsLWRhdGEtdHJhbnNmZXItdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTVcIn0uY2lsLWV0aGVybmV0OmJlZm9yZXtjb250ZW50OlwiXFxlYzJhXCJ9LmNpbC1leHRlcm5hbC1saW5rOmJlZm9yZXtjb250ZW50OlwiXFxlOWMwXCJ9LmNpbC1odHRwczpiZWZvcmV7Y29udGVudDpcIlxcZWMyZFwifS5jaWwtbGFuOmJlZm9yZXtjb250ZW50OlwiXFxlYzJlXCJ9LmNpbC1saW5rOmJlZm9yZXtjb250ZW50OlwiXFxlYzJmXCJ9LmNpbC1saW5rLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWMzMFwifS5jaWwtbGluay1icm9rZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDZcIn0uY2lsLW5ld3NwYXBlcjpiZWZvcmV7Y29udGVudDpcIlxcZWEzN1wifS5jaWwtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2RcIn0uY2lsLXNlbmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2RcIn0uY2lsLXJzczpiZWZvcmV7Y29udGVudDpcIlxcZWE2YlwifS5jaWwtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNzRcIn0uY2lsLXNoYXJlLWFsbDpiZWZvcmV7Y29udGVudDpcIlxcZWE3NVwifS5jaWwtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYzM1XCJ9LmNpbC1zaGFyZS1ib3hlZDpiZWZvcmV7Y29udGVudDpcIlxcZWE3NlwifS5jaWwtc2l0ZW1hcDpiZWZvcmV7Y29udGVudDpcIlxcZWE3Y1wifS5jaWwtc3RyZWFtOmJlZm9yZXtjb250ZW50OlwiXFxlYTk0XCJ9LmNpbC10cmFuc2ZlcjpiZWZvcmV7Y29udGVudDpcIlxcZWFhM1wifS5jaWwtd2lmaS1zaWduYWwtMDpiZWZvcmV7Y29udGVudDpcIlxcZWMzN1wifS5jaWwtd2lmaS1zaWduYWwtMTpiZWZvcmV7Y29udGVudDpcIlxcZWMzOFwifS5jaWwtd2lmaS1zaWduYWwtMjpiZWZvcmV7Y29udGVudDpcIlxcZWMzOVwifS5jaWwtd2lmaS1zaWduYWwtNDpiZWZvcmV7Y29udGVudDpcIlxcZWMzYlwifS5jaWwtd2lmaS1zaWduYWwtb2ZmOmJlZm9yZXtjb250ZW50OlwiXFxlYzQxXCJ9LmNpbC1iYW5rOmJlZm9yZXtjb250ZW50OlwiXFxlOTM0XCJ9LmNpbC1iYXRoOmJlZm9yZXtjb250ZW50OlwiXFxlOTU5XCJ9LmNpbC1iYXRocm9vbTpiZWZvcmV7Y29udGVudDpcIlxcZTk1OVwifS5jaWwtYmVhY2gtYWNjZXNzOmJlZm9yZXtjb250ZW50OlwiXFxlYTAzXCJ9LmNpbC1iZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzlcIn0uY2lsLWJ1aWxkaW5nOmJlZm9yZXtjb250ZW50OlwiXFxlOTRhXCJ9LmNpbC1jYXNpbm86YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNDVcIn0uY2lsLWNoaWxkLWZyaWVuZGx5OmJlZm9yZXtjb250ZW50OlwiXFxlYzQ2XCJ9LmNpbC1iYWJ5LWNhcnJpYWdlOmJlZm9yZXtjb250ZW50OlwiXFxlYzQ2XCJ9LmNpbC1wdXNoY2hhaXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNDZcIn0uY2lsLWNvdWNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzQ4XCJ9LmNpbC1zb2ZhOmJlZm9yZXtjb250ZW50OlwiXFxlYzQ4XCJ9LmNpbC1kb29yOmJlZm9yZXtjb250ZW50OlwiXFxlYzQ5XCJ9LmNpbC1lbGV2YXRvcjpiZWZvcmV7Y29udGVudDpcIlxcZTliMlwifS5jaWwtZnJpZGdlOmJlZm9yZXtjb250ZW50OlwiXFxlYzRhXCJ9LmNpbC1nYXJhZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNGJcIn0uY2lsLWhvbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZjlcIn0uY2lsLWhvc3BpdGFsOmJlZm9yZXtjb250ZW50OlwiXFxlOWZhXCJ9LmNpbC1ob3QtdHViOmJlZm9yZXtjb250ZW50OlwiXFxlYzRjXCJ9LmNpbC1ob3VzZTpiZWZvcmV7Y29udGVudDpcIlxcZWM0ZVwifS5jaWwtaW5kdXN0cnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNGZcIn0uY2lsLWZhY3Rvcnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNGZcIn0uY2lsLWluZHVzdHJ5LXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzUwXCJ9LmNpbC1mYWN0b3J5LXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzUwXCJ9LmNpbC1pbnN0aXR1dGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZWM1MVwifS5jaWwtbGlicmFyeS1idWlsZGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWM1MVwifS5jaWwtbWVkaWNhbC1jcm9zczpiZWZvcmV7Y29udGVudDpcIlxcZWM1NFwifS5jaWwtcG9vbDpiZWZvcmV7Y29udGVudDpcIlxcZWM1NVwifS5jaWwtcm9vbTpiZWZvcmV7Y29udGVudDpcIlxcZWM1NlwifS5jaWwtc2Nob29sOmJlZm9yZXtjb250ZW50OlwiXFxlYzU4XCJ9LmNpbC1lZHVjYXRpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNThcIn0uY2lsLXNob3dlcjpiZWZvcmV7Y29udGVudDpcIlxcZWM1OVwifS5jaWwtc21va2UtZnJlZTpiZWZvcmV7Y29udGVudDpcIlxcZWM1YVwifS5jaWwtc21va2Utc2xhc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNWFcIn0uY2lsLXNtb2tpbmctcm9vbTpiZWZvcmV7Y29udGVudDpcIlxcZWM1YlwifS5jaWwtc21va2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNWJcIn0uY2lsLXNwYTpiZWZvcmV7Y29udGVudDpcIlxcZWM1Y1wifS5jaWwtdG9pbGV0OmJlZm9yZXtjb250ZW50OlwiXFxlYzVkXCJ9LmNpbC13YzpiZWZvcmV7Y29udGVudDpcIlxcZWM1ZVwifS5jaWwtd2luZG93OmJlZm9yZXtjb250ZW50OlwiXFxlYzVmXCJ9LmNpbC1jbG91ZHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5N2JcIn0uY2lsLW1vb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzRcIn0uY2lsLXJhaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNjJcIn0uY2lsLXNub3dmbGFrZTpiZWZvcmV7Y29udGVudDpcIlxcZWE3ZlwifS5jaWwtc3VuOmJlZm9yZXtjb250ZW50OlwiXFxlYTk1XCJ9LmNpbC1hbGFybTpiZWZvcmV7Y29udGVudDpcIlxcZWIwMlwifS5jaWwtYmVsbDpiZWZvcmV7Y29udGVudDpcIlxcZTkzOFwifS5jaWwtYnVsbGhvcm46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NGJcIn0uY2lsLXdhcm5pbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjhcIn0uY2lsLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OlwiXFxlYTY0XCJ9LmNpbC1hc3Rlcmlzay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZjNcIn0uY2lsLWJhZGdlOmJlZm9yZXtjb250ZW50OlwiXFxlOTJjXCJ9LmNpbC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NzFcIn0uY2lsLWRyb3AxOmJlZm9yZXtjb250ZW50OlwiXFxlY2Y0XCJ9LmNpbC1oZWFydDpiZWZvcmV7Y29udGVudDpcIlxcZTlmNlwifS5jaWwtcHV6emxlOmJlZm9yZXtjb250ZW50OlwiXFxlY2Y1XCJ9LmNpbC1yZWN0YW5nbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZjdcIn0uY2lsLXNjcnViYmVyOmJlZm9yZXtjb250ZW50OlwiXFxlYTcyXCJ9LmNpbC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOGZcIn0uY2lsLXN0YXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTBcIn0uY2lsLXN0YXItaGFsZjpiZWZvcmV7Y29udGVudDpcIlxcZWE5MVwifS5jaWwtdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTVcIn0uY2lsLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZGJcIn0uY2lsLWJlYWtlcjpiZWZvcmV7Y29udGVudDpcIlxcZTllMVwifS5jaWwtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OlwiXFxlOWYzXCJ9LmNpbC1idWc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmJcIn0uY2lsLWNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmRcIn0uY2lsLWRldmljZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDdcIn0uY2lsLWZheDpiZWZvcmV7Y29udGVudDpcIlxcZWE1ZlwifS5jaWwtZm9yazpiZWZvcmV7Y29udGVudDpcIlxcZWE2ZlwifS5jaWwtZ2FtZXBhZDpiZWZvcmV7Y29udGVudDpcIlxcZWE3MFwifS5jaWwtaW5wdXQtaGRtaTpiZWZvcmV7Y29udGVudDpcIlxcZWE3ZVwifS5jaWwtaW5wdXQtcG93ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTZcIn0uY2lsLWtleWJvYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYWFhXCJ9LmNpbC1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYWNcIn0uY2lsLWxpZ2h0YnVsYjpiZWZvcmV7Y29udGVudDpcIlxcZWFhZFwifS5jaWwtbWVtb3J5OmJlZm9yZXtjb250ZW50OlwiXFxlYjc4XCJ9LmNpbC1tb25pdG9yOmJlZm9yZXtjb250ZW50OlwiXFxlYjdhXCJ9LmNpbC1tb3VzZTpiZWZvcmV7Y29udGVudDpcIlxcZWI3YlwifS5jaWwtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViN2RcIn0uY2lsLXFyLWNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViODBcIn0uY2lsLXNhdGVsaXRlOmJlZm9yZXtjb250ZW50OlwiXFxlYjgyXCJ9LmNpbC1zY3JlZW4tZGVza3RvcDpiZWZvcmV7Y29udGVudDpcIlxcZWI4NVwifS5jaWwtc2NyZWVuLXNtYXJ0cGhvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGNcIn0uY2lsLXNpZ25hbC1jZWxsdWxhci0wOmJlZm9yZXtjb250ZW50OlwiXFxlYjkwXCJ9LmNpbC1zaWduYWwtY2VsbHVsYXItMzpiZWZvcmV7Y29udGVudDpcIlxcZWI5M1wifS5jaWwtc2lnbmFsLWNlbGx1bGFyLTQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTRcIn0uY2lsLXRhYmxldDpiZWZvcmV7Y29udGVudDpcIlxcZWI5Y1wifS5jaWwtdGFzazpiZWZvcmV7Y29udGVudDpcIlxcZWI5ZFwifS5jaWwtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOWVcIn0uY2lsLXdhdGNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzA1XCJ9LmNpbC0zZDpiZWZvcmV7Y29udGVudDpcIlxcZTkwMVwifS5jaWwtYXBlcnR1cmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDNcIn0uY2lsLWJsdXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDZcIn0uY2lsLWJsdXItY2lyY3VsYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDdcIn0uY2lsLWJsdXItbGluZWFyOmJlZm9yZXtjb250ZW50OlwiXFxlOTA4XCJ9LmNpbC1ib3JkZXItYWxsOmJlZm9yZXtjb250ZW50OlwiXFxlOTBiXCJ9LmNpbC1ib3JkZXItYm90dG9tOmJlZm9yZXtjb250ZW50OlwiXFxlOTBjXCJ9LmNpbC1ib3JkZXItY2xlYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGRcIn0uY2lsLWJvcmRlci1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OlwiXFxlOTBlXCJ9LmNpbC1ib3JkZXItaW5uZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGZcIn0uY2lsLWJvcmRlci1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlOTEwXCJ9LmNpbC1ib3JkZXItb3V0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTFcIn0uY2lsLWJvcmRlci1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTkxMlwifS5jaWwtYm9yZGVyLXN0eWxlOmJlZm9yZXtjb250ZW50OlwiXFxlOTEzXCJ9LmNpbC1ib3JkZXItdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlOTE0XCJ9LmNpbC1ib3JkZXItdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTVcIn0uY2lsLWJydXNoOmJlZm9yZXtjb250ZW50OlwiXFxlOTE2XCJ9LmNpbC1icnVzaC1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTdcIn0uY2lsLWNhbWVyYS1yb2xsOmJlZm9yZXtjb250ZW50OlwiXFxlOTE4XCJ9LmNpbC1jZW50ZXItZm9jdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTlcIn0uY2lsLWNvbG9yLWJvcmRlcjpiZWZvcmV7Y29udGVudDpcIlxcZTkxYlwifS5jaWwtY29sb3ItZmlsbDpiZWZvcmV7Y29udGVudDpcIlxcZTkxY1wifS5jaWwtY29sb3ItcGFsZXR0ZTpiZWZvcmV7Y29udGVudDpcIlxcZTkxZFwifS5jaWwtY29udHJhc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MWZcIn0uY2lsLWNyb3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MjBcIn0uY2lsLWNyb3Atcm90YXRlOmJlZm9yZXtjb250ZW50OlwiXFxlOTIxXCJ9LmNpbC1jdXJzb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MjJcIn0uY2lsLWN1cnNvci1tb3ZlOmJlZm9yZXtjb250ZW50OlwiXFxlOTIzXCJ9LmNpbC1kcm9wOmJlZm9yZXtjb250ZW50OlwiXFxlOTI0XCJ9LmNpbC1leHBvc3VyZTpiZWZvcmV7Y29udGVudDpcIlxcZTkyNlwifS5jaWwtZXllZHJvcHBlcjpiZWZvcmV7Y29udGVudDpcIlxcZTkzMFwifS5jaWwtZmlsdGVyLWZyYW1lczpiZWZvcmV7Y29udGVudDpcIlxcZTkzY1wifS5jaWwtZmlsdGVyLXBob3RvOmJlZm9yZXtjb250ZW50OlwiXFxlOTQ4XCJ9LmNpbC1mbGlwOmJlZm9yZXtjb250ZW50OlwiXFxlOTUyXCJ9LmNpbC1mbGlwLXRvLWJhY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTNcIn0uY2lsLWZsaXAtdG8tZnJvbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTRcIn0uY2lsLWdpZjpiZWZvcmV7Y29udGVudDpcIlxcZTk1NVwifS5jaWwtZ3JhZGllbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTZcIn0uY2lsLWdyYWluOmJlZm9yZXtjb250ZW50OlwiXFxlOTYwXCJ9LmNpbC1ncmlkOmJlZm9yZXtjb250ZW50OlwiXFxlOTYxXCJ9LmNpbC1ncmlkLXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlOTYyXCJ9LmNpbC1oZHI6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjNcIn0uY2lsLWhlYWxpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWRcIn0uY2lsLWltYWdlLWJyb2tlbjpiZWZvcmV7Y29udGVudDpcIlxcZTk5ZlwifS5jaWwtaW1hZ2UtcGx1czpiZWZvcmV7Y29udGVudDpcIlxcZTlhMFwifS5jaWwtbGF5ZXJzOmJlZm9yZXtjb250ZW50OlwiXFxlOWFkXCJ9LmNpbC1saW5lLXN0eWxlOmJlZm9yZXtjb250ZW50OlwiXFxlOWFmXCJ9LmNpbC1saW5lLXdlaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTliOVwifS5jaWwtb2JqZWN0LWdyb3VwOmJlZm9yZXtjb250ZW50OlwiXFxlOWJiXCJ9LmNpbC1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDpcIlxcZTljM1wifS5jaWwtb3BhY2l0eTpiZWZvcmV7Y29udGVudDpcIlxcZTlmNFwifS5jaWwtcGFpbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZjdcIn0uY2lsLXBhaW50LWJ1Y2tldDpiZWZvcmV7Y29udGVudDpcIlxcZWEwNlwifS5jaWwtc3dhcC1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OlwiXFxlYTBlXCJ9LmNpbC1zd2FwLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OlwiXFxlYTExXCJ9LmNpbC12ZWN0b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMTZcIn0uY2lsLXZlcnRpY2FsLWFsaWduLWJvdHRvbTE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzVcIn0uY2lsLXZlcnRpY2FsLWFsaWduLWNlbnRlcjE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2FcIn0uY2lsLXZlcnRpY2FsLWFsaWduLXRvcDE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2JcIn0uY2lsLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWE0MFwifS5jaWwtYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZWE0MVwifS5jaWwtYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDJcIn0uY2lsLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDNcIn0uY2lsLWNvcHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDRcIn0uY2lsLWN1dDpiZWZvcmV7Y29udGVudDpcIlxcZWE2MVwifS5jaWwtcmVtb3ZlOmJlZm9yZXtjb250ZW50OlwiXFxlYTg1XCJ9LmNpbC1iYWNrc3BhY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODVcIn0uY2lsLWRvdWJsZS1xdW90ZS1zYW5zLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODZcIn0uY2lsLWRvdWJsZS1xdW90ZS1zYW5zLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlYTg3XCJ9LmNpbC1leGNlcnB0OmJlZm9yZXtjb250ZW50OlwiXFxlYThhXCJ9LmNpbC1leHBhbmQtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZWE5Y1wifS5jaWwtZXhwYW5kLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOWRcIn0uY2lsLWV4cGFuZC1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZWE5ZVwifS5jaWwtZXhwYW5kLXVwOmJlZm9yZXtjb250ZW50OlwiXFxlYWE3XCJ9LmNpbC1mb250OmJlZm9yZXtjb250ZW50OlwiXFxlYWFlXCJ9LmNpbC1mdW5jdGlvbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYWZcIn0uY2lsLWZ1bmN0aW9ucy1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjBcIn0uY2lsLWhlYWRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWIwZVwifS5jaWwtaGlnaGxpZ2h0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMGZcIn0uY2lsLWhpZ2hsaWd0OmJlZm9yZXtjb250ZW50OlwiXFxlYjEwXCJ9LmNpbC1pbmRlbnQtZGVjcmVhc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMTFcIn0uY2lsLWluZGVudC1pbmNyZWFzZTpiZWZvcmV7Y29udGVudDpcIlxcZWIxMlwifS5jaWwtaW5mbzpiZWZvcmV7Y29udGVudDpcIlxcZWIxM1wifS5jaWwtaXRhbGljOmJlZm9yZXtjb250ZW50OlwiXFxlYjE0XCJ9LmNpbC1qdXN0aWZ5LWNlbnRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWIxNVwifS5jaWwtanVzdGlmeS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlYjE2XCJ9LmNpbC1qdXN0aWZ5LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlYjE3XCJ9LmNpbC1sZXZlbC1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxlYjE4XCJ9LmNpbC1sZXZlbC11cDpiZWZvcmV7Y29udGVudDpcIlxcZWIxOVwifS5jaWwtbGluZS1zcGFjaW5nOmJlZm9yZXtjb250ZW50OlwiXFxlYjFhXCJ9LmNpbC1saXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYjFiXCJ9LmNpbC1saXN0LWZpbHRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWIxY1wifS5jaWwtbGlzdC1oaWdoLXByaW9yaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYjFkXCJ9LmNpbC1saXN0LWxvdy1wcmlvcml0eTpiZWZvcmV7Y29udGVudDpcIlxcZWIxZVwifS5jaWwtbGlzdC1udW1iZXJlZDpiZWZvcmV7Y29udGVudDpcIlxcZWIxZlwifS5jaWwtbGlzdC1yaWNoOmJlZm9yZXtjb250ZW50OlwiXFxlYjIxXCJ9LmNpbC1ub3RlczpiZWZvcmV7Y29udGVudDpcIlxcZWIyMlwifS5jaWwtcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OlwiXFxlYjI0XCJ9LmNpbC1wZW4tYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYjI2XCJ9LmNpbC1wZW4tbmliOmJlZm9yZXtjb250ZW50OlwiXFxlYjI4XCJ9LmNpbC1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMjlcIn0uY2lsLXNob3J0LXRleHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMmFcIn0uY2lsLXNvcnQtYWxwaGEtZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZWIyYlwifS5jaWwtc29ydC1hbHBoYS11cDpiZWZvcmV7Y29udGVudDpcIlxcZWIyY1wifS5jaWwtc29ydC1hc2NlbmRpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMmRcIn0uY2lsLXNvcnQtZGVzY2VuZGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWIyZVwifS5jaWwtc29ydC1udW1lcmljLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGViMmZcIn0uY2lsLXNvcnQtbnVtZXJpYy11cDpiZWZvcmV7Y29udGVudDpcIlxcZWIzMFwifS5jaWwtc3BhY2UtYmFyOmJlZm9yZXtjb250ZW50OlwiXFxlYjMxXCJ9LmNpbC10ZXh0OmJlZm9yZXtjb250ZW50OlwiXFxlYjMyXCJ9LmNpbC10ZXh0LXNoYXBlczpiZWZvcmV7Y29udGVudDpcIlxcZWIzZFwifS5jaWwtdGV4dC1zaXplOmJlZm9yZXtjb250ZW50OlwiXFxlYjNlXCJ9LmNpbC10ZXh0LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZWIzZlwifS5jaWwtdGV4dC1zdHJpa2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDBcIn0uY2lsLXN0cmlrZXRocm91Z2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDBcIn0uY2lsLXRyYW5zbGF0ZTpiZWZvcmV7Y29udGVudDpcIlxcZWI0MlwifS5jaWwtdW5kZXJsaW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYjQzXCJ9LmNpbC12ZXJ0aWNhbC1hbGlnbi1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDRcIn0uY2lsLXZlcnRpY2FsLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWI0NVwifS5jaWwtdmVydGljYWwtYWxpZ24tdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlYjQ2XCJ9LmNpbC13cmFwLXRleHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDdcIn0uY2lsLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtOmJlZm9yZXtjb250ZW50OlwiXFxlOWQzXCJ9LmNpbC1ibGluZDpiZWZvcmV7Y29udGVudDpcIlxcZTlkY1wifS5jaWwtYnJhaWxsZTpiZWZvcmV7Y29udGVudDpcIlxcZTlkZFwifS5jaWwtZGVhZjpiZWZvcmV7Y29udGVudDpcIlxcZTlkZVwifS5jaWwtZmluZ2VycHJpbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWFcIn0uY2lsLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDpcIlxcZWExZFwifS5jaWwtbG9jay1sb2NrZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWVcIn0uY2lsLWxvY2stdW5sb2NrZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjRcIn0uY2lsLWxvdy12aXNpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjVcIn0uY2lsLW1vdXRoLXNsYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlYTI3XCJ9LmNpbC1wcmVnbmFudDpiZWZvcmV7Y29udGVudDpcIlxcZWEyOFwifS5jaWwtc2hpZWxkLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWEyZlwifS5jaWwtc2lnbi1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDpcIlxcZWE3N1wifS5jaWwtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDpcIlxcZWE4MFwifS5jaWwtZGlzYWJsZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODBcIn0uY2lsLWFjY291bnQtbG9nb3V0OmJlZm9yZXtjb250ZW50OlwiXFxlOTY0XCJ9LmNpbC1hY3Rpb24tcmVkbzpiZWZvcmV7Y29udGVudDpcIlxcZTk2NVwifS5jaWwtYWN0aW9uLXVuZG86YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjZcIn0uY2lsLWFwcGxpY2F0aW9uczpiZWZvcmV7Y29udGVudDpcIlxcZTk2N1wifS5jaWwtYXBwczpiZWZvcmV7Y29udGVudDpcIlxcZTk2N1wifS5jaWwtYXBwbGljYXRpb25zLXNldHRpbmdzOmJlZm9yZXtjb250ZW50OlwiXFxlOTY4XCJ9LmNpbC1hcHBzLXNldHRpbmdzOmJlZm9yZXtjb250ZW50OlwiXFxlOTY4XCJ9LmNpbC1hcnJvdy1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjlcIn0uY2lsLWFycm93LWNpcmNsZS1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmFcIn0uY2lsLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlOTZiXCJ9LmNpbC1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmNcIn0uY2lsLWFycm93LWNpcmNsZS10b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmRcIn0uY2lsLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmVcIn0uY2lsLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlOTZmXCJ9LmNpbC1hcnJvdy10aGljay1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NzBcIn0uY2lsLWFycm93LXRoaWNrLWZyb20tYm90dG9tOmJlZm9yZXtjb250ZW50OlwiXFxlOTgxXCJ9LmNpbC1hcnJvdy10aGljay1mcm9tLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODJcIn0uY2lsLWFycm93LXRoaWNrLWZyb20tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODNcIn0uY2lsLWFycm93LXRoaWNrLWZyb20tdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlOTliXCJ9LmNpbC1hcnJvdy10aGljay1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlOWExXCJ9LmNpbC1hcnJvdy10aGljay1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTlhMlwifS5jaWwtYXJyb3ctdGhpY2stdG8tYm90dG9tOmJlZm9yZXtjb250ZW50OlwiXFxlOWJjXCJ9LmNpbC1hcnJvdy10aGljay10by1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxlOWJkXCJ9LmNpbC1hcnJvdy10aGljay10by1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTliZlwifS5jaWwtYXJyb3ctdGhpY2stdG8tdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlOWQ0XCJ9LmNpbC1hcnJvdy10aGljay10b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YmVcIn0uY2lsLWFycm93LXRvcDpiZWZvcmV7Y29udGVudDpcIlxcZTllNFwifS5jaWwtYmFuOmJlZm9yZXtjb250ZW50OlwiXFxlOWU1XCJ9LmNpbC1icmlnaHRuZXNzOmJlZm9yZXtjb250ZW50OlwiXFxlOWU2XCJ9LmNpbC1jYXJldC1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmNcIn0uY2lsLWNhcmV0LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzBcIn0uY2lsLWNhcmV0LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlYTMxXCJ9LmNpbC1jYXJldC10b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2NcIn0uY2lsLWNoZWNrOmJlZm9yZXtjb250ZW50OlwiXFxlYTU1XCJ9LmNpbC1jaGVjay1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZjlcIn0uY2lsLWNoZWNrLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZWE1N1wifS5jaWwtY2hldnJvbi1ib3R0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNTlcIn0uY2lsLWNoZXZyb24tY2lyY2xlLWRvd24tYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlY2ZjXCJ9LmNpbC1jaGV2cm9uLWNpcmNsZS1sZWZ0LWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWNmZFwifS5jaWwtY2hldnJvbi1jaXJjbGUtcmlnaHQtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlY2ZlXCJ9LmNpbC1jaGV2cm9uLWNpcmNsZS11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZmZcIn0uY2lsLWNoZXZyb24tZG91YmxlLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNmFcIn0uY2lsLWNoZXZyb24tZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNmVcIn0uY2lsLWNoZXZyb24tZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxlYTczXCJ9LmNpbC1jaGV2cm9uLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDpcIlxcZWE4ZFwifS5jaWwtY2hldnJvbi1kb3VibGUtdXAtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlZDAzXCJ9LmNpbC1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOGVcIn0uY2lsLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOWFcIn0uY2lsLWNoZXZyb24tdG9wOmJlZm9yZXtjb250ZW50OlwiXFxlYWJkXCJ9LmNpbC1jbGVhci1hbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYmVcIn0uY2lsLWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZWFjMFwifS5jaWwtY2xvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzFcIn0uY2lsLWNvbHVtbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGJcIn0uY2lsLWV4aXQtdG8tYXBwOmJlZm9yZXtjb250ZW50OlwiXFxlYjRkXCJ9LmNpbC1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGVcIn0uY2lsLWluZmluaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYjRmXCJ9LmNpbC1pbnB1dDpiZWZvcmV7Y29udGVudDpcIlxcZWI1MFwifS5jaWwtbWFnbmlmeWluZy1nbGFzczpiZWZvcmV7Y29udGVudDpcIlxcZWI1MVwifS5jaWwtem9vbTpiZWZvcmV7Y29udGVudDpcIlxcZWI1MVwifS5jaWwtc2VhcmNoOmJlZm9yZXtjb250ZW50OlwiXFxlYjUxXCJ9LmNpbC1tZW51OmJlZm9yZXtjb250ZW50OlwiXFxlZDBiXCJ9LmNpbC1oYW1idXJnZXItbWVudTpiZWZvcmV7Y29udGVudDpcIlxcZWQwYlwifS5jaWwtbWludXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTJcIn0uY2lsLW1vdmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTZcIn0uY2lsLW9wdGlvbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjZGNcIn0uY2lsLW9wdGlvbnMtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDpcIlxcZWI1N1wifS5jaWwtZWxsaXBzZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTdcIn0uY2lsLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OlwiXFxlYjU3XCJ9LmNpbC1waW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWFcIn0uY2lsLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWJcIn0uY2lsLXBvd2VyLXN0YW5kYnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWZcIn0uY2lsLXJlbG9hZDpiZWZvcmV7Y29udGVudDpcIlxcZWI2MFwifS5jaWwtcmVzaXplLWJvdGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjFcIn0uY2lsLXJlc2l6ZS1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjJcIn0uY2lsLXJlc2l6ZS13aWR0aDpiZWZvcmV7Y29udGVudDpcIlxcZWI2M1wifS5jaWwtc2F2ZTpiZWZvcmV7Y29udGVudDpcIlxcZWI2NVwifS5jaWwtc2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjhcIn0uY2lsLWNvZzpiZWZvcmV7Y29udGVudDpcIlxcZWI2OFwifS5jaWwtc3BlZWRvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjlcIn0uY2lsLWdhdWdlOmJlZm9yZXtjb250ZW50OlwiXFxlYjY5XCJ9LmNpbC1zcHJlYWRzaGVldDpiZWZvcmV7Y29udGVudDpcIlxcZWI2YVwifS5jaWwtc3RvcmFnZTpiZWZvcmV7Y29udGVudDpcIlxcZWI2YlwifS5jaWwtc3luYzpiZWZvcmV7Y29udGVudDpcIlxcZWI2Y1wifS5jaWwtdG9nZ2xlLW9mZjpiZWZvcmV7Y29udGVudDpcIlxcZWI3MVwifS5jaWwtdG91Y2gtYXBwOmJlZm9yZXtjb250ZW50OlwiXFxlYjczXCJ9LmNpbC10cmFzaDpiZWZvcmV7Y29udGVudDpcIlxcZWI3NFwifS5jaWwtdmlldy1jb2x1bW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViZjZcIn0uY2lsLXZpZXctbW9kdWxlOmJlZm9yZXtjb250ZW50OlwiXFxlYmY3XCJ9LmNpbC12aWV3LXF1aWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYmY4XCJ9LmNpbC12aWV3LXN0cmVhbTpiZWZvcmV7Y29udGVudDpcIlxcZWJmOVwifS5jaWwtd2FsbHBhcGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYmZhXCJ9LmNpbC13aW5kb3ctbWF4aW1pemU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZmNcIn0uY2lsLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmV7Y29udGVudDpcIlxcZWJmZFwifS5jaWwtd2luZG93LXJlc3RvcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZmVcIn0uY2lsLXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZmZcIn0uY2lsLXgtY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxlYzAwXCJ9LmNpbC16b29tLWluOmJlZm9yZXtjb250ZW50OlwiXFxlYzAyXCJ9LmNpbC16b29tLW91dDpiZWZvcmV7Y29udGVudDpcIlxcZWMwM1wifS5jaWwtY2hpbGQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5N2VcIn0uY2lsLWJhYnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5N2VcIn0uY2lsLWZhY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODVcIn0uY2lsLWZhY2UtZGVhZDpiZWZvcmV7Y29udGVudDpcIlxcZTk4NlwifS5jaWwtZnJvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODdcIn0uY2lsLXNhZDpiZWZvcmV7Y29udGVudDpcIlxcZTk4N1wifS5jaWwtbWVoOmJlZm9yZXtjb250ZW50OlwiXFxlOTg4XCJ9LmNpbC1tb29kLWJhZDpiZWZvcmV7Y29udGVudDpcIlxcZTk4OVwifS5jaWwtbW9vZC1nb29kOmJlZm9yZXtjb250ZW50OlwiXFxlOThhXCJ9LmNpbC1tb29kLXZlcnktYmFkOmJlZm9yZXtjb250ZW50OlwiXFxlOThiXCJ9LmNpbC1tb29kLXZlcnktZ29vZDpiZWZvcmV7Y29udGVudDpcIlxcZTk4Y1wifS5jaWwtc21pbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YzRcIn0uY2lsLWhhcHB5OmJlZm9yZXtjb250ZW50OlwiXFxlOWM0XCJ9LmNpbC1zbWlsZS1wbHVzOmJlZm9yZXtjb250ZW50OlwiXFxlOWRhXCJ9LmNpbC00azpiZWZvcmV7Y29udGVudDpcIlxcZWE4MVwifS5jaWwtYWlycGxheTpiZWZvcmV7Y29udGVudDpcIlxcZWE4MlwifS5jaWwtYWxidW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODNcIn0uY2lsLWF1ZGlvOmJlZm9yZXtjb250ZW50OlwiXFxlYTkzXCJ9LmNpbC1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZWFhMlwifS5jaWwtYXVkaW8tc3BlY3RydW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYThcIn0uY2lsLWF2LXRpbWVyOmJlZm9yZXtjb250ZW50OlwiXFxlYWIxXCJ9LmNpbC1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjJcIn0uY2lsLWNhbWVyYS1jb250cm9sOmJlZm9yZXtjb250ZW50OlwiXFxlYWIzXCJ9LmNpbC1jb250cm9sOmJlZm9yZXtjb250ZW50OlwiXFxlYWIzXCJ9LmNpbC1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmV7Y29udGVudDpcIlxcZWFiOVwifS5jaWwtY2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjlcIn0uY2lsLWNvbXByZXNzOmJlZm9yZXtjb250ZW50OlwiXFxlYjRhXCJ9LmNpbC1lcXVhbGl6ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTBcIn0uY2lsLWZlYXR1cmVkLXBsYXlsaXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYzZjXCJ9LmNpbC1mdWxsc2NyZWVuOmJlZm9yZXtjb250ZW50OlwiXFxlYzczXCJ9LmNpbC1mdWxsc2NyZWVuLWV4aXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNzRcIn0uY2lsLWhkOmJlZm9yZXtjb250ZW50OlwiXFxlYzc1XCJ9LmNpbC1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OlwiXFxlYzc2XCJ9LmNpbC1saWJyYXJ5LWFkZDpiZWZvcmV7Y29udGVudDpcIlxcZWM3YVwifS5jaWwtbG9vcDpiZWZvcmV7Y29udGVudDpcIlxcZWM3Y1wifS5jaWwtbG9vcC0xOmJlZm9yZXtjb250ZW50OlwiXFxlYzdkXCJ9LmNpbC1sb29wLWNpcmN1bGFyOmJlZm9yZXtjb250ZW50OlwiXFxlYzdlXCJ9LmNpbC1tZWRpYS1lamVjdDpiZWZvcmV7Y29udGVudDpcIlxcZWM4MFwifS5jaWwtbWVkaWEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjODNcIn0uY2lsLW1lZGlhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjODZcIn0uY2lsLW1lZGlhLXJlY29yZDpiZWZvcmV7Y29udGVudDpcIlxcZWM4OVwifS5jaWwtbWVkaWEtc2tpcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZWM4Y1wifS5jaWwtbWVkaWEtc2tpcC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYzhmXCJ9LmNpbC1tZWRpYS1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYzkyXCJ9LmNpbC1tZWRpYS1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjOTVcIn0uY2lsLW1lZGlhLXN0b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjOThcIn0uY2lsLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjOWJcIn0uY2lsLW1pYzpiZWZvcmV7Y29udGVudDpcIlxcZWM5YlwifS5jaWwtbW92aWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjOWZcIn0uY2lsLW11c2ljLW5vdGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjYTFcIn0uY2lsLXBsYXlsaXN0LWFkZDpiZWZvcmV7Y29udGVudDpcIlxcZWNhNlwifS5jaWwtc3BlYWtlcjpiZWZvcmV7Y29udGVudDpcIlxcZWNiOVwifS5jaWwtdHY6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjYmNcIn0uY2lsLXZpZGVvOmJlZm9yZXtjb250ZW50OlwiXFxlY2MwXCJ9LmNpbC12b2ljZS1vdmVyLXJlY29yZDpiZWZvcmV7Y29udGVudDpcIlxcZWNjN1wifS5jaWwtdm9sdW1lLWhpZ2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjYzlcIn0uY2lsLXZvbHVtZS1sb3c6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjY2FcIn0uY2lsLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjY2JcIn0uY2lsLWF0OmJlZm9yZXtjb250ZW50OlwiXFxlOThmXCJ9LmNpbC1ib29rOmJlZm9yZXtjb250ZW50OlwiXFxlOTkwXCJ9LmNpbC1ib29rbWFyazpiZWZvcmV7Y29udGVudDpcIlxcZTk5MlwifS5jaWwtZGVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTZcIn0uY2lsLWVudmVsb3BlLWNsb3NlZDpiZWZvcmV7Y29udGVudDpcIlxcZTliNVwifS5jaWwtZW52ZWxvcGUtbGV0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxlOWI2XCJ9LmNpbC1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OlwiXFxlOWI3XCJ9LmNpbC1maWxlOmJlZm9yZXtjb250ZW50OlwiXFxlOWM1XCJ9LmNpbC1maW5kLWluLXBhZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYWFcIn0uY2lsLWZvbGRlcjpiZWZvcmV7Y29udGVudDpcIlxcZTlkOFwifS5jaWwtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZDlcIn0uY2lsLWltYWdlMTpiZWZvcmV7Y29udGVudDpcIlxcZTlmZVwifS5jaWwtaW5ib3g6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMDBcIn0uY2lsLWxpYnJhcnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjBcIn0uY2lsLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDpcIlxcZWEzZVwifS5jaWwtdGFnOmJlZm9yZXtjb250ZW50OlwiXFxlYTk3XCJ9LmNpbC10YWdzOmJlZm9yZXtjb250ZW50OlwiXFxlYTk4XCJ9LmNpbC1hZGRyZXNzLWJvb2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMDdcIn0uY2lsLXBlb3BsZTpiZWZvcmV7Y29udGVudDpcIlxcZWM2MlwifS5jaWwtdXNlcjpiZWZvcmV7Y29udGVudDpcIlxcZWM2N1wifS5jaWwtdXNlci1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjNjhcIn0uY2lsLXVzZXItZm9sbG93OmJlZm9yZXtjb250ZW50OlwiXFxlYzY5XCJ9LmNpbC11c2VyLXVuZm9sbG93OmJlZm9yZXtjb250ZW50OlwiXFxlYzZiXCJ9LmNpbC1haXJwbGFuZS1tb2RlOmJlZm9yZXtjb250ZW50OlwiXFxlOTA0XCJ9LmNpbC1haXJwbGFuZS1tb2RlLW9mZjpiZWZvcmV7Y29udGVudDpcIlxcZTkwNVwifS5jaWwtY29udGFjdDpiZWZvcmV7Y29udGVudDpcIlxcZTkzM1wifS5jaWwtZGlhbHBhZDpiZWZvcmV7Y29udGVudDpcIlxcZTkzZlwifS5jaWwtbW9iaWxlOmJlZm9yZXtjb250ZW50OlwiXFxlYTQ4XCJ9LmNpbC1tb2JpbGUtbGFuZHNjYXBlOmJlZm9yZXtjb250ZW50OlwiXFxlOTQ0XCJ9LmNpbC1waG9uZTpiZWZvcmV7Y29udGVudDpcIlxcZTk0ZlwifS5jaWwtc2ltOmJlZm9yZXtjb250ZW50OlwiXFxlOTcyXCJ9LmNpbC1iaWtlOmJlZm9yZXtjb250ZW50OlwiXFxlYWU2XCJ9LmNpbC1ib2F0LWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWFlOVwifS5jaWwtYnVzLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWFlYlwifS5jaWwtY2FyLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWFlZVwifS5jaWwtZmxpZ2h0LXRha2VvZmY6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjJcIn0uY2lsLWxvY29tb3RpdmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjNcIn0uY2lsLXRheGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZmFcIn0uY2lsLXRydWNrOmJlZm9yZXtjb250ZW50OlwiXFxlYjAwXCJ9LmNpbC13YWxrOmJlZm9yZXtjb250ZW50OlwiXFxlYjAxXCJ9LmNpbC1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDpcIlxcZTk5NFwifS5jaWwtY2FsZW5kYXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTVcIn0uY2lsLWNsb2NrOmJlZm9yZXtjb250ZW50OlwiXFxlOWFhXCJ9LmNpbC1jb21wYXNzOmJlZm9yZXtjb250ZW50OlwiXFxlOWFiXCJ9LmNpbC1mbGFnLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZWMwYVwifS5jaWwtZ2xvYmUtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYTMyXCJ9LmNpbC1oaXN0b3J5OmJlZm9yZXtjb250ZW50OlwiXFxlOWY4XCJ9LmNpbC1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDpcIlxcZWEwY1wifS5jaWwtbG9jYXRpb24tcGluOmJlZm9yZXtjb250ZW50OlwiXFxlYTE3XCJ9LmNpbC1tYXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjBcIn0uY2lsLWJhbGFuY2Utc2NhbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzZcIn0uY2lsLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDpcIlxcZWFjYVwifS5jaWwtYmFza2V0OmJlZm9yZXtjb250ZW50OlwiXFxlYWNiXCJ9LmNpbC1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDBcIn0uY2lsLWJyaXRpc2gtcG91bmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjlcIn0uY2lsLWNhbGN1bGF0b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYmNcIn0uY2lsLWNhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYzBcIn0uY2lsLWNoYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxlYmM1XCJ9LmNpbC1jaGFydC1saW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYmM5XCJ9LmNpbC1jaGFydC1waWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViY2JcIn0uY2lsLWNyZWRpdC1jYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYmNlXCJ9LmNpbC1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViY2ZcIn0uY2lsLWV1cm86YmVmb3Jle2NvbnRlbnQ6XCJcXGViZDRcIn0uY2lsLWdlbTpiZWZvcmV7Y29udGVudDpcIlxcZWI0OFwifS5jaWwtZGlhbW9uZDpiZWZvcmV7Y29udGVudDpcIlxcZWI0OFwifS5jaWwtZ2lmdDpiZWZvcmV7Y29udGVudDpcIlxcZWI0OVwifS5jaWwtZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZDhcIn0uY2lsLW1vbmV5OmJlZm9yZXtjb250ZW50OlwiXFxlYzBkXCJ9LmNpbC1jYXNoOmJlZm9yZXtjb250ZW50OlwiXFxlYzBkXCJ9LmNpbC13YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTVcIn0uY2lsLXllbjpiZWZvcmV7Y29udGVudDpcIlxcZWJlNlwifS5jaWwtY2hhdC1idWJibGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDFcIn0uY2lsLWNvbW1lbnQtYnViYmxlOmJlZm9yZXtjb250ZW50OlwiXFxlYWQ0XCJ9LmNpbC1jb21tZW50LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZWFkZFwifS5jaWwtc3BlZWNoOmJlZm9yZXtjb250ZW50OlwiXFxlYWQyXCJ9LmNpbC1oYW5kLXBvaW50LWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZWFcIn0uY2lsLWhhbmQtcG9pbnQtbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZTllYlwifS5jaWwtaGFuZC1wb2ludC1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZTllY1wifS5jaWwtaGFuZC1wb2ludC11cDpiZWZvcmV7Y29udGVudDpcIlxcZTllZFwifS5jaWwtdGh1bWItZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZWE5ZlwifS5jaWwtdGh1bWItdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTAgXCJ9XG4vKiMgc291cmNlTWFwcGluZ1VSTD1mcmVlLm1pbi5jc3MubWFwICovIiwiLyohXG4gKiBDb3JlVUkgSWNvbnMgRnJlZSBPcGVuIFNvdXJjZSBJY29uc1xuICogQHZlcnNpb24gdjEuMC4xXG4gKiBAbGluayBodHRwczovL2NvcmV1aS5pby9pY29uc1xuICogQ29weXJpZ2h0IChjKSAyMDIwIGNyZWF0aXZlTGFicyDFgXVrYXN6IEhvbGVjemVrXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vY29yZXVpLmlvL2ljb25zL2xpY2Vuc2UpXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImNvcmVcIjtcbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NvcmVVSS1JY29ucy1GcmVlJztcbiAgc3JjOiAgdXJsKCcjeyRjb3JldWktaWNvbnMtZm9udC1wYXRofS9Db3JlVUktSWNvbnMtRnJlZS5lb3Q/NjRoNnhoJyk7XG4gIHNyYzogIHVybCgnI3skY29yZXVpLWljb25zLWZvbnQtcGF0aH0vQ29yZVVJLUljb25zLUZyZWUuZW90PzY0aDZ4aCNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJyN7JGNvcmV1aS1pY29ucy1mb250LXBhdGh9L0NvcmVVSS1JY29ucy1GcmVlLnR0Zj82NGg2eGgnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRjb3JldWktaWNvbnMtZm9udC1wYXRofS9Db3JlVUktSWNvbnMtRnJlZS53b2ZmPzY0aDZ4aCcpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnI3skY29yZXVpLWljb25zLWZvbnQtcGF0aH0vQ29yZVVJLUljb25zLUZyZWUuc3ZnPzY0aDZ4aCNDb3JlVUktSWNvbnMtRnJlZScpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cIiN7JGNvcmV1aS1pY29ucy1wcmVmaXh9XCJdLCBbY2xhc3MqPVwiICN7JGNvcmV1aS1pY29ucy1wcmVmaXh9XCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdDb3JlVUktSWNvbnMtRnJlZScgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBlYWNoICRpY29uLCAkdW5pY29kZSBpbiAkaWNvbnMge1xuICAuI3skY29yZXVpLWljb25zLXByZWZpeH0jeyRpY29ufSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogdW5pY29kZSgkdW5pY29kZSk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIENvcmVVSSBJY29ucyBGcmVlIE9wZW4gU291cmNlIEljb25zXG4gKiBAdmVyc2lvbiB2MS4wLjFcbiAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2ljb25zXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgY3JlYXRpdmVMYWJzIMWBdWthc3ogSG9sZWN6ZWtcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9jb3JldWkuaW8vaWNvbnMvbGljZW5zZSlcbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUZyZWUnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0NvcmVVSS1JY29ucy1GcmVlLmVvdD82NGg2eGhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUuZW90PzY0aDZ4aCNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUudHRmPzY0aDZ4aFwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUud29mZj82NGg2eGhcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUZyZWUuc3ZnPzY0aDZ4aCNDb3JlVUktSWNvbnMtRnJlZVwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImNpbC1cIl0sIFtjbGFzcyo9XCIgY2lsLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUZyZWUnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmNpbC1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMwZlwiO1xufVxuXG4uY2lsLWJpcnRoZGF5LWNha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTBcIjtcbn1cblxuLmNpbC1idXJnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTFcIjtcbn1cblxuLmNpbC1jb2ZmZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2RcIjtcbn1cblxuLmNpbC1kaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTJcIjtcbn1cblxuLmNpbC1kcmluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxM1wiO1xufVxuXG4uY2lsLWRyaW5rLWFsY29ob2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTRcIjtcbn1cblxuLmNpbC1mYXN0Zm9vZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxNVwiO1xufVxuXG4uY2lsLWxlbW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTBmXCI7XG59XG5cbi5jaWwtbXVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzE3XCI7XG59XG5cbi5jaWwtbXVnLXRlYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxOFwiO1xufVxuXG4uY2lsLXBpenphOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzE5XCI7XG59XG5cbi5jaWwtcmVzdGF1cmFudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxYVwiO1xufVxuXG4uY2lsLWJhdHRlcnktMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNVwiO1xufVxuXG4uY2lsLWJhdHRlcnktZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzVcIjtcbn1cblxuLmNpbC1iYXR0ZXJ5LTM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjRcIjtcbn1cblxuLmNpbC1iYXR0ZXJ5LTU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDdcIjtcbn1cblxuLmNpbC1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDdcIjtcbn1cblxuLmNpbC1iYXR0ZXJ5LWFsZXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2NjXCI7XG59XG5cbi5jaWwtYmF0dGVyeS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNkM1wiO1xufVxuXG4uY2lsLWJvbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjZDVcIjtcbn1cblxuLmNpbC1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2Q5XCI7XG59XG5cbi5jaWwtY2F0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFjXCI7XG59XG5cbi5jaWwtZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFkXCI7XG59XG5cbi5jaWwtZmxvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFlXCI7XG59XG5cbi5jaWwtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxZlwiO1xufVxuXG4uY2lsLWVjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxZlwiO1xufVxuXG4uY2lsLXBsYW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFmXCI7XG59XG5cbi5jaWwtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzIwXCI7XG59XG5cbi5jaWwtYW5pbWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzIwXCI7XG59XG5cbi5jaWwtdGVycmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyMVwiO1xufVxuXG4uY2lsLWFtZXJpY2FuLWZvb3RiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5jaWwtYmFzZWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjtcbn1cblxuLmNpbC1iYXNrZXRiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG59XG5cbi5jaWwtYm93bGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuXG4uY2lsLWZvb3RiYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNhXCI7XG59XG5cbi5jaWwtc29jY2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNhXCI7XG59XG5cbi5jaWwtZ29sZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MlwiO1xufVxuXG4uY2lsLWdvbGYtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc3XCI7XG59XG5cbi5jaWwtcm93aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg0XCI7XG59XG5cbi5jaWwtcnVubmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5OFwiO1xufVxuXG4uY2lsLXN3aW1taW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk5XCI7XG59XG5cbi5jaWwtdGVubmlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTljXCI7XG59XG5cbi5jaWwtdGVubmlzLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTZcIjtcbn1cblxuLmNpbC13ZWlnaHRsaWZpdG5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWIxXCI7XG59XG5cbi5jaWwtYnJvd3NlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0N1wiO1xufVxuXG4uY2lsLWNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMjJcIjtcbn1cblxuLmNpbC1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3OFwiO1xufVxuXG4uY2lsLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc5XCI7XG59XG5cbi5jaWwtY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdhXCI7XG59XG5cbi5jaWwtZGF0YS10cmFuc2Zlci1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE0XCI7XG59XG5cbi5jaWwtZGF0YS10cmFuc2Zlci11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhNVwiO1xufVxuXG4uY2lsLWV0aGVybmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzJhXCI7XG59XG5cbi5jaWwtZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljMFwiO1xufVxuXG4uY2lsLWh0dHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzJkXCI7XG59XG5cbi5jaWwtbGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzJlXCI7XG59XG5cbi5jaWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyZlwiO1xufVxuXG4uY2lsLWxpbmstYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzMwXCI7XG59XG5cbi5jaWwtbGluay1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cblxuLmNpbC1uZXdzcGFwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzdcIjtcbn1cblxuLmNpbC1wYXBlci1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzZFwiO1xufVxuXG4uY2lsLXNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2RcIjtcbn1cblxuLmNpbC1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmJcIjtcbn1cblxuLmNpbC1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3NFwiO1xufVxuXG4uY2lsLXNoYXJlLWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3NVwiO1xufVxuXG4uY2lsLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzNVwiO1xufVxuXG4uY2lsLXNoYXJlLWJveGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTc2XCI7XG59XG5cbi5jaWwtc2l0ZW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3Y1wiO1xufVxuXG4uY2lsLXN0cmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NFwiO1xufVxuXG4uY2lsLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWEzXCI7XG59XG5cbi5jaWwtd2lmaS1zaWduYWwtMDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzN1wiO1xufVxuXG4uY2lsLXdpZmktc2lnbmFsLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMzhcIjtcbn1cblxuLmNpbC13aWZpLXNpZ25hbC0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzM5XCI7XG59XG5cbi5jaWwtd2lmaS1zaWduYWwtNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzYlwiO1xufVxuXG4uY2lsLXdpZmktc2lnbmFsLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0MVwiO1xufVxuXG4uY2lsLWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzRcIjtcbn1cblxuLmNpbC1iYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU5XCI7XG59XG5cbi5jaWwtYmF0aHJvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTlcIjtcbn1cblxuLmNpbC1iZWFjaC1hY2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDNcIjtcbn1cblxuLmNpbC1iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzlcIjtcbn1cblxuLmNpbC1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YVwiO1xufVxuXG4uY2lsLWNhc2lubzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0NVwiO1xufVxuXG4uY2lsLWNoaWxkLWZyaWVuZGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzQ2XCI7XG59XG5cbi5jaWwtYmFieS1jYXJyaWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0NlwiO1xufVxuXG4uY2lsLXB1c2hjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0NlwiO1xufVxuXG4uY2lsLWNvdWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzQ4XCI7XG59XG5cbi5jaWwtc29mYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0OFwiO1xufVxuXG4uY2lsLWRvb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNDlcIjtcbn1cblxuLmNpbC1lbGV2YXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliMlwiO1xufVxuXG4uY2lsLWZyaWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0YVwiO1xufVxuXG4uY2lsLWdhcmFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0YlwiO1xufVxuXG4uY2lsLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjlcIjtcbn1cblxuLmNpbC1ob3NwaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmYVwiO1xufVxuXG4uY2lsLWhvdC10dWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNGNcIjtcbn1cblxuLmNpbC1ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0ZVwiO1xufVxuXG4uY2lsLWluZHVzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzRmXCI7XG59XG5cbi5jaWwtZmFjdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM0ZlwiO1xufVxuXG4uY2lsLWluZHVzdHJ5LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzUwXCI7XG59XG5cbi5jaWwtZmFjdG9yeS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1MFwiO1xufVxuXG4uY2lsLWluc3RpdHV0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzUxXCI7XG59XG5cbi5jaWwtbGlicmFyeS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1MVwiO1xufVxuXG4uY2lsLW1lZGljYWwtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNTRcIjtcbn1cblxuLmNpbC1wb29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzU1XCI7XG59XG5cbi5jaWwtcm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1NlwiO1xufVxuXG4uY2lsLXNjaG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1OFwiO1xufVxuXG4uY2lsLWVkdWNhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1OFwiO1xufVxuXG4uY2lsLXNob3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1OVwiO1xufVxuXG4uY2lsLXNtb2tlLWZyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNWFcIjtcbn1cblxuLmNpbC1zbW9rZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1YVwiO1xufVxuXG4uY2lsLXNtb2tpbmctcm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM1YlwiO1xufVxuXG4uY2lsLXNtb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzViXCI7XG59XG5cbi5jaWwtc3BhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzVjXCI7XG59XG5cbi5jaWwtdG9pbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzVkXCI7XG59XG5cbi5jaWwtd2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNWVcIjtcbn1cblxuLmNpbC13aW5kb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNWZcIjtcbn1cblxuLmNpbC1jbG91ZHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2JcIjtcbn1cblxuLmNpbC1tb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTM0XCI7XG59XG5cbi5jaWwtcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE2MlwiO1xufVxuXG4uY2lsLXNub3dmbGFrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3ZlwiO1xufVxuXG4uY2lsLXN1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NVwiO1xufVxuXG4uY2lsLWFsYXJtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjAyXCI7XG59XG5cbi5jaWwtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzOFwiO1xufVxuXG4uY2lsLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTRiXCI7XG59XG5cbi5jaWwtd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiOFwiO1xufVxuXG4uY2lsLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTY0XCI7XG59XG5cbi5jaWwtYXN0ZXJpc2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2YzXCI7XG59XG5cbi5jaWwtYmFkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmNcIjtcbn1cblxuLmNpbC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzFcIjtcbn1cblxuLmNpbC1kcm9wMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmNFwiO1xufVxuXG4uY2lsLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWY2XCI7XG59XG5cbi5jaWwtcHV6emxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2Y1XCI7XG59XG5cbi5jaWwtcmVjdGFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2Y3XCI7XG59XG5cbi5jaWwtc2NydWJiZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzJcIjtcbn1cblxuLmNpbC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOGZcIjtcbn1cblxuLmNpbC1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTkwXCI7XG59XG5cbi5jaWwtc3Rhci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTkxXCI7XG59XG5cbi5jaWwtdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTVcIjtcbn1cblxuLmNpbC1iYXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWRiXCI7XG59XG5cbi5jaWwtYmVha2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWUxXCI7XG59XG5cbi5jaWwtYmx1ZXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWYzXCI7XG59XG5cbi5jaWwtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTJiXCI7XG59XG5cbi5jaWwtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZFwiO1xufVxuXG4uY2lsLWRldmljZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNDdcIjtcbn1cblxuLmNpbC1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNWZcIjtcbn1cblxuLmNpbC1mb3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTZmXCI7XG59XG5cbi5jaWwtZ2FtZXBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3MFwiO1xufVxuXG4uY2lsLWlucHV0LWhkbWk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhN2VcIjtcbn1cblxuLmNpbC1pbnB1dC1wb3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NlwiO1xufVxuXG4uY2lsLWtleWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWFhXCI7XG59XG5cbi5jaWwtbGFwdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWFjXCI7XG59XG5cbi5jaWwtbGlnaHRidWxiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWFkXCI7XG59XG5cbi5jaWwtbWVtb3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjc4XCI7XG59XG5cbi5jaWwtbW9uaXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3YVwiO1xufVxuXG4uY2lsLW1vdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjdiXCI7XG59XG5cbi5jaWwtcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViN2RcIjtcbn1cblxuLmNpbC1xci1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjgwXCI7XG59XG5cbi5jaWwtc2F0ZWxpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViODJcIjtcbn1cblxuLmNpbC1zY3JlZW4tZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4NVwiO1xufVxuXG4uY2lsLXNjcmVlbi1zbWFydHBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjhjXCI7XG59XG5cbi5jaWwtc2lnbmFsLWNlbGx1bGFyLTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOTBcIjtcbn1cblxuLmNpbC1zaWduYWwtY2VsbHVsYXItMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5M1wiO1xufVxuXG4uY2lsLXNpZ25hbC1jZWxsdWxhci00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjk0XCI7XG59XG5cbi5jaWwtdGFibGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjljXCI7XG59XG5cbi5jaWwtdGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5ZFwiO1xufVxuXG4uY2lsLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjllXCI7XG59XG5cbi5jaWwtd2F0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDVcIjtcbn1cblxuLmNpbC0zZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuXG4uY2lsLWFwZXJ0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG59XG5cbi5jaWwtYmx1cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNlwiO1xufVxuXG4uY2lsLWJsdXItY2lyY3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmNpbC1ibHVyLWxpbmVhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuXG4uY2lsLWJvcmRlci1hbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGJcIjtcbn1cblxuLmNpbC1ib3JkZXItYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XG59XG5cbi5jaWwtYm9yZGVyLWNsZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG59XG5cbi5jaWwtYm9yZGVyLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGVcIjtcbn1cblxuLmNpbC1ib3JkZXItaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGZcIjtcbn1cblxuLmNpbC1ib3JkZXItbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMFwiO1xufVxuXG4uY2lsLWJvcmRlci1vdXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiO1xufVxuXG4uY2lsLWJvcmRlci1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMlwiO1xufVxuXG4uY2lsLWJvcmRlci1zdHlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxM1wiO1xufVxuXG4uY2lsLWJvcmRlci10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTRcIjtcbn1cblxuLmNpbC1ib3JkZXItdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTVcIjtcbn1cblxuLmNpbC1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuXG4uY2lsLWJydXNoLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxN1wiO1xufVxuXG4uY2lsLWNhbWVyYS1yb2xsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG59XG5cbi5jaWwtY2VudGVyLWZvY3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG59XG5cbi5jaWwtY29sb3ItYm9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFiXCI7XG59XG5cbi5jaWwtY29sb3ItZmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuXG4uY2lsLWNvbG9yLXBhbGV0dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWRcIjtcbn1cblxuLmNpbC1jb250cmFzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZlwiO1xufVxuXG4uY2lsLWNyb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjBcIjtcbn1cblxuLmNpbC1jcm9wLXJvdGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMVwiO1xufVxuXG4uY2lsLWN1cnNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMlwiO1xufVxuXG4uY2lsLWN1cnNvci1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG59XG5cbi5jaWwtZHJvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuXG4uY2lsLWV4cG9zdXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG5cbi5jaWwtZXllZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMFwiO1xufVxuXG4uY2lsLWZpbHRlci1mcmFtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2NcIjtcbn1cblxuLmNpbC1maWx0ZXItcGhvdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDhcIjtcbn1cblxuLmNpbC1mbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG5cbi5jaWwtZmxpcC10by1iYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUzXCI7XG59XG5cbi5jaWwtZmxpcC10by1mcm9udDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1NFwiO1xufVxuXG4uY2lsLWdpZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1NVwiO1xufVxuXG4uY2lsLWdyYWRpZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG5cbi5jaWwtZ3JhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjBcIjtcbn1cblxuLmNpbC1ncmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYxXCI7XG59XG5cbi5jaWwtZ3JpZC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2MlwiO1xufVxuXG4uY2lsLWhkcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2M1wiO1xufVxuXG4uY2lsLWhlYWxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OWRcIjtcbn1cblxuLmNpbC1pbWFnZS1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OWZcIjtcbn1cblxuLmNpbC1pbWFnZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWEwXCI7XG59XG5cbi5jaWwtbGF5ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWFkXCI7XG59XG5cbi5jaWwtbGluZS1zdHlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhZlwiO1xufVxuXG4uY2lsLWxpbmUtd2VpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWI5XCI7XG59XG5cbi5jaWwtb2JqZWN0LWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWJiXCI7XG59XG5cbi5jaWwtb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YzNcIjtcbn1cblxuLmNpbC1vcGFjaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWY0XCI7XG59XG5cbi5jaWwtcGFpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjdcIjtcbn1cblxuLmNpbC1wYWludC1idWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDZcIjtcbn1cblxuLmNpbC1zd2FwLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMGVcIjtcbn1cblxuLmNpbC1zd2FwLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTExXCI7XG59XG5cbi5jaWwtdmVjdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE2XCI7XG59XG5cbi5jaWwtdmVydGljYWwtYWxpZ24tYm90dG9tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzNVwiO1xufVxuXG4uY2lsLXZlcnRpY2FsLWFsaWduLWNlbnRlcjE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2FcIjtcbn1cblxuLmNpbC12ZXJ0aWNhbC1hbGlnbi10b3AxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTNiXCI7XG59XG5cbi5jaWwtYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQwXCI7XG59XG5cbi5jaWwtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0MVwiO1xufVxuXG4uY2lsLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQyXCI7XG59XG5cbi5jaWwtYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0M1wiO1xufVxuXG4uY2lsLWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNDRcIjtcbn1cblxuLmNpbC1jdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjFcIjtcbn1cblxuLmNpbC1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODVcIjtcbn1cblxuLmNpbC1iYWNrc3BhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODVcIjtcbn1cblxuLmNpbC1kb3VibGUtcXVvdGUtc2Fucy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTg2XCI7XG59XG5cbi5jaWwtZG91YmxlLXF1b3RlLXNhbnMtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODdcIjtcbn1cblxuLmNpbC1leGNlcnB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThhXCI7XG59XG5cbi5jaWwtZXhwYW5kLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWNcIjtcbn1cblxuLmNpbC1leHBhbmQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5ZFwiO1xufVxuXG4uY2lsLWV4cGFuZC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5ZVwiO1xufVxuXG4uY2lsLWV4cGFuZC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhN1wiO1xufVxuXG4uY2lsLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYWVcIjtcbn1cblxuLmNpbC1mdW5jdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYWZcIjtcbn1cblxuLmNpbC1mdW5jdGlvbnMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWIwXCI7XG59XG5cbi5jaWwtaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjBlXCI7XG59XG5cbi5jaWwtaGlnaGxpZ2h0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMGZcIjtcbn1cblxuLmNpbC1oaWdobGlndDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxMFwiO1xufVxuXG4uY2lsLWluZGVudC1kZWNyZWFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxMVwiO1xufVxuXG4uY2lsLWluZGVudC1pbmNyZWFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxMlwiO1xufVxuXG4uY2lsLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTNcIjtcbn1cblxuLmNpbC1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTRcIjtcbn1cblxuLmNpbC1qdXN0aWZ5LWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxNVwiO1xufVxuXG4uY2lsLWp1c3RpZnktbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxNlwiO1xufVxuXG4uY2lsLWp1c3RpZnktcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTdcIjtcbn1cblxuLmNpbC1sZXZlbC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjE4XCI7XG59XG5cbi5jaWwtbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTlcIjtcbn1cblxuLmNpbC1saW5lLXNwYWNpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWFcIjtcbn1cblxuLmNpbC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjFiXCI7XG59XG5cbi5jaWwtbGlzdC1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWNcIjtcbn1cblxuLmNpbC1saXN0LWhpZ2gtcHJpb3JpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWRcIjtcbn1cblxuLmNpbC1saXN0LWxvdy1wcmlvcml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxZVwiO1xufVxuXG4uY2lsLWxpc3QtbnVtYmVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWZcIjtcbn1cblxuLmNpbC1saXN0LXJpY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjFcIjtcbn1cblxuLmNpbC1ub3RlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyMlwiO1xufVxuXG4uY2lsLXBhcmFncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyNFwiO1xufVxuXG4uY2lsLXBlbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjZcIjtcbn1cblxuLmNpbC1wZW4tbmliOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjI4XCI7XG59XG5cbi5jaWwtcGVuY2lsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjI5XCI7XG59XG5cbi5jaWwtc2hvcnQtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyYVwiO1xufVxuXG4uY2lsLXNvcnQtYWxwaGEtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyYlwiO1xufVxuXG4uY2lsLXNvcnQtYWxwaGEtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMmNcIjtcbn1cblxuLmNpbC1zb3J0LWFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyZFwiO1xufVxuXG4uY2lsLXNvcnQtZGVzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyZVwiO1xufVxuXG4uY2lsLXNvcnQtbnVtZXJpYy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjJmXCI7XG59XG5cbi5jaWwtc29ydC1udW1lcmljLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjMwXCI7XG59XG5cbi5jaWwtc3BhY2UtYmFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjMxXCI7XG59XG5cbi5jaWwtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzMlwiO1xufVxuXG4uY2lsLXRleHQtc2hhcGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNkXCI7XG59XG5cbi5jaWwtdGV4dC1zaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNlXCI7XG59XG5cbi5jaWwtdGV4dC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViM2ZcIjtcbn1cblxuLmNpbC10ZXh0LXN0cmlrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0MFwiO1xufVxuXG4uY2lsLXN0cmlrZXRocm91Z2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDBcIjtcbn1cblxuLmNpbC10cmFuc2xhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDJcIjtcbn1cblxuLmNpbC11bmRlcmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDNcIjtcbn1cblxuLmNpbC12ZXJ0aWNhbC1hbGlnbi1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDRcIjtcbn1cblxuLmNpbC12ZXJ0aWNhbC1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDVcIjtcbn1cblxuLmNpbC12ZXJ0aWNhbC1hbGlnbi10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDZcIjtcbn1cblxuLmNpbC13cmFwLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDdcIjtcbn1cblxuLmNpbC1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkM1wiO1xufVxuXG4uY2lsLWJsaW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWRjXCI7XG59XG5cbi5jaWwtYnJhaWxsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkZFwiO1xufVxuXG4uY2lsLWRlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZGVcIjtcbn1cblxuLmNpbC1maW5nZXJwcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExYVwiO1xufVxuXG4uY2lsLWxpZmUtcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExZFwiO1xufVxuXG4uY2lsLWxvY2stbG9ja2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFlXCI7XG59XG5cbi5jaWwtbG9jay11bmxvY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyNFwiO1xufVxuXG4uY2lsLWxvdy12aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjVcIjtcbn1cblxuLmNpbC1tb3V0aC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyN1wiO1xufVxuXG4uY2lsLXByZWduYW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI4XCI7XG59XG5cbi5jaWwtc2hpZWxkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZlwiO1xufVxuXG4uY2lsLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzdcIjtcbn1cblxuLmNpbC13aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgwXCI7XG59XG5cbi5jaWwtZGlzYWJsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODBcIjtcbn1cblxuLmNpbC1hY2NvdW50LWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2NFwiO1xufVxuXG4uY2lsLWFjdGlvbi1yZWRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY1XCI7XG59XG5cbi5jaWwtYWN0aW9uLXVuZG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjZcIjtcbn1cblxuLmNpbC1hcHBsaWNhdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjdcIjtcbn1cblxuLmNpbC1hcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY3XCI7XG59XG5cbi5jaWwtYXBwbGljYXRpb25zLXNldHRpbmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY4XCI7XG59XG5cbi5jaWwtYXBwcy1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2OFwiO1xufVxuXG4uY2lsLWFycm93LWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2OVwiO1xufVxuXG4uY2lsLWFycm93LWNpcmNsZS1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmFcIjtcbn1cblxuLmNpbC1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2YlwiO1xufVxuXG4uY2lsLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2Y1wiO1xufVxuXG4uY2lsLWFycm93LWNpcmNsZS10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmRcIjtcbn1cblxuLmNpbC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTZlXCI7XG59XG5cbi5jaWwtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmZcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzBcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay1mcm9tLWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4MVwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLWZyb20tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4MlwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLWZyb20tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODNcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay1mcm9tLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5YlwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTFcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhMlwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLXRvLWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliY1wiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLXRvLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YmRcIjtcbn1cblxuLmNpbC1hcnJvdy10aGljay10by1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliZlwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLXRvLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkNFwiO1xufVxuXG4uY2lsLWFycm93LXRoaWNrLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliZVwiO1xufVxuXG4uY2lsLWFycm93LXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllNFwiO1xufVxuXG4uY2lsLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllNVwiO1xufVxuXG4uY2lsLWJyaWdodG5lc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTZcIjtcbn1cblxuLmNpbC1jYXJldC1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMmNcIjtcbn1cblxuLmNpbC1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMwXCI7XG59XG5cbi5jaWwtY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzFcIjtcbn1cblxuLmNpbC1jYXJldC10b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2NcIjtcbn1cblxuLmNpbC1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1NVwiO1xufVxuXG4uY2lsLWNoZWNrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmOVwiO1xufVxuXG4uY2lsLWNoZWNrLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1N1wiO1xufVxuXG4uY2lsLWNoZXZyb24tYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTU5XCI7XG59XG5cbi5jaWwtY2hldnJvbi1jaXJjbGUtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjZmNcIjtcbn1cblxuLmNpbC1jaGV2cm9uLWNpcmNsZS1sZWZ0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmZFwiO1xufVxuXG4uY2lsLWNoZXZyb24tY2lyY2xlLXJpZ2h0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmZVwiO1xufVxuXG4uY2lsLWNoZXZyb24tY2lyY2xlLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNmZlwiO1xufVxuXG4uY2lsLWNoZXZyb24tZG91YmxlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmFcIjtcbn1cblxuLmNpbC1jaGV2cm9uLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTZlXCI7XG59XG5cbi5jaWwtY2hldnJvbi1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzNcIjtcbn1cblxuLmNpbC1jaGV2cm9uLWRvdWJsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4ZFwiO1xufVxuXG4uY2lsLWNoZXZyb24tZG91YmxlLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWQwM1wiO1xufVxuXG4uY2lsLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4ZVwiO1xufVxuXG4uY2lsLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWFcIjtcbn1cblxuLmNpbC1jaGV2cm9uLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiZFwiO1xufVxuXG4uY2lsLWNsZWFyLWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiZVwiO1xufVxuXG4uY2lsLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjMFwiO1xufVxuXG4uY2lsLWNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWMxXCI7XG59XG5cbi5jaWwtY29sdW1uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0YlwiO1xufVxuXG4uY2lsLWV4aXQtdG8tYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRkXCI7XG59XG5cbi5jaWwtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRlXCI7XG59XG5cbi5jaWwtaW5maW5pdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNGZcIjtcbn1cblxuLmNpbC1pbnB1dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1MFwiO1xufVxuXG4uY2lsLW1hZ25pZnlpbmctZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTFcIjtcbn1cblxuLmNpbC16b29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjUxXCI7XG59XG5cbi5jaWwtc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjUxXCI7XG59XG5cbi5jaWwtbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWQwYlwiO1xufVxuXG4uY2lsLWhhbWJ1cmdlci1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlZDBiXCI7XG59XG5cbi5jaWwtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTJcIjtcbn1cblxuLmNpbC1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU2XCI7XG59XG5cbi5jaWwtb3B0aW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNkY1wiO1xufVxuXG4uY2lsLW9wdGlvbnMtaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1N1wiO1xufVxuXG4uY2lsLWVsbGlwc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU3XCI7XG59XG5cbi5jaWwtZWxsaXBzaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTdcIjtcbn1cblxuLmNpbC1waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWFcIjtcbn1cblxuLmNpbC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjViXCI7XG59XG5cbi5jaWwtcG93ZXItc3RhbmRieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1ZlwiO1xufVxuXG4uY2lsLXJlbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2MFwiO1xufVxuXG4uY2lsLXJlc2l6ZS1ib3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjYxXCI7XG59XG5cbi5jaWwtcmVzaXplLWhlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2MlwiO1xufVxuXG4uY2lsLXJlc2l6ZS13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2M1wiO1xufVxuXG4uY2lsLXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjVcIjtcbn1cblxuLmNpbC1zZXR0aW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2OFwiO1xufVxuXG4uY2lsLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2OFwiO1xufVxuXG4uY2lsLXNwZWVkb21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjY5XCI7XG59XG5cbi5jaWwtZ2F1Z2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjlcIjtcbn1cblxuLmNpbC1zcHJlYWRzaGVldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2YVwiO1xufVxuXG4uY2lsLXN0b3JhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmJcIjtcbn1cblxuLmNpbC1zeW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjZjXCI7XG59XG5cbi5jaWwtdG9nZ2xlLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3MVwiO1xufVxuXG4uY2lsLXRvdWNoLWFwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3M1wiO1xufVxuXG4uY2lsLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjc0XCI7XG59XG5cbi5jaWwtdmlldy1jb2x1bW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjZcIjtcbn1cblxuLmNpbC12aWV3LW1vZHVsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmN1wiO1xufVxuXG4uY2lsLXZpZXctcXVpbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjhcIjtcbn1cblxuLmNpbC12aWV3LXN0cmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmOVwiO1xufVxuXG4uY2lsLXdhbGxwYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmYVwiO1xufVxuXG4uY2lsLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmY1wiO1xufVxuXG4uY2lsLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmZFwiO1xufVxuXG4uY2lsLXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZlXCI7XG59XG5cbi5jaWwteDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmZlwiO1xufVxuXG4uY2lsLXgtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzAwXCI7XG59XG5cbi5jaWwtem9vbS1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMwMlwiO1xufVxuXG4uY2lsLXpvb20tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzAzXCI7XG59XG5cbi5jaWwtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2VcIjtcbn1cblxuLmNpbC1iYWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdlXCI7XG59XG5cbi5jaWwtZmFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4NVwiO1xufVxuXG4uY2lsLWZhY2UtZGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4NlwiO1xufVxuXG4uY2lsLWZyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg3XCI7XG59XG5cbi5jaWwtc2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg3XCI7XG59XG5cbi5jaWwtbWVoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg4XCI7XG59XG5cbi5jaWwtbW9vZC1iYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODlcIjtcbn1cblxuLmNpbC1tb29kLWdvb2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGFcIjtcbn1cblxuLmNpbC1tb29kLXZlcnktYmFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThiXCI7XG59XG5cbi5jaWwtbW9vZC12ZXJ5LWdvb2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGNcIjtcbn1cblxuLmNpbC1zbWlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljNFwiO1xufVxuXG4uY2lsLWhhcHB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWM0XCI7XG59XG5cbi5jaWwtc21pbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkYVwiO1xufVxuXG4uY2lsLTRrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgxXCI7XG59XG5cbi5jaWwtYWlycGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4MlwiO1xufVxuXG4uY2lsLWFsYnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgzXCI7XG59XG5cbi5jaWwtYXVkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTNcIjtcbn1cblxuLmNpbC1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhMlwiO1xufVxuXG4uY2lsLWF1ZGlvLXNwZWN0cnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWE4XCI7XG59XG5cbi5jaWwtYXYtdGltZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjFcIjtcbn1cblxuLmNpbC1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjJcIjtcbn1cblxuLmNpbC1jYW1lcmEtY29udHJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiM1wiO1xufVxuXG4uY2lsLWNvbnRyb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjNcIjtcbn1cblxuLmNpbC1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiOVwiO1xufVxuXG4uY2lsLWNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI5XCI7XG59XG5cbi5jaWwtY29tcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNGFcIjtcbn1cblxuLmNpbC1lcXVhbGl6ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYTBcIjtcbn1cblxuLmNpbC1mZWF0dXJlZC1wbGF5bGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM2Y1wiO1xufVxuXG4uY2lsLWZ1bGxzY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNzNcIjtcbn1cblxuLmNpbC1mdWxsc2NyZWVuLWV4aXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNzRcIjtcbn1cblxuLmNpbC1oZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM3NVwiO1xufVxuXG4uY2lsLWhlYWRwaG9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNzZcIjtcbn1cblxuLmNpbC1saWJyYXJ5LWFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM3YVwiO1xufVxuXG4uY2lsLWxvb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjN2NcIjtcbn1cblxuLmNpbC1sb29wLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjN2RcIjtcbn1cblxuLmNpbC1sb29wLWNpcmN1bGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzdlXCI7XG59XG5cbi5jaWwtbWVkaWEtZWplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjODBcIjtcbn1cblxuLmNpbC1tZWRpYS1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM4M1wiO1xufVxuXG4uY2lsLW1lZGlhLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjODZcIjtcbn1cblxuLmNpbC1tZWRpYS1yZWNvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjODlcIjtcbn1cblxuLmNpbC1tZWRpYS1za2lwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzhjXCI7XG59XG5cbi5jaWwtbWVkaWEtc2tpcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzhmXCI7XG59XG5cbi5jaWwtbWVkaWEtc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM5MlwiO1xufVxuXG4uY2lsLW1lZGlhLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM5NVwiO1xufVxuXG4uY2lsLW1lZGlhLXN0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjOThcIjtcbn1cblxuLmNpbC1taWNyb3Bob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzliXCI7XG59XG5cbi5jaWwtbWljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzliXCI7XG59XG5cbi5jaWwtbW92aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjOWZcIjtcbn1cblxuLmNpbC1tdXNpYy1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2ExXCI7XG59XG5cbi5jaWwtcGxheWxpc3QtYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2E2XCI7XG59XG5cbi5jaWwtc3BlYWtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNiOVwiO1xufVxuXG4uY2lsLXR2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2JjXCI7XG59XG5cbi5jaWwtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjYzBcIjtcbn1cblxuLmNpbC12b2ljZS1vdmVyLXJlY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNjN1wiO1xufVxuXG4uY2lsLXZvbHVtZS1oaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlY2M5XCI7XG59XG5cbi5jaWwtdm9sdW1lLWxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWNjYVwiO1xufVxuXG4uY2lsLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjY2JcIjtcbn1cblxuLmNpbC1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4ZlwiO1xufVxuXG4uY2lsLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTBcIjtcbn1cblxuLmNpbC1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5MlwiO1xufVxuXG4uY2lsLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmE2XCI7XG59XG5cbi5jaWwtZW52ZWxvcGUtY2xvc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWI1XCI7XG59XG5cbi5jaWwtZW52ZWxvcGUtbGV0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWI2XCI7XG59XG5cbi5jaWwtZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliN1wiO1xufVxuXG4uY2lsLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YzVcIjtcbn1cblxuLmNpbC1maW5kLWluLXBhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYWFcIjtcbn1cblxuLmNpbC1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDhcIjtcbn1cblxuLmNpbC1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkOVwiO1xufVxuXG4uY2lsLWltYWdlMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmZVwiO1xufVxuXG4uY2lsLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTAwXCI7XG59XG5cbi5jaWwtbGlicmFyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiMFwiO1xufVxuXG4uY2lsLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzZVwiO1xufVxuXG4uY2lsLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5N1wiO1xufVxuXG4uY2lsLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOThcIjtcbn1cblxuLmNpbC1hZGRyZXNzLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDdcIjtcbn1cblxuLmNpbC1wZW9wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNjJcIjtcbn1cblxuLmNpbC11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzY3XCI7XG59XG5cbi5jaWwtdXNlci1mZW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNjhcIjtcbn1cblxuLmNpbC11c2VyLWZvbGxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWM2OVwiO1xufVxuXG4uY2lsLXVzZXItdW5mb2xsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjNmJcIjtcbn1cblxuLmNpbC1haXJwbGFuZS1tb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG5cbi5jaWwtYWlycGxhbmUtbW9kZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cblxuLmNpbC1jb250YWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG5cbi5jaWwtZGlhbHBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZlwiO1xufVxuXG4uY2lsLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0OFwiO1xufVxuXG4uY2lsLW1vYmlsZS1sYW5kc2NhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDRcIjtcbn1cblxuLmNpbC1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZlwiO1xufVxuXG4uY2lsLXNpbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3MlwiO1xufVxuXG4uY2lsLWJpa2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZTZcIjtcbn1cblxuLmNpbC1ib2F0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlOVwiO1xufVxuXG4uY2lsLWJ1cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZWJcIjtcbn1cblxuLmNpbC1jYXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWVlXCI7XG59XG5cbi5jaWwtZmxpZ2h0LXRha2VvZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjJcIjtcbn1cblxuLmNpbC1sb2NvbW90aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWYzXCI7XG59XG5cbi5jaWwtdGF4aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmYVwiO1xufVxuXG4uY2lsLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjAwXCI7XG59XG5cbi5jaWwtd2FsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwMVwiO1xufVxuXG4uY2lsLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk0XCI7XG59XG5cbi5jaWwtY2FsZW5kYXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTVcIjtcbn1cblxuLmNpbC1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhYVwiO1xufVxuXG4uY2lsLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YWJcIjtcbn1cblxuLmNpbC1mbGFnLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMwYVwiO1xufVxuXG4uY2lsLWdsb2JlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzMlwiO1xufVxuXG4uY2lsLWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjhcIjtcbn1cblxuLmNpbC1sYW5ndWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwY1wiO1xufVxuXG4uY2lsLWxvY2F0aW9uLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExN1wiO1xufVxuXG4uY2lsLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyMFwiO1xufVxuXG4uY2lsLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzZcIjtcbn1cblxuLmNpbC1iYXItY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2FcIjtcbn1cblxuLmNpbC1iYXNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2JcIjtcbn1cblxuLmNpbC1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDBcIjtcbn1cblxuLmNpbC1icml0aXNoLXBvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmI5XCI7XG59XG5cbi5jaWwtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiY1wiO1xufVxuXG4uY2lsLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzBcIjtcbn1cblxuLmNpbC1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjNVwiO1xufVxuXG4uY2lsLWNoYXJ0LWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzlcIjtcbn1cblxuLmNpbC1jaGFydC1waWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2JcIjtcbn1cblxuLmNpbC1jcmVkaXQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjZVwiO1xufVxuXG4uY2lsLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjZlwiO1xufVxuXG4uY2lsLWV1cm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZDRcIjtcbn1cblxuLmNpbC1nZW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDhcIjtcbn1cblxuLmNpbC1kaWFtb25kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjQ4XCI7XG59XG5cbi5jaWwtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0OVwiO1xufVxuXG4uY2lsLWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ4XCI7XG59XG5cbi5jaWwtbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMGRcIjtcbn1cblxuLmNpbC1jYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzBkXCI7XG59XG5cbi5jaWwtd2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmU1XCI7XG59XG5cbi5jaWwteWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmU2XCI7XG59XG5cbi5jaWwtY2hhdC1idWJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDFcIjtcbn1cblxuLmNpbC1jb21tZW50LWJ1YmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkNFwiO1xufVxuXG4uY2lsLWNvbW1lbnQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRkXCI7XG59XG5cbi5jaWwtc3BlZWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWQyXCI7XG59XG5cbi5jaWwtaGFuZC1wb2ludC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWVhXCI7XG59XG5cbi5jaWwtaGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWViXCI7XG59XG5cbi5jaWwtaGFuZC1wb2ludC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllY1wiO1xufVxuXG4uY2lsLWhhbmQtcG9pbnQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZWRcIjtcbn1cblxuLmNpbC10aHVtYi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTlmXCI7XG59XG5cbi5jaWwtdGh1bWItdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTAgXCI7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWZyZWUuY3NzLm1hcCAqLyIsIkBjaGFyc2V0IFwiVVRGLThcIjsvKiFcbiAqIENvcmVVSSBJY29ucyAtIEJyYW5kIEljb25zXG4gKiBAdmVyc2lvbiB2MS4wLjFcbiAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL2ljb25zL2JyYW5kL1xuICogQ29weXJpZ2h0IChjKSAyMDIwIGNyZWF0aXZlTGFicyDFgXVrYXN6IEhvbGVjemVrXG4gKiBMaWNlbnNlZCB1bmRlciBDQzAgMS4wIFVuaXZlcnNhbFxuICovQGZvbnQtZmFjZXtmb250LWZhbWlseTpDb3JlVUktSWNvbnMtQnJhbmQ7c3JjOnVybCguLi9mb250cy9Db3JlVUktSWNvbnMtQnJhbmQuZW90PzY0aDZ4aCk7c3JjOnVybCguLi9mb250cy9Db3JlVUktSWNvbnMtQnJhbmQuZW90PzY0aDZ4aCNpZWZpeCkgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksdXJsKC4uL2ZvbnRzL0NvcmVVSS1JY29ucy1CcmFuZC50dGY/NjRoNnhoKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSx1cmwoLi4vZm9udHMvQ29yZVVJLUljb25zLUJyYW5kLndvZmY/NjRoNnhoKSBmb3JtYXQoXCJ3b2ZmXCIpLHVybCguLi9mb250cy9Db3JlVUktSWNvbnMtQnJhbmQuc3ZnPzY0aDZ4aCNDb3JlVUktSWNvbnMtTGluZWFyKSBmb3JtYXQoXCJzdmdcIik7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfVtjbGFzcyo9XCIgY2liLVwiXSxbY2xhc3NePWNpYi1de2ZvbnQtZmFtaWx5OkNvcmVVSS1JY29ucy1CcmFuZCFpbXBvcnRhbnQ7c3BlYWs6bm9uZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmNpYi01MDBweC01OmJlZm9yZXtjb250ZW50OlwiXFxlOTAwXCJ9LmNpYi01MDBweDpiZWZvcmV7Y29udGVudDpcIlxcZTkwMVwifS5jaWItYWJvdXQtbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDJcIn0uY2liLWFic3RyYWN0OmJlZm9yZXtjb250ZW50OlwiXFxlOTAzXCJ9LmNpYi1hY206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDRcIn0uY2liLWFkZHRoaXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDVcIn0uY2liLWFkZ3VhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MDZcIn0uY2liLWFkb2JlLWFjcm9iYXQtcmVhZGVyOmJlZm9yZXtjb250ZW50OlwiXFxlOTA3XCJ9LmNpYi1hZG9iZS1hZnRlcmUtZmZlY3RzOmJlZm9yZXtjb250ZW50OlwiXFxlOTA4XCJ9LmNpYi1hZG9iZS1hdWRpdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZTkwOVwifS5jaWItYWRvYmUtY3JlYXRpdmUtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGFcIn0uY2liLWFkb2JlLWRyZWFtd2VhdmVyOmJlZm9yZXtjb250ZW50OlwiXFxlOTBiXCJ9LmNpYi1hZG9iZS1pbGx1c3RyYXRvcjpiZWZvcmV7Y29udGVudDpcIlxcZTkwY1wifS5jaWItYWRvYmUtaW5kZXNpZ246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGRcIn0uY2liLWFkb2JlLWxpZ2h0cm9vbS1jbGFzc2ljOmJlZm9yZXtjb250ZW50OlwiXFxlOTBlXCJ9LmNpYi1hZG9iZS1saWdodHJvb206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MGZcIn0uY2liLWFkb2JlLXBob3Rvc2hvcDpiZWZvcmV7Y29udGVudDpcIlxcZTkxMFwifS5jaWItYWRvYmUtcHJlbWllcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTFcIn0uY2liLWFkb2JlLXR5cGVraXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTJcIn0uY2liLWFkb2JlLXhkOmJlZm9yZXtjb250ZW50OlwiXFxlOTEzXCJ9LmNpYi1hZG9iZTpiZWZvcmV7Y29udGVudDpcIlxcZTkxNFwifS5jaWItYWlyYm5iOmJlZm9yZXtjb250ZW50OlwiXFxlOTE1XCJ9LmNpYi1hbGdvbGlhOmJlZm9yZXtjb250ZW50OlwiXFxlOTE2XCJ9LmNpYi1hbGlwYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MTdcIn0uY2liLWFsbG9jaW5lOmJlZm9yZXtjb250ZW50OlwiXFxlOTE4XCJ9LmNpYi1hbWF6b24tYXdzOmJlZm9yZXtjb250ZW50OlwiXFxlOTE5XCJ9LmNpYi1hbWF6b24tcGF5OmJlZm9yZXtjb250ZW50OlwiXFxlOTFhXCJ9LmNpYi1hbWF6b246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MWJcIn0uY2liLWFtZDpiZWZvcmV7Y29udGVudDpcIlxcZTkxY1wifS5jaWItYW1lcmljYW4tZXhwcmVzczpiZWZvcmV7Y29udGVudDpcIlxcZTkxZFwifS5jaWItYW5hY29uZGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MWVcIn0uY2liLWFuYWxvZ3VlOmJlZm9yZXtjb250ZW50OlwiXFxlOTFmXCJ9LmNpYi1hbmRyb2lkLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZTkyMFwifS5jaWItYW5kcm9pZDpiZWZvcmV7Y29udGVudDpcIlxcZTkyMVwifS5jaWItYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OlwiXFxlOTIyXCJ9LmNpYi1hbmd1bGFyLXVuaXZlcnNhbDpiZWZvcmV7Y29udGVudDpcIlxcZTkyM1wifS5jaWItYW5ndWxhcjpiZWZvcmV7Y29udGVudDpcIlxcZTkyNFwifS5jaWItYW5zaWJsZTpiZWZvcmV7Y29udGVudDpcIlxcZTkyNVwifS5jaWItYXBhY2hlLWFpcmZsb3c6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MjZcIn0uY2liLWFwYWNoZS1mbGluazpiZWZvcmV7Y29udGVudDpcIlxcZTkyN1wifS5jaWItYXBhY2hlLXNwYXJrOmJlZm9yZXtjb250ZW50OlwiXFxlOTI4XCJ9LmNpYi1hcGFjaGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MjlcIn0uY2liLWFwcC1zdG9yZS1pb3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MmFcIn0uY2liLWFwcC1zdG9yZTpiZWZvcmV7Y29udGVudDpcIlxcZTkyYlwifS5jaWItYXBwbGUtbXVzaWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MmNcIn0uY2liLWFwcGxlLXBheTpiZWZvcmV7Y29udGVudDpcIlxcZTkyZFwifS5jaWItYXBwbGUtcG9kY2FzdHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MmVcIn0uY2liLWFwcGxlOmJlZm9yZXtjb250ZW50OlwiXFxlOTJmXCJ9LmNpYi1hcHB2ZXlvcjpiZWZvcmV7Y29udGVudDpcIlxcZTkzMFwifS5jaWItYXJhbDpiZWZvcmV7Y29udGVudDpcIlxcZTkzMVwifS5jaWItYXJjaC1saW51eDpiZWZvcmV7Y29udGVudDpcIlxcZTkzMlwifS5jaWItYXJjaGl2ZS1vZi1vdXItb3duOmJlZm9yZXtjb250ZW50OlwiXFxlOTMzXCJ9LmNpYi1hcmR1aW5vOmJlZm9yZXtjb250ZW50OlwiXFxlOTM0XCJ9LmNpYi1hcnRzdGF0aW9uOmJlZm9yZXtjb250ZW50OlwiXFxlOTM1XCJ9LmNpYi1hcnhpdjpiZWZvcmV7Y29udGVudDpcIlxcZTkzNlwifS5jaWItYXNhbmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MzdcIn0uY2liLWF0LWFuZC10OmJlZm9yZXtjb250ZW50OlwiXFxlOTM4XCJ9LmNpYi1hdGxhc3NpYW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5MzlcIn0uY2liLWF0b206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2FcIn0uY2liLWF1ZGlibGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2JcIn0uY2liLWF1cmVsaWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2NcIn0uY2liLWF1dGgwOmJlZm9yZXtjb250ZW50OlwiXFxlOTNkXCJ9LmNpYi1hdXRvbWF0aWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5M2VcIn0uY2liLWF1dG90YXNrOmJlZm9yZXtjb250ZW50OlwiXFxlOTNmXCJ9LmNpYi1hdmVudHJpeDpiZWZvcmV7Y29udGVudDpcIlxcZTk0MFwifS5jaWItYXp1cmUtYXJ0aWZhY3RzOmJlZm9yZXtjb250ZW50OlwiXFxlOTQxXCJ9LmNpYi1henVyZS1kZXZvcHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDJcIn0uY2liLWF6dXJlLXBpcGVsaW5lczpiZWZvcmV7Y29udGVudDpcIlxcZTk0M1wifS5jaWItYmFiZWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDRcIn0uY2liLWJhaWR1OmJlZm9yZXtjb250ZW50OlwiXFxlOTQ1XCJ9LmNpYi1iYW1ib286YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDZcIn0uY2liLWJhbmNvbnRhY3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NDdcIn0uY2liLWJhbmRjYW1wOmJlZm9yZXtjb250ZW50OlwiXFxlOTQ4XCJ9LmNpYi1iYXNlY2FtcDpiZWZvcmV7Y29udGVudDpcIlxcZTk0OVwifS5jaWItYmF0aGFzdTpiZWZvcmV7Y29udGVudDpcIlxcZTk0YVwifS5jaWItYmVoYW5jZTpiZWZvcmV7Y29udGVudDpcIlxcZTk0YlwifS5jaWItYmlnLWNhcnRlbDpiZWZvcmV7Y29udGVudDpcIlxcZTk0Y1wifS5jaWItYmluZzpiZWZvcmV7Y29udGVudDpcIlxcZTk0ZFwifS5jaWItYml0OmJlZm9yZXtjb250ZW50OlwiXFxlOTRlXCJ9LmNpYi1iaXRidWNrZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NGZcIn0uY2liLWJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTBcIn0uY2liLWJpdGRlZmVuZGVyOmJlZm9yZXtjb250ZW50OlwiXFxlOTUxXCJ9LmNpYi1iaXRseTpiZWZvcmV7Y29udGVudDpcIlxcZTk1MlwifS5jaWItYmxhY2tiZXJyeTpiZWZvcmV7Y29udGVudDpcIlxcZTk1M1wifS5jaWItYmxlbmRlcjpiZWZvcmV7Y29udGVudDpcIlxcZTk1NFwifS5jaWItYmxvZ2dlci1iOmJlZm9yZXtjb250ZW50OlwiXFxlOTU1XCJ9LmNpYi1ibG9nZ2VyOmJlZm9yZXtjb250ZW50OlwiXFxlOTU2XCJ9LmNpYi1ibHVldG9vdGgtYjpiZWZvcmV7Y29udGVudDpcIlxcZTk1N1wifS5jaWItYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OlwiXFxlOTU4XCJ9LmNpYi1ib2Vpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NTlcIn0uY2liLWJvb3N0OmJlZm9yZXtjb250ZW50OlwiXFxlOTVhXCJ9LmNpYi1ib290c3RyYXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NWJcIn0uY2liLWJvd2VyOmJlZm9yZXtjb250ZW50OlwiXFxlOTVjXCJ9LmNpYi1icmFuZC1haTpiZWZvcmV7Y29udGVudDpcIlxcZTk1ZFwifS5jaWItYnJhdmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NWVcIn0uY2liLWJ0YzpiZWZvcmV7Y29udGVudDpcIlxcZTk1ZlwifS5jaWItYnVkZHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjBcIn0uY2liLWJ1ZmZlcjpiZWZvcmV7Y29udGVudDpcIlxcZTk2MVwifS5jaWItYnV5LW1lLWEtY29mZmVlOmJlZm9yZXtjb250ZW50OlwiXFxlOTYyXCJ9LmNpYi1idXlzZWxsYWRzOmJlZm9yZXtjb250ZW50OlwiXFxlOTYzXCJ9LmNpYi1idXp6ZmVlZDpiZWZvcmV7Y29udGVudDpcIlxcZTk2NFwifS5jaWItYzpiZWZvcmV7Y29udGVudDpcIlxcZTk2NVwifS5jaWItY2FrZXBocDpiZWZvcmV7Y29udGVudDpcIlxcZTk2NlwifS5jaWItY2FtcGFpZ24tbW9uaXRvcjpiZWZvcmV7Y29udGVudDpcIlxcZTk2N1wifS5jaWItY2FudmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjhcIn0uY2liLWNhc2hhcHA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NjlcIn0uY2liLWNhc3NhbmRyYTpiZWZvcmV7Y29udGVudDpcIlxcZTk2YVwifS5jaWItY2FzdHJvOmJlZm9yZXtjb250ZW50OlwiXFxlOTZiXCJ9LmNpYi1jYy1hbWF6b24tcGF5OmJlZm9yZXtjb250ZW50OlwiXFxlOTZjXCJ9LmNpYi1jYy1hbWV4OmJlZm9yZXtjb250ZW50OlwiXFxlOTZkXCJ9LmNpYi1jYy1hcHBsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NmVcIn0uY2liLWNjLWRpbmVycy1jbHViOmJlZm9yZXtjb250ZW50OlwiXFxlOTZmXCJ9LmNpYi1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDpcIlxcZTk3MFwifS5jaWItY2MtamNiOmJlZm9yZXtjb250ZW50OlwiXFxlOTcxXCJ9LmNpYi1jYy1tYXN0ZXJjYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlOTcyXCJ9LmNpYi1jYy1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5NzNcIn0uY2liLWNjLXN0cmlwZTpiZWZvcmV7Y29udGVudDpcIlxcZTk3NFwifS5jaWItY2MtdmlzYTpiZWZvcmV7Y29udGVudDpcIlxcZTk3NVwifS5jaWItY2VudG9zOmJlZm9yZXtjb250ZW50OlwiXFxlOTc2XCJ9LmNpYi1jZXZvOmJlZm9yZXtjb250ZW50OlwiXFxlOTc3XCJ9LmNpYi1jaGFzZTpiZWZvcmV7Y29udGVudDpcIlxcZTk3OFwifS5jaWItY2hlZjpiZWZvcmV7Y29udGVudDpcIlxcZTk3OVwifS5jaWItY2hyb21lY2FzdDpiZWZvcmV7Y29udGVudDpcIlxcZTk3YVwifS5jaWItY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxlOTdiXCJ9LmNpYi1jaXJjbGVjaTpiZWZvcmV7Y29udGVudDpcIlxcZTk3Y1wifS5jaWItY2lycnVzY2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5N2RcIn0uY2liLWNpc2NvOmJlZm9yZXtjb250ZW50OlwiXFxlOTdlXCJ9LmNpYi1jaXZpY3JtOmJlZm9yZXtjb250ZW50OlwiXFxlOTdmXCJ9LmNpYi1jbG9ja2lmeTpiZWZvcmV7Y29udGVudDpcIlxcZTk4MFwifS5jaWItY2xvanVyZTpiZWZvcmV7Y29udGVudDpcIlxcZTk4MVwifS5jaWItY2xvdWRiZWVzOmJlZm9yZXtjb250ZW50OlwiXFxlOTgyXCJ9LmNpYi1jbG91ZGZsYXJlOmJlZm9yZXtjb250ZW50OlwiXFxlOTgzXCJ9LmNpYi1jbWFrZTpiZWZvcmV7Y29udGVudDpcIlxcZTk4NFwifS5jaWItY28tb3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ODVcIn0uY2liLWNvZGFjeTpiZWZvcmV7Y29udGVudDpcIlxcZTk4NlwifS5jaWItY29kZS1jbGltYXRlOmJlZm9yZXtjb250ZW50OlwiXFxlOTg3XCJ9LmNpYi1jb2RlY2FkZW15OmJlZm9yZXtjb250ZW50OlwiXFxlOTg4XCJ9LmNpYi1jb2RlY292OmJlZm9yZXtjb250ZW50OlwiXFxlOTg5XCJ9LmNpYi1jb2RlaWduaXRlcjpiZWZvcmV7Y29udGVudDpcIlxcZTk4YVwifS5jaWItY29kZXBlbjpiZWZvcmV7Y29udGVudDpcIlxcZTk4YlwifS5jaWItY29kZXJ3YWxsOmJlZm9yZXtjb250ZW50OlwiXFxlOThjXCJ9LmNpYi1jb2Rlc2FuZGJveDpiZWZvcmV7Y29udGVudDpcIlxcZTk4ZFwifS5jaWItY29kZXNoaXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OGVcIn0uY2liLWNvZGV3YXJzOmJlZm9yZXtjb250ZW50OlwiXFxlOThmXCJ9LmNpYi1jb2RpbzpiZWZvcmV7Y29udGVudDpcIlxcZTk5MFwifS5jaWItY29mZmVlc2NyaXB0OmJlZm9yZXtjb250ZW50OlwiXFxlOTkxXCJ9LmNpYi1jb21tb24td29ya2Zsb3ctbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTJcIn0uY2liLWNvbXBvc2VyOmJlZm9yZXtjb250ZW50OlwiXFxlOTkzXCJ9LmNpYi1jb25kYS1mb3JnZTpiZWZvcmV7Y29udGVudDpcIlxcZTk5NFwifS5jaWItY29uZWt0YTpiZWZvcmV7Y29udGVudDpcIlxcZTk5NVwifS5jaWItY29uZmx1ZW5jZTpiZWZvcmV7Y29udGVudDpcIlxcZTk5NlwifS5jaWItY29yZXVpLWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTdcIn0uY2liLWNvcmV1aTpiZWZvcmV7Y29udGVudDpcIlxcZTk5OFwifS5jaWItY291cnNlcmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OTlcIn0uY2liLWNvdmVyYWxsczpiZWZvcmV7Y29udGVudDpcIlxcZTk5YVwifS5jaWItY3BhbmVsOmJlZm9yZXtjb250ZW50OlwiXFxlOTliXCJ9LmNpYi1jcGx1c3BsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWNcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWRcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWVcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5OWZcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTBcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTFcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlOWEyXCJ9LmNpYi1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZXtjb250ZW50OlwiXFxlOWEzXCJ9LmNpYi1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZXtjb250ZW50OlwiXFxlOWE0XCJ9LmNpYi1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZXtjb250ZW50OlwiXFxlOWE1XCJ9LmNpYi1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTZcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YTdcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YThcIn0uY2liLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmV7Y29udGVudDpcIlxcZTlhOVwifS5jaWItY3JlYXRpdmUtY29tbW9uczpiZWZvcmV7Y29udGVudDpcIlxcZTlhYVwifS5jaWItY3J1bmNoYmFzZTpiZWZvcmV7Y29udGVudDpcIlxcZTlhYlwifS5jaWItY3J1bmNoeXJvbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YWNcIn0uY2liLWNzczMtc2hpbGVkOmJlZm9yZXtjb250ZW50OlwiXFxlOWFkXCJ9LmNpYi1jc3MzOmJlZm9yZXtjb250ZW50OlwiXFxlOWFlXCJ9LmNpYi1jc3N3aXphcmRyeTpiZWZvcmV7Y29udGVudDpcIlxcZTlhZlwifS5jaWItZDMtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YjBcIn0uY2liLWRhaWx5bW90aW9uOmJlZm9yZXtjb250ZW50OlwiXFxlOWIxXCJ9LmNpYi1kYXNobGFuZTpiZWZvcmV7Y29udGVudDpcIlxcZTliMlwifS5jaWItZGF6bjpiZWZvcmV7Y29udGVudDpcIlxcZTliM1wifS5jaWItZGJscDpiZWZvcmV7Y29udGVudDpcIlxcZTliNFwifS5jaWItZGViaWFuOmJlZm9yZXtjb250ZW50OlwiXFxlOWI1XCJ9LmNpYi1kZWVwaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YjZcIn0uY2liLWRlZXplcjpiZWZvcmV7Y29udGVudDpcIlxcZTliN1wifS5jaWItZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OlwiXFxlOWI4XCJ9LmNpYi1kZWxsOmJlZm9yZXtjb250ZW50OlwiXFxlOWI5XCJ9LmNpYi1kZW5vOmJlZm9yZXtjb250ZW50OlwiXFxlOWJhXCJ9LmNpYi1kZXBlbmRhYm90OmJlZm9yZXtjb250ZW50OlwiXFxlOWJiXCJ9LmNpYi1kZXNpZ25lci1uZXdzOmJlZm9yZXtjb250ZW50OlwiXFxlOWJjXCJ9LmNpYi1kZXYtdG86YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YmRcIn0uY2liLWRldmlhbnRhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YmVcIn0uY2liLWRldnJhbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YmZcIn0uY2liLWRpYXNwb3JhOmJlZm9yZXtjb250ZW50OlwiXFxlOWMwXCJ9LmNpYi1kaWdnOmJlZm9yZXtjb250ZW50OlwiXFxlOWMxXCJ9LmNpYi1kaWdpdGFsLW9jZWFuOmJlZm9yZXtjb250ZW50OlwiXFxlOWMyXCJ9LmNpYi1kaXNjb3JkOmJlZm9yZXtjb250ZW50OlwiXFxlOWMzXCJ9LmNpYi1kaXNjb3Vyc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YzRcIn0uY2liLWRpc2NvdmVyOmJlZm9yZXtjb250ZW50OlwiXFxlOWM1XCJ9LmNpYi1kaXNxdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YzZcIn0uY2liLWRpc3Jvb3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5YzdcIn0uY2liLWRqYW5nbzpiZWZvcmV7Y29udGVudDpcIlxcZTljOFwifS5jaWItZG9ja2VyOmJlZm9yZXtjb250ZW50OlwiXFxlOWM5XCJ9LmNpYi1kb2N1c2lnbjpiZWZvcmV7Y29udGVudDpcIlxcZTljYVwifS5jaWItZG90LW5ldDpiZWZvcmV7Y29udGVudDpcIlxcZTljYlwifS5jaWItZHJhdWdpZW0tbHY6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5Y2NcIn0uY2liLWRyaWJiYmxlOmJlZm9yZXtjb250ZW50OlwiXFxlOWNkXCJ9LmNpYi1kcm9uZTpiZWZvcmV7Y29udGVudDpcIlxcZTljZVwifS5jaWItZHJvcGJveDpiZWZvcmV7Y29udGVudDpcIlxcZTljZlwifS5jaWItZHJ1cGFsOmJlZm9yZXtjb250ZW50OlwiXFxlOWQwXCJ9LmNpYi1kdHViZTpiZWZvcmV7Y29udGVudDpcIlxcZTlkMVwifS5jaWItZHVja2R1Y2tnbzpiZWZvcmV7Y29udGVudDpcIlxcZTlkMlwifS5jaWItZHluYXRyYWNlOmJlZm9yZXtjb250ZW50OlwiXFxlOWQzXCJ9LmNpYi1lYmF5OmJlZm9yZXtjb250ZW50OlwiXFxlOWQ0XCJ9LmNpYi1lY2xpcHNlaWRlOmJlZm9yZXtjb250ZW50OlwiXFxlOWQ1XCJ9LmNpYi1lbGFzdGljLWNsb3VkOmJlZm9yZXtjb250ZW50OlwiXFxlOWQ2XCJ9LmNpYi1lbGFzdGljLXNlYXJjaDpiZWZvcmV7Y29udGVudDpcIlxcZTlkN1wifS5jaWItZWxhc3RpYy1zdGFjazpiZWZvcmV7Y29udGVudDpcIlxcZTlkOFwifS5jaWItZWxhc3RpYzpiZWZvcmV7Y29udGVudDpcIlxcZTlkOVwifS5jaWItZWxlY3Ryb246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZGFcIn0uY2liLWVsZW1lbnRhcnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZGJcIn0uY2liLWVsZXZlbnR5OmJlZm9yZXtjb250ZW50OlwiXFxlOWRjXCJ9LmNpYi1lbGxvOmJlZm9yZXtjb250ZW50OlwiXFxlOWRkXCJ9LmNpYi1lbHNldmllcjpiZWZvcmV7Y29udGVudDpcIlxcZTlkZVwifS5jaWItZW1sYWtqZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZGZcIn0uY2liLWVtcGlyZWtyZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTBcIn0uY2liLWVudmF0bzpiZWZvcmV7Y29udGVudDpcIlxcZTllMVwifS5jaWItZXBpYy1nYW1lczpiZWZvcmV7Y29udGVudDpcIlxcZTllMlwifS5jaWItZXBzb246YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTNcIn0uY2liLWVzZWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTRcIn0uY2liLWVzbGludDpiZWZvcmV7Y29udGVudDpcIlxcZTllNVwifS5jaWItZXRoZXJldW06YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTZcIn0uY2liLWV0c3k6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZTdcIn0uY2liLWV2ZW50LXN0b3JlOmJlZm9yZXtjb250ZW50OlwiXFxlOWU4XCJ9LmNpYi1ldmVudGJyaXRlOmJlZm9yZXtjb250ZW50OlwiXFxlOWU5XCJ9LmNpYi1ldmVybm90ZTpiZWZvcmV7Y29udGVudDpcIlxcZTllYVwifS5jaWItZXZlcnBsYWNlczpiZWZvcmV7Y29udGVudDpcIlxcZTllYlwifS5jaWItZXZyeTpiZWZvcmV7Y29udGVudDpcIlxcZTllY1wifS5jaWItZXhlcmNpc206YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZWRcIn0uY2liLWV4cGVydHMtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZWVcIn0uY2liLWV4cG86YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZWZcIn0uY2liLWV5ZWVtOmJlZm9yZXtjb250ZW50OlwiXFxlOWYwXCJ9LmNpYi1mLXNlY3VyZTpiZWZvcmV7Y29udGVudDpcIlxcZTlmMVwifS5jaWItZmFjZWJvb2stZjpiZWZvcmV7Y29udGVudDpcIlxcZTlmMlwifS5jaWItZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZjNcIn0uY2liLWZhY2VpdDpiZWZvcmV7Y29udGVudDpcIlxcZTlmNFwifS5jaWItZmFuZGFuZ286YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZjVcIn0uY2liLWZhdnJvOmJlZm9yZXtjb250ZW50OlwiXFxlOWY2XCJ9LmNpYi1mZWF0aHViOmJlZm9yZXtjb250ZW50OlwiXFxlOWY3XCJ9LmNpYi1mZWRleDpiZWZvcmV7Y29udGVudDpcIlxcZTlmOFwifS5jaWItZmVkb3JhOmJlZm9yZXtjb250ZW50OlwiXFxlOWY5XCJ9LmNpYi1mZWVkbHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZmFcIn0uY2liLWZpZG8tYWxsaWFuY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZmJcIn0uY2liLWZpZ21hOmJlZm9yZXtjb250ZW50OlwiXFxlOWZjXCJ9LmNpYi1maWxlemlsbGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZmRcIn0uY2liLWZpcmViYXNlOmJlZm9yZXtjb250ZW50OlwiXFxlOWZlXCJ9LmNpYi1maXRiaXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGU5ZmZcIn0uY2liLWZsYXNrOmJlZm9yZXtjb250ZW50OlwiXFxlYTAwXCJ9LmNpYi1mbGF0dHI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMDFcIn0uY2liLWZsaWNrcjpiZWZvcmV7Y29udGVudDpcIlxcZWEwMlwifS5jaWItZmxpcGJvYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYTAzXCJ9LmNpYi1mbHV0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYTA0XCJ9LmNpYi1mbmFjOmJlZm9yZXtjb250ZW50OlwiXFxlYTA1XCJ9LmNpYi1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxlYTA2XCJ9LmNpYi1mcmFtZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMDdcIn0uY2liLWZyZWVic2Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMDhcIn0uY2liLWZyZWVjb2RlY2FtcDpiZWZvcmV7Y29udGVudDpcIlxcZWEwOVwifS5jaWItZnVyLWFmZmluaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYTBhXCJ9LmNpYi1mdXJyeS1uZXR3b3JrOmJlZm9yZXtjb250ZW50OlwiXFxlYTBiXCJ9LmNpYi1nYXJtaW46YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMGNcIn0uY2liLWdhdHNieTpiZWZvcmV7Y29udGVudDpcIlxcZWEwZFwifS5jaWItZ2F1Z2VzOmJlZm9yZXtjb250ZW50OlwiXFxlYTBlXCJ9LmNpYi1nZW5pdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMGZcIn0uY2liLWdlbnRvbzpiZWZvcmV7Y29udGVudDpcIlxcZWExMFwifS5jaWItZ2VvY2FjaGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWExMVwifS5jaWItZ2Vycml0OmJlZm9yZXtjb250ZW50OlwiXFxlYTEyXCJ9LmNpYi1nZzpiZWZvcmV7Y29udGVudDpcIlxcZWExM1wifS5jaWItZ2hvc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMTRcIn0uY2liLWdpbXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMTVcIn0uY2liLWdpdDpiZWZvcmV7Y29udGVudDpcIlxcZWExNlwifS5jaWItZ2l0ZWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMTdcIn0uY2liLWdpdGh1YjpiZWZvcmV7Y29udGVudDpcIlxcZWExOFwifS5jaWItZ2l0a3Jha2VuOmJlZm9yZXtjb250ZW50OlwiXFxlYTE5XCJ9LmNpYi1naXRsYWI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWFcIn0uY2liLWdpdHBvZDpiZWZvcmV7Y29udGVudDpcIlxcZWExYlwifS5jaWItZ2l0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYTFjXCJ9LmNpYi1nbGFzc2Rvb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWRcIn0uY2liLWdsaXRjaDpiZWZvcmV7Y29udGVudDpcIlxcZWExZVwifS5jaWItZ21haWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMWZcIn0uY2liLWdudS1wcml2YWN5LWd1YXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYTIwXCJ9LmNpYi1nbnUtc29jaWFsOmJlZm9yZXtjb250ZW50OlwiXFxlYTIxXCJ9LmNpYi1nbnU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjJcIn0uY2liLWdvOmJlZm9yZXtjb250ZW50OlwiXFxlYTIzXCJ9LmNpYi1nb2RvdC1lbmdpbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjRcIn0uY2liLWdvZy1jb206YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjVcIn0uY2liLWdvbGRlbmxpbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjZcIn0uY2liLWdvb2RyZWFkczpiZWZvcmV7Y29udGVudDpcIlxcZWEyN1wifS5jaWItZ29vZ2xlLWFkczpiZWZvcmV7Y29udGVudDpcIlxcZWEyOFwifS5jaWItZ29vZ2xlLWFsbG86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMjlcIn0uY2liLWdvb2dsZS1hbmFseXRpY3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmFcIn0uY2liLWdvb2dsZS1jaHJvbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmJcIn0uY2liLWdvb2dsZS1jbG91ZDpiZWZvcmV7Y29udGVudDpcIlxcZWEyY1wifS5jaWItZ29vZ2xlLWtlZXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmRcIn0uY2liLWdvb2dsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMmVcIn0uY2liLWdvb2dsZS1wbGF5OmJlZm9yZXtjb250ZW50OlwiXFxlYTJmXCJ9LmNpYi1nb29nbGUtcG9kY2FzdHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzBcIn0uY2liLWdvb2dsZTpiZWZvcmV7Y29udGVudDpcIlxcZWEzMVwifS5jaWItZ29vZ2xlcy1jaG9sYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzJcIn0uY2liLWdvdi11azpiZWZvcmV7Y29udGVudDpcIlxcZWEzM1wifS5jaWItZ3JhZGxlOmJlZm9yZXtjb250ZW50OlwiXFxlYTM0XCJ9LmNpYi1ncmFmYW5hOmJlZm9yZXtjb250ZW50OlwiXFxlYTM1XCJ9LmNpYi1ncmFwaGNvb2w6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzZcIn0uY2liLWdyYXBocWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzdcIn0uY2liLWdyYXY6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhMzhcIn0uY2liLWdyYXZhdGFyOmJlZm9yZXtjb250ZW50OlwiXFxlYTM5XCJ9LmNpYi1ncmVlbmtlZXBlcjpiZWZvcmV7Y29udGVudDpcIlxcZWEzYVwifS5jaWItZ3JlZW5zb2NrOmJlZm9yZXtjb250ZW50OlwiXFxlYTNiXCJ9LmNpYi1ncm9vdnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2NcIn0uY2liLWdyb3Vwb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhM2RcIn0uY2liLWdydW50OmJlZm9yZXtjb250ZW50OlwiXFxlYTNlXCJ9LmNpYi1ndWxwOmJlZm9yZXtjb250ZW50OlwiXFxlYTNmXCJ9LmNpYi1ndW1yb2FkOmJlZm9yZXtjb250ZW50OlwiXFxlYTQwXCJ9LmNpYi1ndW10cmVlOmJlZm9yZXtjb250ZW50OlwiXFxlYTQxXCJ9LmNpYi1oYWJyOmJlZm9yZXtjb250ZW50OlwiXFxlYTQyXCJ9LmNpYi1oYWNrYWRheTpiZWZvcmV7Y29udGVudDpcIlxcZWE0M1wifS5jaWItaGFja2VyZWFydGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDRcIn0uY2liLWhhY2tlcm9uZTpiZWZvcmV7Y29udGVudDpcIlxcZWE0NVwifS5jaWItaGFja2VycmFuazpiZWZvcmV7Y29udGVudDpcIlxcZWE0NlwifS5jaWItaGFja2hhbmRzOmJlZm9yZXtjb250ZW50OlwiXFxlYTQ3XCJ9LmNpYi1oYWNrc3RlcjpiZWZvcmV7Y29udGVudDpcIlxcZWE0OFwifS5jaWItaGFwcHljb3c6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNDlcIn0uY2liLWhhc2hub2RlOmJlZm9yZXtjb250ZW50OlwiXFxlYTRhXCJ9LmNpYi1oYXNrZWxsOmJlZm9yZXtjb250ZW50OlwiXFxlYTRiXCJ9LmNpYi1oYXRlbmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNGNcIn0uY2liLWhheGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNGRcIn0uY2liLWhlbG06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNGVcIn0uY2liLWhlcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNGZcIn0uY2liLWhlcm9rdTpiZWZvcmV7Y29udGVudDpcIlxcZWE1MFwifS5jaWItaGV4bzpiZWZvcmV7Y29udGVudDpcIlxcZWE1MVwifS5jaWItaGlnaGx5OmJlZm9yZXtjb250ZW50OlwiXFxlYTUyXCJ9LmNpYi1oaXBjaGF0OmJlZm9yZXtjb250ZW50OlwiXFxlYTUzXCJ9LmNpYi1oaXRhY2hpOmJlZm9yZXtjb250ZW50OlwiXFxlYTU0XCJ9LmNpYi1ob2NrZXlhcHA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNTVcIn0uY2liLWhvbWlmeTpiZWZvcmV7Y29udGVudDpcIlxcZWE1NlwifS5jaWItaG9vdHN1aXRlOmJlZm9yZXtjb250ZW50OlwiXFxlYTU3XCJ9LmNpYi1ob3RqYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNThcIn0uY2liLWhvdXp6OmJlZm9yZXtjb250ZW50OlwiXFxlYTU5XCJ9LmNpYi1ocDpiZWZvcmV7Y29udGVudDpcIlxcZWE1YVwifS5jaWItaHRtbDUtc2hpZWxkOmJlZm9yZXtjb250ZW50OlwiXFxlYTViXCJ9LmNpYi1odG1sNTpiZWZvcmV7Y29udGVudDpcIlxcZWE1Y1wifS5jaWItaHRtbGFjYWRlbXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNWRcIn0uY2liLWh1YXdlaTpiZWZvcmV7Y29udGVudDpcIlxcZWE1ZVwifS5jaWItaHVic3BvdDpiZWZvcmV7Y29udGVudDpcIlxcZWE1ZlwifS5jaWItaHVsdTpiZWZvcmV7Y29udGVudDpcIlxcZWE2MFwifS5jaWItaHVtYmxlLWJ1bmRsZTpiZWZvcmV7Y29udGVudDpcIlxcZWE2MVwifS5jaWItaWF0YTpiZWZvcmV7Y29udGVudDpcIlxcZWE2MlwifS5jaWItaWJtOmJlZm9yZXtjb250ZW50OlwiXFxlYTYzXCJ9LmNpYi1pY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNjRcIn0uY2liLWljb25qYXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNjVcIn0uY2liLWljcTpiZWZvcmV7Y29udGVudDpcIlxcZWE2NlwifS5jaWItaWRlYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNjdcIn0uY2liLWlmaXhpdDpiZWZvcmV7Y29udGVudDpcIlxcZWE2OFwifS5jaWItaW1kYjpiZWZvcmV7Y29udGVudDpcIlxcZWE2OVwifS5jaWItaW5kZWVkOmJlZm9yZXtjb250ZW50OlwiXFxlYTZhXCJ9LmNpYi1pbmtzY2FwZTpiZWZvcmV7Y29udGVudDpcIlxcZWE2YlwifS5jaWItaW5zdGFjYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxlYTZjXCJ9LmNpYi1pbnN0YWdyYW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNmRcIn0uY2liLWluc3RhcGFwZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNmVcIn0uY2liLWludGVsOmJlZm9yZXtjb250ZW50OlwiXFxlYTZmXCJ9LmNpYi1pbnRlbGxpamlkZWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNzBcIn0uY2liLWludGVyY29tOmJlZm9yZXtjb250ZW50OlwiXFxlYTcxXCJ9LmNpYi1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmV7Y29udGVudDpcIlxcZWE3MlwifS5jaWItaW52aXNpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhNzNcIn0uY2liLWlvbmljOmJlZm9yZXtjb250ZW50OlwiXFxlYTc0XCJ9LmNpYi1pc3N1dTpiZWZvcmV7Y29udGVudDpcIlxcZWE3NVwifS5jaWItaXRjaC1pbzpiZWZvcmV7Y29udGVudDpcIlxcZWE3NlwifS5jaWItamFiYmVyOmJlZm9yZXtjb250ZW50OlwiXFxlYTc3XCJ9LmNpYi1qYXZhOmJlZm9yZXtjb250ZW50OlwiXFxlYTc4XCJ9LmNpYi1qYXZhc2NyaXB0OmJlZm9yZXtjb250ZW50OlwiXFxlYTc5XCJ9LmNpYi1qZWt5bGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhN2FcIn0uY2liLWplbmtpbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhN2JcIn0uY2liLWplc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhN2NcIn0uY2liLWpldDpiZWZvcmV7Y29udGVudDpcIlxcZWE3ZFwifS5jaWItamV0YnJhaW5zOmJlZm9yZXtjb250ZW50OlwiXFxlYTdlXCJ9LmNpYi1qaXJhOmJlZm9yZXtjb250ZW50OlwiXFxlYTdmXCJ9LmNpYi1qb29tbGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODBcIn0uY2liLWpxdWVyeTpiZWZvcmV7Y29udGVudDpcIlxcZWE4MVwifS5jaWItanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhODJcIn0uY2liLWpzZGVsaXZyOmJlZm9yZXtjb250ZW50OlwiXFxlYTgzXCJ9LmNpYi1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDpcIlxcZWE4NFwifS5jaWItanNvbjpiZWZvcmV7Y29udGVudDpcIlxcZWE4NVwifS5jaWItanVweXRlcjpiZWZvcmV7Y29udGVudDpcIlxcZWE4NlwifS5jaWItanVzdGdpdmluZzpiZWZvcmV7Y29udGVudDpcIlxcZWE4N1wifS5jaWIta2FnZ2xlOmJlZm9yZXtjb250ZW50OlwiXFxlYTg4XCJ9LmNpYi1rYWlvczpiZWZvcmV7Y29udGVudDpcIlxcZWE4OVwifS5jaWIta2FzcGVyc2t5OmJlZm9yZXtjb250ZW50OlwiXFxlYThhXCJ9LmNpYi1rZW50aWNvOmJlZm9yZXtjb250ZW50OlwiXFxlYThiXCJ9LmNpYi1rZXJhczpiZWZvcmV7Y29udGVudDpcIlxcZWE4Y1wifS5jaWIta2V5YmFzZTpiZWZvcmV7Y29udGVudDpcIlxcZWE4ZFwifS5jaWIta2V5Y2RuOmJlZm9yZXtjb250ZW50OlwiXFxlYThlXCJ9LmNpYi1raGFuLWFjYWRlbXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOGZcIn0uY2liLWtpYmFuYTpiZWZvcmV7Y29udGVudDpcIlxcZWE5MFwifS5jaWIta2lja3N0YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTFcIn0uY2liLWtpazpiZWZvcmV7Y29udGVudDpcIlxcZWE5MlwifS5jaWIta2lyYnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTNcIn0uY2liLWtsb3V0OmJlZm9yZXtjb250ZW50OlwiXFxlYTk0XCJ9LmNpYi1rbm93bjpiZWZvcmV7Y29udGVudDpcIlxcZWE5NVwifS5jaWIta28tZmk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTZcIn0uY2liLWtvZGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOTdcIn0uY2liLWtvZGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWE5OFwifS5jaWIta290bGluOmJlZm9yZXtjb250ZW50OlwiXFxlYTk5XCJ9LmNpYi1rcml0YTpiZWZvcmV7Y29udGVudDpcIlxcZWE5YVwifS5jaWIta3ViZXJuZXRlczpiZWZvcmV7Y29udGVudDpcIlxcZWE5YlwifS5jaWItbGFueXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYTljXCJ9LmNpYi1sYXJhdmVsLWhvcml6b246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhOWRcIn0uY2liLWxhcmF2ZWwtbm92YTpiZWZvcmV7Y29udGVudDpcIlxcZWE5ZVwifS5jaWItbGFyYXZlbDpiZWZvcmV7Y29udGVudDpcIlxcZWE5ZlwifS5jaWItbGFzdC1mbTpiZWZvcmV7Y29udGVudDpcIlxcZWFhMFwifS5jaWItbGF0ZXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTFcIn0uY2liLWxhdW5jaHBhZDpiZWZvcmV7Y29udGVudDpcIlxcZWFhMlwifS5jaWItbGVldGNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTNcIn0uY2liLWxlbm92bzpiZWZvcmV7Y29udGVudDpcIlxcZWFhNFwifS5jaWItbGVzczpiZWZvcmV7Y29udGVudDpcIlxcZWFhNVwifS5jaWItbGV0cy1lbmNyeXB0OmJlZm9yZXtjb250ZW50OlwiXFxlYWE2XCJ9LmNpYi1sZXR0ZXJib3hkOmJlZm9yZXtjb250ZW50OlwiXFxlYWE3XCJ9LmNpYi1sZ3RtOmJlZm9yZXtjb250ZW50OlwiXFxlYWE4XCJ9LmNpYi1saWJlcmFwYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYTlcIn0uY2liLWxpYnJhcnl0aGluZzpiZWZvcmV7Y29udGVudDpcIlxcZWFhYVwifS5jaWItbGlicmVvZmZpY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYWJcIn0uY2liLWxpbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYWNcIn0uY2liLWxpbmtlZGluLWluOmJlZm9yZXtjb250ZW50OlwiXFxlYWFkXCJ9LmNpYi1saW5rZWRpbjpiZWZvcmV7Y29udGVudDpcIlxcZWFhZVwifS5jaWItbGludXgtZm91bmRhdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZWFhZlwifS5jaWItbGludXgtbWludDpiZWZvcmV7Y29udGVudDpcIlxcZWFiMFwifS5jaWItbGludXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjFcIn0uY2liLWxpdmVqb3VybmFsOmJlZm9yZXtjb250ZW50OlwiXFxlYWIyXCJ9LmNpYi1saXZlc3RyZWFtOmJlZm9yZXtjb250ZW50OlwiXFxlYWIzXCJ9LmNpYi1sb2dzdGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZWFiNFwifS5jaWItbHVhOmJlZm9yZXtjb250ZW50OlwiXFxlYWI1XCJ9LmNpYi1sdW1lbjpiZWZvcmV7Y29udGVudDpcIlxcZWFiNlwifS5jaWItbHlmdDpiZWZvcmV7Y29udGVudDpcIlxcZWFiN1wifS5jaWItbWFjeXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjhcIn0uY2liLW1hZ2VudG86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYjlcIn0uY2liLW1hZ2lzazpiZWZvcmV7Y29udGVudDpcIlxcZWFiYVwifS5jaWItbWFpbC1ydTpiZWZvcmV7Y29udGVudDpcIlxcZWFiYlwifS5jaWItbWFpbGNoaW1wOmJlZm9yZXtjb250ZW50OlwiXFxlYWJjXCJ9LmNpYi1tYWtlcmJvdDpiZWZvcmV7Y29udGVudDpcIlxcZWFiZFwifS5jaWItbWFuamFybzpiZWZvcmV7Y29udGVudDpcIlxcZWFiZVwifS5jaWItbWFya2Rvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYmZcIn0uY2liLW1hcmtldG86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzBcIn0uY2liLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzFcIn0uY2liLW1hc3RvZG9uOmJlZm9yZXtjb250ZW50OlwiXFxlYWMyXCJ9LmNpYi1tYXRlcmlhbC1kZXNpZ246YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzNcIn0uY2liLW1hdGh3b3JrczpiZWZvcmV7Y29udGVudDpcIlxcZWFjNFwifS5jaWItbWF0cml4OmJlZm9yZXtjb250ZW50OlwiXFxlYWM1XCJ9LmNpYi1tYXR0ZXJtb3N0OmJlZm9yZXtjb250ZW50OlwiXFxlYWM2XCJ9LmNpYi1tYXR0ZXJuZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhYzdcIn0uY2liLW1heGNkbjpiZWZvcmV7Y29udGVudDpcIlxcZWFjOFwifS5jaWItbWNhZmVlOmJlZm9yZXtjb250ZW50OlwiXFxlYWM5XCJ9LmNpYi1tZWRpYS10ZW1wbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhY2FcIn0uY2liLW1lZGlhZmlyZTpiZWZvcmV7Y29udGVudDpcIlxcZWFjYlwifS5jaWItbWVkaXVtLW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhY2NcIn0uY2liLW1lZGl1bTpiZWZvcmV7Y29udGVudDpcIlxcZWFjZFwifS5jaWItbWVldHVwOmJlZm9yZXtjb250ZW50OlwiXFxlYWNlXCJ9LmNpYi1tZWdhOmJlZm9yZXtjb250ZW50OlwiXFxlYWNmXCJ9LmNpYi1tZW5kZWxleTpiZWZvcmV7Y29udGVudDpcIlxcZWFkMFwifS5jaWItbWVzc2VuZ2VyOmJlZm9yZXtjb250ZW50OlwiXFxlYWQxXCJ9LmNpYi1tZXRlb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDJcIn0uY2liLW1pY3JvLWJsb2c6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDNcIn0uY2liLW1pY3JvZ2VuZXRpY3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDRcIn0uY2liLW1pY3Jvc29mdC1lZGdlOmJlZm9yZXtjb250ZW50OlwiXFxlYWQ1XCJ9LmNpYi1taWNyb3NvZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDZcIn0uY2liLW1pbmV0ZXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYWQ3XCJ9LmNpYi1taW51dGVtYWlsZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZDhcIn0uY2liLW1peDpiZWZvcmV7Y29udGVudDpcIlxcZWFkOVwifS5jaWItbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZGFcIn0uY2liLW1peGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYWRiXCJ9LmNpYi1tb2phbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZGNcIn0uY2liLW1vbmVybzpiZWZvcmV7Y29udGVudDpcIlxcZWFkZFwifS5jaWItbW9uZ29kYjpiZWZvcmV7Y29udGVudDpcIlxcZWFkZVwifS5jaWItbW9ua2V5dGllOmJlZm9yZXtjb250ZW50OlwiXFxlYWRmXCJ9LmNpYi1tb25vZ3JhbTpiZWZvcmV7Y29udGVudDpcIlxcZWFlMFwifS5jaWItbW9uem86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTFcIn0uY2liLW1vbzpiZWZvcmV7Y29udGVudDpcIlxcZWFlMlwifS5jaWItbW96aWxsYS1maXJlZm94OmJlZm9yZXtjb250ZW50OlwiXFxlYWUzXCJ9LmNpYi1tb3ppbGxhOmJlZm9yZXtjb250ZW50OlwiXFxlYWU0XCJ9LmNpYi1tdXNlc2NvcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTVcIn0uY2liLW14bGludXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTZcIn0uY2liLW15c3BhY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTdcIn0uY2liLW15c3FsOmJlZm9yZXtjb250ZW50OlwiXFxlYWU4XCJ9LmNpYi1uYXRpdmVzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZTlcIn0uY2liLW5lYzpiZWZvcmV7Y29udGVudDpcIlxcZWFlYVwifS5jaWItbmVvNGo6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZWJcIn0uY2liLW5ldGZsaXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZWNcIn0uY2liLW5ldGxpZnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZWRcIn0uY2liLW5leHQtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZWVcIn0uY2liLW5leHRjbG91ZDpiZWZvcmV7Y29udGVudDpcIlxcZWFlZlwifS5jaWItbmV4dGRvb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjBcIn0uY2liLW5naW54OmJlZm9yZXtjb250ZW50OlwiXFxlYWYxXCJ9LmNpYi1uaW06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjJcIn0uY2liLW5pbnRlbmRvLTNkczpiZWZvcmV7Y29udGVudDpcIlxcZWFmM1wifS5jaWItbmludGVuZG8tZ2FtZWN1YmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjRcIn0uY2liLW5pbnRlbmRvLXN3aXRjaDpiZWZvcmV7Y29udGVudDpcIlxcZWFmNVwifS5jaWItbmludGVuZG86YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjZcIn0uY2liLW5vZGUtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZjdcIn0uY2liLW5vZGUtcmVkOmJlZm9yZXtjb250ZW50OlwiXFxlYWY4XCJ9LmNpYi1ub2RlbW9uOmJlZm9yZXtjb250ZW50OlwiXFxlYWY5XCJ9LmNpYi1ub2tpYTpiZWZvcmV7Y29udGVudDpcIlxcZWFmYVwifS5jaWItbm90aW9uOmJlZm9yZXtjb250ZW50OlwiXFxlYWZiXCJ9LmNpYi1ucG06YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZmNcIn0uY2liLW51Y2xlbzpiZWZvcmV7Y29udGVudDpcIlxcZWFmZFwifS5jaWItbnVnZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZmVcIn0uY2liLW51eHQtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVhZmZcIn0uY2liLW52aWRpYTpiZWZvcmV7Y29udGVudDpcIlxcZWIwMFwifS5jaWItb2NhbWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMDFcIn0uY2liLW9jdGF2ZTpiZWZvcmV7Y29udGVudDpcIlxcZWIwMlwifS5jaWItb2N0b3B1cy1kZXBsb3k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMDNcIn0uY2liLW9jdWx1czpiZWZvcmV7Y29udGVudDpcIlxcZWIwNFwifS5jaWItb2Rub2tsYXNzbmlraTpiZWZvcmV7Y29udGVudDpcIlxcZWIwNVwifS5jaWItb3Blbi1hY2Nlc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMDZcIn0uY2liLW9wZW4tY29sbGVjdGl2ZTpiZWZvcmV7Y29udGVudDpcIlxcZWIwN1wifS5jaWItb3Blbi1pZDpiZWZvcmV7Y29udGVudDpcIlxcZWIwOFwifS5jaWItb3Blbi1zb3VyY2UtaW5pdGlhdGl2ZTpiZWZvcmV7Y29udGVudDpcIlxcZWIwOVwifS5jaWItb3BlbnN0cmVldG1hcDpiZWZvcmV7Y29udGVudDpcIlxcZWIwYVwifS5jaWItb3BlbnN1c2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMGJcIn0uY2liLW9wZW52cG46YmVmb3Jle2NvbnRlbnQ6XCJcXGViMGNcIn0uY2liLW9wZXJhOmJlZm9yZXtjb250ZW50OlwiXFxlYjBkXCJ9LmNpYi1vcHNnZW5pZTpiZWZvcmV7Y29udGVudDpcIlxcZWIwZVwifS5jaWItb3JhY2xlOmJlZm9yZXtjb250ZW50OlwiXFxlYjBmXCJ9LmNpYi1vcmNpZDpiZWZvcmV7Y29udGVudDpcIlxcZWIxMFwifS5jaWItb3JpZ2luOmJlZm9yZXtjb250ZW50OlwiXFxlYjExXCJ9LmNpYi1vc2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMTJcIn0uY2liLW9zbWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMTNcIn0uY2liLW92ZXJjYXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYjE0XCJ9LmNpYi1vdmVybGVhZjpiZWZvcmV7Y29udGVudDpcIlxcZWIxNVwifS5jaWItb3ZoOmJlZm9yZXtjb250ZW50OlwiXFxlYjE2XCJ9LmNpYi1wYWdla2l0OmJlZm9yZXtjb250ZW50OlwiXFxlYjE3XCJ9LmNpYi1wYWxhbnRpcjpiZWZvcmV7Y29udGVudDpcIlxcZWIxOFwifS5jaWItcGFuZG9yYTpiZWZvcmV7Y29udGVudDpcIlxcZWIxOVwifS5jaWItcGFudGhlb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViMWFcIn0uY2liLXBhdHJlb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViMWJcIn0uY2liLXBheXBhbDpiZWZvcmV7Y29udGVudDpcIlxcZWIxY1wifS5jaWItcGVyaXNjb3BlOmJlZm9yZXtjb250ZW50OlwiXFxlYjFkXCJ9LmNpYi1waHA6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMWVcIn0uY2liLXBpY2FydG8tdHY6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMWZcIn0uY2liLXBpbmJvYXJkOmJlZm9yZXtjb250ZW50OlwiXFxlYjIwXCJ9LmNpYi1waW5nZG9tOmJlZm9yZXtjb250ZW50OlwiXFxlYjIxXCJ9LmNpYi1waW5ndXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMjJcIn0uY2liLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OlwiXFxlYjIzXCJ9LmNpYi1waW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMjRcIn0uY2liLXBpdm90YWx0cmFja2VyOmJlZm9yZXtjb250ZW50OlwiXFxlYjI1XCJ9LmNpYi1wbGFuZ3JpZDpiZWZvcmV7Y29udGVudDpcIlxcZWIyNlwifS5jaWItcGxheWVyLW1lOmJlZm9yZXtjb250ZW50OlwiXFxlYjI3XCJ9LmNpYi1wbGF5ZXJmbTpiZWZvcmV7Y29udGVudDpcIlxcZWIyOFwifS5jaWItcGxheXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViMjlcIn0uY2liLXBsYXlzdGF0aW9uMzpiZWZvcmV7Y29udGVudDpcIlxcZWIyYVwifS5jaWItcGxheXN0YXRpb240OmJlZm9yZXtjb250ZW50OlwiXFxlYjJiXCJ9LmNpYi1wbGVzazpiZWZvcmV7Y29udGVudDpcIlxcZWIyY1wifS5jaWItcGxleDpiZWZvcmV7Y29udGVudDpcIlxcZWIyZFwifS5jaWItcGx1cmFsc2lnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMmVcIn0uY2liLXBsdXJrOmJlZm9yZXtjb250ZW50OlwiXFxlYjJmXCJ9LmNpYi1wb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzBcIn0uY2liLXBvc3RncmVzcWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzFcIn0uY2liLXBvc3RtYW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzJcIn0uY2liLXBvc3R3b21hbjpiZWZvcmV7Y29udGVudDpcIlxcZWIzM1wifS5jaWItcG93ZXJzaGVsbDpiZWZvcmV7Y29udGVudDpcIlxcZWIzNFwifS5jaWItcHJldHRpZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzVcIn0uY2liLXByaXNtaWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzZcIn0uY2liLXByb2JvdDpiZWZvcmV7Y29udGVudDpcIlxcZWIzN1wifS5jaWItcHJvY2Vzc3dpcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViMzhcIn0uY2liLXByb2R1Y3QtaHVudDpiZWZvcmV7Y29udGVudDpcIlxcZWIzOVwifS5jaWItcHJvdG8taW86YmVmb3Jle2NvbnRlbnQ6XCJcXGViM2FcIn0uY2liLXByb3Rvbm1haWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGViM2JcIn0uY2liLXByb3htb3g6YmVmb3Jle2NvbnRlbnQ6XCJcXGViM2NcIn0uY2liLXB5cGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViM2RcIn0uY2liLXB5dGhvbjpiZWZvcmV7Y29udGVudDpcIlxcZWIzZVwifS5jaWItcHl0b3JjaDpiZWZvcmV7Y29udGVudDpcIlxcZWIzZlwifS5jaWItcWdpczpiZWZvcmV7Y29udGVudDpcIlxcZWI0MFwifS5jaWItcWlpdGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDFcIn0uY2liLXFxOmJlZm9yZXtjb250ZW50OlwiXFxlYjQyXCJ9LmNpYi1xdWFsY29tbTpiZWZvcmV7Y29udGVudDpcIlxcZWI0M1wifS5jaWItcXVhbnRjYXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYjQ0XCJ9LmNpYi1xdWFudG9waWFuOmJlZm9yZXtjb250ZW50OlwiXFxlYjQ1XCJ9LmNpYi1xdWFya3VzOmJlZm9yZXtjb250ZW50OlwiXFxlYjQ2XCJ9LmNpYi1xdW9yYTpiZWZvcmV7Y29udGVudDpcIlxcZWI0N1wifS5jaWItcXdpa2xhYnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNDhcIn0uY2liLXF6b25lOmJlZm9yZXtjb250ZW50OlwiXFxlYjQ5XCJ9LmNpYi1yOmJlZm9yZXtjb250ZW50OlwiXFxlYjRhXCJ9LmNpYi1yYWRpb3B1YmxpYzpiZWZvcmV7Y29udGVudDpcIlxcZWI0YlwifS5jaWItcmFpbHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGNcIn0uY2liLXJhc3BiZXJyeS1waTpiZWZvcmV7Y29udGVudDpcIlxcZWI0ZFwifS5jaWItcmVhY3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGVcIn0uY2liLXJlYWQtdGhlLWRvY3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNGZcIn0uY2liLXJlYWRtZTpiZWZvcmV7Y29udGVudDpcIlxcZWI1MFwifS5jaWItcmVhbG06YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTFcIn0uY2liLXJlYXNvbjpiZWZvcmV7Y29udGVudDpcIlxcZWI1MlwifS5jaWItcmVkYnViYmxlOmJlZm9yZXtjb250ZW50OlwiXFxlYjUzXCJ9LmNpYi1yZWRkaXQtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxlYjU0XCJ9LmNpYi1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTVcIn0uY2liLXJlZGhhdDpiZWZvcmV7Y29udGVudDpcIlxcZWI1NlwifS5jaWItcmVkaXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTdcIn0uY2liLXJlZHV4OmJlZm9yZXtjb250ZW50OlwiXFxlYjU4XCJ9LmNpYi1yZW5yZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViNTlcIn0uY2liLXJldmVyYm5hdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZWI1YVwifS5jaWItcmlvdDpiZWZvcmV7Y29udGVudDpcIlxcZWI1YlwifS5jaWItcmlwcGxlOmJlZm9yZXtjb250ZW50OlwiXFxlYjVjXCJ9LmNpYi1yaXNldXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWRcIn0uY2liLXJvbGx1cC1qczpiZWZvcmV7Y29udGVudDpcIlxcZWI1ZVwifS5jaWItcm9vdHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNWZcIn0uY2liLXJvdW5kY3ViZTpiZWZvcmV7Y29udGVudDpcIlxcZWI2MFwifS5jaWItcnNzOmJlZm9yZXtjb250ZW50OlwiXFxlYjYxXCJ9LmNpYi1yc3R1ZGlvOmJlZm9yZXtjb250ZW50OlwiXFxlYjYyXCJ9LmNpYi1ydWJ5OmJlZm9yZXtjb250ZW50OlwiXFxlYjYzXCJ9LmNpYi1ydWJ5Z2VtczpiZWZvcmV7Y29udGVudDpcIlxcZWI2NFwifS5jaWItcnVua2VlcGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYjY1XCJ9LmNpYi1ydXN0OmJlZm9yZXtjb250ZW50OlwiXFxlYjY2XCJ9LmNpYi1zYWZhcmk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjdcIn0uY2liLXNhaGliaW5kZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjhcIn0uY2liLXNhbGVzZm9yY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNjlcIn0uY2liLXNhbHRzdGFjazpiZWZvcmV7Y29udGVudDpcIlxcZWI2YVwifS5jaWItc2Ftc3VuZy1wYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNmJcIn0uY2liLXNhbXN1bmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNmNcIn0uY2liLXNhcDpiZWZvcmV7Y29udGVudDpcIlxcZWI2ZFwifS5jaWItc2Fzcy1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNmVcIn0uY2liLXNhc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNmZcIn0uY2liLXNhdWNlbGFiczpiZWZvcmV7Y29udGVudDpcIlxcZWI3MFwifS5jaWItc2NhbGE6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzFcIn0uY2liLXNjYWxld2F5OmJlZm9yZXtjb250ZW50OlwiXFxlYjcyXCJ9LmNpYi1zY3JpYmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzNcIn0uY2liLXNjcnV0aW5pemVyY2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzRcIn0uY2liLXNlYWdhdGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzVcIn0uY2liLXNlZ2E6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzZcIn0uY2liLXNlbGxmeTpiZWZvcmV7Y29udGVudDpcIlxcZWI3N1wifS5jaWItc2VtYXBob3JlY2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViNzhcIn0uY2liLXNlbnN1OmJlZm9yZXtjb250ZW50OlwiXFxlYjc5XCJ9LmNpYi1zZW50cnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViN2FcIn0uY2liLXNlcnZlci1mYXVsdDpiZWZvcmV7Y29udGVudDpcIlxcZWI3YlwifS5jaWItc2hhemFtOmJlZm9yZXtjb250ZW50OlwiXFxlYjdjXCJ9LmNpYi1zaGVsbDpiZWZvcmV7Y29udGVudDpcIlxcZWI3ZFwifS5jaWItc2hvcGlmeTpiZWZvcmV7Y29udGVudDpcIlxcZWI3ZVwifS5jaWItc2hvd3BhZDpiZWZvcmV7Y29udGVudDpcIlxcZWI3ZlwifS5jaWItc2llbWVuczpiZWZvcmV7Y29udGVudDpcIlxcZWI4MFwifS5jaWItc2lnbmFsOmJlZm9yZXtjb250ZW50OlwiXFxlYjgxXCJ9LmNpYi1zaW5hLXdlaWJvOmJlZm9yZXtjb250ZW50OlwiXFxlYjgyXCJ9LmNpYi1zaXRlcG9pbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViODNcIn0uY2liLXNrZXRjaDpiZWZvcmV7Y29udGVudDpcIlxcZWI4NFwifS5jaWItc2tpbGxzaGFyZTpiZWZvcmV7Y29udGVudDpcIlxcZWI4NVwifS5jaWItc2t5bGluZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViODZcIn0uY2liLXNreXBlOmJlZm9yZXtjb250ZW50OlwiXFxlYjg3XCJ9LmNpYi1zbGFjazpiZWZvcmV7Y29udGVudDpcIlxcZWI4OFwifS5jaWItc2xhc2hkb3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGViODlcIn0uY2liLXNsaWNrcGljOmJlZm9yZXtjb250ZW50OlwiXFxlYjhhXCJ9LmNpYi1zbGlkZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGJcIn0uY2liLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGNcIn0uY2liLXNtYXNoaW5nbWFnYXppbmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGRcIn0uY2liLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OlwiXFxlYjhlXCJ9LmNpYi1zbmFwY3JhZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOGZcIn0uY2liLXNueWs6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTBcIn0uY2liLXNvY2lldHk2OmJlZm9yZXtjb250ZW50OlwiXFxlYjkxXCJ9LmNpYi1zb2NrZXQtaW86YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTJcIn0uY2liLXNvZ291OmJlZm9yZXtjb250ZW50OlwiXFxlYjkzXCJ9LmNpYi1zb2x1czpiZWZvcmV7Y29udGVudDpcIlxcZWI5NFwifS5jaWItc29uZ2tpY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTVcIn0uY2liLXNvbm9zOmJlZm9yZXtjb250ZW50OlwiXFxlYjk2XCJ9LmNpYi1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OlwiXFxlYjk3XCJ9LmNpYi1zb3VyY2Vmb3JnZTpiZWZvcmV7Y29udGVudDpcIlxcZWI5OFwifS5jaWItc291cmNlZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOTlcIn0uY2liLXNwYWNlbWFjczpiZWZvcmV7Y29udGVudDpcIlxcZWI5YVwifS5jaWItc3BhY2V4OmJlZm9yZXtjb250ZW50OlwiXFxlYjliXCJ9LmNpYi1zcGFya2Z1bjpiZWZvcmV7Y29udGVudDpcIlxcZWI5Y1wifS5jaWItc3Bhcmtwb3N0OmJlZm9yZXtjb250ZW50OlwiXFxlYjlkXCJ9LmNpYi1zcGR4OmJlZm9yZXtjb250ZW50OlwiXFxlYjllXCJ9LmNpYi1zcGVha2VyLWRlY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGViOWZcIn0uY2liLXNwZWN0cnVtOmJlZm9yZXtjb250ZW50OlwiXFxlYmEwXCJ9LmNpYi1zcG90aWZ5OmJlZm9yZXtjb250ZW50OlwiXFxlYmExXCJ9LmNpYi1zcG90bGlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTJcIn0uY2liLXNwcmVha2VyOmJlZm9yZXtjb250ZW50OlwiXFxlYmEzXCJ9LmNpYi1zcHJpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTRcIn0uY2liLXNwcmludDpiZWZvcmV7Y29udGVudDpcIlxcZWJhNVwifS5jaWItc3F1YXJlc3BhY2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYTZcIn0uY2liLXN0YWNrYml0OmJlZm9yZXtjb250ZW50OlwiXFxlYmE3XCJ9LmNpYi1zdGFja2V4Y2hhbmdlOmJlZm9yZXtjb250ZW50OlwiXFxlYmE4XCJ9LmNpYi1zdGFja292ZXJmbG93OmJlZm9yZXtjb250ZW50OlwiXFxlYmE5XCJ9LmNpYi1zdGFja3BhdGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYWFcIn0uY2liLXN0YWNrc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYWJcIn0uY2liLXN0YWRpYTpiZWZvcmV7Y29udGVudDpcIlxcZWJhY1wifS5jaWItc3RhdGFtaWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYWRcIn0uY2liLXN0YXRpY21hbjpiZWZvcmV7Y29udGVudDpcIlxcZWJhZVwifS5jaWItc3RhdHVzcGFnZTpiZWZvcmV7Y29udGVudDpcIlxcZWJhZlwifS5jaWItc3RlYW06YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjBcIn0uY2liLXN0ZWVtOmJlZm9yZXtjb250ZW50OlwiXFxlYmIxXCJ9LmNpYi1zdGVlbWl0OmJlZm9yZXtjb250ZW50OlwiXFxlYmIyXCJ9LmNpYi1zdGl0Y2hlcjpiZWZvcmV7Y29udGVudDpcIlxcZWJiM1wifS5jaWItc3RvcmlmeTpiZWZvcmV7Y29udGVudDpcIlxcZWJiNFwifS5jaWItc3Rvcnlib29rOmJlZm9yZXtjb250ZW50OlwiXFxlYmI1XCJ9LmNpYi1zdHJhcGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjZcIn0uY2liLXN0cmF2YTpiZWZvcmV7Y29udGVudDpcIlxcZWJiN1wifS5jaWItc3RyaXBlLXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYjhcIn0uY2liLXN0cmlwZTpiZWZvcmV7Y29udGVudDpcIlxcZWJiOVwifS5jaWItc3R1Ymh1YjpiZWZvcmV7Y29udGVudDpcIlxcZWJiYVwifS5jaWItc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6XCJcXGViYmJcIn0uY2liLXN0eWxlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYmNcIn0uY2liLXN0eWx1czpiZWZvcmV7Y29udGVudDpcIlxcZWJiZFwifS5jaWItc3VibGltZS10ZXh0OmJlZm9yZXtjb250ZW50OlwiXFxlYmJlXCJ9LmNpYi1zdWJ2ZXJzaW9uOmJlZm9yZXtjb250ZW50OlwiXFxlYmJmXCJ9LmNpYi1zdXBlcnVzZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYzBcIn0uY2liLXN2ZWx0ZTpiZWZvcmV7Y29udGVudDpcIlxcZWJjMVwifS5jaWItc3ZnOmJlZm9yZXtjb250ZW50OlwiXFxlYmMyXCJ9LmNpYi1zd2FnZ2VyOmJlZm9yZXtjb250ZW50OlwiXFxlYmMzXCJ9LmNpYi1zd2FybTpiZWZvcmV7Y29udGVudDpcIlxcZWJjNFwifS5jaWItc3dpZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYzVcIn0uY2liLXN5bWFudGVjOmJlZm9yZXtjb250ZW50OlwiXFxlYmM2XCJ9LmNpYi1zeW1mb255OmJlZm9yZXtjb250ZW50OlwiXFxlYmM3XCJ9LmNpYi1zeW5vbG9neTpiZWZvcmV7Y29udGVudDpcIlxcZWJjOFwifS5jaWItdC1tb2JpbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViYzlcIn0uY2liLXRhYmxlYXU6YmVmb3Jle2NvbnRlbnQ6XCJcXGViY2FcIn0uY2liLXRhaWxzOmJlZm9yZXtjb250ZW50OlwiXFxlYmNiXCJ9LmNpYi10YXBhczpiZWZvcmV7Y29udGVudDpcIlxcZWJjY1wifS5jaWItdGVhbXZpZXdlcjpiZWZvcmV7Y29udGVudDpcIlxcZWJjZFwifS5jaWItdGVkOmJlZm9yZXtjb250ZW50OlwiXFxlYmNlXCJ9LmNpYi10ZWVzcHJpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGViY2ZcIn0uY2liLXRlbGVncmFtLXBsYW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYmQwXCJ9LmNpYi10ZWxlZ3JhbTpiZWZvcmV7Y29udGVudDpcIlxcZWJkMVwifS5jaWItdGVuY2VudC1xcTpiZWZvcmV7Y29udGVudDpcIlxcZWJkMlwifS5jaWItdGVuY2VudC13ZWlibzpiZWZvcmV7Y29udGVudDpcIlxcZWJkM1wifS5jaWItdGVuc29yZmxvdzpiZWZvcmV7Y29udGVudDpcIlxcZWJkNFwifS5jaWItdGVycmFmb3JtOmJlZm9yZXtjb250ZW50OlwiXFxlYmQ1XCJ9LmNpYi10ZXNsYTpiZWZvcmV7Y29udGVudDpcIlxcZWJkNlwifS5jaWItdGhlLW1pZ2h0eTpiZWZvcmV7Y29udGVudDpcIlxcZWJkN1wifS5jaWItdGhlLW1vdmllLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OlwiXFxlYmQ4XCJ9LmNpYi10aWRhbDpiZWZvcmV7Y29udGVudDpcIlxcZWJkOVwifS5jaWItdGlrdG9rOmJlZm9yZXtjb250ZW50OlwiXFxlYmRhXCJ9LmNpYi10aW5kZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZGJcIn0uY2liLXRvZG9pc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZGNcIn0uY2liLXRvZ2dsOmJlZm9yZXtjb250ZW50OlwiXFxlYmRkXCJ9LmNpYi10b3Bjb2RlcjpiZWZvcmV7Y29udGVudDpcIlxcZWJkZVwifS5jaWItdG9wdGFsOmJlZm9yZXtjb250ZW50OlwiXFxlYmRmXCJ9LmNpYi10b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTBcIn0uY2liLXRvc2hpYmE6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTFcIn0uY2liLXRyYWluZXJyb2FkOmJlZm9yZXtjb250ZW50OlwiXFxlYmUyXCJ9LmNpYi10cmFrdDpiZWZvcmV7Y29udGVudDpcIlxcZWJlM1wifS5jaWItdHJhdmlzY2k6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTRcIn0uY2liLXRyZWVob3VzZTpiZWZvcmV7Y29udGVudDpcIlxcZWJlNVwifS5jaWItdHJlbGxvOmJlZm9yZXtjb250ZW50OlwiXFxlYmU2XCJ9LmNpYi10cmlwYWR2aXNvcjpiZWZvcmV7Y29udGVudDpcIlxcZWJlN1wifS5jaWItdHJ1bGlhOmJlZm9yZXtjb250ZW50OlwiXFxlYmU4XCJ9LmNpYi10dW1ibHI6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZTlcIn0uY2liLXR3aWxpbzpiZWZvcmV7Y29udGVudDpcIlxcZWJlYVwifS5jaWItdHdpdGNoOmJlZm9yZXtjb250ZW50OlwiXFxlYmViXCJ9LmNpYi10d2l0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxlYmVjXCJ9LmNpYi10d29vOmJlZm9yZXtjb250ZW50OlwiXFxlYmVkXCJ9LmNpYi10eXBlc2NyaXB0OmJlZm9yZXtjb250ZW50OlwiXFxlYmVlXCJ9LmNpYi10eXBvMzpiZWZvcmV7Y29udGVudDpcIlxcZWJlZlwifS5jaWItdWJlcjpiZWZvcmV7Y29udGVudDpcIlxcZWJmMFwifS5jaWItdWJpc29mdDpiZWZvcmV7Y29udGVudDpcIlxcZWJmMVwifS5jaWItdWJsb2NrLW9yaWdpbjpiZWZvcmV7Y29udGVudDpcIlxcZWJmMlwifS5jaWItdWJ1bnR1OmJlZm9yZXtjb250ZW50OlwiXFxlYmYzXCJ9LmNpYi11ZGFjaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYmY0XCJ9LmNpYi11ZGVteTpiZWZvcmV7Y29udGVudDpcIlxcZWJmNVwifS5jaWItdWlraXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZjZcIn0uY2liLXVtYnJhY286YmVmb3Jle2NvbnRlbnQ6XCJcXGViZjdcIn0uY2liLXVuaXR5OmJlZm9yZXtjb250ZW50OlwiXFxlYmY4XCJ9LmNpYi11bnJlYWwtZW5naW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYmY5XCJ9LmNpYi11bnNwbGFzaDpiZWZvcmV7Y29udGVudDpcIlxcZWJmYVwifS5jaWItdW50YXBwZDpiZWZvcmV7Y29udGVudDpcIlxcZWJmYlwifS5jaWItdXB3b3JrOmJlZm9yZXtjb250ZW50OlwiXFxlYmZjXCJ9LmNpYi11c2I6YmVmb3Jle2NvbnRlbnQ6XCJcXGViZmRcIn0uY2liLXY4OmJlZm9yZXtjb250ZW50OlwiXFxlYmZlXCJ9LmNpYi12YWdyYW50OmJlZm9yZXtjb250ZW50OlwiXFxlYmZmXCJ9LmNpYi12ZW5tbzpiZWZvcmV7Y29udGVudDpcIlxcZWMwMFwifS5jaWItdmVyaXpvbjpiZWZvcmV7Y29udGVudDpcIlxcZWMwMVwifS5jaWItdmlhZGVvOmJlZm9yZXtjb250ZW50OlwiXFxlYzAyXCJ9LmNpYi12aWJlcjpiZWZvcmV7Y29udGVudDpcIlxcZWMwM1wifS5jaWItdmltOmJlZm9yZXtjb250ZW50OlwiXFxlYzA0XCJ9LmNpYi12aW1lby12OmJlZm9yZXtjb250ZW50OlwiXFxlYzA1XCJ9LmNpYi12aW1lbzpiZWZvcmV7Y29udGVudDpcIlxcZWMwNlwifS5jaWItdmluZTpiZWZvcmV7Y29udGVudDpcIlxcZWMwN1wifS5jaWItdmlyYjpiZWZvcmV7Y29udGVudDpcIlxcZWMwOFwifS5jaWItdmlzYTpiZWZvcmV7Y29udGVudDpcIlxcZWMwOVwifS5jaWItdmlzdWFsLXN0dWRpby1jb2RlOmJlZm9yZXtjb250ZW50OlwiXFxlYzBhXCJ9LmNpYi12aXN1YWwtc3R1ZGlvOmJlZm9yZXtjb250ZW50OlwiXFxlYzBiXCJ9LmNpYi12azpiZWZvcmV7Y29udGVudDpcIlxcZWMwY1wifS5jaWItdmxjOmJlZm9yZXtjb250ZW50OlwiXFxlYzBkXCJ9LmNpYi12c2NvOmJlZm9yZXtjb250ZW50OlwiXFxlYzBlXCJ9LmNpYi12dWUtanM6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMGZcIn0uY2liLXdhdHRwYWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTBcIn0uY2liLXdlYXN5bDpiZWZvcmV7Y29udGVudDpcIlxcZWMxMVwifS5jaWItd2ViY29tcG9uZW50cy1vcmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTJcIn0uY2liLXdlYnBhY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTNcIn0uY2liLXdlYnN0b3JtOmJlZm9yZXtjb250ZW50OlwiXFxlYzE0XCJ9LmNpYi13ZWNoYXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMTVcIn0uY2liLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OlwiXFxlYzE2XCJ9LmNpYi13aGVuLWktd29yazpiZWZvcmV7Y29udGVudDpcIlxcZWMxN1wifS5jaWItd2lpOmJlZm9yZXtjb250ZW50OlwiXFxlYzE4XCJ9LmNpYi13aWl1OmJlZm9yZXtjb250ZW50OlwiXFxlYzE5XCJ9LmNpYi13aWtpcGVkaWE6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWFcIn0uY2liLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWJcIn0uY2liLXdpcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMWNcIn0uY2liLXdpcmVndWFyZDpiZWZvcmV7Y29udGVudDpcIlxcZWMxZFwifS5jaWItd2l4OmJlZm9yZXtjb250ZW50OlwiXFxlYzFlXCJ9LmNpYi13b2xmcmFtLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OlwiXFxlYzFmXCJ9LmNpYi13b2xmcmFtLW1hdGhlbWF0aWNhOmJlZm9yZXtjb250ZW50OlwiXFxlYzIwXCJ9LmNpYi13b2xmcmFtOmJlZm9yZXtjb250ZW50OlwiXFxlYzIxXCJ9LmNpYi13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjJcIn0uY2liLXdwZW5naW5lOmJlZm9yZXtjb250ZW50OlwiXFxlYzIzXCJ9LmNpYi14LXBhY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjRcIn0uY2liLXhib3g6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjVcIn0uY2liLXhjb2RlOmJlZm9yZXtjb250ZW50OlwiXFxlYzI2XCJ9LmNpYi14ZXJvOmJlZm9yZXtjb250ZW50OlwiXFxlYzI3XCJ9LmNpYi14aWFvbWk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjhcIn0uY2liLXhpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMjlcIn0uY2liLXhycDpiZWZvcmV7Y29udGVudDpcIlxcZWMyYVwifS5jaWIteHNwbGl0OmJlZm9yZXtjb250ZW50OlwiXFxlYzJiXCJ9LmNpYi15LWNvbWJpbmF0b3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMmNcIn0uY2liLXlhaG9vOmJlZm9yZXtjb250ZW50OlwiXFxlYzJkXCJ9LmNpYi15YW1tZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMmVcIn0uY2liLXlhbmRleDpiZWZvcmV7Y29udGVudDpcIlxcZWMyZlwifS5jaWIteWFybjpiZWZvcmV7Y29udGVudDpcIlxcZWMzMFwifS5jaWIteWVscDpiZWZvcmV7Y29udGVudDpcIlxcZWMzMVwifS5jaWIteW91dHViZTpiZWZvcmV7Y29udGVudDpcIlxcZWMzMlwifS5jaWItemFsYW5kbzpiZWZvcmV7Y29udGVudDpcIlxcZWMzM1wifS5jaWItemFwaWVyOmJlZm9yZXtjb250ZW50OlwiXFxlYzM0XCJ9LmNpYi16ZWl0OmJlZm9yZXtjb250ZW50OlwiXFxlYzM1XCJ9LmNpYi16ZW5kZXNrOmJlZm9yZXtjb250ZW50OlwiXFxlYzM2XCJ9LmNpYi16ZXJwbHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjMzdcIn0uY2liLXppbGxvdzpiZWZvcmV7Y29udGVudDpcIlxcZWMzOFwifS5jaWItemluZ2F0OmJlZm9yZXtjb250ZW50OlwiXFxlYzM5XCJ9LmNpYi16b29tOmJlZm9yZXtjb250ZW50OlwiXFxlYzNhXCJ9LmNpYi16b3JpbjpiZWZvcmV7Y29udGVudDpcIlxcZWMzYlwifS5jaWItenVsaXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGVjM2NcIn1cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJyYW5kLm1pbi5jc3MubWFwICovIiwiLyohXG4gKiBDb3JlVUkgSWNvbnMgLSBCcmFuZCBJY29uc1xuICogQHZlcnNpb24gdjEuMC4xXG4gKiBAbGluayBodHRwczovL2NvcmV1aS5pby9pY29ucy9icmFuZC9cbiAqIENvcHlyaWdodCAoYykgMjAyMCBjcmVhdGl2ZUxhYnMgxYF1a2FzeiBIb2xlY3pla1xuICogTGljZW5zZWQgdW5kZXIgQ0MwIDEuMCBVbml2ZXJzYWxcbiAqL1xuXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiY29yZVwiO1xuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUJyYW5kJztcbiAgc3JjOiAgdXJsKCcjeyRjb3JldWktaWNvbnMtZm9udC1wYXRofS9Db3JlVUktSWNvbnMtQnJhbmQuZW90PzY0aDZ4aCcpO1xuICBzcmM6ICB1cmwoJyN7JGNvcmV1aS1pY29ucy1mb250LXBhdGh9L0NvcmVVSS1JY29ucy1CcmFuZC5lb3Q/NjRoNnhoI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnI3skY29yZXVpLWljb25zLWZvbnQtcGF0aH0vQ29yZVVJLUljb25zLUJyYW5kLnR0Zj82NGg2eGgnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRjb3JldWktaWNvbnMtZm9udC1wYXRofS9Db3JlVUktSWNvbnMtQnJhbmQud29mZj82NGg2eGgnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGNvcmV1aS1pY29ucy1mb250LXBhdGh9L0NvcmVVSS1JY29ucy1CcmFuZC5zdmc/NjRoNnhoI0NvcmVVSS1JY29ucy1MaW5lYXInKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCIjeyRjb3JldWktaWNvbnMtcHJlZml4fVwiXSwgW2NsYXNzKj1cIiAjeyRjb3JldWktaWNvbnMtcHJlZml4fVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUJyYW5kJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQGVhY2ggJGljb24sICR1bmljb2RlIGluICRpY29ucyB7XG4gIC4jeyRjb3JldWktaWNvbnMtcHJlZml4fSN7JGljb259IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1bmljb2RlKCR1bmljb2RlKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogQ29yZVVJIEljb25zIC0gQnJhbmQgSWNvbnNcbiAqIEB2ZXJzaW9uIHYxLjAuMVxuICogQGxpbmsgaHR0cHM6Ly9jb3JldWkuaW8vaWNvbnMvYnJhbmQvXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgY3JlYXRpdmVMYWJzIMWBdWthc3ogSG9sZWN6ZWtcbiAqIExpY2Vuc2VkIHVuZGVyIENDMCAxLjAgVW5pdmVyc2FsXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NvcmVVSS1JY29ucy1CcmFuZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUJyYW5kLmVvdD82NGg2eGhcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUJyYW5kLmVvdD82NGg2eGgjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0NvcmVVSS1JY29ucy1CcmFuZC50dGY/NjRoNnhoXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9Db3JlVUktSWNvbnMtQnJhbmQud29mZj82NGg2eGhcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvQ29yZVVJLUljb25zLUJyYW5kLnN2Zz82NGg2eGgjQ29yZVVJLUljb25zLUxpbmVhclwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImNpYi1cIl0sIFtjbGFzcyo9XCIgY2liLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnQ29yZVVJLUljb25zLUJyYW5kJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5jaWItNTAwcHgtNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuXG4uY2liLTUwMHB4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5jaWItYWJvdXQtbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cblxuLmNpYi1hYnN0cmFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuXG4uY2liLWFjbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuXG4uY2liLWFkZHRoaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cblxuLmNpYi1hZGd1YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG5cbi5jaWItYWRvYmUtYWNyb2JhdC1yZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLmNpYi1hZG9iZS1hZnRlcmUtZmZlY3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG5cbi5jaWItYWRvYmUtYXVkaXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cblxuLmNpYi1hZG9iZS1jcmVhdGl2ZS1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYVwiO1xufVxuXG4uY2liLWFkb2JlLWRyZWFtd2VhdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG5cbi5jaWItYWRvYmUtaWxsdXN0cmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGNcIjtcbn1cblxuLmNpYi1hZG9iZS1pbmRlc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuXG4uY2liLWFkb2JlLWxpZ2h0cm9vbS1jbGFzc2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG5cbi5jaWItYWRvYmUtbGlnaHRyb29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG5cbi5jaWItYWRvYmUtcGhvdG9zaG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG59XG5cbi5jaWItYWRvYmUtcHJlbWllcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cblxuLmNpYi1hZG9iZS10eXBla2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XG59XG5cbi5jaWItYWRvYmUteGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cblxuLmNpYi1hZG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuXG4uY2liLWFpcmJuYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuXG4uY2liLWFsZ29saWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTZcIjtcbn1cblxuLmNpYi1hbGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTdcIjtcbn1cblxuLmNpYi1hbGxvY2luZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuXG4uY2liLWFtYXpvbi1hd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTlcIjtcbn1cblxuLmNpYi1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG59XG5cbi5jaWItYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFiXCI7XG59XG5cbi5jaWItYW1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFjXCI7XG59XG5cbi5jaWItYW1lcmljYW4tZXhwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZFwiO1xufVxuXG4uY2liLWFuYWNvbmRhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XG59XG5cbi5jaWItYW5hbG9ndWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWZcIjtcbn1cblxuLmNpYi1hbmRyb2lkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMFwiO1xufVxuXG4uY2liLWFuZHJvaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjFcIjtcbn1cblxuLmNpYi1hbmdlbGxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjJcIjtcbn1cblxuLmNpYi1hbmd1bGFyLXVuaXZlcnNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuXG4uY2liLWFuZ3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cblxuLmNpYi1hbnNpYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI1XCI7XG59XG5cbi5jaWItYXBhY2hlLWFpcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjZcIjtcbn1cblxuLmNpYi1hcGFjaGUtZmxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjtcbn1cblxuLmNpYi1hcGFjaGUtc3Bhcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cblxuLmNpYi1hcGFjaGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cblxuLmNpYi1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG5cbi5jaWItYXBwLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG5cbi5jaWItYXBwbGUtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmNcIjtcbn1cblxuLmNpYi1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmRcIjtcbn1cblxuLmNpYi1hcHBsZS1wb2RjYXN0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuXG4uY2liLWFwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJmXCI7XG59XG5cbi5jaWItYXBwdmV5b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzBcIjtcbn1cblxuLmNpYi1hcmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG59XG5cbi5jaWItYXJjaC1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMlwiO1xufVxuXG4uY2liLWFyY2hpdmUtb2Ytb3VyLW93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzM1wiO1xufVxuXG4uY2liLWFyZHVpbm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzRcIjtcbn1cblxuLmNpYi1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG59XG5cbi5jaWItYXJ4aXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cblxuLmNpYi1hc2FuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzN1wiO1xufVxuXG4uY2liLWF0LWFuZC10OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG59XG5cbi5jaWItYXRsYXNzaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM5XCI7XG59XG5cbi5jaWItYXRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuXG4uY2liLWF1ZGlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2JcIjtcbn1cblxuLmNpYi1hdXJlbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNjXCI7XG59XG5cbi5jaWItYXV0aDA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2RcIjtcbn1cblxuLmNpYi1hdXRvbWF0aWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2VcIjtcbn1cblxuLmNpYi1hdXRvdGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZlwiO1xufVxuXG4uY2liLWF2ZW50cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG59XG5cbi5jaWItYXp1cmUtYXJ0aWZhY3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG59XG5cbi5jaWItYXp1cmUtZGV2b3BzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQyXCI7XG59XG5cbi5jaWItYXp1cmUtcGlwZWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQzXCI7XG59XG5cbi5jaWItYmFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDRcIjtcbn1cblxuLmNpYi1iYWlkdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NVwiO1xufVxuXG4uY2liLWJhbWJvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NlwiO1xufVxuXG4uY2liLWJhbmNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDdcIjtcbn1cblxuLmNpYi1iYW5kY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0OFwiO1xufVxuXG4uY2liLWJhc2VjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG5cbi5jaWItYmF0aGFzdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0YVwiO1xufVxuXG4uY2liLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NGJcIjtcbn1cblxuLmNpYi1iaWctY2FydGVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG59XG5cbi5jaWItYmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZFwiO1xufVxuXG4uY2liLWJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZVwiO1xufVxuXG4uY2liLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0ZlwiO1xufVxuXG4uY2liLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTBcIjtcbn1cblxuLmNpYi1iaXRkZWZlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1MVwiO1xufVxuXG4uY2liLWJpdGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUyXCI7XG59XG5cbi5jaWItYmxhY2tiZXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1M1wiO1xufVxuXG4uY2liLWJsZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTRcIjtcbn1cblxuLmNpYi1ibG9nZ2VyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTVcIjtcbn1cblxuLmNpYi1ibG9nZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG5cbi5jaWItYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTdcIjtcbn1cblxuLmNpYi1ibHVldG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NThcIjtcbn1cblxuLmNpYi1ib2Vpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTlcIjtcbn1cblxuLmNpYi1ib29zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1YVwiO1xufVxuXG4uY2liLWJvb3RzdHJhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1YlwiO1xufVxuXG4uY2liLWJvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG59XG5cbi5jaWItYnJhbmQtYWk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NWRcIjtcbn1cblxuLmNpYi1icmF2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZVwiO1xufVxuXG4uY2liLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1ZlwiO1xufVxuXG4uY2liLWJ1ZGR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYwXCI7XG59XG5cbi5jaWItYnVmZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYxXCI7XG59XG5cbi5jaWItYnV5LW1lLWEtY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTYyXCI7XG59XG5cbi5jaWItYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2M1wiO1xufVxuXG4uY2liLWJ1enpmZWVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY0XCI7XG59XG5cbi5jaWItYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2NVwiO1xufVxuXG4uY2liLWNha2VwaHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjZcIjtcbn1cblxuLmNpYi1jYW1wYWlnbi1tb25pdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY3XCI7XG59XG5cbi5jaWItY2FudmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjhcIjtcbn1cblxuLmNpYi1jYXNoYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTY5XCI7XG59XG5cbi5jaWItY2Fzc2FuZHJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTZhXCI7XG59XG5cbi5jaWItY2FzdHJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTZiXCI7XG59XG5cbi5jaWItY2MtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2Y1wiO1xufVxuXG4uY2liLWNjLWFtZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmRcIjtcbn1cblxuLmNpYi1jYy1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmVcIjtcbn1cblxuLmNpYi1jYy1kaW5lcnMtY2x1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2ZlwiO1xufVxuXG4uY2liLWNjLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTcwXCI7XG59XG5cbi5jaWItY2MtamNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTcxXCI7XG59XG5cbi5jaWItY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3MlwiO1xufVxuXG4uY2liLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3M1wiO1xufVxuXG4uY2liLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3NFwiO1xufVxuXG4uY2liLWNjLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzVcIjtcbn1cblxuLmNpYi1jZW50b3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzZcIjtcbn1cblxuLmNpYi1jZXZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc3XCI7XG59XG5cbi5jaWItY2hhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzhcIjtcbn1cblxuLmNpYi1jaGVmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc5XCI7XG59XG5cbi5jaWItY2hyb21lY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3YVwiO1xufVxuXG4uY2liLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3YlwiO1xufVxuXG4uY2liLWNpcmNsZWNpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdjXCI7XG59XG5cbi5jaWItY2lycnVzY2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2RcIjtcbn1cblxuLmNpYi1jaXNjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3ZVwiO1xufVxuXG4uY2liLWNpdmljcm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2ZcIjtcbn1cblxuLmNpYi1jbG9ja2lmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4MFwiO1xufVxuXG4uY2liLWNsb2p1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODFcIjtcbn1cblxuLmNpYi1jbG91ZGJlZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODJcIjtcbn1cblxuLmNpYi1jbG91ZGZsYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTgzXCI7XG59XG5cbi5jaWItY21ha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODRcIjtcbn1cblxuLmNpYi1jby1vcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4NVwiO1xufVxuXG4uY2liLWNvZGFjeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4NlwiO1xufVxuXG4uY2liLWNvZGUtY2xpbWF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4N1wiO1xufVxuXG4uY2liLWNvZGVjYWRlbXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODhcIjtcbn1cblxuLmNpYi1jb2RlY292OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTg5XCI7XG59XG5cbi5jaWItY29kZWlnbml0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGFcIjtcbn1cblxuLmNpYi1jb2RlcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThiXCI7XG59XG5cbi5jaWItY29kZXJ3YWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThjXCI7XG59XG5cbi5jaWItY29kZXNhbmRib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGRcIjtcbn1cblxuLmNpYi1jb2Rlc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4ZVwiO1xufVxuXG4uY2liLWNvZGV3YXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThmXCI7XG59XG5cbi5jaWItY29kaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTBcIjtcbn1cblxuLmNpYi1jb2ZmZWVzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTFcIjtcbn1cblxuLmNpYi1jb21tb24td29ya2Zsb3ctbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTJcIjtcbn1cblxuLmNpYi1jb21wb3NlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5M1wiO1xufVxuXG4uY2liLWNvbmRhLWZvcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk0XCI7XG59XG5cbi5jaWItY29uZWt0YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5NVwiO1xufVxuXG4uY2liLWNvbmZsdWVuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OTZcIjtcbn1cblxuLmNpYi1jb3JldWktYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5N1wiO1xufVxuXG4uY2liLWNvcmV1aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5OFwiO1xufVxuXG4uY2liLWNvdXJzZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk5XCI7XG59XG5cbi5jaWItY292ZXJhbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTlhXCI7XG59XG5cbi5jaWItY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTliXCI7XG59XG5cbi5jaWItY3BsdXNwbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTljXCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5ZFwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OWVcIjtcbn1cblxuLmNpYi1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTlmXCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhMFwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTFcIjtcbn1cblxuLmNpYi1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhMlwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTNcIjtcbn1cblxuLmNpYi1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE0XCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhNVwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhNlwiO1xufVxuXG4uY2liLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YTdcIjtcbn1cblxuLmNpYi1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE4XCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE5XCI7XG59XG5cbi5jaWItY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhYVwiO1xufVxuXG4uY2liLWNydW5jaGJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YWJcIjtcbn1cblxuLmNpYi1jcnVuY2h5cm9sbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhY1wiO1xufVxuXG4uY2liLWNzczMtc2hpbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWFkXCI7XG59XG5cbi5jaWItY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlhZVwiO1xufVxuXG4uY2liLWNzc3dpemFyZHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWFmXCI7XG59XG5cbi5jaWItZDMtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjBcIjtcbn1cblxuLmNpYi1kYWlseW1vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliMVwiO1xufVxuXG4uY2liLWRhc2hsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWIyXCI7XG59XG5cbi5jaWItZGF6bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliM1wiO1xufVxuXG4uY2liLWRibHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjRcIjtcbn1cblxuLmNpYi1kZWJpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjVcIjtcbn1cblxuLmNpYi1kZWVwaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjZcIjtcbn1cblxuLmNpYi1kZWV6ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjdcIjtcbn1cblxuLmNpYi1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YjhcIjtcbn1cblxuLmNpYi1kZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWI5XCI7XG59XG5cbi5jaWItZGVubzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliYVwiO1xufVxuXG4uY2liLWRlcGVuZGFib3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YmJcIjtcbn1cblxuLmNpYi1kZXNpZ25lci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWJjXCI7XG59XG5cbi5jaWItZGV2LXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWJkXCI7XG59XG5cbi5jaWItZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTliZVwiO1xufVxuXG4uY2liLWRldnJhbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YmZcIjtcbn1cblxuLmNpYi1kaWFzcG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljMFwiO1xufVxuXG4uY2liLWRpZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YzFcIjtcbn1cblxuLmNpYi1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWMyXCI7XG59XG5cbi5jaWItZGlzY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljM1wiO1xufVxuXG4uY2liLWRpc2NvdXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljNFwiO1xufVxuXG4uY2liLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWM1XCI7XG59XG5cbi5jaWItZGlzcXVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWM2XCI7XG59XG5cbi5jaWItZGlzcm9vdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljN1wiO1xufVxuXG4uY2liLWRqYW5nbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljOFwiO1xufVxuXG4uY2liLWRvY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljOVwiO1xufVxuXG4uY2liLWRvY3VzaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWNhXCI7XG59XG5cbi5jaWItZG90LW5ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljYlwiO1xufVxuXG4uY2liLWRyYXVnaWVtLWx2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWNjXCI7XG59XG5cbi5jaWItZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5Y2RcIjtcbn1cblxuLmNpYi1kcm9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljZVwiO1xufVxuXG4uY2liLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5Y2ZcIjtcbn1cblxuLmNpYi1kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDBcIjtcbn1cblxuLmNpYi1kdHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkMVwiO1xufVxuXG4uY2liLWR1Y2tkdWNrZ286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDJcIjtcbn1cblxuLmNpYi1keW5hdHJhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDNcIjtcbn1cblxuLmNpYi1lYmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWQ0XCI7XG59XG5cbi5jaWItZWNsaXBzZWlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkNVwiO1xufVxuXG4uY2liLWVsYXN0aWMtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDZcIjtcbn1cblxuLmNpYi1lbGFzdGljLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkN1wiO1xufVxuXG4uY2liLWVsYXN0aWMtc3RhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZDhcIjtcbn1cblxuLmNpYi1lbGFzdGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWQ5XCI7XG59XG5cbi5jaWItZWxlY3Ryb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZGFcIjtcbn1cblxuLmNpYi1lbGVtZW50YXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWRiXCI7XG59XG5cbi5jaWItZWxldmVudHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZGNcIjtcbn1cblxuLmNpYi1lbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWRkXCI7XG59XG5cbi5jaWItZWxzZXZpZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZGVcIjtcbn1cblxuLmNpYi1lbWxha2pldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlkZlwiO1xufVxuXG4uY2liLWVtcGlyZWtyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTBcIjtcbn1cblxuLmNpYi1lbnZhdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTFcIjtcbn1cblxuLmNpYi1lcGljLWdhbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWUyXCI7XG59XG5cbi5jaWItZXBzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTNcIjtcbn1cblxuLmNpYi1lc2VhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWU0XCI7XG59XG5cbi5jaWItZXNsaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWU1XCI7XG59XG5cbi5jaWItZXRoZXJldW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZTZcIjtcbn1cblxuLmNpYi1ldHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWU3XCI7XG59XG5cbi5jaWItZXZlbnQtc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZThcIjtcbn1cblxuLmNpYi1ldmVudGJyaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWU5XCI7XG59XG5cbi5jaWItZXZlcm5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZWFcIjtcbn1cblxuLmNpYi1ldmVycGxhY2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWViXCI7XG59XG5cbi5jaWItZXZyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllY1wiO1xufVxuXG4uY2liLWV4ZXJjaXNtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWVkXCI7XG59XG5cbi5jaWItZXhwZXJ0cy1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTllZVwiO1xufVxuXG4uY2liLWV4cG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZWZcIjtcbn1cblxuLmNpYi1leWVlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmMFwiO1xufVxuXG4uY2liLWYtc2VjdXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWYxXCI7XG59XG5cbi5jaWItZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmMlwiO1xufVxuXG4uY2liLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWYzXCI7XG59XG5cbi5jaWItZmFjZWl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWY0XCI7XG59XG5cbi5jaWItZmFuZGFuZ286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjVcIjtcbn1cblxuLmNpYi1mYXZybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmNlwiO1xufVxuXG4uY2liLWZlYXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZjdcIjtcbn1cblxuLmNpYi1mZWRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmOFwiO1xufVxuXG4uY2liLWZlZG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmOVwiO1xufVxuXG4uY2liLWZlZWRseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmYVwiO1xufVxuXG4uY2liLWZpZG8tYWxsaWFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ZmJcIjtcbn1cblxuLmNpYi1maWdtYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmY1wiO1xufVxuXG4uY2liLWZpbGV6aWxsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTlmZFwiO1xufVxuXG4uY2liLWZpcmViYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWZlXCI7XG59XG5cbi5jaWItZml0Yml0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWZmXCI7XG59XG5cbi5jaWItZmxhc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDBcIjtcbn1cblxuLmNpYi1mbGF0dHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDFcIjtcbn1cblxuLmNpYi1mbGlja3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDJcIjtcbn1cblxuLmNpYi1mbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDNcIjtcbn1cblxuLmNpYi1mbHV0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA0XCI7XG59XG5cbi5jaWItZm5hYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwNVwiO1xufVxuXG4uY2liLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDZcIjtcbn1cblxuLmNpYi1mcmFtZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMDdcIjtcbn1cblxuLmNpYi1mcmVlYnNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA4XCI7XG59XG5cbi5jaWItZnJlZWNvZGVjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTA5XCI7XG59XG5cbi5jaWItZnVyLWFmZmluaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTBhXCI7XG59XG5cbi5jaWItZnVycnktbmV0d29yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwYlwiO1xufVxuXG4uY2liLWdhcm1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwY1wiO1xufVxuXG4uY2liLWdhdHNieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwZFwiO1xufVxuXG4uY2liLWdhdWdlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwZVwiO1xufVxuXG4uY2liLWdlbml1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEwZlwiO1xufVxuXG4uY2liLWdlbnRvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExMFwiO1xufVxuXG4uY2liLWdlb2NhY2hpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMTFcIjtcbn1cblxuLmNpYi1nZXJyaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMTJcIjtcbn1cblxuLmNpYi1nZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExM1wiO1xufVxuXG4uY2liLWdob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE0XCI7XG59XG5cbi5jaWItZ2ltcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExNVwiO1xufVxuXG4uY2liLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWExNlwiO1xufVxuXG4uY2liLWdpdGVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE3XCI7XG59XG5cbi5jaWItZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE4XCI7XG59XG5cbi5jaWItZ2l0a3Jha2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTE5XCI7XG59XG5cbi5jaWItZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFhXCI7XG59XG5cbi5jaWItZ2l0cG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFiXCI7XG59XG5cbi5jaWItZ2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFjXCI7XG59XG5cbi5jaWItZ2xhc3Nkb29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFkXCI7XG59XG5cbi5jaWItZ2xpdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTFlXCI7XG59XG5cbi5jaWItZ21haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMWZcIjtcbn1cblxuLmNpYi1nbnUtcHJpdmFjeS1ndWFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyMFwiO1xufVxuXG4uY2liLWdudS1zb2NpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjFcIjtcbn1cblxuLmNpYi1nbnU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjJcIjtcbn1cblxuLmNpYi1nbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyM1wiO1xufVxuXG4uY2liLWdvZG90LWVuZ2luZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyNFwiO1xufVxuXG4uY2liLWdvZy1jb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMjVcIjtcbn1cblxuLmNpYi1nb2xkZW5saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI2XCI7XG59XG5cbi5jaWItZ29vZHJlYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI3XCI7XG59XG5cbi5jaWItZ29vZ2xlLWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyOFwiO1xufVxuXG4uY2liLWdvb2dsZS1hbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTI5XCI7XG59XG5cbi5jaWItZ29vZ2xlLWFuYWx5dGljczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyYVwiO1xufVxuXG4uY2liLWdvb2dsZS1jaHJvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMmJcIjtcbn1cblxuLmNpYi1nb29nbGUtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMmNcIjtcbn1cblxuLmNpYi1nb29nbGUta2VlcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZFwiO1xufVxuXG4uY2liLWdvb2dsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMmVcIjtcbn1cblxuLmNpYi1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEyZlwiO1xufVxuXG4uY2liLWdvb2dsZS1wb2RjYXN0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzMFwiO1xufVxuXG4uY2liLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzMVwiO1xufVxuXG4uY2liLWdvb2dsZXMtY2hvbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMyXCI7XG59XG5cbi5jaWItZ292LXVrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTMzXCI7XG59XG5cbi5jaWItZ3JhZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTM0XCI7XG59XG5cbi5jaWItZ3JhZmFuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzNVwiO1xufVxuXG4uY2liLWdyYXBoY29vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzNlwiO1xufVxuXG4uY2liLWdyYXBocWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzdcIjtcbn1cblxuLmNpYi1ncmF2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTM4XCI7XG59XG5cbi5jaWItZ3JhdmF0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhMzlcIjtcbn1cblxuLmNpYi1ncmVlbmtlZXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzYVwiO1xufVxuXG4uY2liLWdyZWVuc29jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzYlwiO1xufVxuXG4uY2liLWdyb292eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzY1wiO1xufVxuXG4uY2liLWdyb3Vwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2RcIjtcbn1cblxuLmNpYi1ncnVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWEzZVwiO1xufVxuXG4uY2liLWd1bHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhM2ZcIjtcbn1cblxuLmNpYi1ndW1yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQwXCI7XG59XG5cbi5jaWItZ3VtdHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0MVwiO1xufVxuXG4uY2liLWhhYnI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNDJcIjtcbn1cblxuLmNpYi1oYWNrYWRheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0M1wiO1xufVxuXG4uY2liLWhhY2tlcmVhcnRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQ0XCI7XG59XG5cbi5jaWItaGFja2Vyb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQ1XCI7XG59XG5cbi5jaWItaGFja2VycmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0NlwiO1xufVxuXG4uY2liLWhhY2toYW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0N1wiO1xufVxuXG4uY2liLWhhY2tzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTQ4XCI7XG59XG5cbi5jaWItaGFwcHljb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNDlcIjtcbn1cblxuLmNpYi1oYXNobm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0YVwiO1xufVxuXG4uY2liLWhhc2tlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNGJcIjtcbn1cblxuLmNpYi1oYXRlbmEtYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNGNcIjtcbn1cblxuLmNpYi1oYXhlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTRkXCI7XG59XG5cbi5jaWItaGVsbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE0ZVwiO1xufVxuXG4uY2liLWhlcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNGZcIjtcbn1cblxuLmNpYi1oZXJva3U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTBcIjtcbn1cblxuLmNpYi1oZXhvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTUxXCI7XG59XG5cbi5jaWItaGlnaGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTUyXCI7XG59XG5cbi5jaWItaGlwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1M1wiO1xufVxuXG4uY2liLWhpdGFjaGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTRcIjtcbn1cblxuLmNpYi1ob2NrZXlhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTVcIjtcbn1cblxuLmNpYi1ob21pZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTZcIjtcbn1cblxuLmNpYi1ob290c3VpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNTdcIjtcbn1cblxuLmNpYi1ob3RqYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNThcIjtcbn1cblxuLmNpYi1ob3V6ejpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1OVwiO1xufVxuXG4uY2liLWhwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTVhXCI7XG59XG5cbi5jaWItaHRtbDUtc2hpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTViXCI7XG59XG5cbi5jaWItaHRtbDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNWNcIjtcbn1cblxuLmNpYi1odG1sYWNhZGVteTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1ZFwiO1xufVxuXG4uY2liLWh1YXdlaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE1ZVwiO1xufVxuXG4uY2liLWh1YnNwb3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNWZcIjtcbn1cblxuLmNpYi1odWx1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTYwXCI7XG59XG5cbi5jaWItaHVtYmxlLWJ1bmRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE2MVwiO1xufVxuXG4uY2liLWlhdGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjJcIjtcbn1cblxuLmNpYi1pYm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjNcIjtcbn1cblxuLmNpYi1pY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjRcIjtcbn1cblxuLmNpYi1pY29uamFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTY1XCI7XG59XG5cbi5jaWItaWNxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTY2XCI7XG59XG5cbi5jaWItaWRlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjdcIjtcbn1cblxuLmNpYi1pZml4aXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNjhcIjtcbn1cblxuLmNpYi1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTY5XCI7XG59XG5cbi5jaWItaW5kZWVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTZhXCI7XG59XG5cbi5jaWItaW5rc2NhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmJcIjtcbn1cblxuLmNpYi1pbnN0YWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmNcIjtcbn1cblxuLmNpYi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmRcIjtcbn1cblxuLmNpYi1pbnN0YXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTZlXCI7XG59XG5cbi5jaWItaW50ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNmZcIjtcbn1cblxuLmNpYi1pbnRlbGxpamlkZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzBcIjtcbn1cblxuLmNpYi1pbnRlcmNvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3MVwiO1xufVxuXG4uY2liLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTcyXCI7XG59XG5cbi5jaWItaW52aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzNcIjtcbn1cblxuLmNpYi1pb25pYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3NFwiO1xufVxuXG4uY2liLWlzc3V1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTc1XCI7XG59XG5cbi5jaWItaXRjaC1pbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3NlwiO1xufVxuXG4uY2liLWphYmJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3N1wiO1xufVxuXG4uY2liLWphdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhNzhcIjtcbn1cblxuLmNpYi1qYXZhc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTc5XCI7XG59XG5cbi5jaWItamVreWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTdhXCI7XG59XG5cbi5jaWItamVua2luczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE3YlwiO1xufVxuXG4uY2liLWplc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhN2NcIjtcbn1cblxuLmNpYi1qZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhN2RcIjtcbn1cblxuLmNpYi1qZXRicmFpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhN2VcIjtcbn1cblxuLmNpYi1qaXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTdmXCI7XG59XG5cbi5jaWItam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgwXCI7XG59XG5cbi5jaWItanF1ZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTgxXCI7XG59XG5cbi5jaWItanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODJcIjtcbn1cblxuLmNpYi1qc2RlbGl2cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4M1wiO1xufVxuXG4uY2liLWpzZmlkZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTg0XCI7XG59XG5cbi5jaWItanNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4NVwiO1xufVxuXG4uY2liLWp1cHl0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODZcIjtcbn1cblxuLmNpYi1qdXN0Z2l2aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTg3XCI7XG59XG5cbi5jaWIta2FnZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTg4XCI7XG59XG5cbi5jaWIta2Fpb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhODlcIjtcbn1cblxuLmNpYi1rYXNwZXJza3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOGFcIjtcbn1cblxuLmNpYi1rZW50aWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThiXCI7XG59XG5cbi5jaWIta2VyYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOGNcIjtcbn1cblxuLmNpYi1rZXliYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThkXCI7XG59XG5cbi5jaWIta2V5Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThlXCI7XG59XG5cbi5jaWIta2hhbi1hY2FkZW15OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThmXCI7XG59XG5cbi5jaWIta2liYW5hOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTkwXCI7XG59XG5cbi5jaWIta2lja3N0YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTFcIjtcbn1cblxuLmNpYi1raWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTJcIjtcbn1cblxuLmNpYi1raXJieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5M1wiO1xufVxuXG4uY2liLWtsb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTk0XCI7XG59XG5cbi5jaWIta25vd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTVcIjtcbn1cblxuLmNpYi1rby1maTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5NlwiO1xufVxuXG4uY2liLWtvZGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTdcIjtcbn1cblxuLmNpYi1rb2Rpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOThcIjtcbn1cblxuLmNpYi1rb3RsaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTlcIjtcbn1cblxuLmNpYi1rcml0YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5YVwiO1xufVxuXG4uY2liLWt1YmVybmV0ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWJcIjtcbn1cblxuLmNpYi1sYW55cmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWNcIjtcbn1cblxuLmNpYi1sYXJhdmVsLWhvcml6b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWRcIjtcbn1cblxuLmNpYi1sYXJhdmVsLW5vdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOWVcIjtcbn1cblxuLmNpYi1sYXJhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTlmXCI7XG59XG5cbi5jaWItbGFzdC1mbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhMFwiO1xufVxuXG4uY2liLWxhdGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWExXCI7XG59XG5cbi5jaWItbGF1bmNocGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWEyXCI7XG59XG5cbi5jaWItbGVldGNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTNcIjtcbn1cblxuLmNpYi1sZW5vdm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTRcIjtcbn1cblxuLmNpYi1sZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWE1XCI7XG59XG5cbi5jaWItbGV0cy1lbmNyeXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWE2XCI7XG59XG5cbi5jaWItbGV0dGVyYm94ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhN1wiO1xufVxuXG4uY2liLWxndG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYThcIjtcbn1cblxuLmNpYi1saWJlcmFwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYTlcIjtcbn1cblxuLmNpYi1saWJyYXJ5dGhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYWFcIjtcbn1cblxuLmNpYi1saWJyZW9mZmljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhYlwiO1xufVxuXG4uY2liLWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYWNcIjtcbn1cblxuLmNpYi1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhZFwiO1xufVxuXG4uY2liLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWFlXCI7XG59XG5cbi5jaWItbGludXgtZm91bmRhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhZlwiO1xufVxuXG4uY2liLWxpbnV4LW1pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjBcIjtcbn1cblxuLmNpYi1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiMVwiO1xufVxuXG4uY2liLWxpdmVqb3VybmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWIyXCI7XG59XG5cbi5jaWItbGl2ZXN0cmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiM1wiO1xufVxuXG4uY2liLWxvZ3N0YXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI0XCI7XG59XG5cbi5jaWItbHVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI1XCI7XG59XG5cbi5jaWItbHVtZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjZcIjtcbn1cblxuLmNpYi1seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI3XCI7XG59XG5cbi5jaWItbWFjeXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYjhcIjtcbn1cblxuLmNpYi1tYWdlbnRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWI5XCI7XG59XG5cbi5jaWItbWFnaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWJhXCI7XG59XG5cbi5jaWItbWFpbC1ydTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiYlwiO1xufVxuXG4uY2liLW1haWxjaGltcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiY1wiO1xufVxuXG4uY2liLW1ha2VyYm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWJkXCI7XG59XG5cbi5jaWItbWFuamFybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiZVwiO1xufVxuXG4uY2liLW1hcmtkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWJmXCI7XG59XG5cbi5jaWItbWFya2V0bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjMFwiO1xufVxuXG4uY2liLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzFcIjtcbn1cblxuLmNpYi1tYXN0b2RvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjMlwiO1xufVxuXG4uY2liLW1hdGVyaWFsLWRlc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjM1wiO1xufVxuXG4uY2liLW1hdGh3b3JrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjNFwiO1xufVxuXG4uY2liLW1hdHJpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjNVwiO1xufVxuXG4uY2liLW1hdHRlcm1vc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzZcIjtcbn1cblxuLmNpYi1tYXR0ZXJuZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzdcIjtcbn1cblxuLmNpYi1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzhcIjtcbn1cblxuLmNpYi1tY2FmZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhYzlcIjtcbn1cblxuLmNpYi1tZWRpYS10ZW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2FcIjtcbn1cblxuLmNpYi1tZWRpYWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2JcIjtcbn1cblxuLmNpYi1tZWRpdW0tbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjY1wiO1xufVxuXG4uY2liLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjZFwiO1xufVxuXG4uY2liLW1lZXR1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFjZVwiO1xufVxuXG4uY2liLW1lZ2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhY2ZcIjtcbn1cblxuLmNpYi1tZW5kZWxleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkMFwiO1xufVxuXG4uY2liLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkMVwiO1xufVxuXG4uY2liLW1ldGVvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkMlwiO1xufVxuXG4uY2liLW1pY3JvLWJsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDNcIjtcbn1cblxuLmNpYi1taWNyb2dlbmV0aWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWQ0XCI7XG59XG5cbi5jaWItbWljcm9zb2Z0LWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDVcIjtcbn1cblxuLmNpYi1taWNyb3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZDZcIjtcbn1cblxuLmNpYi1taW5ldGVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkN1wiO1xufVxuXG4uY2liLW1pbnV0ZW1haWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkOFwiO1xufVxuXG4uY2liLW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkOVwiO1xufVxuXG4uY2liLW1peGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRhXCI7XG59XG5cbi5jaWItbWl4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZGJcIjtcbn1cblxuLmNpYi1tb2phbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZGNcIjtcbn1cblxuLmNpYi1tb25lcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZGRcIjtcbn1cblxuLmNpYi1tb25nb2RiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRlXCI7XG59XG5cbi5jaWItbW9ua2V5dGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWRmXCI7XG59XG5cbi5jaWItbW9ub2dyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZTBcIjtcbn1cblxuLmNpYi1tb256bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlMVwiO1xufVxuXG4uY2liLW1vbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlMlwiO1xufVxuXG4uY2liLW1vemlsbGEtZmlyZWZveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlM1wiO1xufVxuXG4uY2liLW1vemlsbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZTRcIjtcbn1cblxuLmNpYi1tdXNlc2NvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZTVcIjtcbn1cblxuLmNpYi1teGxpbnV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWU2XCI7XG59XG5cbi5jaWItbXlzcGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlN1wiO1xufVxuXG4uY2liLW15c3FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWU4XCI7XG59XG5cbi5jaWItbmF0aXZlc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWU5XCI7XG59XG5cbi5jaWItbmVjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWVhXCI7XG59XG5cbi5jaWItbmVvNGo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZWJcIjtcbn1cblxuLmNpYi1uZXRmbGl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWVjXCI7XG59XG5cbi5jaWItbmV0bGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFlZFwiO1xufVxuXG4uY2liLW5leHQtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZWVcIjtcbn1cblxuLmNpYi1uZXh0Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZWZcIjtcbn1cblxuLmNpYi1uZXh0ZG9vcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmMFwiO1xufVxuXG4uY2liLW5naW54OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWYxXCI7XG59XG5cbi5jaWItbmltOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWYyXCI7XG59XG5cbi5jaWItbmludGVuZG8tM2RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWYzXCI7XG59XG5cbi5jaWItbmludGVuZG8tZ2FtZWN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjRcIjtcbn1cblxuLmNpYi1uaW50ZW5kby1zd2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjVcIjtcbn1cblxuLmNpYi1uaW50ZW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmNlwiO1xufVxuXG4uY2liLW5vZGUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjdcIjtcbn1cblxuLmNpYi1ub2RlLXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmOFwiO1xufVxuXG4uY2liLW5vZGVtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZjlcIjtcbn1cblxuLmNpYi1ub2tpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmYVwiO1xufVxuXG4uY2liLW5vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmYlwiO1xufVxuXG4uY2liLW5wbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmY1wiO1xufVxuXG4uY2liLW51Y2xlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmZFwiO1xufVxuXG4uY2liLW51Z2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYWZlXCI7XG59XG5cbi5jaWItbnV4dC1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFmZlwiO1xufVxuXG4uY2liLW52aWRpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwMFwiO1xufVxuXG4uY2liLW9jYW1sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjAxXCI7XG59XG5cbi5jaWItb2N0YXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjAyXCI7XG59XG5cbi5jaWItb2N0b3B1cy1kZXBsb3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMDNcIjtcbn1cblxuLmNpYi1vY3VsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMDRcIjtcbn1cblxuLmNpYi1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjA1XCI7XG59XG5cbi5jaWItb3Blbi1hY2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMDZcIjtcbn1cblxuLmNpYi1vcGVuLWNvbGxlY3RpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMDdcIjtcbn1cblxuLmNpYi1vcGVuLWlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjA4XCI7XG59XG5cbi5jaWItb3Blbi1zb3VyY2UtaW5pdGlhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwOVwiO1xufVxuXG4uY2liLW9wZW5zdHJlZXRtYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMGFcIjtcbn1cblxuLmNpYi1vcGVuc3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwYlwiO1xufVxuXG4uY2liLW9wZW52cG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMGNcIjtcbn1cblxuLmNpYi1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIwZFwiO1xufVxuXG4uY2liLW9wc2dlbmllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjBlXCI7XG59XG5cbi5jaWItb3JhY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjBmXCI7XG59XG5cbi5jaWItb3JjaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTBcIjtcbn1cblxuLmNpYi1vcmlnaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTFcIjtcbn1cblxuLmNpYi1vc2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTJcIjtcbn1cblxuLmNpYi1vc21jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjEzXCI7XG59XG5cbi5jaWItb3ZlcmNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTRcIjtcbn1cblxuLmNpYi1vdmVybGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxNVwiO1xufVxuXG4uY2liLW92aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxNlwiO1xufVxuXG4uY2liLXBhZ2VraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTdcIjtcbn1cblxuLmNpYi1wYWxhbnRpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxOFwiO1xufVxuXG4uY2liLXBhbmRvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMTlcIjtcbn1cblxuLmNpYi1wYW50aGVvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIxYVwiO1xufVxuXG4uY2liLXBhdHJlb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWJcIjtcbn1cblxuLmNpYi1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWNcIjtcbn1cblxuLmNpYi1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWRcIjtcbn1cblxuLmNpYi1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMWVcIjtcbn1cblxuLmNpYi1waWNhcnRvLXR2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjFmXCI7XG59XG5cbi5jaWItcGluYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjBcIjtcbn1cblxuLmNpYi1waW5nZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjIxXCI7XG59XG5cbi5jaWItcGluZ3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjIyXCI7XG59XG5cbi5jaWItcGludGVyZXN0LXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjNcIjtcbn1cblxuLmNpYi1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjRcIjtcbn1cblxuLmNpYi1waXZvdGFsdHJhY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyNVwiO1xufVxuXG4uY2liLXBsYW5ncmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjI2XCI7XG59XG5cbi5jaWItcGxheWVyLW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjI3XCI7XG59XG5cbi5jaWItcGxheWVyZm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMjhcIjtcbn1cblxuLmNpYi1wbGF5c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyOVwiO1xufVxuXG4uY2liLXBsYXlzdGF0aW9uMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyYVwiO1xufVxuXG4uY2liLXBsYXlzdGF0aW9uNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyYlwiO1xufVxuXG4uY2liLXBsZXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjJjXCI7XG59XG5cbi5jaWItcGxleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIyZFwiO1xufVxuXG4uY2liLXBsdXJhbHNpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjJlXCI7XG59XG5cbi5jaWItcGx1cms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMmZcIjtcbn1cblxuLmNpYi1wb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMzBcIjtcbn1cblxuLmNpYi1wb3N0Z3Jlc3FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjMxXCI7XG59XG5cbi5jaWItcG9zdG1hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzMlwiO1xufVxuXG4uY2liLXBvc3R3b21hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzM1wiO1xufVxuXG4uY2liLXBvd2Vyc2hlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMzRcIjtcbn1cblxuLmNpYi1wcmV0dGllcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzNVwiO1xufVxuXG4uY2liLXByaXNtaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMzZcIjtcbn1cblxuLmNpYi1wcm9ib3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViMzdcIjtcbn1cblxuLmNpYi1wcm9jZXNzd2lyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzOFwiO1xufVxuXG4uY2liLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzOVwiO1xufVxuXG4uY2liLXByb3RvLWlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNhXCI7XG59XG5cbi5jaWItcHJvdG9ubWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzYlwiO1xufVxuXG4uY2liLXByb3htb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViM2NcIjtcbn1cblxuLmNpYi1weXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNkXCI7XG59XG5cbi5jaWItcHl0aG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjNlXCI7XG59XG5cbi5jaWItcHl0b3JjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWIzZlwiO1xufVxuXG4uY2liLXFnaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDBcIjtcbn1cblxuLmNpYi1xaWl0YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0MVwiO1xufVxuXG4uY2liLXFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjQyXCI7XG59XG5cbi5jaWItcXVhbGNvbW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDNcIjtcbn1cblxuLmNpYi1xdWFudGNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDRcIjtcbn1cblxuLmNpYi1xdWFudG9waWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjQ1XCI7XG59XG5cbi5jaWItcXVhcmt1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0NlwiO1xufVxuXG4uY2liLXF1b3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjQ3XCI7XG59XG5cbi5jaWItcXdpa2xhYnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNDhcIjtcbn1cblxuLmNpYi1xem9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0OVwiO1xufVxuXG4uY2liLXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNGFcIjtcbn1cblxuLmNpYi1yYWRpb3B1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI0YlwiO1xufVxuXG4uY2liLXJhaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRjXCI7XG59XG5cbi5jaWItcmFzcGJlcnJ5LXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRkXCI7XG59XG5cbi5jaWItcmVhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNGVcIjtcbn1cblxuLmNpYi1yZWFkLXRoZS1kb2NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjRmXCI7XG59XG5cbi5jaWItcmVhZG1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjUwXCI7XG59XG5cbi5jaWItcmVhbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTFcIjtcbn1cblxuLmNpYi1yZWFzb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTJcIjtcbn1cblxuLmNpYi1yZWRidWJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTNcIjtcbn1cblxuLmNpYi1yZWRkaXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU0XCI7XG59XG5cbi5jaWItcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU1XCI7XG59XG5cbi5jaWItcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjU2XCI7XG59XG5cbi5jaWItcmVkaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNTdcIjtcbn1cblxuLmNpYi1yZWR1eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1OFwiO1xufVxuXG4uY2liLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1OVwiO1xufVxuXG4uY2liLXJldmVyYm5hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1YVwiO1xufVxuXG4uY2liLXJpb3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWJcIjtcbn1cblxuLmNpYi1yaXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWNcIjtcbn1cblxuLmNpYi1yaXNldXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWRcIjtcbn1cblxuLmNpYi1yb2xsdXAtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNWVcIjtcbn1cblxuLmNpYi1yb290czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI1ZlwiO1xufVxuXG4uY2liLXJvdW5kY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2MFwiO1xufVxuXG4uY2liLXJzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2MVwiO1xufVxuXG4uY2liLXJzdHVkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjJcIjtcbn1cblxuLmNpYi1ydWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjYzXCI7XG59XG5cbi5jaWItcnVieWdlbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjRcIjtcbn1cblxuLmNpYi1ydW5rZWVwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjVcIjtcbn1cblxuLmNpYi1ydXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjY2XCI7XG59XG5cbi5jaWItc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjY3XCI7XG59XG5cbi5jaWItc2FoaWJpbmRlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2OFwiO1xufVxuXG4uY2liLXNhbGVzZm9yY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNjlcIjtcbn1cblxuLmNpYi1zYWx0c3RhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmFcIjtcbn1cblxuLmNpYi1zYW1zdW5nLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2YlwiO1xufVxuXG4uY2liLXNhbXN1bmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmNcIjtcbn1cblxuLmNpYi1zYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmRcIjtcbn1cblxuLmNpYi1zYXNzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI2ZVwiO1xufVxuXG4uY2liLXNhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNmZcIjtcbn1cblxuLmNpYi1zYXVjZWxhYnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNzBcIjtcbn1cblxuLmNpYi1zY2FsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3MVwiO1xufVxuXG4uY2liLXNjYWxld2F5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjcyXCI7XG59XG5cbi5jaWItc2NyaWJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjczXCI7XG59XG5cbi5jaWItc2NydXRpbml6ZXJjaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3NFwiO1xufVxuXG4uY2liLXNlYWdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNzVcIjtcbn1cblxuLmNpYi1zZWdhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjc2XCI7XG59XG5cbi5jaWItc2VsbGZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjc3XCI7XG59XG5cbi5jaWItc2VtYXBob3JlY2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViNzhcIjtcbn1cblxuLmNpYi1zZW5zdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3OVwiO1xufVxuXG4uY2liLXNlbnRyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3YVwiO1xufVxuXG4uY2liLXNlcnZlci1mYXVsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3YlwiO1xufVxuXG4uY2liLXNoYXphbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3Y1wiO1xufVxuXG4uY2liLXNoZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjdkXCI7XG59XG5cbi5jaWItc2hvcGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI3ZVwiO1xufVxuXG4uY2liLXNob3dwYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViN2ZcIjtcbn1cblxuLmNpYi1zaWVtZW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjgwXCI7XG59XG5cbi5jaWItc2lnbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjgxXCI7XG59XG5cbi5jaWItc2luYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4MlwiO1xufVxuXG4uY2liLXNpdGVwb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4M1wiO1xufVxuXG4uY2liLXNrZXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4NFwiO1xufVxuXG4uY2liLXNraWxsc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViODVcIjtcbn1cblxuLmNpYi1za3lsaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4NlwiO1xufVxuXG4uY2liLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjg3XCI7XG59XG5cbi5jaWItc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViODhcIjtcbn1cblxuLmNpYi1zbGFzaGRvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4OVwiO1xufVxuXG4uY2liLXNsaWNrcGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjhhXCI7XG59XG5cbi5jaWItc2xpZGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjhiXCI7XG59XG5cbi5jaWItc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4Y1wiO1xufVxuXG4uY2liLXNtYXNoaW5nbWFnYXppbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOGRcIjtcbn1cblxuLmNpYi1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4ZVwiO1xufVxuXG4uY2liLXNuYXBjcmFmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI4ZlwiO1xufVxuXG4uY2liLXNueWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOTBcIjtcbn1cblxuLmNpYi1zb2NpZXR5NjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5MVwiO1xufVxuXG4uY2liLXNvY2tldC1pbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5MlwiO1xufVxuXG4uY2liLXNvZ291OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjkzXCI7XG59XG5cbi5jaWItc29sdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOTRcIjtcbn1cblxuLmNpYi1zb25na2ljazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5NVwiO1xufVxuXG4uY2liLXNvbm9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjk2XCI7XG59XG5cbi5jaWItc291bmRjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5N1wiO1xufVxuXG4uY2liLXNvdXJjZWZvcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYjk4XCI7XG59XG5cbi5jaWItc291cmNlZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOTlcIjtcbn1cblxuLmNpYi1zcGFjZW1hY3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOWFcIjtcbn1cblxuLmNpYi1zcGFjZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOWJcIjtcbn1cblxuLmNpYi1zcGFya2Z1bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5Y1wiO1xufVxuXG4uY2liLXNwYXJrcG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWI5ZFwiO1xufVxuXG4uY2liLXNwZHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOWVcIjtcbn1cblxuLmNpYi1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViOWZcIjtcbn1cblxuLmNpYi1zcGVjdHJ1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhMFwiO1xufVxuXG4uY2liLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYTFcIjtcbn1cblxuLmNpYi1zcG90bGlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYTJcIjtcbn1cblxuLmNpYi1zcHJlYWtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhM1wiO1xufVxuXG4uY2liLXNwcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhNFwiO1xufVxuXG4uY2liLXNwcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhNVwiO1xufVxuXG4uY2liLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmE2XCI7XG59XG5cbi5jaWItc3RhY2tiaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYTdcIjtcbn1cblxuLmNpYi1zdGFja2V4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmE4XCI7XG59XG5cbi5jaWItc3RhY2tvdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhOVwiO1xufVxuXG4uY2liLXN0YWNrcGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhYVwiO1xufVxuXG4uY2liLXN0YWNrc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYWJcIjtcbn1cblxuLmNpYi1zdGFkaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYWNcIjtcbn1cblxuLmNpYi1zdGF0YW1pYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhZFwiO1xufVxuXG4uY2liLXN0YXRpY21hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJhZVwiO1xufVxuXG4uY2liLXN0YXR1c3BhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYWZcIjtcbn1cblxuLmNpYi1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiMFwiO1xufVxuXG4uY2liLXN0ZWVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmIxXCI7XG59XG5cbi5jaWItc3RlZW1pdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiMlwiO1xufVxuXG4uY2liLXN0aXRjaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmIzXCI7XG59XG5cbi5jaWItc3RvcmlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiNFwiO1xufVxuXG4uY2liLXN0b3J5Ym9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiNVwiO1xufVxuXG4uY2liLXN0cmFwaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiNlwiO1xufVxuXG4uY2liLXN0cmF2YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiN1wiO1xufVxuXG4uY2liLXN0cmlwZS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmI4XCI7XG59XG5cbi5jaWItc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmI5XCI7XG59XG5cbi5jaWItc3R1Ymh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiYVwiO1xufVxuXG4uY2liLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmJiXCI7XG59XG5cbi5jaWItc3R5bGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiY1wiO1xufVxuXG4uY2liLXN0eWx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiZFwiO1xufVxuXG4uY2liLXN1YmxpbWUtdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJiZVwiO1xufVxuXG4uY2liLXN1YnZlcnNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYmZcIjtcbn1cblxuLmNpYi1zdXBlcnVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzBcIjtcbn1cblxuLmNpYi1zdmVsdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzFcIjtcbn1cblxuLmNpYi1zdmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzJcIjtcbn1cblxuLmNpYi1zd2FnZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmMzXCI7XG59XG5cbi5jaWItc3dhcm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzRcIjtcbn1cblxuLmNpYi1zd2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjNVwiO1xufVxuXG4uY2liLXN5bWFudGVjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmM2XCI7XG59XG5cbi5jaWItc3ltZm9ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjN1wiO1xufVxuXG4uY2liLXN5bm9sb2d5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmM4XCI7XG59XG5cbi5jaWItdC1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViYzlcIjtcbn1cblxuLmNpYi10YWJsZWF1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmNhXCI7XG59XG5cbi5jaWItdGFpbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2JcIjtcbn1cblxuLmNpYi10YXBhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJjY1wiO1xufVxuXG4uY2liLXRlYW12aWV3ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2RcIjtcbn1cblxuLmNpYi10ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2VcIjtcbn1cblxuLmNpYi10ZWVzcHJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViY2ZcIjtcbn1cblxuLmNpYi10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJkMFwiO1xufVxuXG4uY2liLXRlbGVncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQxXCI7XG59XG5cbi5jaWItdGVuY2VudC1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJkMlwiO1xufVxuXG4uY2liLXRlbmNlbnQtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZDNcIjtcbn1cblxuLmNpYi10ZW5zb3JmbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ0XCI7XG59XG5cbi5jaWItdGVycmFmb3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ1XCI7XG59XG5cbi5jaWItdGVzbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZDZcIjtcbn1cblxuLmNpYi10aGUtbWlnaHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ3XCI7XG59XG5cbi5jaWItdGhlLW1vdmllLWRhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmQ4XCI7XG59XG5cbi5jaWItdGlkYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZDlcIjtcbn1cblxuLmNpYi10aWt0b2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZGFcIjtcbn1cblxuLmNpYi10aW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZGJcIjtcbn1cblxuLmNpYi10b2RvaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmRjXCI7XG59XG5cbi5jaWItdG9nZ2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZGRcIjtcbn1cblxuLmNpYi10b3Bjb2RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJkZVwiO1xufVxuXG4uY2liLXRvcHRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJkZlwiO1xufVxuXG4uY2liLXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlMFwiO1xufVxuXG4uY2liLXRvc2hpYmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZTFcIjtcbn1cblxuLmNpYi10cmFpbmVycm9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlMlwiO1xufVxuXG4uY2liLXRyYWt0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmUzXCI7XG59XG5cbi5jaWItdHJhdmlzY2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZTRcIjtcbn1cblxuLmNpYi10cmVlaG91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZTVcIjtcbn1cblxuLmNpYi10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZTZcIjtcbn1cblxuLmNpYi10cmlwYWR2aXNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlN1wiO1xufVxuXG4uY2liLXRydWxpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlOFwiO1xufVxuXG4uY2liLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlOVwiO1xufVxuXG4uY2liLXR3aWxpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlYVwiO1xufVxuXG4uY2liLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlYlwiO1xufVxuXG4uY2liLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZWNcIjtcbn1cblxuLmNpYi10d29vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmVkXCI7XG59XG5cbi5jaWItdHlwZXNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJlZVwiO1xufVxuXG4uY2liLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmVmXCI7XG59XG5cbi5jaWItdWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmMFwiO1xufVxuXG4uY2liLXViaXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjFcIjtcbn1cblxuLmNpYi11YmxvY2stb3JpZ2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmYyXCI7XG59XG5cbi5jaWItdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmYzXCI7XG59XG5cbi5jaWItdWRhY2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWJmNFwiO1xufVxuXG4uY2liLXVkZW15OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmY1XCI7XG59XG5cbi5jaWItdWlraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjZcIjtcbn1cblxuLmNpYi11bWJyYWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmY3XCI7XG59XG5cbi5jaWItdW5pdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZjhcIjtcbn1cblxuLmNpYi11bnJlYWwtZW5naW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmY5XCI7XG59XG5cbi5jaWItdW5zcGxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZmFcIjtcbn1cblxuLmNpYi11bnRhcHBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZiXCI7XG59XG5cbi5jaWItdXB3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZjXCI7XG59XG5cbi5jaWItdXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZkXCI7XG59XG5cbi5jaWItdjg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGViZmVcIjtcbn1cblxuLmNpYi12YWdyYW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYmZmXCI7XG59XG5cbi5jaWItdmVubW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDBcIjtcbn1cblxuLmNpYi12ZXJpem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzAxXCI7XG59XG5cbi5jaWItdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzAyXCI7XG59XG5cbi5jaWItdmliZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDNcIjtcbn1cblxuLmNpYi12aW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDRcIjtcbn1cblxuLmNpYi12aW1lby12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzA1XCI7XG59XG5cbi5jaWItdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDZcIjtcbn1cblxuLmNpYi12aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzA3XCI7XG59XG5cbi5jaWItdmlyYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMwOFwiO1xufVxuXG4uY2liLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMDlcIjtcbn1cblxuLmNpYi12aXN1YWwtc3R1ZGlvLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMGFcIjtcbn1cblxuLmNpYi12aXN1YWwtc3R1ZGlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzBiXCI7XG59XG5cbi5jaWItdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMGNcIjtcbn1cblxuLmNpYi12bGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMGRcIjtcbn1cblxuLmNpYi12c2NvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzBlXCI7XG59XG5cbi5jaWItdnVlLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzBmXCI7XG59XG5cbi5jaWItd2F0dHBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxMFwiO1xufVxuXG4uY2liLXdlYXN5bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxMVwiO1xufVxuXG4uY2liLXdlYmNvbXBvbmVudHMtb3JnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzEyXCI7XG59XG5cbi5jaWItd2VicGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxM1wiO1xufVxuXG4uY2liLXdlYnN0b3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzE0XCI7XG59XG5cbi5jaWItd2VjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzE1XCI7XG59XG5cbi5jaWItd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTZcIjtcbn1cblxuLmNpYi13aGVuLWktd29yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxN1wiO1xufVxuXG4uY2liLXdpaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxOFwiO1xufVxuXG4uY2liLXdpaXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMTlcIjtcbn1cblxuLmNpYi13aWtpcGVkaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMWFcIjtcbn1cblxuLmNpYi13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzFiXCI7XG59XG5cbi5jaWItd2lyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxY1wiO1xufVxuXG4uY2liLXdpcmVndWFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxZFwiO1xufVxuXG4uY2liLXdpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMxZVwiO1xufVxuXG4uY2liLXdvbGZyYW0tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMWZcIjtcbn1cblxuLmNpYi13b2xmcmFtLW1hdGhlbWF0aWNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzIwXCI7XG59XG5cbi5jaWItd29sZnJhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyMVwiO1xufVxuXG4uY2liLXdvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyMlwiO1xufVxuXG4uY2liLXdwZW5naW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzIzXCI7XG59XG5cbi5jaWIteC1wYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzI0XCI7XG59XG5cbi5jaWIteGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyNVwiO1xufVxuXG4uY2liLXhjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzI2XCI7XG59XG5cbi5jaWIteGVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyN1wiO1xufVxuXG4uY2liLXhpYW9taTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyOFwiO1xufVxuXG4uY2liLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMjlcIjtcbn1cblxuLmNpYi14cnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMmFcIjtcbn1cblxuLmNpYi14c3BsaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMmJcIjtcbn1cblxuLmNpYi15LWNvbWJpbmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMmNcIjtcbn1cblxuLmNpYi15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyZFwiO1xufVxuXG4uY2liLXlhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyZVwiO1xufVxuXG4uY2liLXlhbmRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMyZlwiO1xufVxuXG4uY2liLXlhcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMzBcIjtcbn1cblxuLmNpYi15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzMxXCI7XG59XG5cbi5jaWIteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzMlwiO1xufVxuXG4uY2liLXphbGFuZG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMzNcIjtcbn1cblxuLmNpYi16YXBpZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjMzRcIjtcbn1cblxuLmNpYi16ZWl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzM1XCI7XG59XG5cbi5jaWItemVuZGVzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzNlwiO1xufVxuXG4uY2liLXplcnBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzN1wiO1xufVxuXG4uY2liLXppbGxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzOFwiO1xufVxuXG4uY2liLXppbmdhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzOVwiO1xufVxuXG4uY2liLXpvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVjM2FcIjtcbn1cblxuLmNpYi16b3JpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWMzYlwiO1xufVxuXG4uY2liLXp1bGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYzNjXCI7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJyYW5kLmNzcy5tYXAgKi8iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1OdW5pdG9cIik7XG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAnfkBjb3JldWkvaWNvbnMvY3NzL2ZyZWUubWluLmNzcyc7XG5AaW1wb3J0ICd+QGNvcmV1aS9pY29ucy9jc3MvYnJhbmQubWluLmNzcyc7XG4uZmEsXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFkLFxuLmZhYiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZhLWxnIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzMzMzMzNlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNzVlbTtcbiAgdmVydGljYWwtYWxpZ246IC0wLjA2NjdlbTtcbn1cblxuLmZhLXhzIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG59XG5cbi5mYS1zbSB7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxuLmZhLTF4IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi5mYS0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uZmEtM3gge1xuICBmb250LXNpemU6IDNlbTtcbn1cblxuLmZhLTR4IHtcbiAgZm9udC1zaXplOiA0ZW07XG59XG5cbi5mYS01eCB7XG4gIGZvbnQtc2l6ZTogNWVtO1xufVxuXG4uZmEtNngge1xuICBmb250LXNpemU6IDZlbTtcbn1cblxuLmZhLTd4IHtcbiAgZm9udC1zaXplOiA3ZW07XG59XG5cbi5mYS04eCB7XG4gIGZvbnQtc2l6ZTogOGVtO1xufVxuXG4uZmEtOXgge1xuICBmb250LXNpemU6IDllbTtcbn1cblxuLmZhLTEweCB7XG4gIGZvbnQtc2l6ZTogMTBlbTtcbn1cblxuLmZhLWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMS4yNWVtO1xufVxuXG4uZmEtdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAyLjVlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLmZhLXVsID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mYS1saSB7XG4gIGxlZnQ6IC0yZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLmZhLWJvcmRlciB7XG4gIGJvcmRlcjogc29saWQgMC4wOGVtICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMWVtO1xuICBwYWRkaW5nOiAwLjJlbSAwLjI1ZW0gMC4xNWVtO1xufVxuXG4uZmEtcHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5mYS1wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZmEuZmEtcHVsbC1sZWZ0LFxuLmZhcy5mYS1wdWxsLWxlZnQsXG4uZmFyLmZhLXB1bGwtbGVmdCxcbi5mYWwuZmEtcHVsbC1sZWZ0LFxuLmZhYi5mYS1wdWxsLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xufVxuLmZhLmZhLXB1bGwtcmlnaHQsXG4uZmFzLmZhLXB1bGwtcmlnaHQsXG4uZmFyLmZhLXB1bGwtcmlnaHQsXG4uZmFsLmZhLXB1bGwtcmlnaHQsXG4uZmFiLmZhLXB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMC4zZW07XG59XG5cbi5mYS1zcGluIHtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLmZhLXB1bHNlIHtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLmZhLXJvdGF0ZS05MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4uZmEtcm90YXRlLTE4MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MilcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmZhLXJvdGF0ZS0yNzAge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpXCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG59XG5cbi5mYS1mbGlwLWhvcml6b250YWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbn1cblxuLmZhLWZsaXAtdmVydGljYWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbn1cblxuLmZhLWZsaXAtYm90aCwgLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2FsIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSlcIjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpO1xufVxuXG46cm9vdCAuZmEtcm90YXRlLTkwLFxuOnJvb3QgLmZhLXJvdGF0ZS0xODAsXG46cm9vdCAuZmEtcm90YXRlLTI3MCxcbjpyb290IC5mYS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCxcbjpyb290IC5mYS1mbGlwLWJvdGgge1xuICBmaWx0ZXI6IG5vbmU7XG59XG5cbi5mYS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIuNWVtO1xufVxuXG4uZmEtc3RhY2stMXgsXG4uZmEtc3RhY2stMngge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mYS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uZmEtc3RhY2stMngge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLmZhLWludmVyc2Uge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG5yZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuLmZhLTUwMHB4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74muXCI7XG59XG5cbi5mYS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvjahcIjtcbn1cblxuLmZhLWFjY3Vzb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742pXCI7XG59XG5cbi5mYS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qvXCI7XG59XG5cbi5mYS1hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZgVwiO1xufVxuXG4uZmEtYWRkcmVzcy1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q5XCI7XG59XG5cbi5mYS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirtcIjtcbn1cblxuLmZhLWFkanVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BglwiO1xufVxuXG4uZmEtYWRuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WwXCI7XG59XG5cbi5mYS1hZHZlcnNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NqlwiO1xufVxuXG4uZmEtYWZmaWxpYXRldGhlbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjatcIjtcbn1cblxuLmZhLWFpci1mcmVzaGVuZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl5BcIjtcbn1cblxuLmZhLWFpcmJuYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gtFwiO1xufVxuXG4uZmEtYWxnb2xpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NrFwiO1xufVxuXG4uZmEtYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C3XCI7XG59XG5cbi5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C5XCI7XG59XG5cbi5mYS1hbGlnbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C2XCI7XG59XG5cbi5mYS1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AuFwiO1xufVxuXG4uZmEtYWxpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mCXCI7XG59XG5cbi5mYS1hbGxlcmdpZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkaFcIjtcbn1cblxuLmZhLWFtYXpvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JsFwiO1xufVxuXG4uZmEtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QrFwiO1xufVxuXG4uZmEtYW1idWxhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O5XCI7XG59XG5cbi5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ko1wiO1xufVxuXG4uZmEtYW1pbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742tXCI7XG59XG5cbi5mYS1hbmNob3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhL1cIjtcbn1cblxuLmZhLWFuZHJvaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbtcIjtcbn1cblxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IiVwiO1xufVxuXG4uZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhINcIjtcbn1cblxuLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SAXCI7XG59XG5cbi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIFcIjtcbn1cblxuLmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EglwiO1xufVxuXG4uZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eh1wiO1xufVxuXG4uZmEtYW5nbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EhFwiO1xufVxuXG4uZmEtYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIVcIjtcbn1cblxuLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SGXCI7XG59XG5cbi5mYS1hbmdyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VllwiO1xufVxuXG4uZmEtYW5ncnljcmVhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NrlwiO1xufVxuXG4uZmEtYW5ndWxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QoFwiO1xufVxuXG4uZmEtYW5raDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZhFwiO1xufVxuXG4uZmEtYXBwLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742vXCI7XG59XG5cbi5mYS1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742wXCI7XG59XG5cbi5mYS1hcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NsVwiO1xufVxuXG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhblcIjtcbn1cblxuLmZhLWFwcGxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XkVwiO1xufVxuXG4uZmEtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CVXCI7XG59XG5cbi5mYS1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aHXCI7XG59XG5cbi5mYS1hcmNod2F5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WXXCI7XG59XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvjZhcIjtcbn1cblxuLmZhLWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NmVwiO1xufVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NmlwiO1xufVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Nm1wiO1xufVxuXG4uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqtcIjtcbn1cblxuLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KoXCI7XG59XG5cbi5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqlcIjtcbn1cblxuLmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CqlwiO1xufVxuXG4uZmEtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bo1wiO1xufVxuXG4uZmEtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BoFwiO1xufVxuXG4uZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaFcIjtcbn1cblxuLmZhLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GiXCI7XG59XG5cbi5mYS1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KyXCI7XG59XG5cbi5mYS1hcnJvd3MtYWx0LWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjLdcIjtcbn1cblxuLmZhLWFycm93cy1hbHQtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MuFwiO1xufVxuXG4uZmEtYXJ0c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dulwiO1xufVxuXG4uZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qiXCI7XG59XG5cbi5mYS1hc3RlcmlzazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BqVwiO1xufVxuXG4uZmEtYXN5bW1ldHJpazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NslwiO1xufVxuXG4uZmEtYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7pcIjtcbn1cblxuLmZhLWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WYXCI7XG59XG5cbi5mYS1hdGxhc3NpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvnbtcIjtcbn1cblxuLmZhLWF0b206YmVmb3JlIHtcbiAgY29udGVudDogXCLvl5JcIjtcbn1cblxuLmZhLWF1ZGlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjbNcIjtcbn1cblxuLmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qeXCI7XG59XG5cbi5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJxcIjtcbn1cblxuLmZhLWF2aWFuZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjbRcIjtcbn1cblxuLmZhLWF2aWF0bzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QoVwiO1xufVxuXG4uZmEtYXdhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZlcIjtcbn1cblxuLmZhLWF3czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NtVwiO1xufVxuXG4uZmEtYmFieTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dvFwiO1xufVxuXG4uZmEtYmFieS1jYXJyaWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dvVwiO1xufVxuXG4uZmEtYmFja3NwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WaXCI7XG59XG5cbi5mYS1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BilwiO1xufVxuXG4uZmEtYmFjb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvn6VcIjtcbn1cblxuLmZhLWJhY3RlcmlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGZXCI7XG59XG5cbi5mYS1iYWN0ZXJpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCLugZpcIjtcbn1cblxuLmZhLWJhaGFpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mmXCI7XG59XG5cbi5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mOXCI7XG59XG5cbi5mYS1iYWxhbmNlLXNjYWxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJVcIjtcbn1cblxuLmZhLWJhbGFuY2Utc2NhbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJZcIjtcbn1cblxuLmZhLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BnlwiO1xufVxuXG4uZmEtYmFuZC1haWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkaJcIjtcbn1cblxuLmZhLWJhbmRjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uVXCI7XG59XG5cbi5mYS1iYXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CqXCI7XG59XG5cbi5mYS1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OJXCI7XG59XG5cbi5mYS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CzXCI7XG59XG5cbi5mYS1iYXNrZXRiYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLRcIjtcbn1cblxuLmZhLWJhdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi41cIjtcbn1cblxuLmZhLWJhdHRlcnktZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYRcIjtcbn1cblxuLmZhLWJhdHRlcnktZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JgFwiO1xufVxuXG4uZmEtYmF0dGVyeS1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mCXCI7XG59XG5cbi5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYNcIjtcbn1cblxuLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYFcIjtcbn1cblxuLmZhLWJhdHRsZS1uZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLVcIjtcbn1cblxuLmZhLWJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ItlwiO1xufVxuXG4uZmEtYmVlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DvFwiO1xufVxuXG4uZmEtYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GtFwiO1xufVxuXG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrVcIjtcbn1cblxuLmZhLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7NcIjtcbn1cblxuLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7ZcIjtcbn1cblxuLmZhLWJlemllci1jdXJ2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vm1wiO1xufVxuXG4uZmEtYmlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmYdcIjtcbn1cblxuLmZhLWJpY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviIZcIjtcbn1cblxuLmZhLWJpa2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hilwiO1xufVxuXG4uZmEtYmltb2JqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7424XCI7XG59XG5cbi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74elXCI7XG59XG5cbi5mYS1iaW9oYXphcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnoBcIjtcbn1cblxuLmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh71cIjtcbn1cblxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FsVwiO1xufVxuXG4uZmEtYml0Y29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NuVwiO1xufVxuXG4uZmEtYml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NulwiO1xufVxuXG4uZmEtYmxhY2stdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m+XCI7XG59XG5cbi5mYS1ibGFja2JlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7427XCI7XG59XG5cbi5mYS1ibGVuZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SXXCI7XG59XG5cbi5mYS1ibGVuZGVyLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75q2XCI7XG59XG5cbi5mYS1ibGluZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KnVwiO1xufVxuXG4uZmEtYmxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+egVwiO1xufVxuXG4uZmEtYmxvZ2dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NvFwiO1xufVxuXG4uZmEtYmxvZ2dlci1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7429XCI7XG59XG5cbi5mYS1ibHVldG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipNcIjtcbn1cblxuLmZhLWJsdWV0b290aC1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qUXCI7XG59XG5cbi5mYS1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CyXCI7XG59XG5cbi5mYS1ib2x0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OnXCI7XG59XG5cbi5mYS1ib21iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eiXCI7XG59XG5cbi5mYS1ib25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eXXCI7XG59XG5cbi5mYS1ib25nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WcXCI7XG59XG5cbi5mYS1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CtXCI7XG59XG5cbi5mYS1ib29rLWRlYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmrdcIjtcbn1cblxuLmZhLWJvb2stbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fplwiO1xufVxuXG4uZmEtYm9vay1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SYXCI7XG59XG5cbi5mYS1ib29rLXJlYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XmlwiO1xufVxuXG4uZmEtYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgK5cIjtcbn1cblxuLmZhLWJvb3RzdHJhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gtlwiO1xufVxuXG4uZmEtYm9yZGVyLWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hjFwiO1xufVxuXG4uZmEtYm9yZGVyLW5vbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoZBcIjtcbn1cblxuLmZhLWJvcmRlci1zdHlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hk1wiO1xufVxuXG4uZmEtYm93bGluZy1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75C2XCI7XG59XG5cbi5mYS1ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkaZcIjtcbn1cblxuLmZhLWJveC1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KeXCI7XG59XG5cbi5mYS1ib3gtdGlzc3VlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGbXCI7XG59XG5cbi5mYS1ib3hlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RqFwiO1xufVxuXG4uZmEtYnJhaWxsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KoVwiO1xufVxuXG4uZmEtYnJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvl5xcIjtcbn1cblxuLmZhLWJyZWFkLXNsaWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+sXCI7XG59XG5cbi5mYS1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgrFcIjtcbn1cblxuLmZhLWJyaWVmY2FzZS1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GpXCI7XG59XG5cbi5mYS1icm9hZGNhc3QtdG93ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJlcIjtcbn1cblxuLmZhLWJyb29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SaXCI7XG59XG5cbi5mYS1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VnVwiO1xufVxuXG4uZmEtYnRjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WaXCI7XG59XG5cbi5mYS1idWZmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLdcIjtcbn1cblxuLmZhLWJ1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GiFwiO1xufVxuXG4uZmEtYnVpbGRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhq1cIjtcbn1cblxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KhXCI7XG59XG5cbi5mYS1idWxsc2V5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FgFwiO1xufVxuXG4uZmEtYnVybjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RqlwiO1xufVxuXG4uZmEtYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Nv1wiO1xufVxuXG4uZmEtYnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iHXCI7XG59XG5cbi5mYS1idXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WeXCI7XG59XG5cbi5mYS1idXNpbmVzcy10aW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mKXCI7XG59XG5cbi5mYS1idXktbi1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+iplwiO1xufVxuXG4uZmEtYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IjVwiO1xufVxuXG4uZmEtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HrFwiO1xufVxuXG4uZmEtY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLNcIjtcbn1cblxuLmZhLWNhbGVuZGFyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bs1wiO1xufVxuXG4uZmEtY2FsZW5kYXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibRcIjtcbn1cblxuLmZhLWNhbGVuZGFyLWRheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eg1wiO1xufVxuXG4uZmEtY2FsZW5kYXItbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibJcIjtcbn1cblxuLmZhLWNhbGVuZGFyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibFcIjtcbn1cblxuLmZhLWNhbGVuZGFyLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mzXCI7XG59XG5cbi5mYS1jYWxlbmRhci13ZWVrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756EXCI7XG59XG5cbi5mYS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLBcIjtcbn1cblxuLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Cg1wiO1xufVxuXG4uZmEtY2FtcGdyb3VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+au1wiO1xufVxuXG4uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ehVwiO1xufVxuXG4uZmEtY2FuZHktY2FuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ehlwiO1xufVxuXG4uZmEtY2FubmFiaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZ9cIjtcbn1cblxuLmZhLWNhcHN1bGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GrXCI7XG59XG5cbi5mYS1jYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrlcIjtcbn1cblxuLmZhLWNhci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl55cIjtcbn1cblxuLmZhLWNhci1iYXR0ZXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75efXCI7XG59XG5cbi5mYS1jYXItY3Jhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl6FcIjtcbn1cblxuLmZhLWNhci1zaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ekXCI7XG59XG5cbi5mYS1jYXJhdmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76O/XCI7XG59XG5cbi5mYS1jYXJldC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OXXCI7XG59XG5cbi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OZXCI7XG59XG5cbi5mYS1jYXJldC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DmlwiO1xufVxuXG4uZmEtY2FyZXQtc3F1YXJlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZBcIjtcbn1cblxuLmZhLWNhcmV0LXNxdWFyZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aRXCI7XG59XG5cbi5mYS1jYXJldC1zcXVhcmUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZJcIjtcbn1cblxuLmZhLWNhcmV0LXNxdWFyZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FkVwiO1xufVxuXG4uZmEtY2FyZXQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5hcIjtcbn1cblxuLmZhLWNhcnJvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eh1wiO1xufVxuXG4uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iYXCI7XG59XG5cbi5mYS1jYXJ0LXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJdcIjtcbn1cblxuLmZhLWNhc2gtcmVnaXN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnohcIjtcbn1cblxuLmZhLWNhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+avlwiO1xufVxuXG4uZmEtY2MtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QrVwiO1xufVxuXG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hs1wiO1xufVxuXG4uZmEtY2MtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CWXCI7XG59XG5cbi5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JjFwiO1xufVxuXG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7JcIjtcbn1cblxuLmZhLWNjLWpjYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ji1wiO1xufVxuXG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HsVwiO1xufVxuXG4uZmEtY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e0XCI7XG59XG5cbi5mYS1jYy1zdHJpcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7VcIjtcbn1cblxuLmZhLWNjLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7BcIjtcbn1cblxuLmZhLWNlbnRlcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjoBcIjtcbn1cblxuLmZhLWNlbnRvczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eiVwiO1xufVxuXG4uZmEtY2VydGlmaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqNcIjtcbn1cblxuLmZhLWNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uAXCI7XG59XG5cbi5mYS1jaGFsa2JvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SbXCI7XG59XG5cbi5mYS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJxcIjtcbn1cblxuLmZhLWNoYXJnaW5nLXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvl6dcIjtcbn1cblxuLmZhLWNoYXJ0LWFyZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh75cIjtcbn1cblxuLmZhLWNoYXJ0LWJhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CgFwiO1xufVxuXG4uZmEtY2hhcnQtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IgVwiO1xufVxuXG4uZmEtY2hhcnQtcGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iAXCI7XG59XG5cbi5mYS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjFwiO1xufVxuXG4uZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GYXCI7XG59XG5cbi5mYS1jaGVjay1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlaBcIjtcbn1cblxuLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FilwiO1xufVxuXG4uZmEtY2hlZXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+vXCI7XG59XG5cbi5mYS1jaGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QuVwiO1xufVxuXG4uZmEtY2hlc3MtYmlzaG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75C6XCI7XG59XG5cbi5mYS1jaGVzcy1ib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QvFwiO1xufVxuXG4uZmEtY2hlc3Mta2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Qv1wiO1xufVxuXG4uZmEtY2hlc3Mta25pZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GBXCI7XG59XG5cbi5mYS1jaGVzcy1wYXduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GDXCI7XG59XG5cbi5mYS1jaGVzcy1xdWVlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RhVwiO1xufVxuXG4uZmEtY2hlc3Mtcm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Rh1wiO1xufVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EulwiO1xufVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Et1wiO1xufVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLhcIjtcbn1cblxuLmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S5XCI7XG59XG5cbi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbhcIjtcbn1cblxuLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bk1wiO1xufVxuXG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BlFwiO1xufVxuXG4uZmEtY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bt1wiO1xufVxuXG4uZmEtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhq5cIjtcbn1cblxuLmZhLWNocm9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JqFwiO1xufVxuXG4uZmEtY2hyb21lY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+guFwiO1xufVxuXG4uZmEtY2h1cmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SdXCI7XG59XG5cbi5mYS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJFcIjtcbn1cblxuLmZhLWNpcmNsZS1ub3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HjlwiO1xufVxuXG4uZmEtY2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zj1wiO1xufVxuXG4uZmEtY2xpbmljLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn7JcIjtcbn1cblxuLmZhLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MqFwiO1xufVxuXG4uZmEtY2xpcGJvYXJkLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GsXCI7XG59XG5cbi5mYS1jbGlwYm9hcmQtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RrVwiO1xufVxuXG4uZmEtY2xvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJdcIjtcbn1cblxuLmZhLWNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mNXCI7XG59XG5cbi5mYS1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IilwiO1xufVxuXG4uZmEtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4JcIjtcbn1cblxuLmZhLWNsb3VkLWRvd25sb2FkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OgVwiO1xufVxuXG4uZmEtY2xvdWQtbWVhdGJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnLtcIjtcbn1cblxuLmZhLWNsb3VkLW1vb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvm4NcIjtcbn1cblxuLmZhLWNsb3VkLW1vb24tcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cvFwiO1xufVxuXG4uZmEtY2xvdWQtcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cvVwiO1xufVxuXG4uZmEtY2xvdWQtc2hvd2Vycy1oZWF2eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dgFwiO1xufVxuXG4uZmEtY2xvdWQtc3VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uEXCI7XG59XG5cbi5mYS1jbG91ZC1zdW4tcmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dg1wiO1xufVxuXG4uZmEtY2xvdWQtdXBsb2FkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OglwiO1xufVxuXG4uZmEtY2xvdWRmbGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BvVwiO1xufVxuXG4uZmEtY2xvdWRzY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Og1wiO1xufVxuXG4uZmEtY2xvdWRzbWl0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OhFwiO1xufVxuXG4uZmEtY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746FXCI7XG59XG5cbi5mYS1jb2NrdGFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VoVwiO1xufVxuXG4uZmEtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EoVwiO1xufVxuXG4uZmEtY29kZS1icmFuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKZcIjtcbn1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4tcIjtcbn1cblxuLmZhLWNvZGllcGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qEXCI7XG59XG5cbi5mYS1jb2ZmZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7RcIjtcbn1cblxuLmZhLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ak1wiO1xufVxuXG4uZmEtY29nczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ChVwiO1xufVxuXG4uZmEtY29pbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJ5cIjtcbn1cblxuLmZhLWNvbHVtbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5tcIjtcbn1cblxuLmZhLWNvbW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbVcIjtcbn1cblxuLmZhLWNvbW1lbnQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m6XCI7XG59XG5cbi5mYS1jb21tZW50LWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZkVwiO1xufVxuXG4uZmEtY29tbWVudC1kb3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KtXCI7XG59XG5cbi5mYS1jb21tZW50LW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn7VcIjtcbn1cblxuLmZhLWNvbW1lbnQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkrNcIjtcbn1cblxuLmZhLWNvbW1lbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KGXCI7XG59XG5cbi5mYS1jb21tZW50cy1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmZNcIjtcbn1cblxuLmZhLWNvbXBhY3QtZGlzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Un1wiO1xufVxuXG4uZmEtY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FjlwiO1xufVxuXG4uZmEtY29tcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaZcIjtcbn1cblxuLmZhLWNvbXByZXNzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QolwiO1xufVxuXG4uZmEtY29tcHJlc3MtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ejFwiO1xufVxuXG4uZmEtY29uY2llcmdlLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlaJcIjtcbn1cblxuLmZhLWNvbmZsdWVuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvno1cIjtcbn1cblxuLmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iOXCI7XG59XG5cbi5mYS1jb250YW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvia1cIjtcbn1cblxuLmZhLWNvb2tpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vo1wiO1xufVxuXG4uZmEtY29va2llLWJpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlaRcIjtcbn1cblxuLmZhLWNvcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4VcIjtcbn1cblxuLmZhLWNvcHlyaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HuVwiO1xufVxuXG4uZmEtY290dG9uLWJ1cmVhdTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+inlwiO1xufVxuXG4uZmEtY291Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkrhcIjtcbn1cblxuLmZhLWNwYW5lbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OiFwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JnlwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tp1wiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TqFwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TqVwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TqlwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tq1wiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1wZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TrFwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk61cIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk65cIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk69cIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7BcIjtcbn1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TsVwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TslwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OzXCI7XG59XG5cbi5mYS1jcmVkaXQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CnVwiO1xufVxuXG4uZmEtY3JpdGljYWwtcm9sZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+biVwiO1xufVxuXG4uZmEtY3JvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EpVwiO1xufVxuXG4uZmEtY3JvcC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlaVcIjtcbn1cblxuLmZhLWNyb3NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mUXCI7XG59XG5cbi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GbXCI7XG59XG5cbi5mYS1jcm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SgXCI7XG59XG5cbi5mYS1jcm93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UoVwiO1xufVxuXG4uZmEtY3J1dGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+3XCI7XG59XG5cbi5mYS1jc3MzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S8XCI7XG59XG5cbi5mYS1jc3MzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Oi1wiO1xufVxuXG4uZmEtY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GslwiO1xufVxuXG4uZmEtY3ViZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrNcIjtcbn1cblxuLmZhLWN1dDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DhFwiO1xufVxuXG4uZmEtY3V0dGxlZmlzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OjFwiO1xufVxuXG4uZmEtZC1hbmQtZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OjVwiO1xufVxuXG4uZmEtZC1hbmQtZC1iZXlvbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm4pcIjtcbn1cblxuLmZhLWRhaWx5bW90aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGSXCI7XG59XG5cbi5mYS1kYXNoY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IkFwiO1xufVxuXG4uZmEtZGF0YWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4BcIjtcbn1cblxuLmZhLWRlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqRcIjtcbn1cblxuLmZhLWRlZXplcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bt1wiO1xufVxuXG4uZmEtZGVsaWNpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74alXCI7XG59XG5cbi5mYS1kZW1vY3JhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dh1wiO1xufVxuXG4uZmEtZGVwbG95ZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746OXCI7XG59XG5cbi5mYS1kZXNrcHJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746PXCI7XG59XG5cbi5mYS1kZXNrdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SIXCI7XG59XG5cbi5mYS1kZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm4xcIjtcbn1cblxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhr1cIjtcbn1cblxuLmZhLWRoYXJtYWNoYWtyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZlVwiO1xufVxuXG4uZmEtZGhsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756QXCI7XG59XG5cbi5mYS1kaWFnbm9zZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkbBcIjtcbn1cblxuLmZhLWRpYXNwb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756RXCI7XG59XG5cbi5mYS1kaWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SiXCI7XG59XG5cbi5mYS1kaWNlLWQyMDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bj1wiO1xufVxuXG4uZmEtZGljZS1kNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bkVwiO1xufVxuXG4uZmEtZGljZS1maXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SjXCI7XG59XG5cbi5mYS1kaWNlLWZvdXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKRcIjtcbn1cblxuLmZhLWRpY2Utb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SlXCI7XG59XG5cbi5mYS1kaWNlLXNpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UplwiO1xufVxuXG4uZmEtZGljZS10aHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Up1wiO1xufVxuXG4uZmEtZGljZS10d286YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKhcIjtcbn1cblxuLmZhLWRpZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqZcIjtcbn1cblxuLmZhLWRpZ2l0YWwtb2NlYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvjpFcIjtcbn1cblxuLmZhLWRpZ2l0YWwtdGFjaG9ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VplwiO1xufVxuXG4uZmEtZGlyZWN0aW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Xq1wiO1xufVxuXG4uZmEtZGlzY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OklwiO1xufVxuXG4uZmEtZGlzY291cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746TXCI7XG59XG5cbi5mYS1kaXNlYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+6XCI7XG59XG5cbi5mYS1kaXZpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKlcIjtcbn1cblxuLmZhLWRpenp5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WnXCI7XG59XG5cbi5mYS1kbmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkbFcIjtcbn1cblxuLmZhLWRvY2h1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OlFwiO1xufVxuXG4uZmEtZG9ja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746VXCI7XG59XG5cbi5mYS1kb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm5NcIjtcbn1cblxuLmZhLWRvbGxhci1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WVXCI7XG59XG5cbi5mYS1kb2xseTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RslwiO1xufVxuXG4uZmEtZG9sbHktZmxhdGJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RtFwiO1xufVxuXG4uZmEtZG9uYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75K5XCI7XG59XG5cbi5mYS1kb29yLWNsb3NlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UqlwiO1xufVxuXG4uZmEtZG9vci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SrXCI7XG59XG5cbi5mYS1kb3QtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aSXCI7XG59XG5cbi5mYS1kb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75K6XCI7XG59XG5cbi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AmVwiO1xufVxuXG4uZmEtZHJhZnQyZGlnaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OllwiO1xufVxuXG4uZmEtZHJhZnRpbmctY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VqFwiO1xufVxuXG4uZmEtZHJhZ29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uVXCI7XG59XG5cbi5mYS1kcmF3LXBvbHlnb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvl65cIjtcbn1cblxuLmZhLWRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W9XCI7XG59XG5cbi5mYS1kcmliYmJsZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjpdcIjtcbn1cblxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhatcIjtcbn1cblxuLmZhLWRydW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvlalcIjtcbn1cblxuLmZhLWRydW0tc3RlZWxwYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlapcIjtcbn1cblxuLmZhLWRydW1zdGljay1iaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uXXCI7XG59XG5cbi5mYS1kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqlcIjtcbn1cblxuLmZhLWR1bWJiZWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GLXCI7XG59XG5cbi5mYS1kdW1wc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ek1wiO1xufVxuXG4uZmEtZHVtcHN0ZXItZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+elFwiO1xufVxuXG4uZmEtZHVuZ2VvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bmVwiO1xufVxuXG4uZmEtZHlhbG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746ZXCI7XG59XG5cbi5mYS1lYXJseWJpcmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746aXCI7XG59XG5cbi5mYS1lYmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O0XCI7XG59XG5cbi5mYS1lZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qCXCI7XG59XG5cbi5mYS1lZGdlLWxlZ2FjeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BuFwiO1xufVxuXG4uZmEtZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BhFwiO1xufVxuXG4uZmEtZWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+7XCI7XG59XG5cbi5mYS1lamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BklwiO1xufVxuXG4uZmEtZWxlbWVudG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CwXCI7XG59XG5cbi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WBXCI7XG59XG5cbi5mYS1lbGxpcHNpcy12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WCXCI7XG59XG5cbi5mYS1lbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75exXCI7XG59XG5cbi5mYS1lbWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Qo1wiO1xufVxuXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eRXCI7XG59XG5cbi5mYS1lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoFwiO1xufVxuXG4uZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KtlwiO1xufVxuXG4uZmEtZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mYXCI7XG59XG5cbi5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhplcIjtcbn1cblxuLmZhLWVudmlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KmVwiO1xufVxuXG4uZmEtZXF1YWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SsXCI7XG59XG5cbi5mYS1lcmFzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhK1cIjtcbn1cblxuLmZhLWVybGFuZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OnVwiO1xufVxuXG4uZmEtZXRoZXJldW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvkK5cIjtcbn1cblxuLmZhLWV0aGVybmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756WXCI7XG59XG5cbi5mYS1ldHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uXXCI7XG59XG5cbi5mYS1ldXJvLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZNcIjtcbn1cblxuLmZhLWV2ZXJub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C5XCI7XG59XG5cbi5mYS1leGNoYW5nZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjaJcIjtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SqXCI7XG59XG5cbi5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgapcIjtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GxXCI7XG59XG5cbi5mYS1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaVcIjtcbn1cblxuLmZhLWV4cGFuZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkKRcIjtcbn1cblxuLmZhLWV4cGFuZC1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yeXCI7XG59XG5cbi5mYS1leHBlZGl0ZWRzc2w6YmVmb3JlIHtcbiAgY29udGVudDogXCLviL5cIjtcbn1cblxuLmZhLWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742dXCI7XG59XG5cbi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjaBcIjtcbn1cblxuLmZhLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BrlwiO1xufVxuXG4uZmEtZXllLWRyb3BwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7tcIjtcbn1cblxuLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BsFwiO1xufVxuXG4uZmEtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgppcIjtcbn1cblxuLmZhLWZhY2Vib29rLWY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjp5cIjtcbn1cblxuLmZhLWZhY2Vib29rLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+On1wiO1xufVxuXG4uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KCXCI7XG59XG5cbi5mYS1mYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvoaNcIjtcbn1cblxuLmZhLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ucXCI7XG59XG5cbi5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GJXCI7XG59XG5cbi5mYS1mYXN0LWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZBcIjtcbn1cblxuLmZhLWZhdWNldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AhVwiO1xufVxuXG4uZmEtZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74asXCI7XG59XG5cbi5mYS1mZWF0aGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75StXCI7XG59XG5cbi5mYS1mZWF0aGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vq1wiO1xufVxuXG4uZmEtZmVkZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpdcIjtcbn1cblxuLmZhLWZlZG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+emFwiO1xufVxuXG4uZmEtZmVtYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aCXCI7XG59XG5cbi5mYS1maWdodGVyLWpldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Du1wiO1xufVxuXG4uZmEtZmlnbWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnplcIjtcbn1cblxuLmZhLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZtcIjtcbn1cblxuLmZhLWZpbGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WcXCI7XG59XG5cbi5mYS1maWxlLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4ZcIjtcbn1cblxuLmZhLWZpbGUtYXVkaW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4dcIjtcbn1cblxuLmZhLWZpbGUtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HiVwiO1xufVxuXG4uZmEtZmlsZS1jb250cmFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VrFwiO1xufVxuXG4uZmEtZmlsZS1jc3Y6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm51cIjtcbn1cblxuLmZhLWZpbGUtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvla1cIjtcbn1cblxuLmZhLWZpbGUtZXhjZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4NcIjtcbn1cblxuLmZhLWZpbGUtZXhwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WuXCI7XG59XG5cbi5mYS1maWxlLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eFXCI7XG59XG5cbi5mYS1maWxlLWltcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vr1wiO1xufVxuXG4uZmEtZmlsZS1pbnZvaWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WwXCI7XG59XG5cbi5mYS1maWxlLWludm9pY2UtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WxXCI7XG59XG5cbi5mYS1maWxlLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkbdcIjtcbn1cblxuLmZhLWZpbGUtbWVkaWNhbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkbhcIjtcbn1cblxuLmZhLWZpbGUtcGRmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eBXCI7XG59XG5cbi5mYS1maWxlLXBvd2VycG9pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4RcIjtcbn1cblxuLmZhLWZpbGUtcHJlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WyXCI7XG59XG5cbi5mYS1maWxlLXNpZ25hdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vs1wiO1xufVxuXG4uZmEtZmlsZS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbRcIjtcbn1cblxuLmZhLWZpbGUtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4hcIjtcbn1cblxuLmZhLWZpbGUtd29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HglwiO1xufVxuXG4uZmEtZmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VtVwiO1xufVxuXG4uZmEtZmlsbC1kcmlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W2XCI7XG59XG5cbi5mYS1maWxtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CIXCI7XG59XG5cbi5mYS1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgrBcIjtcbn1cblxuLmZhLWZpbmdlcnByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W3XCI7XG59XG5cbi5mYS1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GtXCI7XG59XG5cbi5mYS1maXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fpFwiO1xufVxuXG4uZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLRcIjtcbn1cblxuLmZhLWZpcmVmb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvialcIjtcbn1cblxuLmZhLWZpcmVmb3gtYnJvd3NlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Ah1wiO1xufVxuXG4uZmEtZmlyc3QtYWlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75G5XCI7XG59XG5cbi5mYS1maXJzdC1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KsFwiO1xufVxuXG4uZmEtZmlyc3Qtb3JkZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SKXCI7XG59XG5cbi5mYS1maXJzdGRyYWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746hXCI7XG59XG5cbi5mYS1maXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W4XCI7XG59XG5cbi5mYS1maXN0LXJhaXNlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bnlwiO1xufVxuXG4uZmEtZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ApFwiO1xufVxuXG4uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJ5cIjtcbn1cblxuLmZhLWZsYWctdXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752NXCI7XG59XG5cbi5mYS1mbGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dg1wiO1xufVxuXG4uZmEtZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WuXCI7XG59XG5cbi5mYS1mbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkY1cIjtcbn1cblxuLmZhLWZsdXNoZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlblcIjtcbn1cblxuLmZhLWZseTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ql1wiO1xufVxuXG4uZmEtZm9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G7XCI7XG59XG5cbi5mYS1mb2xkZXItbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmZ1cIjtcbn1cblxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G8XCI7XG59XG5cbi5mYS1mb2xkZXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZnlwiO1xufVxuXG4uZmEtZm9udDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AsVwiO1xufVxuXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q0XCI7XG59XG5cbi5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742cXCI7XG59XG5cbi5mYS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QpVwiO1xufVxuXG4uZmEtZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TplwiO1xufVxuXG4uZmEtZm9udGljb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qAXCI7XG59XG5cbi5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqJcIjtcbn1cblxuLmZhLWZvb3RiYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkY5cIjtcbn1cblxuLmZhLWZvcnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KhlwiO1xufVxuXG4uZmEtZm9ydC1hd2Vzb21lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Oo1wiO1xufVxuXG4uZmEtZm9ydW1iZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJFcIjtcbn1cblxuLmZhLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgY5cIjtcbn1cblxuLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoBcIjtcbn1cblxuLmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uFXCI7XG59XG5cbi5mYS1mcmVlYnNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746kXCI7XG59XG5cbi5mYS1mcm9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SuXCI7XG59XG5cbi5mYS1mcm93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EmVwiO1xufVxuXG4uZmEtZnJvd24tb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VulwiO1xufVxuXG4uZmEtZnVsY3J1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ui1wiO1xufVxuXG4uZmEtZnVubmVsLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZolwiO1xufVxuXG4uZmEtZnV0Ym9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ejXCI7XG59XG5cbi5mYS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UjFwiO1xufVxuXG4uZmEtZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SNXCI7XG59XG5cbi5mYS1nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SbXCI7XG59XG5cbi5mYS1nYXMtcHVtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ur1wiO1xufVxuXG4uZmEtZ2F2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6NcIjtcbn1cblxuLmZhLWdlbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OpVwiO1xufVxuXG4uZmEtZ2VuZGVybGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IrVwiO1xufVxuXG4uZmEtZ2V0LXBvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JpVwiO1xufVxuXG4uZmEtZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLviaBcIjtcbn1cblxuLmZhLWdnLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JoVwiO1xufVxuXG4uZmEtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm6JcIjtcbn1cblxuLmZhLWdpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgatcIjtcbn1cblxuLmZhLWdpZnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756cXCI7XG59XG5cbi5mYS1naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5NcIjtcbn1cblxuLmZhLWdpdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoYFcIjtcbn1cblxuLmZhLWdpdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5JcIjtcbn1cblxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Cm1wiO1xufVxuXG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ek1wiO1xufVxuXG4uZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CklwiO1xufVxuXG4uZmEtZ2l0a3Jha2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746mXCI7XG59XG5cbi5mYS1naXRsYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipZcIjtcbn1cblxuLmZhLWdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QplwiO1xufVxuXG4uZmEtZ2xhc3MtY2hlZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756fXCI7XG59XG5cbi5mYS1nbGFzcy1tYXJ0aW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CAXCI7XG59XG5cbi5mYS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vu1wiO1xufVxuXG4uZmEtZ2xhc3Mtd2hpc2tleTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eoFwiO1xufVxuXG4uZmEtZ2xhc3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UsFwiO1xufVxuXG4uZmEtZ2xpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqVcIjtcbn1cblxuLmZhLWdsaWRlLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqZcIjtcbn1cblxuLmZhLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KsXCI7XG59XG5cbi5mYS1nbG9iZS1hZnJpY2E6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbxcIjtcbn1cblxuLmZhLWdsb2JlLWFtZXJpY2FzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W9XCI7XG59XG5cbi5mYS1nbG9iZS1hc2lhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W+XCI7XG59XG5cbi5mYS1nbG9iZS1ldXJvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqJcIjtcbn1cblxuLmZhLWdvZm9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Op1wiO1xufVxuXG4uZmEtZ29sZi1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GQXCI7XG59XG5cbi5mYS1nb29kcmVhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqhcIjtcbn1cblxuLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746pXCI7XG59XG5cbi5mYS1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqBcIjtcbn1cblxuLmZhLWdvb2dsZS1kcml2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OqlwiO1xufVxuXG4uZmEtZ29vZ2xlLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BuVwiO1xufVxuXG4uZmEtZ29vZ2xlLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqtcIjtcbn1cblxuLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qzXCI7XG59XG5cbi5mYS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OVXCI7XG59XG5cbi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5RcIjtcbn1cblxuLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh65cIjtcbn1cblxuLmZhLWdvcHVyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvmaRcIjtcbn1cblxuLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74adXCI7XG59XG5cbi5mYS1ncmF0aXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GhFwiO1xufVxuXG4uZmEtZ3JhdjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LllwiO1xufVxuXG4uZmEtZ3JlYXRlci10aGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SxXCI7XG59XG5cbi5mYS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLJcIjtcbn1cblxuLmZhLWdyaW1hY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlb9cIjtcbn1cblxuLmZhLWdyaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvloBcIjtcbn1cblxuLmZhLWdyaW4tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aBXCI7XG59XG5cbi5mYS1ncmluLWJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvloJcIjtcbn1cblxuLmZhLWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wg1wiO1xufVxuXG4uZmEtZ3Jpbi1oZWFydHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvloRcIjtcbn1cblxuLmZhLWdyaW4tc3F1aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aFXCI7XG59XG5cbi5mYS1ncmluLXNxdWludC10ZWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WhlwiO1xufVxuXG4uZmEtZ3Jpbi1zdGFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wh1wiO1xufVxuXG4uZmEtZ3Jpbi10ZWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WiFwiO1xufVxuXG4uZmEtZ3Jpbi10b25ndWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlolcIjtcbn1cblxuLmZhLWdyaW4tdG9uZ3VlLXNxdWludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WilwiO1xufVxuXG4uZmEtZ3Jpbi10b25ndWUtd2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wi1wiO1xufVxuXG4uZmEtZ3Jpbi13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aMXCI7XG59XG5cbi5mYS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlo1cIjtcbn1cblxuLmZhLWdyaXAtbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqRcIjtcbn1cblxuLmZhLWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqVcIjtcbn1cblxuLmZhLWdyaXAtdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlo5cIjtcbn1cblxuLmZhLWdyaXBmaXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746sXCI7XG59XG5cbi5mYS1ncnVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OrVwiO1xufVxuXG4uZmEtZ3VpbGRlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BvlwiO1xufVxuXG4uZmEtZ3VpdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756mXCI7XG59XG5cbi5mYS1ndWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746uXCI7XG59XG5cbi5mYS1oLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DvVwiO1xufVxuXG4uZmEtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5RcIjtcbn1cblxuLmZhLWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Or1wiO1xufVxuXG4uZmEtaGFja2VycmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Xt1wiO1xufVxuXG4uZmEtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CFXCI7XG59XG5cbi5mYS1oYW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm6NcIjtcbn1cblxuLmZhLWhhbXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mlXCI7XG59XG5cbi5mYS1oYW5kLWhvbGRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkr1cIjtcbn1cblxuLmZhLWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SvlwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZxcIjtcbn1cblxuLmZhLWhhbmQtaG9sZGluZy11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk4BcIjtcbn1cblxuLmZhLWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TgVwiO1xufVxuXG4uZmEtaGFuZC1saXphcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZhcIjtcbn1cblxuLmZhLWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ghlwiO1xufVxuXG4uZmEtaGFuZC1wYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JllwiO1xufVxuXG4uZmEtaGFuZC1wZWFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jm1wiO1xufVxuXG4uZmEtaGFuZC1wb2ludC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KnXCI7XG59XG5cbi5mYS1oYW5kLXBvaW50LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqVcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqRcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqZcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JmlwiO1xufVxuXG4uZmEtaGFuZC1yb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mVXCI7XG59XG5cbi5mYS1oYW5kLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mXXCI7XG59XG5cbi5mYS1oYW5kLXNwYXJrbGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGdXCI7XG59XG5cbi5mYS1oYW5kLXNwb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mZXCI7XG59XG5cbi5mYS1oYW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TglwiO1xufVxuXG4uZmEtaGFuZHMtaGVscGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ThFwiO1xufVxuXG4uZmEtaGFuZHMtd2FzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BnlwiO1xufVxuXG4uZmEtaGFuZHNoYWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q1XCI7XG59XG5cbi5mYS1oYW5kc2hha2UtYWx0LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGfXCI7XG59XG5cbi5mYS1oYW5kc2hha2Utc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaBcIjtcbn1cblxuLmZhLWhhbnVraWFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75umXCI7XG59XG5cbi5mYS1oYXJkLWhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gh1wiO1xufVxuXG4uZmEtaGFzaHRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KklwiO1xufVxuXG4uZmEtaGF0LWNvd2JveTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+jgFwiO1xufVxuXG4uZmEtaGF0LWNvd2JveS1zaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76OBXCI7XG59XG5cbi5mYS1oYXQtd2l6YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uoXCI7XG59XG5cbi5mYS1oZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqBcIjtcbn1cblxuLmZhLWhlYWQtc2lkZS1jb3VnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BoVwiO1xufVxuXG4uZmEtaGVhZC1zaWRlLWNvdWdoLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGiXCI7XG59XG5cbi5mYS1oZWFkLXNpZGUtbWFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bo1wiO1xufVxuXG4uZmEtaGVhZC1zaWRlLXZpcnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGkXCI7XG59XG5cbi5mYS1oZWFkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ecXCI7XG59XG5cbi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ClXCI7XG59XG5cbi5mYS1oZWFkcGhvbmVzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wj1wiO1xufVxuXG4uZmEtaGVhZHNldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WkFwiO1xufVxuXG4uZmEtaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIRcIjtcbn1cblxuLmZhLWhlYXJ0LWJyb2tlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eqVwiO1xufVxuXG4uZmEtaGVhcnRiZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ieXCI7XG59XG5cbi5mYS1oZWxpY29wdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SzXCI7XG59XG5cbi5mYS1oaWdobGlnaHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WkVwiO1xufVxuXG4uZmEtaGlraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75usXCI7XG59XG5cbi5mYS1oaXBwbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+brVwiO1xufVxuXG4uZmEtaGlwczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RklwiO1xufVxuXG4uZmEtaGlyZS1hLWhlbHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OsFwiO1xufVxuXG4uZmEtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HmlwiO1xufVxuXG4uZmEtaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bv1wiO1xufVxuXG4uZmEtaG9ja2V5LXB1Y2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZNcIjtcbn1cblxuLmZhLWhvbGx5LWJlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756qXCI7XG59XG5cbi5mYS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CVXCI7XG59XG5cbi5mYS1ob29saTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Qp1wiO1xufVxuXG4uZmEtaG9ybmJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlpJcIjtcbn1cblxuLmZhLWhvcnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uwXCI7XG59XG5cbi5mYS1ob3JzZS1oZWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756rXCI7XG59XG5cbi5mYS1ob3NwaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DuFwiO1xufVxuXG4uZmEtaG9zcGl0YWwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75G9XCI7XG59XG5cbi5mYS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkb5cIjtcbn1cblxuLmZhLWhvc3BpdGFsLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoI1cIjtcbn1cblxuLmZhLWhvdC10dWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlpNcIjtcbn1cblxuLmZhLWhvdGRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gj1wiO1xufVxuXG4uZmEtaG90ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlpRcIjtcbn1cblxuLmZhLWhvdGphcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OsVwiO1xufVxuXG4uZmEtaG91cmdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mUXCI7XG59XG5cbi5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mTXCI7XG59XG5cbi5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JklwiO1xufVxuXG4uZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mRXCI7XG59XG5cbi5mYS1ob3VzZS1kYW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm7FcIjtcbn1cblxuLmZhLWhvdXNlLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaVcIjtcbn1cblxuLmZhLWhvdXp6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m8XCI7XG59XG5cbi5mYS1ocnl2bmlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uyXCI7XG59XG5cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eu1wiO1xufVxuXG4uZmEtaHVic3BvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OslwiO1xufVxuXG4uZmEtaS1jdXJzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYZcIjtcbn1cblxuLmZhLWljZS1jcmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gkFwiO1xufVxuXG4uZmEtaWNpY2xlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+erVwiO1xufVxuXG4uZmEtaWNvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoa1cIjtcbn1cblxuLmZhLWlkLWJhZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uBXCI7XG59XG5cbi5mYS1pZC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uCXCI7XG59XG5cbi5mYS1pZC1jYXJkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Rv1wiO1xufVxuXG4uZmEtaWRlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJNcIjtcbn1cblxuLmZhLWlnbG9vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756uXCI7XG59XG5cbi5mYS1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AvlwiO1xufVxuXG4uZmEtaW1hZ2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yCXCI7XG59XG5cbi5mYS1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uYXCI7XG59XG5cbi5mYS1pbmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AnFwiO1xufVxuXG4uZmEtaW5kZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C8XCI7XG59XG5cbi5mYS1pbmR1c3RyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JtVwiO1xufVxuXG4uZmEtaW5maW5pdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLRcIjtcbn1cblxuLmZhLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKlcIjtcbn1cblxuLmZhLWluZm8tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GaXCI7XG59XG5cbi5mYS1pbm5vc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6CgFwiO1xufVxuXG4uZmEtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WtXCI7XG59XG5cbi5mYS1pbnN0YWdyYW0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGVXCI7XG59XG5cbi5mYS1pbnN0YWxvZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6CgVwiO1xufVxuXG4uZmEtaW50ZXJjb206YmVmb3JlIHtcbiAgY29udGVudDogXCLvnq9cIjtcbn1cblxuLmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mrXCI7XG59XG5cbi5mYS1pbnZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+esFwiO1xufVxuXG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IiFwiO1xufVxuXG4uZmEtaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CzXCI7XG59XG5cbi5mYS1pdGNoLWlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C6XCI7XG59XG5cbi5mYS1pdHVuZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrRcIjtcbn1cblxuLmZhLWl0dW5lcy1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7461XCI7XG59XG5cbi5mYS1qYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OkXCI7XG59XG5cbi5mYS1qZWRpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mpXCI7XG59XG5cbi5mYS1qZWRpLW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SOXCI7XG59XG5cbi5mYS1qZW5raW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7462XCI7XG59XG5cbi5mYS1qaXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756xXCI7XG59XG5cbi5mYS1qb2dldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ot1wiO1xufVxuXG4uZmEtam9pbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlpVcIjtcbn1cblxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GqlwiO1xufVxuXG4uZmEtam91cm5hbC13aGlsbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmapcIjtcbn1cblxuLmZhLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7464XCI7XG59XG5cbi5mYS1qcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrlcIjtcbn1cblxuLmZhLWpzZmlkZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eMXCI7XG59XG5cbi5mYS1rYWFiYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zq1wiO1xufVxuXG4uZmEta2FnZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75e6XCI7XG59XG5cbi5mYS1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoRcIjtcbn1cblxuLmZhLWtleWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7VcIjtcbn1cblxuLmZhLWtleWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ScXCI7XG59XG5cbi5mYS1rZXljZG46YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrpcIjtcbn1cblxuLmZhLWtoYW5kYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZrVwiO1xufVxuXG4uZmEta2lja3N0YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrtcIjtcbn1cblxuLmZhLWtpY2tzdGFydGVyLWs6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrxcIjtcbn1cblxuLmZhLWtpc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlpZcIjtcbn1cblxuLmZhLWtpc3MtYmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wl1wiO1xufVxuXG4uZmEta2lzcy13aW5rLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aYXCI7XG59XG5cbi5mYS1raXdpLWJpcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLVcIjtcbn1cblxuLmZhLWtvcnZ1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Qr1wiO1xufVxuXG4uZmEtbGFuZG1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvma9cIjtcbn1cblxuLmZhLWxhbmd1YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74arXCI7XG59XG5cbi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIlcIjtcbn1cblxuLmZhLWxhcHRvcC1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75e8XCI7XG59XG5cbi5mYS1sYXB0b3AtaG91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaZcIjtcbn1cblxuLmZhLWxhcHRvcC1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CSXCI7XG59XG5cbi5mYS1sYXJhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7469XCI7XG59XG5cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCLviIJcIjtcbn1cblxuLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviINcIjtcbn1cblxuLmZhLWxhdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aZXCI7XG59XG5cbi5mYS1sYXVnaC1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aaXCI7XG59XG5cbi5mYS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlptcIjtcbn1cblxuLmZhLWxhdWdoLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlpxcIjtcbn1cblxuLmZhLWxheWVyLWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75e9XCI7XG59XG5cbi5mYS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GsXCI7XG59XG5cbi5mYS1sZWFucHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iSXCI7XG59XG5cbi5mYS1sZW1vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ClFwiO1xufVxuXG4uZmEtbGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QnVwiO1xufVxuXG4uZmEtbGVzcy10aGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S2XCI7XG59XG5cbi5mYS1sZXNzLXRoYW4tZXF1YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLdcIjtcbn1cblxuLmZhLWxldmVsLWRvd24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746+XCI7XG59XG5cbi5mYS1sZXZlbC11cC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjr9cIjtcbn1cblxuLmZhLWxpZmUtcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HjVwiO1xufVxuXG4uZmEtbGlnaHRidWxiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OrXCI7XG59XG5cbi5mYS1saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+AXCI7XG59XG5cbi5mYS1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OBXCI7XG59XG5cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CjFwiO1xufVxuXG4uZmEtbGlua2VkaW4taW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6FcIjtcbn1cblxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KuFwiO1xufVxuXG4uZmEtbGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbxcIjtcbn1cblxuLmZhLWxpcmEtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GlVwiO1xufVxuXG4uZmEtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AulwiO1xufVxuXG4uZmEtbGlzdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKJcIjtcbn1cblxuLmZhLWxpc3Qtb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4tcIjtcbn1cblxuLmZhLWxpc3QtdWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4pcIjtcbn1cblxuLmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SkXCI7XG59XG5cbi5mYS1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CjXCI7XG59XG5cbi5mYS1sb2NrLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4FcIjtcbn1cblxuLmZhLWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvjIlcIjtcbn1cblxuLmZhLWxvbmctYXJyb3ctYWx0LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjIpcIjtcbn1cblxuLmZhLWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yLXCI7XG59XG5cbi5mYS1sb25nLWFycm93LWFsdC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MjFwiO1xufVxuXG4uZmEtbG93LXZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KqFwiO1xufVxuXG4uZmEtbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75adXCI7XG59XG5cbi5mYS1sdW5nczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YhFwiO1xufVxuXG4uZmEtbHVuZ3MtdmlydXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugadcIjtcbn1cblxuLmZhLWx5ZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4NcIjtcbn1cblxuLmZhLW1hZ2VudG86YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4RcIjtcbn1cblxuLmZhLW1hZ2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OQXCI7XG59XG5cbi5mYS1tYWduZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbZcIjtcbn1cblxuLmZhLW1haWwtYnVsazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZtFwiO1xufVxuXG4uZmEtbWFpbGNoaW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aeXCI7XG59XG5cbi5mYS1tYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aDXCI7XG59XG5cbi5mYS1tYW5kYWxvcmlhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Uj1wiO1xufVxuXG4uZmEtbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m5XCI7XG59XG5cbi5mYS1tYXAtbWFya2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75afXCI7XG59XG5cbi5mYS1tYXAtbWFya2VkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WoFwiO1xufVxuXG4uZmEtbWFwLW1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BgVwiO1xufVxuXG4uZmEtbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4VcIjtcbn1cblxuLmZhLW1hcC1waW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvibZcIjtcbn1cblxuLmZhLW1hcC1zaWduczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jt1wiO1xufVxuXG4uZmEtbWFya2Rvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvmI9cIjtcbn1cblxuLmZhLW1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WoVwiO1xufVxuXG4uZmEtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IolwiO1xufVxuXG4uZmEtbWFycy1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKdcIjtcbn1cblxuLmZhLW1hcnMtc3Ryb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ipXCI7XG59XG5cbi5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74irXCI7XG59XG5cbi5mYS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iqXCI7XG59XG5cbi5mYS1tYXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75u6XCI7XG59XG5cbi5mYS1tYXN0b2RvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TtlwiO1xufVxuXG4uZmEtbWF4Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S2XCI7XG59XG5cbi5mYS1tZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo4pcIjtcbn1cblxuLmZhLW1lZGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aiXCI7XG59XG5cbi5mYS1tZWRhcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+GXCI7XG59XG5cbi5mYS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCLviLpcIjtcbn1cblxuLmZhLW1lZGl1bS1tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+HXCI7XG59XG5cbi5mYS1tZWRraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7pcIjtcbn1cblxuLmZhLW1lZHJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+IXCI7XG59XG5cbi5mYS1tZWV0dXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi6BcIjtcbn1cblxuLmZhLW1lZ2Fwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ajXCI7XG59XG5cbi5mYS1tZWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJpcIjtcbn1cblxuLmZhLW1laC1ibGFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WpFwiO1xufVxuXG4uZmEtbWVoLXJvbGxpbmctZXllczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WpVwiO1xufVxuXG4uZmEtbWVtb3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S4XCI7XG59XG5cbi5mYS1tZW5kZWxleTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+es1wiO1xufVxuXG4uZmEtbWVub3JhaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZtlwiO1xufVxuXG4uZmEtbWVyY3VyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Io1wiO1xufVxuXG4uZmEtbWV0ZW9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752TXCI7XG59XG5cbi5mYS1taWNyb2Jsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJpcIjtcbn1cblxuLmZhLW1pY3JvY2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Lm1wiO1xufVxuXG4uZmEtbWljcm9waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EsFwiO1xufVxuXG4uZmEtbWljcm9waG9uZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4lcIjtcbn1cblxuLmZhLW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S5XCI7XG59XG5cbi5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SxXCI7XG59XG5cbi5mYS1taWNyb3Njb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iQXCI7XG59XG5cbi5mYS1taWNyb3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4pcIjtcbn1cblxuLmZhLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GoXCI7XG59XG5cbi5mYS1taW51cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZZcIjtcbn1cblxuLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FhlwiO1xufVxuXG4uZmEtbWl0dGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7561XCI7XG59XG5cbi5mYS1taXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4tcIjtcbn1cblxuLmZhLW1peGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qJXCI7XG59XG5cbi5mYS1taXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BllwiO1xufVxuXG4uZmEtbWl6dW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+MXCI7XG59XG5cbi5mYS1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhItcIjtcbn1cblxuLmZhLW1vYmlsZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj41cIjtcbn1cblxuLmZhLW1vZHg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioVcIjtcbn1cblxuLmZhLW1vbmVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PkFwiO1xufVxuXG4uZmEtbW9uZXktYmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DllwiO1xufVxuXG4uZmEtbW9uZXktYmlsbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5FcIjtcbn1cblxuLmZhLW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UulwiO1xufVxuXG4uZmEtbW9uZXktYmlsbC13YXZlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Uu1wiO1xufVxuXG4uZmEtbW9uZXktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLxcIjtcbn1cblxuLmZhLW1vbmV5LWNoZWNrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UvVwiO1xufVxuXG4uZmEtbW9udW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlqZcIjtcbn1cblxuLmZhLW1vb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoZcIjtcbn1cblxuLmZhLW1vcnRhci1wZXN0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlqdcIjtcbn1cblxuLmZhLW1vc3F1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZuFwiO1xufVxuXG4uZmEtbW90b3JjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+InFwiO1xufVxuXG4uZmEtbW91bnRhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvm7xcIjtcbn1cblxuLmZhLW1vdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76OMXCI7XG59XG5cbi5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mFXCI7XG59XG5cbi5mYS1tdWctaG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7562XCI7XG59XG5cbi5mYS1tdXNpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AgVwiO1xufVxuXG4uZmEtbmFwc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PklwiO1xufVxuXG4uZmEtbmVvczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YklwiO1xufVxuXG4uZmEtbmV0d29yay13aXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bv1wiO1xufVxuXG4uZmEtbmV1dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74isXCI7XG59XG5cbi5mYS1uZXdzcGFwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6pcIjtcbn1cblxuLmZhLW5pbWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WqFwiO1xufVxuXG4uZmEtbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QmVwiO1xufVxuXG4uZmEtbm9kZS1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pk1wiO1xufVxuXG4uZmEtbm90LWVxdWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S+XCI7XG59XG5cbi5mYS1ub3Rlcy1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KBXCI7XG59XG5cbi5mYS1ucG06YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5RcIjtcbn1cblxuLmZhLW5zODpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PlVwiO1xufVxuXG4uZmEtbnV0cml0aW9uaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5ZcIjtcbn1cblxuLmZhLW9iamVjdC1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jh1wiO1xufVxuXG4uZmEtb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYhcIjtcbn1cblxuLmZhLW9jdG9wdXMtZGVwbG95OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKCXCI7XG59XG5cbi5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mjXCI7XG59XG5cbi5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JpFwiO1xufVxuXG4uZmEtb2lsLWNhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Yk1wiO1xufVxuXG4uZmEtb2xkLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SQXCI7XG59XG5cbi5mYS1vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZuVwiO1xufVxuXG4uZmEtb3BlbmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviL1cIjtcbn1cblxuLmZhLW9wZW5pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gm1wiO1xufVxuXG4uZmEtb3BlcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLviapcIjtcbn1cblxuLmZhLW9wdGluLW1vbnN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLxcIjtcbn1cblxuLmZhLW9yY2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76OSXCI7XG59XG5cbi5mYS1vc2k6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJpcIjtcbn1cblxuLmZhLW90dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yAXCI7XG59XG5cbi5mYS1vdXRkZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C7XCI7XG59XG5cbi5mYS1wYWdlNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pl1wiO1xufVxuXG4uZmEtcGFnZWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aMXCI7XG59XG5cbi5mYS1wYWdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+glVwiO1xufVxuXG4uZmEtcGFpbnQtYnJ1c2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7xcIjtcbn1cblxuLmZhLXBhaW50LXJvbGxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WqlwiO1xufVxuXG4uZmEtcGFsZXR0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Uv1wiO1xufVxuXG4uZmEtcGFsZmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+YXCI7XG59XG5cbi5mYS1wYWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkoJcIjtcbn1cblxuLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eYXCI7XG59XG5cbi5mYS1wYXBlcmNsaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4ZcIjtcbn1cblxuLmZhLXBhcmFjaHV0ZS1ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk41cIjtcbn1cblxuLmZhLXBhcmFncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HnVwiO1xufVxuXG4uZmEtcGFya2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VgFwiO1xufVxuXG4uZmEtcGFzc3BvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlqtcIjtcbn1cblxuLmZhLXBhc3RhZmFyaWFuaXNtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m7XCI7XG59XG5cbi5mYS1wYXN0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DqlwiO1xufVxuXG4uZmEtcGF0cmVvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PmVwiO1xufVxuXG4uZmEtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYxcIjtcbn1cblxuLmZhLXBhdXNlLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ki1wiO1xufVxuXG4uZmEtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74awXCI7XG59XG5cbi5mYS1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh61cIjtcbn1cblxuLmZhLXBlYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m8XCI7XG59XG5cbi5mYS1wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvjIRcIjtcbn1cblxuLmZhLXBlbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjIVcIjtcbn1cblxuLmZhLXBlbi1mYW5jeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WrFwiO1xufVxuXG4uZmEtcGVuLW5pYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WrVwiO1xufVxuXG4uZmEtcGVuLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fi1wiO1xufVxuXG4uZmEtcGVuY2lsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Mg1wiO1xufVxuXG4uZmEtcGVuY2lsLXJ1bGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75auXCI7XG59XG5cbi5mYS1wZW5ueS1hcmNhZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnIRcIjtcbn1cblxuLmZhLXBlb3BsZS1hcnJvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLugahcIjtcbn1cblxuLmZhLXBlb3BsZS1jYXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TjlwiO1xufVxuXG4uZmEtcGVwcGVyLWhvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gllwiO1xufVxuXG4uZmEtcGVyYnl0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Cg1wiO1xufVxuXG4uZmEtcGVyY2VudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KlVwiO1xufVxuXG4uZmEtcGVyY2VudGFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VgVwiO1xufVxuXG4uZmEtcGVyaXNjb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+aXCI7XG59XG5cbi5mYS1wZXJzb24tYm9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZZcIjtcbn1cblxuLmZhLXBoYWJyaWNhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+bXCI7XG59XG5cbi5mYS1waG9lbml4LWZyYW1ld29yazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PnFwiO1xufVxuXG4uZmEtcGhvZW5peC1zcXVhZHJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UkVwiO1xufVxuXG4uZmEtcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpVcIjtcbn1cblxuLmZhLXBob25lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+huVwiO1xufVxuXG4uZmEtcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj51cIjtcbn1cblxuLmZhLXBob25lLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmFwiO1xufVxuXG4uZmEtcGhvbmUtc3F1YXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hu1wiO1xufVxuXG4uZmEtcGhvbmUtdm9sdW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qgXCI7XG59XG5cbi5mYS1waG90by12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hvFwiO1xufVxuXG4uZmEtcGhwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GXXCI7XG59XG5cbi5mYS1waWVkLXBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74quXCI7XG59XG5cbi5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GqFwiO1xufVxuXG4uZmEtcGllZC1waXBlci1oYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk6VcIjtcbn1cblxuLmZhLXBpZWQtcGlwZXItcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqdcIjtcbn1cblxuLmZhLXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCeXCI7XG59XG5cbi5mYS1waWdneS1iYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OTXCI7XG59XG5cbi5mYS1waWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ShFwiO1xufVxuXG4uZmEtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OSXCI7XG59XG5cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IsVwiO1xufVxuXG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dk1wiO1xufVxuXG4uZmEtcGl6emEtc2xpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoJhcIjtcbn1cblxuLmZhLXBsYWNlLW9mLXdvcnNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmb9cIjtcbn1cblxuLmZhLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GyXCI7XG59XG5cbi5mYS1wbGFuZS1hcnJpdmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75avXCI7XG59XG5cbi5mYS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrBcIjtcbn1cblxuLmZhLXBsYW5lLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGpXCI7XG59XG5cbi5mYS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GLXCI7XG59XG5cbi5mYS1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FhFwiO1xufVxuXG4uZmEtcGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvj59cIjtcbn1cblxuLmZhLXBsdWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6ZcIjtcbn1cblxuLmZhLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgadcIjtcbn1cblxuLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GVXCI7XG59XG5cbi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DvlwiO1xufVxuXG4uZmEtcG9kY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LjlwiO1xufVxuXG4uZmEtcG9sbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+agVwiO1xufVxuXG4uZmEtcG9sbC1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qCXCI7XG59XG5cbi5mYS1wb286YmVmb3JlIHtcbiAgY29udGVudDogXCLvi75cIjtcbn1cblxuLmZhLXBvby1zdG9ybTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dmlwiO1xufVxuXG4uZmEtcG9vcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YmVwiO1xufVxuXG4uZmEtcG9ydHJhaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6BcIjtcbn1cblxuLmZhLXBvdW5kLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZRcIjtcbn1cblxuLmZhLXBvd2VyLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AkVwiO1xufVxuXG4uZmEtcHJheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ag1wiO1xufVxuXG4uZmEtcHJheWluZy1oYW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ahFwiO1xufVxuXG4uZmEtcHJlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75axXCI7XG59XG5cbi5mYS1wcmVzY3JpcHRpb24tYm90dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KFXCI7XG59XG5cbi5mYS1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ShlwiO1xufVxuXG4uZmEtcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgK9cIjtcbn1cblxuLmZhLXByb2NlZHVyZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkodcIjtcbn1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KiFwiO1xufVxuXG4uZmEtcHJvamVjdC1kaWFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WCXCI7XG59XG5cbi5mYS1wdW1wLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLugapcIjtcbn1cblxuLmZhLXB1bXAtc29hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bq1wiO1xufVxuXG4uZmEtcHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+hXCI7XG59XG5cbi5mYS1wdXp6bGUtcGllY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhK5cIjtcbn1cblxuLmZhLXB5dGhvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PolwiO1xufVxuXG4uZmEtcXE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5ZcIjtcbn1cblxuLmZhLXFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AqVwiO1xufVxuXG4uZmEtcXVlc3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKhcIjtcbn1cblxuLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BmVwiO1xufVxuXG4uZmEtcXVpZGRpdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GYXCI7XG59XG5cbi5mYS1xdWluc2NhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZlcIjtcbn1cblxuLmZhLXF1b3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uEXCI7XG59XG5cbi5mYS1xdW90ZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SNXCI7XG59XG5cbi5mYS1xdW90ZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EjlwiO1xufVxuXG4uZmEtcXVyYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvmodcIjtcbn1cblxuLmZhLXItcHJvamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tt1wiO1xufVxuXG4uZmEtcmFkaWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7565XCI7XG59XG5cbi5mYS1yYWRpYXRpb24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7566XCI7XG59XG5cbi5mYS1yYWluYm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752bXCI7XG59XG5cbi5mYS1yYW5kb206YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbRcIjtcbn1cblxuLmZhLXJhc3BiZXJyeS1waTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eu1wiO1xufVxuXG4uZmEtcmF2ZWxyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LmVwiO1xufVxuXG4uZmEtcmVhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJtcIjtcbn1cblxuLmZhLXJlYWN0ZXVyb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752dXCI7XG59XG5cbi5mYS1yZWFkbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5VcIjtcbn1cblxuLmZhLXJlYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eQXCI7XG59XG5cbi5mYS1yZWNlaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WDXCI7XG59XG5cbi5mYS1yZWNvcmQtdmlueWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo5lcIjtcbn1cblxuLmZhLXJlY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrhcIjtcbn1cblxuLmZhLXJlZC1yaXZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Po1wiO1xufVxuXG4uZmEtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ahXCI7XG59XG5cbi5mYS1yZWRkaXQtYWxpZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvioFcIjtcbn1cblxuLmZhLXJlZGRpdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqJcIjtcbn1cblxuLmZhLXJlZGhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+evFwiO1xufVxuXG4uZmEtcmVkbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AnlwiO1xufVxuXG4uZmEtcmVkby1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi7lcIjtcbn1cblxuLmZhLXJlZ2lzdGVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZ1cIjtcbn1cblxuLmZhLXJlbW92ZS1mb3JtYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvob1cIjtcbn1cblxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gi1wiO1xufVxuXG4uZmEtcmVwbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6VcIjtcbn1cblxuLmZhLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EolwiO1xufVxuXG4uZmEtcmVwbHlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+mXCI7XG59XG5cbi5mYS1yZXB1YmxpY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752eXCI7XG59XG5cbi5mYS1yZXNlYXJjaGdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7hcIjtcbn1cblxuLmZhLXJlc29sdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pp1wiO1xufVxuXG4uZmEtcmVzdHJvb206YmVmb3JlIHtcbiAgY29udGVudDogXCLvnr1cIjtcbn1cblxuLmZhLXJldHdlZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgblcIjtcbn1cblxuLmZhLXJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WslwiO1xufVxuXG4uZmEtcmliYm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OWXCI7XG59XG5cbi5mYS1yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yLXCI7XG59XG5cbi5mYS1yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CYXCI7XG59XG5cbi5mYS1yb2JvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VhFwiO1xufVxuXG4uZmEtcm9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S1XCI7XG59XG5cbi5mYS1yb2NrZXRjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+oXCI7XG59XG5cbi5mYS1yb2Nrcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+pXCI7XG59XG5cbi5mYS1yb3V0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tl1wiO1xufVxuXG4uZmEtcnNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KeXCI7XG59XG5cbi5mYS1yc3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WDXCI7XG59XG5cbi5mYS1ydWJsZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WYXCI7XG59XG5cbi5mYS1ydWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VhVwiO1xufVxuXG4uZmEtcnVsZXItY29tYmluZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYZcIjtcbn1cblxuLmZhLXJ1bGVyLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYdcIjtcbn1cblxuLmZhLXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WIXCI7XG59XG5cbi5mYS1ydW5uaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yMXCI7XG59XG5cbi5mYS1ydXBlZS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WWXCI7XG59XG5cbi5mYS1ydXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG6XCI7XG59XG5cbi5mYS1zYWQtY3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75azXCI7XG59XG5cbi5mYS1zYWQtdGVhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WtFwiO1xufVxuXG4uZmEtc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mnXCI7XG59XG5cbi5mYS1zYWxlc2ZvcmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C7XCI7XG59XG5cbi5mYS1zYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CeXCI7XG59XG5cbi5mYS1zYXRlbGxpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnr9cIjtcbn1cblxuLmZhLXNhdGVsbGl0ZS1kaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+AXCI7XG59XG5cbi5mYS1zYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OHXCI7XG59XG5cbi5mYS1zY2hsaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6pcIjtcbn1cblxuLmZhLXNjaG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ViVwiO1xufVxuXG4uZmEtc2NyZXdkcml2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYpcIjtcbn1cblxuLmZhLXNjcmliZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KilwiO1xufVxuXG4uZmEtc2Nyb2xsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yOXCI7XG59XG5cbi5mYS1zZC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+CXCI7XG59XG5cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIJcIjtcbn1cblxuLmZhLXNlYXJjaC1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmohcIjtcbn1cblxuLmZhLXNlYXJjaC1sb2NhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+aiVwiO1xufVxuXG4uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CQXCI7XG59XG5cbi5mYS1zZWFyY2gtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjlwiO1xufVxuXG4uZmEtc2VhcmNoZW5naW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6tcIjtcbn1cblxuLmZhLXNlZWRsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OYXCI7XG59XG5cbi5mYS1zZWxsY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LmlwiO1xufVxuXG4uZmEtc2VsbHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iTXCI7XG59XG5cbi5mYS1zZXJ2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLNcIjtcbn1cblxuLmZhLXNlcnZpY2VzdGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PrFwiO1xufVxuXG4uZmEtc2hhcGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ifXCI7XG59XG5cbi5mYS1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BpFwiO1xufVxuXG4uZmEtc2hhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74egXCI7XG59XG5cbi5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ehXCI7XG59XG5cbi5mYS1zaGFyZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhY1cIjtcbn1cblxuLmZhLXNoZWtlbC1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iLXCI7XG59XG5cbi5mYS1zaGllbGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+tXCI7XG59XG5cbi5mYS1zaGllbGQtdmlydXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaxcIjtcbn1cblxuLmZhLXNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJpcIjtcbn1cblxuLmZhLXNoaXBwaW5nLWZhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkotcIjtcbn1cblxuLmZhLXNoaXJ0c2luYnVsazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IlFwiO1xufVxuXG4uZmEtc2hvZS1wcmludHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYtcIjtcbn1cblxuLmZhLXNob3BpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZdcIjtcbn1cblxuLmZhLXNob3BwaW5nLWJhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KkFwiO1xufVxuXG4uZmEtc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qRXCI7XG59XG5cbi5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G6XCI7XG59XG5cbi5mYS1zaG9wd2FyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WtVwiO1xufVxuXG4uZmEtc2hvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uMXCI7XG59XG5cbi5mYS1zaHV0dGxlLXZhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WtlwiO1xufVxuXG4uZmEtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TmVwiO1xufVxuXG4uZmEtc2lnbi1pbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi7ZcIjtcbn1cblxuLmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqdcIjtcbn1cblxuLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LtVwiO1xufVxuXG4uZmEtc2lnbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CSXCI7XG59XG5cbi5mYS1zaWduYXR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrdcIjtcbn1cblxuLmZhLXNpbS1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+EXCI7XG59XG5cbi5mYS1zaW1wbHlidWlsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IlVwiO1xufVxuXG4uZmEtc2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BrVwiO1xufVxuXG4uZmEtc2lzdHJpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PrlwiO1xufVxuXG4uZmEtc2l0ZW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DqFwiO1xufVxuXG4uZmEtc2l0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UklwiO1xufVxuXG4uZmEtc2thdGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fhVwiO1xufVxuXG4uZmEtc2tldGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+GXCI7XG59XG5cbi5mYS1za2lpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4lcIjtcbn1cblxuLmZhLXNraWluZy1ub3JkaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4pcIjtcbn1cblxuLmZhLXNrdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WMXCI7XG59XG5cbi5mYS1za3VsbC1jcm9zc2JvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yUXCI7XG59XG5cbi5mYS1za3lhdGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IllwiO1xufVxuXG4uZmEtc2t5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhb5cIjtcbn1cblxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aYXCI7XG59XG5cbi5mYS1zbGFjay1oYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+vXCI7XG59XG5cbi5mYS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+clVwiO1xufVxuXG4uZmEtc2xlaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+MXCI7XG59XG5cbi5mYS1zbGlkZXJzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh55cIjtcbn1cblxuLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6dcIjtcbn1cblxuLmZhLXNtaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SYXCI7XG59XG5cbi5mYS1zbWlsZS1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a4XCI7XG59XG5cbi5mYS1zbWlsZS13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OaXCI7XG59XG5cbi5mYS1zbW9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752fXCI7XG59XG5cbi5mYS1zbW9raW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KNXCI7XG59XG5cbi5mYS1zbW9raW5nLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VjVwiO1xufVxuXG4uZmEtc21zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+NXCI7XG59XG5cbi5mYS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Kq1wiO1xufVxuXG4uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqxcIjtcbn1cblxuLmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KrVwiO1xufVxuXG4uZmEtc25vd2JvYXJkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+OXCI7XG59XG5cbi5mYS1zbm93Zmxha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5xcIjtcbn1cblxuLmZhLXNub3dtYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvn5BcIjtcbn1cblxuLmZhLXNub3dwbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+SXCI7XG59XG5cbi5mYS1zb2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGuXCI7XG59XG5cbi5mYS1zb2NrczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+allwiO1xufVxuXG4uZmEtc29sYXItcGFuZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrpcIjtcbn1cblxuLmZhLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5xcIjtcbn1cblxuLmZhLXNvcnQtYWxwaGEtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FnVwiO1xufVxuXG4uZmEtc29ydC1hbHBoYS1kb3duLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+igVwiO1xufVxuXG4uZmEtc29ydC1hbHBoYS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FnlwiO1xufVxuXG4uZmEtc29ydC1hbHBoYS11cC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvooJcIjtcbn1cblxuLmZhLXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaBcIjtcbn1cblxuLmZhLXNvcnQtYW1vdW50LWRvd24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KEXCI7XG59XG5cbi5mYS1zb3J0LWFtb3VudC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FoVwiO1xufVxuXG4uZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KFXCI7XG59XG5cbi5mYS1zb3J0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg51cIjtcbn1cblxuLmZhLXNvcnQtbnVtZXJpYy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WiXCI7XG59XG5cbi5mYS1zb3J0LW51bWVyaWMtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvooZcIjtcbn1cblxuLmZhLXNvcnQtbnVtZXJpYy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fo1wiO1xufVxuXG4uZmEtc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ih1wiO1xufVxuXG4uZmEtc29ydC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DnlwiO1xufVxuXG4uZmEtc291bmRjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GvlwiO1xufVxuXG4uZmEtc291cmNldHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fk1wiO1xufVxuXG4uZmEtc3BhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a7XCI7XG59XG5cbi5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aXXCI7XG59XG5cbi5mYS1zcGVha2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+zXCI7XG59XG5cbi5mYS1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLxcIjtcbn1cblxuLmZhLXNwZWxsLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KRXCI7XG59XG5cbi5mYS1zcGlkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnJdcIjtcbn1cblxuLmZhLXNwaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJBcIjtcbn1cblxuLmZhLXNwbG90Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrxcIjtcbn1cblxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrxcIjtcbn1cblxuLmZhLXNwcmF5LWNhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WvVwiO1xufVxuXG4uZmEtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OIXCI7XG59XG5cbi5mYS1zcXVhcmUtZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RnFwiO1xufVxuXG4uZmEtc3F1YXJlLXJvb3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qYXCI7XG59XG5cbi5mYS1zcXVhcmVzcGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WvlwiO1xufVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvho1cIjtcbn1cblxuLmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WsXCI7XG59XG5cbi5mYS1zdGFja3BhdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoYJcIjtcbn1cblxuLmZhLXN0YW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a/XCI7XG59XG5cbi5mYS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CFXCI7XG59XG5cbi5mYS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+amVwiO1xufVxuXG4uZmEtc3Rhci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KJXCI7XG59XG5cbi5mYS1zdGFyLWhhbGYtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eAXCI7XG59XG5cbi5mYS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qaXCI7XG59XG5cbi5mYS1zdGFyLW9mLWxpZmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmKFcIjtcbn1cblxuLmZhLXN0YXlsaW5rZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj7VcIjtcbn1cblxuLmZhLXN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a2XCI7XG59XG5cbi5mYS1zdGVhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrdcIjtcbn1cblxuLmZhLXN0ZWFtLXN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PtlwiO1xufVxuXG4uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BiFwiO1xufVxuXG4uZmEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GRXCI7XG59XG5cbi5mYS1zdGV0aG9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DsVwiO1xufVxuXG4uZmEtc3RpY2tlci1tdWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+3XCI7XG59XG5cbi5mYS1zdGlja3ktbm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JiVwiO1xufVxuXG4uZmEtc3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BjVwiO1xufVxuXG4uZmEtc3RvcC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvio1cIjtcbn1cblxuLmZhLXN0b3B3YXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LslwiO1xufVxuXG4uZmEtc3RvcHdhdGNoLTIwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGvXCI7XG59XG5cbi5mYS1zdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VjlwiO1xufVxuXG4uZmEtc3RvcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WPXCI7XG59XG5cbi5mYS1zdG9yZS1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbBcIjtcbn1cblxuLmZhLXN0b3JlLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGxXCI7XG59XG5cbi5mYS1zdHJhdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkKhcIjtcbn1cblxuLmZhLXN0cmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VkFwiO1xufVxuXG4uZmEtc3RyZWV0LXZpZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJ1cIjtcbn1cblxuLmZhLXN0cmlrZXRocm91Z2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4xcIjtcbn1cblxuLmZhLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QqVwiO1xufVxuXG4uZmEtc3RyaXBlLXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkKpcIjtcbn1cblxuLmZhLXN0cm9vcHdhZmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WRXCI7XG59XG5cbi5mYS1zdHVkaW92aW5hcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj7hcIjtcbn1cblxuLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74akXCI7XG59XG5cbi5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqNcIjtcbn1cblxuLmZhLXN1YnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ErFwiO1xufVxuXG4uZmEtc3Vid2F5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i5XCI7XG59XG5cbi5mYS1zdWl0Y2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DslwiO1xufVxuXG4uZmEtc3VpdGNhc2Utcm9sbGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XgVwiO1xufVxuXG4uZmEtc3VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aFXCI7XG59XG5cbi5mYS1zdXBlcnBvd2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LnVwiO1xufVxuXG4uZmEtc3VwZXJzY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKtcIjtcbn1cblxuLmZhLXN1cHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PuVwiO1xufVxuXG4uZmEtc3VycHJpc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4JcIjtcbn1cblxuLmZhLXN1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn5ZcIjtcbn1cblxuLmZhLXN3YXRjaGJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4NcIjtcbn1cblxuLmZhLXN3aWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76OhXCI7XG59XG5cbi5mYS1zd2ltbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eEXCI7XG59XG5cbi5mYS1zd2ltbWluZy1wb29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eFXCI7XG59XG5cbi5mYS1zeW1mb255OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C9XCI7XG59XG5cbi5mYS1zeW5hZ29ndWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmptcIjtcbn1cblxuLmZhLXN5bmM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKFcIjtcbn1cblxuLmZhLXN5bmMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uxXCI7XG59XG5cbi5mYS1zeXJpbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KOXCI7XG59XG5cbi5mYS10YWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DjlwiO1xufVxuXG4uZmEtdGFibGUtdGVubmlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GdXCI7XG59XG5cbi5mYS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIpcIjtcbn1cblxuLmZhLXRhYmxldC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj7pcIjtcbn1cblxuLmZhLXRhYmxldHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkpBcIjtcbn1cblxuLmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+9XCI7XG59XG5cbi5mYS10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKtcIjtcbn1cblxuLmZhLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKxcIjtcbn1cblxuLmZhLXRhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5tcIjtcbn1cblxuLmZhLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KuXCI7XG59XG5cbi5mYS10YXhpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a6XCI7XG59XG5cbi5mYS10ZWFtc3BlYWs6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7lcIjtcbn1cblxuLmZhLXRlZXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iuXCI7XG59XG5cbi5mYS10ZWV0aC1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ivXCI7XG59XG5cbi5mYS10ZWxlZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LhlwiO1xufVxuXG4uZmEtdGVsZWdyYW0tcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj75cIjtcbn1cblxuLmZhLXRlbXBlcmF0dXJlLWhpZ2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnalcIjtcbn1cblxuLmZhLXRlbXBlcmF0dXJlLWxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dq1wiO1xufVxuXG4uZmEtdGVuY2VudC13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HlVwiO1xufVxuXG4uZmEtdGVuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn5dcIjtcbn1cblxuLmZhLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SgXCI7XG59XG5cbi5mYS10ZXh0LWhlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AtFwiO1xufVxuXG4uZmEtdGV4dC13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AtVwiO1xufVxuXG4uZmEtdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIpcIjtcbn1cblxuLmZhLXRoLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CJXCI7XG59XG5cbi5mYS10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CLXCI7XG59XG5cbi5mYS10aGUtcmVkLXlldGk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmp1cIjtcbn1cblxuLmZhLXRoZWF0ZXItbWFza3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmLBcIjtcbn1cblxuLmZhLXRoZW1lY286YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4ZcIjtcbn1cblxuLmZhLXRoZW1laXNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KslwiO1xufVxuXG4uZmEtdGhlcm1vbWV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkpFcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uLXCI7XG59XG5cbi5mYS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uHXCI7XG59XG5cbi5mYS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uJXCI7XG59XG5cbi5mYS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uKXCI7XG59XG5cbi5mYS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LiFwiO1xufVxuXG4uZmEtdGhpbmstcGVha3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnLFcIjtcbn1cblxuLmZhLXRodW1icy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WlXCI7XG59XG5cbi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaRcIjtcbn1cblxuLmZhLXRodW1idGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CjVwiO1xufVxuXG4uZmEtdGlja2V0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pv1wiO1xufVxuXG4uZmEtdGlrdG9rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG7XCI7XG59XG5cbi5mYS10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjVwiO1xufVxuXG4uZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GXXCI7XG59XG5cbi5mYS10aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GDXCI7XG59XG5cbi5mYS10aW50LXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eHXCI7XG59XG5cbi5mYS10aXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XiFwiO1xufVxuXG4uZmEtdG9nZ2xlLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IhFwiO1xufVxuXG4uZmEtdG9nZ2xlLW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iFXCI7XG59XG5cbi5mYS10b2lsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn5hcIjtcbn1cblxuLmZhLXRvaWxldC1wYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cnlwiO1xufVxuXG4uZmEtdG9pbGV0LXBhcGVyLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGyXCI7XG59XG5cbi5mYS10b29sYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WSXCI7XG59XG5cbi5mYS10b29sczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fmVwiO1xufVxuXG4uZmEtdG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4lcIjtcbn1cblxuLmZhLXRvcmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qgXCI7XG59XG5cbi5mYS10b3JpaS1nYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qhXCI7XG59XG5cbi5mYS10cmFjdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yiXCI7XG59XG5cbi5mYS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75STXCI7XG59XG5cbi5mYS10cmFkZW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZxcIjtcbn1cblxuLmZhLXRyYWZmaWMtbGlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmLdcIjtcbn1cblxuLmZhLXRyYWlsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLugYFcIjtcbn1cblxuLmZhLXRyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i4XCI7XG59XG5cbi5mYS10cmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+aXCI7XG59XG5cbi5mYS10cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IpFwiO1xufVxuXG4uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ilXCI7XG59XG5cbi5mYS10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HuFwiO1xufVxuXG4uZmEtdHJhc2gtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74utXCI7XG59XG5cbi5mYS10cmFzaC1yZXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CpXCI7XG59XG5cbi5mYS10cmFzaC1yZXN0b3JlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gqlwiO1xufVxuXG4uZmEtdHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gu1wiO1xufVxuXG4uZmEtdHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aBXCI7XG59XG5cbi5mYS10cmlwYWR2aXNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JolwiO1xufVxuXG4uZmEtdHJvcGh5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KRXCI7XG59XG5cbi5mYS10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DkVwiO1xufVxuXG4uZmEtdHJ1Y2stbG9hZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TnlwiO1xufVxuXG4uZmEtdHJ1Y2stbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Yu1wiO1xufVxuXG4uZmEtdHJ1Y2stbW92aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OfXCI7XG59XG5cbi5mYS10cnVjay1waWNrdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmLxcIjtcbn1cblxuLmZhLXRzaGlydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vk1wiO1xufVxuXG4uZmEtdHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ekXCI7XG59XG5cbi5mYS10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbNcIjtcbn1cblxuLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbRcIjtcbn1cblxuLmZhLXR2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74msXCI7XG59XG5cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6hcIjtcbn1cblxuLmZhLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgplcIjtcbn1cblxuLmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KBXCI7XG59XG5cbi5mYS10eXBvMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Qq1wiO1xufVxuXG4uZmEtdWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QglwiO1xufVxuXG4uZmEtdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+fXCI7XG59XG5cbi5mYS11aWtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Qg1wiO1xufVxuXG4uZmEtdW1icmFjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+jqFwiO1xufVxuXG4uZmEtdW1icmVsbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6lcIjtcbn1cblxuLmZhLXVtYnJlbGxhLWJlYWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eKXCI7XG59XG5cbi5mYS11bmNoYXJ0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLugoRcIjtcbn1cblxuLmZhLXVuZGVybGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DjVwiO1xufVxuXG4uZmEtdW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DolwiO1xufVxuXG4uZmEtdW5kby1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi6pcIjtcbn1cblxuLmZhLXVuaXJlZ2lzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CEXCI7XG59XG5cbi5mYS11bml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BiVwiO1xufVxuXG4uZmEtdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KmlwiO1xufVxuXG4uZmEtdW5pdmVyc2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GnFwiO1xufVxuXG4uZmEtdW5saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SnXCI7XG59XG5cbi5mYS11bmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpxcIjtcbn1cblxuLmZhLXVubG9jay1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhL5cIjtcbn1cblxuLmZhLXVuc3BsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG8XCI7XG59XG5cbi5mYS11bnRhcHBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CFXCI7XG59XG5cbi5mYS11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpNcIjtcbn1cblxuLmZhLXVwczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+foFwiO1xufVxuXG4uZmEtdXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qHXCI7XG59XG5cbi5mYS11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CHXCI7XG59XG5cbi5mYS11c2VyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QhlwiO1xufVxuXG4uZmEtdXNlci1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7pcIjtcbn1cblxuLmZhLXVzZXItYXN0cm9uYXV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O7XCI7XG59XG5cbi5mYS11c2VyLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O8XCI7XG59XG5cbi5mYS11c2VyLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KvVwiO1xufVxuXG4uZmEtdXNlci1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TvVwiO1xufVxuXG4uZmEtdXNlci1jb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk75cIjtcbn1cblxuLmZhLXVzZXItZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tv1wiO1xufVxuXG4uZmEtdXNlci1mcmllbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SAXCI7XG59XG5cbi5mYS11c2VyLWdyYWR1YXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SBXCI7XG59XG5cbi5mYS11c2VyLWluanVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnKhcIjtcbn1cblxuLmZhLXVzZXItbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UglwiO1xufVxuXG4uZmEtdXNlci1tZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DsFwiO1xufVxuXG4uZmEtdXNlci1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ug1wiO1xufVxuXG4uZmEtdXNlci1uaW5qYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UhFwiO1xufVxuXG4uZmEtdXNlci1udXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gr1wiO1xufVxuXG4uZmEtdXNlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i0XCI7XG59XG5cbi5mYS11c2VyLXNlY3JldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Im1wiO1xufVxuXG4uZmEtdXNlci1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIVcIjtcbn1cblxuLmZhLXVzZXItc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIZcIjtcbn1cblxuLmZhLXVzZXItdGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SHXCI7XG59XG5cbi5mYS11c2VyLXRpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UiFwiO1xufVxuXG4uZmEtdXNlci10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ItVwiO1xufVxuXG4uZmEtdXNlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4BcIjtcbn1cblxuLmZhLXVzZXJzLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UiVwiO1xufVxuXG4uZmEtdXNlcnMtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbNcIjtcbn1cblxuLmZhLXVzcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn6FcIjtcbn1cblxuLmZhLXVzc3VubmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CHXCI7XG59XG5cbi5mYS11dGVuc2lsLXNwb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ulXCI7XG59XG5cbi5mYS11dGVuc2lsczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Lp1wiO1xufVxuXG4uZmEtdmFhZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CIXCI7XG59XG5cbi5mYS12ZWN0b3Itc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eLXCI7XG59XG5cbi5mYS12ZW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IoVwiO1xufVxuXG4uZmEtdmVudXMtZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74imXCI7XG59XG5cbi5mYS12ZW51cy1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ioXCI7XG59XG5cbi5mYS12ZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKFXCI7XG59XG5cbi5mYS12ZXN0LXBhdGNoZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugoZcIjtcbn1cblxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLviLdcIjtcbn1cblxuLmZhLXZpYWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KqVwiO1xufVxuXG4uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KqlwiO1xufVxuXG4uZmEtdmlhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SklwiO1xufVxuXG4uZmEtdmlhbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkpNcIjtcbn1cblxuLmZhLXZpYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CJXCI7XG59XG5cbi5mYS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AvVwiO1xufVxuXG4uZmEtdmlkZW8tc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk6JcIjtcbn1cblxuLmZhLXZpaGFyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ap1wiO1xufVxuXG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIpcIjtcbn1cblxuLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GlFwiO1xufVxuXG4uZmEtdmltZW8tdjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JvVwiO1xufVxuXG4uZmEtdmluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HilwiO1xufVxuXG4uZmEtdmlydXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbRcIjtcbn1cblxuLmZhLXZpcnVzLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG1XCI7XG59XG5cbi5mYS12aXJ1c2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG2XCI7XG59XG5cbi5mYS12azpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GiVwiO1xufVxuXG4uZmEtdm52OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CLXCI7XG59XG5cbi5mYS12b2ljZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvopdcIjtcbn1cblxuLmZhLXZvbGxleWJhbGwtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Rn1wiO1xufVxuXG4uZmEtdm9sdW1lLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKdcIjtcbn1cblxuLmZhLXZvbHVtZS1tdXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qpXCI7XG59XG5cbi5mYS12b2x1bWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CmXCI7XG59XG5cbi5mYS12b2x1bWUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKhcIjtcbn1cblxuLmZhLXZvdGUteWVhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752yXCI7XG59XG5cbi5mYS12ci1jYXJkYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnKlcIjtcbn1cblxuLmZhLXZ1ZWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CfXCI7XG59XG5cbi5mYS13YWxraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WUXCI7XG59XG5cbi5mYS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZVcIjtcbn1cblxuLmZhLXdhcmVob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SlFwiO1xufVxuXG4uZmEtd2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Ch1wiO1xufVxuXG4uZmEtd2F0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnbNcIjtcbn1cblxuLmZhLXdhdmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C+XCI7XG59XG5cbi5mYS13YXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C/XCI7XG59XG5cbi5mYS13ZWVibHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4xcIjtcbn1cblxuLmZhLXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aKXCI7XG59XG5cbi5mYS13ZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkpZcIjtcbn1cblxuLmZhLXdlaWdodC1oYW5naW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eNXCI7XG59XG5cbi5mYS13ZWl4aW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5dcIjtcbn1cblxuLmZhLXdoYXRzYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iyXCI7XG59XG5cbi5mYS13aGF0c2FwcC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIxcIjtcbn1cblxuLmZhLXdoZWVsY2hhaXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpNcIjtcbn1cblxuLmZhLXdobWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CNXCI7XG59XG5cbi5mYS13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74erXCI7XG59XG5cbi5mYS13aWtpcGVkaWEtdzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JplwiO1xufVxuXG4uZmEtd2luZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+crlwiO1xufVxuXG4uZmEtd2luZG93LWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CQXCI7XG59XG5cbi5mYS13aW5kb3ctbWF4aW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5BcIjtcbn1cblxuLmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LkVwiO1xufVxuXG4uZmEtd2luZG93LXJlc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5JcIjtcbn1cblxuLmZhLXdpbmRvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbpcIjtcbn1cblxuLmZhLXdpbmUtYm90dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yvXCI7XG59XG5cbi5mYS13aW5lLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OjXCI7XG59XG5cbi5mYS13aW5lLWdsYXNzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XjlwiO1xufVxuXG4uZmEtd2l4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ePXCI7XG59XG5cbi5mYS13aXphcmRzLW9mLXRoZS1jb2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+csFwiO1xufVxuXG4uZmEtd29kdTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6CiFwiO1xufVxuXG4uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UlFwiO1xufVxuXG4uZmEtd29uLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZlcIjtcbn1cblxuLmZhLXdvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GmlwiO1xufVxuXG4uZmEtd29yZHByZXNzLXNpbXBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QkVwiO1xufVxuXG4uZmEtd3BiZWdpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Kl1wiO1xufVxuXG4uZmEtd3BleHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LnlwiO1xufVxuXG4uZmEtd3Bmb3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KmFwiO1xufVxuXG4uZmEtd3ByZXNzcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PpFwiO1xufVxuXG4uZmEtd3JlbmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KtXCI7XG59XG5cbi5mYS14LXJheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Sl1wiO1xufVxuXG4uZmEteGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QklwiO1xufVxuXG4uZmEteGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FqFwiO1xufVxuXG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhalcIjtcbn1cblxuLmZhLXktY29tYmluYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Iu1wiO1xufVxuXG4uZmEteWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCLvhp5cIjtcbn1cblxuLmZhLXlhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hgFwiO1xufVxuXG4uZmEteWFuZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CTXCI7XG59XG5cbi5mYS15YW5kZXgtaW50ZXJuYXRpb25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QlFwiO1xufVxuXG4uZmEteWFybjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fo1wiO1xufVxuXG4uZmEteWVscDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HqVwiO1xufVxuXG4uZmEteWVuLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZdcIjtcbn1cblxuLmZhLXlpbi15YW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qtXCI7XG59XG5cbi5mYS15b2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KsVwiO1xufVxuXG4uZmEteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fp1wiO1xufVxuXG4uZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLFcIjtcbn1cblxuLmZhLXpoaWh1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75i/XCI7XG59XG5cbi5zci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuc3ZnI2ZvbnRhd2Vzb21lXCIpIGZvcm1hdChcInN2Z1wiKTtcbn1cbi5mYXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lXCIpIGZvcm1hdChcInN2Z1wiKTtcbn1cbi5mYSxcbi5mYXMge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgQnJhbmRzXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLmZhYiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEJyYW5kc1wiO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiFcbiAqIENvcmVVSSAtIEhUTUwsIENTUywgYW5kIEphdmFTY3JpcHQgVUkgQ29tcG9uZW50cyBMaWJyYXJ5XG4gKiBAdmVyc2lvbiB2My4zLjBcbiAqIEBsaW5rIGh0dHBzOi8vY29yZXVpLmlvL1xuICogQ29weXJpZ2h0IChjKSAyMDIwIGNyZWF0aXZlTGFicyDFgXVrYXN6IEhvbGVjemVrXG4gKiBMaWNlbnNlIE1JVCAgKGh0dHBzOi8vY29yZXVpLmlvL2xpY2Vuc2UvKVxuICovXG46cm9vdCB7XG4gIC0tcHJpbWFyeTogIzMyMWZkYjtcbiAgLS1zZWNvbmRhcnk6ICNjZWQyZDg7XG4gIC0tc3VjY2VzczogIzJlYjg1YztcbiAgLS1pbmZvOiAjMzlmO1xuICAtLXdhcm5pbmc6ICNmOWIxMTU7XG4gIC0tZGFuZ2VyOiAjZTU1MzUzO1xuICAtLWxpZ2h0OiAjZWJlZGVmO1xuICAtLWRhcms6ICM2MzZmODM7XG4gIC0tYnJlYWtwb2ludC14czogMDtcbiAgLS1icmVha3BvaW50LXNtOiA1NzZweDtcbiAgLS1icmVha3BvaW50LW1kOiA3NjhweDtcbiAgLS1icmVha3BvaW50LWxnOiA5OTJweDtcbiAgLS1icmVha3BvaW50LXhsOiAxMjAwcHg7XG4gIC0tYnJlYWtwb2ludC14eGw6IDE0MDBweDtcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xufVxuXG4uYy1hcHAge1xuICAtLXByaW1hcnk6ICMzMjFmZGI7XG4gIC0tc2Vjb25kYXJ5OiAjY2VkMmQ4O1xuICAtLXN1Y2Nlc3M6ICMyZWI4NWM7XG4gIC0taW5mbzogIzM5ZjtcbiAgLS13YXJuaW5nOiAjZjliMTE1O1xuICAtLWRhbmdlcjogI2U1NTM1MztcbiAgLS1saWdodDogI2ViZWRlZjtcbiAgLS1kYXJrOiAjNjM2ZjgzO1xuICBjb2xvcjogIzNjNGI2NDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWRlZjtcbiAgLS1jb2xvcjogIzNjNGI2NDtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMjEsIDApO1xufVxuXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzNjNGI2NDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWRlZjtcbn1cblxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSBkZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSBkZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzMjFmZGI7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogIzMyMWZkYjtcbiAgfVxufVxuXG5hOm5vdChbaHJlZl0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIGE6bm90KFtocmVmXSk6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxucHJlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbnN2ZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgY29sb3I6ICM3NjgxOTI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbltyb2xlPWJ1dHRvbl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5idXR0b246bm90KDpkaXNhYmxlZCksXG5bdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9cmVzZXRdOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9c3VibWl0XTpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dLFxuaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wcyB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgdG91Y2gtYWN0aW9uOiBhdXRvO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbn1cblxuLnBzX19yYWlsLXgge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxNXB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xufVxuXG4ucHNfX3JhaWwteSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDE1cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIG9wYWNpdHkgMC4ycyBsaW5lYXI7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5wc19fcmFpbC15IHtcbiAgcmlnaHQ6IDA7XG59XG4qW2Rpcj1ydGxdIC5wc19fcmFpbC15IHtcbiAgbGVmdDogMDtcbn1cblxuLnBzLS1hY3RpdmUteCA+IC5wc19fcmFpbC14LFxuLnBzLS1hY3RpdmUteSA+IC5wc19fcmFpbC15IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucHM6aG92ZXIgPiAucHNfX3JhaWwteCxcbi5wczpob3ZlciA+IC5wc19fcmFpbC15LFxuLnBzLS1mb2N1cyA+IC5wc19fcmFpbC14LFxuLnBzLS1mb2N1cyA+IC5wc19fcmFpbC15LFxuLnBzLS1zY3JvbGxpbmcteCA+IC5wc19fcmFpbC14LFxuLnBzLS1zY3JvbGxpbmcteSA+IC5wc19fcmFpbC15IHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4ucHNfX3JhaWwteDpob3Zlcixcbi5wc19fcmFpbC15OmhvdmVyLFxuLnBzX19yYWlsLXg6Zm9jdXMsXG4ucHNfX3JhaWwteTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLypcbiAqIFNjcm9sbGJhciB0aHVtYiBzdHlsZXNcbiAqL1xuLnBzX190aHVtYi14IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDJweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5wc19fdGh1bWIteSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucHNfX3RodW1iLXkge1xuICByaWdodDogMnB4O1xufVxuKltkaXI9cnRsXSAucHNfX3RodW1iLXkge1xuICBsZWZ0OiAycHg7XG59XG5cbi5wc19fcmFpbC14OmhvdmVyID4gLnBzX190aHVtYi14LFxuLnBzX19yYWlsLXg6Zm9jdXMgPiAucHNfX3RodW1iLXgge1xuICBoZWlnaHQ6IDExcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG59XG5cbi5wc19fcmFpbC15OmhvdmVyID4gLnBzX190aHVtYi15LFxuLnBzX19yYWlsLXk6Zm9jdXMgPiAucHNfX3RodW1iLXkge1xuICB3aWR0aDogMTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbn1cblxuQHN1cHBvcnRzICgtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmUpIHtcbiAgLnBzIHtcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAucHMge1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi50aXBweS1ib3hbZGF0YS1hbmltYXRpb249ZmFkZV1bZGF0YS1zdGF0ZT1oaWRkZW5dIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1jcG9wb3Zlcl0ge1xuICB6LWluZGV4OiAxMDYwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAyNzZweDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC43NjU2MjVyZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjIpO1xufVxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1jcG9wb3Zlcl0gPiAudGlwcHktY29udGVudCB7XG4gIG1heC13aWR0aDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGluaXRpYWw7XG4gIHRleHQtYWxpZ246IGluaXRpYWw7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gIGJvcmRlci1yYWRpdXM6IGluaXRpYWw7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXSA+IC50aXBweS1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi50aXBweS1ib3hbZGF0YS10aGVtZX49Y3BvcG92ZXJdID4gLnRpcHB5LWFycm93OjpiZWZvcmUsIC50aXBweS1ib3hbZGF0YS10aGVtZX49Y3BvcG92ZXJdID4gLnRpcHB5LWFycm93OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49dG9wXSA+IC50aXBweS1hcnJvdywgLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1jcG9wb3Zlcl1bZGF0YS1wbGFjZW1lbnRePWJvdHRvbV0gPiAudGlwcHktYXJyb3cge1xuICB3aWR0aDogMS42cmVtO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZzogMCAwLjNyZW07XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49dG9wXSA+IC50aXBweS1hcnJvdzo6YmVmb3JlLCAudGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49Ym90dG9tXSA+IC50aXBweS1hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogYXV0bztcbn1cbi50aXBweS1ib3hbZGF0YS10aGVtZX49Y3BvcG92ZXJdW2RhdGEtcGxhY2VtZW50Xj1yaWdodF0gPiAudGlwcHktYXJyb3csIC50aXBweS1ib3hbZGF0YS10aGVtZX49Y3BvcG92ZXJdW2RhdGEtcGxhY2VtZW50Xj1sZWZ0XSA+IC50aXBweS1hcnJvdyB7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMS42cmVtO1xuICBwYWRkaW5nOiAwLjNyZW0gMDtcbiAgbWFyZ2luOiAwO1xufVxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1jcG9wb3Zlcl1bZGF0YS1wbGFjZW1lbnRePXRvcF0gPiAudGlwcHktYXJyb3cge1xuICBib3R0b206IGNhbGMoLTAuNXJlbSAtIDFweCk7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49dG9wXSA+IC50aXBweS1hcnJvdzo6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4yNSk7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49dG9wXSA+IC50aXBweS1hcnJvdzo6YWZ0ZXIge1xuICBib3R0b206IDFweDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49Ym90dG9tXSA+IC50aXBweS1hcnJvdyB7XG4gIHRvcDogY2FsYygtMC41cmVtIC0gMXB4KTtcbn1cbi50aXBweS1ib3hbZGF0YS10aGVtZX49Y3BvcG92ZXJdW2RhdGEtcGxhY2VtZW50Xj1ib3R0b21dID4gLnRpcHB5LWFycm93OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwLjVyZW0gMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4yNSk7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49Ym90dG9tXSA+IC50aXBweS1hcnJvdzo6YWZ0ZXIge1xuICB0b3A6IDFweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAuNXJlbSAwLjVyZW0gMC41cmVtO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1jcG9wb3Zlcl1bZGF0YS1wbGFjZW1lbnRePWxlZnRdID4gLnRpcHB5LWFycm93IHtcbiAgcmlnaHQ6IGNhbGMoLTAuNXJlbSAtIDFweCk7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49bGVmdF0gPiAudGlwcHktYXJyb3c6OmJlZm9yZSB7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwIDAuNXJlbSAwLjVyZW07XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjI1KTtcbn1cbi50aXBweS1ib3hbZGF0YS10aGVtZX49Y3BvcG92ZXJdW2RhdGEtcGxhY2VtZW50Xj1sZWZ0XSA+IC50aXBweS1hcnJvdzo6YWZ0ZXIge1xuICByaWdodDogMXB4O1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwIDAuNXJlbSAwLjVyZW07XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xufVxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1jcG9wb3Zlcl1bZGF0YS1wbGFjZW1lbnRePXJpZ2h0XSA+IC50aXBweS1hcnJvdyB7XG4gIGxlZnQ6IGNhbGMoLTAuNXJlbSAtIDFweCk7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49cmlnaHRdID4gLnRpcHB5LWFycm93OjpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMC41cmVtIDA7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4yNSk7XG59XG4udGlwcHktYm94W2RhdGEtdGhlbWV+PWNwb3BvdmVyXVtkYXRhLXBsYWNlbWVudF49cmlnaHRdID4gLnRpcHB5LWFycm93OjphZnRlciB7XG4gIGxlZnQ6IDFweDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG59XG5cbi50aXBweS1pT1Mge1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuW2RhdGEtdGlwcHktcm9vdF0ge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxMHB4KTtcbn1cblxuLnRpcHB5LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC43NjU2MjVyZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3V0bGluZTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCB2aXNpYmlsaXR5LCBvcGFjaXR5O1xufVxuLnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49dG9wXSA+IC50aXBweS1hcnJvdyB7XG4gIGJvdHRvbTogMDtcbn1cbi50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePXRvcF0gPiAudGlwcHktYXJyb3c6OmJlZm9yZSB7XG4gIGJvdHRvbTogLTAuNHJlbTtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMC40cmVtIDA7XG4gIGJvcmRlci10b3AtY29sb3I6IGluaXRpYWw7XG59XG4udGlwcHktYm94W2RhdGEtcGxhY2VtZW50Xj1ib3R0b21dID4gLnRpcHB5LWFycm93IHtcbiAgdG9wOiAwO1xufVxuLnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49Ym90dG9tXSA+IC50aXBweS1hcnJvdzo6YmVmb3JlIHtcbiAgdG9wOiAtMC40cmVtO1xuICBsZWZ0OiAwO1xuICBib3JkZXItd2lkdGg6IDAgMC40cmVtIDAuNHJlbTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5pdGlhbDtcbn1cbi50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePWxlZnRdID4gLnRpcHB5LWFycm93IHtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAwLjRyZW07XG4gIGhlaWdodDogMC44cmVtO1xufVxuLnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49bGVmdF0gPiAudGlwcHktYXJyb3c6OmJlZm9yZSB7XG4gIHJpZ2h0OiAtMC40cmVtO1xuICBib3JkZXItd2lkdGg6IDAuNHJlbSAwIDAuNHJlbSAwLjRyZW07XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiBpbml0aWFsO1xufVxuLnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49cmlnaHRdID4gLnRpcHB5LWFycm93IHtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDAuNHJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG59XG4udGlwcHktYm94W2RhdGEtcGxhY2VtZW50Xj1yaWdodF0gPiAudGlwcHktYXJyb3c6OmJlZm9yZSB7XG4gIGxlZnQ6IC0wLjRyZW07XG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwLjRyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbml0aWFsO1xufVxuLnRpcHB5LWJveFtkYXRhLWluZXJ0aWFdW2RhdGEtc3RhdGU9dmlzaWJsZV0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTQsIDEuNSwgMC4zOCwgMS4xMSk7XG59XG5cbi50aXBweS1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjhyZW07XG4gIGhlaWdodDogMC40cmVtO1xuICBjb2xvcjogIzAwMDAxNTtcbn1cbi50aXBweS1hcnJvdzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLnRpcHB5LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAxNTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4uYWxlcnQtaGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogMy44MTI1cmVtO1xufVxuKltkaXI9cnRsXSAuYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLWxlZnQ6IDMuODEyNXJlbTtcbn1cbi5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZSB7XG4gIHJpZ2h0OiAwO1xufVxuKltkaXI9cnRsXSAuYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcbiAgbGVmdDogMDtcbn1cblxuLmFsZXJ0LXByaW1hcnkge1xuICBjb2xvcjogIzFhMTA3YztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDJmODtcbiAgYm9yZGVyLWNvbG9yOiAjYzZjMGY1O1xufVxuLmFsZXJ0LXByaW1hcnkgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYjJhYWYyO1xufVxuLmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzExMGE0Zjtcbn1cblxuLmFsZXJ0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjNmI2ZDdhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNmY3O1xuICBib3JkZXItY29sb3I6ICNmMWYyZjQ7XG59XG4uYWxlcnQtc2Vjb25kYXJ5IGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2UzZTVlOTtcbn1cbi5hbGVydC1zZWNvbmRhcnkgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzUzNTU1Zjtcbn1cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzE4NjAzYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZjFkZTtcbiAgYm9yZGVyLWNvbG9yOiAjYzRlYmQxO1xufVxuLmFsZXJ0LXN1Y2Nlc3MgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYjFlNWMyO1xufVxuLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzBlMzcyMTtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBjb2xvcjogIzFiNTA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZWJmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYzZlMmZmO1xufVxuLmFsZXJ0LWluZm8gaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYWRkNWZmO1xufVxuLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzEzMzg2NDtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICBjb2xvcjogIzgxNWMxNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZWZkMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmRlOWJkO1xufVxuLmFsZXJ0LXdhcm5pbmcgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmNlMWE0O1xufVxuLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzU1M2QwZTtcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gIGNvbG9yOiAjNzcyYjM1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFkZGRkO1xuICBib3JkZXItY29sb3I6ICNmOGNmY2Y7XG59XG4uYWxlcnQtZGFuZ2VyIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Y1YjliOTtcbn1cbi5hbGVydC1kYW5nZXIgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzUyMWQyNDtcbn1cblxuLmFsZXJ0LWxpZ2h0IHtcbiAgY29sb3I6ICM3YTdiODY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmM7XG4gIGJvcmRlci1jb2xvcjogI2Y5ZmFmYjtcbn1cbi5hbGVydC1saWdodCBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNlYWVkZjE7XG59XG4uYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzYyNjI2Yjtcbn1cblxuLmFsZXJ0LWRhcmsge1xuICBjb2xvcjogIzMzM2E0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTJlNjtcbiAgYm9yZGVyLWNvbG9yOiAjZDNkN2RjO1xufVxuLmFsZXJ0LWRhcmsgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjYzVjYWQxO1xufVxuLmFsZXJ0LWRhcmsgLmFsZXJ0LWxpbmsge1xuICBjb2xvcjogIzFmMjMyZjtcbn1cblxuLmMtYXZhdGFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwZW07XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGZvbnQtc2l6ZTogMTQuNHB4O1xufVxuLmMtYXZhdGFyIC5jLWF2YXRhci1zdGF0dXMge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuXG4uYy1hdmF0YXItaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogNTBlbTtcbn1cblxuLmMtYXZhdGFyLXN0YXR1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNTBlbTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtYXZhdGFyLXN0YXR1cyB7XG4gIHJpZ2h0OiAwO1xufVxuKltkaXI9cnRsXSAuYy1hdmF0YXItc3RhdHVzIHtcbiAgbGVmdDogMDtcbn1cblxuLmMtYXZhdGFyLXNtIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZm9udC1zaXplOiA5LjZweDtcbn1cbi5jLWF2YXRhci1zbSAuYy1hdmF0YXItc3RhdHVzIHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG59XG5cbi5jLWF2YXRhci1sZyB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogMTkuMnB4O1xufVxuLmMtYXZhdGFyLWxnIC5jLWF2YXRhci1zdGF0dXMge1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xufVxuXG4uYy1hdmF0YXIteGwge1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2NHB4O1xuICBmb250LXNpemU6IDI1LjZweDtcbn1cbi5jLWF2YXRhci14bCAuYy1hdmF0YXItc3RhdHVzIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cblxuLmMtYXZhdGFycy1zdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uYy1hdmF0YXJzLXN0YWNrIC5jLWF2YXRhciB7XG4gIG1hcmdpbi1yaWdodDogLTE4cHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbi1yaWdodCAwLjNzO1xufVxuLmMtYXZhdGFycy1zdGFjayAuYy1hdmF0YXI6aG92ZXIge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYy1hdmF0YXJzLXN0YWNrIC5jLWF2YXRhci1zbSB7XG4gIG1hcmdpbi1yaWdodDogLTEycHg7XG59XG4uYy1hdmF0YXJzLXN0YWNrIC5jLWF2YXRhci1sZyB7XG4gIG1hcmdpbi1yaWdodDogLTI0cHg7XG59XG4uYy1hdmF0YXJzLXN0YWNrIC5jLWF2YXRhci14bCB7XG4gIG1hcmdpbi1yaWdodDogLTMycHg7XG59XG5cbi5jLWF2YXRhci1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmMtYXZhdGFyLXNxdWFyZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4yNWVtIDAuNGVtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmJhZGdlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5hLmJhZGdlOmhvdmVyLCBhLmJhZGdlOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYmFkZ2U6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHJlbTtcbn1cblxuLmJhZGdlLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbn1cbmEuYmFkZ2UtcHJpbWFyeTpob3ZlciwgYS5iYWRnZS1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODE5YWU7XG59XG5hLmJhZGdlLXByaW1hcnk6Zm9jdXMsIGEuYmFkZ2UtcHJpbWFyeS5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUwLCAzMSwgMjE5LCAwLjUpO1xufVxuXG4uYmFkZ2Utc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZWQyZDg7XG59XG5hLmJhZGdlLXNlY29uZGFyeTpob3ZlciwgYS5iYWRnZS1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyYjhjMTtcbn1cbmEuYmFkZ2Utc2Vjb25kYXJ5OmZvY3VzLCBhLmJhZGdlLXNlY29uZGFyeS5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIwNiwgMjEwLCAyMTYsIDAuNSk7XG59XG5cbi5iYWRnZS1zdWNjZXNzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWI4NWM7XG59XG5hLmJhZGdlLXN1Y2Nlc3M6aG92ZXIsIGEuYmFkZ2Utc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ4ZjQ4O1xufVxuYS5iYWRnZS1zdWNjZXNzOmZvY3VzLCBhLmJhZGdlLXN1Y2Nlc3MuZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NiwgMTg0LCA5MiwgMC41KTtcbn1cblxuLmJhZGdlLWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5Zjtcbn1cbmEuYmFkZ2UtaW5mbzpob3ZlciwgYS5iYWRnZS1pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwZmY7XG59XG5hLmJhZGdlLWluZm86Zm9jdXMsIGEuYmFkZ2UtaW5mby5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUxLCAxNTMsIDI1NSwgMC41KTtcbn1cblxuLmJhZGdlLXdhcm5pbmcge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YjExNTtcbn1cbmEuYmFkZ2Utd2FybmluZzpob3ZlciwgYS5iYWRnZS13YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjk0MDU7XG59XG5hLmJhZGdlLXdhcm5pbmc6Zm9jdXMsIGEuYmFkZ2Utd2FybmluZy5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OSwgMTc3LCAyMSwgMC41KTtcbn1cblxuLmJhZGdlLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU1MzUzO1xufVxuYS5iYWRnZS1kYW5nZXI6aG92ZXIsIGEuYmFkZ2UtZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZTI3Mjc7XG59XG5hLmJhZGdlLWRhbmdlcjpmb2N1cywgYS5iYWRnZS1kYW5nZXIuZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjksIDgzLCA4MywgMC41KTtcbn1cblxuLmJhZGdlLWxpZ2h0IHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG59XG5hLmJhZGdlLWxpZ2h0OmhvdmVyLCBhLmJhZGdlLWxpZ2h0OmZvY3VzIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmQ0ZDg7XG59XG5hLmJhZGdlLWxpZ2h0OmZvY3VzLCBhLmJhZGdlLWxpZ2h0LmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjM1LCAyMzcsIDIzOSwgMC41KTtcbn1cblxuLmJhZGdlLWRhcmsge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzNmY4Mztcbn1cbmEuYmFkZ2UtZGFyazpob3ZlciwgYS5iYWRnZS1kYXJrOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZDU2NjY7XG59XG5hLmJhZGdlLWRhcms6Zm9jdXMsIGEuYmFkZ2UtZGFyay5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDk5LCAxMTEsIDEzMSwgMC41KTtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYnJlYWRjcnVtYi1tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5icmVhZGNydW1iLW1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uYnJlYWRjcnVtYi1tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJyZWFkY3J1bWItbWVudSAuYnRuLWdyb3VwIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5icmVhZGNydW1iLW1lbnUgLmJ0biB7XG4gIHBhZGRpbmc6IDAgMC43NXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzc2ODE5Mjtcbn1cbi5icmVhZGNydW1iLW1lbnUgLmJ0bjpob3ZlciwgLmJyZWFkY3J1bWItbWVudSAuYnRuLmFjdGl2ZSB7XG4gIGNvbG9yOiAjM2M0YjY0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5icmVhZGNydW1iLW1lbnUgLnNob3cgLmJ0biB7XG4gIGNvbG9yOiAjM2M0YjY0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5icmVhZGNydW1iLW1lbnUgLmRyb3Bkb3duLW1lbnUge1xuICBtaW4td2lkdGg6IDE4MHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG4qW2Rpcj1ydGxdIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICM4YTkzYTI7XG4gIGNvbnRlbnQ6IFwiL1wiO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuKltkaXI9cnRsXSAuYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTo6YmVmb3JlIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICBjb2xvcjogIzhhOTNhMjtcbn1cblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmJ0bi1ncm91cCA+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuLWdyb3VwID4gLmJ0bjpob3Zlcixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmhvdmVyIHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bjpmb2N1cywgLmJ0bi1ncm91cCA+IC5idG46YWN0aXZlLCAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmb2N1cyxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuKltkaXI9cnRsXSAuYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbipbZGlyPXJ0bF0gLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4qW2Rpcj1ydGxdIC5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuKltkaXI9cnRsXSAuYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4qW2Rpcj1ydGxdIC5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuKltkaXI9cnRsXSAuYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41NjI1cmVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwgaHRtbDpub3QoW2Rpcj1ydGxdKSAuZHJvcHVwIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbipbZGlyPXJ0bF0gLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXIsICpbZGlyPXJ0bF0gLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwgKltkaXI9cnRsXSAuZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YmVmb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuKltkaXI9cnRsXSAuZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5idG4tc20gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLFxuLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT1yYWRpb10sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT1jaGVja2JveF0sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9cmFkaW9dLFxuLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjM2M0YjY0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbi5idG4gaSxcbi5idG4gLmMtaWNvbiB7XG4gIHdpZHRoOiAwLjg3NXJlbTtcbiAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwLjIxODc1cmVtIDA7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYnRuIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogIzNjNGI2NDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi5idG46Zm9jdXMsIC5idG4uZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MCwgMzEsIDIxOSwgMC4yNSk7XG59XG4uYnRuLmRpc2FibGVkLCAuYnRuOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC42NTtcbn1cbi5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYnRuIGksXG4uYnRuIC5jLWljb24ge1xuICBoZWlnaHQ6IDAuODc1cmVtO1xuICBtYXJnaW46IDAuMjE4NzVyZW0gMDtcbn1cblxuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbiAgYm9yZGVyLWNvbG9yOiAjMzIxZmRiO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmExYWI5O1xuICAgIGJvcmRlci1jb2xvcjogIzI4MTlhZTtcbiAgfVxufVxuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhMWFiOTtcbiAgYm9yZGVyLWNvbG9yOiAjMjgxOWFlO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MSwgNjUsIDIyNCwgMC41KTtcbn1cbi5idG4tcHJpbWFyeS5kaXNhYmxlZCwgLmJ0bi1wcmltYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGI7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYjtcbn1cbi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5zaG93ID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgxOWFlO1xuICBib3JkZXItY29sb3I6ICMyNTE3YTM7XG59XG4uYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MSwgNjUsIDIyNCwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgxOWFlO1xuICBib3JkZXItY29sb3I6ICMyNTE3YTM7XG59XG4uc2hvdyA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MSwgNjUsIDIyNCwgMC41KTtcbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZDJkODtcbiAgYm9yZGVyLWNvbG9yOiAjY2VkMmQ4O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjNGY1ZDczO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiOWJlYzc7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjJiOGMxO1xuICB9XG59XG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnkuZm9jdXMge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmVjNztcbiAgYm9yZGVyLWNvbG9yOiAjYjJiOGMxO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxODcsIDE5MiwgMjAxLCAwLjUpO1xufVxuLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQsIC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZWQyZDg7XG4gIGJvcmRlci1jb2xvcjogI2NlZDJkODtcbn1cbi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyYjhjMTtcbiAgYm9yZGVyLWNvbG9yOiAjYWJiMWJjO1xufVxuLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDE4NywgMTkyLCAyMDEsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjJiOGMxO1xuICBib3JkZXItY29sb3I6ICNhYmIxYmM7XG59XG4uc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDE4NywgMTkyLCAyMDEsIDAuNSk7XG59XG5cbi5idG4tc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjO1xuICBib3JkZXItY29sb3I6ICMyZWI4NWM7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjk5NGQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjQ4ZjQ4O1xuICB9XG59XG4uYnRuLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tc3VjY2Vzcy5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY5OTRkO1xuICBib3JkZXItY29sb3I6ICMyNDhmNDg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDc3LCAxOTUsIDExNiwgMC41KTtcbn1cbi5idG4tc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1zdWNjZXNzOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWI4NWM7XG4gIGJvcmRlci1jb2xvcjogIzJlYjg1Yztcbn1cbi5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5zaG93ID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ4ZjQ4O1xuICBib3JkZXItY29sb3I6ICMyMTg1NDM7XG59XG4uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg3NywgMTk1LCAxMTYsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0OGY0ODtcbiAgYm9yZGVyLWNvbG9yOiAjMjE4NTQzO1xufVxuLnNob3cgPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzcsIDE5NSwgMTE2LCAwLjUpO1xufVxuXG4uYnRuLWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5ZjtcbiAgYm9yZGVyLWNvbG9yOiAjMzlmO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1pbmZvOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ4NmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzAwODBmZjtcbiAgfVxufVxuLmJ0bi1pbmZvOmZvY3VzLCAuYnRuLWluZm8uZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkODZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA4MGZmO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MiwgMTY4LCAyNTUsIDAuNSk7XG59XG4uYnRuLWluZm8uZGlzYWJsZWQsIC5idG4taW5mbzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzlmO1xuICBib3JkZXItY29sb3I6ICMzOWY7XG59XG4uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODBmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3OWYyO1xufVxuLmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoODIsIDE2OCwgMjU1LCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwZmY7XG4gIGJvcmRlci1jb2xvcjogIzAwNzlmMjtcbn1cbi5zaG93ID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDgyLCAxNjgsIDI1NSwgMC41KTtcbn1cblxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWIxMTU7XG4gIGJvcmRlci1jb2xvcjogI2Y5YjExNTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4td2FybmluZzpob3ZlciB7XG4gICAgY29sb3I6ICM0ZjVkNzM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyOWMwNjtcbiAgICBib3JkZXItY29sb3I6ICNkNjk0MDU7XG4gIH1cbn1cbi5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMjljMDY7XG4gIGJvcmRlci1jb2xvcjogI2Q2OTQwNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI0LCAxNjQsIDM1LCAwLjUpO1xufVxuLmJ0bi13YXJuaW5nLmRpc2FibGVkLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YjExNTtcbiAgYm9yZGVyLWNvbG9yOiAjZjliMTE1O1xufVxuLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjk0MDU7XG4gIGJvcmRlci1jb2xvcjogI2M5OGIwNTtcbn1cbi5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyNCwgMTY0LCAzNSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY5NDA1O1xuICBib3JkZXItY29sb3I6ICNjOThiMDU7XG59XG4uc2hvdyA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjQsIDE2NCwgMzUsIDAuNSk7XG59XG5cbi5idG4tZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTUzNTM7XG4gIGJvcmRlci1jb2xvcjogI2U1NTM1Mztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tZGFuZ2VyOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAzMjMyO1xuICAgIGJvcmRlci1jb2xvcjogI2RlMjcyNztcbiAgfVxufVxuLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDMyMzI7XG4gIGJvcmRlci1jb2xvcjogI2RlMjcyNztcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMzLCAxMDksIDEwOSwgMC41KTtcbn1cbi5idG4tZGFuZ2VyLmRpc2FibGVkLCAuYnRuLWRhbmdlcjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU1MzUzO1xuICBib3JkZXItY29sb3I6ICNlNTUzNTM7XG59XG4uYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5zaG93ID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZTI3Mjc7XG4gIGJvcmRlci1jb2xvcjogI2Q4MjEyMTtcbn1cbi5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzMsIDEwOSwgMTA5LCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlMjcyNztcbiAgYm9yZGVyLWNvbG9yOiAjZDgyMTIxO1xufVxuLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzMsIDEwOSwgMTA5LCAwLjUpO1xufVxuXG4uYnRuLWxpZ2h0IHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tbGlnaHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjNGY1ZDczO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmRhZGU7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2ZkNGQ4O1xuICB9XG59XG4uYnRuLWxpZ2h0OmZvY3VzLCAuYnRuLWxpZ2h0LmZvY3VzIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmRhZGU7XG4gIGJvcmRlci1jb2xvcjogI2NmZDRkODtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjEyLCAyMTUsIDIyMCwgMC41KTtcbn1cbi5idG4tbGlnaHQuZGlzYWJsZWQsIC5idG4tbGlnaHQ6ZGlzYWJsZWQge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWRlZjtcbiAgYm9yZGVyLWNvbG9yOiAjZWJlZGVmO1xufVxuLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmZDRkODtcbiAgYm9yZGVyLWNvbG9yOiAjYzhjZGQzO1xufVxuLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMTIsIDIxNSwgMjIwLCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZkNGQ4O1xuICBib3JkZXItY29sb3I6ICNjOGNkZDM7XG59XG4uc2hvdyA+IC5idG4tbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjEyLCAyMTUsIDIyMCwgMC41KTtcbn1cblxuLmJ0bi1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MzZmODM7XG4gIGJvcmRlci1jb2xvcjogIzYzNmY4Mztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tZGFyazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzNWQ2ZDtcbiAgICBib3JkZXItY29sb3I6ICM0ZDU2NjY7XG4gIH1cbn1cbi5idG4tZGFyazpmb2N1cywgLmJ0bi1kYXJrLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MzVkNmQ7XG4gIGJvcmRlci1jb2xvcjogIzRkNTY2NjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTIyLCAxMzMsIDE1MCwgMC41KTtcbn1cbi5idG4tZGFyay5kaXNhYmxlZCwgLmJ0bi1kYXJrOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MzZmODM7XG4gIGJvcmRlci1jb2xvcjogIzYzNmY4Mztcbn1cbi5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQ1NjY2O1xuICBib3JkZXItY29sb3I6ICM0ODUwNWY7XG59XG4uYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMjIsIDEzMywgMTUwLCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZDU2NjY7XG4gIGJvcmRlci1jb2xvcjogIzQ4NTA1Zjtcbn1cbi5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEyMiwgMTMzLCAxNTAsIDAuNSk7XG59XG5cbi5idG4tdHJhbnNwYXJlbnQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLmJ0bi10cmFuc3BhcmVudDpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICBjb2xvcjogIzMyMWZkYjtcbiAgYm9yZGVyLWNvbG9yOiAjMzIxZmRiO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzIxZmRiO1xuICB9XG59XG4uYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MCwgMzEsIDIxOSwgMC41KTtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjMzIxZmRiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGI7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYjtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTAsIDMxLCAyMTksIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIxZmRiO1xuICBib3JkZXItY29sb3I6ICMzMjFmZGI7XG59XG4uc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUwLCAzMSwgMjE5LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICNjZWQyZDg7XG4gIGJvcmRlci1jb2xvcjogI2NlZDJkODtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjNGY1ZDczO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWQyZDg7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2VkMmQ4O1xuICB9XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjA2LCAyMTAsIDIxNiwgMC41KTtcbn1cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQge1xuICBjb2xvcjogI2NlZDJkODtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZDJkODtcbiAgYm9yZGVyLWNvbG9yOiAjY2VkMmQ4O1xufVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjA2LCAyMTAsIDIxNiwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZDJkODtcbiAgYm9yZGVyLWNvbG9yOiAjY2VkMmQ4O1xufVxuLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIwNiwgMjEwLCAyMTYsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1zdWNjZXNzIHtcbiAgY29sb3I6ICMyZWI4NWM7XG4gIGJvcmRlci1jb2xvcjogIzJlYjg1Yztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjO1xuICAgIGJvcmRlci1jb2xvcjogIzJlYjg1YztcbiAgfVxufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDYsIDE4NCwgOTIsIDAuNSk7XG59XG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQge1xuICBjb2xvcjogIzJlYjg1YztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjO1xuICBib3JkZXItY29sb3I6ICMyZWI4NWM7XG59XG4uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQ2LCAxODQsIDkyLCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlYjg1YztcbiAgYm9yZGVyLWNvbG9yOiAjMmViODVjO1xufVxuLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NiwgMTg0LCA5MiwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBjb2xvcjogIzM5ZjtcbiAgYm9yZGVyLWNvbG9yOiAjMzlmO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzlmO1xuICB9XG59XG4uYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MSwgMTUzLCAyNTUsIDAuNSk7XG59XG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQge1xuICBjb2xvcjogIzM5ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzlmO1xuICBib3JkZXItY29sb3I6ICMzOWY7XG59XG4uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUxLCAxNTMsIDI1NSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG4gIGJvcmRlci1jb2xvcjogIzM5Zjtcbn1cbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTEsIDE1MywgMjU1LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gIGNvbG9yOiAjZjliMTE1O1xuICBib3JkZXItY29sb3I6ICNmOWIxMTU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuLW91dGxpbmUtd2FybmluZzpob3ZlciB7XG4gICAgY29sb3I6ICM0ZjVkNzM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YjExNTtcbiAgICBib3JkZXItY29sb3I6ICNmOWIxMTU7XG4gIH1cbn1cbi5idG4tb3V0bGluZS13YXJuaW5nOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OSwgMTc3LCAyMSwgMC41KTtcbn1cbi5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZjliMTE1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWIxMTU7XG4gIGJvcmRlci1jb2xvcjogI2Y5YjExNTtcbn1cbi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ5LCAxNzcsIDIxLCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YjExNTtcbiAgYm9yZGVyLWNvbG9yOiAjZjliMTE1O1xufVxuLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDksIDE3NywgMjEsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICBjb2xvcjogI2U1NTM1MztcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1vdXRsaW5lLWRhbmdlcjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1NTM1MztcbiAgICBib3JkZXItY29sb3I6ICNlNTUzNTM7XG4gIH1cbn1cbi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjksIDgzLCA4MywgMC41KTtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQge1xuICBjb2xvcjogI2U1NTM1MztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NTM1MztcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI5LCA4MywgODMsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTUzNTM7XG4gIGJvcmRlci1jb2xvcjogI2U1NTM1Mztcbn1cbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjksIDgzLCA4MywgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgY29sb3I6ICNlYmVkZWY7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tb3V0bGluZS1saWdodDpob3ZlciB7XG4gICAgY29sb3I6ICM0ZjVkNzM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWRlZjtcbiAgICBib3JkZXItY29sb3I6ICNlYmVkZWY7XG4gIH1cbn1cbi5idG4tb3V0bGluZS1saWdodDpmb2N1cywgLmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjM1LCAyMzcsIDIzOSwgMC41KTtcbn1cbi5idG4tb3V0bGluZS1saWdodC5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWxpZ2h0OmRpc2FibGVkIHtcbiAgY29sb3I6ICNlYmVkZWY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xuICBib3JkZXItY29sb3I6ICNlYmVkZWY7XG59XG4uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjM1LCAyMzcsIDIzOSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xuICBib3JkZXItY29sb3I6ICNlYmVkZWY7XG59XG4uc2hvdyA+IC5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzUsIDIzNywgMjM5LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtZGFyayB7XG4gIGNvbG9yOiAjNjM2ZjgzO1xuICBib3JkZXItY29sb3I6ICM2MzZmODM7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuLW91dGxpbmUtZGFyazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYzNmY4MztcbiAgICBib3JkZXItY29sb3I6ICM2MzZmODM7XG4gIH1cbn1cbi5idG4tb3V0bGluZS1kYXJrOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyay5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDk5LCAxMTEsIDEzMSwgMC41KTtcbn1cbi5idG4tb3V0bGluZS1kYXJrLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtZGFyazpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNjM2ZjgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MzZmODM7XG4gIGJvcmRlci1jb2xvcjogIzYzNmY4Mztcbn1cbi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTksIDExMSwgMTMxLCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzNmY4MztcbiAgYm9yZGVyLWNvbG9yOiAjNjM2ZjgzO1xufVxuLnNob3cgPiAuYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5OSwgMTExLCAxMzEsIDAuNSk7XG59XG5cbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMzIxZmRiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMjMxNjk4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG4uYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluay5mb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmJ0bi1saW5rOmRpc2FibGVkLCAuYnRuLWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogIzhhOTNhMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5idG4tbGcsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4wOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuLmJ0bi1sZyBpLCAuYnRuLWdyb3VwLWxnID4gLmJ0biBpLFxuLmJ0bi1sZyAuYy1pY29uLFxuLmJ0bi1ncm91cC1sZyA+IC5idG4gLmMtaWNvbiB7XG4gIHdpZHRoOiAxLjA5Mzc1cmVtO1xuICBoZWlnaHQ6IDEuMDkzNzVyZW07XG4gIG1hcmdpbjogMC4yNzM0Mzc1cmVtIDA7XG59XG5cbi5idG4tc20sIC5idG4tZ3JvdXAtc20gPiAuYnRuIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NjU2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cbi5idG4tc20gaSwgLmJ0bi1ncm91cC1zbSA+IC5idG4gaSxcbi5idG4tc20gLmMtaWNvbixcbi5idG4tZ3JvdXAtc20gPiAuYnRuIC5jLWljb24ge1xuICB3aWR0aDogMC43NjU2MjVyZW07XG4gIGhlaWdodDogMC43NjU2MjVyZW07XG4gIG1hcmdpbjogMC4xOTE0MDYyNXJlbSAwO1xufVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbmlucHV0W3R5cGU9c3VibWl0XS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPXJlc2V0XS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPWJ1dHRvbl0uYnRuLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5idG4tcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwZW07XG59XG5cbi5idG4tc3F1YXJlIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmJ0bi1naG9zdC1wcmltYXJ5IHtcbiAgY29sb3I6ICMzMjFmZGI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1naG9zdC1wcmltYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGI7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYjtcbn1cbi5idG4tZ2hvc3QtcHJpbWFyeTpmb2N1cywgLmJ0bi1naG9zdC1wcmltYXJ5LmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTAsIDMxLCAyMTksIDAuNSk7XG59XG4uYnRuLWdob3N0LXByaW1hcnkuZGlzYWJsZWQsIC5idG4tZ2hvc3QtcHJpbWFyeTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjMzIxZmRiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tZ2hvc3QtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZ2hvc3QtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbiAgYm9yZGVyLWNvbG9yOiAjMzIxZmRiO1xufVxuLmJ0bi1naG9zdC1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1naG9zdC1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUwLCAzMSwgMjE5LCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLWdob3N0LXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGI7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYjtcbn1cbi5zaG93ID4gLmJ0bi1naG9zdC1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUwLCAzMSwgMjE5LCAwLjUpO1xufVxuXG4uYnRuLWdob3N0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjY2VkMmQ4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tZ2hvc3Qtc2Vjb25kYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZWQyZDg7XG4gIGJvcmRlci1jb2xvcjogI2NlZDJkODtcbn1cbi5idG4tZ2hvc3Qtc2Vjb25kYXJ5OmZvY3VzLCAuYnRuLWdob3N0LXNlY29uZGFyeS5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIwNiwgMjEwLCAyMTYsIDAuNSk7XG59XG4uYnRuLWdob3N0LXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1naG9zdC1zZWNvbmRhcnk6ZGlzYWJsZWQge1xuICBjb2xvcjogI2NlZDJkODtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLWdob3N0LXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZ2hvc3Qtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VkMmQ4O1xuICBib3JkZXItY29sb3I6ICNjZWQyZDg7XG59XG4uYnRuLWdob3N0LXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZ2hvc3Qtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIwNiwgMjEwLCAyMTYsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tZ2hvc3Qtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VkMmQ4O1xuICBib3JkZXItY29sb3I6ICNjZWQyZDg7XG59XG4uc2hvdyA+IC5idG4tZ2hvc3Qtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIwNiwgMjEwLCAyMTYsIDAuNSk7XG59XG5cbi5idG4tZ2hvc3Qtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMmViODVjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tZ2hvc3Qtc3VjY2Vzczpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjO1xuICBib3JkZXItY29sb3I6ICMyZWI4NWM7XG59XG4uYnRuLWdob3N0LXN1Y2Nlc3M6Zm9jdXMsIC5idG4tZ2hvc3Qtc3VjY2Vzcy5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQ2LCAxODQsIDkyLCAwLjUpO1xufVxuLmJ0bi1naG9zdC1zdWNjZXNzLmRpc2FibGVkLCAuYnRuLWdob3N0LXN1Y2Nlc3M6ZGlzYWJsZWQge1xuICBjb2xvcjogIzJlYjg1YztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLWdob3N0LXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWdob3N0LXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWI4NWM7XG4gIGJvcmRlci1jb2xvcjogIzJlYjg1Yztcbn1cbi5idG4tZ2hvc3Qtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZ2hvc3Qtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NiwgMTg0LCA5MiwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1naG9zdC1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjO1xuICBib3JkZXItY29sb3I6ICMyZWI4NWM7XG59XG4uc2hvdyA+IC5idG4tZ2hvc3Qtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NiwgMTg0LCA5MiwgMC41KTtcbn1cblxuLmJ0bi1naG9zdC1pbmZvIHtcbiAgY29sb3I6ICMzOWY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1naG9zdC1pbmZvOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG4gIGJvcmRlci1jb2xvcjogIzM5Zjtcbn1cbi5idG4tZ2hvc3QtaW5mbzpmb2N1cywgLmJ0bi1naG9zdC1pbmZvLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTEsIDE1MywgMjU1LCAwLjUpO1xufVxuLmJ0bi1naG9zdC1pbmZvLmRpc2FibGVkLCAuYnRuLWdob3N0LWluZm86ZGlzYWJsZWQge1xuICBjb2xvcjogIzM5ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLWdob3N0LWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWdob3N0LWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG4gIGJvcmRlci1jb2xvcjogIzM5Zjtcbn1cbi5idG4tZ2hvc3QtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZ2hvc3QtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MSwgMTUzLCAyNTUsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tZ2hvc3QtaW5mby5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5ZjtcbiAgYm9yZGVyLWNvbG9yOiAjMzlmO1xufVxuLnNob3cgPiAuYnRuLWdob3N0LWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTEsIDE1MywgMjU1LCAwLjUpO1xufVxuXG4uYnRuLWdob3N0LXdhcm5pbmcge1xuICBjb2xvcjogI2Y5YjExNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLWdob3N0LXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YjExNTtcbiAgYm9yZGVyLWNvbG9yOiAjZjliMTE1O1xufVxuLmJ0bi1naG9zdC13YXJuaW5nOmZvY3VzLCAuYnRuLWdob3N0LXdhcm5pbmcuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDksIDE3NywgMjEsIDAuNSk7XG59XG4uYnRuLWdob3N0LXdhcm5pbmcuZGlzYWJsZWQsIC5idG4tZ2hvc3Qtd2FybmluZzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZjliMTE1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tZ2hvc3Qtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZ2hvc3Qtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5YjExNTtcbiAgYm9yZGVyLWNvbG9yOiAjZjliMTE1O1xufVxuLmJ0bi1naG9zdC13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1naG9zdC13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OSwgMTc3LCAyMSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1naG9zdC13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjliMTE1O1xuICBib3JkZXItY29sb3I6ICNmOWIxMTU7XG59XG4uc2hvdyA+IC5idG4tZ2hvc3Qtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDksIDE3NywgMjEsIDAuNSk7XG59XG5cbi5idG4tZ2hvc3QtZGFuZ2VyIHtcbiAgY29sb3I6ICNlNTUzNTM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1naG9zdC1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NTM1MztcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuLmJ0bi1naG9zdC1kYW5nZXI6Zm9jdXMsIC5idG4tZ2hvc3QtZGFuZ2VyLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI5LCA4MywgODMsIDAuNSk7XG59XG4uYnRuLWdob3N0LWRhbmdlci5kaXNhYmxlZCwgLmJ0bi1naG9zdC1kYW5nZXI6ZGlzYWJsZWQge1xuICBjb2xvcjogI2U1NTM1MztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLWdob3N0LWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZ2hvc3QtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU1MzUzO1xuICBib3JkZXItY29sb3I6ICNlNTUzNTM7XG59XG4uYnRuLWdob3N0LWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZ2hvc3QtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyOSwgODMsIDgzLCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLWdob3N0LWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NTM1MztcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuLnNob3cgPiAuYnRuLWdob3N0LWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjksIDgzLCA4MywgMC41KTtcbn1cblxuLmJ0bi1naG9zdC1saWdodCB7XG4gIGNvbG9yOiAjZWJlZGVmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tZ2hvc3QtbGlnaHQ6aG92ZXIge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWRlZjtcbiAgYm9yZGVyLWNvbG9yOiAjZWJlZGVmO1xufVxuLmJ0bi1naG9zdC1saWdodDpmb2N1cywgLmJ0bi1naG9zdC1saWdodC5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzNSwgMjM3LCAyMzksIDAuNSk7XG59XG4uYnRuLWdob3N0LWxpZ2h0LmRpc2FibGVkLCAuYnRuLWdob3N0LWxpZ2h0OmRpc2FibGVkIHtcbiAgY29sb3I6ICNlYmVkZWY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1naG9zdC1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZ2hvc3QtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cbi5idG4tZ2hvc3QtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWdob3N0LWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzNSwgMjM3LCAyMzksIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tZ2hvc3QtbGlnaHQuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cbi5zaG93ID4gLmJ0bi1naG9zdC1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzUsIDIzNywgMjM5LCAwLjUpO1xufVxuXG4uYnRuLWdob3N0LWRhcmsge1xuICBjb2xvcjogIzYzNmY4MztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLWdob3N0LWRhcms6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzNmY4MztcbiAgYm9yZGVyLWNvbG9yOiAjNjM2ZjgzO1xufVxuLmJ0bi1naG9zdC1kYXJrOmZvY3VzLCAuYnRuLWdob3N0LWRhcmsuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5OSwgMTExLCAxMzEsIDAuNSk7XG59XG4uYnRuLWdob3N0LWRhcmsuZGlzYWJsZWQsIC5idG4tZ2hvc3QtZGFyazpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNjM2ZjgzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tZ2hvc3QtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZ2hvc3QtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzNmY4MztcbiAgYm9yZGVyLWNvbG9yOiAjNjM2ZjgzO1xufVxuLmJ0bi1naG9zdC1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1naG9zdC1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDk5LCAxMTEsIDEzMSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1naG9zdC1kYXJrLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2ZjgzO1xuICBib3JkZXItY29sb3I6ICM2MzZmODM7XG59XG4uc2hvdyA+IC5idG4tZ2hvc3QtZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5OSwgMTExLCAxMzEsIDAuNSk7XG59XG5cbi5idG4tZmFjZWJvb2sge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiNTk5ODtcbiAgYm9yZGVyLWNvbG9yOiAjM2I1OTk4O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1mYWNlYm9vazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwNDk3YztcbiAgICBib3JkZXItY29sb3I6ICMyZDQzNzM7XG4gIH1cbn1cbi5idG4tZmFjZWJvb2s6Zm9jdXMsIC5idG4tZmFjZWJvb2suZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNDk3YztcbiAgYm9yZGVyLWNvbG9yOiAjMmQ0MzczO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4OCwgMTE0LCAxNjcsIDAuNSk7XG59XG4uYnRuLWZhY2Vib29rLmRpc2FibGVkLCAuYnRuLWZhY2Vib29rOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XG4gIGJvcmRlci1jb2xvcjogIzNiNTk5ODtcbn1cbi5idG4tZmFjZWJvb2s6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuc2hvdyA+IC5idG4tZmFjZWJvb2suZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDQzNzM7XG4gIGJvcmRlci1jb2xvcjogIzI5M2U2YTtcbn1cbi5idG4tZmFjZWJvb2s6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tZmFjZWJvb2suZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoODgsIDExNCwgMTY3LCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLWZhY2Vib29rLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ0MzczO1xuICBib3JkZXItY29sb3I6ICMyOTNlNmE7XG59XG4uc2hvdyA+IC5idG4tZmFjZWJvb2suZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoODgsIDExNCwgMTY3LCAwLjUpO1xufVxuXG4uYnRuLXR3aXR0ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWNlZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhY2VkO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi10d2l0dGVyOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5MGM3O1xuICAgIGJvcmRlci1jb2xvcjogIzAwODdiYTtcbiAgfVxufVxuLmJ0bi10d2l0dGVyOmZvY3VzLCAuYnRuLXR3aXR0ZXIuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTBjNztcbiAgYm9yZGVyLWNvbG9yOiAjMDA4N2JhO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgzOCwgMTg0LCAyNDAsIDAuNSk7XG59XG4uYnRuLXR3aXR0ZXIuZGlzYWJsZWQsIC5idG4tdHdpdHRlcjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhY2VkO1xuICBib3JkZXItY29sb3I6ICMwMGFjZWQ7XG59XG4uYnRuLXR3aXR0ZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuc2hvdyA+IC5idG4tdHdpdHRlci5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODdiYTtcbiAgYm9yZGVyLWNvbG9yOiAjMDA3ZWFkO1xufVxuLmJ0bi10d2l0dGVyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXR3aXR0ZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMzgsIDE4NCwgMjQwLCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLXR3aXR0ZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDg3YmE7XG4gIGJvcmRlci1jb2xvcjogIzAwN2VhZDtcbn1cbi5zaG93ID4gLmJ0bi10d2l0dGVyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDM4LCAxODQsIDI0MCwgMC41KTtcbn1cblxuLmJ0bi1saW5rZWRpbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg3NWI0O1xuICBib3JkZXItY29sb3I6ICM0ODc1YjQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuLWxpbmtlZGluOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q2Mzk5O1xuICAgIGJvcmRlci1jb2xvcjogIzM5NWQ5MDtcbiAgfVxufVxuLmJ0bi1saW5rZWRpbjpmb2N1cywgLmJ0bi1saW5rZWRpbi5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q2Mzk5O1xuICBib3JkZXItY29sb3I6ICMzOTVkOTA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDk5LCAxMzgsIDE5MSwgMC41KTtcbn1cbi5idG4tbGlua2VkaW4uZGlzYWJsZWQsIC5idG4tbGlua2VkaW46ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NzViNDtcbiAgYm9yZGVyLWNvbG9yOiAjNDg3NWI0O1xufVxuLmJ0bi1saW5rZWRpbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5zaG93ID4gLmJ0bi1saW5rZWRpbi5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5NWQ5MDtcbiAgYm9yZGVyLWNvbG9yOiAjMzY1Nzg2O1xufVxuLmJ0bi1saW5rZWRpbjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1saW5rZWRpbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5OSwgMTM4LCAxOTEsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tbGlua2VkaW4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOTVkOTA7XG4gIGJvcmRlci1jb2xvcjogIzM2NTc4Njtcbn1cbi5zaG93ID4gLmJ0bi1saW5rZWRpbi5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5OSwgMTM4LCAxOTEsIDAuNSk7XG59XG5cbi5idG4tZmxpY2tyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwODQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDA4NDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tZmxpY2tyOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDkwMDcwO1xuICAgIGJvcmRlci1jb2xvcjogI2NjMDA2YTtcbiAgfVxufVxuLmJ0bi1mbGlja3I6Zm9jdXMsIC5idG4tZmxpY2tyLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTAwNzA7XG4gIGJvcmRlci1jb2xvcjogI2NjMDA2YTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAzOCwgMTUwLCAwLjUpO1xufVxuLmJ0bi1mbGlja3IuZGlzYWJsZWQsIC5idG4tZmxpY2tyOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwODQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDA4NDtcbn1cbi5idG4tZmxpY2tyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLWZsaWNrci5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDA2YTtcbiAgYm9yZGVyLWNvbG9yOiAjYmYwMDYzO1xufVxuLmJ0bi1mbGlja3I6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tZmxpY2tyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMzgsIDE1MCwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1mbGlja3IuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzAwNmE7XG4gIGJvcmRlci1jb2xvcjogI2JmMDA2Mztcbn1cbi5zaG93ID4gLmJ0bi1mbGlja3IuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAzOCwgMTUwLCAwLjUpO1xufVxuXG4uYnRuLXR1bWJsciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI1MDZkO1xuICBib3JkZXItY29sb3I6ICMzMjUwNmQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuLXR1bWJscjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2M2Q1MztcbiAgICBib3JkZXItY29sb3I6ICMyMjM2NGE7XG4gIH1cbn1cbi5idG4tdHVtYmxyOmZvY3VzLCAuYnRuLXR1bWJsci5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzZDUzO1xuICBib3JkZXItY29sb3I6ICMyMjM2NGE7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDgxLCAxMDYsIDEzMSwgMC41KTtcbn1cbi5idG4tdHVtYmxyLmRpc2FibGVkLCAuYnRuLXR1bWJscjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI1MDZkO1xuICBib3JkZXItY29sb3I6ICMzMjUwNmQ7XG59XG4uYnRuLXR1bWJscjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5zaG93ID4gLmJ0bi10dW1ibHIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjM2NGE7XG4gIGJvcmRlci1jb2xvcjogIzFlMzA0MTtcbn1cbi5idG4tdHVtYmxyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXR1bWJsci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MSwgMTA2LCAxMzEsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tdHVtYmxyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIzNjRhO1xuICBib3JkZXItY29sb3I6ICMxZTMwNDE7XG59XG4uc2hvdyA+IC5idG4tdHVtYmxyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDgxLCAxMDYsIDEzMSwgMC41KTtcbn1cblxuLmJ0bi14aW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjY0NjY7XG4gIGJvcmRlci1jb2xvcjogIzAyNjQ2Njtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4teGluZzpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxM2Y0MDtcbiAgICBib3JkZXItY29sb3I6ICMwMTMzMzQ7XG4gIH1cbn1cbi5idG4teGluZzpmb2N1cywgLmJ0bi14aW5nLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTNmNDA7XG4gIGJvcmRlci1jb2xvcjogIzAxMzMzNDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDEyMywgMTI1LCAwLjUpO1xufVxuLmJ0bi14aW5nLmRpc2FibGVkLCAuYnRuLXhpbmc6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyNjQ2NjtcbiAgYm9yZGVyLWNvbG9yOiAjMDI2NDY2O1xufVxuLmJ0bi14aW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLXhpbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTMzMzQ7XG4gIGJvcmRlci1jb2xvcjogIzAxMjcyNztcbn1cbi5idG4teGluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi14aW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxMjMsIDEyNSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi14aW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDEzMzM0O1xuICBib3JkZXItY29sb3I6ICMwMTI3Mjc7XG59XG4uc2hvdyA+IC5idG4teGluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTIzLCAxMjUsIDAuNSk7XG59XG5cbi5idG4tZ2l0aHViIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MTgzYzQ7XG4gIGJvcmRlci1jb2xvcjogIzQxODNjNDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tZ2l0aHViOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU3MGFhO1xuICAgIGJvcmRlci1jb2xvcjogIzMyNjlhMDtcbiAgfVxufVxuLmJ0bi1naXRodWI6Zm9jdXMsIC5idG4tZ2l0aHViLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNTcwYWE7XG4gIGJvcmRlci1jb2xvcjogIzMyNjlhMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTQsIDE1MCwgMjA1LCAwLjUpO1xufVxuLmJ0bi1naXRodWIuZGlzYWJsZWQsIC5idG4tZ2l0aHViOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MTgzYzQ7XG4gIGJvcmRlci1jb2xvcjogIzQxODNjNDtcbn1cbi5idG4tZ2l0aHViOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLWdpdGh1Yi5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyNjlhMDtcbiAgYm9yZGVyLWNvbG9yOiAjMmY2Mzk3O1xufVxuLmJ0bi1naXRodWI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tZ2l0aHViLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDk0LCAxNTAsIDIwNSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1naXRodWIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjY5YTA7XG4gIGJvcmRlci1jb2xvcjogIzJmNjM5Nztcbn1cbi5zaG93ID4gLmJ0bi1naXRodWIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTQsIDE1MCwgMjA1LCAwLjUpO1xufVxuXG4uYnRuLXN0YWNrLW92ZXJmbG93IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZTdhMTU7XG4gIGJvcmRlci1jb2xvcjogI2ZlN2ExNTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tc3RhY2stb3ZlcmZsb3c6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzY3MDE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGY2MTAxO1xuICB9XG59XG4uYnRuLXN0YWNrLW92ZXJmbG93OmZvY3VzLCAuYnRuLXN0YWNrLW92ZXJmbG93LmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYzY3MDE7XG4gIGJvcmRlci1jb2xvcjogI2RmNjEwMTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU0LCAxNDIsIDU2LCAwLjUpO1xufVxuLmJ0bi1zdGFjay1vdmVyZmxvdy5kaXNhYmxlZCwgLmJ0bi1zdGFjay1vdmVyZmxvdzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmU3YTE1O1xuICBib3JkZXItY29sb3I6ICNmZTdhMTU7XG59XG4uYnRuLXN0YWNrLW92ZXJmbG93Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLXN0YWNrLW92ZXJmbG93LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGY2MTAxO1xuICBib3JkZXItY29sb3I6ICNkMjVjMDE7XG59XG4uYnRuLXN0YWNrLW92ZXJmbG93Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXN0YWNrLW92ZXJmbG93LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NCwgMTQyLCA1NiwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1zdGFjay1vdmVyZmxvdy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmNjEwMTtcbiAgYm9yZGVyLWNvbG9yOiAjZDI1YzAxO1xufVxuLnNob3cgPiAuYnRuLXN0YWNrLW92ZXJmbG93LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NCwgMTQyLCA1NiwgMC41KTtcbn1cblxuLmJ0bi15b3V0dWJlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMDA7XG4gIGJvcmRlci1jb2xvcjogI2IwMDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4teW91dHViZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk1MDAwMDtcbiAgICBib3JkZXItY29sb3I6ICM4ODAwMDA7XG4gIH1cbn1cbi5idG4teW91dHViZTpmb2N1cywgLmJ0bi15b3V0dWJlLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NTAwMDA7XG4gIGJvcmRlci1jb2xvcjogIzg4MDAwMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTk3LCAzOCwgMzgsIDAuNSk7XG59XG4uYnRuLXlvdXR1YmUuZGlzYWJsZWQsIC5idG4teW91dHViZTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjAwO1xuICBib3JkZXItY29sb3I6ICNiMDA7XG59XG4uYnRuLXlvdXR1YmU6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuc2hvdyA+IC5idG4teW91dHViZS5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4MDAwMDtcbiAgYm9yZGVyLWNvbG9yOiAjN2IwMDAwO1xufVxuLmJ0bi15b3V0dWJlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXlvdXR1YmUuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTk3LCAzOCwgMzgsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4teW91dHViZS5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4MDAwMDtcbiAgYm9yZGVyLWNvbG9yOiAjN2IwMDAwO1xufVxuLnNob3cgPiAuYnRuLXlvdXR1YmUuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTk3LCAzOCwgMzgsIDAuNSk7XG59XG5cbi5idG4tZHJpYmJibGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhNGM4OTtcbiAgYm9yZGVyLWNvbG9yOiAjZWE0Yzg5O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1kcmliYmJsZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2MmE3MjtcbiAgICBib3JkZXItY29sb3I6ICNlNTFlNmI7XG4gIH1cbn1cbi5idG4tZHJpYmJibGU6Zm9jdXMsIC5idG4tZHJpYmJibGUuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MmE3MjtcbiAgYm9yZGVyLWNvbG9yOiAjZTUxZTZiO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzcsIDEwMywgMTU1LCAwLjUpO1xufVxuLmJ0bi1kcmliYmJsZS5kaXNhYmxlZCwgLmJ0bi1kcmliYmJsZTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWE0Yzg5O1xuICBib3JkZXItY29sb3I6ICNlYTRjODk7XG59XG4uYnRuLWRyaWJiYmxlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLWRyaWJiYmxlLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUxZTZiO1xuICBib3JkZXItY29sb3I6ICNkYzFhNjU7XG59XG4uYnRuLWRyaWJiYmxlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWRyaWJiYmxlLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzNywgMTAzLCAxNTUsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tZHJpYmJibGUuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTFlNmI7XG4gIGJvcmRlci1jb2xvcjogI2RjMWE2NTtcbn1cbi5zaG93ID4gLmJ0bi1kcmliYmJsZS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzcsIDEwMywgMTU1LCAwLjUpO1xufVxuXG4uYnRuLWluc3RhZ3JhbSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTE3ZmE0O1xuICBib3JkZXItY29sb3I6ICM1MTdmYTQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYnRuLWluc3RhZ3JhbTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NmI4YTtcbiAgICBib3JkZXItY29sb3I6ICM0MDY1ODI7XG4gIH1cbn1cbi5idG4taW5zdGFncmFtOmZvY3VzLCAuYnRuLWluc3RhZ3JhbS5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ2YjhhO1xuICBib3JkZXItY29sb3I6ICM0MDY1ODI7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwNywgMTQ2LCAxNzgsIDAuNSk7XG59XG4uYnRuLWluc3RhZ3JhbS5kaXNhYmxlZCwgLmJ0bi1pbnN0YWdyYW06ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxN2ZhNDtcbiAgYm9yZGVyLWNvbG9yOiAjNTE3ZmE0O1xufVxuLmJ0bi1pbnN0YWdyYW06bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuc2hvdyA+IC5idG4taW5zdGFncmFtLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA2NTgyO1xuICBib3JkZXItY29sb3I6ICMzYzVlNzk7XG59XG4uYnRuLWluc3RhZ3JhbTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1pbnN0YWdyYW0uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA3LCAxNDYsIDE3OCwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1pbnN0YWdyYW0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDY1ODI7XG4gIGJvcmRlci1jb2xvcjogIzNjNWU3OTtcbn1cbi5zaG93ID4gLmJ0bi1pbnN0YWdyYW0uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA3LCAxNDYsIDE3OCwgMC41KTtcbn1cblxuLmJ0bi1waW50ZXJlc3Qge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NiMjAyNztcbiAgYm9yZGVyLWNvbG9yOiAjY2IyMDI3O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi1waW50ZXJlc3Q6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYTFiMjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjOWYxOTFmO1xuICB9XG59XG4uYnRuLXBpbnRlcmVzdDpmb2N1cywgLmJ0bi1waW50ZXJlc3QuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhMWIyMTtcbiAgYm9yZGVyLWNvbG9yOiAjOWYxOTFmO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMTEsIDY1LCA3MSwgMC41KTtcbn1cbi5idG4tcGludGVyZXN0LmRpc2FibGVkLCAuYnRuLXBpbnRlcmVzdDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2IyMDI3O1xuICBib3JkZXItY29sb3I6ICNjYjIwMjc7XG59XG4uYnRuLXBpbnRlcmVzdDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5zaG93ID4gLmJ0bi1waW50ZXJlc3QuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZjE5MWY7XG4gIGJvcmRlci1jb2xvcjogIzk0MTcxYztcbn1cbi5idG4tcGludGVyZXN0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXBpbnRlcmVzdC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMTEsIDY1LCA3MSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1waW50ZXJlc3QuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZjE5MWY7XG4gIGJvcmRlci1jb2xvcjogIzk0MTcxYztcbn1cbi5zaG93ID4gLmJ0bi1waW50ZXJlc3QuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjExLCA2NSwgNzEsIDAuNSk7XG59XG5cbi5idG4tdmsge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NjY4ZTtcbiAgYm9yZGVyLWNvbG9yOiAjNDU2NjhlO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmJ0bi12azpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM4NTQ3NDtcbiAgICBib3JkZXItY29sb3I6ICMzNDRkNmM7XG4gIH1cbn1cbi5idG4tdms6Zm9jdXMsIC5idG4tdmsuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NTQ3NDtcbiAgYm9yZGVyLWNvbG9yOiAjMzQ0ZDZjO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5NywgMTI1LCAxNTksIDAuNSk7XG59XG4uYnRuLXZrLmRpc2FibGVkLCAuYnRuLXZrOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NTY2OGU7XG4gIGJvcmRlci1jb2xvcjogIzQ1NjY4ZTtcbn1cbi5idG4tdms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuc2hvdyA+IC5idG4tdmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDRkNmM7XG4gIGJvcmRlci1jb2xvcjogIzMwNDc2Mztcbn1cbi5idG4tdms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tdmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTcsIDEyNSwgMTU5LCAwLjUpO1xufVxuLnNob3cgPiAuYnRuLXZrLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ0ZDZjO1xuICBib3JkZXItY29sb3I6ICMzMDQ3NjM7XG59XG4uc2hvdyA+IC5idG4tdmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTcsIDEyNSwgMTU5LCAwLjUpO1xufVxuXG4uYnRuLXlhaG9vIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDAxOTE7XG4gIGJvcmRlci1jb2xvcjogIzQwMDE5MTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4teWFob286aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZjAxNmI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmEwMTVlO1xuICB9XG59XG4uYnRuLXlhaG9vOmZvY3VzLCAuYnRuLXlhaG9vLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjAxNmI7XG4gIGJvcmRlci1jb2xvcjogIzJhMDE1ZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTMsIDM5LCAxNjIsIDAuNSk7XG59XG4uYnRuLXlhaG9vLmRpc2FibGVkLCAuYnRuLXlhaG9vOmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDAxOTE7XG4gIGJvcmRlci1jb2xvcjogIzQwMDE5MTtcbn1cbi5idG4teWFob286bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuc2hvdyA+IC5idG4teWFob28uZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYTAxNWU7XG4gIGJvcmRlci1jb2xvcjogIzI0MDE1Mjtcbn1cbi5idG4teWFob286bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4teWFob28uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoOTMsIDM5LCAxNjIsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4teWFob28uZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYTAxNWU7XG4gIGJvcmRlci1jb2xvcjogIzI0MDE1Mjtcbn1cbi5zaG93ID4gLmJ0bi15YWhvby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5MywgMzksIDE2MiwgMC41KTtcbn1cblxuLmJ0bi1iZWhhbmNlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzY5ZmY7XG4gIGJvcmRlci1jb2xvcjogIzE3NjlmZjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tYmVoYW5jZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTVmMDtcbiAgICBib3JkZXItY29sb3I6ICMwMDUwZTM7XG4gIH1cbn1cbi5idG4tYmVoYW5jZTpmb2N1cywgLmJ0bi1iZWhhbmNlLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDU1ZjA7XG4gIGJvcmRlci1jb2xvcjogIzAwNTBlMztcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTgsIDEyOCwgMjU1LCAwLjUpO1xufVxuLmJ0bi1iZWhhbmNlLmRpc2FibGVkLCAuYnRuLWJlaGFuY2U6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NjlmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMTc2OWZmO1xufVxuLmJ0bi1iZWhhbmNlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLWJlaGFuY2UuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUwZTM7XG4gIGJvcmRlci1jb2xvcjogIzAwNGNkNjtcbn1cbi5idG4tYmVoYW5jZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1iZWhhbmNlLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDU4LCAxMjgsIDI1NSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi1iZWhhbmNlLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MGUzO1xuICBib3JkZXItY29sb3I6ICMwMDRjZDY7XG59XG4uc2hvdyA+IC5idG4tYmVoYW5jZS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1OCwgMTI4LCAyNTUsIDAuNSk7XG59XG5cbi5idG4tcmVkZGl0IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjQ1MDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDUwMDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tcmVkZGl0OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDkzYjAwO1xuICAgIGJvcmRlci1jb2xvcjogI2NjMzcwMDtcbiAgfVxufVxuLmJ0bi1yZWRkaXQ6Zm9jdXMsIC5idG4tcmVkZGl0LmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTNiMDA7XG4gIGJvcmRlci1jb2xvcjogI2NjMzcwMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCA5NywgMzgsIDAuNSk7XG59XG4uYnRuLXJlZGRpdC5kaXNhYmxlZCwgLmJ0bi1yZWRkaXQ6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDUwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0NTAwO1xufVxuLmJ0bi1yZWRkaXQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuc2hvdyA+IC5idG4tcmVkZGl0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MzNzAwO1xuICBib3JkZXItY29sb3I6ICNiZjM0MDA7XG59XG4uYnRuLXJlZGRpdDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1yZWRkaXQuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCA5NywgMzgsIDAuNSk7XG59XG4uc2hvdyA+IC5idG4tcmVkZGl0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MzNzAwO1xuICBib3JkZXItY29sb3I6ICNiZjM0MDA7XG59XG4uc2hvdyA+IC5idG4tcmVkZGl0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgOTcsIDM4LCAwLjUpO1xufVxuXG4uYnRuLXZpbWVvIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWQ0NTA7XG4gIGJvcmRlci1jb2xvcjogI2FhZDQ1MDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5idG4tdmltZW86aG92ZXIge1xuICAgIGNvbG9yOiAjNGY1ZDczO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5YmNjMzI7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTNjMTMwO1xuICB9XG59XG4uYnRuLXZpbWVvOmZvY3VzLCAuYnRuLXZpbWVvLmZvY3VzIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5YmNjMzI7XG4gIGJvcmRlci1jb2xvcjogIzkzYzEzMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTU2LCAxOTQsIDg1LCAwLjUpO1xufVxuLmJ0bi12aW1lby5kaXNhYmxlZCwgLmJ0bi12aW1lbzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFkNDUwO1xuICBib3JkZXItY29sb3I6ICNhYWQ0NTA7XG59XG4uYnRuLXZpbWVvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLnNob3cgPiAuYnRuLXZpbWVvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNjMTMwO1xuICBib3JkZXItY29sb3I6ICM4YmI3MmQ7XG59XG4uYnRuLXZpbWVvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXZpbWVvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDE1NiwgMTk0LCA4NSwgMC41KTtcbn1cbi5zaG93ID4gLmJ0bi12aW1lby5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkzYzEzMDtcbiAgYm9yZGVyLWNvbG9yOiAjOGJiNzJkO1xufVxuLnNob3cgPiAuYnRuLXZpbWVvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDE1NiwgMTk0LCA4NSwgMC41KTtcbn1cblxuLmMtY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBtYXJnaW46IDFyZW0gMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtY2FsbG91dCB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2Q4ZGJlMDtcbn1cbipbZGlyPXJ0bF0gLmMtY2FsbG91dCB7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICNkOGRiZTA7XG59XG5cbi5jLWNhbGxvdXQtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDhkYmUwO1xuICBib3JkZXItbGVmdC13aWR0aDogNHB4O1xufVxuXG4uYy1jYWxsb3V0IGNvZGUge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4uYy1jYWxsb3V0IGg0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuLmMtY2FsbG91dCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYy1jYWxsb3V0ICsgLmMtY2FsbG91dCB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLWNhbGxvdXQtcHJpbWFyeSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzIxZmRiO1xufVxuKltkaXI9cnRsXSAuYy1jYWxsb3V0LXByaW1hcnkge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMzMjFmZGI7XG59XG4uYy1jYWxsb3V0LXByaW1hcnkgaDQge1xuICBjb2xvcjogIzMyMWZkYjtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1jYWxsb3V0LXNlY29uZGFyeSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjY2VkMmQ4O1xufVxuKltkaXI9cnRsXSAuYy1jYWxsb3V0LXNlY29uZGFyeSB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2NlZDJkODtcbn1cbi5jLWNhbGxvdXQtc2Vjb25kYXJ5IGg0IHtcbiAgY29sb3I6ICNjZWQyZDg7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtY2FsbG91dC1zdWNjZXNzIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMyZWI4NWM7XG59XG4qW2Rpcj1ydGxdIC5jLWNhbGxvdXQtc3VjY2VzcyB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzJlYjg1Yztcbn1cbi5jLWNhbGxvdXQtc3VjY2VzcyBoNCB7XG4gIGNvbG9yOiAjMmViODVjO1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLWNhbGxvdXQtaW5mbyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzlmO1xufVxuKltkaXI9cnRsXSAuYy1jYWxsb3V0LWluZm8ge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMzOWY7XG59XG4uYy1jYWxsb3V0LWluZm8gaDQge1xuICBjb2xvcjogIzM5Zjtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1jYWxsb3V0LXdhcm5pbmcge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2Y5YjExNTtcbn1cbipbZGlyPXJ0bF0gLmMtY2FsbG91dC13YXJuaW5nIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZjliMTE1O1xufVxuLmMtY2FsbG91dC13YXJuaW5nIGg0IHtcbiAgY29sb3I6ICNmOWIxMTU7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtY2FsbG91dC1kYW5nZXIge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2U1NTM1Mztcbn1cbipbZGlyPXJ0bF0gLmMtY2FsbG91dC1kYW5nZXIge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNlNTUzNTM7XG59XG4uYy1jYWxsb3V0LWRhbmdlciBoNCB7XG4gIGNvbG9yOiAjZTU1MzUzO1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLWNhbGxvdXQtbGlnaHQge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2ViZWRlZjtcbn1cbipbZGlyPXJ0bF0gLmMtY2FsbG91dC1saWdodCB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2ViZWRlZjtcbn1cbi5jLWNhbGxvdXQtbGlnaHQgaDQge1xuICBjb2xvcjogI2ViZWRlZjtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1jYWxsb3V0LWRhcmsge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzYzNmY4Mztcbn1cbipbZGlyPXJ0bF0gLmMtY2FsbG91dC1kYXJrIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNjM2ZjgzO1xufVxuLmMtY2FsbG91dC1kYXJrIGg0IHtcbiAgY29sb3I6ICM2MzZmODM7XG59XG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNkOGRiZTA7XG59XG4uY2FyZCA+IGhyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5jYXJkID4gLmxpc3QtZ3JvdXAge1xuICBib3JkZXItdG9wOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG59XG4uY2FyZC5kcmFnLFxuLmNhcmQgLmRyYWcge1xuICBjdXJzb3I6IG1vdmU7XG59XG5cbi5jYXJkW2NsYXNzXj1iZy1dLFxuLmNhcmRbY2xhc3MqPVwiIGJnLVwiXSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG4uY2FyZFtjbGFzc149YmctXSAuY2FyZC1oZWFkZXIsXG4uY2FyZFtjbGFzcyo9XCIgYmctXCJdIC5jYXJkLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG5cbi5jYXJkLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLTAuMzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuY2FyZC1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cbipbZGlyPXJ0bF0gLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNkOGRiZTA7XG59XG4uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCkgMCAwO1xufVxuLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4uY2FyZC1oZWFkZXIgLmMtY2hhcnQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KTtcbn1cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xufVxuXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG59XG5cbi5jYXJkLWRlY2sgLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWRlY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgfVxuICAuY2FyZC1kZWNrIC5jYXJkIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLmNhcmQtZ3JvdXAgPiAuY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNhcmQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jYXJkLWdyb3VwID4gLmNhcmQgKyAuY2FyZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuY2FyZC1ncm91cCA+IC5jYXJkICsgLmNhcmQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1oZWFkZXIge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLFxuLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaGVhZGVyIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSxcbi5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG5cbi5jYXJkLWNvbHVtbnMgLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWNvbHVtbnMge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tZ2FwOiAxLjI1cmVtO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuICB9XG4gIC5jYXJkLWNvbHVtbnMgLmNhcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uID4gLmNhcmQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmFjY29yZGlvbiA+IC5jYXJkOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmFjY29yZGlvbiA+IC5jYXJkOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5hY2NvcmRpb24gPiAuY2FyZCA+IC5jYXJkLWhlYWRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG59XG5cbi5jYXJkLXBsYWNlaG9sZGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAyMSwgMC4wMjUpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgI2M0YzlkMDtcbn1cblxuLmNhcmQtaGVhZGVyLWljb24tYmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyLjgxMjVyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgbWFyZ2luOiAtMC43NXJlbSAxLjI1cmVtIC0wLjc1cmVtIC0xLjI1cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzYzRiNjQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICNkOGRiZTA7XG59XG5cbi5jYXJkLWhlYWRlci1hY3Rpb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuY2FyZC1oZWFkZXItYWN0aW9ucyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTtcbn1cbipbZGlyPXJ0bF0gLmNhcmQtaGVhZGVyLWFjdGlvbnMge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtO1xufVxuXG4uY2FyZC1oZWFkZXItYWN0aW9uIHtcbiAgcGFkZGluZzogMCAwLjI1cmVtO1xuICBjb2xvcjogIzhhOTNhMjtcbn1cbi5jYXJkLWhlYWRlci1hY3Rpb246aG92ZXIge1xuICBjb2xvcjogIzNjNGI2NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2FyZC1hY2NlbnQtcHJpbWFyeSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMzIxZmRiICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJkLWFjY2VudC1zZWNvbmRhcnkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2NlZDJkOCAhaW1wb3J0YW50O1xufVxuXG4uY2FyZC1hY2NlbnQtc3VjY2VzcyB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMmViODVjICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJkLWFjY2VudC1pbmZvIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMzOWYgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtYWNjZW50LXdhcm5pbmcge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2Y5YjExNSAhaW1wb3J0YW50O1xufVxuXG4uY2FyZC1hY2NlbnQtZGFuZ2VyIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlNTUzNTMgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtYWNjZW50LWxpZ2h0IHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlYmVkZWYgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtYWNjZW50LWRhcmsge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzYzNmY4MyAhaW1wb3J0YW50O1xufVxuXG4uY2FyZC1mdWxsIHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZGJlMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWNvbHVtbnMuY29scy0yIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbn1cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcm91c2VsLWlubmVyOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAxO1xufVxuLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIDAuNnM7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTUlO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2OmhvdmVyLCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3Zlcixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJS8xMDAlIDEwMCU7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAxNSU7XG4gIG1hcmdpbi1sZWZ0OiAxNSU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAxNSU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLWNoYXJ0LXdyYXBwZXIgY2FudmFzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmJhc2UtY2hhcnQuY2hhcnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuY2FudmFzIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAwLjU7XG4gIGNvbG9yOiAjMDAwMDE1O1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmNsb3NlOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMwMDAwMTU7XG4gIH1cbn1cbi5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpob3ZlciwgLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzIHtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5jb2RlIHtcbiAgZm9udC1zaXplOiA4Ny41JTtcbiAgY29sb3I6ICNlODNlOGM7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbmEgPiBjb2RlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gIGZvbnQtc2l6ZTogODcuNSU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY1ZDczO1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG59XG5rYmQga2JkIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4Ny41JTtcbiAgY29sb3I6ICM0ZjVkNzM7XG59XG5wcmUgY29kZSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbn1cblxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogMzQwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMS4zMTI1cmVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuY3VzdG9tLWNvbnRyb2wge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cbipbZGlyPXJ0bF0gLmN1c3RvbS1jb250cm9sIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMS4xNTYyNXJlbTtcbiAgb3BhY2l0eTogMDtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgbGVmdDogMDtcbn1cbipbZGlyPXJ0bF0gLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcmlnaHQ6IDA7XG59XG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbn1cbi5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTAsIDMxLCAyMTksIDAuMjUpO1xufVxuLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzk1OGJlZjtcbn1cbi5jdXN0b20tY29udHJvbC1pbnB1dDpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmViOGY1O1xuICBib3JkZXItY29sb3I6ICNiZWI4ZjU7XG59XG4uY3VzdG9tLWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogIzhhOTNhMjtcbn1cbi5jdXN0b20tY29udHJvbC1pbnB1dFtkaXNhYmxlZF0gfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkYmUwO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjE1NjI1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlcjogc29saWQgMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICM5ZGE1YjE7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgbGVmdDogLTEuNXJlbTtcbn1cbipbZGlyPXJ0bF0gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICByaWdodDogLTEuNXJlbTtcbn1cbi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC4xNTYyNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUvNTAlIDUwJTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IC0xLjVyZW07XG59XG4qW2Rpcj1ydGxdIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICByaWdodDogLTEuNXJlbTtcbn1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbn1cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnJTNlJTNjcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCwgMzEsIDIxOSwgMC41KTtcbn1cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsIDMxLCAyMTksIDAuNSk7XG59XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCwgMzEsIDIxOSwgMC41KTtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogMi4yNXJlbTtcbn1cbipbZGlyPXJ0bF0gLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjI1cmVtO1xufVxuLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICB3aWR0aDogMS43NXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGxlZnQ6IC0yLjI1cmVtO1xufVxuKltkaXI9cnRsXSAuY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIHJpZ2h0OiAtMi4yNXJlbTtcbn1cbi5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoMC4xNTYyNXJlbSArIDJweCk7XG4gIHdpZHRoOiBjYWxjKDFyZW0gLSA0cHgpO1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAtIDRweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZGE1YjE7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZGE1YjE7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBsZWZ0OiBjYWxjKC0yLjI1cmVtICsgMnB4KTtcbn1cbipbZGlyPXJ0bF0gLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIHJpZ2h0OiBjYWxjKC0yLjI1cmVtICsgMnB4KTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjc1cmVtKTtcbn1cbi5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLCAzMSwgMjE5LCAwLjUpO1xufVxuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAxLjc1cmVtIDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjb2xvcjogIzc2ODE5MjtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzYzNmY4MycgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHg7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cbi5jdXN0b20tc2VsZWN0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTU4YmVmO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MCwgMzEsIDIxOSwgMC4yNSk7XG59XG4uY3VzdG9tLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgY29sb3I6ICM3NjgxOTI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sIC5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sIGh0bWw6bm90KFtkaXI9cnRsXSkgLmN1c3RvbS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xufVxuKltkaXI9cnRsXSAuY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sICpbZGlyPXJ0bF0gLmN1c3RvbS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG59XG4uY3VzdG9tLXNlbGVjdDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjOGE5M2EyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkYmUwO1xufVxuLmN1c3RvbS1zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmN1c3RvbS1zZWxlY3Q6LW1vei1mb2N1c3Jpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgMCAjNzY4MTkyO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjc2NTYyNXJlbTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cbipbZGlyPXJ0bF0gLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMXJlbSArIDJweCk7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4wOTM3NXJlbTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmN1c3RvbS1zZWxlY3QtbGcge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4qW2Rpcj1ydGxdIC5jdXN0b20tc2VsZWN0LWxnIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbn1cbi5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUwLCAzMSwgMjE5LCAwLjI1KTtcbiAgYm9yZGVyLWNvbG9yOiAjOTU4YmVmO1xufVxuLmN1c3RvbS1maWxlLWlucHV0W2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCwgLmN1c3RvbS1maWxlLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGJlMDtcbn1cbi5jdXN0b20tZmlsZS1pbnB1dDpsYW5nKGVuKSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIkJyb3dzZVwiO1xufVxuLmN1c3RvbS1maWxlLWlucHV0IH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKGRhdGEtYnJvd3NlKTtcbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGNvbG9yOiAjNzY4MTkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNkOGRiZTA7XG59XG4uY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMDtcbiAgY29sb3I6ICM3NjgxOTI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICByaWdodDogMDtcbn1cbipbZGlyPXJ0bF0gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IDA7XG59XG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLmN1c3RvbS1yYW5nZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uY3VzdG9tLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZWJlZGVmLCAwIDAgMCAwLjJyZW0gcmdiYSg1MCwgMzEsIDIxOSwgMC4yNSk7XG59XG4uY3VzdG9tLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNlYmVkZWYsIDAgMCAwIDAuMnJlbSByZ2JhKDUwLCAzMSwgMjE5LCAwLjI1KTtcbn1cbi5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi1tcy10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZWJlZGVmLCAwIDAgMCAwLjJyZW0gcmdiYSg1MCwgMzEsIDIxOSwgMC4yNSk7XG59XG4uY3VzdG9tLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiAwO1xufVxuLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JlYjhmNTtcbn1cbi5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzlkMDtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIxZmRiO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JlYjhmNTtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjOWQwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjJyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGI7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uY3VzdG9tLXJhbmdlOjotbXMtdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JlYjhmNTtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tcy10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAuNXJlbTtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzlkMDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjOWQwO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWRhNWIxO1xufVxuLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlkYTViMTtcbn1cbi5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbXMtdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWRhNWIxO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uZHJvcHVwLFxuLmRyb3ByaWdodCxcbi5kcm9wZG93bixcbi5kcm9wbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG59XG4qW2Rpcj1ydGxdIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1NWVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgY29sb3I6ICMzYzRiNjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cblxuLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LFxuLm5hdmJhciAuZHJvcGRvd24tbWVudSxcbltkYXRhLWRpc3BsYXlePXN0YXRpY10gfiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbjogMC4xMjVyZW0gMCAwO1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlciAuZHJvcGRvd24tbWVudS1sZWZ0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2YmFyIC5kcm9wZG93bi1tZW51LWxlZnQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIFtkYXRhLWRpc3BsYXlePXN0YXRpY10gfiAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG4qW2Rpcj1ydGxdIC5jLWhlYWRlciAuZHJvcGRvd24tbWVudS1sZWZ0LFxuKltkaXI9cnRsXSAubmF2YmFyIC5kcm9wZG93bi1tZW51LWxlZnQsXG4qW2Rpcj1ydGxdIFtkYXRhLWRpc3BsYXlePXN0YXRpY10gfiAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2YmFyIC5kcm9wZG93bi1tZW51LXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbipbZGlyPXJ0bF0gLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LXJpZ2h0LFxuKltkaXI9cnRsXSAubmF2YmFyIC5kcm9wZG93bi1tZW51LXJpZ2h0LFxuKltkaXI9cnRsXSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LXNtLWxlZnQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUtc20tbGVmdCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgW2RhdGEtZGlzcGxheV49c3RhdGljXSB+IC5kcm9wZG93bi1tZW51LXNtLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUtc20tbGVmdCxcbipbZGlyPXJ0bF0gLm5hdmJhciAuZHJvcGRvd24tbWVudS1zbS1sZWZ0LFxuKltkaXI9cnRsXSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUtc20tbGVmdCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LXNtLXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2YmFyIC5kcm9wZG93bi1tZW51LXNtLXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUtc20tcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUtc20tcmlnaHQsXG4qW2Rpcj1ydGxdIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUtc20tcmlnaHQsXG4qW2Rpcj1ydGxdIFtkYXRhLWRpc3BsYXlePXN0YXRpY10gfiAuZHJvcGRvd24tbWVudS1zbS1yaWdodCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LW1kLWxlZnQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUtbWQtbGVmdCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgW2RhdGEtZGlzcGxheV49c3RhdGljXSB+IC5kcm9wZG93bi1tZW51LW1kLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUtbWQtbGVmdCxcbipbZGlyPXJ0bF0gLm5hdmJhciAuZHJvcGRvd24tbWVudS1tZC1sZWZ0LFxuKltkaXI9cnRsXSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUtbWQtbGVmdCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LW1kLXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2YmFyIC5kcm9wZG93bi1tZW51LW1kLXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUtbWQtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUtbWQtcmlnaHQsXG4qW2Rpcj1ydGxdIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUtbWQtcmlnaHQsXG4qW2Rpcj1ydGxdIFtkYXRhLWRpc3BsYXlePXN0YXRpY10gfiAuZHJvcGRvd24tbWVudS1tZC1yaWdodCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LWxnLWxlZnQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUtbGctbGVmdCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgW2RhdGEtZGlzcGxheV49c3RhdGljXSB+IC5kcm9wZG93bi1tZW51LWxnLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUtbGctbGVmdCxcbipbZGlyPXJ0bF0gLm5hdmJhciAuZHJvcGRvd24tbWVudS1sZy1sZWZ0LFxuKltkaXI9cnRsXSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUtbGctbGVmdCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LWxnLXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2YmFyIC5kcm9wZG93bi1tZW51LWxnLXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUtbGctcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUtbGctcmlnaHQsXG4qW2Rpcj1ydGxdIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUtbGctcmlnaHQsXG4qW2Rpcj1ydGxdIFtkYXRhLWRpc3BsYXlePXN0YXRpY10gfiAuZHJvcGRvd24tbWVudS1sZy1yaWdodCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlciAuZHJvcGRvd24tbWVudS14bC1sZWZ0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2YmFyIC5kcm9wZG93bi1tZW51LXhsLWxlZnQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIFtkYXRhLWRpc3BsYXlePXN0YXRpY10gfiAuZHJvcGRvd24tbWVudS14bC1sZWZ0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LXhsLWxlZnQsXG4qW2Rpcj1ydGxdIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUteGwtbGVmdCxcbipbZGlyPXJ0bF0gW2RhdGEtZGlzcGxheV49c3RhdGljXSB+IC5kcm9wZG93bi1tZW51LXhsLWxlZnQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlciAuZHJvcGRvd24tbWVudS14bC1yaWdodCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLm5hdmJhciAuZHJvcGRvd24tbWVudS14bC1yaWdodCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgW2RhdGEtZGlzcGxheV49c3RhdGljXSB+IC5kcm9wZG93bi1tZW51LXhsLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51LXhsLXJpZ2h0LFxuKltkaXI9cnRsXSAubmF2YmFyIC5kcm9wZG93bi1tZW51LXhsLXJpZ2h0LFxuKltkaXI9cnRsXSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUteGwtcmlnaHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUteHhsLWxlZnQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUteHhsLWxlZnQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIFtkYXRhLWRpc3BsYXlePXN0YXRpY10gfiAuZHJvcGRvd24tbWVudS14eGwtbGVmdCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLWhlYWRlciAuZHJvcGRvd24tbWVudS14eGwtbGVmdCxcbipbZGlyPXJ0bF0gLm5hdmJhciAuZHJvcGRvd24tbWVudS14eGwtbGVmdCxcbipbZGlyPXJ0bF0gW2RhdGEtZGlzcGxheV49c3RhdGljXSB+IC5kcm9wZG93bi1tZW51LXh4bC1sZWZ0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1oZWFkZXIgLmRyb3Bkb3duLW1lbnUteHhsLXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2YmFyIC5kcm9wZG93bi1tZW51LXh4bC1yaWdodCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgW2RhdGEtZGlzcGxheV49c3RhdGljXSB+IC5kcm9wZG93bi1tZW51LXh4bC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLWhlYWRlciAuZHJvcGRvd24tbWVudS14eGwtcmlnaHQsXG4qW2Rpcj1ydGxdIC5uYXZiYXIgLmRyb3Bkb3duLW1lbnUteHhsLXJpZ2h0LFxuKltkaXI9cnRsXSBbZGF0YS1kaXNwbGF5Xj1zdGF0aWNdIH4gLmRyb3Bkb3duLW1lbnUteHhsLXJpZ2h0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG59XG4uZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xufVxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkO1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbn1cbipbZGlyPXJ0bF0gLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAuZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuZHJvcHJpZ2h0IC5kcm9wZG93bi1tZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTtcbn1cbipbZGlyPXJ0bF0gLmRyb3ByaWdodCAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtO1xufVxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbn1cbipbZGlyPXJ0bF0gLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAuZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4uZHJvcGxlZnQgLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5kcm9wbGVmdCAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtO1xufVxuKltkaXI9cnRsXSAuZHJvcGxlZnQgLmRyb3Bkb3duLW1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtO1xufVxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjU1ZW07XG59XG4qW2Rpcj1ydGxdIC5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcbn1cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAuZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDAuNXJlbSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q4ZGJlMDtcbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC41cmVtIDEuMjVyZW07XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzRmNWQ3Mztcbn1cbi5kcm9wZG93bi1pdGVtOmhvdmVyLCAuZHJvcGRvd24taXRlbTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0NTUxNjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG59XG4uZHJvcGRvd24taXRlbS5hY3RpdmUsIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGI7XG59XG4uZHJvcGRvd24taXRlbS5kaXNhYmxlZCwgLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOGE5M2EyO1xufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41cmVtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NjU2MjVyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiAjOGE5M2EyO1xufVxuXG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjI1cmVtO1xuICBjb2xvcjogIzRmNWQ3Mztcbn1cblxuLmMtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDUwcHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAwIDFyZW07XG59XG4uYy1mb290ZXJbY2xhc3MqPWJnLV0ge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMSk7XG59XG4uYy1mb290ZXIuYy1mb290ZXItZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7XG59XG5cbi5jLWZvb3Rlci5jLWZvb3Rlci1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICM2MzZmODM7XG59XG5cbi5jLWZvb3RlciB7XG4gIGNvbG9yOiAjM2M0YjY0O1xuICBiYWNrZ3JvdW5kOiAjZWJlZGVmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q4ZGJlMDtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgMC43NXJlbSArIDJweCk7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBjb2xvcjogIzc2ODE5MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZDhkYmUwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1jb250cm9sOjotbXMtZXhwYW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cbi5mb3JtLWNvbnRyb2w6LW1vei1mb2N1c3Jpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgMCAjNzY4MTkyO1xufVxuLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gIGNvbG9yOiAjNzY4MTkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICM5NThiZWY7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUwLCAzMSwgMjE5LCAwLjI1KTtcbn1cbi5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4YTkzYTI7XG4gIG9wYWNpdHk6IDE7XG59XG4uZm9ybS1jb250cm9sOmRpc2FibGVkLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGRiZTA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbmlucHV0W3R5cGU9ZGF0ZV0uZm9ybS1jb250cm9sLFxuaW5wdXRbdHlwZT10aW1lXS5mb3JtLWNvbnRyb2wsXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXS5mb3JtLWNvbnRyb2wsXG5pbnB1dFt0eXBlPW1vbnRoXS5mb3JtLWNvbnRyb2wge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUge1xuICBjb2xvcjogIzc2ODE5MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbnNlbGVjdC5mb3JtLWNvbnRyb2wgb3B0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4zNzVyZW0gKyAxcHgpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjM3NXJlbSArIDFweCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41cmVtICsgMXB4KTtcbiAgZm9udC1zaXplOiAxLjA5Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjI1cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSArIDFweCk7XG4gIGZvbnQtc2l6ZTogMC43NjU2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgY29sb3I6ICMzYzRiNjQ7XG59XG4uZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc20sIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1sZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuNzY1NjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4wOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sW3NpemVdLCBzZWxlY3QuZm9ybS1jb250cm9sW211bHRpcGxlXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xufVxuLmZvcm0tcm93ID4gLmNvbCxcbi5mb3JtLXJvdyA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5mb3JtLWNoZWNrIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuKltkaXI9cnRsXSAuZm9ybS1jaGVjayB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAwLjNyZW07XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xufVxuKltkaXI9cnRsXSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogLTEuMjVyZW07XG59XG4uZm9ybS1jaGVjay1pbnB1dFtkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQ6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAjNzY4MTkyO1xufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuZm9ybS1jaGVjay1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cbipbZGlyPXJ0bF0gLmZvcm0tY2hlY2staW5saW5lIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG59XG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4qW2Rpcj1ydGxdIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbn1cblxuLnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogIzJlYjg1Yztcbn1cblxuLnZhbGlkLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC4xcmVtO1xuICBmb250LXNpemU6IDAuNzY1NjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgMTg0LCA5MiwgMC45KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLndhcy12YWxpZGF0ZWQgOnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgOnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsXG4uaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4uaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmViODVjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyMzJlYjg1YycgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCwgaHRtbDpub3QoW2Rpcj1ydGxdKSAuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xufVxuKltkaXI9cnRsXSAud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkLCAqW2Rpcj1ydGxdIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCwgaHRtbDpub3QoW2Rpcj1ydGxdKSAuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7XG59XG4qW2Rpcj1ydGxdIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWQsICpbZGlyPXJ0bF0gLmZvcm0tY29udHJvbC5pcy12YWxpZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmViODVjO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NiwgMTg0LCA5MiwgMC4yNSk7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOnZhbGlkLCBodG1sOm5vdChbZGlyPXJ0bF0pIHRleHRhcmVhLmZvcm0tY29udHJvbC5pcy12YWxpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKTtcbn1cbipbZGlyPXJ0bF0gLndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOnZhbGlkLCAqW2Rpcj1ydGxdIHRleHRhcmVhLmZvcm0tY29udHJvbC5pcy12YWxpZCB7XG4gIHBhZGRpbmctbGVmdDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBsZWZ0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogIzJlYjg1YztcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjM2MzZmODMnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2VcIikgbm8tcmVwZWF0IHJpZ2h0IDAuNzVyZW0gY2VudGVyLzhweCAxMHB4LCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyMzJlYjg1YycgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKSAjZmZmIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMS43NXJlbS9jYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQsIGh0bWw6bm90KFtkaXI9cnRsXSkgLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNzVlbSArIDIuMzEyNXJlbSk7XG59XG4qW2Rpcj1ydGxdIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkLCAqW2Rpcj1ydGxdIC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuNzVlbSArIDIuMzEyNXJlbSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZDpmb2N1cywgLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMyZWI4NWM7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQ2LCAxODQsIDkyLCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAjMmViODVjO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogIzJlYjg1Yztcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzJlYjg1Yztcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM0OGQxNzY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OGQxNzY7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NiwgMTg0LCA5MiwgMC4yNSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmViODVjO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzJlYjg1Yztcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCwgLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmViODVjO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0NiwgMTg0LCA5MiwgMC4yNSk7XG59XG5cbi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2U1NTM1Mztcbn1cblxuLmludmFsaWQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC43NjU2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyOSwgODMsIDgzLCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4ud2FzLXZhbGlkYXRlZCA6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgOmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLFxuLmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogI2U1NTM1MztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNlNTUzNTMnIHZpZXdCb3g9JzAgMCAxMiAxMiclM2UlM2NjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLyUzZSUzY3BhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8lM2UlM2NjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPSclMjNlNTUzNTMnIHN0cm9rZT0nbm9uZScvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbn1cbipbZGlyPXJ0bF0gLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCAqW2Rpcj1ydGxdIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gIHBhZGRpbmctbGVmdDogY2FsYygxLjVlbSArIDAuNzVyZW0pO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQsIGh0bWw6bm90KFtkaXI9cnRsXSkgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7XG59XG4qW2Rpcj1ydGxdIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgKltkaXI9cnRsXSAuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgY2VudGVyO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNlNTUzNTM7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyOSwgODMsIDgzLCAwLjI1KTtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6aW52YWxpZCwgaHRtbDpub3QoW2Rpcj1ydGxdKSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKTtcbn1cbipbZGlyPXJ0bF0gLndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOmludmFsaWQsICpbZGlyPXJ0bF0gdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMS41ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoMC4zNzVlbSArIDAuMTg3NXJlbSkgbGVmdCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkLCAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzYzNmY4MycgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHgsIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZTU1MzUzJyB2aWV3Qm94PScwIDAgMTIgMTInJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZTU1MzUzJyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2VcIikgI2ZmZiBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDEuNzVyZW0vY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQsIGh0bWw6bm90KFtkaXI9cnRsXSkgLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC43NWVtICsgMi4zMTI1cmVtKTtcbn1cbipbZGlyPXJ0bF0gLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCwgKltkaXI9cnRsXSAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuNzVlbSArIDIuMzEyNXJlbSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkOmZvY3VzLCAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjksIDgzLCA4MywgMC4yNSk7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICNlNTUzNTM7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLFxuLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgY29sb3I6ICNlNTUzNTM7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNlYzdmN2Y7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYzdmN2Y7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI5LCA4MywgODMsIDAuMjUpO1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNlNTUzNTM7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2U1NTM1Mztcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2U1NTM1MztcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjI5LCA4MywgODMsIDAuMjUpO1xufVxuXG4uZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZvcm0taW5saW5lIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAsXG4uZm9ybS1pbmxpbmUgLmN1c3RvbS1zZWxlY3Qge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gICpbZGlyPXJ0bF0gLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIH1cbiAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICBtYXgtd2lkdGg6IDNyZW07XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xufVxuXG4uZm9ybS1jb250cm9sLWNvbG9yOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5mb3JtLWNvbnRyb2wtY29sb3I6Oi13ZWJraXQtY29sb3Itc3dhdGNoIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTMyMHB4O1xuICB9XG59XG5cbi5jb250YWluZXItZmx1aWQsIC5jb250YWluZXIteHhsLCAuY29udGFpbmVyLXhsLCAuY29udGFpbmVyLWxnLCAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb250YWluZXItc20sIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbnRhaW5lci1sZywgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFpbmVyLXhsLCAuY29udGFpbmVyLWxnLCAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuY29udGFpbmVyLXh4bCwgLmNvbnRhaW5lci14bCwgLmNvbnRhaW5lci1sZywgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gIH1cbn1cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm5vLWd1dHRlcnMgPiAuY29sLFxuLm5vLWd1dHRlcnMgPiBbY2xhc3MqPWNvbC1dIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY29sLXh4bCxcbi5jb2wteHhsLWF1dG8sIC5jb2wteHhsLTEyLCAuY29sLXh4bC0xMSwgLmNvbC14eGwtMTAsIC5jb2wteHhsLTksIC5jb2wteHhsLTgsIC5jb2wteHhsLTcsIC5jb2wteHhsLTYsIC5jb2wteHhsLTUsIC5jb2wteHhsLTQsIC5jb2wteHhsLTMsIC5jb2wteHhsLTIsIC5jb2wteHhsLTEsIC5jb2wteGwsXG4uY29sLXhsLWF1dG8sIC5jb2wteGwtMTIsIC5jb2wteGwtMTEsIC5jb2wteGwtMTAsIC5jb2wteGwtOSwgLmNvbC14bC04LCAuY29sLXhsLTcsIC5jb2wteGwtNiwgLmNvbC14bC01LCAuY29sLXhsLTQsIC5jb2wteGwtMywgLmNvbC14bC0yLCAuY29sLXhsLTEsIC5jb2wtbGcsXG4uY29sLWxnLWF1dG8sIC5jb2wtbGctMTIsIC5jb2wtbGctMTEsIC5jb2wtbGctMTAsIC5jb2wtbGctOSwgLmNvbC1sZy04LCAuY29sLWxnLTcsIC5jb2wtbGctNiwgLmNvbC1sZy01LCAuY29sLWxnLTQsIC5jb2wtbGctMywgLmNvbC1sZy0yLCAuY29sLWxnLTEsIC5jb2wtbWQsXG4uY29sLW1kLWF1dG8sIC5jb2wtbWQtMTIsIC5jb2wtbWQtMTEsIC5jb2wtbWQtMTAsIC5jb2wtbWQtOSwgLmNvbC1tZC04LCAuY29sLW1kLTcsIC5jb2wtbWQtNiwgLmNvbC1tZC01LCAuY29sLW1kLTQsIC5jb2wtbWQtMywgLmNvbC1tZC0yLCAuY29sLW1kLTEsIC5jb2wtc20sXG4uY29sLXNtLWF1dG8sIC5jb2wtc20tMTIsIC5jb2wtc20tMTEsIC5jb2wtc20tMTAsIC5jb2wtc20tOSwgLmNvbC1zbS04LCAuY29sLXNtLTcsIC5jb2wtc20tNiwgLmNvbC1zbS01LCAuY29sLXNtLTQsIC5jb2wtc20tMywgLmNvbC1zbS0yLCAuY29sLXNtLTEsIC5jb2wsXG4uY29sLWF1dG8sIC5jb2wtMTIsIC5jb2wtMTEsIC5jb2wtMTAsIC5jb2wtOSwgLmNvbC04LCAuY29sLTcsIC5jb2wtNiwgLmNvbC01LCAuY29sLTQsIC5jb2wtMywgLmNvbC0yLCAuY29sLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5jb2wge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucm93LWNvbHMtMSA+ICoge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucm93LWNvbHMtMiA+ICoge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLnJvdy1jb2xzLTMgPiAqIHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4ucm93LWNvbHMtNCA+ICoge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLnJvdy1jb2xzLTUgPiAqIHtcbiAgZmxleDogMCAwIDIwJTtcbiAgbWF4LXdpZHRoOiAyMCU7XG59XG5cbi5yb3ctY29scy02ID4gKiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC1hdXRvIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jb2wtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5jb2wtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5jb2wtNCB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmNvbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlO1xufVxuXG4uY29sLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm9yZGVyLWZpcnN0IHtcbiAgb3JkZXI6IC0xO1xufVxuXG4ub3JkZXItbGFzdCB7XG4gIG9yZGVyOiAxMztcbn1cblxuLm9yZGVyLTAge1xuICBvcmRlcjogMDtcbn1cblxuLm9yZGVyLTEge1xuICBvcmRlcjogMTtcbn1cblxuLm9yZGVyLTIge1xuICBvcmRlcjogMjtcbn1cblxuLm9yZGVyLTMge1xuICBvcmRlcjogMztcbn1cblxuLm9yZGVyLTQge1xuICBvcmRlcjogNDtcbn1cblxuLm9yZGVyLTUge1xuICBvcmRlcjogNTtcbn1cblxuLm9yZGVyLTYge1xuICBvcmRlcjogNjtcbn1cblxuLm9yZGVyLTcge1xuICBvcmRlcjogNztcbn1cblxuLm9yZGVyLTgge1xuICBvcmRlcjogODtcbn1cblxuLm9yZGVyLTkge1xuICBvcmRlcjogOTtcbn1cblxuLm9yZGVyLTEwIHtcbiAgb3JkZXI6IDEwO1xufVxuXG4ub3JkZXItMTEge1xuICBvcmRlcjogMTE7XG59XG5cbi5vcmRlci0xMiB7XG4gIG9yZGVyOiAxMjtcbn1cblxuLm9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLm9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTtcbn1cblxuLm9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4ub2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLm9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4ub2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4ub2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4ub2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbC1zbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS0xID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXNtLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXNtLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS00ID4gKiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS01ID4gKiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS02ID4gKiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb2wtc20tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1zbS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtc20tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1zbS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC1zbS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtc20tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cblxuICAuY29sLXNtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtc20tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1zbS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm9yZGVyLXNtLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7XG4gIH1cblxuICAub3JkZXItc20tbGFzdCB7XG4gICAgb3JkZXI6IDEzO1xuICB9XG5cbiAgLm9yZGVyLXNtLTAge1xuICAgIG9yZGVyOiAwO1xuICB9XG5cbiAgLm9yZGVyLXNtLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgLm9yZGVyLXNtLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgLm9yZGVyLXNtLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG5cbiAgLm9yZGVyLXNtLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG5cbiAgLm9yZGVyLXNtLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG5cbiAgLm9yZGVyLXNtLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG5cbiAgLm9yZGVyLXNtLTcge1xuICAgIG9yZGVyOiA3O1xuICB9XG5cbiAgLm9yZGVyLXNtLTgge1xuICAgIG9yZGVyOiA4O1xuICB9XG5cbiAgLm9yZGVyLXNtLTkge1xuICAgIG9yZGVyOiA5O1xuICB9XG5cbiAgLm9yZGVyLXNtLTEwIHtcbiAgICBvcmRlcjogMTA7XG4gIH1cblxuICAub3JkZXItc20tMTEge1xuICAgIG9yZGVyOiAxMTtcbiAgfVxuXG4gIC5vcmRlci1zbS0xMiB7XG4gICAgb3JkZXI6IDEyO1xuICB9XG5cbiAgLm9mZnNldC1zbS0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5vZmZzZXQtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cblxuICAub2Zmc2V0LXNtLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG5cbiAgLm9mZnNldC1zbS0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1zbS0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC1tZCB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1tZC0xID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLW1kLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLW1kLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5yb3ctY29scy1tZC00ID4gKiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5yb3ctY29scy1tZC01ID4gKiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1tZC02ID4gKiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLW1kLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb2wtbWQtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1tZC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5jb2wtbWQtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLW1kLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1tZC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC1tZC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbWQtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLW1kLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cblxuICAuY29sLW1kLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbWQtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1tZC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm9yZGVyLW1kLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7XG4gIH1cblxuICAub3JkZXItbWQtbGFzdCB7XG4gICAgb3JkZXI6IDEzO1xuICB9XG5cbiAgLm9yZGVyLW1kLTAge1xuICAgIG9yZGVyOiAwO1xuICB9XG5cbiAgLm9yZGVyLW1kLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgLm9yZGVyLW1kLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgLm9yZGVyLW1kLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG5cbiAgLm9yZGVyLW1kLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG5cbiAgLm9yZGVyLW1kLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG5cbiAgLm9yZGVyLW1kLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG5cbiAgLm9yZGVyLW1kLTcge1xuICAgIG9yZGVyOiA3O1xuICB9XG5cbiAgLm9yZGVyLW1kLTgge1xuICAgIG9yZGVyOiA4O1xuICB9XG5cbiAgLm9yZGVyLW1kLTkge1xuICAgIG9yZGVyOiA5O1xuICB9XG5cbiAgLm9yZGVyLW1kLTEwIHtcbiAgICBvcmRlcjogMTA7XG4gIH1cblxuICAub3JkZXItbWQtMTEge1xuICAgIG9yZGVyOiAxMTtcbiAgfVxuXG4gIC5vcmRlci1tZC0xMiB7XG4gICAgb3JkZXI6IDEyO1xuICB9XG5cbiAgLm9mZnNldC1tZC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtbWQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5vZmZzZXQtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cblxuICAub2Zmc2V0LW1kLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtbWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1tZC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG5cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1tZC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbC1sZyB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy0xID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLWxnLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLWxnLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy00ID4gKiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy01ID4gKiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy02ID4gKiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLWxnLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb2wtbGctMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1sZy0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbGctMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5jb2wtbGctNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLWxnLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC1sZy03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbGctOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLWxnLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cblxuICAuY29sLWxnLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbGctMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm9yZGVyLWxnLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7XG4gIH1cblxuICAub3JkZXItbGctbGFzdCB7XG4gICAgb3JkZXI6IDEzO1xuICB9XG5cbiAgLm9yZGVyLWxnLTAge1xuICAgIG9yZGVyOiAwO1xuICB9XG5cbiAgLm9yZGVyLWxnLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgLm9yZGVyLWxnLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgLm9yZGVyLWxnLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG5cbiAgLm9yZGVyLWxnLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG5cbiAgLm9yZGVyLWxnLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG5cbiAgLm9yZGVyLWxnLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG5cbiAgLm9yZGVyLWxnLTcge1xuICAgIG9yZGVyOiA3O1xuICB9XG5cbiAgLm9yZGVyLWxnLTgge1xuICAgIG9yZGVyOiA4O1xuICB9XG5cbiAgLm9yZGVyLWxnLTkge1xuICAgIG9yZGVyOiA5O1xuICB9XG5cbiAgLm9yZGVyLWxnLTEwIHtcbiAgICBvcmRlcjogMTA7XG4gIH1cblxuICAub3JkZXItbGctMTEge1xuICAgIG9yZGVyOiAxMTtcbiAgfVxuXG4gIC5vcmRlci1sZy0xMiB7XG4gICAgb3JkZXI6IDEyO1xuICB9XG5cbiAgLm9mZnNldC1sZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5vZmZzZXQtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtbGctOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1sZy05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG5cbiAgLm9mZnNldC1sZy0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1sZy0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wteGwge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucm93LWNvbHMteGwtMSA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy14bC0yID4gKiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5yb3ctY29scy14bC0zID4gKiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAucm93LWNvbHMteGwtNCA+ICoge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAucm93LWNvbHMteGwtNSA+ICoge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cblxuICAucm93LWNvbHMteGwtNiA+ICoge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29sLXhsLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteGwtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXhsLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bC01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteGwtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5jb2wteGwtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhsLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG5cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXhsLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteGwtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5vcmRlci14bC1maXJzdCB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG5cbiAgLm9yZGVyLXhsLWxhc3Qge1xuICAgIG9yZGVyOiAxMztcbiAgfVxuXG4gIC5vcmRlci14bC0wIHtcbiAgICBvcmRlcjogMDtcbiAgfVxuXG4gIC5vcmRlci14bC0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuXG4gIC5vcmRlci14bC0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIC5vcmRlci14bC0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuXG4gIC5vcmRlci14bC00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuXG4gIC5vcmRlci14bC01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuXG4gIC5vcmRlci14bC02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxuXG4gIC5vcmRlci14bC03IHtcbiAgICBvcmRlcjogNztcbiAgfVxuXG4gIC5vcmRlci14bC04IHtcbiAgICBvcmRlcjogODtcbiAgfVxuXG4gIC5vcmRlci14bC05IHtcbiAgICBvcmRlcjogOTtcbiAgfVxuXG4gIC5vcmRlci14bC0xMCB7XG4gICAgb3JkZXI6IDEwO1xuICB9XG5cbiAgLm9yZGVyLXhsLTExIHtcbiAgICBvcmRlcjogMTE7XG4gIH1cblxuICAub3JkZXIteGwtMTIge1xuICAgIG9yZGVyOiAxMjtcbiAgfVxuXG4gIC5vZmZzZXQteGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAub2Zmc2V0LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC14bC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG5cbiAgLm9mZnNldC14bC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQteGwtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuY29sLXh4bCB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy14eGwtMSA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy14eGwtMiA+ICoge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cblxuICAucm93LWNvbHMteHhsLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5yb3ctY29scy14eGwtNCA+ICoge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAucm93LWNvbHMteHhsLTUgPiAqIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXh4bC02ID4gKiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXh4bC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29sLXh4bC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXh4bC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wteHhsLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLXh4bC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteHhsLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14eGwtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5jb2wteHhsLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14eGwtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXh4bC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG5cbiAgLmNvbC14eGwtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14eGwtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14eGwtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5vcmRlci14eGwtZmlyc3Qge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuXG4gIC5vcmRlci14eGwtbGFzdCB7XG4gICAgb3JkZXI6IDEzO1xuICB9XG5cbiAgLm9yZGVyLXh4bC0wIHtcbiAgICBvcmRlcjogMDtcbiAgfVxuXG4gIC5vcmRlci14eGwtMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cblxuICAub3JkZXIteHhsLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgLm9yZGVyLXh4bC0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuXG4gIC5vcmRlci14eGwtNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cblxuICAub3JkZXIteHhsLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG5cbiAgLm9yZGVyLXh4bC02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxuXG4gIC5vcmRlci14eGwtNyB7XG4gICAgb3JkZXI6IDc7XG4gIH1cblxuICAub3JkZXIteHhsLTgge1xuICAgIG9yZGVyOiA4O1xuICB9XG5cbiAgLm9yZGVyLXh4bC05IHtcbiAgICBvcmRlcjogOTtcbiAgfVxuXG4gIC5vcmRlci14eGwtMTAge1xuICAgIG9yZGVyOiAxMDtcbiAgfVxuXG4gIC5vcmRlci14eGwtMTEge1xuICAgIG9yZGVyOiAxMTtcbiAgfVxuXG4gIC5vcmRlci14eGwtMTIge1xuICAgIG9yZGVyOiAxMjtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLm9mZnNldC14eGwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXh4bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXh4bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG5cbiAgLm9mZnNldC14eGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14eGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC14eGwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQteHhsLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cblxuICAub2Zmc2V0LXh4bC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14eGwtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuLnJvdy5yb3ctZXF1YWwge1xuICBwYWRkaW5nLXJpZ2h0OiA3LjVweDtcbiAgcGFkZGluZy1sZWZ0OiA3LjVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuLnJvdy5yb3ctZXF1YWwgW2NsYXNzKj1jb2wtXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDcuNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDcuNXB4O1xufVxuXG4ubWFpbiAuY29udGFpbmVyLWZsdWlkLCAubWFpbiAuY29udGFpbmVyLXNtLCAubWFpbiAuY29udGFpbmVyLW1kLCAubWFpbiAuY29udGFpbmVyLWxnLCAubWFpbiAuY29udGFpbmVyLXhsLCAubWFpbiAuY29udGFpbmVyLXh4bCB7XG4gIHBhZGRpbmc6IDAgMzBweDtcbn1cblxuLmMtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4taGVpZ2h0OiA1NnB4O1xufVxuLmMtaGVhZGVyW2NsYXNzKj1iZy1dIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjEpO1xufVxuLmMtaGVhZGVyLmMtaGVhZGVyLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAyOTtcbn1cbi5jLWhlYWRlciAuYy1zdWJoZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uYy1oZWFkZXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1NnB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xufVxuLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1NnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1jZW50ZXIge1xuICBsZWZ0OiA1MCU7XG59XG4qW2Rpcj1ydGxdIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1jZW50ZXIge1xuICByaWdodDogNTAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC14cy1kb3duLWNlbnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTZweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1oZWFkZXItYnJhbmQuYy1oZWFkZXItYnJhbmQteHMtZG93bi1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC14cy1kb3duLWNlbnRlciB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxufVxuLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXhzLXVwLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1NnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC14cy11cC1jZW50ZXIge1xuICBsZWZ0OiA1MCU7XG59XG4qW2Rpcj1ydGxdIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC14cy11cC1jZW50ZXIge1xuICByaWdodDogNTAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1zbS1kb3duLWNlbnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTZweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1oZWFkZXItYnJhbmQuYy1oZWFkZXItYnJhbmQtc20tZG93bi1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1zbS1kb3duLWNlbnRlciB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1zbS11cC1jZW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU2cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXNtLXVwLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXNtLXVwLWNlbnRlciB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1tZC1kb3duLWNlbnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTZweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1oZWFkZXItYnJhbmQuYy1oZWFkZXItYnJhbmQtbWQtZG93bi1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1tZC1kb3duLWNlbnRlciB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1tZC11cC1jZW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU2cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLW1kLXVwLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLW1kLXVwLWNlbnRlciB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAuYy1oZWFkZXItYnJhbmQuYy1oZWFkZXItYnJhbmQtbGctZG93bi1jZW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU2cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLWxnLWRvd24tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1oZWFkZXItYnJhbmQuYy1oZWFkZXItYnJhbmQtbGctZG93bi1jZW50ZXIge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYy1oZWFkZXItYnJhbmQuYy1oZWFkZXItYnJhbmQtbGctdXAtY2VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1NnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1sZy11cC1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC1sZy11cC1jZW50ZXIge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXhsLWRvd24tY2VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1NnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC14bC1kb3duLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXhsLWRvd24tY2VudGVyIHtcbiAgICByaWdodDogNTAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC14bC11cC1jZW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU2cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXhsLXVwLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXhsLXVwLWNlbnRlciB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxufVxuLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXh4bC1kb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1NnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC14eGwtZG93bi1jZW50ZXIge1xuICBsZWZ0OiA1MCU7XG59XG4qW2Rpcj1ydGxdIC5jLWhlYWRlci1icmFuZC5jLWhlYWRlci1icmFuZC14eGwtZG93bi1jZW50ZXIge1xuICByaWdodDogNTAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuYy1oZWFkZXItYnJhbmQuYy1oZWFkZXItYnJhbmQteHhsLXVwLWNlbnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTZweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1oZWFkZXItYnJhbmQuYy1oZWFkZXItYnJhbmQteHhsLXVwLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtaGVhZGVyLWJyYW5kLmMtaGVhZGVyLWJyYW5kLXh4bC11cC1jZW50ZXIge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbn1cblxuLmMtaGVhZGVyLXRvZ2dsZXIge1xuICBtaW4td2lkdGg6IDUwcHg7XG4gIGZvbnQtc2l6ZTogMS4wOTM3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5jLWhlYWRlci10b2dnbGVyOmhvdmVyIHtcbiAgICBjb2xvcjogIzNjNGI2NDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi5jLWhlYWRlci10b2dnbGVyOmZvY3VzLCAuYy1oZWFkZXItdG9nZ2xlci5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uYy1oZWFkZXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmMtZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYy1oZWFkZXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMS4zNjcxODc1cmVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLmMtaGVhZGVyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDU2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtYnRuOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG46Zm9jdXMsIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG4uZm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmMtaGVhZGVyLW5hdiAuYy1oZWFkZXItbmF2LWxpbmssXG4uYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cbi5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1saW5rIC5iYWRnZSxcbi5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTE2cHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1saW5rIC5iYWRnZSxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtaGVhZGVyLW5hdiAuYy1oZWFkZXItbmF2LWJ0biAuYmFkZ2Uge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtbGluayAuYmFkZ2UsXG4qW2Rpcj1ydGxdIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG4gLmJhZGdlIHtcbiAgcmlnaHQ6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmMtaGVhZGVyLW5hdiAuYy1oZWFkZXItbmF2LWxpbms6aG92ZXIsXG4uYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtYnRuOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtaGVhZGVyLW5hdiAuZHJvcGRvd24taXRlbSB7XG4gIG1pbi13aWR0aDogMTgwcHg7XG59XG5cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIHtcbiAgYmFja2dyb3VuZDogIzNjNGI2NDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2MzZmODM7XG59XG4uYy1oZWFkZXIuYy1oZWFkZXItZGFyayAuYy1zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzYzNmY4Mztcbn1cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci1icmFuZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci1icmFuZDpob3ZlciwgLmMtaGVhZGVyLmMtaGVhZGVyLWRhcmsgLmMtaGVhZGVyLWJyYW5kOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYy1oZWFkZXIuYy1oZWFkZXItZGFyayAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtbGluayxcbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG4ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1saW5rOmhvdmVyLCAuYy1oZWFkZXIuYy1oZWFkZXItZGFyayAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtbGluazpmb2N1cyxcbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG46aG92ZXIsXG4uYy1oZWFkZXIuYy1oZWFkZXItZGFyayAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtYnRuOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1saW5rLmMtZGlzYWJsZWQsXG4uYy1oZWFkZXIuYy1oZWFkZXItZGFyayAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtYnRuLmMtZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci1uYXYgLmMtc2hvdyA+IC5jLWhlYWRlci1uYXYtbGluayxcbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci1uYXYgLmMtYWN0aXZlID4gLmMtaGVhZGVyLW5hdi1saW5rLFxuLmMtaGVhZGVyLmMtaGVhZGVyLWRhcmsgLmMtaGVhZGVyLW5hdiAuYy1oZWFkZXItbmF2LWxpbmsuYy1zaG93LFxuLmMtaGVhZGVyLmMtaGVhZGVyLWRhcmsgLmMtaGVhZGVyLW5hdiAuYy1oZWFkZXItbmF2LWxpbmsuYy1hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci10b2dnbGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLmMtaGVhZGVyLmMtaGVhZGVyLWRhcmsgLmMtaGVhZGVyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpJyBzdHJva2Utd2lkdGg9JzIuMjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci10b2dnbGVyLWljb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpJyBzdHJva2Utd2lkdGg9JzIuMjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jLWhlYWRlci5jLWhlYWRlci1kYXJrIC5jLWhlYWRlci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG59XG4uYy1oZWFkZXIuYy1oZWFkZXItZGFyayAuYy1oZWFkZXItdGV4dCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYy1oZWFkZXIuYy1oZWFkZXItZGFyayAuYy1oZWFkZXItdGV4dCBhOmhvdmVyLCAuYy1oZWFkZXIuYy1oZWFkZXItZGFyayAuYy1oZWFkZXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkYmUwO1xufVxuLmMtaGVhZGVyIC5jLXN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDhkYmUwO1xufVxuLmMtaGVhZGVyIC5jLWhlYWRlci1icmFuZCB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5jLWhlYWRlciAuYy1oZWFkZXItYnJhbmQ6aG92ZXIsIC5jLWhlYWRlciAuYy1oZWFkZXItYnJhbmQ6Zm9jdXMge1xuICBjb2xvcjogIzNhNDU1NTtcbn1cbi5jLWhlYWRlciAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtbGluayxcbi5jLWhlYWRlciAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtYnRuIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNSk7XG59XG4uYy1oZWFkZXIgLmMtaGVhZGVyLW5hdiAuYy1oZWFkZXItbmF2LWxpbms6aG92ZXIsIC5jLWhlYWRlciAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtbGluazpmb2N1cyxcbi5jLWhlYWRlciAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtYnRuOmhvdmVyLFxuLmMtaGVhZGVyIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG46Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC43KTtcbn1cbi5jLWhlYWRlciAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtbGluay5jLWRpc2FibGVkLFxuLmMtaGVhZGVyIC5jLWhlYWRlci1uYXYgLmMtaGVhZGVyLW5hdi1idG4uYy1kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjMpO1xufVxuLmMtaGVhZGVyIC5jLWhlYWRlci1uYXYgLmMtc2hvdyA+IC5jLWhlYWRlci1uYXYtbGluayxcbi5jLWhlYWRlciAuYy1oZWFkZXItbmF2IC5jLWFjdGl2ZSA+IC5jLWhlYWRlci1uYXYtbGluayxcbi5jLWhlYWRlciAuYy1oZWFkZXItbmF2IC5jLWhlYWRlci1uYXYtbGluay5jLXNob3csXG4uYy1oZWFkZXIgLmMtaGVhZGVyLW5hdiAuYy1oZWFkZXItbmF2LWxpbmsuYy1hY3RpdmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC45KTtcbn1cbi5jLWhlYWRlciAuYy1oZWFkZXItdG9nZ2xlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMSk7XG59XG4uYy1oZWFkZXIgLmMtaGVhZGVyLXRvZ2dsZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSdyZ2JhKDAsIDAsIDIxLCAwLjUpJyBzdHJva2Utd2lkdGg9JzIuMjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jLWhlYWRlciAuYy1oZWFkZXItdG9nZ2xlci1pY29uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9J3JnYmEoMCwgMCwgMjEsIDAuNyknIHN0cm9rZS13aWR0aD0nMi4yNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmMtaGVhZGVyIC5jLWhlYWRlci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNSk7XG59XG4uYy1oZWFkZXIgLmMtaGVhZGVyLXRleHQgYSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjkpO1xufVxuLmMtaGVhZGVyIC5jLWhlYWRlci10ZXh0IGE6aG92ZXIsIC5jLWhlYWRlciAuYy1oZWFkZXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuOSk7XG59XG5cbi5jLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbi5jLWljb246bm90KC5jLWljb24tYy1zKTpub3QoLmMtaWNvbi1jdXN0b20tc2l6ZSkge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi0yeGwge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBmb250LXNpemU6IDJyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi0zeGwge1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBmb250LXNpemU6IDNyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi00eGwge1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiA0cmVtO1xuICBmb250LXNpemU6IDRyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi01eGwge1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiA1cmVtO1xuICBmb250LXNpemU6IDVyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi02eGwge1xuICB3aWR0aDogNnJlbTtcbiAgaGVpZ2h0OiA2cmVtO1xuICBmb250LXNpemU6IDZyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi03eGwge1xuICB3aWR0aDogN3JlbTtcbiAgaGVpZ2h0OiA3cmVtO1xuICBmb250LXNpemU6IDdyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi04eGwge1xuICB3aWR0aDogOHJlbTtcbiAgaGVpZ2h0OiA4cmVtO1xuICBmb250LXNpemU6IDhyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi05eGwge1xuICB3aWR0aDogOXJlbTtcbiAgaGVpZ2h0OiA5cmVtO1xuICBmb250LXNpemU6IDlyZW07XG59XG4uYy1pY29uOm5vdCguYy1pY29uLWMtcyk6bm90KC5jLWljb24tY3VzdG9tLXNpemUpLmMtaWNvbi14bCB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cbi5jLWljb246bm90KC5jLWljb24tYy1zKTpub3QoLmMtaWNvbi1jdXN0b20tc2l6ZSkuYy1pY29uLWxnIHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmMtaWNvbjpub3QoLmMtaWNvbi1jLXMpOm5vdCguYy1pY29uLWN1c3RvbS1zaXplKS5jLWljb24tc20ge1xuICB3aWR0aDogMC44NzVyZW07XG4gIGhlaWdodDogMC44NzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIHdpZHRoOiAxJTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tc2VsZWN0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmN1c3RvbS1maWxlLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5mb3JtLWNvbnRyb2wsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0ICsgLmN1c3RvbS1zZWxlY3QsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0ICsgLmN1c3RvbS1maWxlLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5mb3JtLWNvbnRyb2wsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmN1c3RvbS1zZWxlY3QsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmN1c3RvbS1maWxlLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuZm9ybS1jb250cm9sLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLXNlbGVjdCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1maWxlIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLFxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmN1c3RvbS1zZWxlY3QsXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLWZpbGUsXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0ICsgLmZvcm0tY29udHJvbCxcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgKyAuY3VzdG9tLXNlbGVjdCxcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgKyAuY3VzdG9tLWZpbGUsXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0ICsgLmZvcm0tY29udHJvbCxcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuY3VzdG9tLXNlbGVjdCxcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuY3VzdG9tLWZpbGUsXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSArIC5mb3JtLWNvbnRyb2wsXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSArIC5jdXN0b20tc2VsZWN0LFxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLWZpbGUge1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgei1pbmRleDogMztcbn1cbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICB6LWluZGV4OiA0O1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKSxcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsIGh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLCAqW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4sXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuOmZvY3VzLFxuLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuOmZvY3VzIHtcbiAgei1pbmRleDogMztcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5idG4sXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4gKyAuYnRuLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuICsgLmJ0bixcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4sXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5idG4sXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cC1wcmVwZW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGNvbG9yOiAjNzY4MTkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xuICBib3JkZXItY29sb3I6ICNkOGRiZTA7XG59XG4uaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPXJhZGlvXSxcbi5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgMnB4KTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4wOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuNzY1NjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogMS43NXJlbTtcbn1cbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbipbZGlyPXJ0bF0gLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuKltkaXI9cnRsXSAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4qW2Rpcj1ydGxdIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5pbWctZmx1aWQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzRjOWQwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICM4YTkzYTI7XG59XG5cbi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAycmVtIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGJlMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuanVtYm90cm9uIHtcbiAgICBwYWRkaW5nOiA0cmVtIDJyZW07XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubGlzdC1ncm91cCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbipbZGlyPXJ0bF0gLmxpc3QtZ3JvdXAge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICBjb2xvcjogIzc2ODE5Mjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIHotaW5kZXg6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM3NjgxOTI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG59XG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjphY3RpdmUge1xuICBjb2xvcjogIzNjNGI2NDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGJlMDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4xMjUpO1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLCAubGlzdC1ncm91cC1pdGVtOmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiAjOGE5M2EyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbiAgYm9yZGVyLWNvbG9yOiAjMzIxZmRiO1xufVxuLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xufVxuLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xufVxuXG4ubGlzdC1ncm91cC1ob3Jpem9udGFsIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5saXN0LWdyb3VwLWhvcml6b250YWwgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5saXN0LWdyb3VwLWhvcml6b250YWwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsIC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtIC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kIC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCAubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwgLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14eGwgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteHhsIC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14eGwgLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4ubGlzdC1ncm91cC1mbHVzaCA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG59XG4ubGlzdC1ncm91cC1mbHVzaCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeSB7XG4gIGNvbG9yOiAjMWExMDdjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjMGY1O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgY29sb3I6ICMxYTEwN2M7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMmFhZjI7XG59XG4ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMTA3YztcbiAgYm9yZGVyLWNvbG9yOiAjMWExMDdjO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjNmI2ZDdhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjNmI2ZDdhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU5O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZiNmQ3YTtcbiAgYm9yZGVyLWNvbG9yOiAjNmI2ZDdhO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzE4NjAzYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZWJkMTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMTg2MDNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFlNWMyO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODYwM2E7XG4gIGJvcmRlci1jb2xvcjogIzE4NjAzYTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcbiAgY29sb3I6ICMxYjUwOGY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmUyZmY7XG59XG4ubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzFiNTA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkZDVmZjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWI1MDhmO1xuICBib3JkZXItY29sb3I6ICMxYjUwOGY7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyB7XG4gIGNvbG9yOiAjODE1YzE1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlOWJkO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgY29sb3I6ICM4MTVjMTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2UxYTQ7XG59XG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgxNWMxNTtcbiAgYm9yZGVyLWNvbG9yOiAjODE1YzE1O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XG4gIGNvbG9yOiAjNzcyYjM1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhjZmNmO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjNzcyYjM1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjViOWI5O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3MmIzNTtcbiAgYm9yZGVyLWNvbG9yOiAjNzcyYjM1O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0IHtcbiAgY29sb3I6ICM3YTdiODY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWZhZmI7XG59XG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjN2E3Yjg2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlZGYxO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2E3Yjg2O1xuICBib3JkZXItY29sb3I6ICM3YTdiODY7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0tZGFyayB7XG4gIGNvbG9yOiAjMzMzYTRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkN2RjO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgY29sb3I6ICMzMzNhNGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNWNhZDE7XG59XG4ubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzM2E0ZTtcbiAgYm9yZGVyLWNvbG9yOiAjMzMzYTRlO1xufVxuXG4ubGlzdC1ncm91cC1hY2NlbnQgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtYWNjZW50IC5saXN0LWdyb3VwLWl0ZW0ubGlzdC1ncm91cC1pdGVtLWRpdmlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubGlzdC1ncm91cC1hY2NlbnQgLmxpc3QtZ3JvdXAtaXRlbS5saXN0LWdyb3VwLWl0ZW0tZGl2aWRlcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xcHg7XG4gIHdpZHRoOiA5MCU7XG4gIGhlaWdodDogMXB4O1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjEyNSk7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5saXN0LWdyb3VwLWFjY2VudCAubGlzdC1ncm91cC1pdGVtLmxpc3QtZ3JvdXAtaXRlbS1kaXZpZGVyOjpiZWZvcmUge1xuICBsZWZ0OiA1JTtcbn1cbipbZGlyPXJ0bF0gLmxpc3QtZ3JvdXAtYWNjZW50IC5saXN0LWdyb3VwLWl0ZW0ubGlzdC1ncm91cC1pdGVtLWRpdmlkZXI6OmJlZm9yZSB7XG4gIHJpZ2h0OiA1JTtcbn1cbi5saXN0LWdyb3VwLWFjY2VudCAubGlzdC1ncm91cC1pdGVtLWFjY2VudC1wcmltYXJ5IHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMzIxZmRiO1xufVxuLmxpc3QtZ3JvdXAtYWNjZW50IC5saXN0LWdyb3VwLWl0ZW0tYWNjZW50LXNlY29uZGFyeSB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2NlZDJkODtcbn1cbi5saXN0LWdyb3VwLWFjY2VudCAubGlzdC1ncm91cC1pdGVtLWFjY2VudC1zdWNjZXNzIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMmViODVjO1xufVxuLmxpc3QtZ3JvdXAtYWNjZW50IC5saXN0LWdyb3VwLWl0ZW0tYWNjZW50LWluZm8ge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMzOWY7XG59XG4ubGlzdC1ncm91cC1hY2NlbnQgLmxpc3QtZ3JvdXAtaXRlbS1hY2NlbnQtd2FybmluZyB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2Y5YjExNTtcbn1cbi5saXN0LWdyb3VwLWFjY2VudCAubGlzdC1ncm91cC1pdGVtLWFjY2VudC1kYW5nZXIge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNlNTUzNTM7XG59XG4ubGlzdC1ncm91cC1hY2NlbnQgLmxpc3QtZ3JvdXAtaXRlbS1hY2NlbnQtbGlnaHQge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNlYmVkZWY7XG59XG4ubGlzdC1ncm91cC1hY2NlbnQgLmxpc3QtZ3JvdXAtaXRlbS1hY2NlbnQtZGFyayB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzYzNmY4Mztcbn1cblxuLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cblxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA1MDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3V0bGluZTogMDtcbn1cblxuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMC41cmVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwcHgpO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi5tb2RhbC5tb2RhbC1zdGF0aWMgLm1vZGFsLWRpYWxvZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xufVxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDFyZW0pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1oZWFkZXIsXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWZvb3RlciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xufVxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDFyZW0pO1xuICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICBjb250ZW50OiBcIlwiO1xufVxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQubW9kYWwtZGlhbG9nLXNjcm9sbGFibGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4yKTtcbn1cblxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAxNTtcbn1cbi5tb2RhbC1iYWNrZHJvcC5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5tb2RhbC1iYWNrZHJvcC5zaG93IHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbiAgYm9yZGVyLWNvbG9yOiAjZDhkYmUwO1xufVxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBwYWRkaW5nOiAxcmVtIDFyZW07XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcbiAgbWFyZ2luOiAtMXJlbSAtMXJlbSAtMXJlbSBhdXRvO1xufVxuKltkaXI9cnRsXSAubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbjogLTFyZW0gYXV0byAtMXJlbSAtMXJlbTtcbn1cblxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbiAgYm9yZGVyLWNvbG9yOiAjZDhkYmUwO1xufVxuLm1vZGFsLWZvb3RlciA+ICoge1xuICBtYXJnaW46IDAuMjVyZW07XG59XG5cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXJnaW46IDEuNzVyZW0gYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTtcbiAgfVxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzLjVyZW0pO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTtcbiAgfVxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkOjpiZWZvcmUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDMuNXJlbSk7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tb2RhbC1sZyxcbi5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogMTE0MHB4O1xuICB9XG59XG4ubW9kYWwtcHJpbWFyeSAubW9kYWwtY29udGVudCB7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYjtcbn1cbi5tb2RhbC1wcmltYXJ5IC5tb2RhbC1oZWFkZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbn1cblxuLm1vZGFsLXNlY29uZGFyeSAubW9kYWwtY29udGVudCB7XG4gIGJvcmRlci1jb2xvcjogI2NlZDJkODtcbn1cbi5tb2RhbC1zZWNvbmRhcnkgLm1vZGFsLWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VkMmQ4O1xufVxuXG4ubW9kYWwtc3VjY2VzcyAubW9kYWwtY29udGVudCB7XG4gIGJvcmRlci1jb2xvcjogIzJlYjg1Yztcbn1cbi5tb2RhbC1zdWNjZXNzIC5tb2RhbC1oZWFkZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlYjg1Yztcbn1cblxuLm1vZGFsLWluZm8gLm1vZGFsLWNvbnRlbnQge1xuICBib3JkZXItY29sb3I6ICMzOWY7XG59XG4ubW9kYWwtaW5mbyAubW9kYWwtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG59XG5cbi5tb2RhbC13YXJuaW5nIC5tb2RhbC1jb250ZW50IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjliMTE1O1xufVxuLm1vZGFsLXdhcm5pbmcgLm1vZGFsLWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjliMTE1O1xufVxuXG4ubW9kYWwtZGFuZ2VyIC5tb2RhbC1jb250ZW50IHtcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuLm1vZGFsLWRhbmdlciAubW9kYWwtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTUzNTM7XG59XG5cbi5tb2RhbC1saWdodCAubW9kYWwtY29udGVudCB7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cbi5tb2RhbC1saWdodCAubW9kYWwtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG59XG5cbi5tb2RhbC1kYXJrIC5tb2RhbC1jb250ZW50IHtcbiAgYm9yZGVyLWNvbG9yOiAjNjM2ZjgzO1xufVxuLm1vZGFsLWRhcmsgLm1vZGFsLWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2ZjgzO1xufVxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAubmF2IHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xufVxuLm5hdi1saW5rOmhvdmVyLCAubmF2LWxpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogIzhhOTNhMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgY29sb3I6ICM4YTkzYTI7XG59XG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjYzRjOWQwO1xufVxuLm5hdi10YWJzIC5uYXYtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG59XG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xufVxuLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciwgLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMCAjZDhkYmUwICNjNGM5ZDA7XG59XG4ubmF2LXRhYnMgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOGE5M2EyO1xufVxuLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXG4ubmF2LXRhYnMgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgY29sb3I6ICM3NjgxOTI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG4gIGJvcmRlci1jb2xvcjogI2M0YzlkMCAjYzRjOWQwICNlYmVkZWY7XG59XG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLm5hdi10YWJzLWJveGVkIC5uYXYtdGFicyB7XG4gIGJvcmRlcjogMDtcbn1cbi5uYXYtdGFicy1ib3hlZCAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG59XG4ubmF2LXRhYnMtYm94ZWQgLnRhYi1jb250ZW50IHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMC4yNXJlbTtcbiAgY29sb3I6ICM3NjgxOTI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cbi5uYXYtdGFicy1ib3hlZC5uYXYtdGFicy1ib3hlZC10b3AtcmlnaHQgLm5hdi10YWJzIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5uYXYtdGFicy1ib3hlZC5uYXYtdGFicy1ib3hlZC10b3AtcmlnaHQgLnRhYi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwIDAuMjVyZW0gMC4yNXJlbTtcbn1cbi5uYXYtdGFicy1ib3hlZC5uYXYtdGFicy1ib3hlZC1sZWZ0LCAubmF2LXRhYnMtYm94ZWQubmF2LXRhYnMtYm94ZWQtcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm5hdi10YWJzLWJveGVkLm5hdi10YWJzLWJveGVkLWxlZnQgLm5hdi1pdGVtLCAubmF2LXRhYnMtYm94ZWQubmF2LXRhYnMtYm94ZWQtcmlnaHQgLm5hdi1pdGVtIHtcbiAgei1pbmRleDogMTtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuKltkaXI9cnRsXSAubmF2LXRhYnMtYm94ZWQubmF2LXRhYnMtYm94ZWQtbGVmdCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cbi5uYXYtdGFicy1ib3hlZC5uYXYtdGFicy1ib3hlZC1sZWZ0IC5uYXYtaXRlbSB7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cbi5uYXYtdGFicy1ib3hlZC5uYXYtdGFicy1ib3hlZC1sZWZ0IC5uYXYtbGluayB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gMCAwIDAuMjVyZW07XG59XG4ubmF2LXRhYnMtYm94ZWQubmF2LXRhYnMtYm94ZWQtbGVmdCAubmF2LWxpbmsuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDhkYmUwICNmZmYgI2Q4ZGJlMCAjZDhkYmUwO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubmF2LXRhYnMtYm94ZWQubmF2LXRhYnMtYm94ZWQtcmlnaHQge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG4qW2Rpcj1ydGxdIC5uYXYtdGFicy1ib3hlZC5uYXYtdGFicy1ib3hlZC1yaWdodCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5uYXYtdGFicy1ib3hlZC5uYXYtdGFicy1ib3hlZC1yaWdodCAubmF2LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbipbZGlyPXJ0bF0gLm5hdi10YWJzLWJveGVkLm5hdi10YWJzLWJveGVkLXJpZ2h0IC5uYXYtaXRlbSB7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cbi5uYXYtdGFicy1ib3hlZC5uYXYtdGFicy1ib3hlZC1yaWdodCAubmF2LWxpbmsge1xuICBib3JkZXItcmFkaXVzOiAwIDAuMjVyZW0gMC4yNXJlbSAwO1xufVxuLm5hdi10YWJzLWJveGVkLm5hdi10YWJzLWJveGVkLXJpZ2h0IC5uYXYtbGluay5hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICNkOGRiZTAgI2Q4ZGJlMCAjZDhkYmUwICNmZmY7XG59XG4ubmF2LXRhYnMtYm94ZWQubmF2LXRhYnMtYm94ZWQtcmlnaHQgLnRhYi1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAwIDAuMjVyZW0gMC4yNXJlbTtcbn1cblxuLm5hdi1waWxscyAubmF2LWxpbmsge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi1waWxscyAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIxZmRiO1xufVxuXG4ubmF2LXVuZGVybGluZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjYzRjOWQwO1xufVxuLm5hdi11bmRlcmxpbmUgLm5hdi1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogLTJweDtcbn1cbi5uYXYtdW5kZXJsaW5lIC5uYXYtbGluayB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLm5hdi11bmRlcmxpbmUgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdW5kZXJsaW5lIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXYtdW5kZXJsaW5lLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdW5kZXJsaW5lLXByaW1hcnkgLnNob3cgPiAubmF2LWxpbmsge1xuICBjb2xvcjogIzMyMWZkYjtcbiAgYm9yZGVyLWNvbG9yOiAjMzIxZmRiO1xufVxuXG4ubmF2LXVuZGVybGluZS1zZWNvbmRhcnkgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdW5kZXJsaW5lLXNlY29uZGFyeSAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjY2VkMmQ4O1xuICBib3JkZXItY29sb3I6ICNjZWQyZDg7XG59XG5cbi5uYXYtdW5kZXJsaW5lLXN1Y2Nlc3MgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdW5kZXJsaW5lLXN1Y2Nlc3MgLnNob3cgPiAubmF2LWxpbmsge1xuICBjb2xvcjogIzJlYjg1YztcbiAgYm9yZGVyLWNvbG9yOiAjMmViODVjO1xufVxuXG4ubmF2LXVuZGVybGluZS1pbmZvIC5uYXYtbGluay5hY3RpdmUsXG4ubmF2LXVuZGVybGluZS1pbmZvIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgY29sb3I6ICMzOWY7XG4gIGJvcmRlci1jb2xvcjogIzM5Zjtcbn1cblxuLm5hdi11bmRlcmxpbmUtd2FybmluZyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi11bmRlcmxpbmUtd2FybmluZyAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZjliMTE1O1xuICBib3JkZXItY29sb3I6ICNmOWIxMTU7XG59XG5cbi5uYXYtdW5kZXJsaW5lLWRhbmdlciAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi11bmRlcmxpbmUtZGFuZ2VyIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgY29sb3I6ICNlNTUzNTM7XG4gIGJvcmRlci1jb2xvcjogI2U1NTM1Mztcbn1cblxuLm5hdi11bmRlcmxpbmUtbGlnaHQgLm5hdi1saW5rLmFjdGl2ZSxcbi5uYXYtdW5kZXJsaW5lLWxpZ2h0IC5zaG93ID4gLm5hdi1saW5rIHtcbiAgY29sb3I6ICNlYmVkZWY7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cblxuLm5hdi11bmRlcmxpbmUtZGFyayAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi11bmRlcmxpbmUtZGFyayAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjNjM2ZjgzO1xuICBib3JkZXItY29sb3I6ICM2MzZmODM7XG59XG5cbi5uYXYtZmlsbCAubmF2LWl0ZW0ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubmF2LWp1c3RpZmllZCAubmF2LWl0ZW0ge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtc2lkZWJhciAubmF2LXRhYnM6Zmlyc3QtY2hpbGQgLm5hdi1saW5rLFxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLWNsb3NlICsgLm5hdi10YWJzIC5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogNTZweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG59XG4ubmF2YmFyIC5jb250YWluZXIsXG4ubmF2YmFyIC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyIC5jb250YWluZXItc20sXG4ubmF2YmFyIC5jb250YWluZXItbWQsXG4ubmF2YmFyIC5jb250YWluZXItbGcsXG4ubmF2YmFyIC5jb250YWluZXIteGwsXG4ubmF2YmFyIC5jb250YWluZXIteHhsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogMC4zMzU5Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMzU5Mzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4wOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5uYXZiYXItbmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAubmF2YmFyLW5hdiB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4ubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBub25lO1xufVxuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAxLjA5Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLm5hdmJhci10b2dnbGVyOmhvdmVyLCAubmF2YmFyLXRvZ2dsZXI6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1mbHVpZCxcbi5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1tZCxcbi5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1sZyxcbi5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci14bCxcbi5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci14eGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtc20ge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIsXG4ubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItc20sXG4ubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItbWQsXG4ubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIteGwsXG4ubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIteHhsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIsXG4ubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItc20sXG4ubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItbWQsXG4ubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIteGwsXG4ubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIteHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLW1kIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLFxuLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLWZsdWlkLFxuLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLXNtLFxuLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLWxnLFxuLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLXhsLFxuLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLXh4bCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLFxuLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLWZsdWlkLFxuLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLXNtLFxuLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLWxnLFxuLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLXhsLFxuLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLXh4bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubmF2YmFyLWV4cGFuZC1sZyB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1mbHVpZCxcbi5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1tZCxcbi5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci1sZyxcbi5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci14bCxcbi5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lci14eGwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItc20sXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItbWQsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIteGwsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIteHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubmF2YmFyLWV4cGFuZC14bCB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1mbHVpZCxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1tZCxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1sZyxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci14bCxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci14eGwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAubmF2YmFyLWV4cGFuZC14eGwgPiAuY29udGFpbmVyLFxuLm5hdmJhci1leHBhbmQteHhsID4gLmNvbnRhaW5lci1mbHVpZCxcbi5uYXZiYXItZXhwYW5kLXh4bCA+IC5jb250YWluZXItc20sXG4ubmF2YmFyLWV4cGFuZC14eGwgPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhci1leHBhbmQteHhsID4gLmNvbnRhaW5lci1sZyxcbi5uYXZiYXItZXhwYW5kLXh4bCA+IC5jb250YWluZXIteGwsXG4ubmF2YmFyLWV4cGFuZC14eGwgPiAuY29udGFpbmVyLXh4bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm5hdmJhci1leHBhbmQteHhsIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteHhsID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kLXh4bCA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyLWV4cGFuZC14eGwgPiAuY29udGFpbmVyLXNtLFxuLm5hdmJhci1leHBhbmQteHhsID4gLmNvbnRhaW5lci1tZCxcbi5uYXZiYXItZXhwYW5kLXh4bCA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyLWV4cGFuZC14eGwgPiAuY29udGFpbmVyLXhsLFxuLm5hdmJhci1leHBhbmQteHhsID4gLmNvbnRhaW5lci14eGwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXh4bCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14eGwgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ubmF2YmFyLWV4cGFuZCB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWZsdWlkLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXNtLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWxnLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXhsLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXh4bCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1mbHVpZCxcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1tZCxcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci1sZyxcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci14bCxcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lci14eGwge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2Uge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4ubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cbi5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG4ubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcbi5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnJTNlJTNjcGF0aCBzdHJva2U9J3JnYmElMjgyNTUsIDI1NSwgMjU1LCAwLjUlMjknIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLXRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuOSk7XG59XG4ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuOSk7XG59XG4ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC41KTtcbn1cbi5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNyk7XG59XG4ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4zKTtcbn1cbi5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluayxcbi5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LFxuLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjkpO1xufVxuLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4xKTtcbn1cbi5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MCwgMCwgMjEsIDAuNSUyOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIik7XG59XG4ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC41KTtcbn1cbi5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuOSk7XG59XG4ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC45KTtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucGFnaW5hdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbipbZGlyPXJ0bF0gLnBhZ2luYXRpb24ge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgY29sb3I6ICMzMjFmZGI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLnBhZ2UtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuKltkaXI9cnRsXSAucGFnZS1saW5rIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuLnBhZ2UtbGluazpob3ZlciB7XG4gIHotaW5kZXg6IDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMyMzE2OTg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGRiZTA7XG4gIGJvcmRlci1jb2xvcjogI2M0YzlkMDtcbn1cbi5wYWdlLWxpbms6Zm9jdXMge1xuICB6LWluZGV4OiAzO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MCwgMzEsIDIxOSwgMC4yNSk7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG59XG4qW2Rpcj1ydGxdIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbn1cbipbZGlyPXJ0bF0gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xufVxuLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XG4gIHotaW5kZXg6IDM7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIxZmRiO1xuICBib3JkZXItY29sb3I6ICMzMjFmZGI7XG59XG4ucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBhdXRvO1xuICBjb2xvcjogIzhhOTNhMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYzRjOWQwO1xufVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4wOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjNyZW07XG59XG4qW2Rpcj1ydGxdIC5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjNyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjNyZW07XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuM3JlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuM3JlbTtcbn1cbipbZGlyPXJ0bF0gLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuM3JlbTtcbn1cblxuLnBhZ2luYXRpb24tc20gLnBhZ2UtbGluayB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuNzY1NjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjJyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMnJlbTtcbn1cbipbZGlyPXJ0bF0gLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMnJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMnJlbTtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4ycmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4ycmVtO1xufVxuKltkaXI9cnRsXSAucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMnJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4ycmVtO1xufVxuXG4ucG9wb3ZlciB7XG4gIHotaW5kZXg6IDEwNjA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDI3NnB4O1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgZm9udC1zaXplOiAwLjc2NTYyNXJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMik7XG59XG4ucG9wb3ZlciAucG9wb3Zlci1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucG9wb3ZlciAucG9wb3Zlci1hcnJvdzo6YmVmb3JlLCAucG9wb3ZlciAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4ucG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gLnBvcG92ZXItYXJyb3csXG4ucG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItYXJyb3cge1xuICB3aWR0aDogMS42cmVtO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZzogMCAwLjNyZW07XG59XG5cbi5wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdIC5wb3BvdmVyLWFycm93LFxuLnBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSAucG9wb3Zlci1hcnJvdyB7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMS42cmVtO1xuICBwYWRkaW5nOiAwLjNyZW0gMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cbi5wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49dG9wXSA+IC5wb3BvdmVyLWFycm93IHtcbiAgYm90dG9tOiBjYWxjKC0wLjVyZW0gLSAxcHgpO1xufVxuLnBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMjUpO1xufVxuLnBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj10b3BdID4gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgYm90dG9tOiAxcHg7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuXG4ucG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cbi5wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdID4gLnBvcG92ZXItYXJyb3cge1xuICBsZWZ0OiBjYWxjKC0wLjVyZW0gLSAxcHgpO1xufVxuLnBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMjUpO1xufVxuLnBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1yaWdodF0gPiAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIge1xuICBsZWZ0OiAxcHg7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwLjVyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xufVxuXG4ucG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cbi5wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93IHtcbiAgdG9wOiBjYWxjKC0wLjVyZW0gLSAxcHgpO1xufVxuLnBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1ib3R0b21dID4gLnBvcG92ZXItYXJyb3c6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAuNXJlbSAwLjVyZW0gMC41cmVtO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjI1KTtcbn1cbi5wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHRvcDogMXB4O1xuICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG59XG4ucG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmN2Y3Zjc7XG59XG5cbi5wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0ge1xuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG4ucG9wb3ZlcltkYXRhLXBvcHBlci1wbGFjZW1lbnRePWxlZnRdID4gLnBvcG92ZXItYXJyb3cge1xuICByaWdodDogY2FsYygtMC41cmVtIC0gMXB4KTtcbn1cbi5wb3BvdmVyW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0gPiAucG9wb3Zlci1hcnJvdzo6YmVmb3JlIHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMjUpO1xufVxuLnBvcG92ZXJbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSA+IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHJpZ2h0OiAxcHg7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG59XG5cbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ViZWJlYjtcbn1cbi5wb3BvdmVyLWhlYWRlcjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgY29sb3I6ICMzYzRiNjQ7XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcmVtIDA7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMDtcbiAgZm9udC1zaXplOiAwLjY1NjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMWZkYjtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnByb2dyZXNzLXhzIHtcbiAgaGVpZ2h0OiA0cHg7XG59XG5cbi5wcm9ncmVzcy1zbSB7XG4gIGhlaWdodDogOHB4O1xufVxuXG4ucHJvZ3Jlc3MucHJvZ3Jlc3Mtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4ucHJvZ3Jlc3MucHJvZ3Jlc3Mtd2hpdGUgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5wcm9ncmVzcy1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5wcm9ncmVzcy1ncm91cC1wcmVwZW5kIHtcbiAgZmxleDogMCAwIDEwMHB4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5wcm9ncmVzcy1ncm91cC1pY29uIHtcbiAgZm9udC1zaXplOiAxLjA5Mzc1cmVtO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucHJvZ3Jlc3MtZ3JvdXAtaWNvbiB7XG4gIG1hcmdpbjogMCAxcmVtIDAgMC4yNXJlbTtcbn1cbipbZGlyPXJ0bF0gLnByb2dyZXNzLWdyb3VwLWljb24ge1xuICBtYXJnaW46IDAgMC4yNXJlbSAwIDFyZW07XG59XG5cbi5wcm9ncmVzcy1ncm91cC10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjc2NTYyNXJlbTtcbiAgY29sb3I6ICM3NjgxOTI7XG59XG5cbi5wcm9ncmVzcy1ncm91cC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG59XG5cbi5wcm9ncmVzcy1ncm91cC1iYXJzIHtcbiAgZmxleC1ncm93OiAxO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4ucHJvZ3Jlc3MtZ3JvdXAtYmFycyAucHJvZ3Jlc3M6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLnByb2dyZXNzLWdyb3VwLWhlYWRlciArIC5wcm9ncmVzcy1ncm91cC1iYXJzIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbn1cblxuLmMtc2lkZWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDI1NnB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvcmRlcjogLTE7XG4gIHdpZHRoOiAyNTZweDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgb3JkZXI6IDk5O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5jLXNpZGViYXIge1xuICAgIC0taXMtbW9iaWxlOiB0cnVlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwMzE7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXI6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICByaWdodDogMDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXI6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0yNTZweDtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IC0yNTZweDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhcjpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICBtYXJnaW4tcmlnaHQ6IC0yNTZweDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogLTI1NnB4O1xufVxuLmMtc2lkZWJhcltjbGFzcyo9YmctXSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4xKTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLXNtIHtcbiAgZmxleDogMCAwIDE5MnB4O1xuICB3aWR0aDogMTkycHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gIG1hcmdpbi1sZWZ0OiAtMTkycHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLmMtc2lkZWJhci1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogLTE5MnB4O1xufVxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbTpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICBtYXJnaW4tcmlnaHQ6IC0xOTJweDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc20uYy1zaWRlYmFyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IC0xOTJweDtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxnIHtcbiAgZmxleDogMCAwIDMyMHB4O1xuICB3aWR0aDogMzIwcHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLmMtc2lkZWJhci1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogLTMyMHB4O1xufVxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1sZzpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICBtYXJnaW4tcmlnaHQ6IC0zMjBweDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbGcuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IC0zMjBweDtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLXhsIHtcbiAgZmxleDogMCAwIDM4NHB4O1xuICB3aWR0aDogMzg0cHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gIG1hcmdpbi1sZWZ0OiAtMzg0cHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLmMtc2lkZWJhci1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogLTM4NHB4O1xufVxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bDpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICBtYXJnaW4tcmlnaHQ6IC0zODRweDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXIteGwuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IC0zODRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYy1zaWRlYmFyLmMtc2lkZWJhci1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAzMDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWZpeGVkOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgbGVmdDogMDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1maXhlZDpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1vdmVybGFpZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMzI7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLW92ZXJsYWlkOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gIGxlZnQ6IDA7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLW92ZXJsYWlkLmMtc2lkZWJhci1yaWdodCB7XG4gIHJpZ2h0OiAwO1xufVxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1vdmVybGFpZDpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICByaWdodDogMDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItb3ZlcmxhaWQuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgbGVmdDogMDtcbn1cblxuLmMtc2lkZWJhci1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogNTZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5jLXNpZGViYXItY2xvc2U6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuLmMtc2lkZWJhci1jbG9zZTpmb2N1cywgLmMtc2lkZWJhci1jbG9zZS5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItY2xvc2Uge1xuICByaWdodDogMDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci1jbG9zZSB7XG4gIGxlZnQ6IDA7XG59XG5cbi5jLXNpZGViYXItYnJhbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgNTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYy1zaWRlYmFyLWJyYW5kIC5jLXNpZGViYXItYnJhbmQtbWluaW1pemVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmMtc2lkZWJhci1oZWFkZXIge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5jLXNpZGViYXItbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYy1zaWRlYmFyLW5hdi5wcyB7XG4gIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xufVxuLmMtc2lkZWJhci1uYXYucHM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbn1cblxuLmMtc2lkZWJhci1uYXYtdGl0bGUge1xuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4uYy1zaWRlYmFyLW5hdi1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcbn1cblxuLmMtc2lkZWJhci1uYXYtaXRlbSB7XG4gIHdpZHRoOiBpbmhlcml0O1xufVxuXG4uYy1zaWRlYmFyLW5hdi1saW5rLCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjg0NDVyZW0gMXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGNvbG9yIDAuM3M7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2LWxpbmsgLmJhZGdlLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYmFkZ2Uge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci1uYXYtbGluayAuYmFkZ2UsICpbZGlyPXJ0bF0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5iYWRnZSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5jLXNpZGViYXItbmF2LWxpbmsuYy1kaXNhYmxlZCwgLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYy1zaWRlYmFyLW5hdi1saW5rOmhvdmVyLCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgZmxleDogMCAwIDU2cHg7XG4gIGhlaWdodDogMS4wOTM3NXJlbTtcbiAgZm9udC1zaXplOiAxLjA5Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDAuM3M7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXYtaWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci1uYXYtaWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogLTFyZW07XG59XG5cbi5jLXNpZGViYXItbmF2LWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyB7XG4gIG1heC1oZWlnaHQ6IDE1MDBweDtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24uYy1zaG93ID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLmMtc2hvdyA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xufVxuLmMtc2lkZWJhci1uYXYtZHJvcGRvd24uYy1zaG93ICsgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24uYy1zaG93IHtcbiAgbWFyZ2luLXRvcDogMXB4O1xufVxuXG4uYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUgLmJhZGdlIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWxpbmssIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA1NnB4O1xufVxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1saW5rLCAqW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDU2cHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWxpbmsgLmMtc2lkZWJhci1uYXYtaWNvbiwgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAtNTZweDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCAqW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNTZweDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWxpbmssIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXZbZGF0YS1pbmRlbnRhdGlvbj10cnVlXSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDY0cHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluaywgKltkaXI9cnRsXSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDY0cHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tbGVmdDogLTU2cHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCAqW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IC01NnB4O1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWxpbmssIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXZbZGF0YS1pbmRlbnRhdGlvbj10cnVlXSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDcycHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluaywgKltkaXI9cnRsXSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDcycHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tbGVmdDogLTU2cHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCAqW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IC01NnB4O1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWxpbmssIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXZbZGF0YS1pbmRlbnRhdGlvbj10cnVlXSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluaywgKltkaXI9cnRsXSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tbGVmdDogLTU2cHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCAqW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IC01NnB4O1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWxpbmssIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXZbZGF0YS1pbmRlbnRhdGlvbj10cnVlXSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDg4cHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluaywgKltkaXI9cnRsXSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDg4cHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tbGVmdDogLTU2cHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCAqW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IC01NnB4O1xufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWxpbmssIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1uYXZbZGF0YS1pbmRlbnRhdGlvbj10cnVlXSAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDk2cHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluaywgKltkaXI9cnRsXSAuYy1zaWRlYmFyLW5hdltkYXRhLWluZGVudGF0aW9uPXRydWVdIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDk2cHg7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tbGVmdDogLTU2cHg7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCAqW2Rpcj1ydGxdIC5jLXNpZGViYXItbmF2W2RhdGEtaW5kZW50YXRpb249dHJ1ZV0gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IC01NnB4O1xufVxuXG4uYy1zaWRlYmFyLW5hdi1sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuMjExMTI1cmVtIDFyZW07XG4gIHRyYW5zaXRpb246IDAuM3M7XG59XG4uYy1zaWRlYmFyLW5hdi1sYWJlbDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLXNpZGViYXItbmF2LWxhYmVsIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG5cbi5jLXNpZGViYXItZm9vdGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuLmMtc2lkZWJhci1taW5pbWl6ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgNTBweDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5jLXNpZGViYXItbWluaW1pemVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYy1zaWRlYmFyLW1pbmltaXplcjo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMi41cHg7XG4gIHRyYW5zaXRpb246IDAuM3M7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItbWluaW1pemVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLmMtc2lkZWJhci1taW5pbWl6ZXI6Zm9jdXMsIC5jLXNpZGViYXItbWluaW1pemVyLmMtZm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmMtc2lkZWJhci1yaWdodCAuYy1zaWRlYmFyLW1pbmltaXplciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1yaWdodCAuYy1zaWRlYmFyLW1pbmltaXplcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXItcmlnaHQgLmMtc2lkZWJhci1taW5pbWl6ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLmMtc2lkZWJhci1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMzA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAxNTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICB9XG4gIC5jLXNpZGViYXItYmFja2Ryb3AuYy1mYWRlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5jLXNpZGViYXItYmFja2Ryb3AuYy1zaG93IHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jLXNpZGViYXItbWluaW1pemVkIHtcbiAgICB6LWluZGV4OiAxMDMxO1xuICAgIGZsZXg6IDAgMCA1NnB4O1xuICB9XG4gIC5jLXNpZGViYXItbWluaW1pemVkLmMtc2lkZWJhci1maXhlZCB7XG4gICAgei1pbmRleDogMTAzMTtcbiAgICB3aWR0aDogNTZweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbWluaW1pemVkOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IC01NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci1taW5pbWl6ZWQ6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC01NnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1taW5pbWl6ZWQuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC01NnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1taW5pbWl6ZWQuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogLTU2cHg7XG4gIH1cbiAgLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1icmFuZC1mdWxsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItYnJhbmQtbWluaW1pemVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdiB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtZC1taW5pbWl6ZWQtbm9uZSxcbi5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWRpdmlkZXIsXG4uYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1sYWJlbCxcbi5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LXRpdGxlLFxuLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1mb290ZXIsXG4uYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLWZvcm0sXG4uYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLWhlYWRlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbWluaW1pemVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1taW5pbWl6ZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW1pbmltaXplcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbWluaW1pemVkLmMtc2lkZWJhci1yaWdodCAuYy1zaWRlYmFyLW1pbmltaXplcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXItbWluaW1pemVkLmMtc2lkZWJhci1yaWdodCAuYy1zaWRlYmFyLW1pbmltaXplcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1taW5pbWl6ZWQuYy1zaWRlYmFyLXJpZ2h0IC5jLXNpZGViYXItbmF2ID4gLmMtc2lkZWJhci1uYXYtaXRlbTpob3Zlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1taW5pbWl6ZWQuYy1zaWRlYmFyLXJpZ2h0IC5jLXNpZGViYXItbmF2ID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd246aG92ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLW1pbmltaXplZC5jLXNpZGViYXItcmlnaHQgLmMtc2lkZWJhci1uYXYgPiAuYy1zaWRlYmFyLW5hdi1pdGVtOmhvdmVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLW1pbmltaXplZC5jLXNpZGViYXItcmlnaHQgLmMtc2lkZWJhci1uYXYgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bjpob3ZlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjU2cHg7XG4gIH1cbiAgLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYtbGluayxcbi5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG4gIC5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWxpbms6aG92ZXIsXG4uYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIge1xuICAgIHdpZHRoOiAzMTJweDtcbiAgfVxuICAuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWxpbmssIC5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgd2lkdGg6IDI1NnB4O1xuICB9XG4gIC5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2ID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdiA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93biA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duOm5vdCguYy1zaG93KSA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2ID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgIG1heC1oZWlnaHQ6IDE1MDBweDtcbiAgfVxuICAuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdiA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duOmhvdmVyIHtcbiAgICB3aWR0aDogMzEycHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bjpob3ZlciA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bjpob3ZlciA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICBsZWZ0OiA1NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bjpob3ZlciA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICByaWdodDogNTZweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXItbWluaW1pemVkLmMtc2lkZWJhci1yaWdodCA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duOmhvdmVyID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLW1pbmltaXplZC5jLXNpZGViYXItcmlnaHQgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bjpob3ZlciA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSxcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1NnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMTkycHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTkycHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzMjBweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMjBweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDM4NHB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM4NHB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogNTZweDtcbiAgfVxufVxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTZweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTZweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOTJweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDE5MnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzIwcHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMzg0cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzODRweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDU2cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc20tc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCksXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTZweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMjU2cHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbS1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxOTJweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOTJweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDMyMHB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc20tc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc20tc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzg0cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbS1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMzg0cHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbS1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbS1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1NnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbS1zaG93LmMtc2lkZWJhci1yaWdodCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3cuYy1zaWRlYmFyLXJpZ2h0LFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc20tc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTZweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTZweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOTJweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDE5MnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc20tc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc20tc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzIwcHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbS1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMzg0cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbS1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzODRweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNtLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zbS1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDU2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLW1kLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSxcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1NnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItbWQtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMTkycHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTkycHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzMjBweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLW1kLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMjBweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLW1kLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDM4NHB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbWQtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM4NHB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItbWQtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbWQtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogNTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItbWQtc2hvdy5jLXNpZGViYXItcmlnaHQsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93LmMtc2lkZWJhci1yaWdodCxcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLW1kLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMjU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjU2cHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTkycHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxOTJweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLW1kLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMjBweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLW1kLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDMyMHB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItbWQtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM4NHB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbWQtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzg0cHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1tZC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbWQtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1NnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1sZy1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCksXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTZweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDE5MnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE5MnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzIwcHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1sZy1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMzIwcHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1sZy1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzODRweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzODRweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogNTZweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDU2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLXNob3cuYy1zaWRlYmFyLXJpZ2h0LFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdy5jLXNpZGViYXItcmlnaHQsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1sZy1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1NnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE5MnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMTkycHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1sZy1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMzIwcHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1sZy1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzMjBweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzODRweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDM4NHB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItbGctc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogNTZweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxnLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogNTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSxcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXIteGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXIteGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTZweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDE5MnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXIteGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE5MnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXIteGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzIwcHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMzIwcHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzODRweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzODRweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogNTZweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDU2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bC1zaG93LmMtc2lkZWJhci1yaWdodCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3cuYy1zaWRlYmFyLXJpZ2h0LFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMjU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjU2cHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTkycHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxOTJweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMjBweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXhsLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDMyMHB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXIteGwtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM4NHB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXIteGwtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzg0cHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci14bC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1NnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXIteGwtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1NnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXIteHhsLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCksXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTZweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxOTJweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTkycHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzIwcHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXIteHhsLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDM4NHB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXIteHhsLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzODRweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3c6bm90KC5jLXNpZGViYXItcmlnaHQpLmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDU2cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdzpub3QoLmMtc2lkZWJhci1yaWdodCkuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93Om5vdCguYy1zaWRlYmFyLXJpZ2h0KS5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogNTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93LmMtc2lkZWJhci1yaWdodCxcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93LmMtc2lkZWJhci1yaWdodCxcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTZweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjU2cHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1zbSB+IC5jLXdyYXBwZXIsXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE5MnB4O1xuICB9XG4gICpbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXIteHhsLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItc20gfiAuYy13cmFwcGVyLFxuKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXNtIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDE5MnB4O1xuICB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXIteHhsLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbGcgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMjBweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLWxnIH4gLmMtd3JhcHBlcixcbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1sZyB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAzMjBweDtcbiAgfVxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLXhsIH4gLmMtd3JhcHBlcixcbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc2lkZWJhci5jLXNpZGViYXItc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMzg0cHg7XG4gIH1cbiAgKltkaXI9cnRsXSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci14bCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXIteGwgfiAuYy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMzg0cHg7XG4gIH1cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci14eGwtc2hvdy5jLXNpZGViYXItcmlnaHQuYy1zaWRlYmFyLWZpeGVkLmMtc2lkZWJhci1taW5pbWl6ZWQgfiAuYy13cmFwcGVyLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogNTZweDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXh4bC1zaG93LmMtc2lkZWJhci1yaWdodC5jLXNpZGViYXItZml4ZWQuYy1zaWRlYmFyLW1pbmltaXplZCB+IC5jLXdyYXBwZXIsXG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLXNob3cuYy1zaWRlYmFyLXJpZ2h0LmMtc2lkZWJhci1maXhlZC5jLXNpZGViYXItbWluaW1pemVkIH4gLmMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDU2cHg7XG4gIH1cbn1cbi5jLXNpZGViYXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzNjNGI2NDtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItcmlnaHQge1xuICBib3JkZXI6IDA7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItY2xvc2Uge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1icmFuZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDIxLCAwLjIpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMjEsIDAuMik7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItZm9ybSAuYy1mb3JtLWNvbnRyb2wge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAyMSwgMC4xKTtcbiAgYm9yZGVyOiAwO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLWZvcm0gLmMtZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LXRpdGxlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluaywgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluayAuYy1zaWRlYmFyLW5hdi1pY29uLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLWFjdGl2ZSwgLmMtc2lkZWJhciAuYy1hY3RpdmUuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLWFjdGl2ZSAuYy1zaWRlYmFyLW5hdi1pY29uLCAuYy1zaWRlYmFyIC5jLWFjdGl2ZS5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbms6Zm9jdXMsIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluazpob3ZlciwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICMzMjFmZGI7XG4gIH1cbiAgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluazpob3Zlci5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIsIC5jLXNpZGViYXIgOmhvdmVyLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J005LjE0OCAyLjM1MmwtNC4xNDggNC4xNDggNC4xNDggNC4xNDhxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUybC0xLjI5NyAxLjI5N3EtMC4xNDggMC4xNDgtMC4zNTIgMC4xNDh0LTAuMzUyLTAuMTQ4bC01Ljc5Ny01Ljc5N3EtMC4xNDgtMC4xNDgtMC4xNDgtMC4zNTJ0MC4xNDgtMC4zNTJsNS43OTctNS43OTdxMC4xNDgtMC4xNDggMC4zNTItMC4xNDh0MC4zNTIgMC4xNDhsMS4yOTcgMS4yOTdxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUyeicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtZGlzYWJsZWQsIC5jLXNpZGViYXIgLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2IzYjNiMztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmsuYy1kaXNhYmxlZCAuYy1zaWRlYmFyLW5hdi1pY29uLCAuYy1zaWRlYmFyIC5jLWRpc2FibGVkLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtZGlzYWJsZWQ6aG92ZXIsIC5jLXNpZGViYXIgLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIge1xuICBjb2xvcjogI2IzYjNiMztcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLWRpc2FibGVkOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmsuYy1kaXNhYmxlZDpob3Zlci5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIsIC5jLXNpZGViYXIgLmMtZGlzYWJsZWQ6aG92ZXIuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J005LjE0OCAyLjM1MmwtNC4xNDggNC4xNDggNC4xNDggNC4xNDhxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUybC0xLjI5NyAxLjI5N3EtMC4xNDggMC4xNDgtMC4zNTIgMC4xNDh0LTAuMzUyLTAuMTQ4bC01Ljc5Ny01Ljc5N3EtMC4xNDgtMC4xNDgtMC4xNDgtMC4zNTJ0MC4xNDgtMC4zNTJsNS43OTctNS43OTdxMC4xNDgtMC4xNDggMC4zNTItMC4xNDh0MC4zNTIgMC4xNDhsMS4yOTcgMS4yOTdxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUyeicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIGQ9J005LjE0OCAyLjM1MmwtNC4xNDggNC4xNDggNC4xNDggNC4xNDhxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUybC0xLjI5NyAxLjI5N3EtMC4xNDggMC4xNDgtMC4zNTIgMC4xNDh0LTAuMzUyLTAuMTQ4bC01Ljc5Ny01Ljc5N3EtMC4xNDgtMC4xNDgtMC4xNDgtMC4zNTJ0MC4xNDgtMC4zNTJsNS43OTctNS43OTdxMC4xNDgtMC4xNDggMC4zNTItMC4xNDh0MC4zNTIgMC4xNDhsMS4yOTcgMS4yOTdxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUyeicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24uYy1zaG93IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtc2lkZWJhci1uYXYtbGluaywgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLmMtc2hvdyAuYy1zaWRlYmFyLW5hdi1saW5rLmMtZGlzYWJsZWQsIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24uYy1zaG93IC5jLWRpc2FibGVkLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNiM2IzYjM7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtc2lkZWJhci1uYXYtbGluay5jLWRpc2FibGVkOmhvdmVyLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLmMtc2hvdyAuYy1kaXNhYmxlZC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTpob3ZlciB7XG4gIGNvbG9yOiAjYjNiM2IzO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtc2lkZWJhci1uYXYtbGluay5jLWRpc2FibGVkOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24uYy1zaG93IC5jLWRpc2FibGVkLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxhYmVsOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxhYmVsIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLmMtc2lkZWJhciAuYy1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1OTZmOTQgIWltcG9ydGFudDtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDIxLCAwLjIpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW1pbmltaXplciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMik7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbWluaW1pemVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNCclM0UlM0NwYXRoIGZpbGw9JyUyMzhhOTNhMicgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW1pbmltaXplcjpmb2N1cywgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW1pbmltaXplci5jLWZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1taW5pbWl6ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbWluaW1pemVyOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWl0ZW06aG92ZXIgPiAuYy1zaWRlYmFyLW5hdi1saW5rLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYtaXRlbTpob3ZlciA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6ICMzMjFmZGI7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYtaXRlbTpob3ZlciA+IC5jLXNpZGViYXItbmF2LWxpbmsgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhci5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWl0ZW06aG92ZXIgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWl0ZW06aG92ZXIgPiAuYy1zaWRlYmFyLW5hdi1saW5rLmMtZGlzYWJsZWQsIC5jLXNpZGViYXIuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1pdGVtOmhvdmVyID4gLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjM2M0YjY0O1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWl0ZW06aG92ZXIgPiAuYy1zaWRlYmFyLW5hdi1saW5rLmMtZGlzYWJsZWQgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhci5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2LWl0ZW06aG92ZXIgPiAuYy1kaXNhYmxlZC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdiA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICBiYWNrZ3JvdW5kOiAjM2M0YjY0O1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbWluaW1pemVkIC5jLXNpZGViYXItbmF2ID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzIxZmRiO1xufVxuXG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCB7XG4gIGNvbG9yOiAjM2M0YjY0O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDE1OSwgMTY3LCAxNzksIDAuNSk7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0LmMtc2lkZWJhci1yaWdodCB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDE1OSwgMTY3LCAxNzksIDAuNSk7XG59XG4qW2Rpcj1ydGxdIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMTU5LCAxNjcsIDE3OSwgMC41KTtcbn1cbipbZGlyPXJ0bF0gLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDE1OSwgMTY3LCAxNzksIDAuNSk7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLWNsb3NlIHtcbiAgY29sb3I6ICMzYzRiNjQ7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLWJyYW5kIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMzMjFmZGI7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMjEsIDAuMik7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLWZvcm0gLmMtZm9ybS1jb250cm9sIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMjEsIDAuMSk7XG4gIGJvcmRlcjogMDtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItZm9ybSAuYy1mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LXRpdGxlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNCk7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1saW5rLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC44KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1saW5rIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNSk7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1saW5rLmMtYWN0aXZlLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1hY3RpdmUuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC44KTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAyMSwgMC4wNSk7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1saW5rLmMtYWN0aXZlIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLWFjdGl2ZS5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6ICMzMjFmZGI7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1saW5rOmZvY3VzLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtbGluazpob3ZlciwgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMzIxZmRiO1xuICB9XG4gIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LWxpbms6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LWxpbms6aG92ZXIuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCA6aG92ZXIuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1saW5rLmMtZGlzYWJsZWQsIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLWRpc2FibGVkLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNiM2IzYjM7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtbGluay5jLWRpc2FibGVkIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLWRpc2FibGVkLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC41KTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LWxpbmsuYy1kaXNhYmxlZDpob3ZlciwgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIge1xuICBjb2xvcjogI2IzYjNiMztcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LWxpbmsuYy1kaXNhYmxlZDpob3ZlciAuYy1zaWRlYmFyLW5hdi1pY29uLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1kaXNhYmxlZC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTpob3ZlciAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNSk7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1saW5rLmMtZGlzYWJsZWQ6aG92ZXIuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1kaXNhYmxlZDpob3Zlci5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0ncmdiYSgwLCAwLCAyMSwgMC41KScgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24uYy1zaG93IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLmMtc2hvdyAuYy1zaWRlYmFyLW5hdi1saW5rLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuOCk7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtc2lkZWJhci1uYXYtbGluay5jLWRpc2FibGVkLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2IzYjNiMztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtc2lkZWJhci1uYXYtbGluay5jLWRpc2FibGVkOmhvdmVyLCAuYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cgLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIge1xuICBjb2xvcjogI2IzYjNiMztcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLmMtc2hvdyAuYy1zaWRlYmFyLW5hdi1saW5rLmMtZGlzYWJsZWQ6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24uYy1zaG93IC5jLWRpc2FibGVkLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC41KTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbmF2LWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNCk7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW5hdi1sYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjM2M0YjY0O1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1uYXYtbGFiZWwgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjUpO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDIxLCAwLjIpO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1taW5pbWl6ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1taW5pbWl6ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0nJTIzOGE5M2EyJyBkPSdNOS4xNDggMi4zNTJsLTQuMTQ4IDQuMTQ4IDQuMTQ4IDQuMTQ4cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MmwtMS4yOTcgMS4yOTdxLTAuMTQ4IDAuMTQ4LTAuMzUyIDAuMTQ4dC0wLjM1Mi0wLjE0OGwtNS43OTctNS43OTdxLTAuMTQ4LTAuMTQ4LTAuMTQ4LTAuMzUydDAuMTQ4LTAuMzUybDUuNzk3LTUuNzk3cTAuMTQ4LTAuMTQ4IDAuMzUyLTAuMTQ4dDAuMzUyIDAuMTQ4bDEuMjk3IDEuMjk3cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MnonLyUzRSUzQy9zdmclM0VcIik7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW1pbmltaXplcjpmb2N1cywgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQgLmMtc2lkZWJhci1taW5pbWl6ZXIuYy1mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci1saWdodCAuYy1zaWRlYmFyLW1pbmltaXplcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0IC5jLXNpZGViYXItbWluaW1pemVyOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNCclM0UlM0NwYXRoIGZpbGw9JyUyMzc2ODE5MicgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1pdGVtOmhvdmVyID4gLmMtc2lkZWJhci1uYXYtbGluaywgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1pdGVtOmhvdmVyID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogIzMyMWZkYjtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0LmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYtaXRlbTpob3ZlciA+IC5jLXNpZGViYXItbmF2LWxpbmsgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1pdGVtOmhvdmVyID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0LmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYtaXRlbTpob3ZlciA+IC5jLXNpZGViYXItbmF2LWxpbmsuYy1kaXNhYmxlZCwgLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1pdGVtOmhvdmVyID4gLmMtZGlzYWJsZWQuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmMtc2lkZWJhci5jLXNpZGViYXItbGlnaHQuYy1zaWRlYmFyLW1pbmltaXplZCAuYy1zaWRlYmFyLW5hdi1pdGVtOmhvdmVyID4gLmMtc2lkZWJhci1uYXYtbGluay5jLWRpc2FibGVkIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0LmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYtaXRlbTpob3ZlciA+IC5jLWRpc2FibGVkLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC41KTtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0LmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93biA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5jLXNpZGViYXIuYy1zaWRlYmFyLWxpZ2h0LmMtc2lkZWJhci1taW5pbWl6ZWQgLmMtc2lkZWJhci1uYXYgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzMjFmZGI7XG59XG5cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstcHJpbWFyeSwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLXByaW1hcnkuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjMzIxZmRiO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1wcmltYXJ5IC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1wcmltYXJ5LmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1wcmltYXJ5OmhvdmVyLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmstcHJpbWFyeS5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyZDFjYzU7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmsuYy1zaWRlYmFyLW5hdi1saW5rLXByaW1hcnk6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLXByaW1hcnkuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1zZWNvbmRhcnksIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1zZWNvbmRhcnkuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjY2VkMmQ4O1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1zZWNvbmRhcnkgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLXNlY29uZGFyeS5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstc2Vjb25kYXJ5OmhvdmVyLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmstc2Vjb25kYXJ5LmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2MwYzVjZDtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstc2Vjb25kYXJ5OmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1zZWNvbmRhcnkuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1zdWNjZXNzLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmstc3VjY2Vzcy5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6ICMyZWI4NWM7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmsuYy1zaWRlYmFyLW5hdi1saW5rLXN1Y2Nlc3MgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLXN1Y2Nlc3MuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmsuYy1zaWRlYmFyLW5hdi1saW5rLXN1Y2Nlc3M6aG92ZXIsIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1zdWNjZXNzLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzI5YTQ1Mjtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstc3VjY2Vzczpob3ZlciAuYy1zaWRlYmFyLW5hdi1pY29uLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmstc3VjY2Vzcy5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTpob3ZlciAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmsuYy1zaWRlYmFyLW5hdi1saW5rLWluZm8sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1pbmZvLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogIzM5Zjtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstaW5mbyAuYy1zaWRlYmFyLW5hdi1pY29uLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmstaW5mby5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstaW5mbzpob3ZlciwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLWluZm8uYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMWE4Y2ZmO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1pbmZvOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1pbmZvLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstd2FybmluZywgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLXdhcm5pbmcuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjZjliMTE1O1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay13YXJuaW5nIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay13YXJuaW5nLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay13YXJuaW5nOmhvdmVyLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmstd2FybmluZy5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlZWE1MDY7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmsuYy1zaWRlYmFyLW5hdi1saW5rLXdhcm5pbmc6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLXdhcm5pbmcuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1kYW5nZXIsIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1kYW5nZXIuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjZTU1MzUzO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1kYW5nZXIgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLWRhbmdlci5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstZGFuZ2VyOmhvdmVyLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmstZGFuZ2VyLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2UyM2QzZDtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstZGFuZ2VyOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1kYW5nZXIuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1saWdodCwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLWxpZ2h0LmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogI2ViZWRlZjtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstbGlnaHQgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLWxpZ2h0LmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1saWdodDpob3ZlciwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLWxpZ2h0LmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2RkZTBlNDtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstbGlnaHQ6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLWxpZ2h0LmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOmhvdmVyIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay5jLXNpZGViYXItbmF2LWxpbmstZGFyaywgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLWRhcmsuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiAjNjM2ZjgzO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1kYXJrIC5jLXNpZGViYXItbmF2LWljb24sIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGluay1kYXJrLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIC5jLXNpZGViYXItbmF2LWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLmMtc2lkZWJhci1uYXYtbGluay1kYXJrOmhvdmVyLCAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmstZGFyay5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1ODYzNzQ7XG59XG4uYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LWxpbmsuYy1zaWRlYmFyLW5hdi1saW5rLWRhcms6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiwgLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLWRhcmsuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6aG92ZXIgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBib3JkZXI6IDAuMjVlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGlubmVyLWJvcmRlciAwLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGJvcmRlci13aWR0aDogMC4yZW07XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBzcGlubmVyLWdyb3cgMC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbn1cblxuLmMtc3ViaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0OHB4O1xufVxuLmMtc3ViaGVhZGVyW2NsYXNzKj1iZy1dIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjEpO1xufVxuLmMtc3ViaGVhZGVyLmMtc3ViaGVhZGVyLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLmMtc3ViaGVhZGVyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtbGluayxcbi5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuLmMtc3ViaGVhZGVyLW5hdiAuYy1zdWJoZWFkZXItbmF2LWxpbmsgLmJhZGdlLFxuLmMtc3ViaGVhZGVyLW5hdiAuYy1zdWJoZWFkZXItbmF2LWJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbn1cbmh0bWw6bm90KFtkaXI9cnRsXSkgLmMtc3ViaGVhZGVyLW5hdiAuYy1zdWJoZWFkZXItbmF2LWxpbmsgLmJhZGdlLFxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtYnRuIC5iYWRnZSB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4qW2Rpcj1ydGxdIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1saW5rIC5iYWRnZSxcbipbZGlyPXJ0bF0gLmMtc3ViaGVhZGVyLW5hdiAuYy1zdWJoZWFkZXItbmF2LWJ0biAuYmFkZ2Uge1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtbGluazpob3Zlcixcbi5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1idG46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLXN1YmhlYWRlci5jLXN1YmhlYWRlci1kYXJrIHtcbiAgYmFja2dyb3VuZDogIzNjNGI2NDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2MzZmODM7XG59XG4uYy1zdWJoZWFkZXIuYy1zdWJoZWFkZXItZGFyayAuYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtbGluayxcbi5jLXN1YmhlYWRlci5jLXN1YmhlYWRlci1kYXJrIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1idG4ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cbi5jLXN1YmhlYWRlci5jLXN1YmhlYWRlci1kYXJrIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1saW5rOmhvdmVyLCAuYy1zdWJoZWFkZXIuYy1zdWJoZWFkZXItZGFyayAuYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtbGluazpmb2N1cyxcbi5jLXN1YmhlYWRlci5jLXN1YmhlYWRlci1kYXJrIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1idG46aG92ZXIsXG4uYy1zdWJoZWFkZXIuYy1zdWJoZWFkZXItZGFyayAuYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtYnRuOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi5jLXN1YmhlYWRlci5jLXN1YmhlYWRlci1kYXJrIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1saW5rLmMtZGlzYWJsZWQsXG4uYy1zdWJoZWFkZXIuYy1zdWJoZWFkZXItZGFyayAuYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtYnRuLmMtZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi5jLXN1YmhlYWRlci5jLXN1YmhlYWRlci1kYXJrIC5jLXN1YmhlYWRlci1uYXYgLmMtc2hvdyA+IC5jLXN1YmhlYWRlci1uYXYtbGluayxcbi5jLXN1YmhlYWRlci5jLXN1YmhlYWRlci1kYXJrIC5jLXN1YmhlYWRlci1uYXYgLmMtYWN0aXZlID4gLmMtc3ViaGVhZGVyLW5hdi1saW5rLFxuLmMtc3ViaGVhZGVyLmMtc3ViaGVhZGVyLWRhcmsgLmMtc3ViaGVhZGVyLW5hdiAuYy1zdWJoZWFkZXItbmF2LWxpbmsuYy1zaG93LFxuLmMtc3ViaGVhZGVyLmMtc3ViaGVhZGVyLWRhcmsgLmMtc3ViaGVhZGVyLW5hdiAuYy1zdWJoZWFkZXItbmF2LWxpbmsuYy1hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jLXN1YmhlYWRlci5jLXN1YmhlYWRlci1kYXJrIC5jLXN1YmhlYWRlci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG59XG4uYy1zdWJoZWFkZXIuYy1zdWJoZWFkZXItZGFyayAuYy1zdWJoZWFkZXItdGV4dCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uYy1zdWJoZWFkZXIuYy1zdWJoZWFkZXItZGFyayAuYy1zdWJoZWFkZXItdGV4dCBhOmhvdmVyLCAuYy1zdWJoZWFkZXIuYy1zdWJoZWFkZXItZGFyayAuYy1zdWJoZWFkZXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jLXN1YmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkYmUwO1xufVxuLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1saW5rLFxuLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1idG4ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC41KTtcbn1cbi5jLXN1YmhlYWRlciAuYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtbGluazpob3ZlciwgLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1saW5rOmZvY3VzLFxuLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1idG46aG92ZXIsXG4uYy1zdWJoZWFkZXIgLmMtc3ViaGVhZGVyLW5hdiAuYy1zdWJoZWFkZXItbmF2LWJ0bjpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjcpO1xufVxuLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1saW5rLmMtZGlzYWJsZWQsXG4uYy1zdWJoZWFkZXIgLmMtc3ViaGVhZGVyLW5hdiAuYy1zdWJoZWFkZXItbmF2LWJ0bi5jLWRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMyk7XG59XG4uYy1zdWJoZWFkZXIgLmMtc3ViaGVhZGVyLW5hdiAuYy1zaG93ID4gLmMtc3ViaGVhZGVyLW5hdi1saW5rLFxuLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci1uYXYgLmMtYWN0aXZlID4gLmMtc3ViaGVhZGVyLW5hdi1saW5rLFxuLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci1uYXYgLmMtc3ViaGVhZGVyLW5hdi1saW5rLmMtc2hvdyxcbi5jLXN1YmhlYWRlciAuYy1zdWJoZWFkZXItbmF2IC5jLXN1YmhlYWRlci1uYXYtbGluay5jLWFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjkpO1xufVxuLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuNSk7XG59XG4uYy1zdWJoZWFkZXIgLmMtc3ViaGVhZGVyLXRleHQgYSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjkpO1xufVxuLmMtc3ViaGVhZGVyIC5jLXN1YmhlYWRlci10ZXh0IGE6aG92ZXIsIC5jLXN1YmhlYWRlciAuYy1zdWJoZWFkZXItdGV4dCBhOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuOSk7XG59XG5cbi5jLXN3aXRjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjZweDtcbn1cblxuLmMtc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmMtc3dpdGNoLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cbi5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IDJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZGJlMDtcbiAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xufVxuXG4uYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNHB4KTtcbn1cblxuLmMtc3dpdGNoLWlucHV0OmZvY3VzIH4gLmMtc3dpdGNoLXNsaWRlciB7XG4gIGNvbG9yOiAjNzY4MTkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICM5NThiZWY7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUwLCAzMSwgMjE5LCAwLjI1KTtcbn1cblxuLmMtc3dpdGNoLWlucHV0OmRpc2FibGVkIH4gLmMtc3dpdGNoLXNsaWRlciB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmMtc3dpdGNoLWxnIHtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogMzBweDtcbn1cbi5jLXN3aXRjaC1sZyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmMtc3dpdGNoLWxnIC5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG4uYy1zd2l0Y2gtbGcgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBmb250LXNpemU6IDEycHg7XG59XG4uYy1zd2l0Y2gtbGcgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMThweCk7XG59XG5cbi5jLXN3aXRjaC1zbSB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDIycHg7XG59XG4uYy1zd2l0Y2gtc20gLmMtc3dpdGNoLXNsaWRlciB7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuLmMtc3dpdGNoLXNtIC5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4uYy1zd2l0Y2gtc20gLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBmb250LXNpemU6IDhweDtcbn1cbi5jLXN3aXRjaC1zbSAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbn1cblxuLmMtc3dpdGNoLWxhYmVsIHtcbiAgd2lkdGg6IDQ4cHg7XG59XG4uYy1zd2l0Y2gtbGFiZWwgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgei1pbmRleDogMjtcbn1cbi5jLXN3aXRjaC1sYWJlbCAuYy1zd2l0Y2gtc2xpZGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNjNGM5ZDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29udGVudDogYXR0cihkYXRhLXVuY2hlY2tlZCk7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5jLXN3aXRjaC1sYWJlbCAuYy1zd2l0Y2gtc2xpZGVyOjphZnRlciB7XG4gIHJpZ2h0OiAxcHg7XG59XG4uYy1zd2l0Y2gtbGFiZWwgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjJweCk7XG59XG4uYy1zd2l0Y2gtbGFiZWwgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2gtc2xpZGVyOjphZnRlciB7XG4gIGxlZnQ6IDFweDtcbiAgY29sb3I6ICNmZmY7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1jaGVja2VkKTtcbn1cbi5jLXN3aXRjaC1sYWJlbC5jLXN3aXRjaC1sZyB7XG4gIHdpZHRoOiA1NnB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG4uYy1zd2l0Y2gtbGFiZWwuYy1zd2l0Y2gtbGcgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5jLXN3aXRjaC1sYWJlbC5jLXN3aXRjaC1sZyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLmMtc3dpdGNoLWxhYmVsLmMtc3dpdGNoLWxnIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmMtc3dpdGNoLWxhYmVsLmMtc3dpdGNoLWxnIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xufVxuLmMtc3dpdGNoLWxhYmVsLmMtc3dpdGNoLXNtIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjJweDtcbn1cbi5jLXN3aXRjaC1sYWJlbC5jLXN3aXRjaC1zbSAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgZm9udC1zaXplOiA4cHg7XG59XG4uYy1zd2l0Y2gtbGFiZWwuYy1zd2l0Y2gtc20gLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi5jLXN3aXRjaC1sYWJlbC5jLXN3aXRjaC1zbSAuYy1zd2l0Y2gtc2xpZGVyOjphZnRlciB7XG4gIGZvbnQtc2l6ZTogOHB4O1xufVxuLmMtc3dpdGNoLWxhYmVsLmMtc3dpdGNoLXNtIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE4cHgpO1xufVxuXG4uYy1zd2l0Y2hbY2xhc3MqPVwiLTNkXCJdIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xuICBib3JkZXItcmFkaXVzOiA1MGVtO1xufVxuLmMtc3dpdGNoW2NsYXNzKj1cIi0zZFwiXSAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICB0b3A6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNTBlbTtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMjEsIDAuMyk7XG59XG4uYy1zd2l0Y2hbY2xhc3MqPVwiLTNkXCJdLmMtc3dpdGNoLWxnIHtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogMzBweDtcbn1cbi5jLXN3aXRjaFtjbGFzcyo9XCItM2RcIl0uYy1zd2l0Y2gtbGcgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cbi5jLXN3aXRjaFtjbGFzcyo9XCItM2RcIl0uYy1zd2l0Y2gtbGcgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMThweCk7XG59XG4uYy1zd2l0Y2hbY2xhc3MqPVwiLTNkXCJdLmMtc3dpdGNoLXNtIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMjJweDtcbn1cbi5jLXN3aXRjaFtjbGFzcyo9XCItM2RcIl0uYy1zd2l0Y2gtc20gLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbn1cbi5jLXN3aXRjaFtjbGFzcyo9XCItM2RcIl0uYy1zd2l0Y2gtc20gLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG59XG5cbi5jLXN3aXRjaC1wcmltYXJ5IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGI7XG4gIGJvcmRlci1jb2xvcjogIzI4MTlhZTtcbn1cbi5jLXN3aXRjaC1wcmltYXJ5IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjgxOWFlO1xufVxuXG4uYy1zd2l0Y2gtM2QtcHJpbWFyeSAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIxZmRiO1xufVxuXG4uYy1zd2l0Y2gtb3V0bGluZS1wcmltYXJ5IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYjtcbn1cbi5jLXN3aXRjaC1vdXRsaW5lLXByaW1hcnkgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMzMjFmZGI7XG59XG4uYy1zd2l0Y2gtb3V0bGluZS1wcmltYXJ5IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzMyMWZkYjtcbn1cblxuLmMtc3dpdGNoLW9wcG9zaXRlLXByaW1hcnkgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjMzIxZmRiO1xufVxuLmMtc3dpdGNoLW9wcG9zaXRlLXByaW1hcnkgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIxZmRiO1xuICBib3JkZXItY29sb3I6ICMzMjFmZGI7XG59XG4uYy1zd2l0Y2gtb3Bwb3NpdGUtcHJpbWFyeSAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICMzMjFmZGI7XG59XG5cbi5jLXN3aXRjaC1zZWNvbmRhcnkgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZDJkODtcbiAgYm9yZGVyLWNvbG9yOiAjYjJiOGMxO1xufVxuLmMtc3dpdGNoLXNlY29uZGFyeSAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2IyYjhjMTtcbn1cblxuLmMtc3dpdGNoLTNkLXNlY29uZGFyeSAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VkMmQ4O1xufVxuXG4uYy1zd2l0Y2gtb3V0bGluZS1zZWNvbmRhcnkgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjY2VkMmQ4O1xufVxuLmMtc3dpdGNoLW91dGxpbmUtc2Vjb25kYXJ5IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2VkMmQ4O1xufVxuLmMtc3dpdGNoLW91dGxpbmUtc2Vjb25kYXJ5IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2NlZDJkODtcbn1cblxuLmMtc3dpdGNoLW9wcG9zaXRlLXNlY29uZGFyeSAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6ICNjZWQyZDg7XG59XG4uYy1zd2l0Y2gtb3Bwb3NpdGUtc2Vjb25kYXJ5IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZDJkODtcbiAgYm9yZGVyLWNvbG9yOiAjY2VkMmQ4O1xufVxuLmMtc3dpdGNoLW9wcG9zaXRlLXNlY29uZGFyeSAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNjZWQyZDg7XG59XG5cbi5jLXN3aXRjaC1zdWNjZXNzIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZWI4NWM7XG4gIGJvcmRlci1jb2xvcjogIzI0OGY0ODtcbn1cbi5jLXN3aXRjaC1zdWNjZXNzIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjQ4ZjQ4O1xufVxuXG4uYy1zd2l0Y2gtM2Qtc3VjY2VzcyAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjO1xufVxuXG4uYy1zd2l0Y2gtb3V0bGluZS1zdWNjZXNzIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogIzJlYjg1Yztcbn1cbi5jLXN3aXRjaC1vdXRsaW5lLXN1Y2Nlc3MgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMyZWI4NWM7XG59XG4uYy1zd2l0Y2gtb3V0bGluZS1zdWNjZXNzIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzJlYjg1Yztcbn1cblxuLmMtc3dpdGNoLW9wcG9zaXRlLXN1Y2Nlc3MgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjMmViODVjO1xufVxuLmMtc3dpdGNoLW9wcG9zaXRlLXN1Y2Nlc3MgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjO1xuICBib3JkZXItY29sb3I6ICMyZWI4NWM7XG59XG4uYy1zd2l0Y2gtb3Bwb3NpdGUtc3VjY2VzcyAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICMyZWI4NWM7XG59XG5cbi5jLXN3aXRjaC1pbmZvIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG4gIGJvcmRlci1jb2xvcjogIzAwODBmZjtcbn1cbi5jLXN3aXRjaC1pbmZvIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA4MGZmO1xufVxuXG4uYy1zd2l0Y2gtM2QtaW5mbyAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzlmO1xufVxuXG4uYy1zd2l0Y2gtb3V0bGluZS1pbmZvIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogIzM5Zjtcbn1cbi5jLXN3aXRjaC1vdXRsaW5lLWluZm8gLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMzOWY7XG59XG4uYy1zd2l0Y2gtb3V0bGluZS1pbmZvIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzM5Zjtcbn1cblxuLmMtc3dpdGNoLW9wcG9zaXRlLWluZm8gLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjMzlmO1xufVxuLmMtc3dpdGNoLW9wcG9zaXRlLWluZm8gLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzlmO1xuICBib3JkZXItY29sb3I6ICMzOWY7XG59XG4uYy1zd2l0Y2gtb3Bwb3NpdGUtaW5mbyAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICMzOWY7XG59XG5cbi5jLXN3aXRjaC13YXJuaW5nIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWIxMTU7XG4gIGJvcmRlci1jb2xvcjogI2Q2OTQwNTtcbn1cbi5jLXN3aXRjaC13YXJuaW5nIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDY5NDA1O1xufVxuXG4uYy1zd2l0Y2gtM2Qtd2FybmluZyAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjliMTE1O1xufVxuXG4uYy1zd2l0Y2gtb3V0bGluZS13YXJuaW5nIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogI2Y5YjExNTtcbn1cbi5jLXN3aXRjaC1vdXRsaW5lLXdhcm5pbmcgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNmOWIxMTU7XG59XG4uYy1zd2l0Y2gtb3V0bGluZS13YXJuaW5nIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2Y5YjExNTtcbn1cblxuLmMtc3dpdGNoLW9wcG9zaXRlLXdhcm5pbmcgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjZjliMTE1O1xufVxuLmMtc3dpdGNoLW9wcG9zaXRlLXdhcm5pbmcgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjliMTE1O1xuICBib3JkZXItY29sb3I6ICNmOWIxMTU7XG59XG4uYy1zd2l0Y2gtb3Bwb3NpdGUtd2FybmluZyAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNmOWIxMTU7XG59XG5cbi5jLXN3aXRjaC1kYW5nZXIgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NTM1MztcbiAgYm9yZGVyLWNvbG9yOiAjZGUyNzI3O1xufVxuLmMtc3dpdGNoLWRhbmdlciAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2RlMjcyNztcbn1cblxuLmMtc3dpdGNoLTNkLWRhbmdlciAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTU1MzUzO1xufVxuXG4uYy1zd2l0Y2gtb3V0bGluZS1kYW5nZXIgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuLmMtc3dpdGNoLW91dGxpbmUtZGFuZ2VyIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuLmMtc3dpdGNoLW91dGxpbmUtZGFuZ2VyIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2U1NTM1Mztcbn1cblxuLmMtc3dpdGNoLW9wcG9zaXRlLWRhbmdlciAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6ICNlNTUzNTM7XG59XG4uYy1zd2l0Y2gtb3Bwb3NpdGUtZGFuZ2VyIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1NTM1MztcbiAgYm9yZGVyLWNvbG9yOiAjZTU1MzUzO1xufVxuLmMtc3dpdGNoLW9wcG9zaXRlLWRhbmdlciAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNlNTUzNTM7XG59XG5cbi5jLXN3aXRjaC1saWdodCAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xuICBib3JkZXItY29sb3I6ICNjZmQ0ZDg7XG59XG4uYy1zd2l0Y2gtbGlnaHQgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNjZmQ0ZDg7XG59XG5cbi5jLXN3aXRjaC0zZC1saWdodCAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xufVxuXG4uYy1zd2l0Y2gtb3V0bGluZS1saWdodCAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6ICNlYmVkZWY7XG59XG4uYy1zd2l0Y2gtb3V0bGluZS1saWdodCAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cbi5jLXN3aXRjaC1vdXRsaW5lLWxpZ2h0IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2ViZWRlZjtcbn1cblxuLmMtc3dpdGNoLW9wcG9zaXRlLWxpZ2h0IC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cbi5jLXN3aXRjaC1vcHBvc2l0ZS1saWdodCAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWY7XG4gIGJvcmRlci1jb2xvcjogI2ViZWRlZjtcbn1cbi5jLXN3aXRjaC1vcHBvc2l0ZS1saWdodCAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICNlYmVkZWY7XG59XG5cbi5jLXN3aXRjaC1kYXJrIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MzZmODM7XG4gIGJvcmRlci1jb2xvcjogIzRkNTY2Njtcbn1cbi5jLXN3aXRjaC1kYXJrIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGQ1NjY2O1xufVxuXG4uYy1zd2l0Y2gtM2QtZGFyayAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2ZjgzO1xufVxuXG4uYy1zd2l0Y2gtb3V0bGluZS1kYXJrIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1jb2xvcjogIzYzNmY4Mztcbn1cbi5jLXN3aXRjaC1vdXRsaW5lLWRhcmsgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM2MzZmODM7XG59XG4uYy1zd2l0Y2gtb3V0bGluZS1kYXJrIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlcjo6YWZ0ZXIge1xuICBjb2xvcjogIzYzNmY4Mztcbn1cblxuLmMtc3dpdGNoLW9wcG9zaXRlLWRhcmsgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjNjM2ZjgzO1xufVxuLmMtc3dpdGNoLW9wcG9zaXRlLWRhcmsgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2ZjgzO1xuICBib3JkZXItY29sb3I6ICM2MzZmODM7XG59XG4uYy1zd2l0Y2gtb3Bwb3NpdGUtZGFyayAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXI6OmFmdGVyIHtcbiAgY29sb3I6ICM2MzZmODM7XG59XG5cbi5jLXN3aXRjaC1waWxsIC5jLXN3aXRjaC1zbGlkZXIge1xuICBib3JkZXItcmFkaXVzOiA1MGVtO1xufVxuLmMtc3dpdGNoLXBpbGwgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTBlbTtcbn1cblxuLmMtc3dpdGNoLXNxdWFyZSAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5jLXN3aXRjaC1zcXVhcmUgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGNvbG9yOiAjM2M0YjY0O1xufVxuLnRhYmxlIHRoLFxuLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZDhkYmUwO1xufVxuLnRhYmxlIHRoZWFkIHRoIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDhkYmUwO1xufVxuLnRhYmxlIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItdG9wOiAycHggc29saWQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICNkOGRiZTA7XG59XG5cbi50YWJsZS1zbSB0aCxcbi50YWJsZS1zbSB0ZCB7XG4gIHBhZGRpbmc6IDAuM3JlbTtcbn1cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cbi50YWJsZS1ib3JkZXJlZCB0aCxcbi50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNkOGRiZTA7XG59XG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGgsXG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHRoLFxuLnRhYmxlLWJvcmRlcmxlc3MgdGQsXG4udGFibGUtYm9yZGVybGVzcyB0aGVhZCB0aCxcbi50YWJsZS1ib3JkZXJsZXNzIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXI6IDA7XG59XG5cbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjA1KTtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBjb2xvcjogIzNjNGI2NDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjA3NSk7XG4gIH1cbn1cblxuLnRhYmxlLXByaW1hcnksXG4udGFibGUtcHJpbWFyeSA+IHRoLFxuLnRhYmxlLXByaW1hcnkgPiB0ZCB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjMGY1O1xufVxuLnRhYmxlLXByaW1hcnkgdGgsXG4udGFibGUtcHJpbWFyeSB0ZCxcbi50YWJsZS1wcmltYXJ5IHRoZWFkIHRoLFxuLnRhYmxlLXByaW1hcnkgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogIzk0OGJlYztcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjJhYWYyO1xuICB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyID4gdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMmFhZjI7XG4gIH1cbn1cblxuLnRhYmxlLXNlY29uZGFyeSxcbi50YWJsZS1zZWNvbmRhcnkgPiB0aCxcbi50YWJsZS1zZWNvbmRhcnkgPiB0ZCB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY0O1xufVxuLnRhYmxlLXNlY29uZGFyeSB0aCxcbi50YWJsZS1zZWNvbmRhcnkgdGQsXG4udGFibGUtc2Vjb25kYXJ5IHRoZWFkIHRoLFxuLnRhYmxlLXNlY29uZGFyeSB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZTZlOGViO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzZTVlOTtcbiAgfVxuICAudGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzZTVlOTtcbiAgfVxufVxuXG4udGFibGUtc3VjY2Vzcyxcbi50YWJsZS1zdWNjZXNzID4gdGgsXG4udGFibGUtc3VjY2VzcyA+IHRkIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNGViZDE7XG59XG4udGFibGUtc3VjY2VzcyB0aCxcbi50YWJsZS1zdWNjZXNzIHRkLFxuLnRhYmxlLXN1Y2Nlc3MgdGhlYWQgdGgsXG4udGFibGUtc3VjY2VzcyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjOTJkYWFhO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMWU1YzI7XG4gIH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IxZTVjMjtcbiAgfVxufVxuXG4udGFibGUtaW5mbyxcbi50YWJsZS1pbmZvID4gdGgsXG4udGFibGUtaW5mbyA+IHRkIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmUyZmY7XG59XG4udGFibGUtaW5mbyB0aCxcbi50YWJsZS1pbmZvIHRkLFxuLnRhYmxlLWluZm8gdGhlYWQgdGgsXG4udGFibGUtaW5mbyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjOTVjYWZmO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGQ1ZmY7XG4gIH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkZDVmZjtcbiAgfVxufVxuXG4udGFibGUtd2FybmluZyxcbi50YWJsZS13YXJuaW5nID4gdGgsXG4udGFibGUtd2FybmluZyA+IHRkIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGU5YmQ7XG59XG4udGFibGUtd2FybmluZyB0aCxcbi50YWJsZS13YXJuaW5nIHRkLFxuLnRhYmxlLXdhcm5pbmcgdGhlYWQgdGgsXG4udGFibGUtd2FybmluZyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmNkNjg1O1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2UxYTQ7XG4gIH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZTFhNDtcbiAgfVxufVxuXG4udGFibGUtZGFuZ2VyLFxuLnRhYmxlLWRhbmdlciA+IHRoLFxuLnRhYmxlLWRhbmdlciA+IHRkIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGNmY2Y7XG59XG4udGFibGUtZGFuZ2VyIHRoLFxuLnRhYmxlLWRhbmdlciB0ZCxcbi50YWJsZS1kYW5nZXIgdGhlYWQgdGgsXG4udGFibGUtZGFuZ2VyIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNmMWE2YTY7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjViOWI5O1xuICB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjViOWI5O1xuICB9XG59XG5cbi50YWJsZS1saWdodCxcbi50YWJsZS1saWdodCA+IHRoLFxuLnRhYmxlLWxpZ2h0ID4gdGQge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYjtcbn1cbi50YWJsZS1saWdodCB0aCxcbi50YWJsZS1saWdodCB0ZCxcbi50YWJsZS1saWdodCB0aGVhZCB0aCxcbi50YWJsZS1saWdodCB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjVmNmY3O1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlZGYxO1xuICB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWRmMTtcbiAgfVxufVxuXG4udGFibGUtZGFyayxcbi50YWJsZS1kYXJrID4gdGgsXG4udGFibGUtZGFyayA+IHRkIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkM2Q3ZGM7XG59XG4udGFibGUtZGFyayB0aCxcbi50YWJsZS1kYXJrIHRkLFxuLnRhYmxlLWRhcmsgdGhlYWQgdGgsXG4udGFibGUtZGFyayB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjYWViNGJmO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNWNhZDE7XG4gIH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M1Y2FkMTtcbiAgfVxufVxuXG4udGFibGUtYWN0aXZlLFxuLnRhYmxlLWFjdGl2ZSA+IHRoLFxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGRiZTA7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjZWQ1O1xuICB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjZWQ1O1xuICB9XG59XG5cbi50YWJsZS1zZWxlY3RlZCxcbi50YWJsZS1zZWxlY3RlZCA+IHRoLFxuLnRhYmxlLXNlbGVjdGVkID4gdGQge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGJlMDtcbn1cbi50YWJsZS1zZWxlY3RlZCB0aCxcbi50YWJsZS1zZWxlY3RlZCB0ZCxcbi50YWJsZS1zZWxlY3RlZCB0aGVhZCB0aCxcbi50YWJsZS1zZWxlY3RlZCB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZDhkYmUwO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudGFibGUtaG92ZXIgLnRhYmxlLXNlbGVjdGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjZWQ1O1xuICB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtc2VsZWN0ZWQ6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtc2VsZWN0ZWQ6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2VkNTtcbiAgfVxufVxuXG4udGFibGUgdGJvZHkgdHI6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBjb2xvcjogIzNjNGI2NDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4wNzUpO1xufVxuXG4udGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzNmY4MztcbiAgYm9yZGVyLWNvbG9yOiAjNzU4Mjk3O1xufVxuLnRhYmxlIC50aGVhZC1saWdodCB0aCB7XG4gIGNvbG9yOiAjNzY4MTkyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkYmUwO1xuICBib3JkZXItY29sb3I6ICNkOGRiZTA7XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MzZmODM7XG59XG4udGFibGUtZGFyayB0aCxcbi50YWJsZS1kYXJrIHRkLFxuLnRhYmxlLWRhcmsgdGhlYWQgdGgge1xuICBib3JkZXItY29sb3I6ICM3NTgyOTc7XG59XG4udGFibGUtZGFyay50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMDtcbn1cbi50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAudGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSk7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS1zbSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUtbWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLW1kID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS14bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUteGwgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS14eGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLXh4bCA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDA7XG59XG5cbi50YWJsZS1vdXRsaW5lIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbn1cbi50YWJsZS1vdXRsaW5lIHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRhYmxlLWFsaWduLW1pZGRsZSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50YWJsZS1jbGVhciB0ZCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLnRvYXN0IHtcbiAgd2lkdGg6IDM1MHB4O1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDAuNzVyZW0gcmdiYSgwLCAwLCAyMSwgMC4xKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMSk7XG59XG4udG9hc3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4udG9hc3Quc2hvd2luZyB7XG4gIG9wYWNpdHk6IDE7XG59XG4udG9hc3Quc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xufVxuLnRvYXN0LmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9hc3QtZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgY29sb3I6ICM4YTkzYTI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAyMSwgMC4wNSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogMC43NXJlbTtcbn1cblxuLnRvYXN0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbn1cbi50b2FzdGVyLXRvcC1mdWxsLCAudG9hc3Rlci10b3AtY2VudGVyLCAudG9hc3Rlci10b3AtcmlnaHQsIC50b2FzdGVyLXRvcC1sZWZ0LCAudG9hc3Rlci1ib3R0b20tZnVsbCwgLnRvYXN0ZXItYm90dG9tLWNlbnRlciwgLnRvYXN0ZXItYm90dG9tLXJpZ2h0LCAudG9hc3Rlci1ib3R0b20tbGVmdCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTA4MDtcbiAgd2lkdGg6IDM1MHB4O1xufVxuLnRvYXN0ZXItdG9wLWZ1bGwsIC50b2FzdGVyLXRvcC1jZW50ZXIsIC50b2FzdGVyLXRvcC1yaWdodCwgLnRvYXN0ZXItdG9wLWxlZnQge1xuICB0b3A6IDA7XG59XG4udG9hc3Rlci1ib3R0b20tZnVsbCwgLnRvYXN0ZXItYm90dG9tLWNlbnRlciwgLnRvYXN0ZXItYm90dG9tLXJpZ2h0LCAudG9hc3Rlci1ib3R0b20tbGVmdCB7XG4gIGJvdHRvbTogMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi50b2FzdGVyLXRvcC1mdWxsLCAudG9hc3Rlci1ib3R0b20tZnVsbCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnRvYXN0ZXItdG9wLWNlbnRlciwgLnRvYXN0ZXItYm90dG9tLWNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLnRvYXN0ZXItdG9wLWZ1bGwsIC50b2FzdGVyLWJvdHRvbS1mdWxsLCAudG9hc3Rlci10b3AtcmlnaHQsIC50b2FzdGVyLWJvdHRvbS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xufVxuLnRvYXN0ZXItdG9wLWZ1bGwsIC50b2FzdGVyLWJvdHRvbS1mdWxsLCAudG9hc3Rlci10b3AtbGVmdCwgLnRvYXN0ZXItYm90dG9tLWxlZnQge1xuICBsZWZ0OiAwO1xufVxuLnRvYXN0ZXIgLnRvYXN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xufVxuXG4udG9hc3QtcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIxZmRiO1xuICBib3JkZXItY29sb3I6ICMyODE5YWU7XG59XG4udG9hc3QtcHJpbWFyeSAudG9hc3QtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDFjYzU7XG4gIGJvcmRlci1jb2xvcjogIzI4MTlhZTtcbn1cblxuLnRvYXN0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VkMmQ4O1xuICBib3JkZXItY29sb3I6ICNiMmI4YzE7XG59XG4udG9hc3Qtc2Vjb25kYXJ5IC50b2FzdC1oZWFkZXIge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MwYzVjZDtcbiAgYm9yZGVyLWNvbG9yOiAjYjJiOGMxO1xufVxuXG4udG9hc3Qtc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjO1xuICBib3JkZXItY29sb3I6ICMyNDhmNDg7XG59XG4udG9hc3Qtc3VjY2VzcyAudG9hc3QtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOWE0NTI7XG4gIGJvcmRlci1jb2xvcjogIzI0OGY0ODtcbn1cblxuLnRvYXN0LWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5ZjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA4MGZmO1xufVxuLnRvYXN0LWluZm8gLnRvYXN0LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWE4Y2ZmO1xuICBib3JkZXItY29sb3I6ICMwMDgwZmY7XG59XG5cbi50b2FzdC13YXJuaW5nIHtcbiAgY29sb3I6ICM0ZjVkNzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWIxMTU7XG4gIGJvcmRlci1jb2xvcjogI2Q2OTQwNTtcbn1cbi50b2FzdC13YXJuaW5nIC50b2FzdC1oZWFkZXIge1xuICBjb2xvcjogIzRmNWQ3MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlYTUwNjtcbiAgYm9yZGVyLWNvbG9yOiAjZDY5NDA1O1xufVxuXG4udG9hc3QtZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTUzNTM7XG4gIGJvcmRlci1jb2xvcjogI2RlMjcyNztcbn1cbi50b2FzdC1kYW5nZXIgLnRvYXN0LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTIzZDNkO1xuICBib3JkZXItY29sb3I6ICNkZTI3Mjc7XG59XG5cbi50b2FzdC1saWdodCB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlZGVmO1xuICBib3JkZXItY29sb3I6ICNjZmQ0ZDg7XG59XG4udG9hc3QtbGlnaHQgLnRvYXN0LWhlYWRlciB7XG4gIGNvbG9yOiAjNGY1ZDczO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRlMGU0O1xuICBib3JkZXItY29sb3I6ICNjZmQ0ZDg7XG59XG5cbi50b2FzdC1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MzZmODM7XG4gIGJvcmRlci1jb2xvcjogIzRkNTY2Njtcbn1cbi50b2FzdC1kYXJrIC50b2FzdC1oZWFkZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4NjM3NDtcbiAgYm9yZGVyLWNvbG9yOiAjNGQ1NjY2O1xufVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC43NjU2MjVyZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcbn1cbi50b29sdGlwLnNob3cge1xuICBvcGFjaXR5OiAwLjk7XG59XG4udG9vbHRpcCAudG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udG9vbHRpcCAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4udG9vbHRpcFtkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0sXG4udG9vbHRpcFtkYXRhLXBvcHBlci1wbGFjZW1lbnRePWJvdHRvbV0ge1xuICBwYWRkaW5nOiAwLjRyZW0gMDtcbn1cbi50b29sdGlwW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49dG9wXSAudG9vbHRpcC1hcnJvdyxcbi50b29sdGlwW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSAudG9vbHRpcC1hcnJvdyB7XG4gIHdpZHRoOiAwLjhyZW07XG4gIGhlaWdodDogMC40cmVtO1xufVxuXG4udG9vbHRpcFtkYXRhLXBvcHBlci1wbGFjZW1lbnRePXJpZ2h0XSxcbi50b29sdGlwW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49bGVmdF0ge1xuICBwYWRkaW5nOiAwIDAuNHJlbTtcbn1cbi50b29sdGlwW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdIC50b29sdGlwLWFycm93LFxuLnRvb2x0aXBbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSAudG9vbHRpcC1hcnJvdyB7XG4gIHdpZHRoOiAwLjRyZW07XG4gIGhlaWdodDogMC44cmVtO1xufVxuXG4udG9vbHRpcFtkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gLnRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG59XG4udG9vbHRpcFtkYXRhLXBvcHBlci1wbGFjZW1lbnRePXRvcF0gLnRvb2x0aXAtYXJyb3c6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMC40cmVtIDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDAwMTU7XG59XG5cbi50b29sdGlwW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdIC50b29sdGlwLWFycm93IHtcbiAgbGVmdDogMDtcbn1cbi50b29sdGlwW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49cmlnaHRdIC50b29sdGlwLWFycm93OjpiZWZvcmUge1xuICByaWdodDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMC40cmVtIDAuNHJlbSAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDAwMTU7XG59XG5cbi50b29sdGlwW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogMDtcbn1cbi50b29sdGlwW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49Ym90dG9tXSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMC40cmVtIDAuNHJlbTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDAxNTtcbn1cblxuLnRvb2x0aXBbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSAudG9vbHRpcC1hcnJvdyB7XG4gIHJpZ2h0OiAwO1xufVxuLnRvb2x0aXBbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1sZWZ0XSAudG9vbHRpcC1hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMCAwLjRyZW0gMC40cmVtO1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDAxNTtcbn1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAxNTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmZhZGUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mYWRlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZmFkZTpub3QoLnNob3cpIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmNvbGxhcHNlOm5vdCguc2hvdykge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jb2xsYXBzaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmZhZGUtaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xufVxuXG4uYy13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDAuM3M7XG59XG5cbi5jLXNpZGViYXIge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgMC4xNXMsIHRyYW5zZm9ybSAwLjNzLCBtYXJnaW4tbGVmdCAwLjNzLCBtYXJnaW4tcmlnaHQgMC4zcywgd2lkdGggMC4zcywgei1pbmRleCAwcyBlYXNlIDAuM3M7XG59XG4uYy1zaWRlYmFyLmMtc2lkZWJhci11bmZvbGRhYmxlIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG1hcmdpbi1sZWZ0IDAuM3MsIG1hcmdpbi1yaWdodCAwLjNzLCB3aWR0aCAwLjNzLCB6LWluZGV4IDBzIGVhc2UgMHM7XG59XG5cbi5jLW5vLWxheW91dC10cmFuc2l0aW9uIC5jLXdyYXBwZXIsXG4uYy1uby1sYXlvdXQtdHJhbnNpdGlvbiAuYy1zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cbi5jLW5vLWxheW91dC10cmFuc2l0aW9uIC5jLXdyYXBwZXIgLmMtc2lkZWJhci1oZWFkZXIsXG4uYy1uby1sYXlvdXQtdHJhbnNpdGlvbiAuYy13cmFwcGVyIC5jLXNpZGViYXItbmF2LXRpdGxlLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtd3JhcHBlciAuYy1zaWRlYmFyLW5hdi1kaXZpZGVyLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtd3JhcHBlciAuYy1zaWRlYmFyLW5hdi1saW5rLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtd3JhcHBlciAuYy1zaWRlYmFyLW5hdi1pY29uLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtd3JhcHBlciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bixcbi5jLW5vLWxheW91dC10cmFuc2l0aW9uIC5jLXdyYXBwZXIgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtd3JhcHBlciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtd3JhcHBlciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyxcbi5jLW5vLWxheW91dC10cmFuc2l0aW9uIC5jLXdyYXBwZXIgLmMtc2lkZWJhci1uYXYtbGFiZWwsXG4uYy1uby1sYXlvdXQtdHJhbnNpdGlvbiAuYy13cmFwcGVyIC5jLXNpZGViYXItZm9vdGVyLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtd3JhcHBlciAuYy1zaWRlYmFyLW1pbmltaXplcixcbi5jLW5vLWxheW91dC10cmFuc2l0aW9uIC5jLXNpZGViYXIgLmMtc2lkZWJhci1oZWFkZXIsXG4uYy1uby1sYXlvdXQtdHJhbnNpdGlvbiAuYy1zaWRlYmFyIC5jLXNpZGViYXItbmF2LXRpdGxlLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kaXZpZGVyLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1saW5rLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1pY29uLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bixcbi5jLW5vLWxheW91dC10cmFuc2l0aW9uIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtc2lkZWJhciAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyxcbi5jLW5vLWxheW91dC10cmFuc2l0aW9uIC5jLXNpZGViYXIgLmMtc2lkZWJhci1uYXYtbGFiZWwsXG4uYy1uby1sYXlvdXQtdHJhbnNpdGlvbiAuYy1zaWRlYmFyIC5jLXNpZGViYXItZm9vdGVyLFxuLmMtbm8tbGF5b3V0LXRyYW5zaXRpb24gLmMtc2lkZWJhciAuYy1zaWRlYmFyLW1pbmltaXplciB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5jLW5vLXRyYW5zaXRpb24ge1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjUzMTI1cmVtO1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG59XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMDkzNzVyZW07XG59XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMS4wOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogNS41cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiA0LjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaHIge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDIxLCAwLjIpO1xufVxuXG4uYy12ciB7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMjEsIDAuMik7XG59XG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xufVxuXG4ubGlzdC11bnN0eWxlZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuKltkaXI9cnRsXSAubGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5saXN0LWlubGluZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5saXN0LWlubGluZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbipbZGlyPXJ0bF0gLmxpc3QtaW5saW5lIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjA5Mzc1cmVtO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjOGE5M2EyO1xufVxuLmJsb2NrcXVvdGUtZm9vdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAlMKgXCI7XG59XG5cbi5jLWFwcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgaHRtbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4uYy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cbi5jLXdyYXBwZXI6bm90KC5jLXdyYXBwZXItZmx1aWQpIC5jLXN1YmhlYWRlci1maXhlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLXdyYXBwZXI6bm90KC5jLXdyYXBwZXItZmx1aWQpIC5jLWhlYWRlci1maXhlZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbn1cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYy13cmFwcGVyOm5vdCguYy13cmFwcGVyLWZsdWlkKSAuYy1oZWFkZXItZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBtYXJnaW46IGluaGVyaXQ7XG4gIH1cbiAgLmMtd3JhcHBlcjpub3QoLmMtd3JhcHBlci1mbHVpZCkgLmMtaGVhZGVyLWZpeGVkIH4gLmMtYm9keSB7XG4gICAgbWFyZ2luLXRvcDogMTA0cHg7XG4gIH1cbn1cbi5jLXdyYXBwZXI6bm90KC5jLXdyYXBwZXItZmx1aWQpIC5jLWZvb3Rlci1maXhlZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogMDtcbn1cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYy13cmFwcGVyOm5vdCguYy13cmFwcGVyLWZsdWlkKSAuYy1mb290ZXItZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBtYXJnaW46IGluaGVyaXQ7XG4gIH1cbiAgLmMtd3JhcHBlcjpub3QoLmMtd3JhcHBlci1mbHVpZCkgLmMtZm9vdGVyLWZpeGVkIH4gLmMtYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDlweDtcbiAgfVxufVxuLmMtd3JhcHBlcjpub3QoLmMtd3JhcHBlci1mbHVpZCkgLmMtYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5jLXdyYXBwZXIuYy13cmFwcGVyLWZsdWlkIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG4uYy13cmFwcGVyLmMtd3JhcHBlci1mbHVpZCAuYy1oZWFkZXItZml4ZWQge1xuICBtYXJnaW46IGluaGVyaXQ7XG59XG5cbi5jLW1haW4ge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jLW1haW4gPiAuY29udGFpbmVyLWZsdWlkLCAuYy1tYWluID4gLmNvbnRhaW5lci1zbSwgLmMtbWFpbiA+IC5jb250YWluZXItbWQsIC5jLW1haW4gPiAuY29udGFpbmVyLWxnLCAuYy1tYWluID4gLmNvbnRhaW5lci14bCwgLmMtbWFpbiA+IC5jb250YWluZXIteHhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuXG4uYWxpZ24tYmFzZWxpbmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXRleHQtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10ZXh0LXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50O1xufVxuXG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjFmZGIgIWltcG9ydGFudDtcbn1cblxuYS5iZy1wcmltYXJ5OmhvdmVyLCBhLmJnLXByaW1hcnk6Zm9jdXMsXG5idXR0b24uYmctcHJpbWFyeTpob3ZlcixcbmJ1dHRvbi5iZy1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MTlhZSAhaW1wb3J0YW50O1xufVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlZDJkOCAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXNlY29uZGFyeTpob3ZlciwgYS5iZy1zZWNvbmRhcnk6Zm9jdXMsXG5idXR0b24uYmctc2Vjb25kYXJ5OmhvdmVyLFxuYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMmI4YzEgIWltcG9ydGFudDtcbn1cblxuLmJnLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmViODVjICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctc3VjY2Vzczpob3ZlciwgYS5iZy1zdWNjZXNzOmZvY3VzLFxuYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXIsXG5idXR0b24uYmctc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNDhmNDggIWltcG9ydGFudDtcbn1cblxuLmJnLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzlmICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctaW5mbzpob3ZlciwgYS5iZy1pbmZvOmZvY3VzLFxuYnV0dG9uLmJnLWluZm86aG92ZXIsXG5idXR0b24uYmctaW5mbzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwZmYgIWltcG9ydGFudDtcbn1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjliMTE1ICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctd2FybmluZzpob3ZlciwgYS5iZy13YXJuaW5nOmZvY3VzLFxuYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXIsXG5idXR0b24uYmctd2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNjk0MDUgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTUzNTMgIWltcG9ydGFudDtcbn1cblxuYS5iZy1kYW5nZXI6aG92ZXIsIGEuYmctZGFuZ2VyOmZvY3VzLFxuYnV0dG9uLmJnLWRhbmdlcjpob3ZlcixcbmJ1dHRvbi5iZy1kYW5nZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGUyNzI3ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWYgIWltcG9ydGFudDtcbn1cblxuYS5iZy1saWdodDpob3ZlciwgYS5iZy1saWdodDpmb2N1cyxcbmJ1dHRvbi5iZy1saWdodDpob3ZlcixcbmJ1dHRvbi5iZy1saWdodDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmQ0ZDggIWltcG9ydGFudDtcbn1cblxuLmJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjM2ZjgzICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZGFyazpob3ZlciwgYS5iZy1kYXJrOmZvY3VzLFxuYnV0dG9uLmJnLWRhcms6aG92ZXIsXG5idXR0b24uYmctZGFyazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZDU2NjYgIWltcG9ydGFudDtcbn1cblxuLmJnLWdyYWRpZW50LXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMWYxNDk4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzMyMWZkYiAwJSwgIzFmMTQ5OCAxMDAlKSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMxZjE0OTggIWltcG9ydGFudDtcbn1cblxuLmJnLWdyYWRpZW50LXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjYzhkMmRjIDAlLCAjZmZmIDEwMCUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JhZGllbnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMxYjllM2UgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMmViODVjIDAlLCAjMWI5ZTNlIDEwMCUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzFiOWUzZSAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JhZGllbnQtaW5mbyB7XG4gIGJhY2tncm91bmQ6ICMyOTgyY2MgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMzlmIDAlLCAjMjk4MmNjIDEwMCUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzI5ODJjYyAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JhZGllbnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmNjk2MGIgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjZjliMTE1IDAlLCAjZjY5NjBiIDEwMCUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2Y2OTYwYiAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JhZGllbnQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogI2Q5MzczNyAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNlNTUzNTMgMCUsICNkOTM3MzcgMTAwJSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZDkzNzM3ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ncmFkaWVudC1saWdodCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjZTNlOGVkIDAlLCAjZmZmIDEwMCUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JhZGllbnQtZGFyayB7XG4gIGJhY2tncm91bmQ6ICMyMTIzMzMgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjM2M0YjY0IDAlLCAjMjEyMzMzIDEwMCUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzIxMjMzMyAhaW1wb3J0YW50O1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbltjbGFzc149YmctXSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYmctZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4ICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZmFjZWJvb2s6aG92ZXIsIGEuYmctZmFjZWJvb2s6Zm9jdXMsXG5idXR0b24uYmctZmFjZWJvb2s6aG92ZXIsXG5idXR0b24uYmctZmFjZWJvb2s6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ0MzczICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10d2l0dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWNlZCAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXR3aXR0ZXI6aG92ZXIsIGEuYmctdHdpdHRlcjpmb2N1cyxcbmJ1dHRvbi5iZy10d2l0dGVyOmhvdmVyLFxuYnV0dG9uLmJnLXR3aXR0ZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4N2JhICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1saW5rZWRpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ODc1YjQgIWltcG9ydGFudDtcbn1cblxuYS5iZy1saW5rZWRpbjpob3ZlciwgYS5iZy1saW5rZWRpbjpmb2N1cyxcbmJ1dHRvbi5iZy1saW5rZWRpbjpob3ZlcixcbmJ1dHRvbi5iZy1saW5rZWRpbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOTVkOTAgIWltcG9ydGFudDtcbn1cblxuLmJnLWZsaWNrciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwODQgIWltcG9ydGFudDtcbn1cblxuYS5iZy1mbGlja3I6aG92ZXIsIGEuYmctZmxpY2tyOmZvY3VzLFxuYnV0dG9uLmJnLWZsaWNrcjpob3ZlcixcbmJ1dHRvbi5iZy1mbGlja3I6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDZhICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10dW1ibHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI1MDZkICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctdHVtYmxyOmhvdmVyLCBhLmJnLXR1bWJscjpmb2N1cyxcbmJ1dHRvbi5iZy10dW1ibHI6aG92ZXIsXG5idXR0b24uYmctdHVtYmxyOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMzY0YSAhaW1wb3J0YW50O1xufVxuXG4uYmcteGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjY0NjYgIWltcG9ydGFudDtcbn1cblxuYS5iZy14aW5nOmhvdmVyLCBhLmJnLXhpbmc6Zm9jdXMsXG5idXR0b24uYmcteGluZzpob3ZlcixcbmJ1dHRvbi5iZy14aW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxMzMzNCAhaW1wb3J0YW50O1xufVxuXG4uYmctZ2l0aHViIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQxODNjNCAhaW1wb3J0YW50O1xufVxuXG5hLmJnLWdpdGh1Yjpob3ZlciwgYS5iZy1naXRodWI6Zm9jdXMsXG5idXR0b24uYmctZ2l0aHViOmhvdmVyLFxuYnV0dG9uLmJnLWdpdGh1Yjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMjY5YTAgIWltcG9ydGFudDtcbn1cblxuLmJnLXN0YWNrLW92ZXJmbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlN2ExNSAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXN0YWNrLW92ZXJmbG93OmhvdmVyLCBhLmJnLXN0YWNrLW92ZXJmbG93OmZvY3VzLFxuYnV0dG9uLmJnLXN0YWNrLW92ZXJmbG93OmhvdmVyLFxuYnV0dG9uLmJnLXN0YWNrLW92ZXJmbG93OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmNjEwMSAhaW1wb3J0YW50O1xufVxuXG4uYmcteW91dHViZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMDAgIWltcG9ydGFudDtcbn1cblxuYS5iZy15b3V0dWJlOmhvdmVyLCBhLmJnLXlvdXR1YmU6Zm9jdXMsXG5idXR0b24uYmcteW91dHViZTpob3ZlcixcbmJ1dHRvbi5iZy15b3V0dWJlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4MDAwMCAhaW1wb3J0YW50O1xufVxuXG4uYmctZHJpYmJibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWE0Yzg5ICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZHJpYmJibGU6aG92ZXIsIGEuYmctZHJpYmJibGU6Zm9jdXMsXG5idXR0b24uYmctZHJpYmJibGU6aG92ZXIsXG5idXR0b24uYmctZHJpYmJibGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUxZTZiICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbnN0YWdyYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTE3ZmE0ICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctaW5zdGFncmFtOmhvdmVyLCBhLmJnLWluc3RhZ3JhbTpmb2N1cyxcbmJ1dHRvbi5iZy1pbnN0YWdyYW06aG92ZXIsXG5idXR0b24uYmctaW5zdGFncmFtOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNjU4MiAhaW1wb3J0YW50O1xufVxuXG4uYmctcGludGVyZXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NiMjAyNyAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXBpbnRlcmVzdDpob3ZlciwgYS5iZy1waW50ZXJlc3Q6Zm9jdXMsXG5idXR0b24uYmctcGludGVyZXN0OmhvdmVyLFxuYnV0dG9uLmJnLXBpbnRlcmVzdDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZjE5MWYgIWltcG9ydGFudDtcbn1cblxuLmJnLXZrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NjY4ZSAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXZrOmhvdmVyLCBhLmJnLXZrOmZvY3VzLFxuYnV0dG9uLmJnLXZrOmhvdmVyLFxuYnV0dG9uLmJnLXZrOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0NGQ2YyAhaW1wb3J0YW50O1xufVxuXG4uYmcteWFob28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDAwMTkxICFpbXBvcnRhbnQ7XG59XG5cbmEuYmcteWFob286aG92ZXIsIGEuYmcteWFob286Zm9jdXMsXG5idXR0b24uYmcteWFob286aG92ZXIsXG5idXR0b24uYmcteWFob286Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEwMTVlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1iZWhhbmNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NjlmZiAhaW1wb3J0YW50O1xufVxuXG5hLmJnLWJlaGFuY2U6aG92ZXIsIGEuYmctYmVoYW5jZTpmb2N1cyxcbmJ1dHRvbi5iZy1iZWhhbmNlOmhvdmVyLFxuYnV0dG9uLmJnLWJlaGFuY2U6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MGUzICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1yZWRkaXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NTAwICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctcmVkZGl0OmhvdmVyLCBhLmJnLXJlZGRpdDpmb2N1cyxcbmJ1dHRvbi5iZy1yZWRkaXQ6aG92ZXIsXG5idXR0b24uYmctcmVkZGl0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjMzcwMCAhaW1wb3J0YW50O1xufVxuXG4uYmctdmltZW8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFkNDUwICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctdmltZW86aG92ZXIsIGEuYmctdmltZW86Zm9jdXMsXG5idXR0b24uYmctdmltZW86aG92ZXIsXG5idXR0b24uYmctdmltZW86Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNjMTMwICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ncmF5LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVkZWYgIWltcG9ydGFudDtcbn1cblxuYS5iZy1ncmF5LTEwMDpob3ZlciwgYS5iZy1ncmF5LTEwMDpmb2N1cyxcbmJ1dHRvbi5iZy1ncmF5LTEwMDpob3ZlcixcbmJ1dHRvbi5iZy1ncmF5LTEwMDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmQ0ZDggIWltcG9ydGFudDtcbn1cblxuLmJnLWdyYXktMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZGJlMCAhaW1wb3J0YW50O1xufVxuXG5hLmJnLWdyYXktMjAwOmhvdmVyLCBhLmJnLWdyYXktMjAwOmZvY3VzLFxuYnV0dG9uLmJnLWdyYXktMjAwOmhvdmVyLFxuYnV0dG9uLmJnLWdyYXktMjAwOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JjYzFjOSAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JheS0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjOWQwICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZ3JheS0zMDA6aG92ZXIsIGEuYmctZ3JheS0zMDA6Zm9jdXMsXG5idXR0b24uYmctZ3JheS0zMDA6aG92ZXIsXG5idXR0b24uYmctZ3JheS0zMDA6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThhZmI5ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ncmF5LTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMWI3YzEgIWltcG9ydGFudDtcbn1cblxuYS5iZy1ncmF5LTQwMDpob3ZlciwgYS5iZy1ncmF5LTQwMDpmb2N1cyxcbmJ1dHRvbi5iZy1ncmF5LTQwMDpob3ZlcixcbmJ1dHRvbi5iZy1ncmF5LTQwMDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NTlkYWEgIWltcG9ydGFudDtcbn1cblxuLmJnLWdyYXktNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlkYTViMSAhaW1wb3J0YW50O1xufVxuXG5hLmJnLWdyYXktNTAwOmhvdmVyLCBhLmJnLWdyYXktNTAwOmZvY3VzLFxuYnV0dG9uLmJnLWdyYXktNTAwOmhvdmVyLFxuYnV0dG9uLmJnLWdyYXktNTAwOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgxOGI5YSAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JheS02MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE5M2EyICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZ3JheS02MDA6aG92ZXIsIGEuYmctZ3JheS02MDA6Zm9jdXMsXG5idXR0b24uYmctZ3JheS02MDA6aG92ZXIsXG5idXR0b24uYmctZ3JheS02MDA6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmU3OThiICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ncmF5LTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NjgxOTIgIWltcG9ydGFudDtcbn1cblxuYS5iZy1ncmF5LTcwMDpob3ZlciwgYS5iZy1ncmF5LTcwMDpmb2N1cyxcbmJ1dHRvbi5iZy1ncmF5LTcwMDpob3ZlcixcbmJ1dHRvbi5iZy1ncmF5LTcwMDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZTY4NzcgIWltcG9ydGFudDtcbn1cblxuLmJnLWdyYXktODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzNmY4MyAhaW1wb3J0YW50O1xufVxuXG5hLmJnLWdyYXktODAwOmhvdmVyLCBhLmJnLWdyYXktODAwOmZvY3VzLFxuYnV0dG9uLmJnLWdyYXktODAwOmhvdmVyLFxuYnV0dG9uLmJnLWdyYXktODAwOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkNTY2NiAhaW1wb3J0YW50O1xufVxuXG4uYmctZ3JheS05MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY1ZDczICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZ3JheS05MDA6aG92ZXIsIGEuYmctZ3JheS05MDA6Zm9jdXMsXG5idXR0b24uYmctZ3JheS05MDA6aG92ZXIsXG5idXR0b24uYmctZ3JheS05MDA6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2E0NTU1ICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG59XG5cbi5ib3JkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDhkYmUwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOGRiZTAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1yaWdodCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkOGRiZTAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ib3R0b20ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZGJlMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxlZnQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkOGRiZTAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci0wIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItdG9wLTAge1xuICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcmlnaHQtMCB7XG4gIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWJvdHRvbS0wIHtcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxlZnQtMCB7XG4gIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcHJpbWFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzMyMWZkYiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXNlY29uZGFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2NlZDJkOCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN1Y2Nlc3Mge1xuICBib3JkZXI6IDFweCBzb2xpZCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMyZWI4NWMgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1pbmZvIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMzlmICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItd2FybmluZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2Y5YjExNSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhbmdlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2U1NTM1MyAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZWJlZGVmICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItZGFyayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzYzNmY4MyAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZWZ0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogNTByZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtMCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLmItYS0wIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5iLXQtMCB7XG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLmItci0wIHtcbiAgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5iLWItMCB7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmItbC0wIHtcbiAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmItYS0xIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZGJlMDtcbn1cblxuLmItdC0xIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOGRiZTA7XG59XG5cbi5iLXItMSB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkOGRiZTA7XG59XG5cbi5iLWItMSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkYmUwO1xufVxuXG4uYi1sLTEge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkOGRiZTA7XG59XG5cbi5iLWEtMiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkOGRiZTA7XG59XG5cbi5iLXQtMiB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZDhkYmUwO1xufVxuXG4uYi1yLTIge1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZDhkYmUwO1xufVxuXG4uYi1iLTIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q4ZGJlMDtcbn1cblxuLmItbC0yIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZDhkYmUwO1xufVxuXG4uY29udGVudC1jZW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5kLW5vbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZC10YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlLXJvdyB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xufVxuXG4uZC10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xufVxuXG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtZmxleCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZC1zbS1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1zbS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20taW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20tdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1zbS10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20tdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20tZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20taW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZC1tZC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1tZC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLW1kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1tZC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZC1sZy1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1sZy1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1sZy10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmQteGwtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteGwtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14bC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteGwtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5kLXh4bC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14eGwtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXh4bC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteHhsLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteHhsLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteHhsLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14eGwtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteHhsLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXh4bC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5kLWRvd24tbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLmQtc20tZG93bi1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAuZC1tZC1kb3duLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAuZC1sZy1kb3duLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAuZC14bC1kb3duLW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLmQteHhsLWRvd24tbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmMtZGVmYXVsdC10aGVtZSAuYy1kLWRlZmF1bHQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLmQtcHJpbnQtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtcHJpbnQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXByaW50LXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtcHJpbnQtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXByaW50LXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXByaW50LWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXByaW50LWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmVtYmVkLXJlc3BvbnNpdmU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xufVxuLmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSxcbi5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSxcbi5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLFxuLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LFxuLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTIxYnk5OjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogNDIuODU3MTQyODU3MSU7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5OjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogNzUlO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA0Mi44NTcxNDI4NTcxJTtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTk6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTM6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA3NSU7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTE6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xufVxuXG4uZmxleC1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbn1cblxuLmZsZXgtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1ub3dyYXAge1xuICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1maWxsIHtcbiAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmZsZXgtZ3Jvdy0wIHtcbiAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWdyb3ctMSB7XG4gIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1zaHJpbmstMCB7XG4gIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXNocmluay0xIHtcbiAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1pdGVtcy1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LXN0YXJ0IHtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1lbmQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1jZW50ZXIge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtYmV0d2VlbiB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtYXJvdW5kIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LXN0cmV0Y2gge1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWF1dG8ge1xuICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLXN0YXJ0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1lbmQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1jZW50ZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtYmFzZWxpbmUge1xuICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmZsZXgtc20tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20td3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC1zbS1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC1zbS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXNtLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtc20tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1zbS1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtc20tZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtc20tY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXNtLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1zbS1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1zbS1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtc20tZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtc20tY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsZXgtbWQtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLW1kLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLW1kLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtbWQtYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbWQtZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LW1kLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1tZC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1tZC1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbWQtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLW1kLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtbGctcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC1sZy1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC1sZy1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLWxnLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtbGctY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1sZy1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbGctZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LWxnLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1sZy1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1sZy1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbGctZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbGctY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLWxnLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbGV4LXhsLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXhsLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXhsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14bC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXhsLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteGwtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXhsLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXhsLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14bC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14bC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYteGwtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYteGwtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXhsLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXhsLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuZmxleC14eGwtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteHhsLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXh4bC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXh4bC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteHhsLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14eGwtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXh4bC1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteHhsLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteHhsLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14eGwtc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14eGwtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXh4bC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXh4bC1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQteHhsLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14eGwtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMteHhsLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMteHhsLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXh4bC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMteHhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14eGwtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXh4bC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14eGwtY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXh4bC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14eGwtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXh4bC1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14eGwtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYteHhsLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14eGwtZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYteHhsLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14eGwtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14eGwtc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG59XG5odG1sOm5vdChbZGlyPXJ0bF0pIC5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLmZsb2F0LWxlZnQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAuZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuZmxvYXQtc20tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5mbG9hdC1zbS1sZWZ0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmZsb2F0LXNtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5mbG9hdC1zbS1yaWdodCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuZmxvYXQtbWQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5mbG9hdC1tZC1sZWZ0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmZsb2F0LW1kLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5mbG9hdC1tZC1yaWdodCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1tZC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuZmxvYXQtbGctbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5mbG9hdC1sZy1sZWZ0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmZsb2F0LWxnLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5mbG9hdC1sZy1yaWdodCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1sZy1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmZsb2F0LXhsLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAuZmxvYXQteGwtbGVmdCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5mbG9hdC14bC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAuZmxvYXQteGwtcmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5mbG9hdC14eGwtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5mbG9hdC14eGwtbGVmdCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5mbG9hdC14eGwtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLmZsb2F0LXh4bC1yaWdodCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC14eGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnVzZXItc2VsZWN0LWFsbCB7XG4gIHVzZXItc2VsZWN0OiBhbGwgIWltcG9ydGFudDtcbn1cblxuLnVzZXItc2VsZWN0LWF1dG8ge1xuICB1c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udXNlci1zZWxlY3Qtbm9uZSB7XG4gIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1hdXRvIHtcbiAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gIC5zdGlja3ktdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4uc2hhZG93LXNtIHtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMjEsIDAuMDc1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDIxLCAwLjE1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hhZG93LWxnIHtcbiAgYm94LXNoYWRvdzogMCAxcmVtIDNyZW0gcmdiYSgwLCAwLCAyMSwgMC4xNzUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3ctbm9uZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnctMjUge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udy03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnctYXV0byB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5oLTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDtcbn1cblxuLmgtNTAge1xuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uaC03NSB7XG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uaC1hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tdy0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLm1oLTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLm1pbi12dy0xMDAge1xuICBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG59XG5cbi5taW4tdmgtMTAwIHtcbiAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLnZ3LTEwMCB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xufVxuXG4udmgtMTAwIHtcbiAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xufVxuXG4ubS0wIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0wLFxuLm15LTAge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tci0wLFxuLm14LTAge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1iLTAsXG4ubXktMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm1sLTAsXG4ubXgtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLm1mcy0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZmUtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tLTEge1xuICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTEsXG4ubXktMSB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLTEsXG4ubXgtMSB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItMSxcbi5teS0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtMSxcbi5teC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLTEge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuKltkaXI9cnRsXSAubWZzLTEge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLTEge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLm1mZS0xIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tMiB7XG4gIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0yLFxuLm15LTIge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLTIsXG4ubXgtMiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0yLFxuLm15LTIge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLTIsXG4ubXgtMiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLTIge1xuICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZnMtMiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLm1mZS0yIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS0zIHtcbiAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0zLFxuLm15LTMge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci0zLFxuLm14LTMge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTMsXG4ubXktMyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLTMsXG4ubXgtMyB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLm1mcy0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZmUtMyB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLTQge1xuICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtNCxcbi5teS00IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci00LFxuLm14LTQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItNCxcbi5teS00IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC00LFxuLm14LTQge1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy00IHtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuKltkaXI9cnRsXSAubWZzLTQge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtNCB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZmUtNCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tNSB7XG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtNSxcbi5teS01IHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItNSxcbi5teC01IHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi01LFxuLm15LTUge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC01LFxuLm14LTUge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtNSB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZnMtNSB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtNSB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuKltkaXI9cnRsXSAubWZlLTUge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucC0wIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ucHQtMCxcbi5weS0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnByLTAsXG4ucHgtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnBiLTAsXG4ucHktMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wbC0wLFxuLnB4LTAge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLTAge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLnBmcy0wIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLnBmZS0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wLTEge1xuICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0xLFxuLnB5LTEge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHItMSxcbi5weC0xIHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItMSxcbi5weS0xIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBsLTEsXG4ucHgtMSB7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMtMSB7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuKltkaXI9cnRsXSAucGZzLTEge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS0xIHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuKltkaXI9cnRsXSAucGZlLTEge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtMiB7XG4gIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMixcbi5weS0yIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHItMixcbi5weC0yIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0yLFxuLnB5LTIge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wbC0yLFxuLnB4LTIge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMtMiB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5wZnMtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuKltkaXI9cnRsXSAucGZlLTIge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC0zIHtcbiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMyxcbi5weS0zIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnByLTMsXG4ucHgtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTMsXG4ucHktMyB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wbC0zLFxuLnB4LTMge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLTMge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLnBmcy0zIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG5odG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLnBmZS0zIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTQge1xuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTQsXG4ucHktNCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnByLTQsXG4ucHgtNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGItNCxcbi5weS00IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGwtNCxcbi5weC00IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLTQge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuKltkaXI9cnRsXSAucGZzLTQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLTQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLnBmZS00IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtNSB7XG4gIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnB0LTUsXG4ucHktNSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wci01LFxuLnB4LTUge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi01LFxuLnB5LTUge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGwtNSxcbi5weC01IHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy01IHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5wZnMtNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLTUge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5wZmUtNSB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1uMSB7XG4gIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LW4xLFxuLm15LW4xIHtcbiAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLW4xLFxuLm14LW4xIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItbjEsXG4ubXktbjEge1xuICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtbjEsXG4ubXgtbjEge1xuICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW4xIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZnMtbjEge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1uMSB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLm1mZS1uMSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1uMiB7XG4gIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjIsXG4ubXktbjIge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci1uMixcbi5teC1uMiB7XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItbjIsXG4ubXktbjIge1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC1uMixcbi5teC1uMiB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1uMiB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZnMtbjIge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW4yIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZmUtbjIge1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1uMyB7XG4gIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LW4zLFxuLm15LW4zIHtcbiAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLW4zLFxuLm14LW4zIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItbjMsXG4ubXktbjMge1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtbjMsXG4ubXgtbjMge1xuICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW4zIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZnMtbjMge1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1uMyB7XG4gIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLm1mZS1uMyB7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1uNCB7XG4gIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtbjQsXG4ubXktbjQge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci1uNCxcbi5teC1uNCB7XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItbjQsXG4ubXktbjQge1xuICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC1uNCxcbi5teC1uNCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1uNCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZnMtbjQge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW40IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZmUtbjQge1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1uNSB7XG4gIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LW41LFxuLm15LW41IHtcbiAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLW41LFxuLm14LW41IHtcbiAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItbjUsXG4ubXktbjUge1xuICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtbjUsXG4ubXgtbjUge1xuICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW41IHtcbiAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZnMtbjUge1xuICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1uNSB7XG4gIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLm1mZS1uNSB7XG4gIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubS1hdXRvIHtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1hdXRvLFxuLm15LWF1dG8ge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tci1hdXRvLFxuLm14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1iLWF1dG8sXG4ubXktYXV0byB7XG4gIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1sLWF1dG8sXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbipbZGlyPXJ0bF0gLm1mcy1hdXRvIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbmh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1hdXRvIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4qW2Rpcj1ydGxdIC5tZmUtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubS1zbS0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1zbS0wLFxuLm15LXNtLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1zbS0wLFxuLm14LXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLTAsXG4ubXktc20tMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXNtLTAsXG4ubXgtc20tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1zbS0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1zbS0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1zbS0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtc20tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLTEsXG4ubXktc20tMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLTEsXG4ubXgtc20tMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tMSxcbi5teS1zbS0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tMSxcbi5teC1zbS0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXNtLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXNtLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1zbS0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tc20tMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1zbS0yLFxuLm15LXNtLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLTIsXG4ubXgtc20tMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS0yLFxuLm15LXNtLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXNtLTIsXG4ubXgtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtc20tMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1zbS0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1zbS0zLFxuLm15LXNtLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1zbS0zLFxuLm14LXNtLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLTMsXG4ubXktc20tMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXNtLTMsXG4ubXgtc20tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1zbS0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1zbS0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtc20tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tNCxcbi5teS1zbS00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1zbS00LFxuLm14LXNtLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tNCxcbi5teS1zbS00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1zbS00LFxuLm14LXNtLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXNtLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtc20tNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tc20tNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tNSxcbi5teS1zbS01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItc20tNSxcbi5teC1zbS01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS01LFxuLm15LXNtLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1zbS01LFxuLm14LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtc20tNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtc20tNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtc20tNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1zbS0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtc20tMCxcbi5weS1zbS0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLXNtLTAsXG4ucHgtc20tMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXNtLTAsXG4ucHktc20tMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1zbS0wLFxuLnB4LXNtLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLXNtLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmcy1zbS0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtc20tMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmZS1zbS0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXNtLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1zbS0xLFxuLnB5LXNtLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItc20tMSxcbi5weC1zbS0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItc20tMSxcbi5weS1zbS0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXNtLTEsXG4ucHgtc20tMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMtc20tMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXNtLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS1zbS0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLXNtLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtc20tMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtc20tMixcbi5weS1zbS0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItc20tMixcbi5weC1zbS0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1zbS0yLFxuLnB5LXNtLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1zbS0yLFxuLnB4LXNtLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMtc20tMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZnMtc20tMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtc20tMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLXNtLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1zbS0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtc20tMyxcbi5weS1zbS0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLXNtLTMsXG4ucHgtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXNtLTMsXG4ucHktc20tMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1zbS0zLFxuLnB4LXNtLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLXNtLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmcy1zbS0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmZS1zbS0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXNtLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXNtLTQsXG4ucHktc20tNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLXNtLTQsXG4ucHgtc20tNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItc20tNCxcbi5weS1zbS00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtc20tNCxcbi5weC1zbS00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLXNtLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXNtLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLXNtLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmZS1zbS00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtc20tNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXNtLTUsXG4ucHktc20tNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1zbS01LFxuLnB4LXNtLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1zbS01LFxuLnB5LXNtLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtc20tNSxcbi5weC1zbS01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy1zbS01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZnMtc20tNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLXNtLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUtc20tNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uMSB7XG4gICAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW4xLFxuLm15LXNtLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLW4xLFxuLm14LXNtLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjEsXG4ubXktc20tbjEge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tbjEsXG4ubXgtc20tbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXNtLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtc20tbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1zbS1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1zbS1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tbjIsXG4ubXktc20tbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1zbS1uMixcbi5teC1zbS1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjIsXG4ubXktc20tbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1zbS1uMixcbi5teC1zbS1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1zbS1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtc20tbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXNtLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtc20tbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uMyB7XG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW4zLFxuLm15LXNtLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLW4zLFxuLm14LXNtLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjMsXG4ubXktc20tbjMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tbjMsXG4ubXgtc20tbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXNtLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtc20tbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1zbS1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1zbS1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tbjQsXG4ubXktc20tbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1zbS1uNCxcbi5teC1zbS1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjQsXG4ubXktc20tbjQge1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1zbS1uNCxcbi5teC1zbS1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1zbS1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtc20tbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXNtLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtc20tbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW41LFxuLm15LXNtLW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLW41LFxuLm14LXNtLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjUsXG4ubXktc20tbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tbjUsXG4ubXgtc20tbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXNtLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtc20tbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1zbS1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1zbS1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1zbS1hdXRvLFxuLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1zbS1hdXRvLFxuLm14LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLWF1dG8sXG4ubXktc20tYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXNtLWF1dG8sXG4ubXgtc20tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1zbS1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtc20tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tLW1kLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLTAsXG4ubXktbWQtMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLTAsXG4ubXgtbWQtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbWQtMCxcbi5teS1tZC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbWQtMCxcbi5teC1tZC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLW1kLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW1kLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1tZC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtMSxcbi5teS1tZC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbWQtMSxcbi5teC1tZC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC0xLFxuLm15LW1kLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1tZC0xLFxuLm14LW1kLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtbWQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbWQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLW1kLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLTIsXG4ubXktbWQtMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbWQtMixcbi5teC1tZC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLTIsXG4ubXktbWQtMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbWQtMixcbi5teC1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1tZC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW1kLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLTMsXG4ubXktbWQtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLTMsXG4ubXgtbWQtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbWQtMyxcbi5teS1tZC0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbWQtMyxcbi5teC1tZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLW1kLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW1kLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1tZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC00LFxuLm15LW1kLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLTQsXG4ubXgtbWQtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC00LFxuLm15LW1kLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLTQsXG4ubXgtbWQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtbWQtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1tZC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC01LFxuLm15LW1kLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1tZC01LFxuLm14LW1kLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLTUsXG4ubXktbWQtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLTUsXG4ubXgtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1tZC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1tZC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLW1kLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1tZC0wLFxuLnB5LW1kLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItbWQtMCxcbi5weC1tZC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbWQtMCxcbi5weS1tZC0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLW1kLTAsXG4ucHgtbWQtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMtbWQtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLW1kLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS1tZC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLW1kLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbWQtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LW1kLTEsXG4ucHktbWQtMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1tZC0xLFxuLnB4LW1kLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1tZC0xLFxuLnB5LW1kLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbWQtMSxcbi5weC1tZC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy1tZC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZnMtbWQtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLW1kLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUtbWQtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1tZC0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1tZC0yLFxuLnB5LW1kLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1tZC0yLFxuLnB4LW1kLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLW1kLTIsXG4ucHktbWQtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLW1kLTIsXG4ucHgtbWQtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy1tZC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmcy1tZC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS1tZC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUtbWQtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLW1kLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1tZC0zLFxuLnB5LW1kLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItbWQtMyxcbi5weC1tZC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbWQtMyxcbi5weS1tZC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLW1kLTMsXG4ucHgtbWQtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMtbWQtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLW1kLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS1tZC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLW1kLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbWQtNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtNCxcbi5weS1tZC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItbWQtNCxcbi5weC1tZC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1tZC00LFxuLnB5LW1kLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1tZC00LFxuLnB4LW1kLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMtbWQtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZnMtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtbWQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLW1kLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1tZC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtNSxcbi5weS1tZC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLW1kLTUsXG4ucHgtbWQtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLW1kLTUsXG4ucHktbWQtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1tZC01LFxuLnB4LW1kLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLW1kLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmcy1tZC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtbWQtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmZS1tZC01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtbjEsXG4ubXktbWQtbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbWQtbjEsXG4ubXgtbWQtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uMSxcbi5teS1tZC1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1tZC1uMSxcbi5teC1tZC1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbWQtbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1tZC1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW1kLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLW1kLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC1uMixcbi5teS1tZC1uMiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLW4yLFxuLm14LW1kLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uMixcbi5teS1tZC1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLW4yLFxuLm14LW1kLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW1kLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1tZC1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbWQtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1tZC1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtbjMsXG4ubXktbWQtbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbWQtbjMsXG4ubXgtbWQtbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uMyxcbi5teS1tZC1uMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1tZC1uMyxcbi5teC1tZC1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbWQtbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1tZC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW1kLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLW1kLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC1uNCxcbi5teS1tZC1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLW40LFxuLm14LW1kLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uNCxcbi5teS1tZC1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLW40LFxuLm14LW1kLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW1kLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1tZC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbWQtbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1tZC1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW41IHtcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtbjUsXG4ubXktbWQtbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbWQtbjUsXG4ubXgtbWQtbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uNSxcbi5teS1tZC1uNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1tZC1uNSxcbi5teC1tZC1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbWQtbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1tZC1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW1kLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLW1kLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLWF1dG8sXG4ubXktbWQtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLWF1dG8sXG4ubXgtbWQtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbWQtYXV0byxcbi5teS1tZC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbWQtYXV0byxcbi5teC1tZC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLW1kLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLW1kLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLW1kLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1tZC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm0tbGctMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctMCxcbi5teS1sZy0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctMCxcbi5teC1sZy0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy0wLFxuLm15LWxnLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy0wLFxuLm14LWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbGctMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtbGctMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbGctMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy0xLFxuLm15LWxnLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy0xLFxuLm14LWxnLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLTEsXG4ubXktbGctMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLWxnLTEsXG4ubXgtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1sZy0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1sZy0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctMixcbi5teS1sZy0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy0yLFxuLm14LWxnLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctMixcbi5teS1sZy0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy0yLFxuLm14LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLWxnLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbGctMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctMyxcbi5teS1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctMyxcbi5teC1sZy0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy0zLFxuLm15LWxnLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy0zLFxuLm14LWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtbGctMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbGctMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLTQsXG4ubXktbGctNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctNCxcbi5teC1sZy00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLTQsXG4ubXktbGctNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbGctNCxcbi5teC1sZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbGctNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy1sZy00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLWxnLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLTUsXG4ubXktbGctNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLWxnLTUsXG4ubXgtbGctNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctNSxcbi5teS1sZy01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbGctNSxcbi5teC1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLWxnLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLWxnLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLWxnLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbGctMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTAsXG4ucHktbGctMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1sZy0wLFxuLnB4LWxnLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1sZy0wLFxuLnB5LWxnLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbGctMCxcbi5weC1sZy0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy1sZy0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZnMtbGctMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLWxnLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUtbGctMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1sZy0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbGctMSxcbi5weS1sZy0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLWxnLTEsXG4ucHgtbGctMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLWxnLTEsXG4ucHktbGctMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1sZy0xLFxuLnB4LWxnLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLWxnLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmcy1sZy0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUtbGctMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmZS1sZy0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLWxnLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTIsXG4ucHktbGctMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLWxnLTIsXG4ucHgtbGctMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbGctMixcbi5weS1sZy0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbGctMixcbi5weC1sZy0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLWxnLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLWxnLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLWxnLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmZS1sZy0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbGctMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTMsXG4ucHktbGctMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1sZy0zLFxuLnB4LWxnLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1sZy0zLFxuLnB5LWxnLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbGctMyxcbi5weC1sZy0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy1sZy0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZnMtbGctMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLWxnLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUtbGctMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1sZy00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1sZy00LFxuLnB5LWxnLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1sZy00LFxuLnB4LWxnLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLWxnLTQsXG4ucHktbGctNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLWxnLTQsXG4ucHgtbGctNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy1sZy00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmcy1sZy00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS1sZy00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUtbGctNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLWxnLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1sZy01LFxuLnB5LWxnLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItbGctNSxcbi5weC1sZy01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbGctNSxcbi5weS1sZy01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLWxnLTUsXG4ucHgtbGctNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMtbGctNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLWxnLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS1sZy01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLWxnLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy1uMSxcbi5teS1sZy1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy1uMSxcbi5teC1sZy1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLW4xLFxuLm15LWxnLW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLWxnLW4xLFxuLm14LWxnLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1sZy1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLWxnLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbGctbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtbGctbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLW4yLFxuLm15LWxnLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctbjIsXG4ubXgtbGctbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLW4yLFxuLm15LWxnLW4yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbGctbjIsXG4ubXgtbGctbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbGctbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLWxnLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1sZy1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLWxnLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy1uMyxcbi5teS1sZy1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy1uMyxcbi5teC1sZy1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLW4zLFxuLm15LWxnLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLWxnLW4zLFxuLm14LWxnLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1sZy1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLWxnLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbGctbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtbGctbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctbjQge1xuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLW40LFxuLm15LWxnLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctbjQsXG4ubXgtbGctbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLW40LFxuLm15LWxnLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbGctbjQsXG4ubXgtbGctbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbGctbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLWxnLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS1sZy1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLWxnLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctbjUge1xuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy1uNSxcbi5teS1sZy1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy1uNSxcbi5teC1sZy1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLW41LFxuLm15LWxnLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLWxnLW41LFxuLm14LWxnLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy1sZy1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLWxnLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbGctbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUtbGctbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctYXV0byxcbi5teS1sZy1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctYXV0byxcbi5teC1sZy1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy1hdXRvLFxuLm15LWxnLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy1hdXRvLFxuLm14LWxnLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMtbGctYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMtbGctYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUtbGctYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLWxnLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm0teGwtMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteGwtMCxcbi5teS14bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteGwtMCxcbi5teC14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC0wLFxuLm15LXhsLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14bC0wLFxuLm14LXhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMteGwtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUteGwtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC0xLFxuLm15LXhsLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC0xLFxuLm14LXhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLTEsXG4ubXkteGwtMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLTEsXG4ubXgteGwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy14bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUteGwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXhsLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteGwtMixcbi5teS14bC0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC0yLFxuLm14LXhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtMixcbi5teS14bC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14bC0yLFxuLm14LXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy14bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXhsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUteGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteGwtMyxcbi5teS14bC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteGwtMyxcbi5teC14bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC0zLFxuLm15LXhsLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14bC0zLFxuLm14LXhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMteGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUteGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLTQsXG4ubXkteGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteGwtNCxcbi5teC14bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLTQsXG4ubXkteGwtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteGwtNCxcbi5teC14bC00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy14bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXhsLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXhsLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLTUsXG4ubXkteGwtNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXhsLTUsXG4ubXgteGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtNSxcbi5teS14bC01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteGwtNSxcbi5teC14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteGwtMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXhsLTAsXG4ucHkteGwtMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci14bC0wLFxuLnB4LXhsLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi14bC0wLFxuLnB5LXhsLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwteGwtMCxcbi5weC14bC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy14bC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZnMteGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLXhsLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUteGwtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14bC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteGwtMSxcbi5weS14bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLXhsLTEsXG4ucHgteGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXhsLTEsXG4ucHkteGwtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC14bC0xLFxuLnB4LXhsLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLXhsLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmcy14bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUteGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmZS14bC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXhsLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXhsLTIsXG4ucHkteGwtMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLXhsLTIsXG4ucHgteGwtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGIteGwtMixcbi5weS14bC0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwteGwtMixcbi5weC14bC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZzLXhsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLXhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmZS14bC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXhsLTMsXG4ucHkteGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci14bC0zLFxuLnB4LXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi14bC0zLFxuLnB5LXhsLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwteGwtMyxcbi5weC14bC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy14bC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZnMteGwtMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAucGZlLXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUteGwtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14bC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14bC00LFxuLnB5LXhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci14bC00LFxuLnB4LXhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXhsLTQsXG4ucHkteGwtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXhsLTQsXG4ucHgteGwtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy14bC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLnBmcy14bC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS14bC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUteGwtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXhsLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14bC01LFxuLnB5LXhsLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHIteGwtNSxcbi5weC14bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGIteGwtNSxcbi5weS14bC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXhsLTUsXG4ucHgteGwtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMteGwtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXhsLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS14bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLXhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uMSxcbi5teS14bC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC1uMSxcbi5teC14bC1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW4xLFxuLm15LXhsLW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLW4xLFxuLm14LXhsLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy14bC1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXhsLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUteGwtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUteGwtbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLW4yLFxuLm15LXhsLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteGwtbjIsXG4ubXgteGwtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW4yLFxuLm15LXhsLW4yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteGwtbjIsXG4ubXgteGwtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteGwtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXhsLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14bC1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXhsLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uMyxcbi5teS14bC1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC1uMyxcbi5teC14bC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW4zLFxuLm15LXhsLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLW4zLFxuLm14LXhsLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy14bC1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXhsLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUteGwtbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUteGwtbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjQge1xuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLW40LFxuLm15LXhsLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteGwtbjQsXG4ubXgteGwtbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW40LFxuLm15LXhsLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteGwtbjQsXG4ubXgteGwtbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteGwtbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXhsLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14bC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXhsLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjUge1xuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uNSxcbi5teS14bC1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC1uNSxcbi5teC14bC1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW41LFxuLm15LXhsLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLW41LFxuLm14LXhsLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy14bC1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXhsLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUteGwtbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUteGwtbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteGwtYXV0byxcbi5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteGwtYXV0byxcbi5teC14bC1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC1hdXRvLFxuLm15LXhsLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14bC1hdXRvLFxuLm14LXhsLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteGwtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXhsLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm0teHhsLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXh4bC0wLFxuLm15LXh4bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteHhsLTAsXG4ubXgteHhsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC0wLFxuLm15LXh4bC0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteHhsLTAsXG4ubXgteHhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteHhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXh4bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14eGwtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXh4bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXh4bC0xLFxuLm15LXh4bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteHhsLTEsXG4ubXgteHhsLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC0xLFxuLm15LXh4bC0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteHhsLTEsXG4ubXgteHhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteHhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXh4bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14eGwtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXh4bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLTIsXG4ubXkteHhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXh4bC0yLFxuLm14LXh4bC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC0yLFxuLm15LXh4bC0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14eGwtMixcbi5teC14eGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXh4bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXh4bC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXh4bC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS14eGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXh4bC0zLFxuLm15LXh4bC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteHhsLTMsXG4ubXgteHhsLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC0zLFxuLm15LXh4bC0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteHhsLTMsXG4ubXgteHhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteHhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXh4bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14eGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXh4bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLTQsXG4ubXkteHhsLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXh4bC00LFxuLm14LXh4bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC00LFxuLm15LXh4bC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14eGwtNCxcbi5teC14eGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXh4bC00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXh4bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXh4bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS14eGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXh4bC01LFxuLm15LXh4bC01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteHhsLTUsXG4ubXgteHhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC01LFxuLm15LXh4bC01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteHhsLTUsXG4ubXgteHhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteHhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXh4bC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14eGwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXh4bC01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14eGwtMCxcbi5weS14eGwtMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci14eGwtMCxcbi5weC14eGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC0wLFxuLnB5LXh4bC0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXh4bC0wLFxuLnB4LXh4bC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy14eGwtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXh4bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUteHhsLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUteHhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14eGwtMSxcbi5weS14eGwtMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci14eGwtMSxcbi5weC14eGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC0xLFxuLnB5LXh4bC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXh4bC0xLFxuLnB4LXh4bC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy14eGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXh4bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUteHhsLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUteHhsLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXh4bC0yLFxuLnB5LXh4bC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHIteHhsLTIsXG4ucHgteHhsLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC0yLFxuLnB5LXh4bC0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwteHhsLTIsXG4ucHgteHhsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMteHhsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXh4bC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS14eGwtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLXh4bC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14eGwtMyxcbi5weS14eGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci14eGwtMyxcbi5weC14eGwtMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC0zLFxuLnB5LXh4bC0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXh4bC0zLFxuLnB4LXh4bC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy14eGwtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXh4bC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUteHhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUteHhsLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXh4bC00LFxuLnB5LXh4bC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHIteHhsLTQsXG4ucHgteHhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC00LFxuLnB5LXh4bC00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwteHhsLTQsXG4ucHgteHhsLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZnMteHhsLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXh4bC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmZS14eGwtNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZlLXh4bC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteHhsLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14eGwtNSxcbi5weS14eGwtNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci14eGwtNSxcbi5weC14eGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXh4bC01LFxuLnB5LXh4bC01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXh4bC01LFxuLnB4LXh4bC01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLnBmcy14eGwtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAucGZzLXh4bC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5wZmUteHhsLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5wZmUteHhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLW4xLFxuLm15LXh4bC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14eGwtbjEsXG4ubXgteHhsLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteHhsLW4xLFxuLm15LXh4bC1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14eGwtbjEsXG4ubXgteHhsLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy14eGwtbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy14eGwtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14eGwtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUteHhsLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXh4bC1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLW4yLFxuLm15LXh4bC1uMiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXh4bC1uMixcbi5teC14eGwtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC1uMixcbi5teS14eGwtbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14eGwtbjIsXG4ubXgteHhsLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXh4bC1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMteHhsLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mZS14eGwtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS14eGwtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14eGwtbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14eGwtbjMsXG4ubXkteHhsLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXh4bC1uMyxcbi5teC14eGwtbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14eGwtbjMsXG4ubXkteHhsLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXh4bC1uMyxcbi5teC14eGwtbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZzLXh4bC1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZzLXh4bC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXh4bC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mZS14eGwtbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teHhsLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14eGwtbjQsXG4ubXkteHhsLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteHhsLW40LFxuLm14LXh4bC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteHhsLW40LFxuLm15LXh4bC1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXh4bC1uNCxcbi5teC14eGwtbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteHhsLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gICpbZGlyPXJ0bF0gLm1mcy14eGwtbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXh4bC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXh4bC1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXh4bC1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXh4bC1uNSxcbi5teS14eGwtbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteHhsLW41LFxuLm14LXh4bC1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXh4bC1uNSxcbi5teS14eGwtbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteHhsLW41LFxuLm14LXh4bC1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZnMteHhsLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMteHhsLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBodG1sOm5vdChbZGlyPXJ0bF0pIC5tZmUteHhsLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgKltkaXI9cnRsXSAubWZlLXh4bC1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14eGwtYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteHhsLWF1dG8sXG4ubXkteHhsLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14eGwtYXV0byxcbi5teC14eGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteHhsLWF1dG8sXG4ubXkteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14eGwtYXV0byxcbi5teC14eGwtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLm1mcy14eGwtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZnMteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgaHRtbDpub3QoW2Rpcj1ydGxdKSAubWZlLXh4bC1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAqW2Rpcj1ydGxdIC5tZmUteHhsLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zdHJldGNoZWQtbGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMjEsIDApO1xufVxuXG4udGV4dC1tb25vc3BhY2Uge1xuICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAudGV4dC1zbS1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1zbS1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LXNtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGV4dC1tZC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1tZC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGV4dC1sZy1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1sZy1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQteGwtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRleHQteGwtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC14bC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC50ZXh0LXh4bC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC14eGwtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC14eGwtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13ZWlnaHQtbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXdlaWdodC1saWdodGVyIHtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXIgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2VpZ2h0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2VpZ2h0LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXdlaWdodC1ib2xkZXIge1xuICBmb250LXdlaWdodDogYm9sZGVyICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13aGl0ZSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogIzMyMWZkYiAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtcHJpbWFyeTpob3ZlciwgYS50ZXh0LXByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogIzIzMTY5OCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogI2NlZDJkOCAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtc2Vjb25kYXJ5OmhvdmVyLCBhLnRleHQtc2Vjb25kYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICNhM2FiYjYgIWltcG9ydGFudDtcbn1cblxuLnRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMmViODVjICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1zdWNjZXNzOmhvdmVyLCBhLnRleHQtc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjMWY3YjNkICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWluZm8ge1xuICBjb2xvcjogIzM5ZiAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtaW5mbzpob3ZlciwgYS50ZXh0LWluZm86Zm9jdXMge1xuICBjb2xvcjogIzAwNzNlNiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13YXJuaW5nIHtcbiAgY29sb3I6ICNmOWIxMTUgIWltcG9ydGFudDtcbn1cblxuYS50ZXh0LXdhcm5pbmc6aG92ZXIsIGEudGV4dC13YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6ICNiZDgzMDUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFuZ2VyIHtcbiAgY29sb3I6ICNlNTUzNTMgIWltcG9ydGFudDtcbn1cblxuYS50ZXh0LWRhbmdlcjpob3ZlciwgYS50ZXh0LWRhbmdlcjpmb2N1cyB7XG4gIGNvbG9yOiAjY2QxZjFmICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWxpZ2h0IHtcbiAgY29sb3I6ICNlYmVkZWYgIWltcG9ydGFudDtcbn1cblxuYS50ZXh0LWxpZ2h0OmhvdmVyLCBhLnRleHQtbGlnaHQ6Zm9jdXMge1xuICBjb2xvcjogI2MxYzdjZCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYXJrIHtcbiAgY29sb3I6ICM2MzZmODMgIWltcG9ydGFudDtcbn1cblxuYS50ZXh0LWRhcms6aG92ZXIsIGEudGV4dC1kYXJrOmZvY3VzIHtcbiAgY29sb3I6ICM0MjRhNTcgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYm9keSB7XG4gIGNvbG9yOiAjM2M0YjY0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICM3NjgxOTIgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYmxhY2stNTAge1xuICBjb2xvcjogcmdiYSgwLCAwLCAyMSwgMC41KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13aGl0ZS01MCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcmVzZXQge1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG5ib2R5IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi5mb250LXhzIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXNtIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LWxnIHtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXhsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LTJ4bCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LTN4bCB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC00eGwge1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLmZvbnQtNXhsIHtcbiAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbn1cblxuW2NsYXNzXj10ZXh0LXZhbHVlXSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50ZXh0LXZhbHVlLXhzIHtcbiAgZm9udC1zaXplOiAwLjY1NjI1cmVtO1xufVxuXG4udGV4dC12YWx1ZS1zbSB7XG4gIGZvbnQtc2l6ZTogMC43NDM3NXJlbTtcbn1cblxuLnRleHQtdmFsdWUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4udGV4dC12YWx1ZS1sZyB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xufVxuXG4udGV4dC12YWx1ZS14bCB7XG4gIGZvbnQtc2l6ZTogMS41MzEyNXJlbTtcbn1cblxuLnRleHQtd2hpdGUgLnRleHQtbXV0ZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpICFpbXBvcnRhbnQ7XG59XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbipbZGlyPXJ0bF0ge1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgdW5pY29kZS1iaWRpOiBlbWJlZDtcbn1cbipbZGlyPXJ0bF0gYm9keSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uaWUtY3VzdG9tLXByb3BlcnRpZXMge1xuICBwcmltYXJ5OiAjMzIxZmRiO1xuICBzZWNvbmRhcnk6ICNjZWQyZDg7XG4gIHN1Y2Nlc3M6ICMyZWI4NWM7XG4gIGluZm86ICMzOWY7XG4gIHdhcm5pbmc6ICNmOWIxMTU7XG4gIGRhbmdlcjogI2U1NTM1MztcbiAgbGlnaHQ6ICNlYmVkZWY7XG4gIGRhcms6ICM2MzZmODM7XG4gIGJyZWFrcG9pbnQteHM6IDA7XG4gIGJyZWFrcG9pbnQtc206IDU3NnB4O1xuICBicmVha3BvaW50LW1kOiA3NjhweDtcbiAgYnJlYWtwb2ludC1sZzogOTkycHg7XG4gIGJyZWFrcG9pbnQteGw6IDEyMDBweDtcbiAgYnJlYWtwb2ludC14eGw6IDE0MDBweDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGE6bm90KC5idG4pIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG5cbiAgcHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIHByZSxcbmJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5ZGE1YjE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuXG4gIHRyLFxuaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICBwLFxuaDIsXG5oMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMixcbmgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxuXG4gIEBwYWdlIHtcbiAgICBzaXplOiBhMztcbiAgfVxuICBib2R5IHtcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubmF2YmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDE1O1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRhYmxlIHRkLFxuLnRhYmxlIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGFibGUtYm9yZGVyZWQgdGgsXG4udGFibGUtYm9yZGVyZWQgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNGM5ZDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50YWJsZS1kYXJrIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAudGFibGUtZGFyayB0aCxcbi50YWJsZS1kYXJrIHRkLFxuLnRhYmxlLWRhcmsgdGhlYWQgdGgsXG4udGFibGUtZGFyayB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItY29sb3I6ICNkOGRiZTA7XG4gIH1cblxuICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2Q4ZGJlMDtcbiAgfVxufSIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ2NvcmUnO1xuQGltcG9ydCAnbGFyZ2VyJztcbkBpbXBvcnQgJ2ZpeGVkLXdpZHRoJztcbkBpbXBvcnQgJ2xpc3QnO1xuQGltcG9ydCAnYm9yZGVyZWQtcHVsbGVkJztcbkBpbXBvcnQgJ2FuaW1hdGVkJztcbkBpbXBvcnQgJ3JvdGF0ZWQtZmxpcHBlZCc7XG5AaW1wb3J0ICdzdGFja2VkJztcbkBpbXBvcnQgJ2ljb25zJztcbkBpbXBvcnQgJ3NjcmVlbi1yZWFkZXInO1xuIiwiLy8gQmFzZSBDbGFzcyBEZWZpbml0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fSxcbi5mYXMsXG4uZmFyLFxuLmZhbCxcbi5mYWQsXG4uZmFiIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4lZmEtaWNvbiB7XG4gIEBpbmNsdWRlIGZhLWljb247XG59XG4iLCIvLyBJY29uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIG1ha2VzIHRoZSBmb250IDMzJSBsYXJnZXIgcmVsYXRpdmUgdG8gdGhlIGljb24gY29udGFpbmVyXG4uI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICBmb250LXNpemU6ICg0ZW0gLyAzKTtcbiAgbGluZS1oZWlnaHQ6ICgzZW0gLyA0KTtcbiAgdmVydGljYWwtYWxpZ246IC0uMDY2N2VtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0teHMge1xuICBmb250LXNpemU6IC43NWVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc20ge1xuICBmb250LXNpemU6IC44NzVlbTtcbn1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS0jeyRpfXgge1xuICAgIGZvbnQtc2l6ZTogJGkgKiAxZW07XG4gIH1cbn1cbiIsIi8vIEZpeGVkIFdpZHRoIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uI3skZmEtY3NzLXByZWZpeH0tZncge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAkZmEtZnctd2lkdGg7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1mb250LXBhdGg6ICAgICAgICAgXCIuLi93ZWJmb250c1wiICFkZWZhdWx0O1xuJGZhLWZvbnQtc2l6ZS1iYXNlOiAgICAxNnB4ICFkZWZhdWx0O1xuJGZhLWZvbnQtZGlzcGxheTogICAgICBibG9jayAhZGVmYXVsdDtcbiRmYS1jc3MtcHJlZml4OiAgICAgICAgZmEgIWRlZmF1bHQ7XG4kZmEtdmVyc2lvbjogICAgICAgICAgIFwiNS4xNS4zXCIgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLWNvbG9yOiAgICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kZmEtbGktd2lkdGg6ICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmYS1mdy13aWR0aDogICAgICAgICAgKDIwZW0gLyAxNik7XG4kZmEtcHJpbWFyeS1vcGFjaXR5OiAgIDEgIWRlZmF1bHQ7XG4kZmEtc2Vjb25kYXJ5LW9wYWNpdHk6IC40ICFkZWZhdWx0O1xuXG4vLyBDb252ZW5pZW5jZSBmdW5jdGlvbiB1c2VkIHRvIHNldCBjb250ZW50IHByb3BlcnR5XG5AZnVuY3Rpb24gZmEtY29udGVudCgkZmEtdmFyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCIjeyAkZmEtdmFyIH1cXFwiXCIpO1xufVxuXG4kZmEtdmFyLTUwMHB4OiBcXGYyNmU7XG4kZmEtdmFyLWFjY2Vzc2libGUtaWNvbjogXFxmMzY4O1xuJGZhLXZhci1hY2N1c29mdDogXFxmMzY5O1xuJGZhLXZhci1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOiBcXGY2YWY7XG4kZmEtdmFyLWFkOiBcXGY2NDE7XG4kZmEtdmFyLWFkZHJlc3MtYm9vazogXFxmMmI5O1xuJGZhLXZhci1hZGRyZXNzLWNhcmQ6IFxcZjJiYjtcbiRmYS12YXItYWRqdXN0OiBcXGYwNDI7XG4kZmEtdmFyLWFkbjogXFxmMTcwO1xuJGZhLXZhci1hZHZlcnNhbDogXFxmMzZhO1xuJGZhLXZhci1hZmZpbGlhdGV0aGVtZTogXFxmMzZiO1xuJGZhLXZhci1haXItZnJlc2hlbmVyOiBcXGY1ZDA7XG4kZmEtdmFyLWFpcmJuYjogXFxmODM0O1xuJGZhLXZhci1hbGdvbGlhOiBcXGYzNmM7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXFxmMDM3O1xuJGZhLXZhci1hbGlnbi1qdXN0aWZ5OiBcXGYwMzk7XG4kZmEtdmFyLWFsaWduLWxlZnQ6IFxcZjAzNjtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFxcZjAzODtcbiRmYS12YXItYWxpcGF5OiBcXGY2NDI7XG4kZmEtdmFyLWFsbGVyZ2llczogXFxmNDYxO1xuJGZhLXZhci1hbWF6b246IFxcZjI3MDtcbiRmYS12YXItYW1hem9uLXBheTogXFxmNDJjO1xuJGZhLXZhci1hbWJ1bGFuY2U6IFxcZjBmOTtcbiRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItYW1pbGlhOiBcXGYzNmQ7XG4kZmEtdmFyLWFuY2hvcjogXFxmMTNkO1xuJGZhLXZhci1hbmRyb2lkOiBcXGYxN2I7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXFxmMjA5O1xuJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjogXFxmMTAzO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDogXFxmMTAwO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFxcZjEwMTtcbiRmYS12YXItYW5nbGUtZG91YmxlLXVwOiBcXGYxMDI7XG4kZmEtdmFyLWFuZ2xlLWRvd246IFxcZjEwNztcbiRmYS12YXItYW5nbGUtbGVmdDogXFxmMTA0O1xuJGZhLXZhci1hbmdsZS1yaWdodDogXFxmMTA1O1xuJGZhLXZhci1hbmdsZS11cDogXFxmMTA2O1xuJGZhLXZhci1hbmdyeTogXFxmNTU2O1xuJGZhLXZhci1hbmdyeWNyZWF0aXZlOiBcXGYzNmU7XG4kZmEtdmFyLWFuZ3VsYXI6IFxcZjQyMDtcbiRmYS12YXItYW5raDogXFxmNjQ0O1xuJGZhLXZhci1hcHAtc3RvcmU6IFxcZjM2ZjtcbiRmYS12YXItYXBwLXN0b3JlLWlvczogXFxmMzcwO1xuJGZhLXZhci1hcHBlcjogXFxmMzcxO1xuJGZhLXZhci1hcHBsZTogXFxmMTc5O1xuJGZhLXZhci1hcHBsZS1hbHQ6IFxcZjVkMTtcbiRmYS12YXItYXBwbGUtcGF5OiBcXGY0MTU7XG4kZmEtdmFyLWFyY2hpdmU6IFxcZjE4NztcbiRmYS12YXItYXJjaHdheTogXFxmNTU3O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd246IFxcZjM1ODtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OiBcXGYzNTk7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6IFxcZjM1YTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cDogXFxmMzViO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjogXFxmMGFiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDogXFxmMGE4O1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ6IFxcZjBhOTtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcXGYwYWE7XG4kZmEtdmFyLWFycm93LWRvd246IFxcZjA2MztcbiRmYS12YXItYXJyb3ctbGVmdDogXFxmMDYwO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXFxmMDYxO1xuJGZhLXZhci1hcnJvdy11cDogXFxmMDYyO1xuJGZhLXZhci1hcnJvd3MtYWx0OiBcXGYwYjI7XG4kZmEtdmFyLWFycm93cy1hbHQtaDogXFxmMzM3O1xuJGZhLXZhci1hcnJvd3MtYWx0LXY6IFxcZjMzODtcbiRmYS12YXItYXJ0c3RhdGlvbjogXFxmNzdhO1xuJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6IFxcZjJhMjtcbiRmYS12YXItYXN0ZXJpc2s6IFxcZjA2OTtcbiRmYS12YXItYXN5bW1ldHJpazogXFxmMzcyO1xuJGZhLXZhci1hdDogXFxmMWZhO1xuJGZhLXZhci1hdGxhczogXFxmNTU4O1xuJGZhLXZhci1hdGxhc3NpYW46IFxcZjc3YjtcbiRmYS12YXItYXRvbTogXFxmNWQyO1xuJGZhLXZhci1hdWRpYmxlOiBcXGYzNzM7XG4kZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOiBcXGYyOWU7XG4kZmEtdmFyLWF1dG9wcmVmaXhlcjogXFxmNDFjO1xuJGZhLXZhci1hdmlhbmV4OiBcXGYzNzQ7XG4kZmEtdmFyLWF2aWF0bzogXFxmNDIxO1xuJGZhLXZhci1hd2FyZDogXFxmNTU5O1xuJGZhLXZhci1hd3M6IFxcZjM3NTtcbiRmYS12YXItYmFieTogXFxmNzdjO1xuJGZhLXZhci1iYWJ5LWNhcnJpYWdlOiBcXGY3N2Q7XG4kZmEtdmFyLWJhY2tzcGFjZTogXFxmNTVhO1xuJGZhLXZhci1iYWNrd2FyZDogXFxmMDRhO1xuJGZhLXZhci1iYWNvbjogXFxmN2U1O1xuJGZhLXZhci1iYWN0ZXJpYTogXFxlMDU5O1xuJGZhLXZhci1iYWN0ZXJpdW06IFxcZTA1YTtcbiRmYS12YXItYmFoYWk6IFxcZjY2NjtcbiRmYS12YXItYmFsYW5jZS1zY2FsZTogXFxmMjRlO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQ6IFxcZjUxNTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodDogXFxmNTE2O1xuJGZhLXZhci1iYW46IFxcZjA1ZTtcbiRmYS12YXItYmFuZC1haWQ6IFxcZjQ2MjtcbiRmYS12YXItYmFuZGNhbXA6IFxcZjJkNTtcbiRmYS12YXItYmFyY29kZTogXFxmMDJhO1xuJGZhLXZhci1iYXJzOiBcXGYwYzk7XG4kZmEtdmFyLWJhc2ViYWxsLWJhbGw6IFxcZjQzMztcbiRmYS12YXItYmFza2V0YmFsbC1iYWxsOiBcXGY0MzQ7XG4kZmEtdmFyLWJhdGg6IFxcZjJjZDtcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXFxmMjQ0O1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFxcZjI0MDtcbiRmYS12YXItYmF0dGVyeS1oYWxmOiBcXGYyNDI7XG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXFxmMjQzO1xuJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOiBcXGYyNDE7XG4kZmEtdmFyLWJhdHRsZS1uZXQ6IFxcZjgzNTtcbiRmYS12YXItYmVkOiBcXGYyMzY7XG4kZmEtdmFyLWJlZXI6IFxcZjBmYztcbiRmYS12YXItYmVoYW5jZTogXFxmMWI0O1xuJGZhLXZhci1iZWhhbmNlLXNxdWFyZTogXFxmMWI1O1xuJGZhLXZhci1iZWxsOiBcXGYwZjM7XG4kZmEtdmFyLWJlbGwtc2xhc2g6IFxcZjFmNjtcbiRmYS12YXItYmV6aWVyLWN1cnZlOiBcXGY1NWI7XG4kZmEtdmFyLWJpYmxlOiBcXGY2NDc7XG4kZmEtdmFyLWJpY3ljbGU6IFxcZjIwNjtcbiRmYS12YXItYmlraW5nOiBcXGY4NGE7XG4kZmEtdmFyLWJpbW9iamVjdDogXFxmMzc4O1xuJGZhLXZhci1iaW5vY3VsYXJzOiBcXGYxZTU7XG4kZmEtdmFyLWJpb2hhemFyZDogXFxmNzgwO1xuJGZhLXZhci1iaXJ0aGRheS1jYWtlOiBcXGYxZmQ7XG4kZmEtdmFyLWJpdGJ1Y2tldDogXFxmMTcxO1xuJGZhLXZhci1iaXRjb2luOiBcXGYzNzk7XG4kZmEtdmFyLWJpdHk6IFxcZjM3YTtcbiRmYS12YXItYmxhY2stdGllOiBcXGYyN2U7XG4kZmEtdmFyLWJsYWNrYmVycnk6IFxcZjM3YjtcbiRmYS12YXItYmxlbmRlcjogXFxmNTE3O1xuJGZhLXZhci1ibGVuZGVyLXBob25lOiBcXGY2YjY7XG4kZmEtdmFyLWJsaW5kOiBcXGYyOWQ7XG4kZmEtdmFyLWJsb2c6IFxcZjc4MTtcbiRmYS12YXItYmxvZ2dlcjogXFxmMzdjO1xuJGZhLXZhci1ibG9nZ2VyLWI6IFxcZjM3ZDtcbiRmYS12YXItYmx1ZXRvb3RoOiBcXGYyOTM7XG4kZmEtdmFyLWJsdWV0b290aC1iOiBcXGYyOTQ7XG4kZmEtdmFyLWJvbGQ6IFxcZjAzMjtcbiRmYS12YXItYm9sdDogXFxmMGU3O1xuJGZhLXZhci1ib21iOiBcXGYxZTI7XG4kZmEtdmFyLWJvbmU6IFxcZjVkNztcbiRmYS12YXItYm9uZzogXFxmNTVjO1xuJGZhLXZhci1ib29rOiBcXGYwMmQ7XG4kZmEtdmFyLWJvb2stZGVhZDogXFxmNmI3O1xuJGZhLXZhci1ib29rLW1lZGljYWw6IFxcZjdlNjtcbiRmYS12YXItYm9vay1vcGVuOiBcXGY1MTg7XG4kZmEtdmFyLWJvb2stcmVhZGVyOiBcXGY1ZGE7XG4kZmEtdmFyLWJvb2ttYXJrOiBcXGYwMmU7XG4kZmEtdmFyLWJvb3RzdHJhcDogXFxmODM2O1xuJGZhLXZhci1ib3JkZXItYWxsOiBcXGY4NGM7XG4kZmEtdmFyLWJvcmRlci1ub25lOiBcXGY4NTA7XG4kZmEtdmFyLWJvcmRlci1zdHlsZTogXFxmODUzO1xuJGZhLXZhci1ib3dsaW5nLWJhbGw6IFxcZjQzNjtcbiRmYS12YXItYm94OiBcXGY0NjY7XG4kZmEtdmFyLWJveC1vcGVuOiBcXGY0OWU7XG4kZmEtdmFyLWJveC10aXNzdWU6IFxcZTA1YjtcbiRmYS12YXItYm94ZXM6IFxcZjQ2ODtcbiRmYS12YXItYnJhaWxsZTogXFxmMmExO1xuJGZhLXZhci1icmFpbjogXFxmNWRjO1xuJGZhLXZhci1icmVhZC1zbGljZTogXFxmN2VjO1xuJGZhLXZhci1icmllZmNhc2U6IFxcZjBiMTtcbiRmYS12YXItYnJpZWZjYXNlLW1lZGljYWw6IFxcZjQ2OTtcbiRmYS12YXItYnJvYWRjYXN0LXRvd2VyOiBcXGY1MTk7XG4kZmEtdmFyLWJyb29tOiBcXGY1MWE7XG4kZmEtdmFyLWJydXNoOiBcXGY1NWQ7XG4kZmEtdmFyLWJ0YzogXFxmMTVhO1xuJGZhLXZhci1idWZmZXI6IFxcZjgzNztcbiRmYS12YXItYnVnOiBcXGYxODg7XG4kZmEtdmFyLWJ1aWxkaW5nOiBcXGYxYWQ7XG4kZmEtdmFyLWJ1bGxob3JuOiBcXGYwYTE7XG4kZmEtdmFyLWJ1bGxzZXllOiBcXGYxNDA7XG4kZmEtdmFyLWJ1cm46IFxcZjQ2YTtcbiRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZTogXFxmMzdmO1xuJGZhLXZhci1idXM6IFxcZjIwNztcbiRmYS12YXItYnVzLWFsdDogXFxmNTVlO1xuJGZhLXZhci1idXNpbmVzcy10aW1lOiBcXGY2NGE7XG4kZmEtdmFyLWJ1eS1uLWxhcmdlOiBcXGY4YTY7XG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFxcZjIwZDtcbiRmYS12YXItY2FsY3VsYXRvcjogXFxmMWVjO1xuJGZhLXZhci1jYWxlbmRhcjogXFxmMTMzO1xuJGZhLXZhci1jYWxlbmRhci1hbHQ6IFxcZjA3MztcbiRmYS12YXItY2FsZW5kYXItY2hlY2s6IFxcZjI3NDtcbiRmYS12YXItY2FsZW5kYXItZGF5OiBcXGY3ODM7XG4kZmEtdmFyLWNhbGVuZGFyLW1pbnVzOiBcXGYyNzI7XG4kZmEtdmFyLWNhbGVuZGFyLXBsdXM6IFxcZjI3MTtcbiRmYS12YXItY2FsZW5kYXItdGltZXM6IFxcZjI3MztcbiRmYS12YXItY2FsZW5kYXItd2VlazogXFxmNzg0O1xuJGZhLXZhci1jYW1lcmE6IFxcZjAzMDtcbiRmYS12YXItY2FtZXJhLXJldHJvOiBcXGYwODM7XG4kZmEtdmFyLWNhbXBncm91bmQ6IFxcZjZiYjtcbiRmYS12YXItY2FuYWRpYW4tbWFwbGUtbGVhZjogXFxmNzg1O1xuJGZhLXZhci1jYW5keS1jYW5lOiBcXGY3ODY7XG4kZmEtdmFyLWNhbm5hYmlzOiBcXGY1NWY7XG4kZmEtdmFyLWNhcHN1bGVzOiBcXGY0NmI7XG4kZmEtdmFyLWNhcjogXFxmMWI5O1xuJGZhLXZhci1jYXItYWx0OiBcXGY1ZGU7XG4kZmEtdmFyLWNhci1iYXR0ZXJ5OiBcXGY1ZGY7XG4kZmEtdmFyLWNhci1jcmFzaDogXFxmNWUxO1xuJGZhLXZhci1jYXItc2lkZTogXFxmNWU0O1xuJGZhLXZhci1jYXJhdmFuOiBcXGY4ZmY7XG4kZmEtdmFyLWNhcmV0LWRvd246IFxcZjBkNztcbiRmYS12YXItY2FyZXQtbGVmdDogXFxmMGQ5O1xuJGZhLXZhci1jYXJldC1yaWdodDogXFxmMGRhO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bjogXFxmMTUwO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdDogXFxmMTkxO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQ6IFxcZjE1MjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXVwOiBcXGYxNTE7XG4kZmEtdmFyLWNhcmV0LXVwOiBcXGYwZDg7XG4kZmEtdmFyLWNhcnJvdDogXFxmNzg3O1xuJGZhLXZhci1jYXJ0LWFycm93LWRvd246IFxcZjIxODtcbiRmYS12YXItY2FydC1wbHVzOiBcXGYyMTc7XG4kZmEtdmFyLWNhc2gtcmVnaXN0ZXI6IFxcZjc4ODtcbiRmYS12YXItY2F0OiBcXGY2YmU7XG4kZmEtdmFyLWNjLWFtYXpvbi1wYXk6IFxcZjQyZDtcbiRmYS12YXItY2MtYW1leDogXFxmMWYzO1xuJGZhLXZhci1jYy1hcHBsZS1wYXk6IFxcZjQxNjtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFxcZjI0YztcbiRmYS12YXItY2MtZGlzY292ZXI6IFxcZjFmMjtcbiRmYS12YXItY2MtamNiOiBcXGYyNGI7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFxcZjFmMTtcbiRmYS12YXItY2MtcGF5cGFsOiBcXGYxZjQ7XG4kZmEtdmFyLWNjLXN0cmlwZTogXFxmMWY1O1xuJGZhLXZhci1jYy12aXNhOiBcXGYxZjA7XG4kZmEtdmFyLWNlbnRlcmNvZGU6IFxcZjM4MDtcbiRmYS12YXItY2VudG9zOiBcXGY3ODk7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcXGYwYTM7XG4kZmEtdmFyLWNoYWlyOiBcXGY2YzA7XG4kZmEtdmFyLWNoYWxrYm9hcmQ6IFxcZjUxYjtcbiRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyOiBcXGY1MWM7XG4kZmEtdmFyLWNoYXJnaW5nLXN0YXRpb246IFxcZjVlNztcbiRmYS12YXItY2hhcnQtYXJlYTogXFxmMWZlO1xuJGZhLXZhci1jaGFydC1iYXI6IFxcZjA4MDtcbiRmYS12YXItY2hhcnQtbGluZTogXFxmMjAxO1xuJGZhLXZhci1jaGFydC1waWU6IFxcZjIwMDtcbiRmYS12YXItY2hlY2s6IFxcZjAwYztcbiRmYS12YXItY2hlY2stY2lyY2xlOiBcXGYwNTg7XG4kZmEtdmFyLWNoZWNrLWRvdWJsZTogXFxmNTYwO1xuJGZhLXZhci1jaGVjay1zcXVhcmU6IFxcZjE0YTtcbiRmYS12YXItY2hlZXNlOiBcXGY3ZWY7XG4kZmEtdmFyLWNoZXNzOiBcXGY0Mzk7XG4kZmEtdmFyLWNoZXNzLWJpc2hvcDogXFxmNDNhO1xuJGZhLXZhci1jaGVzcy1ib2FyZDogXFxmNDNjO1xuJGZhLXZhci1jaGVzcy1raW5nOiBcXGY0M2Y7XG4kZmEtdmFyLWNoZXNzLWtuaWdodDogXFxmNDQxO1xuJGZhLXZhci1jaGVzcy1wYXduOiBcXGY0NDM7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuOiBcXGY0NDU7XG4kZmEtdmFyLWNoZXNzLXJvb2s6IFxcZjQ0NztcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjogXFxmMTNhO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OiBcXGYxMzc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcXGYxMzg7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOiBcXGYxMzk7XG4kZmEtdmFyLWNoZXZyb24tZG93bjogXFxmMDc4O1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFxcZjA1MztcbiRmYS12YXItY2hldnJvbi1yaWdodDogXFxmMDU0O1xuJGZhLXZhci1jaGV2cm9uLXVwOiBcXGYwNzc7XG4kZmEtdmFyLWNoaWxkOiBcXGYxYWU7XG4kZmEtdmFyLWNocm9tZTogXFxmMjY4O1xuJGZhLXZhci1jaHJvbWVjYXN0OiBcXGY4Mzg7XG4kZmEtdmFyLWNodXJjaDogXFxmNTFkO1xuJGZhLXZhci1jaXJjbGU6IFxcZjExMTtcbiRmYS12YXItY2lyY2xlLW5vdGNoOiBcXGYxY2U7XG4kZmEtdmFyLWNpdHk6IFxcZjY0ZjtcbiRmYS12YXItY2xpbmljLW1lZGljYWw6IFxcZjdmMjtcbiRmYS12YXItY2xpcGJvYXJkOiBcXGYzMjg7XG4kZmEtdmFyLWNsaXBib2FyZC1jaGVjazogXFxmNDZjO1xuJGZhLXZhci1jbGlwYm9hcmQtbGlzdDogXFxmNDZkO1xuJGZhLXZhci1jbG9jazogXFxmMDE3O1xuJGZhLXZhci1jbG9uZTogXFxmMjRkO1xuJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZzogXFxmMjBhO1xuJGZhLXZhci1jbG91ZDogXFxmMGMyO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQ6IFxcZjM4MTtcbiRmYS12YXItY2xvdWQtbWVhdGJhbGw6IFxcZjczYjtcbiRmYS12YXItY2xvdWQtbW9vbjogXFxmNmMzO1xuJGZhLXZhci1jbG91ZC1tb29uLXJhaW46IFxcZjczYztcbiRmYS12YXItY2xvdWQtcmFpbjogXFxmNzNkO1xuJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5OiBcXGY3NDA7XG4kZmEtdmFyLWNsb3VkLXN1bjogXFxmNmM0O1xuJGZhLXZhci1jbG91ZC1zdW4tcmFpbjogXFxmNzQzO1xuJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0OiBcXGYzODI7XG4kZmEtdmFyLWNsb3VkZmxhcmU6IFxcZTA3ZDtcbiRmYS12YXItY2xvdWRzY2FsZTogXFxmMzgzO1xuJGZhLXZhci1jbG91ZHNtaXRoOiBcXGYzODQ7XG4kZmEtdmFyLWNsb3VkdmVyc2lmeTogXFxmMzg1O1xuJGZhLXZhci1jb2NrdGFpbDogXFxmNTYxO1xuJGZhLXZhci1jb2RlOiBcXGYxMjE7XG4kZmEtdmFyLWNvZGUtYnJhbmNoOiBcXGYxMjY7XG4kZmEtdmFyLWNvZGVwZW46IFxcZjFjYjtcbiRmYS12YXItY29kaWVwaWU6IFxcZjI4NDtcbiRmYS12YXItY29mZmVlOiBcXGYwZjQ7XG4kZmEtdmFyLWNvZzogXFxmMDEzO1xuJGZhLXZhci1jb2dzOiBcXGYwODU7XG4kZmEtdmFyLWNvaW5zOiBcXGY1MWU7XG4kZmEtdmFyLWNvbHVtbnM6IFxcZjBkYjtcbiRmYS12YXItY29tbWVudDogXFxmMDc1O1xuJGZhLXZhci1jb21tZW50LWFsdDogXFxmMjdhO1xuJGZhLXZhci1jb21tZW50LWRvbGxhcjogXFxmNjUxO1xuJGZhLXZhci1jb21tZW50LWRvdHM6IFxcZjRhZDtcbiRmYS12YXItY29tbWVudC1tZWRpY2FsOiBcXGY3ZjU7XG4kZmEtdmFyLWNvbW1lbnQtc2xhc2g6IFxcZjRiMztcbiRmYS12YXItY29tbWVudHM6IFxcZjA4NjtcbiRmYS12YXItY29tbWVudHMtZG9sbGFyOiBcXGY2NTM7XG4kZmEtdmFyLWNvbXBhY3QtZGlzYzogXFxmNTFmO1xuJGZhLXZhci1jb21wYXNzOiBcXGYxNGU7XG4kZmEtdmFyLWNvbXByZXNzOiBcXGYwNjY7XG4kZmEtdmFyLWNvbXByZXNzLWFsdDogXFxmNDIyO1xuJGZhLXZhci1jb21wcmVzcy1hcnJvd3MtYWx0OiBcXGY3OGM7XG4kZmEtdmFyLWNvbmNpZXJnZS1iZWxsOiBcXGY1NjI7XG4kZmEtdmFyLWNvbmZsdWVuY2U6IFxcZjc4ZDtcbiRmYS12YXItY29ubmVjdGRldmVsb3A6IFxcZjIwZTtcbiRmYS12YXItY29udGFvOiBcXGYyNmQ7XG4kZmEtdmFyLWNvb2tpZTogXFxmNTYzO1xuJGZhLXZhci1jb29raWUtYml0ZTogXFxmNTY0O1xuJGZhLXZhci1jb3B5OiBcXGYwYzU7XG4kZmEtdmFyLWNvcHlyaWdodDogXFxmMWY5O1xuJGZhLXZhci1jb3R0b24tYnVyZWF1OiBcXGY4OWU7XG4kZmEtdmFyLWNvdWNoOiBcXGY0Yjg7XG4kZmEtdmFyLWNwYW5lbDogXFxmMzg4O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zOiBcXGYyNWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtYnk6IFxcZjRlNztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYzogXFxmNGU4O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OiBcXGY0ZTk7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6IFxcZjRlYTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uZDogXFxmNGViO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkOiBcXGY0ZWM7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OiBcXGY0ZWQ7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6IFxcZjRlZTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYTogXFxmNGVmO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOiBcXGY0ZjA7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czogXFxmNGYxO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOiBcXGY0ZjI7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtemVybzogXFxmNGYzO1xuJGZhLXZhci1jcmVkaXQtY2FyZDogXFxmMDlkO1xuJGZhLXZhci1jcml0aWNhbC1yb2xlOiBcXGY2Yzk7XG4kZmEtdmFyLWNyb3A6IFxcZjEyNTtcbiRmYS12YXItY3JvcC1hbHQ6IFxcZjU2NTtcbiRmYS12YXItY3Jvc3M6IFxcZjY1NDtcbiRmYS12YXItY3Jvc3NoYWlyczogXFxmMDViO1xuJGZhLXZhci1jcm93OiBcXGY1MjA7XG4kZmEtdmFyLWNyb3duOiBcXGY1MjE7XG4kZmEtdmFyLWNydXRjaDogXFxmN2Y3O1xuJGZhLXZhci1jc3MzOiBcXGYxM2M7XG4kZmEtdmFyLWNzczMtYWx0OiBcXGYzOGI7XG4kZmEtdmFyLWN1YmU6IFxcZjFiMjtcbiRmYS12YXItY3ViZXM6IFxcZjFiMztcbiRmYS12YXItY3V0OiBcXGYwYzQ7XG4kZmEtdmFyLWN1dHRsZWZpc2g6IFxcZjM4YztcbiRmYS12YXItZC1hbmQtZDogXFxmMzhkO1xuJGZhLXZhci1kLWFuZC1kLWJleW9uZDogXFxmNmNhO1xuJGZhLXZhci1kYWlseW1vdGlvbjogXFxlMDUyO1xuJGZhLXZhci1kYXNoY3ViZTogXFxmMjEwO1xuJGZhLXZhci1kYXRhYmFzZTogXFxmMWMwO1xuJGZhLXZhci1kZWFmOiBcXGYyYTQ7XG4kZmEtdmFyLWRlZXplcjogXFxlMDc3O1xuJGZhLXZhci1kZWxpY2lvdXM6IFxcZjFhNTtcbiRmYS12YXItZGVtb2NyYXQ6IFxcZjc0NztcbiRmYS12YXItZGVwbG95ZG9nOiBcXGYzOGU7XG4kZmEtdmFyLWRlc2twcm86IFxcZjM4ZjtcbiRmYS12YXItZGVza3RvcDogXFxmMTA4O1xuJGZhLXZhci1kZXY6IFxcZjZjYztcbiRmYS12YXItZGV2aWFudGFydDogXFxmMWJkO1xuJGZhLXZhci1kaGFybWFjaGFrcmE6IFxcZjY1NTtcbiRmYS12YXItZGhsOiBcXGY3OTA7XG4kZmEtdmFyLWRpYWdub3NlczogXFxmNDcwO1xuJGZhLXZhci1kaWFzcG9yYTogXFxmNzkxO1xuJGZhLXZhci1kaWNlOiBcXGY1MjI7XG4kZmEtdmFyLWRpY2UtZDIwOiBcXGY2Y2Y7XG4kZmEtdmFyLWRpY2UtZDY6IFxcZjZkMTtcbiRmYS12YXItZGljZS1maXZlOiBcXGY1MjM7XG4kZmEtdmFyLWRpY2UtZm91cjogXFxmNTI0O1xuJGZhLXZhci1kaWNlLW9uZTogXFxmNTI1O1xuJGZhLXZhci1kaWNlLXNpeDogXFxmNTI2O1xuJGZhLXZhci1kaWNlLXRocmVlOiBcXGY1Mjc7XG4kZmEtdmFyLWRpY2UtdHdvOiBcXGY1Mjg7XG4kZmEtdmFyLWRpZ2c6IFxcZjFhNjtcbiRmYS12YXItZGlnaXRhbC1vY2VhbjogXFxmMzkxO1xuJGZhLXZhci1kaWdpdGFsLXRhY2hvZ3JhcGg6IFxcZjU2NjtcbiRmYS12YXItZGlyZWN0aW9uczogXFxmNWViO1xuJGZhLXZhci1kaXNjb3JkOiBcXGYzOTI7XG4kZmEtdmFyLWRpc2NvdXJzZTogXFxmMzkzO1xuJGZhLXZhci1kaXNlYXNlOiBcXGY3ZmE7XG4kZmEtdmFyLWRpdmlkZTogXFxmNTI5O1xuJGZhLXZhci1kaXp6eTogXFxmNTY3O1xuJGZhLXZhci1kbmE6IFxcZjQ3MTtcbiRmYS12YXItZG9jaHViOiBcXGYzOTQ7XG4kZmEtdmFyLWRvY2tlcjogXFxmMzk1O1xuJGZhLXZhci1kb2c6IFxcZjZkMztcbiRmYS12YXItZG9sbGFyLXNpZ246IFxcZjE1NTtcbiRmYS12YXItZG9sbHk6IFxcZjQ3MjtcbiRmYS12YXItZG9sbHktZmxhdGJlZDogXFxmNDc0O1xuJGZhLXZhci1kb25hdGU6IFxcZjRiOTtcbiRmYS12YXItZG9vci1jbG9zZWQ6IFxcZjUyYTtcbiRmYS12YXItZG9vci1vcGVuOiBcXGY1MmI7XG4kZmEtdmFyLWRvdC1jaXJjbGU6IFxcZjE5MjtcbiRmYS12YXItZG92ZTogXFxmNGJhO1xuJGZhLXZhci1kb3dubG9hZDogXFxmMDE5O1xuJGZhLXZhci1kcmFmdDJkaWdpdGFsOiBcXGYzOTY7XG4kZmEtdmFyLWRyYWZ0aW5nLWNvbXBhc3M6IFxcZjU2ODtcbiRmYS12YXItZHJhZ29uOiBcXGY2ZDU7XG4kZmEtdmFyLWRyYXctcG9seWdvbjogXFxmNWVlO1xuJGZhLXZhci1kcmliYmJsZTogXFxmMTdkO1xuJGZhLXZhci1kcmliYmJsZS1zcXVhcmU6IFxcZjM5NztcbiRmYS12YXItZHJvcGJveDogXFxmMTZiO1xuJGZhLXZhci1kcnVtOiBcXGY1Njk7XG4kZmEtdmFyLWRydW0tc3RlZWxwYW46IFxcZjU2YTtcbiRmYS12YXItZHJ1bXN0aWNrLWJpdGU6IFxcZjZkNztcbiRmYS12YXItZHJ1cGFsOiBcXGYxYTk7XG4kZmEtdmFyLWR1bWJiZWxsOiBcXGY0NGI7XG4kZmEtdmFyLWR1bXBzdGVyOiBcXGY3OTM7XG4kZmEtdmFyLWR1bXBzdGVyLWZpcmU6IFxcZjc5NDtcbiRmYS12YXItZHVuZ2VvbjogXFxmNmQ5O1xuJGZhLXZhci1keWFsb2c6IFxcZjM5OTtcbiRmYS12YXItZWFybHliaXJkczogXFxmMzlhO1xuJGZhLXZhci1lYmF5OiBcXGY0ZjQ7XG4kZmEtdmFyLWVkZ2U6IFxcZjI4MjtcbiRmYS12YXItZWRnZS1sZWdhY3k6IFxcZTA3ODtcbiRmYS12YXItZWRpdDogXFxmMDQ0O1xuJGZhLXZhci1lZ2c6IFxcZjdmYjtcbiRmYS12YXItZWplY3Q6IFxcZjA1MjtcbiRmYS12YXItZWxlbWVudG9yOiBcXGY0MzA7XG4kZmEtdmFyLWVsbGlwc2lzLWg6IFxcZjE0MTtcbiRmYS12YXItZWxsaXBzaXMtdjogXFxmMTQyO1xuJGZhLXZhci1lbGxvOiBcXGY1ZjE7XG4kZmEtdmFyLWVtYmVyOiBcXGY0MjM7XG4kZmEtdmFyLWVtcGlyZTogXFxmMWQxO1xuJGZhLXZhci1lbnZlbG9wZTogXFxmMGUwO1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuOiBcXGYyYjY7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dDogXFxmNjU4O1xuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFxcZjE5OTtcbiRmYS12YXItZW52aXJhOiBcXGYyOTk7XG4kZmEtdmFyLWVxdWFsczogXFxmNTJjO1xuJGZhLXZhci1lcmFzZXI6IFxcZjEyZDtcbiRmYS12YXItZXJsYW5nOiBcXGYzOWQ7XG4kZmEtdmFyLWV0aGVyZXVtOiBcXGY0MmU7XG4kZmEtdmFyLWV0aGVybmV0OiBcXGY3OTY7XG4kZmEtdmFyLWV0c3k6IFxcZjJkNztcbiRmYS12YXItZXVyby1zaWduOiBcXGYxNTM7XG4kZmEtdmFyLWV2ZXJub3RlOiBcXGY4Mzk7XG4kZmEtdmFyLWV4Y2hhbmdlLWFsdDogXFxmMzYyO1xuJGZhLXZhci1leGNsYW1hdGlvbjogXFxmMTJhO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFxcZjA2YTtcbiRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGU6IFxcZjA3MTtcbiRmYS12YXItZXhwYW5kOiBcXGYwNjU7XG4kZmEtdmFyLWV4cGFuZC1hbHQ6IFxcZjQyNDtcbiRmYS12YXItZXhwYW5kLWFycm93cy1hbHQ6IFxcZjMxZTtcbiRmYS12YXItZXhwZWRpdGVkc3NsOiBcXGYyM2U7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstYWx0OiBcXGYzNWQ7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDogXFxmMzYwO1xuJGZhLXZhci1leWU6IFxcZjA2ZTtcbiRmYS12YXItZXllLWRyb3BwZXI6IFxcZjFmYjtcbiRmYS12YXItZXllLXNsYXNoOiBcXGYwNzA7XG4kZmEtdmFyLWZhY2Vib29rOiBcXGYwOWE7XG4kZmEtdmFyLWZhY2Vib29rLWY6IFxcZjM5ZTtcbiRmYS12YXItZmFjZWJvb2stbWVzc2VuZ2VyOiBcXGYzOWY7XG4kZmEtdmFyLWZhY2Vib29rLXNxdWFyZTogXFxmMDgyO1xuJGZhLXZhci1mYW46IFxcZjg2MztcbiRmYS12YXItZmFudGFzeS1mbGlnaHQtZ2FtZXM6IFxcZjZkYztcbiRmYS12YXItZmFzdC1iYWNrd2FyZDogXFxmMDQ5O1xuJGZhLXZhci1mYXN0LWZvcndhcmQ6IFxcZjA1MDtcbiRmYS12YXItZmF1Y2V0OiBcXGUwMDU7XG4kZmEtdmFyLWZheDogXFxmMWFjO1xuJGZhLXZhci1mZWF0aGVyOiBcXGY1MmQ7XG4kZmEtdmFyLWZlYXRoZXItYWx0OiBcXGY1NmI7XG4kZmEtdmFyLWZlZGV4OiBcXGY3OTc7XG4kZmEtdmFyLWZlZG9yYTogXFxmNzk4O1xuJGZhLXZhci1mZW1hbGU6IFxcZjE4MjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFxcZjBmYjtcbiRmYS12YXItZmlnbWE6IFxcZjc5OTtcbiRmYS12YXItZmlsZTogXFxmMTViO1xuJGZhLXZhci1maWxlLWFsdDogXFxmMTVjO1xuJGZhLXZhci1maWxlLWFyY2hpdmU6IFxcZjFjNjtcbiRmYS12YXItZmlsZS1hdWRpbzogXFxmMWM3O1xuJGZhLXZhci1maWxlLWNvZGU6IFxcZjFjOTtcbiRmYS12YXItZmlsZS1jb250cmFjdDogXFxmNTZjO1xuJGZhLXZhci1maWxlLWNzdjogXFxmNmRkO1xuJGZhLXZhci1maWxlLWRvd25sb2FkOiBcXGY1NmQ7XG4kZmEtdmFyLWZpbGUtZXhjZWw6IFxcZjFjMztcbiRmYS12YXItZmlsZS1leHBvcnQ6IFxcZjU2ZTtcbiRmYS12YXItZmlsZS1pbWFnZTogXFxmMWM1O1xuJGZhLXZhci1maWxlLWltcG9ydDogXFxmNTZmO1xuJGZhLXZhci1maWxlLWludm9pY2U6IFxcZjU3MDtcbiRmYS12YXItZmlsZS1pbnZvaWNlLWRvbGxhcjogXFxmNTcxO1xuJGZhLXZhci1maWxlLW1lZGljYWw6IFxcZjQ3NztcbiRmYS12YXItZmlsZS1tZWRpY2FsLWFsdDogXFxmNDc4O1xuJGZhLXZhci1maWxlLXBkZjogXFxmMWMxO1xuJGZhLXZhci1maWxlLXBvd2VycG9pbnQ6IFxcZjFjNDtcbiRmYS12YXItZmlsZS1wcmVzY3JpcHRpb246IFxcZjU3MjtcbiRmYS12YXItZmlsZS1zaWduYXR1cmU6IFxcZjU3MztcbiRmYS12YXItZmlsZS11cGxvYWQ6IFxcZjU3NDtcbiRmYS12YXItZmlsZS12aWRlbzogXFxmMWM4O1xuJGZhLXZhci1maWxlLXdvcmQ6IFxcZjFjMjtcbiRmYS12YXItZmlsbDogXFxmNTc1O1xuJGZhLXZhci1maWxsLWRyaXA6IFxcZjU3NjtcbiRmYS12YXItZmlsbTogXFxmMDA4O1xuJGZhLXZhci1maWx0ZXI6IFxcZjBiMDtcbiRmYS12YXItZmluZ2VycHJpbnQ6IFxcZjU3NztcbiRmYS12YXItZmlyZTogXFxmMDZkO1xuJGZhLXZhci1maXJlLWFsdDogXFxmN2U0O1xuJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjogXFxmMTM0O1xuJGZhLXZhci1maXJlZm94OiBcXGYyNjk7XG4kZmEtdmFyLWZpcmVmb3gtYnJvd3NlcjogXFxlMDA3O1xuJGZhLXZhci1maXJzdC1haWQ6IFxcZjQ3OTtcbiRmYS12YXItZmlyc3Qtb3JkZXI6IFxcZjJiMDtcbiRmYS12YXItZmlyc3Qtb3JkZXItYWx0OiBcXGY1MGE7XG4kZmEtdmFyLWZpcnN0ZHJhZnQ6IFxcZjNhMTtcbiRmYS12YXItZmlzaDogXFxmNTc4O1xuJGZhLXZhci1maXN0LXJhaXNlZDogXFxmNmRlO1xuJGZhLXZhci1mbGFnOiBcXGYwMjQ7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcXGYxMWU7XG4kZmEtdmFyLWZsYWctdXNhOiBcXGY3NGQ7XG4kZmEtdmFyLWZsYXNrOiBcXGYwYzM7XG4kZmEtdmFyLWZsaWNrcjogXFxmMTZlO1xuJGZhLXZhci1mbGlwYm9hcmQ6IFxcZjQ0ZDtcbiRmYS12YXItZmx1c2hlZDogXFxmNTc5O1xuJGZhLXZhci1mbHk6IFxcZjQxNztcbiRmYS12YXItZm9sZGVyOiBcXGYwN2I7XG4kZmEtdmFyLWZvbGRlci1taW51czogXFxmNjVkO1xuJGZhLXZhci1mb2xkZXItb3BlbjogXFxmMDdjO1xuJGZhLXZhci1mb2xkZXItcGx1czogXFxmNjVlO1xuJGZhLXZhci1mb250OiBcXGYwMzE7XG4kZmEtdmFyLWZvbnQtYXdlc29tZTogXFxmMmI0O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0OiBcXGYzNWM7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnOiBcXGY0MjU7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6IFxcZjRlNjtcbiRmYS12YXItZm9udGljb25zOiBcXGYyODA7XG4kZmEtdmFyLWZvbnRpY29ucy1maTogXFxmM2EyO1xuJGZhLXZhci1mb290YmFsbC1iYWxsOiBcXGY0NGU7XG4kZmEtdmFyLWZvcnQtYXdlc29tZTogXFxmMjg2O1xuJGZhLXZhci1mb3J0LWF3ZXNvbWUtYWx0OiBcXGYzYTM7XG4kZmEtdmFyLWZvcnVtYmVlOiBcXGYyMTE7XG4kZmEtdmFyLWZvcndhcmQ6IFxcZjA0ZTtcbiRmYS12YXItZm91cnNxdWFyZTogXFxmMTgwO1xuJGZhLXZhci1mcmVlLWNvZGUtY2FtcDogXFxmMmM1O1xuJGZhLXZhci1mcmVlYnNkOiBcXGYzYTQ7XG4kZmEtdmFyLWZyb2c6IFxcZjUyZTtcbiRmYS12YXItZnJvd246IFxcZjExOTtcbiRmYS12YXItZnJvd24tb3BlbjogXFxmNTdhO1xuJGZhLXZhci1mdWxjcnVtOiBcXGY1MGI7XG4kZmEtdmFyLWZ1bm5lbC1kb2xsYXI6IFxcZjY2MjtcbiRmYS12YXItZnV0Ym9sOiBcXGYxZTM7XG4kZmEtdmFyLWdhbGFjdGljLXJlcHVibGljOiBcXGY1MGM7XG4kZmEtdmFyLWdhbGFjdGljLXNlbmF0ZTogXFxmNTBkO1xuJGZhLXZhci1nYW1lcGFkOiBcXGYxMWI7XG4kZmEtdmFyLWdhcy1wdW1wOiBcXGY1MmY7XG4kZmEtdmFyLWdhdmVsOiBcXGYwZTM7XG4kZmEtdmFyLWdlbTogXFxmM2E1O1xuJGZhLXZhci1nZW5kZXJsZXNzOiBcXGYyMmQ7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFxcZjI2NTtcbiRmYS12YXItZ2c6IFxcZjI2MDtcbiRmYS12YXItZ2ctY2lyY2xlOiBcXGYyNjE7XG4kZmEtdmFyLWdob3N0OiBcXGY2ZTI7XG4kZmEtdmFyLWdpZnQ6IFxcZjA2YjtcbiRmYS12YXItZ2lmdHM6IFxcZjc5YztcbiRmYS12YXItZ2l0OiBcXGYxZDM7XG4kZmEtdmFyLWdpdC1hbHQ6IFxcZjg0MTtcbiRmYS12YXItZ2l0LXNxdWFyZTogXFxmMWQyO1xuJGZhLXZhci1naXRodWI6IFxcZjA5YjtcbiRmYS12YXItZ2l0aHViLWFsdDogXFxmMTEzO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcXGYwOTI7XG4kZmEtdmFyLWdpdGtyYWtlbjogXFxmM2E2O1xuJGZhLXZhci1naXRsYWI6IFxcZjI5NjtcbiRmYS12YXItZ2l0dGVyOiBcXGY0MjY7XG4kZmEtdmFyLWdsYXNzLWNoZWVyczogXFxmNzlmO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pOiBcXGYwMDA7XG4kZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0OiBcXGY1N2I7XG4kZmEtdmFyLWdsYXNzLXdoaXNrZXk6IFxcZjdhMDtcbiRmYS12YXItZ2xhc3NlczogXFxmNTMwO1xuJGZhLXZhci1nbGlkZTogXFxmMmE1O1xuJGZhLXZhci1nbGlkZS1nOiBcXGYyYTY7XG4kZmEtdmFyLWdsb2JlOiBcXGYwYWM7XG4kZmEtdmFyLWdsb2JlLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1nbG9iZS1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1nbG9iZS1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWdsb2JlLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1nb2ZvcmU6IFxcZjNhNztcbiRmYS12YXItZ29sZi1iYWxsOiBcXGY0NTA7XG4kZmEtdmFyLWdvb2RyZWFkczogXFxmM2E4O1xuJGZhLXZhci1nb29kcmVhZHMtZzogXFxmM2E5O1xuJGZhLXZhci1nb29nbGU6IFxcZjFhMDtcbiRmYS12YXItZ29vZ2xlLWRyaXZlOiBcXGYzYWE7XG4kZmEtdmFyLWdvb2dsZS1wYXk6IFxcZTA3OTtcbiRmYS12YXItZ29vZ2xlLXBsYXk6IFxcZjNhYjtcbiRmYS12YXItZ29vZ2xlLXBsdXM6IFxcZjJiMztcbiRmYS12YXItZ29vZ2xlLXBsdXMtZzogXFxmMGQ1O1xuJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU6IFxcZjBkNDtcbiRmYS12YXItZ29vZ2xlLXdhbGxldDogXFxmMWVlO1xuJGZhLXZhci1nb3B1cmFtOiBcXGY2NjQ7XG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcXGYxOWQ7XG4kZmEtdmFyLWdyYXRpcGF5OiBcXGYxODQ7XG4kZmEtdmFyLWdyYXY6IFxcZjJkNjtcbiRmYS12YXItZ3JlYXRlci10aGFuOiBcXGY1MzE7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbDogXFxmNTMyO1xuJGZhLXZhci1ncmltYWNlOiBcXGY1N2Y7XG4kZmEtdmFyLWdyaW46IFxcZjU4MDtcbiRmYS12YXItZ3Jpbi1hbHQ6IFxcZjU4MTtcbiRmYS12YXItZ3Jpbi1iZWFtOiBcXGY1ODI7XG4kZmEtdmFyLWdyaW4tYmVhbS1zd2VhdDogXFxmNTgzO1xuJGZhLXZhci1ncmluLWhlYXJ0czogXFxmNTg0O1xuJGZhLXZhci1ncmluLXNxdWludDogXFxmNTg1O1xuJGZhLXZhci1ncmluLXNxdWludC10ZWFyczogXFxmNTg2O1xuJGZhLXZhci1ncmluLXN0YXJzOiBcXGY1ODc7XG4kZmEtdmFyLWdyaW4tdGVhcnM6IFxcZjU4ODtcbiRmYS12YXItZ3Jpbi10b25ndWU6IFxcZjU4OTtcbiRmYS12YXItZ3Jpbi10b25ndWUtc3F1aW50OiBcXGY1OGE7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXdpbms6IFxcZjU4YjtcbiRmYS12YXItZ3Jpbi13aW5rOiBcXGY1OGM7XG4kZmEtdmFyLWdyaXAtaG9yaXpvbnRhbDogXFxmNThkO1xuJGZhLXZhci1ncmlwLWxpbmVzOiBcXGY3YTQ7XG4kZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWw6IFxcZjdhNTtcbiRmYS12YXItZ3JpcC12ZXJ0aWNhbDogXFxmNThlO1xuJGZhLXZhci1ncmlwZmlyZTogXFxmM2FjO1xuJGZhLXZhci1ncnVudDogXFxmM2FkO1xuJGZhLXZhci1ndWlsZGVkOiBcXGUwN2U7XG4kZmEtdmFyLWd1aXRhcjogXFxmN2E2O1xuJGZhLXZhci1ndWxwOiBcXGYzYWU7XG4kZmEtdmFyLWgtc3F1YXJlOiBcXGYwZmQ7XG4kZmEtdmFyLWhhY2tlci1uZXdzOiBcXGYxZDQ7XG4kZmEtdmFyLWhhY2tlci1uZXdzLXNxdWFyZTogXFxmM2FmO1xuJGZhLXZhci1oYWNrZXJyYW5rOiBcXGY1Zjc7XG4kZmEtdmFyLWhhbWJ1cmdlcjogXFxmODA1O1xuJGZhLXZhci1oYW1tZXI6IFxcZjZlMztcbiRmYS12YXItaGFtc2E6IFxcZjY2NTtcbiRmYS12YXItaGFuZC1ob2xkaW5nOiBcXGY0YmQ7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1oZWFydDogXFxmNGJlO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbDogXFxlMDVjO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkOiBcXGY0YzA7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy13YXRlcjogXFxmNGMxO1xuJGZhLXZhci1oYW5kLWxpemFyZDogXFxmMjU4O1xuJGZhLXZhci1oYW5kLW1pZGRsZS1maW5nZXI6IFxcZjgwNjtcbiRmYS12YXItaGFuZC1wYXBlcjogXFxmMjU2O1xuJGZhLXZhci1oYW5kLXBlYWNlOiBcXGYyNWI7XG4kZmEtdmFyLWhhbmQtcG9pbnQtZG93bjogXFxmMGE3O1xuJGZhLXZhci1oYW5kLXBvaW50LWxlZnQ6IFxcZjBhNTtcbiRmYS12YXItaGFuZC1wb2ludC1yaWdodDogXFxmMGE0O1xuJGZhLXZhci1oYW5kLXBvaW50LXVwOiBcXGYwYTY7XG4kZmEtdmFyLWhhbmQtcG9pbnRlcjogXFxmMjVhO1xuJGZhLXZhci1oYW5kLXJvY2s6IFxcZjI1NTtcbiRmYS12YXItaGFuZC1zY2lzc29yczogXFxmMjU3O1xuJGZhLXZhci1oYW5kLXNwYXJrbGVzOiBcXGUwNWQ7XG4kZmEtdmFyLWhhbmQtc3BvY2s6IFxcZjI1OTtcbiRmYS12YXItaGFuZHM6IFxcZjRjMjtcbiRmYS12YXItaGFuZHMtaGVscGluZzogXFxmNGM0O1xuJGZhLXZhci1oYW5kcy13YXNoOiBcXGUwNWU7XG4kZmEtdmFyLWhhbmRzaGFrZTogXFxmMmI1O1xuJGZhLXZhci1oYW5kc2hha2UtYWx0LXNsYXNoOiBcXGUwNWY7XG4kZmEtdmFyLWhhbmRzaGFrZS1zbGFzaDogXFxlMDYwO1xuJGZhLXZhci1oYW51a2lhaDogXFxmNmU2O1xuJGZhLXZhci1oYXJkLWhhdDogXFxmODA3O1xuJGZhLXZhci1oYXNodGFnOiBcXGYyOTI7XG4kZmEtdmFyLWhhdC1jb3dib3k6IFxcZjhjMDtcbiRmYS12YXItaGF0LWNvd2JveS1zaWRlOiBcXGY4YzE7XG4kZmEtdmFyLWhhdC13aXphcmQ6IFxcZjZlODtcbiRmYS12YXItaGRkOiBcXGYwYTA7XG4kZmEtdmFyLWhlYWQtc2lkZS1jb3VnaDogXFxlMDYxO1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2gtc2xhc2g6IFxcZTA2MjtcbiRmYS12YXItaGVhZC1zaWRlLW1hc2s6IFxcZTA2MztcbiRmYS12YXItaGVhZC1zaWRlLXZpcnVzOiBcXGUwNjQ7XG4kZmEtdmFyLWhlYWRpbmc6IFxcZjFkYztcbiRmYS12YXItaGVhZHBob25lczogXFxmMDI1O1xuJGZhLXZhci1oZWFkcGhvbmVzLWFsdDogXFxmNThmO1xuJGZhLXZhci1oZWFkc2V0OiBcXGY1OTA7XG4kZmEtdmFyLWhlYXJ0OiBcXGYwMDQ7XG4kZmEtdmFyLWhlYXJ0LWJyb2tlbjogXFxmN2E5O1xuJGZhLXZhci1oZWFydGJlYXQ6IFxcZjIxZTtcbiRmYS12YXItaGVsaWNvcHRlcjogXFxmNTMzO1xuJGZhLXZhci1oaWdobGlnaHRlcjogXFxmNTkxO1xuJGZhLXZhci1oaWtpbmc6IFxcZjZlYztcbiRmYS12YXItaGlwcG86IFxcZjZlZDtcbiRmYS12YXItaGlwczogXFxmNDUyO1xuJGZhLXZhci1oaXJlLWEtaGVscGVyOiBcXGYzYjA7XG4kZmEtdmFyLWhpc3Rvcnk6IFxcZjFkYTtcbiRmYS12YXItaGl2ZTogXFxlMDdmO1xuJGZhLXZhci1ob2NrZXktcHVjazogXFxmNDUzO1xuJGZhLXZhci1ob2xseS1iZXJyeTogXFxmN2FhO1xuJGZhLXZhci1ob21lOiBcXGYwMTU7XG4kZmEtdmFyLWhvb2xpOiBcXGY0Mjc7XG4kZmEtdmFyLWhvcm5iaWxsOiBcXGY1OTI7XG4kZmEtdmFyLWhvcnNlOiBcXGY2ZjA7XG4kZmEtdmFyLWhvcnNlLWhlYWQ6IFxcZjdhYjtcbiRmYS12YXItaG9zcGl0YWw6IFxcZjBmODtcbiRmYS12YXItaG9zcGl0YWwtYWx0OiBcXGY0N2Q7XG4kZmEtdmFyLWhvc3BpdGFsLXN5bWJvbDogXFxmNDdlO1xuJGZhLXZhci1ob3NwaXRhbC11c2VyOiBcXGY4MGQ7XG4kZmEtdmFyLWhvdC10dWI6IFxcZjU5MztcbiRmYS12YXItaG90ZG9nOiBcXGY4MGY7XG4kZmEtdmFyLWhvdGVsOiBcXGY1OTQ7XG4kZmEtdmFyLWhvdGphcjogXFxmM2IxO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFxcZjI1NDtcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXFxmMjUzO1xuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXFxmMjUyO1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFxcZjI1MTtcbiRmYS12YXItaG91c2UtZGFtYWdlOiBcXGY2ZjE7XG4kZmEtdmFyLWhvdXNlLXVzZXI6IFxcZTA2NTtcbiRmYS12YXItaG91eno6IFxcZjI3YztcbiRmYS12YXItaHJ5dm5pYTogXFxmNmYyO1xuJGZhLXZhci1odG1sNTogXFxmMTNiO1xuJGZhLXZhci1odWJzcG90OiBcXGYzYjI7XG4kZmEtdmFyLWktY3Vyc29yOiBcXGYyNDY7XG4kZmEtdmFyLWljZS1jcmVhbTogXFxmODEwO1xuJGZhLXZhci1pY2ljbGVzOiBcXGY3YWQ7XG4kZmEtdmFyLWljb25zOiBcXGY4NmQ7XG4kZmEtdmFyLWlkLWJhZGdlOiBcXGYyYzE7XG4kZmEtdmFyLWlkLWNhcmQ6IFxcZjJjMjtcbiRmYS12YXItaWQtY2FyZC1hbHQ6IFxcZjQ3ZjtcbiRmYS12YXItaWRlYWw6IFxcZTAxMztcbiRmYS12YXItaWdsb286IFxcZjdhZTtcbiRmYS12YXItaW1hZ2U6IFxcZjAzZTtcbiRmYS12YXItaW1hZ2VzOiBcXGYzMDI7XG4kZmEtdmFyLWltZGI6IFxcZjJkODtcbiRmYS12YXItaW5ib3g6IFxcZjAxYztcbiRmYS12YXItaW5kZW50OiBcXGYwM2M7XG4kZmEtdmFyLWluZHVzdHJ5OiBcXGYyNzU7XG4kZmEtdmFyLWluZmluaXR5OiBcXGY1MzQ7XG4kZmEtdmFyLWluZm86IFxcZjEyOTtcbiRmYS12YXItaW5mby1jaXJjbGU6IFxcZjA1YTtcbiRmYS12YXItaW5ub3NvZnQ6IFxcZTA4MDtcbiRmYS12YXItaW5zdGFncmFtOiBcXGYxNmQ7XG4kZmEtdmFyLWluc3RhZ3JhbS1zcXVhcmU6IFxcZTA1NTtcbiRmYS12YXItaW5zdGFsb2Q6IFxcZTA4MTtcbiRmYS12YXItaW50ZXJjb206IFxcZjdhZjtcbiRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI6IFxcZjI2YjtcbiRmYS12YXItaW52aXNpb246IFxcZjdiMDtcbiRmYS12YXItaW94aG9zdDogXFxmMjA4O1xuJGZhLXZhci1pdGFsaWM6IFxcZjAzMztcbiRmYS12YXItaXRjaC1pbzogXFxmODNhO1xuJGZhLXZhci1pdHVuZXM6IFxcZjNiNDtcbiRmYS12YXItaXR1bmVzLW5vdGU6IFxcZjNiNTtcbiRmYS12YXItamF2YTogXFxmNGU0O1xuJGZhLXZhci1qZWRpOiBcXGY2Njk7XG4kZmEtdmFyLWplZGktb3JkZXI6IFxcZjUwZTtcbiRmYS12YXItamVua2luczogXFxmM2I2O1xuJGZhLXZhci1qaXJhOiBcXGY3YjE7XG4kZmEtdmFyLWpvZ2V0OiBcXGYzYjc7XG4kZmEtdmFyLWpvaW50OiBcXGY1OTU7XG4kZmEtdmFyLWpvb21sYTogXFxmMWFhO1xuJGZhLXZhci1qb3VybmFsLXdoaWxsczogXFxmNjZhO1xuJGZhLXZhci1qczogXFxmM2I4O1xuJGZhLXZhci1qcy1zcXVhcmU6IFxcZjNiOTtcbiRmYS12YXItanNmaWRkbGU6IFxcZjFjYztcbiRmYS12YXIta2FhYmE6IFxcZjY2YjtcbiRmYS12YXIta2FnZ2xlOiBcXGY1ZmE7XG4kZmEtdmFyLWtleTogXFxmMDg0O1xuJGZhLXZhci1rZXliYXNlOiBcXGY0ZjU7XG4kZmEtdmFyLWtleWJvYXJkOiBcXGYxMWM7XG4kZmEtdmFyLWtleWNkbjogXFxmM2JhO1xuJGZhLXZhci1raGFuZGE6IFxcZjY2ZDtcbiRmYS12YXIta2lja3N0YXJ0ZXI6IFxcZjNiYjtcbiRmYS12YXIta2lja3N0YXJ0ZXItazogXFxmM2JjO1xuJGZhLXZhci1raXNzOiBcXGY1OTY7XG4kZmEtdmFyLWtpc3MtYmVhbTogXFxmNTk3O1xuJGZhLXZhci1raXNzLXdpbmstaGVhcnQ6IFxcZjU5ODtcbiRmYS12YXIta2l3aS1iaXJkOiBcXGY1MzU7XG4kZmEtdmFyLWtvcnZ1ZTogXFxmNDJmO1xuJGZhLXZhci1sYW5kbWFyazogXFxmNjZmO1xuJGZhLXZhci1sYW5ndWFnZTogXFxmMWFiO1xuJGZhLXZhci1sYXB0b3A6IFxcZjEwOTtcbiRmYS12YXItbGFwdG9wLWNvZGU6IFxcZjVmYztcbiRmYS12YXItbGFwdG9wLWhvdXNlOiBcXGUwNjY7XG4kZmEtdmFyLWxhcHRvcC1tZWRpY2FsOiBcXGY4MTI7XG4kZmEtdmFyLWxhcmF2ZWw6IFxcZjNiZDtcbiRmYS12YXItbGFzdGZtOiBcXGYyMDI7XG4kZmEtdmFyLWxhc3RmbS1zcXVhcmU6IFxcZjIwMztcbiRmYS12YXItbGF1Z2g6IFxcZjU5OTtcbiRmYS12YXItbGF1Z2gtYmVhbTogXFxmNTlhO1xuJGZhLXZhci1sYXVnaC1zcXVpbnQ6IFxcZjU5YjtcbiRmYS12YXItbGF1Z2gtd2luazogXFxmNTljO1xuJGZhLXZhci1sYXllci1ncm91cDogXFxmNWZkO1xuJGZhLXZhci1sZWFmOiBcXGYwNmM7XG4kZmEtdmFyLWxlYW5wdWI6IFxcZjIxMjtcbiRmYS12YXItbGVtb246IFxcZjA5NDtcbiRmYS12YXItbGVzczogXFxmNDFkO1xuJGZhLXZhci1sZXNzLXRoYW46IFxcZjUzNjtcbiRmYS12YXItbGVzcy10aGFuLWVxdWFsOiBcXGY1Mzc7XG4kZmEtdmFyLWxldmVsLWRvd24tYWx0OiBcXGYzYmU7XG4kZmEtdmFyLWxldmVsLXVwLWFsdDogXFxmM2JmO1xuJGZhLXZhci1saWZlLXJpbmc6IFxcZjFjZDtcbiRmYS12YXItbGlnaHRidWxiOiBcXGYwZWI7XG4kZmEtdmFyLWxpbmU6IFxcZjNjMDtcbiRmYS12YXItbGluazogXFxmMGMxO1xuJGZhLXZhci1saW5rZWRpbjogXFxmMDhjO1xuJGZhLXZhci1saW5rZWRpbi1pbjogXFxmMGUxO1xuJGZhLXZhci1saW5vZGU6IFxcZjJiODtcbiRmYS12YXItbGludXg6IFxcZjE3YztcbiRmYS12YXItbGlyYS1zaWduOiBcXGYxOTU7XG4kZmEtdmFyLWxpc3Q6IFxcZjAzYTtcbiRmYS12YXItbGlzdC1hbHQ6IFxcZjAyMjtcbiRmYS12YXItbGlzdC1vbDogXFxmMGNiO1xuJGZhLXZhci1saXN0LXVsOiBcXGYwY2E7XG4kZmEtdmFyLWxvY2F0aW9uLWFycm93OiBcXGYxMjQ7XG4kZmEtdmFyLWxvY2s6IFxcZjAyMztcbiRmYS12YXItbG9jay1vcGVuOiBcXGYzYzE7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd246IFxcZjMwOTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdDogXFxmMzBhO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodDogXFxmMzBiO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC11cDogXFxmMzBjO1xuJGZhLXZhci1sb3ctdmlzaW9uOiBcXGYyYTg7XG4kZmEtdmFyLWx1Z2dhZ2UtY2FydDogXFxmNTlkO1xuJGZhLXZhci1sdW5nczogXFxmNjA0O1xuJGZhLXZhci1sdW5ncy12aXJ1czogXFxlMDY3O1xuJGZhLXZhci1seWZ0OiBcXGYzYzM7XG4kZmEtdmFyLW1hZ2VudG86IFxcZjNjNDtcbiRmYS12YXItbWFnaWM6IFxcZjBkMDtcbiRmYS12YXItbWFnbmV0OiBcXGYwNzY7XG4kZmEtdmFyLW1haWwtYnVsazogXFxmNjc0O1xuJGZhLXZhci1tYWlsY2hpbXA6IFxcZjU5ZTtcbiRmYS12YXItbWFsZTogXFxmMTgzO1xuJGZhLXZhci1tYW5kYWxvcmlhbjogXFxmNTBmO1xuJGZhLXZhci1tYXA6IFxcZjI3OTtcbiRmYS12YXItbWFwLW1hcmtlZDogXFxmNTlmO1xuJGZhLXZhci1tYXAtbWFya2VkLWFsdDogXFxmNWEwO1xuJGZhLXZhci1tYXAtbWFya2VyOiBcXGYwNDE7XG4kZmEtdmFyLW1hcC1tYXJrZXItYWx0OiBcXGYzYzU7XG4kZmEtdmFyLW1hcC1waW46IFxcZjI3NjtcbiRmYS12YXItbWFwLXNpZ25zOiBcXGYyNzc7XG4kZmEtdmFyLW1hcmtkb3duOiBcXGY2MGY7XG4kZmEtdmFyLW1hcmtlcjogXFxmNWExO1xuJGZhLXZhci1tYXJzOiBcXGYyMjI7XG4kZmEtdmFyLW1hcnMtZG91YmxlOiBcXGYyMjc7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlOiBcXGYyMjk7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLWg6IFxcZjIyYjtcbiRmYS12YXItbWFycy1zdHJva2UtdjogXFxmMjJhO1xuJGZhLXZhci1tYXNrOiBcXGY2ZmE7XG4kZmEtdmFyLW1hc3RvZG9uOiBcXGY0ZjY7XG4kZmEtdmFyLW1heGNkbjogXFxmMTM2O1xuJGZhLXZhci1tZGI6IFxcZjhjYTtcbiRmYS12YXItbWVkYWw6IFxcZjVhMjtcbiRmYS12YXItbWVkYXBwczogXFxmM2M2O1xuJGZhLXZhci1tZWRpdW06IFxcZjIzYTtcbiRmYS12YXItbWVkaXVtLW06IFxcZjNjNztcbiRmYS12YXItbWVka2l0OiBcXGYwZmE7XG4kZmEtdmFyLW1lZHJ0OiBcXGYzYzg7XG4kZmEtdmFyLW1lZXR1cDogXFxmMmUwO1xuJGZhLXZhci1tZWdhcG9ydDogXFxmNWEzO1xuJGZhLXZhci1tZWg6IFxcZjExYTtcbiRmYS12YXItbWVoLWJsYW5rOiBcXGY1YTQ7XG4kZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXM6IFxcZjVhNTtcbiRmYS12YXItbWVtb3J5OiBcXGY1Mzg7XG4kZmEtdmFyLW1lbmRlbGV5OiBcXGY3YjM7XG4kZmEtdmFyLW1lbm9yYWg6IFxcZjY3NjtcbiRmYS12YXItbWVyY3VyeTogXFxmMjIzO1xuJGZhLXZhci1tZXRlb3I6IFxcZjc1MztcbiRmYS12YXItbWljcm9ibG9nOiBcXGUwMWE7XG4kZmEtdmFyLW1pY3JvY2hpcDogXFxmMmRiO1xuJGZhLXZhci1taWNyb3Bob25lOiBcXGYxMzA7XG4kZmEtdmFyLW1pY3JvcGhvbmUtYWx0OiBcXGYzYzk7XG4kZmEtdmFyLW1pY3JvcGhvbmUtYWx0LXNsYXNoOiBcXGY1Mzk7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g6IFxcZjEzMTtcbiRmYS12YXItbWljcm9zY29wZTogXFxmNjEwO1xuJGZhLXZhci1taWNyb3NvZnQ6IFxcZjNjYTtcbiRmYS12YXItbWludXM6IFxcZjA2ODtcbiRmYS12YXItbWludXMtY2lyY2xlOiBcXGYwNTY7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZTogXFxmMTQ2O1xuJGZhLXZhci1taXR0ZW46IFxcZjdiNTtcbiRmYS12YXItbWl4OiBcXGYzY2I7XG4kZmEtdmFyLW1peGNsb3VkOiBcXGYyODk7XG4kZmEtdmFyLW1peGVyOiBcXGUwNTY7XG4kZmEtdmFyLW1penVuaTogXFxmM2NjO1xuJGZhLXZhci1tb2JpbGU6IFxcZjEwYjtcbiRmYS12YXItbW9iaWxlLWFsdDogXFxmM2NkO1xuJGZhLXZhci1tb2R4OiBcXGYyODU7XG4kZmEtdmFyLW1vbmVybzogXFxmM2QwO1xuJGZhLXZhci1tb25leS1iaWxsOiBcXGYwZDY7XG4kZmEtdmFyLW1vbmV5LWJpbGwtYWx0OiBcXGYzZDE7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZTogXFxmNTNhO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0OiBcXGY1M2I7XG4kZmEtdmFyLW1vbmV5LWNoZWNrOiBcXGY1M2M7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWFsdDogXFxmNTNkO1xuJGZhLXZhci1tb251bWVudDogXFxmNWE2O1xuJGZhLXZhci1tb29uOiBcXGYxODY7XG4kZmEtdmFyLW1vcnRhci1wZXN0bGU6IFxcZjVhNztcbiRmYS12YXItbW9zcXVlOiBcXGY2Nzg7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFxcZjIxYztcbiRmYS12YXItbW91bnRhaW46IFxcZjZmYztcbiRmYS12YXItbW91c2U6IFxcZjhjYztcbiRmYS12YXItbW91c2UtcG9pbnRlcjogXFxmMjQ1O1xuJGZhLXZhci1tdWctaG90OiBcXGY3YjY7XG4kZmEtdmFyLW11c2ljOiBcXGYwMDE7XG4kZmEtdmFyLW5hcHN0ZXI6IFxcZjNkMjtcbiRmYS12YXItbmVvczogXFxmNjEyO1xuJGZhLXZhci1uZXR3b3JrLXdpcmVkOiBcXGY2ZmY7XG4kZmEtdmFyLW5ldXRlcjogXFxmMjJjO1xuJGZhLXZhci1uZXdzcGFwZXI6IFxcZjFlYTtcbiRmYS12YXItbmltYmxyOiBcXGY1YTg7XG4kZmEtdmFyLW5vZGU6IFxcZjQxOTtcbiRmYS12YXItbm9kZS1qczogXFxmM2QzO1xuJGZhLXZhci1ub3QtZXF1YWw6IFxcZjUzZTtcbiRmYS12YXItbm90ZXMtbWVkaWNhbDogXFxmNDgxO1xuJGZhLXZhci1ucG06IFxcZjNkNDtcbiRmYS12YXItbnM4OiBcXGYzZDU7XG4kZmEtdmFyLW51dHJpdGlvbml4OiBcXGYzZDY7XG4kZmEtdmFyLW9iamVjdC1ncm91cDogXFxmMjQ3O1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXFxmMjQ4O1xuJGZhLXZhci1vY3RvcHVzLWRlcGxveTogXFxlMDgyO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcXGYyNjM7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOiBcXGYyNjQ7XG4kZmEtdmFyLW9pbC1jYW46IFxcZjYxMztcbiRmYS12YXItb2xkLXJlcHVibGljOiBcXGY1MTA7XG4kZmEtdmFyLW9tOiBcXGY2Nzk7XG4kZmEtdmFyLW9wZW5jYXJ0OiBcXGYyM2Q7XG4kZmEtdmFyLW9wZW5pZDogXFxmMTliO1xuJGZhLXZhci1vcGVyYTogXFxmMjZhO1xuJGZhLXZhci1vcHRpbi1tb25zdGVyOiBcXGYyM2M7XG4kZmEtdmFyLW9yY2lkOiBcXGY4ZDI7XG4kZmEtdmFyLW9zaTogXFxmNDFhO1xuJGZhLXZhci1vdHRlcjogXFxmNzAwO1xuJGZhLXZhci1vdXRkZW50OiBcXGYwM2I7XG4kZmEtdmFyLXBhZ2U0OiBcXGYzZDc7XG4kZmEtdmFyLXBhZ2VsaW5lczogXFxmMThjO1xuJGZhLXZhci1wYWdlcjogXFxmODE1O1xuJGZhLXZhci1wYWludC1icnVzaDogXFxmMWZjO1xuJGZhLXZhci1wYWludC1yb2xsZXI6IFxcZjVhYTtcbiRmYS12YXItcGFsZXR0ZTogXFxmNTNmO1xuJGZhLXZhci1wYWxmZWQ6IFxcZjNkODtcbiRmYS12YXItcGFsbGV0OiBcXGY0ODI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcXGYxZDg7XG4kZmEtdmFyLXBhcGVyY2xpcDogXFxmMGM2O1xuJGZhLXZhci1wYXJhY2h1dGUtYm94OiBcXGY0Y2Q7XG4kZmEtdmFyLXBhcmFncmFwaDogXFxmMWRkO1xuJGZhLXZhci1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLXBhc3Nwb3J0OiBcXGY1YWI7XG4kZmEtdmFyLXBhc3RhZmFyaWFuaXNtOiBcXGY2N2I7XG4kZmEtdmFyLXBhc3RlOiBcXGYwZWE7XG4kZmEtdmFyLXBhdHJlb246IFxcZjNkOTtcbiRmYS12YXItcGF1c2U6IFxcZjA0YztcbiRmYS12YXItcGF1c2UtY2lyY2xlOiBcXGYyOGI7XG4kZmEtdmFyLXBhdzogXFxmMWIwO1xuJGZhLXZhci1wYXlwYWw6IFxcZjFlZDtcbiRmYS12YXItcGVhY2U6IFxcZjY3YztcbiRmYS12YXItcGVuOiBcXGYzMDQ7XG4kZmEtdmFyLXBlbi1hbHQ6IFxcZjMwNTtcbiRmYS12YXItcGVuLWZhbmN5OiBcXGY1YWM7XG4kZmEtdmFyLXBlbi1uaWI6IFxcZjVhZDtcbiRmYS12YXItcGVuLXNxdWFyZTogXFxmMTRiO1xuJGZhLXZhci1wZW5jaWwtYWx0OiBcXGYzMDM7XG4kZmEtdmFyLXBlbmNpbC1ydWxlcjogXFxmNWFlO1xuJGZhLXZhci1wZW5ueS1hcmNhZGU6IFxcZjcwNDtcbiRmYS12YXItcGVvcGxlLWFycm93czogXFxlMDY4O1xuJGZhLXZhci1wZW9wbGUtY2Fycnk6IFxcZjRjZTtcbiRmYS12YXItcGVwcGVyLWhvdDogXFxmODE2O1xuJGZhLXZhci1wZXJieXRlOiBcXGUwODM7XG4kZmEtdmFyLXBlcmNlbnQ6IFxcZjI5NTtcbiRmYS12YXItcGVyY2VudGFnZTogXFxmNTQxO1xuJGZhLXZhci1wZXJpc2NvcGU6IFxcZjNkYTtcbiRmYS12YXItcGVyc29uLWJvb3RoOiBcXGY3NTY7XG4kZmEtdmFyLXBoYWJyaWNhdG9yOiBcXGYzZGI7XG4kZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrOiBcXGYzZGM7XG4kZmEtdmFyLXBob2VuaXgtc3F1YWRyb246IFxcZjUxMTtcbiRmYS12YXItcGhvbmU6IFxcZjA5NTtcbiRmYS12YXItcGhvbmUtYWx0OiBcXGY4Nzk7XG4kZmEtdmFyLXBob25lLXNsYXNoOiBcXGYzZGQ7XG4kZmEtdmFyLXBob25lLXNxdWFyZTogXFxmMDk4O1xuJGZhLXZhci1waG9uZS1zcXVhcmUtYWx0OiBcXGY4N2I7XG4kZmEtdmFyLXBob25lLXZvbHVtZTogXFxmMmEwO1xuJGZhLXZhci1waG90by12aWRlbzogXFxmODdjO1xuJGZhLXZhci1waHA6IFxcZjQ1NztcbiRmYS12YXItcGllZC1waXBlcjogXFxmMmFlO1xuJGZhLXZhci1waWVkLXBpcGVyLWFsdDogXFxmMWE4O1xuJGZhLXZhci1waWVkLXBpcGVyLWhhdDogXFxmNGU1O1xuJGZhLXZhci1waWVkLXBpcGVyLXBwOiBcXGYxYTc7XG4kZmEtdmFyLXBpZWQtcGlwZXItc3F1YXJlOiBcXGUwMWU7XG4kZmEtdmFyLXBpZ2d5LWJhbms6IFxcZjRkMztcbiRmYS12YXItcGlsbHM6IFxcZjQ4NDtcbiRmYS12YXItcGludGVyZXN0OiBcXGYwZDI7XG4kZmEtdmFyLXBpbnRlcmVzdC1wOiBcXGYyMzE7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFxcZjBkMztcbiRmYS12YXItcGl6emEtc2xpY2U6IFxcZjgxODtcbiRmYS12YXItcGxhY2Utb2Ytd29yc2hpcDogXFxmNjdmO1xuJGZhLXZhci1wbGFuZTogXFxmMDcyO1xuJGZhLXZhci1wbGFuZS1hcnJpdmFsOiBcXGY1YWY7XG4kZmEtdmFyLXBsYW5lLWRlcGFydHVyZTogXFxmNWIwO1xuJGZhLXZhci1wbGFuZS1zbGFzaDogXFxlMDY5O1xuJGZhLXZhci1wbGF5OiBcXGYwNGI7XG4kZmEtdmFyLXBsYXktY2lyY2xlOiBcXGYxNDQ7XG4kZmEtdmFyLXBsYXlzdGF0aW9uOiBcXGYzZGY7XG4kZmEtdmFyLXBsdWc6IFxcZjFlNjtcbiRmYS12YXItcGx1czogXFxmMDY3O1xuJGZhLXZhci1wbHVzLWNpcmNsZTogXFxmMDU1O1xuJGZhLXZhci1wbHVzLXNxdWFyZTogXFxmMGZlO1xuJGZhLXZhci1wb2RjYXN0OiBcXGYyY2U7XG4kZmEtdmFyLXBvbGw6IFxcZjY4MTtcbiRmYS12YXItcG9sbC1oOiBcXGY2ODI7XG4kZmEtdmFyLXBvbzogXFxmMmZlO1xuJGZhLXZhci1wb28tc3Rvcm06IFxcZjc1YTtcbiRmYS12YXItcG9vcDogXFxmNjE5O1xuJGZhLXZhci1wb3J0cmFpdDogXFxmM2UwO1xuJGZhLXZhci1wb3VuZC1zaWduOiBcXGYxNTQ7XG4kZmEtdmFyLXBvd2VyLW9mZjogXFxmMDExO1xuJGZhLXZhci1wcmF5OiBcXGY2ODM7XG4kZmEtdmFyLXByYXlpbmctaGFuZHM6IFxcZjY4NDtcbiRmYS12YXItcHJlc2NyaXB0aW9uOiBcXGY1YjE7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGU6IFxcZjQ4NTtcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6IFxcZjQ4NjtcbiRmYS12YXItcHJpbnQ6IFxcZjAyZjtcbiRmYS12YXItcHJvY2VkdXJlczogXFxmNDg3O1xuJGZhLXZhci1wcm9kdWN0LWh1bnQ6IFxcZjI4ODtcbiRmYS12YXItcHJvamVjdC1kaWFncmFtOiBcXGY1NDI7XG4kZmEtdmFyLXB1bXAtbWVkaWNhbDogXFxlMDZhO1xuJGZhLXZhci1wdW1wLXNvYXA6IFxcZTA2YjtcbiRmYS12YXItcHVzaGVkOiBcXGYzZTE7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXFxmMTJlO1xuJGZhLXZhci1weXRob246IFxcZjNlMjtcbiRmYS12YXItcXE6IFxcZjFkNjtcbiRmYS12YXItcXJjb2RlOiBcXGYwMjk7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcXGYxMjg7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXFxmMDU5O1xuJGZhLXZhci1xdWlkZGl0Y2g6IFxcZjQ1ODtcbiRmYS12YXItcXVpbnNjYXBlOiBcXGY0NTk7XG4kZmEtdmFyLXF1b3JhOiBcXGYyYzQ7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFxcZjEwZDtcbiRmYS12YXItcXVvdGUtcmlnaHQ6IFxcZjEwZTtcbiRmYS12YXItcXVyYW46IFxcZjY4NztcbiRmYS12YXItci1wcm9qZWN0OiBcXGY0Zjc7XG4kZmEtdmFyLXJhZGlhdGlvbjogXFxmN2I5O1xuJGZhLXZhci1yYWRpYXRpb24tYWx0OiBcXGY3YmE7XG4kZmEtdmFyLXJhaW5ib3c6IFxcZjc1YjtcbiRmYS12YXItcmFuZG9tOiBcXGYwNzQ7XG4kZmEtdmFyLXJhc3BiZXJyeS1waTogXFxmN2JiO1xuJGZhLXZhci1yYXZlbHJ5OiBcXGYyZDk7XG4kZmEtdmFyLXJlYWN0OiBcXGY0MWI7XG4kZmEtdmFyLXJlYWN0ZXVyb3BlOiBcXGY3NWQ7XG4kZmEtdmFyLXJlYWRtZTogXFxmNGQ1O1xuJGZhLXZhci1yZWJlbDogXFxmMWQwO1xuJGZhLXZhci1yZWNlaXB0OiBcXGY1NDM7XG4kZmEtdmFyLXJlY29yZC12aW55bDogXFxmOGQ5O1xuJGZhLXZhci1yZWN5Y2xlOiBcXGYxYjg7XG4kZmEtdmFyLXJlZC1yaXZlcjogXFxmM2UzO1xuJGZhLXZhci1yZWRkaXQ6IFxcZjFhMTtcbiRmYS12YXItcmVkZGl0LWFsaWVuOiBcXGYyODE7XG4kZmEtdmFyLXJlZGRpdC1zcXVhcmU6IFxcZjFhMjtcbiRmYS12YXItcmVkaGF0OiBcXGY3YmM7XG4kZmEtdmFyLXJlZG86IFxcZjAxZTtcbiRmYS12YXItcmVkby1hbHQ6IFxcZjJmOTtcbiRmYS12YXItcmVnaXN0ZXJlZDogXFxmMjVkO1xuJGZhLXZhci1yZW1vdmUtZm9ybWF0OiBcXGY4N2Q7XG4kZmEtdmFyLXJlbnJlbjogXFxmMThiO1xuJGZhLXZhci1yZXBseTogXFxmM2U1O1xuJGZhLXZhci1yZXBseS1hbGw6IFxcZjEyMjtcbiRmYS12YXItcmVwbHlkOiBcXGYzZTY7XG4kZmEtdmFyLXJlcHVibGljYW46IFxcZjc1ZTtcbiRmYS12YXItcmVzZWFyY2hnYXRlOiBcXGY0Zjg7XG4kZmEtdmFyLXJlc29sdmluZzogXFxmM2U3O1xuJGZhLXZhci1yZXN0cm9vbTogXFxmN2JkO1xuJGZhLXZhci1yZXR3ZWV0OiBcXGYwNzk7XG4kZmEtdmFyLXJldjogXFxmNWIyO1xuJGZhLXZhci1yaWJib246IFxcZjRkNjtcbiRmYS12YXItcmluZzogXFxmNzBiO1xuJGZhLXZhci1yb2FkOiBcXGYwMTg7XG4kZmEtdmFyLXJvYm90OiBcXGY1NDQ7XG4kZmEtdmFyLXJvY2tldDogXFxmMTM1O1xuJGZhLXZhci1yb2NrZXRjaGF0OiBcXGYzZTg7XG4kZmEtdmFyLXJvY2tybXM6IFxcZjNlOTtcbiRmYS12YXItcm91dGU6IFxcZjRkNztcbiRmYS12YXItcnNzOiBcXGYwOWU7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFxcZjE0MztcbiRmYS12YXItcnVibGUtc2lnbjogXFxmMTU4O1xuJGZhLXZhci1ydWxlcjogXFxmNTQ1O1xuJGZhLXZhci1ydWxlci1jb21iaW5lZDogXFxmNTQ2O1xuJGZhLXZhci1ydWxlci1ob3Jpem9udGFsOiBcXGY1NDc7XG4kZmEtdmFyLXJ1bGVyLXZlcnRpY2FsOiBcXGY1NDg7XG4kZmEtdmFyLXJ1bm5pbmc6IFxcZjcwYztcbiRmYS12YXItcnVwZWUtc2lnbjogXFxmMTU2O1xuJGZhLXZhci1ydXN0OiBcXGUwN2E7XG4kZmEtdmFyLXNhZC1jcnk6IFxcZjViMztcbiRmYS12YXItc2FkLXRlYXI6IFxcZjViNDtcbiRmYS12YXItc2FmYXJpOiBcXGYyNjc7XG4kZmEtdmFyLXNhbGVzZm9yY2U6IFxcZjgzYjtcbiRmYS12YXItc2FzczogXFxmNDFlO1xuJGZhLXZhci1zYXRlbGxpdGU6IFxcZjdiZjtcbiRmYS12YXItc2F0ZWxsaXRlLWRpc2g6IFxcZjdjMDtcbiRmYS12YXItc2F2ZTogXFxmMGM3O1xuJGZhLXZhci1zY2hsaXg6IFxcZjNlYTtcbiRmYS12YXItc2Nob29sOiBcXGY1NDk7XG4kZmEtdmFyLXNjcmV3ZHJpdmVyOiBcXGY1NGE7XG4kZmEtdmFyLXNjcmliZDogXFxmMjhhO1xuJGZhLXZhci1zY3JvbGw6IFxcZjcwZTtcbiRmYS12YXItc2QtY2FyZDogXFxmN2MyO1xuJGZhLXZhci1zZWFyY2g6IFxcZjAwMjtcbiRmYS12YXItc2VhcmNoLWRvbGxhcjogXFxmNjg4O1xuJGZhLXZhci1zZWFyY2gtbG9jYXRpb246IFxcZjY4OTtcbiRmYS12YXItc2VhcmNoLW1pbnVzOiBcXGYwMTA7XG4kZmEtdmFyLXNlYXJjaC1wbHVzOiBcXGYwMGU7XG4kZmEtdmFyLXNlYXJjaGVuZ2luOiBcXGYzZWI7XG4kZmEtdmFyLXNlZWRsaW5nOiBcXGY0ZDg7XG4kZmEtdmFyLXNlbGxjYXN0OiBcXGYyZGE7XG4kZmEtdmFyLXNlbGxzeTogXFxmMjEzO1xuJGZhLXZhci1zZXJ2ZXI6IFxcZjIzMztcbiRmYS12YXItc2VydmljZXN0YWNrOiBcXGYzZWM7XG4kZmEtdmFyLXNoYXBlczogXFxmNjFmO1xuJGZhLXZhci1zaGFyZTogXFxmMDY0O1xuJGZhLXZhci1zaGFyZS1hbHQ6IFxcZjFlMDtcbiRmYS12YXItc2hhcmUtYWx0LXNxdWFyZTogXFxmMWUxO1xuJGZhLXZhci1zaGFyZS1zcXVhcmU6IFxcZjE0ZDtcbiRmYS12YXItc2hla2VsLXNpZ246IFxcZjIwYjtcbiRmYS12YXItc2hpZWxkLWFsdDogXFxmM2VkO1xuJGZhLXZhci1zaGllbGQtdmlydXM6IFxcZTA2YztcbiRmYS12YXItc2hpcDogXFxmMjFhO1xuJGZhLXZhci1zaGlwcGluZy1mYXN0OiBcXGY0OGI7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXFxmMjE0O1xuJGZhLXZhci1zaG9lLXByaW50czogXFxmNTRiO1xuJGZhLXZhci1zaG9waWZ5OiBcXGUwNTc7XG4kZmEtdmFyLXNob3BwaW5nLWJhZzogXFxmMjkwO1xuJGZhLXZhci1zaG9wcGluZy1iYXNrZXQ6IFxcZjI5MTtcbiRmYS12YXItc2hvcHBpbmctY2FydDogXFxmMDdhO1xuJGZhLXZhci1zaG9wd2FyZTogXFxmNWI1O1xuJGZhLXZhci1zaG93ZXI6IFxcZjJjYztcbiRmYS12YXItc2h1dHRsZS12YW46IFxcZjViNjtcbiRmYS12YXItc2lnbjogXFxmNGQ5O1xuJGZhLXZhci1zaWduLWluLWFsdDogXFxmMmY2O1xuJGZhLXZhci1zaWduLWxhbmd1YWdlOiBcXGYyYTc7XG4kZmEtdmFyLXNpZ24tb3V0LWFsdDogXFxmMmY1O1xuJGZhLXZhci1zaWduYWw6IFxcZjAxMjtcbiRmYS12YXItc2lnbmF0dXJlOiBcXGY1Yjc7XG4kZmEtdmFyLXNpbS1jYXJkOiBcXGY3YzQ7XG4kZmEtdmFyLXNpbXBseWJ1aWx0OiBcXGYyMTU7XG4kZmEtdmFyLXNpbms6IFxcZTA2ZDtcbiRmYS12YXItc2lzdHJpeDogXFxmM2VlO1xuJGZhLXZhci1zaXRlbWFwOiBcXGYwZTg7XG4kZmEtdmFyLXNpdGg6IFxcZjUxMjtcbiRmYS12YXItc2thdGluZzogXFxmN2M1O1xuJGZhLXZhci1za2V0Y2g6IFxcZjdjNjtcbiRmYS12YXItc2tpaW5nOiBcXGY3Yzk7XG4kZmEtdmFyLXNraWluZy1ub3JkaWM6IFxcZjdjYTtcbiRmYS12YXItc2t1bGw6IFxcZjU0YztcbiRmYS12YXItc2t1bGwtY3Jvc3Nib25lczogXFxmNzE0O1xuJGZhLXZhci1za3lhdGxhczogXFxmMjE2O1xuJGZhLXZhci1za3lwZTogXFxmMTdlO1xuJGZhLXZhci1zbGFjazogXFxmMTk4O1xuJGZhLXZhci1zbGFjay1oYXNoOiBcXGYzZWY7XG4kZmEtdmFyLXNsYXNoOiBcXGY3MTU7XG4kZmEtdmFyLXNsZWlnaDogXFxmN2NjO1xuJGZhLXZhci1zbGlkZXJzLWg6IFxcZjFkZTtcbiRmYS12YXItc2xpZGVzaGFyZTogXFxmMWU3O1xuJGZhLXZhci1zbWlsZTogXFxmMTE4O1xuJGZhLXZhci1zbWlsZS1iZWFtOiBcXGY1Yjg7XG4kZmEtdmFyLXNtaWxlLXdpbms6IFxcZjRkYTtcbiRmYS12YXItc21vZzogXFxmNzVmO1xuJGZhLXZhci1zbW9raW5nOiBcXGY0OGQ7XG4kZmEtdmFyLXNtb2tpbmctYmFuOiBcXGY1NGQ7XG4kZmEtdmFyLXNtczogXFxmN2NkO1xuJGZhLXZhci1zbmFwY2hhdDogXFxmMmFiO1xuJGZhLXZhci1zbmFwY2hhdC1naG9zdDogXFxmMmFjO1xuJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU6IFxcZjJhZDtcbiRmYS12YXItc25vd2JvYXJkaW5nOiBcXGY3Y2U7XG4kZmEtdmFyLXNub3dmbGFrZTogXFxmMmRjO1xuJGZhLXZhci1zbm93bWFuOiBcXGY3ZDA7XG4kZmEtdmFyLXNub3dwbG93OiBcXGY3ZDI7XG4kZmEtdmFyLXNvYXA6IFxcZTA2ZTtcbiRmYS12YXItc29ja3M6IFxcZjY5NjtcbiRmYS12YXItc29sYXItcGFuZWw6IFxcZjViYTtcbiRmYS12YXItc29ydDogXFxmMGRjO1xuJGZhLXZhci1zb3J0LWFscGhhLWRvd246IFxcZjE1ZDtcbiRmYS12YXItc29ydC1hbHBoYS1kb3duLWFsdDogXFxmODgxO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwOiBcXGYxNWU7XG4kZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0OiBcXGY4ODI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd246IFxcZjE2MDtcbiRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQ6IFxcZjg4NDtcbiRmYS12YXItc29ydC1hbW91bnQtdXA6IFxcZjE2MTtcbiRmYS12YXItc29ydC1hbW91bnQtdXAtYWx0OiBcXGY4ODU7XG4kZmEtdmFyLXNvcnQtZG93bjogXFxmMGRkO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bjogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQ6IFxcZjg4NjtcbiRmYS12YXItc29ydC1udW1lcmljLXVwOiBcXGYxNjM7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cC1hbHQ6IFxcZjg4NztcbiRmYS12YXItc29ydC11cDogXFxmMGRlO1xuJGZhLXZhci1zb3VuZGNsb3VkOiBcXGYxYmU7XG4kZmEtdmFyLXNvdXJjZXRyZWU6IFxcZjdkMztcbiRmYS12YXItc3BhOiBcXGY1YmI7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFxcZjE5NztcbiRmYS12YXItc3BlYWthcDogXFxmM2YzO1xuJGZhLXZhci1zcGVha2VyLWRlY2s6IFxcZjgzYztcbiRmYS12YXItc3BlbGwtY2hlY2s6IFxcZjg5MTtcbiRmYS12YXItc3BpZGVyOiBcXGY3MTc7XG4kZmEtdmFyLXNwaW5uZXI6IFxcZjExMDtcbiRmYS12YXItc3Bsb3RjaDogXFxmNWJjO1xuJGZhLXZhci1zcG90aWZ5OiBcXGYxYmM7XG4kZmEtdmFyLXNwcmF5LWNhbjogXFxmNWJkO1xuJGZhLXZhci1zcXVhcmU6IFxcZjBjODtcbiRmYS12YXItc3F1YXJlLWZ1bGw6IFxcZjQ1YztcbiRmYS12YXItc3F1YXJlLXJvb3QtYWx0OiBcXGY2OTg7XG4kZmEtdmFyLXNxdWFyZXNwYWNlOiBcXGY1YmU7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcXGYxOGQ7XG4kZmEtdmFyLXN0YWNrLW92ZXJmbG93OiBcXGYxNmM7XG4kZmEtdmFyLXN0YWNrcGF0aDogXFxmODQyO1xuJGZhLXZhci1zdGFtcDogXFxmNWJmO1xuJGZhLXZhci1zdGFyOiBcXGYwMDU7XG4kZmEtdmFyLXN0YXItYW5kLWNyZXNjZW50OiBcXGY2OTk7XG4kZmEtdmFyLXN0YXItaGFsZjogXFxmMDg5O1xuJGZhLXZhci1zdGFyLWhhbGYtYWx0OiBcXGY1YzA7XG4kZmEtdmFyLXN0YXItb2YtZGF2aWQ6IFxcZjY5YTtcbiRmYS12YXItc3Rhci1vZi1saWZlOiBcXGY2MjE7XG4kZmEtdmFyLXN0YXlsaW5rZWQ6IFxcZjNmNTtcbiRmYS12YXItc3RlYW06IFxcZjFiNjtcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcXGYxYjc7XG4kZmEtdmFyLXN0ZWFtLXN5bWJvbDogXFxmM2Y2O1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcXGYwNDg7XG4kZmEtdmFyLXN0ZXAtZm9yd2FyZDogXFxmMDUxO1xuJGZhLXZhci1zdGV0aG9zY29wZTogXFxmMGYxO1xuJGZhLXZhci1zdGlja2VyLW11bGU6IFxcZjNmNztcbiRmYS12YXItc3RpY2t5LW5vdGU6IFxcZjI0OTtcbiRmYS12YXItc3RvcDogXFxmMDRkO1xuJGZhLXZhci1zdG9wLWNpcmNsZTogXFxmMjhkO1xuJGZhLXZhci1zdG9wd2F0Y2g6IFxcZjJmMjtcbiRmYS12YXItc3RvcHdhdGNoLTIwOiBcXGUwNmY7XG4kZmEtdmFyLXN0b3JlOiBcXGY1NGU7XG4kZmEtdmFyLXN0b3JlLWFsdDogXFxmNTRmO1xuJGZhLXZhci1zdG9yZS1hbHQtc2xhc2g6IFxcZTA3MDtcbiRmYS12YXItc3RvcmUtc2xhc2g6IFxcZTA3MTtcbiRmYS12YXItc3RyYXZhOiBcXGY0Mjg7XG4kZmEtdmFyLXN0cmVhbTogXFxmNTUwO1xuJGZhLXZhci1zdHJlZXQtdmlldzogXFxmMjFkO1xuJGZhLXZhci1zdHJpa2V0aHJvdWdoOiBcXGYwY2M7XG4kZmEtdmFyLXN0cmlwZTogXFxmNDI5O1xuJGZhLXZhci1zdHJpcGUtczogXFxmNDJhO1xuJGZhLXZhci1zdHJvb3B3YWZlbDogXFxmNTUxO1xuJGZhLXZhci1zdHVkaW92aW5hcmk6IFxcZjNmODtcbiRmYS12YXItc3R1bWJsZXVwb246IFxcZjFhNDtcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcXGYxYTM7XG4kZmEtdmFyLXN1YnNjcmlwdDogXFxmMTJjO1xuJGZhLXZhci1zdWJ3YXk6IFxcZjIzOTtcbiRmYS12YXItc3VpdGNhc2U6IFxcZjBmMjtcbiRmYS12YXItc3VpdGNhc2Utcm9sbGluZzogXFxmNWMxO1xuJGZhLXZhci1zdW46IFxcZjE4NTtcbiRmYS12YXItc3VwZXJwb3dlcnM6IFxcZjJkZDtcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFxcZjEyYjtcbiRmYS12YXItc3VwcGxlOiBcXGYzZjk7XG4kZmEtdmFyLXN1cnByaXNlOiBcXGY1YzI7XG4kZmEtdmFyLXN1c2U6IFxcZjdkNjtcbiRmYS12YXItc3dhdGNoYm9vazogXFxmNWMzO1xuJGZhLXZhci1zd2lmdDogXFxmOGUxO1xuJGZhLXZhci1zd2ltbWVyOiBcXGY1YzQ7XG4kZmEtdmFyLXN3aW1taW5nLXBvb2w6IFxcZjVjNTtcbiRmYS12YXItc3ltZm9ueTogXFxmODNkO1xuJGZhLXZhci1zeW5hZ29ndWU6IFxcZjY5YjtcbiRmYS12YXItc3luYzogXFxmMDIxO1xuJGZhLXZhci1zeW5jLWFsdDogXFxmMmYxO1xuJGZhLXZhci1zeXJpbmdlOiBcXGY0OGU7XG4kZmEtdmFyLXRhYmxlOiBcXGYwY2U7XG4kZmEtdmFyLXRhYmxlLXRlbm5pczogXFxmNDVkO1xuJGZhLXZhci10YWJsZXQ6IFxcZjEwYTtcbiRmYS12YXItdGFibGV0LWFsdDogXFxmM2ZhO1xuJGZhLXZhci10YWJsZXRzOiBcXGY0OTA7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0OiBcXGYzZmQ7XG4kZmEtdmFyLXRhZzogXFxmMDJiO1xuJGZhLXZhci10YWdzOiBcXGYwMmM7XG4kZmEtdmFyLXRhcGU6IFxcZjRkYjtcbiRmYS12YXItdGFza3M6IFxcZjBhZTtcbiRmYS12YXItdGF4aTogXFxmMWJhO1xuJGZhLXZhci10ZWFtc3BlYWs6IFxcZjRmOTtcbiRmYS12YXItdGVldGg6IFxcZjYyZTtcbiRmYS12YXItdGVldGgtb3BlbjogXFxmNjJmO1xuJGZhLXZhci10ZWxlZ3JhbTogXFxmMmM2O1xuJGZhLXZhci10ZWxlZ3JhbS1wbGFuZTogXFxmM2ZlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoOiBcXGY3Njk7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWxvdzogXFxmNzZiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcXGYxZDU7XG4kZmEtdmFyLXRlbmdlOiBcXGY3ZDc7XG4kZmEtdmFyLXRlcm1pbmFsOiBcXGYxMjA7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcXGYwMzQ7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFxcZjAzNTtcbiRmYS12YXItdGg6IFxcZjAwYTtcbiRmYS12YXItdGgtbGFyZ2U6IFxcZjAwOTtcbiRmYS12YXItdGgtbGlzdDogXFxmMDBiO1xuJGZhLXZhci10aGUtcmVkLXlldGk6IFxcZjY5ZDtcbiRmYS12YXItdGhlYXRlci1tYXNrczogXFxmNjMwO1xuJGZhLXZhci10aGVtZWNvOiBcXGY1YzY7XG4kZmEtdmFyLXRoZW1laXNsZTogXFxmMmIyO1xuJGZhLXZhci10aGVybW9tZXRlcjogXFxmNDkxO1xuJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTogXFxmMmNiO1xuJGZhLXZhci10aGVybW9tZXRlci1mdWxsOiBcXGYyYzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFxcZjJjOTtcbiRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcjogXFxmMmNhO1xuJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczogXFxmMmM4O1xuJGZhLXZhci10aGluay1wZWFrczogXFxmNzMxO1xuJGZhLXZhci10aHVtYnMtZG93bjogXFxmMTY1O1xuJGZhLXZhci10aHVtYnMtdXA6IFxcZjE2NDtcbiRmYS12YXItdGh1bWJ0YWNrOiBcXGYwOGQ7XG4kZmEtdmFyLXRpY2tldC1hbHQ6IFxcZjNmZjtcbiRmYS12YXItdGlrdG9rOiBcXGUwN2I7XG4kZmEtdmFyLXRpbWVzOiBcXGYwMGQ7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZTogXFxmMDU3O1xuJGZhLXZhci10aW50OiBcXGYwNDM7XG4kZmEtdmFyLXRpbnQtc2xhc2g6IFxcZjVjNztcbiRmYS12YXItdGlyZWQ6IFxcZjVjODtcbiRmYS12YXItdG9nZ2xlLW9mZjogXFxmMjA0O1xuJGZhLXZhci10b2dnbGUtb246IFxcZjIwNTtcbiRmYS12YXItdG9pbGV0OiBcXGY3ZDg7XG4kZmEtdmFyLXRvaWxldC1wYXBlcjogXFxmNzFlO1xuJGZhLXZhci10b2lsZXQtcGFwZXItc2xhc2g6IFxcZTA3MjtcbiRmYS12YXItdG9vbGJveDogXFxmNTUyO1xuJGZhLXZhci10b29sczogXFxmN2Q5O1xuJGZhLXZhci10b290aDogXFxmNWM5O1xuJGZhLXZhci10b3JhaDogXFxmNmEwO1xuJGZhLXZhci10b3JpaS1nYXRlOiBcXGY2YTE7XG4kZmEtdmFyLXRyYWN0b3I6IFxcZjcyMjtcbiRmYS12YXItdHJhZGUtZmVkZXJhdGlvbjogXFxmNTEzO1xuJGZhLXZhci10cmFkZW1hcms6IFxcZjI1YztcbiRmYS12YXItdHJhZmZpYy1saWdodDogXFxmNjM3O1xuJGZhLXZhci10cmFpbGVyOiBcXGUwNDE7XG4kZmEtdmFyLXRyYWluOiBcXGYyMzg7XG4kZmEtdmFyLXRyYW06IFxcZjdkYTtcbiRmYS12YXItdHJhbnNnZW5kZXI6IFxcZjIyNDtcbiRmYS12YXItdHJhbnNnZW5kZXItYWx0OiBcXGYyMjU7XG4kZmEtdmFyLXRyYXNoOiBcXGYxZjg7XG4kZmEtdmFyLXRyYXNoLWFsdDogXFxmMmVkO1xuJGZhLXZhci10cmFzaC1yZXN0b3JlOiBcXGY4Mjk7XG4kZmEtdmFyLXRyYXNoLXJlc3RvcmUtYWx0OiBcXGY4MmE7XG4kZmEtdmFyLXRyZWU6IFxcZjFiYjtcbiRmYS12YXItdHJlbGxvOiBcXGYxODE7XG4kZmEtdmFyLXRyaXBhZHZpc29yOiBcXGYyNjI7XG4kZmEtdmFyLXRyb3BoeTogXFxmMDkxO1xuJGZhLXZhci10cnVjazogXFxmMGQxO1xuJGZhLXZhci10cnVjay1sb2FkaW5nOiBcXGY0ZGU7XG4kZmEtdmFyLXRydWNrLW1vbnN0ZXI6IFxcZjYzYjtcbiRmYS12YXItdHJ1Y2stbW92aW5nOiBcXGY0ZGY7XG4kZmEtdmFyLXRydWNrLXBpY2t1cDogXFxmNjNjO1xuJGZhLXZhci10c2hpcnQ6IFxcZjU1MztcbiRmYS12YXItdHR5OiBcXGYxZTQ7XG4kZmEtdmFyLXR1bWJscjogXFxmMTczO1xuJGZhLXZhci10dW1ibHItc3F1YXJlOiBcXGYxNzQ7XG4kZmEtdmFyLXR2OiBcXGYyNmM7XG4kZmEtdmFyLXR3aXRjaDogXFxmMWU4O1xuJGZhLXZhci10d2l0dGVyOiBcXGYwOTk7XG4kZmEtdmFyLXR3aXR0ZXItc3F1YXJlOiBcXGYwODE7XG4kZmEtdmFyLXR5cG8zOiBcXGY0MmI7XG4kZmEtdmFyLXViZXI6IFxcZjQwMjtcbiRmYS12YXItdWJ1bnR1OiBcXGY3ZGY7XG4kZmEtdmFyLXVpa2l0OiBcXGY0MDM7XG4kZmEtdmFyLXVtYnJhY286IFxcZjhlODtcbiRmYS12YXItdW1icmVsbGE6IFxcZjBlOTtcbiRmYS12YXItdW1icmVsbGEtYmVhY2g6IFxcZjVjYTtcbiRmYS12YXItdW5jaGFydGVkOiBcXGUwODQ7XG4kZmEtdmFyLXVuZGVybGluZTogXFxmMGNkO1xuJGZhLXZhci11bmRvOiBcXGYwZTI7XG4kZmEtdmFyLXVuZG8tYWx0OiBcXGYyZWE7XG4kZmEtdmFyLXVuaXJlZ2lzdHJ5OiBcXGY0MDQ7XG4kZmEtdmFyLXVuaXR5OiBcXGUwNDk7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFxcZjI5YTtcbiRmYS12YXItdW5pdmVyc2l0eTogXFxmMTljO1xuJGZhLXZhci11bmxpbms6IFxcZjEyNztcbiRmYS12YXItdW5sb2NrOiBcXGYwOWM7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFxcZjEzZTtcbiRmYS12YXItdW5zcGxhc2g6IFxcZTA3YztcbiRmYS12YXItdW50YXBwZDogXFxmNDA1O1xuJGZhLXZhci11cGxvYWQ6IFxcZjA5MztcbiRmYS12YXItdXBzOiBcXGY3ZTA7XG4kZmEtdmFyLXVzYjogXFxmMjg3O1xuJGZhLXZhci11c2VyOiBcXGYwMDc7XG4kZmEtdmFyLXVzZXItYWx0OiBcXGY0MDY7XG4kZmEtdmFyLXVzZXItYWx0LXNsYXNoOiBcXGY0ZmE7XG4kZmEtdmFyLXVzZXItYXN0cm9uYXV0OiBcXGY0ZmI7XG4kZmEtdmFyLXVzZXItY2hlY2s6IFxcZjRmYztcbiRmYS12YXItdXNlci1jaXJjbGU6IFxcZjJiZDtcbiRmYS12YXItdXNlci1jbG9jazogXFxmNGZkO1xuJGZhLXZhci11c2VyLWNvZzogXFxmNGZlO1xuJGZhLXZhci11c2VyLWVkaXQ6IFxcZjRmZjtcbiRmYS12YXItdXNlci1mcmllbmRzOiBcXGY1MDA7XG4kZmEtdmFyLXVzZXItZ3JhZHVhdGU6IFxcZjUwMTtcbiRmYS12YXItdXNlci1pbmp1cmVkOiBcXGY3Mjg7XG4kZmEtdmFyLXVzZXItbG9jazogXFxmNTAyO1xuJGZhLXZhci11c2VyLW1kOiBcXGYwZjA7XG4kZmEtdmFyLXVzZXItbWludXM6IFxcZjUwMztcbiRmYS12YXItdXNlci1uaW5qYTogXFxmNTA0O1xuJGZhLXZhci11c2VyLW51cnNlOiBcXGY4MmY7XG4kZmEtdmFyLXVzZXItcGx1czogXFxmMjM0O1xuJGZhLXZhci11c2VyLXNlY3JldDogXFxmMjFiO1xuJGZhLXZhci11c2VyLXNoaWVsZDogXFxmNTA1O1xuJGZhLXZhci11c2VyLXNsYXNoOiBcXGY1MDY7XG4kZmEtdmFyLXVzZXItdGFnOiBcXGY1MDc7XG4kZmEtdmFyLXVzZXItdGllOiBcXGY1MDg7XG4kZmEtdmFyLXVzZXItdGltZXM6IFxcZjIzNTtcbiRmYS12YXItdXNlcnM6IFxcZjBjMDtcbiRmYS12YXItdXNlcnMtY29nOiBcXGY1MDk7XG4kZmEtdmFyLXVzZXJzLXNsYXNoOiBcXGUwNzM7XG4kZmEtdmFyLXVzcHM6IFxcZjdlMTtcbiRmYS12YXItdXNzdW5uYWg6IFxcZjQwNztcbiRmYS12YXItdXRlbnNpbC1zcG9vbjogXFxmMmU1O1xuJGZhLXZhci11dGVuc2lsczogXFxmMmU3O1xuJGZhLXZhci12YWFkaW46IFxcZjQwODtcbiRmYS12YXItdmVjdG9yLXNxdWFyZTogXFxmNWNiO1xuJGZhLXZhci12ZW51czogXFxmMjIxO1xuJGZhLXZhci12ZW51cy1kb3VibGU6IFxcZjIyNjtcbiRmYS12YXItdmVudXMtbWFyczogXFxmMjI4O1xuJGZhLXZhci12ZXN0OiBcXGUwODU7XG4kZmEtdmFyLXZlc3QtcGF0Y2hlczogXFxlMDg2O1xuJGZhLXZhci12aWFjb2luOiBcXGYyMzc7XG4kZmEtdmFyLXZpYWRlbzogXFxmMmE5O1xuJGZhLXZhci12aWFkZW8tc3F1YXJlOiBcXGYyYWE7XG4kZmEtdmFyLXZpYWw6IFxcZjQ5MjtcbiRmYS12YXItdmlhbHM6IFxcZjQ5MztcbiRmYS12YXItdmliZXI6IFxcZjQwOTtcbiRmYS12YXItdmlkZW86IFxcZjAzZDtcbiRmYS12YXItdmlkZW8tc2xhc2g6IFxcZjRlMjtcbiRmYS12YXItdmloYXJhOiBcXGY2YTc7XG4kZmEtdmFyLXZpbWVvOiBcXGY0MGE7XG4kZmEtdmFyLXZpbWVvLXNxdWFyZTogXFxmMTk0O1xuJGZhLXZhci12aW1lby12OiBcXGYyN2Q7XG4kZmEtdmFyLXZpbmU6IFxcZjFjYTtcbiRmYS12YXItdmlydXM6IFxcZTA3NDtcbiRmYS12YXItdmlydXMtc2xhc2g6IFxcZTA3NTtcbiRmYS12YXItdmlydXNlczogXFxlMDc2O1xuJGZhLXZhci12azogXFxmMTg5O1xuJGZhLXZhci12bnY6IFxcZjQwYjtcbiRmYS12YXItdm9pY2VtYWlsOiBcXGY4OTc7XG4kZmEtdmFyLXZvbGxleWJhbGwtYmFsbDogXFxmNDVmO1xuJGZhLXZhci12b2x1bWUtZG93bjogXFxmMDI3O1xuJGZhLXZhci12b2x1bWUtbXV0ZTogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcXGYwMjY7XG4kZmEtdmFyLXZvbHVtZS11cDogXFxmMDI4O1xuJGZhLXZhci12b3RlLXllYTogXFxmNzcyO1xuJGZhLXZhci12ci1jYXJkYm9hcmQ6IFxcZjcyOTtcbiRmYS12YXItdnVlanM6IFxcZjQxZjtcbiRmYS12YXItd2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci13YWxsZXQ6IFxcZjU1NTtcbiRmYS12YXItd2FyZWhvdXNlOiBcXGY0OTQ7XG4kZmEtdmFyLXdhdGNobWFuLW1vbml0b3Jpbmc6IFxcZTA4NztcbiRmYS12YXItd2F0ZXI6IFxcZjc3MztcbiRmYS12YXItd2F2ZS1zcXVhcmU6IFxcZjgzZTtcbiRmYS12YXItd2F6ZTogXFxmODNmO1xuJGZhLXZhci13ZWVibHk6IFxcZjVjYztcbiRmYS12YXItd2VpYm86IFxcZjE4YTtcbiRmYS12YXItd2VpZ2h0OiBcXGY0OTY7XG4kZmEtdmFyLXdlaWdodC1oYW5naW5nOiBcXGY1Y2Q7XG4kZmEtdmFyLXdlaXhpbjogXFxmMWQ3O1xuJGZhLXZhci13aGF0c2FwcDogXFxmMjMyO1xuJGZhLXZhci13aGF0c2FwcC1zcXVhcmU6IFxcZjQwYztcbiRmYS12YXItd2hlZWxjaGFpcjogXFxmMTkzO1xuJGZhLXZhci13aG1jczogXFxmNDBkO1xuJGZhLXZhci13aWZpOiBcXGYxZWI7XG4kZmEtdmFyLXdpa2lwZWRpYS13OiBcXGYyNjY7XG4kZmEtdmFyLXdpbmQ6IFxcZjcyZTtcbiRmYS12YXItd2luZG93LWNsb3NlOiBcXGY0MTA7XG4kZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTogXFxmMmQwO1xuJGZhLXZhci13aW5kb3ctbWluaW1pemU6IFxcZjJkMTtcbiRmYS12YXItd2luZG93LXJlc3RvcmU6IFxcZjJkMjtcbiRmYS12YXItd2luZG93czogXFxmMTdhO1xuJGZhLXZhci13aW5lLWJvdHRsZTogXFxmNzJmO1xuJGZhLXZhci13aW5lLWdsYXNzOiBcXGY0ZTM7XG4kZmEtdmFyLXdpbmUtZ2xhc3MtYWx0OiBcXGY1Y2U7XG4kZmEtdmFyLXdpeDogXFxmNWNmO1xuJGZhLXZhci13aXphcmRzLW9mLXRoZS1jb2FzdDogXFxmNzMwO1xuJGZhLXZhci13b2R1OiBcXGUwODg7XG4kZmEtdmFyLXdvbGYtcGFjay1iYXR0YWxpb246IFxcZjUxNDtcbiRmYS12YXItd29uLXNpZ246IFxcZjE1OTtcbiRmYS12YXItd29yZHByZXNzOiBcXGYxOWE7XG4kZmEtdmFyLXdvcmRwcmVzcy1zaW1wbGU6IFxcZjQxMTtcbiRmYS12YXItd3BiZWdpbm5lcjogXFxmMjk3O1xuJGZhLXZhci13cGV4cGxvcmVyOiBcXGYyZGU7XG4kZmEtdmFyLXdwZm9ybXM6IFxcZjI5ODtcbiRmYS12YXItd3ByZXNzcjogXFxmM2U0O1xuJGZhLXZhci13cmVuY2g6IFxcZjBhZDtcbiRmYS12YXIteC1yYXk6IFxcZjQ5NztcbiRmYS12YXIteGJveDogXFxmNDEyO1xuJGZhLXZhci14aW5nOiBcXGYxNjg7XG4kZmEtdmFyLXhpbmctc3F1YXJlOiBcXGYxNjk7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXFxmMjNiO1xuJGZhLXZhci15YWhvbzogXFxmMTllO1xuJGZhLXZhci15YW1tZXI6IFxcZjg0MDtcbiRmYS12YXIteWFuZGV4OiBcXGY0MTM7XG4kZmEtdmFyLXlhbmRleC1pbnRlcm5hdGlvbmFsOiBcXGY0MTQ7XG4kZmEtdmFyLXlhcm46IFxcZjdlMztcbiRmYS12YXIteWVscDogXFxmMWU5O1xuJGZhLXZhci15ZW4tc2lnbjogXFxmMTU3O1xuJGZhLXZhci15aW4teWFuZzogXFxmNmFkO1xuJGZhLXZhci15b2FzdDogXFxmMmIxO1xuJGZhLXZhci15b3V0dWJlOiBcXGYxNjc7XG4kZmEtdmFyLXlvdXR1YmUtc3F1YXJlOiBcXGY0MzE7XG4kZmEtdmFyLXpoaWh1OiBcXGY2M2Y7XG4iLCIvLyBMaXN0IEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS11bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6ICRmYS1saS13aWR0aCAqIDUvNDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gID4gbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpIHtcbiAgbGVmdDogLSRmYS1saS13aWR0aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAkZmEtbGktd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuIiwiLy8gQm9yZGVyZWQgJiBQdWxsZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIGJvcmRlcjogc29saWQgLjA4ZW0gJGZhLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbiAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0sXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFiIHtcbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBtYXJnaW4tcmlnaHQ6IC4zZW07IH1cbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IC4zZW07IH1cbn1cbiIsIi8vIEFuaW1hdGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3BpbiB7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxzZSB7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbn1cblxuQGtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuIiwiLy8gUm90YXRlZCAmIEZsaXBwZWQgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS05MCAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSg5MGRlZywgMSk7ICB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDE4MGRlZywgMik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoMjcwZGVnLCAzKTsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsIHsgQGluY2x1ZGUgZmEtaWNvbi1mbGlwKC0xLCAxLCAwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgICB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgxLCAtMSwgMik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgsIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWhvcml6b250YWwuI3skZmEtY3NzLXByZWZpeH0tZmxpcC12ZXJ0aWNhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgLTEsIDIpOyB9XG5cbi8vIEhvb2sgZm9yIElFOC05XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjpyb290IHtcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS05MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLFxuICAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC12ZXJ0aWNhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtYm90aCB7XG4gICAgZmlsdGVyOiBub25lO1xuICB9XG59XG4iLCIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmYS1pY29uIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5cbkBtaXhpbiBmYS1pY29uLWZsaXAoJGhvcml6LCAkdmVydCwgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259LCBtaXJyb3I9MSlcIjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVycy4gQSBsYSBCb290c3RyYXAgNC5cbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuQG1peGluIHNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiIsIi8vIFN0YWNrZWQgSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogKCRmYS1mdy13aWR0aCoyKTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4LFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTJ4IHtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXgge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnZlcnNlIHtcbiAgY29sb3I6ICRmYS1pbnZlcnNlO1xufVxuIiwiLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG5yZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuXG4uI3skZmEtY3NzLXByZWZpeH0tNTAwcHg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLTUwMHB4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFjY2Vzc2libGUtaWNvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNjZXNzaWJsZS1pY29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFjY3Vzb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY2N1c29mdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkZHJlc3MtYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkZHJlc3MtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGp1c3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkanVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZHZlcnNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWR2ZXJzYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWZmaWxpYXRldGhlbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFmZmlsaWF0ZXRoZW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpci1mcmVzaGVuZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFpci1mcmVzaGVuZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWlyYm5iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1haXJibmIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxnb2xpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxnb2xpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWNlbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1qdXN0aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsbGVyZ2llczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxsZXJnaWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYXpvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1hem9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYXpvbi1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYXpvbi1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1idWxhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWJ1bGFuY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtaWxpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1pbGlhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5jaG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZHJvaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nZWxsaXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdlbGxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWRvdWJsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5ncnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ncnljcmVhdGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5ncnljcmVhdGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmd1bGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmd1bGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFua2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFua2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwLXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHAtc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwLXN0b3JlLWlvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwLXN0b3JlLWlvcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwbGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwbGUtcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJjaHdheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJjaHdheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdC1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93cy1hbHQtdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdC12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFydHN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFydHN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXN0ZXJpc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzdGVyaXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzeW1tZXRyaWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzeW1tZXRyaWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0bGFzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdGxhcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdGxhc3NpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0bGFzc2lhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF1ZGlibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1dG9wcmVmaXhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXV0b3ByZWZpeGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF2aWFuZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF2aWFuZXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXZpYXRvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdmlhdG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXdhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF3czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhYnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhYnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFieS1jYXJyaWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFieS1jYXJyaWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNrc3BhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY2tzcGFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFjb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY3RlcmlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWN0ZXJpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWN0ZXJpdW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY3Rlcml1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWhhaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFoYWkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbGFuY2Utc2NhbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWxhbmNlLXNjYWxlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbmQtYWlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYW5kLWFpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZGNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFyY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2ViYWxsLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhc2ViYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFza2V0YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNrZXRiYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1xdWFydGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGxlLW5ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGxlLW5ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlaGFuY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlaGFuY2Utc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVsbC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZXppZXItY3VydmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlemllci1jdXJ2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmljeWNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmljeWNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpa2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW1vYmplY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpbW9iamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW5vY3VsYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW5vY3VsYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpb2hhemFyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlvaGF6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpcnRoZGF5LWNha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpcnRoZGF5LWNha2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0YnVja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXRidWNrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0Y29pbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0Y29pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsYWNrLXRpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxhY2stdGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsYWNrYmVycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsYWNrYmVycnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGVuZGVyLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGVuZGVyLXBob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGluZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsb2dnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZ2dlci1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyLWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmx1ZXRvb3RoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmx1ZXRvb3RoLWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsdWV0b290aC1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9sdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9sdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib21iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib21iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9uZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9uZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stZGVhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1kZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stcmVhZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLXJlYWRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9va21hcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vdHN0cmFwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib290c3RyYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLWFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLWFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItbm9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLW5vbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLXN0eWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3JkZXItc3R5bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm93bGluZy1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3dsaW5nLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94LW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC10aXNzdWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC10aXNzdWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94ZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWlsbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyYWlsbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyZWFkLXNsaWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmVhZC1zbGljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmllZmNhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyaWVmY2FzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmllZmNhc2UtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJpZWZjYXNlLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJvYWRjYXN0LXRvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icm9hZGNhc3QtdG93ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJvb206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyb29tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icnVzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idGM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ0Yyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWZmZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1ZmZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1Zyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVpbGRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbGhvcm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1bGxob3JuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxzZXllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWxsc2V5ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXJuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXJuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXNpbmVzcy10aW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXNpbmVzcy10aW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1eS1uLWxhcmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXktbi1sYXJnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXlzZWxsYWRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXlzZWxsYWRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGN1bGF0b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGN1bGF0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1kYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWRheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItd2VlazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItd2Vlayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbWVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmEtcmV0cm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbWVyYS1yZXRybyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1wZ3JvdW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1wZ3JvdW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmFkaWFuLW1hcGxlLWxlYWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FuZHktY2FuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FuZHktY2FuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5uYWJpczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FubmFiaXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Fwc3VsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcHN1bGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLWJhdHRlcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1iYXR0ZXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1jcmFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLWNyYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1zaWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItc2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJhdmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJhdmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXNxdWFyZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXNxdWFyZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Fycm90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJyb3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJ0LWFycm93LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJ0LXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FzaC1yZWdpc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FzaC1yZWdpc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFtZXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYXBwbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hcHBsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWRpbmVycy1jbHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1kaXNjb3Zlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1qY2I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWpjYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1tYXN0ZXJjYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtcGF5cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Mtc3RyaXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXZpc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXZpc2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VudGVyY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2VudGVyY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZW50b3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlbnRvcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZXJ0aWZpY2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2VydGlmaWNhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhaXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYWlyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWxrYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYWxrYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhbGtib2FyZC10ZWFjaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFsa2JvYXJkLXRlYWNoZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcmdpbmctc3RhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcmdpbmctc3RhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1hcmVhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1hcmVhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LWJhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtYmFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LWxpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtcGllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1waWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlY2stY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlY2stZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlY2stc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWVzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlZXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1iaXNob3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJpc2hvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1ib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mta2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3Mta2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1rbmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWtuaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1wYXduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1wYXduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXF1ZWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1xdWVlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1yb29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1yb29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGlsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hpbGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hyb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHJvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hyb21lY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hyb21lY2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHVyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNodXJjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtbm90Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpcmNsZS1ub3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaW5pYy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGluaWMtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQtbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkLWxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvc2VkLWNhcHRpb25pbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLWRvd25sb2FkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLW1lYXRiYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1tZWF0YmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1tb29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLW1vb24tcmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbW9vbi1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc2hvd2Vycy1oZWF2eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1zdW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXN1bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1zdW4tcmFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtc3VuLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtdXBsb2FkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtdXBsb2FkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZGZsYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZGZsYXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc2NhbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc2NhbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRzbWl0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRzbWl0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHZlcnNpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkdmVyc2lmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2NrdGFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ja3RhaWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWJyYW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZS1icmFuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZXBlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RpZXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kaWVwaWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2luczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29pbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29sdW1uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29sdW1ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb3RzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWRvdHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50cy1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFjdC1kaXNjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wYWN0LWRpc2MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wcmVzcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3MtYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25jaWVyZ2UtYmVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29uY2llcmdlLWJlbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uZmx1ZW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29uZmx1ZW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ubmVjdGRldmVsb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29udGFvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb250YW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29va2llOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb29raWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29va2llLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvb2tpZS1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvcHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5cmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY290dG9uLWJ1cmVhdTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY290dG9uLWJ1cmVhdSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3VjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY291Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3BhbmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcGFuZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXplcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtemVybyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlZGl0LWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JpdGljYWwtcm9sZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JpdGljYWwtcm9sZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcm9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3AtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcm9wLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9zczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3NoYWlyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvc3NoYWlycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcnV0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNydXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jc3MzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNzczMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jc3MzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdWJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdWJlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1dCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdXR0bGVmaXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXR0bGVmaXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWQtYW5kLWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZC1hbmQtZC1iZXlvbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWQtYW5kLWQtYmV5b25kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhaWx5bW90aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kYWlseW1vdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYXNoY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFzaGN1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGF0YWJhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhdGFiYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlYWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVlemVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWV6ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWxpY2lvdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVtb2NyYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlbW9jcmF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlcGxveWRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVwbG95ZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2twcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2twcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVza3RvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRldik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXZpYW50YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXZpYW50YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRoYXJtYWNoYWtyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhhcm1hY2hha3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRobDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYWdub3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhZ25vc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYXNwb3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWFzcG9yYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZDIwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQyMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQ2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQ2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1maXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZm91cjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1mb3VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2Utb25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLW9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXNpeDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1zaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS10aHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS10aHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXR3bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS10d28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWdpdGFsLW9jZWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2l0YWwtdGFjaG9ncmFwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpcmVjdGlvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpcmVjdGlvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzY29yZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzY29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXNjb3Vyc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2NvdXJzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXNlYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXNlYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpdmlkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGl2aWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpenp5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXp6eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kbmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRuYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2NodWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvY2h1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2NrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvY2tlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xsYXItc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9sbGFyLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5LWZsYXRiZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGx5LWZsYXRiZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9uYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb25hdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9vci1jbG9zZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3ItY2xvc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3Itb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9vci1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdC1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG92ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG92ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG93bmxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnQyZGlnaXRhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnQyZGlnaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFmdGluZy1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmFmdGluZy1jb21wYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYXctcG9seWdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhdy1wb2x5Z29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmliYmJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyaWJiYmxlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcm9wYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bS1zdGVlbHBhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1bS1zdGVlbHBhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtc3RpY2stYml0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1bXN0aWNrLWJpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtYmJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1bWJiZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bXBzdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1wc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3Rlci1maXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1wc3Rlci1maXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bmdlb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1bmdlb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHlhbG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1keWFsb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWFybHliaXJkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWFybHliaXJkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lYmF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lYmF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWRnZS1sZWdhY3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkZ2UtbGVnYWN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVqZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsZW1lbnRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxlbWVudG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsbGlwc2lzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxsaXBzaXMtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcGlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuLXRleHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZpcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcXVhbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVxdWFscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcmFzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVyYXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lcmxhbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVybGFuZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldGhlcmV1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRoZXJldW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRoZXJuZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0aGVybmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0c3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0c3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXVyby1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldXJvLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXZlcm5vdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV2ZXJub3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjaGFuZ2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQtYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwZWRpdGVkc3NsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBlZGl0ZWRzc2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZS1kcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtZHJvcHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV5ZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFjZWJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFjZWJvb2stZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLW1lc3Nlbmdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYW50YXN5LWZsaWdodC1nYW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFudGFzeS1mbGlnaHQtZ2FtZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFzdC1iYWNrd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtZm9yd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXVjZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhdWNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZheCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mZWF0aGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlYXRoZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mZWF0aGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWRleDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkZXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkb3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mZWRvcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVtYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mZW1hbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlnaHRlci1qZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpZ2h0ZXItamV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ21hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdtYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtYXJjaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWF1ZGlvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWF1ZGlvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1jb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY29udHJhY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29udHJhY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jc3Y6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY3N2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZG93bmxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leGNlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1leGNlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4cG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1leHBvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWltcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbXBvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbnZvaWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWludm9pY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbnZvaWNlLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbnZvaWNlLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW1lZGljYWwtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW1lZGljYWwtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBkZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcG93ZXJwb2ludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXByZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wcmVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1zaWduYXR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtc2lnbmF0dXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXVwbG9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXZpZGVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXZpZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtd29yZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS13b3JkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbC1kcmlwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsLWRyaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWx0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maW5nZXJwcmludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmluZ2VycHJpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmVmb3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZWZveC1icm93c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94LWJyb3dzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3QtYWlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3Qtb3JkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3Qtb3JkZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0ZHJhZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0ZHJhZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXN0LXJhaXNlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlzdC1yYWlzZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhZy1jaGVja2VyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy11c2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctdXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlja3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsaWNrcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsaXBib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHVzaGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbHVzaGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb2xkZXItb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQtYXdlc29tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtbG9nby1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udGljb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29ucy1maTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udGljb25zLWZpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvb3RiYWxsLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvb3RiYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb3J0LWF3ZXNvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydC1hd2Vzb21lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3J1bWJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydW1iZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9yd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3Vyc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb3Vyc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcmVlLWNvZGUtY2FtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlYnNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcmVlYnNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyb3duLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVsY3J1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnVsY3J1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdW5uZWwtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mdW5uZWwtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1dGJvbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnV0Ym9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbGFjdGljLXJlcHVibGljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYWxhY3RpYy1zZW5hdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbGFjdGljLXNlbmF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYW1lcGFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYW1lcGFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhcy1wdW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYXMtcHVtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2F2ZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VuZGVybGVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VuZGVybGVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZXQtcG9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZXQtcG9ja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdnLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naG9zdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2hvc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2lmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naWZ0czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2lmdHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXQtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0aHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0aHViLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRrcmFrZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGtyYWtlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRsYWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGxhYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXR0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzcy1jaGVlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLWNoZWVycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzcy1tYXJ0aW5pOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzcy1tYXJ0aW5pKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLW1hcnRpbmktYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzcy13aGlza2V5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzcy13aGlza2V5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsaWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsaWRlLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlLWFmcmljYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYWZyaWNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlLWFtZXJpY2FzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1hbWVyaWNhcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hc2lhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1hc2lhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlLWV1cm9wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtZXVyb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvZm9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29mb3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvbGYtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29sZi1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2RyZWFkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZHJlYWRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2RyZWFkcy1nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29kcmVhZHMtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtZHJpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1kcml2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGxheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtd2FsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvcHVyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvcHVyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyYWR1YXRpb24tY2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXRpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmF0aXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmF2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyZWF0ZXItdGhhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JlYXRlci10aGFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW1hY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW1hY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWJlYW0tc3dlYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1oZWFydHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4taGVhcnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludC10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zdGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zdGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRlYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tdG9uZ3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZS1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4td2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLXZlcnRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXBmaXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncnVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3J1bnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpbGRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VpbGRlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ndWl0YXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWd1aXRhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ndWxwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWxwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXItbmV3czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VycmFuazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VycmFuayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW1idXJnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbWJ1cmdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW1tZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFtc2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1ob2xkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1ob2xkaW5nLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1ob2xkaW5nLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy11c2Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZy11c2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1ob2xkaW5nLXdhdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1saXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbGl6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGFwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wZWFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wZWFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcG9pbnQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1yb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXJvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zY2lzc29yczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zY2lzc29ycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwYXJrbGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNwYXJrbGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3BvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc3BvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzLWhlbHBpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLWhlbHBpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHMtd2FzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHMtd2FzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2UtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2UtYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHNoYWtlLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbnVraWFoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW51a2lhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXJkLWhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFyZC1oYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFzaHRhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFzaHRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtY293Ym95OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtY293Ym95KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC1jb3dib3ktc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LWNvd2JveS1zaWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC13aXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhdC13aXphcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGRkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZC1zaWRlLWNvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtY291Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZC1zaWRlLWNvdWdoLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtY291Z2gtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZC1zaWRlLW1hc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1tYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS12aXJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLXZpcnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkcGhvbmVzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHNldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydC1icm9rZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnRiZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydGJlYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVsaWNvcHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVsaWNvcHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaWdobGlnaHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlnaGxpZ2h0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlwcG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcHBvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlyZS1hLWhlbHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlyZS1hLWhlbHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXN0b3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXN0b3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ja2V5LXB1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvY2tleS1wdWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvbGx5LWJlcnJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob2xseS1iZXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvb2xpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob29saSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JuYmlsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9ybmJpbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9yc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcnNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlLWhlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcnNlLWhlYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9zcGl0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9zcGl0YWwtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9zcGl0YWwtc3ltYm9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90LXR1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90LXR1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3Rkb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGRvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3RlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90ZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90amFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3RqYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWVuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLWVuZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91c2UtZGFtYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VzZS1kYW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91c2UtdXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91c2UtdXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3V6ejpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91enopOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHJ5dm5pYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHJ5dm5pYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odG1sNTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHRtbDUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHVic3BvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaHVic3BvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pLWN1cnNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaS1jdXJzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNlLWNyZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY2UtY3JlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNpY2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNpY2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pY29uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtYmFkZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWJhZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkZWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZGVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZ2xvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWdsb28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW1hZ2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltZGI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltZGIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZGVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZHVzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmR1c3RyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZpbml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5maW5pdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5mbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5mby1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5ub3NvZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlubm9zb2Z0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhZ3JhbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluc3RhZ3JhbS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFsb2Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluc3RhbG9kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyY29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnRlcmNvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludmlzaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlveGhvc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdGFsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRjaC1pbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRjaC1pbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXMtbm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXR1bmVzLW5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamF2YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamF2YSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplZGktb3JkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplZGktb3JkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVua2luczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVua2lucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qaXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qaXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvZ2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb2dldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2ludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb29tbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam91cm5hbC13aGlsbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvdXJuYWwtd2hpbGxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qcy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qc2ZpZGRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanNmaWRkbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2FhYmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthYWJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWthZ2dsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2FnZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWJhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWNkbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5Y2RuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtoYW5kYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2hhbmRhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpY2tzdGFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raWNrc3RhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlci1rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raWNrc3RhcnRlci1rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy13aW5rLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLXdpbmstaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2l3aS1iaXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXdpLWJpcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta29ydnVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rb3J2dWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZG1hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhbmRtYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5ndWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLWNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wLWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3AtaG91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcmF2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcmF2ZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXN0Zm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxheWVyLWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXllci1ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYW5wdWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlYW5wdWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVtb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlbW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzcy10aGFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzLXRoYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzcy10aGFuLWVxdWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzLXRoYW4tZXF1YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxldmVsLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlmZS1yaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHRidWxiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGluayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlua2VkaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW4taW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluLWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlub2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbnV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW51eCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXJhLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpcmEtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LW9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtdWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpc3QtdWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2F0aW9uLWFycm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jay1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG93LXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG93LXZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sdWdnYWdlLWNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1Z2dhZ2UtY2FydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sdW5nczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbHVuZ3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVuZ3MtdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1bmdzLXZpcnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx5ZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx5ZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnZW50bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnZW50byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWdpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWduZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1idWxrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWlsLWJ1bGspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbGNoaW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWlsY2hpbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYW5kYWxvcmlhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFuZGFsb3JpYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXBpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLXBpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtc2lnbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1zaWducyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJrZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2Rvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycy1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycy1zdHJva2Utdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hc3RvZG9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXN0b2Rvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXhjZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1heGNkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZGI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1kYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkYXBwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkYXBwcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRpdW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGl1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRpdW0tbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkaXVtLW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVka2l0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRraXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZHJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZXR1cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVldHVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZ2Fwb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWdhcG9ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1laCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWgtYmxhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1laC1ibGFuayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWgtcm9sbGluZy1leWVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgtcm9sbGluZy1leWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lbW9yeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVtb3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lbmRlbGV5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZW5kZWxleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW5vcmFoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZW5vcmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lcmN1cnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lcmN1cnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWV0ZW9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZXRlb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9ibG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb2Jsb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9jaGlwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb2NoaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9waG9uZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUtYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9zY29wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3NvZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc29mdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl0dGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXR0ZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl4Y2xvdWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1peGNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXp1bmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1penVuaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vYmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vZHg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vZHgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25lcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC13YXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLXdhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC13YXZlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktY2hlY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9udW1lbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbnVtZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLXBlc3RsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9ydGFyLXBlc3RsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3NxdWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vc3F1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3RvcmN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdW50YWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VudGFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2UtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91c2UtcG9pbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdWctaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tdWctaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tdXNpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uYXBzdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uYXBzdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5lb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5lb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV0d29yay13aXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV0d29yay13aXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXV0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ldXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ld3NwYXBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uaW1ibHI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5pbWJscik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vZGUtanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vZGUtanMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm90LWVxdWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub3QtZXF1YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm90ZXMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm90ZXMtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ucG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5wbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uczg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5zOCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1udXRyaXRpb25peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnV0cml0aW9uaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vYmplY3QtZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9iamVjdC11bmdyb3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9jdG9wdXMtZGVwbG95OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vY3RvcHVzLWRlcGxveSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vZG5va2xhc3NuaWtpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vaWwtY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vaWwtY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9sZC1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2xkLXJlcHVibGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcGVuY2FydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVuaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wdGluLW1vbnN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wdGluLW1vbnN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3JjaWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9yY2lkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9zaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3NpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW90dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vdHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdXRkZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vdXRkZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhZ2U0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlNCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VsaW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFpbnQtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LWJydXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LXJvbGxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFpbnQtcm9sbGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGV0dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhbGV0dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFsZmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxmZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXJjbGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFjaHV0ZS1ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmFjaHV0ZS1ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhZ3JhcGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFya2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFya2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXNzcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzc3BvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGFmYXJpYW5pc206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3RhZmFyaWFuaXNtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXRyZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXRyZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdXNlLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBheXBhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZWFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tZmFuY3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1mYW5jeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tbmliOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tbmliKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuY2lsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5jaWwtcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1ydWxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW5ueS1hcmNhZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbm55LWFyY2FkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW9wbGUtYXJyb3dzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlb3BsZS1jYXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVvcGxlLWNhcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcHBlci1ob3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcHBlci1ob3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyYnl0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyYnl0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJjZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmNlbnRhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmNlbnRhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyaXNjb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJpc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyc29uLWJvb3RoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJzb24tYm9vdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhhYnJpY2F0b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBoYWJyaWNhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9lbml4LWZyYW1ld29yayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9lbml4LXNxdWFkcm9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9lbml4LXNxdWFkcm9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc3F1YXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtc3F1YXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZS12b2x1bWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXZvbHVtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG90by12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvdG8tdmlkZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllZC1waXBlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1oYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItcHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItcHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZ2d5LWJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZ2d5LWJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGlsbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbGxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbnRlcmVzdC1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waW50ZXJlc3QtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpenphLXNsaWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waXp6YS1zbGljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFjZS1vZi13b3JzaGlwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1hcnJpdmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZS1hcnJpdmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lLWRlcGFydHVyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtZGVwYXJ0dXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5LWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5c3RhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheXN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1ZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1Zyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9kY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9kY2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2xsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbGwtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9sbC1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvby1zdG9ybTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vLXN0b3JtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvcnRyYWl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvdW5kLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvdW5kLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3dlci1vZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmF5aW5nLWhhbmRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9jZWR1cmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcm9jZWR1cmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2R1Y3QtaHVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvZHVjdC1odW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2plY3QtZGlhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvamVjdC1kaWFncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bXAtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHVtcC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bXAtc29hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHVtcC1zb2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHVzaGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHV6emxlLXBpZWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB5dGhvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHl0aG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFxOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXFyY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpZGRpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWlkZGl0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpbnNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWluc2NhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1cmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdXJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yLXByb2plY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXItcHJvamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRpYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhZGlhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRpYXRpb24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhaW5ib3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhaW5ib3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFuZG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYW5kb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFzcGJlcnJ5LXBpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYXNwYmVycnktcGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmF2ZWxyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmF2ZWxyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhY3RldXJvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWN0ZXVyb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWRtZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhZG1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWJlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWNlaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWNlaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY29yZC12aW55bDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjb3JkLXZpbnlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkLXJpdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWQtcml2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LWFsaWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQtYWxpZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkZGl0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZG8tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRvLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWdpc3RlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWdpc3RlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbW92ZS1mb3JtYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlbW92ZS1mb3JtYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVucmVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZW5yZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5LWFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwbHktYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5ZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwbHlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcHVibGljYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcHVibGljYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVzZWFyY2hnYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXNlYXJjaGdhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVzb2x2aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXNvbHZpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVzdHJvb206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlc3Ryb29tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldHdlZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJldHdlZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmV2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmliYm9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yaWJib24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvYm90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2JvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2NrZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2NrZXRjaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2NrZXRjaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tybXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvY2tybXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm91dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvdXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJzcy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJzcy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVibGUtc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVibGUtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVsZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXItY29tYmluZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyLWNvbWJpbmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyLWhvcml6b250YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXItdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyLXZlcnRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bm5pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bm5pbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVwZWUtc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVwZWUtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZC1jcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhZC1jcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FkLXRlYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhZC10ZWFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZmFyaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FmYXJpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhbGVzZm9yY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhbGVzZm9yY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Fzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXRlbGxpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdGVsbGl0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXRlbGxpdGUtZGlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2F0ZWxsaXRlLWRpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2F2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY2hsaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjaGxpeCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY2hvb2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjaG9vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3Jld2RyaXZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NyZXdkcml2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NyaWJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY3JpYmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2Nyb2xsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY3JvbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2QtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2QtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLWxvY2F0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2hlbmdpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoZW5naW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VlZGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlZWRsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWxsY2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsc3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlbGxzeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZXJ2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlcnZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZXJ2aWNlc3RhY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlcnZpY2VzdGFjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFwZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXBlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtYWx0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGVrZWwtc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hla2VsLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpZWxkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGllbGQtdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaWVsZC12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXBwaW5nLWZhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaXBwaW5nLWZhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcnRzaW5idWxrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGlydHNpbmJ1bGspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvZS1wcmludHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob2UtcHJpbnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3BpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1iYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1iYXNrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctY2FydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wd2FyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHdhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG93ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2h1dHRsZS12YW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNodXR0bGUtdmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1pbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24taW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24tbGFuZ3VhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLW91dC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYXR1cmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2ltLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpbS1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaW1wbHlidWlsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpc3RyaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpc3RyaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0ZW1hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2l0ZW1hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrYXRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrYXRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2tldGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2V0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2tpaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2lpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2tpaW5nLW5vcmRpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpaW5nLW5vcmRpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3VsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2t1bGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t1bGwtY3Jvc3Nib25lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2t1bGwtY3Jvc3Nib25lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lhdGxhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2t5YXRsYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5cGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNreXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsYWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGFjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjay1oYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGFjay1oYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGVpZ2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsZWlnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXJzLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsaWRlcnMtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXNoYXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZS1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtaWxlLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtaWxlLXdpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21vZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21vZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbW9raW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2tpbmctYmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbW9raW5nLWJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25hcGNoYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0LWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25hcGNoYXQtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dib2FyZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25vd2JvYXJkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dmbGFrZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25vd2ZsYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dtYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dtYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25vd3Bsb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dwbG93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ja3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvY2tzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvbGFyLXBhbmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2xhci1wYW5lbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS11cC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kb3duLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtbnVtZXJpYy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtbnVtZXJpYy11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291bmRjbG91ZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc291bmRjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VyY2V0cmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3VyY2V0cmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYWNlLXNodXR0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwYWNlLXNodXR0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlYWthcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BlYWthcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGVha2VyLWRlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWFrZXItZGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGVsbC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BlbGwtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BpZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGlkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bpbm5lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Bpbm5lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGxvdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGxvdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb3RpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwb3RpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3ByYXktY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcHJheS1jYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlLWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1yb290LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlLXJvb3QtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZXNwYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmVzcGFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhY2stZXhjaGFuZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrLW92ZXJmbG93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrcGF0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhY2twYXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItYW5kLWNyZXNjZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItb2YtZGF2aWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItb2YtZGF2aWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1vZi1saWZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLW9mLWxpZmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RheWxpbmtlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RheWxpbmtlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVhbS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0tc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVhbS1zeW1ib2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlcC1iYWNrd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVwLWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXAtZm9yd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGV0aG9zY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RldGhvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2tlci1tdWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja2VyLW11bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0aWNreS1ub3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3AtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3B3YXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcHdhdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3B3YXRjaC0yMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcHdhdGNoLTIwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3JlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZS1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3JlLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyYXZhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJhdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyZWV0LXZpZXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmVldC12aWV3KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmlrZXRocm91Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaXBlLXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmlwZS1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cm9vcHdhZmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJvb3B3YWZlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVkaW92aW5hcmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dWRpb3ZpbmFyaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHVtYmxldXBvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1bWJsZXVwb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWJzY3JpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vid2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWJ3YXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VpdGNhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1aXRjYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlLXJvbGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJwb3dlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cGVycG93ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVyc2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBlcnNjcmlwdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBwbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXJwcmlzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VycHJpc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2F0Y2hib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2F0Y2hib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN3aWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2lmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2ltbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2ltbWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN3aW1taW5nLXBvb2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN3aW1taW5nLXBvb2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3ltZm9ueTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3ltZm9ueSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW5hZ29ndWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmFnb2d1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW5jOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW5jKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bmMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW5jLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeXJpbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeXJpbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZS10ZW5uaXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxlLXRlbm5pcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxldHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFjaG9tZXRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhY2hvbWV0ZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhZ3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXNrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFza3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGF4aTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGF4aSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWFtc3BlYWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlYW1zcGVhayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWV0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVldGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVldGgtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVldGgtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxlZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVsZWdyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbGVncmFtLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbXBlcmF0dXJlLWhpZ2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbXBlcmF0dXJlLWhpZ2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVtcGVyYXR1cmUtbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW1wZXJhdHVyZS1sb3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuY2VudC13ZWlibzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVuY2VudC13ZWlibyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW5nZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVuZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVybWluYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlcm1pbmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtaGVpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXh0LWhlaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LXdpZHRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXh0LXdpZHRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGgtbGFyZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGgtbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGUtcmVkLXlldGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZS1yZWQteWV0aSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVhdGVyLW1hc2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVhdGVyLW1hc2tzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZW1lY286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZW1lY28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVpc2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVtZWlzbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhpbmstcGVha3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoaW5rLXBlYWtzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRodW1icy11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnRhY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRodW1idGFjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWNrZXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aWNrZXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpa3RvazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGlrdG9rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpbWVzLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbnQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpbnQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vZmY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvZ2dsZS1vZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b2dnbGUtb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9pbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b2lsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9pbGV0LXBhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b2lsZXQtcGFwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9pbGV0LXBhcGVyLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b2lsZXQtcGFwZXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9vbGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9vbGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b29sczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9vbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9vdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvcmFoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b3JhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b3JpaS1nYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b3JpaS1nYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWN0b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWN0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZGUtZmVkZXJhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhZGUtZmVkZXJhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFkZW1hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWRlbWFyayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFmZmljLWxpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFmZmljLWxpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWlsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWlsZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhbnNnZW5kZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYXNoLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1yZXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1yZXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJlbGxvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyaXBhZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmlwYWR2aXNvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cm9waHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyb3BoeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stbG9hZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbG9hZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cnVjay1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLW1vdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbW92aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLXBpY2t1cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stcGlja3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRzaGlydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHNoaXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHVtYmxyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR1bWJsci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR1bWJsci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHdpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXR0ZXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR5cG8zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10eXBvMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11YmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11YmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVidW50dTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWJ1bnR1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVpa2l0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11aWtpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyYWNvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bWJyYWNvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVtYnJlbGxhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bWJyZWxsYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYS1iZWFjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmVsbGEtYmVhY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5jaGFydGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmNoYXJ0ZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kZXJsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmRlcmxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5kbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmRvLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5kby1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pcmVnaXN0cnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuaXJlZ2lzdHJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuaXZlcnNpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5saW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmxvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5sb2NrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bnNwbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5zcGxhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW50YXBwZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW50YXBwZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVwbG9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11cHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVwcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1hc3Ryb25hdXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItYXN0cm9uYXV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2xvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItY2xvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1jb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItY29nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItZWRpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItZnJpZW5kczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1mcmllbmRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItZ3JhZHVhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZ3JhZHVhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1pbmp1cmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWluanVyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWxvY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1tZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1tZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbmluamE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbmluamEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1udXJzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1udXJzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNlY3JldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1zZWNyZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItc2hpZWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItdGFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXRpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2Vycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2Vycy1jb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXJzLWNvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2Vycy1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNwcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c3N1bm5haDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNzdW5uYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXRlbnNpbC1zcG9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXRlbnNpbC1zcG9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11dGVuc2lsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXRlbnNpbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmFhZGluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12YWFkaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVjdG9yLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVjdG9yLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVudXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ZW51cy1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXMtbWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVudXMtbWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ZXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlc3QtcGF0Y2hlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVzdC1wYXRjaGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWNvaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhZGVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFkZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhZGVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhZGVvLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmliZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWRlby1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWhhcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpaGFyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmltZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aW1lby1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW8tdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmltZW8tdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aXJ1cy1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlydXMtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlydXNlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlydXNlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12azpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm52OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12bnYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9pY2VtYWlsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2ljZW1haWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sbGV5YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2xsZXliYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1tdXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtbXV0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvdGUteWVhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b3RlLXllYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ci1jYXJkYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZyLWNhcmRib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12dWVqczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdnVlanMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2Fsa2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2Fsa2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhbGxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXJlaG91c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhcmVob3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXRjaG1hbi1tb25pdG9yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXZlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F2ZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F6ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWVibHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlZWJseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWlibzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpYm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpZ2h0LWhhbmdpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaWdodC1oYW5naW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaXhpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpeGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdoYXRzYXBwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aGF0c2FwcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdoYXRzYXBwLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGVlbGNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aGVlbGNoYWlyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdobWNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aG1jcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWZpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aWZpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpa2lwZWRpYS13OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aWtpcGVkaWEtdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LWNsb3NlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LW1heGltaXplKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LW1pbmltaXplKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3ctcmVzdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3dzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5kb3dzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmUtYm90dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5lLWJvdHRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5lLWdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmUtZ2xhc3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aW5lLWdsYXNzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpeCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aXphcmRzLW9mLXRoZS1jb2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29kdTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29kdSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b24tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b3JkcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvcmRwcmVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwYmVnaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwYmVnaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3BleHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3BleHBsb3Jlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGZvcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cGZvcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwcmVzc3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwcmVzc3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3JlbmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cmVuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teC1yYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXgtcmF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14aW5nLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteGluZy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15LWNvbWJpbmF0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFob286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhaG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFtbWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbmRleDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFuZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YXJuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YXJuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbHA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXllbHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWVuLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXllbi1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlpbi15YW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15aW4teWFuZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW9hc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW91dHViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteW91dHViZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0temhpaHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXpoaWh1KTsgfVxuIiwiLy8gU2NyZWVuIFJlYWRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNyLW9ubHkgeyBAaW5jbHVkZSBzci1vbmx5OyB9XG4uc3Itb25seS1mb2N1c2FibGUgeyBAaW5jbHVkZSBzci1vbmx5LWZvY3VzYWJsZTsgfVxuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAuZW90Jyk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLnN2ZyNmb250YXdlc29tZScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5mYXIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLmVvdCcpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLnN2ZyNmb250YXdlc29tZScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5mYSxcbi5mYXMge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICBmb250LXdlaWdodDogOTAwO1xufVxuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLmVvdCcpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAuc3ZnI2ZvbnRhd2Vzb21lJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuLmZhYiB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIi8qIVxuICogQ29yZVVJIC0gSFRNTCwgQ1NTLCBhbmQgSmF2YVNjcmlwdCBVSSBDb21wb25lbnRzIExpYnJhcnlcbiAqIEB2ZXJzaW9uIHYzLjMuMFxuICogQGxpbmsgaHR0cHM6Ly9jb3JldWkuaW8vXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgY3JlYXRpdmVMYWJzIMWBdWthc3ogSG9sZWN6ZWtcbiAqIExpY2Vuc2UgTUlUICAoaHR0cHM6Ly9jb3JldWkuaW8vbGljZW5zZS8pXG4gKi9cblxuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInJvb3RcIjtcbkBpbXBvcnQgXCJhcHBcIjtcbkBpbXBvcnQgXCJyZWJvb3RcIjtcblxuLy8gVmVuZG9yc1xuQGltcG9ydCBcInZlbmRvcnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImFsZXJ0XCI7XG5AaW1wb3J0IFwiYXZhdGFyc1wiO1xuQGltcG9ydCBcImJhZGdlXCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYi1tZW51XCI7XG5AaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImJ1dHRvbnNcIjtcbkBpbXBvcnQgXCJjYWxsb3V0XCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImNhcm91c2VsXCI7XG5AaW1wb3J0IFwiY2hhcnRzXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJjb2RlXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwiZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJmb290ZXJcIjtcbkBpbXBvcnQgXCJmb3Jtc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJoZWFkZXJcIjtcbkBpbXBvcnQgXCJpY29uXCI7XG5AaW1wb3J0IFwiaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcIm5hdmJhclwiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwicHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCJwcm9ncmVzcy1ncm91cFwiO1xuQGltcG9ydCBcInNpZGViYXJcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInN1YmhlYWRlclwiO1xuQGltcG9ydCBcInN3aXRjaGVzXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwidG9hc3RzXCI7XG5AaW1wb3J0IFwidG9vbHRpcFwiO1xuQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcIndpZGdldHNcIjtcblxuLy8gTGF5b3V0IE9wdGlvbnNcbkBpbXBvcnQgXCJsYXlvdXRzXCI7XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuXG4vLyBSaWdodC10by1sZWZ0XG5AaW1wb3J0IFwicnRsXCI7XG5cbi8vIEN1c3RvbSBQcm9wZXJ0aWVzIHN1cHBvcnQgZm9yIEludGVybmV0IEV4cGxvcmVyXG5AaW1wb3J0IFwiaWUtY3VzdG9tLXByb3BlcnRpZXNcIjtcblxuQGltcG9ydCBcInByaW50XCI7XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICAvLyBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgLy8gICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICAvLyB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIuYy1hcHAge1xuICBAaW5jbHVkZSB0aGVtZS12YXJpYW50KHRydWUpIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG4gIEBpbmNsdWRlIHRoZW1lcygkYm9keS10aGVtZS1tYXAsICRjcmVhdGU6IGFwcGVuZCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiYm9keS1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiYm9keS1iZ1wiKTtcblxuICAgIC0tY29sb3I6ICN7dGhlbWVzLWdldC12YWx1ZShcImJvZHktY29sb3JcIil9O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBhdC1ydWxlLW5vLXZlbmRvci1wcmVmaXgsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssIDApOyAvLyA1XG59XG5cbi8vIFNoaW0gZm9yIFwibmV3XCIgSFRNTDUgc3RydWN0dXJhbCBlbGVtZW50cyB0byBkaXNwbGF5IGNvcnJlY3RseSAoSUUxMCwgb2xkZXIgYnJvd3NlcnMpXG4vLyBUT0RPOiByZW1vdmUgaW4gdjVcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmFydGljbGUsIGFzaWRlLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2Vcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuLy8gNC4gRGlzYWJsZSBob3Jpem9udGFsIHNjcm9sbGluZ1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIC8vIFRPRE86IGZpbmQgYSBiZXR0ZXIgc29sdXRpb24gdG8gYXZvaWQgaG9yaXpvbnRhbCBzY3JvbGwgaWYgYSBzaWRlYmFyIGRvZXNuJ3QgaGF2ZSBhIGZpeGVkIHBvc2l0aW9uLlxuICBvdmVyZmxvdy14OiBoaWRkZW47IC8vIDRcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgQGluY2x1ZGUgdGhlbWVzKCRib2R5LXRoZW1lLW1hcCwgJGNyZWF0ZTogYXBwZW5kKSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJib2R5LWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJib2R5LWJnXCIpOyAvLyAyXG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIHJ1bGU6IGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCA6Zm9jdXMtdmlzaWJsZSwgc3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmVcbi8vIG9uIGVsZW1lbnRzIHRoYXQgcHJvZ3JhbW1hdGljYWxseSByZWNlaXZlIGZvY3VzIGJ1dCB3b3VsZG4ndCBub3JtYWxseSBzaG93IGEgdmlzaWJsZVxuLy8gZm9jdXMgb3V0bGluZS4gSW4gZ2VuZXJhbCwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIG91dGxpbmUgaXMgb25seSBhcHBsaWVkIGlmIHRoZVxuLy8gaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGVsZW1lbnQgcmVjZWl2aW5nIHByb2dyYW1tYXRpYyBmb2N1cyB3YXMgYSBrZXlib2FyZCBpbnRlcmFjdGlvbixcbi8vIG9yIHRoZSBicm93c2VyIGhhcyBzb21laG93IGRldGVybWluZWQgdGhhdCB0aGUgdXNlciBpcyBwcmltYXJpbHkgYSBrZXlib2FyZCB1c2VyIGFuZC9vclxuLy8gd2FudHMgZm9jdXMgb3V0bGluZXMgdG8gYWx3YXlzIGJlIHByZXNlbnRlZC5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpmb2N1cy12aXNpYmxlXG4vLyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE4LzAzL2ZvY3VzLXZpc2libGUtYW5kLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5L1xuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gIGhlaWdodDogMDsgLy8gMVxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxufVxuXG5cbi8vXG4vLyBUeXBvZ3JhcGh5XG4vL1xuXG4vLyBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gcGFyYWdyYXBoc1xuLy9cbi8vIFNpbWlsYXJseSwgdGhlIHRvcCBtYXJnaW4gb24gYDxwPmBzIGdldCByZXNldC4gSG93ZXZlciwgd2UgYWxzbyByZXNldCB0aGVcbi8vIGJvdHRvbSBtYXJnaW4gdG8gdXNlIGByZW1gIHVuaXRzIGluc3RlYWQgb2YgYGVtYC5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBEdXBsaWNhdGUgYmVoYXZpb3IgdG8gdGhlIGRhdGEtKiBhdHRyaWJ1dGUgZm9yIG91ciB0b29sdGlwIHBsdWdpblxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbi8vIDUuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0geyAvLyAxXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgYm9yZGVyLWJvdHRvbTogMDsgLy8gNFxuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDVcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogJGR0LWZvbnQtd2VpZ2h0O1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBAaW5jbHVkZSBsdHIge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuICB9XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gIEBpbmNsdWRlIHRoZW1lcygkbGluay10aGVtZS1tYXApIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpbmstY29sb3JcIik7XG4gIH1cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRsaW5rLXRoZW1lLW1hcCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaW5rLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbmQgdW5kbyB0aGVzZSBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGxpbmtzL25hbWVkIGFuY2hvcnMgKHdpdGhvdXQgaHJlZikuXG4vLyBJdCB3b3VsZCBiZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBqdXN0IHVzZSBhW2hyZWZdIGluIHByZXZpb3VzIGJsb2NrLCBidXQgdGhhdFxuLy8gY2F1c2VzIHNwZWNpZmljaXR5IGlzc3VlcyBpbiBtYW55IG90aGVyIHN0eWxlcyB0aGF0IGFyZSB0b28gY29tcGxleCB0byBmaXguXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTQwMlxuXG5hOm5vdChbaHJlZl0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcbiAgLy8gY2xvc2VzdCBwYXJlbnQgd2l0aCBhIHNldCBgdGV4dC1hbGlnbmAuXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gV29yayBhcm91bmQgYSBGaXJlZm94L0lFIGJ1ZyB3aGVyZSB0aGUgdHJhbnNwYXJlbnQgYGJ1dHRvbmAgYmFja2dyb3VuZFxuLy8gcmVzdWx0cyBpbiBhIGxvc3Mgb2YgdGhlIGRlZmF1bHQgYGJ1dHRvbmAgZm9jdXMgc3R5bGVzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZS9cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2Vcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxufVxuXG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuXG4vLyAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bcbi8vICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cbkBpZiAkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zIHtcbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gIHBhZGRpbmc6IDA7IC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC1cbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgLjg3NXJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS1zaXplOiAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICA0LjVyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTQtc2l6ZTogIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgIDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJHZyLWJnOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiR2ci13aWR0aDogICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICNmY2Y4ZTMgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICRzcGFjZXIgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIEljb25zXG4vL1xuLy8gU3R5bGUgLmMtaWNvbiBlbGVtZW50LlxuXG4kaWNvbi1zaXplLWJhc2U6ICAxcmVtICFkZWZhdWx0O1xuJGljb24tc2l6ZS1zbTogICAgJGljb24tc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRpY29uLXNpemUtbGc6ICAgICRpY29uLXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaWNvbi1zaXplLXhsOiAgICAkaWNvbi1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG5cblxuJHR5cG9ncmFwaHktdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdHlwb2dyYXBoeS10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwiaHItYm9yZGVyLWNvbG9yXCI6ICAkaHItYm9yZGVyLWNvbG9yLFxuICAgICAgXCJ2ci1iZ1wiOiAgICAgICAgICAgICR2ci1iZyxcbiAgICAgIFwidGV4dC1tdXRlZFwiOiAgICAgICAkdGV4dC1tdXRlZFxuICAgIClcbiAgKSxcbiAgJHR5cG9ncmFwaHktdGhlbWUtbWFwXG4pO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIGZvbnQtcmVzaXppbmdcbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuLy8gUmVzaXplIGZvbnQtc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQtc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFZhcmlhYmxlcyBmb3Igc3RvcmluZyBzdGF0aWMgYW5kIGZsdWlkIHJlc2NhbGluZ1xuICAgICRyZnMtc3RhdGljOiBudWxsO1xuICAgICRyZnMtZmx1aWQ6IG51bGw7XG5cbiAgICAvLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udC1zaXplXG4gICAgQGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtIHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmcyAvICRyZnMtcmVtLXZhbHVlfXJlbSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHB4IHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmc31weCN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG4gICAgfVxuXG4gICAgLy8gT25seSBhZGQgbWVkaWEgcXVlcnkgaWYgZm9udC1zaXplIGlzIGJpZ2dlciBhcyB0aGUgbWluaW11bSBmb250LXNpemVcbiAgICAvLyBJZiAkcmZzLWZhY3RvciA9PSAxLCBubyByZXNjYWxpbmcgd2lsbCB0YWtlIHBsYWNlXG4gICAgQGlmICRmcyA+ICRyZnMtYmFzZS1mb250LXNpemUgYW5kICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgICRtaW4td2lkdGg6IG51bGw7XG4gICAgICAkdmFyaWFibGUtdW5pdDogbnVsbDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyAoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSkgLyAkcmZzLWZhY3RvcjtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiBnaXZlbiBmb250LXNpemUgYW5kIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGlmIHRoZSB1bml0IGlzIHZhbGlkLCBiZWNhdXNlIHdlIGRpZCB0aGF0IGJlZm9yZVxuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7JGZzLW1pbiAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gSWYgdHdvLWRpbWVuc2lvbmFsLCB1c2Ugc21hbGxlc3Qgb2Ygc2NyZWVuIHdpZHRoIGFuZCBoZWlnaHRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7JGZzLWRpZmYgKiAxMDAgLyAkcmZzLWJyZWFrcG9pbnR9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemUuXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuICAgIH1cblxuICAgIC8vIFJlbmRlcmluZ1xuICAgIEBpZiAkcmZzLWZsdWlkID09IG51bGwge1xuICAgICAgLy8gT25seSByZW5kZXIgc3RhdGljIGZvbnQtc2l6ZSBpZiBubyBmbHVpZCBmb250LXNpemUgaXMgYXZhaWxhYmxlXG4gICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbXEtdmFsdWU6IG51bGw7XG5cbiAgICAgIC8vIFJGUyBicmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgIEBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSByZW0ge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50IC8gJHJmcy1yZW0tdmFsdWV9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH07XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnR9cHg7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksXG4gICAgICAgIC8vIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgICAgICYsXG4gICAgICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGluIHVzZXMgUkZTIHRvIHJlc2NhbGUgZm9udCBzaXplc1xuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIkBtaXhpbiBsdHIge1xuICBAaWYgJGVuYWJsZS1sdHIge1xuICAgIEBpZiAmIHtcbiAgICAgICYge1xuICAgICAgICBodG1sOm5vdChbZGlyPVwicnRsXCJdKSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBodG1sOm5vdChbZGlyPVwicnRsXCJdKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIHJ0bCB7XG4gIEBpZiAkZW5hYmxlLXJ0bCB7XG4gICAgQGlmICYge1xuICAgICAgJiB7XG4gICAgICAgICpbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICpbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaW5rXG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogIDE1JSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlua1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGluay1kZWZhdWx0LXRoZW1lXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGluay1kZWZhdWx0LXRoZW1lXG5cbiRsaW5rLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGxpbmstdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcImxpbmstY29sb3JcIjogICAgICAgICRsaW5rLWNvbG9yLFxuICAgICAgXCJsaW5rLWhvdmVyLWNvbG9yXCI6ICAkbGluay1ob3Zlci1jb2xvclxuICAgIClcbiAgKSxcbiAgJGxpbmstdGhlbWUtbWFwXG4pO1xuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgJjpob3ZlciB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAtNiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGVcblxuLy8gRGVmYXVsdCBUaGVtZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWRlZmF1bHQtdGhlbWVcbiR0YWJsZS1jb2xvcjogICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1kZWZhdWx0LXRoZW1lXG5cbiR0YWJsZS10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0YWJsZS10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwidGFibGUtY29sb3JcIjogICAgICAgICAgICAgICR0YWJsZS1jb2xvcixcbiAgICAgIFwidGFibGUtYmdcIjogICAgICAgICAgICAgICAgICR0YWJsZS1iZyxcbiAgICAgIFwidGFibGUtYWNjZW50LWJnXCI6ICAgICAgICAgICR0YWJsZS1hY2NlbnQtYmcsXG4gICAgICBcInRhYmxlLWhvdmVyLWNvbG9yXCI6ICAgICAgICAkdGFibGUtaG92ZXItY29sb3IsXG4gICAgICBcInRhYmxlLWhvdmVyLWJnXCI6ICAgICAgICAgICAkdGFibGUtaG92ZXItYmcsXG4gICAgICBcInRhYmxlLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAkdGFibGUtYWN0aXZlLWJnLFxuICAgICAgXCJ0YWJsZS1ib3JkZXItY29sb3JcIjogICAgICAgJHRhYmxlLWJvcmRlci1jb2xvcixcbiAgICAgIFwidGFibGUtaGVhZC1iZ1wiOiAgICAgICAgICAgICR0YWJsZS1oZWFkLWJnLFxuICAgICAgXCJ0YWJsZS1oZWFkLWNvbG9yXCI6ICAgICAgICAgJHRhYmxlLWhlYWQtY29sb3IsXG4gICAgICBcInRhYmxlLWRhcmstY29sb3JcIjogICAgICAgICAkdGFibGUtZGFyay1jb2xvcixcbiAgICAgIFwidGFibGUtZGFyay1iZ1wiOiAgICAgICAgICAgICR0YWJsZS1kYXJrLWJnLFxuICAgICAgXCJ0YWJsZS1kYXJrLWFjY2VudC1iZ1wiOiAgICAgJHRhYmxlLWRhcmstYWNjZW50LWJnLFxuICAgICAgXCJ0YWJsZS1kYXJrLWhvdmVyLWNvbG9yXCI6ICAgJHRhYmxlLWRhcmstaG92ZXItY29sb3IsXG4gICAgICBcInRhYmxlLWRhcmstaG92ZXItYmdcIjogICAgICAkdGFibGUtZGFyay1ob3Zlci1iZyxcbiAgICAgIFwidGFibGUtZGFyay1ib3JkZXItY29sb3JcIjogICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvclxuICAgIClcbiAgKSxcbiAgJHRhYmxlLXRoZW1lLW1hcFxuKTtcbiIsIi8vXG4vLyBDb3JlVUkgZGVmYXVsdCBjb2xvcnNcbi8vXG5cbiR3aGl0ZTogICNmZmYgIWRlZmF1bHQ7XG4kYmxhY2s6ICAjMDAwMDE1ICFkZWZhdWx0O1xuXG4kZ3JheS1iYXNlOiAgIzNjNGI2NCAhZGVmYXVsdDtcbiRncmF5LTEwMDogICAjZWJlZGVmICFkZWZhdWx0O1xuJGdyYXktMjAwOiAgICNkOGRiZTAgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICAgI2M0YzlkMCAhZGVmYXVsdDtcbiRncmF5LTQwMDogICAjYjFiN2MxICFkZWZhdWx0O1xuJGdyYXktNTAwOiAgICM5ZGE1YjEgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICAgIzhhOTNhMiAhZGVmYXVsdDtcbiRncmF5LTcwMDogICAjNzY4MTkyICFkZWZhdWx0O1xuJGdyYXktODAwOiAgICM2MzZmODMgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICAgIzRmNWQ3MyAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZ3JheXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiMTAwXCI6ICAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAgJGdyYXktMzAwLFxuICAgIFwiNDAwXCI6ICAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAgJGdyYXktNjAwLFxuICAgIFwiNzAwXCI6ICAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAgJGdyYXktOTAwXG4gICksXG4gICRncmF5c1xuKTtcblxuJHByaW1hcnktYmFzZTogICMzMjFmZGIgIWRlZmF1bHQ7XG4kcHJpbWFyeS0xMDA6ICAgI2VhZTlmYiAhZGVmYXVsdDtcbiRwcmltYXJ5LTIwMDogICAjZDZkMmZiICFkZWZhdWx0O1xuJHByaW1hcnktMzAwOiAgICNjMWJjZjQgIWRlZmF1bHQ7XG4kcHJpbWFyeS00MDA6ICAgI2FkYTVmMSAhZGVmYXVsdDtcbiRwcmltYXJ5LTUwMDogICAjOTg4ZmVkICFkZWZhdWx0O1xuJHByaW1hcnktNjAwOiAgICM4NDc4ZWEgIWRlZmF1bHQ7XG4kcHJpbWFyeS03MDA6ICAgIzZmNjJlNiAhZGVmYXVsdDtcbiRwcmltYXJ5LTgwMDogICAjNWI0Y2UyICFkZWZhdWx0O1xuJHByaW1hcnktOTAwOiAgICM0NjM1ZGYgIWRlZmF1bHQ7XG5cbiRwcmltYXJ5LWRhcms6ICAjMWYxNDk4ICFkZWZhdWx0O1xuJHByaW1hcnk6ICAgICAgICMzMjFmZGIgIWRlZmF1bHQ7XG4kcHJpbWFyeS01MDogICAgIzk4OGZlZCAhZGVmYXVsdDtcbiRwcmltYXJ5LTI1OiAgICAjY2NjN2Y2ICFkZWZhdWx0O1xuXG5cbiRzZWNvbmRhcnktYmFzZTogICMzYzRiNjQgIWRlZmF1bHQ7XG5cbiRzZWNvbmRhcnktMTAwOiAgICNlYmVkZWYgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LTIwMDogICAjZDhkYmUwICFkZWZhdWx0O1xuJHNlY29uZGFyeS0zMDA6ICAgI2M0YzlkMCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktNDAwOiAgICNiMWI3YzEgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LTUwMDogICAjOWRhNWIxICFkZWZhdWx0O1xuJHNlY29uZGFyeS02MDA6ICAgIzhhOTNhMiAhZGVmYXVsdDtcbiRzZWNvbmRhcnktNzAwOiAgICM3NjgxOTIgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LTgwMDogICAjNjM2ZjgzICFkZWZhdWx0O1xuJHNlY29uZGFyeS05MDA6ICAgIzRmNWQ3MyAhZGVmYXVsdDtcblxuJHNlY29uZGFyeS1kYXJrOiAgIzIxMjIzMyAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAgICMzYzRiNjQgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LTUwOiAgICAjOWRhNWIxICFkZWZhdWx0O1xuJHNlY29uZGFyeS0yNTogICAgI2NlZDJkOCAhZGVmYXVsdDtcblxuXG4kZGFuZ2VyLWRhcms6ICAjZDkzNzM3ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgI2U1NTM1MyAhZGVmYXVsdDtcbiRkYW5nZXItNTA6ICAgICNmMmE5YTkgIWRlZmF1bHQ7XG4kZGFuZ2VyLTI1OiAgICAjZjlkNGQ0ICFkZWZhdWx0O1xuXG4kaW5mby1kYXJrOiAgIzI5ODJjYyAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAjMzlmICFkZWZhdWx0O1xuJGluZm8tNTA6ICAgICM4MGM2ZmYgIWRlZmF1bHQ7XG4kaW5mby0yNTogICAgI2MwZTZmZiAhZGVmYXVsdDtcblxuJHN1Y2Nlc3MtZGFyazogICMxYjllM2UgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgIzJlYjg1YyAhZGVmYXVsdDtcbiRzdWNjZXNzLTUwOiAgICAjOTZkYmFkICFkZWZhdWx0O1xuJHN1Y2Nlc3MtMjU6ICAgICNjYmVkZDYgIWRlZmF1bHQ7XG5cbiR3YXJuaW5nLWRhcms6ICAjZjY5NjBiICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICNmOWIxMTUgIWRlZmF1bHQ7XG4kd2FybmluZy01MDogICAgI2ZjZDg4YSAhZGVmYXVsdDtcbiR3YXJuaW5nLTI1OiAgICAjZmVlY2M1ICFkZWZhdWx0O1xuXG4kbGlnaHQ6ICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiRwaW5rOiAgI2U4M2U4YyAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeS0yNSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtbWFwXG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgJHdoaXRlICFkZWZhdWx0O1xuXG4keWlxLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHlpcS10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwieWlxLXRleHQtZGFya1wiOiAgJHlpcS10ZXh0LWRhcmssXG4gICAgICBcInlpcS10ZXh0LWxpZ2h0XCI6ICAkeWlxLXRleHQtbGlnaHRcbiAgICApXG4gICksXG4gICR5aXEtdGhlbWUtbWFwXG4pO1xuXG4vLyBUT0RPOiBNb3ZlIHRvIGJldHRlciBwbGFjZVxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsXCIlM2NcIiksXG4gIChcIj5cIixcIiUzZVwiKSxcbiAgKFwiI1wiLFwiJTIzXCIpLFxuICAoXCIoXCIsXCIlMjhcIiksXG4gIChcIilcIixcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG4iLCIvLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnV0dG9ucy1mb3Jtc1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidXR0b25zLWZvcm1zXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIHNjc3MtZG9jcy1zdGFydCBidXR0b25zXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidXR0b25zXG5cbi8vIEZvcm1zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3Jtc1xuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgLyAyKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXk6ICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAuMzEyNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGg6ICAgIDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHNlbGVjdC1vcHRpb24tYmc6IGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm1zXG5cbiRmb3JtLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGZvcm0tdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcImlucHV0LWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnLFxuICAgICAgXCJpbnB1dC1kaXNhYmxlZC1iZ1wiOiAgICAgICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyxcbiAgICAgIFwiaW5wdXQtY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IsXG4gICAgICBcImlucHV0LWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvcixcbiAgICAgIFwiaW5wdXQtZm9jdXMtYmdcIjogICAgICAgICAgICAgICAgICAkaW5wdXQtZm9jdXMtYmcsXG4gICAgICBcImlucHV0LWZvY3VzLWJvcmRlci1jb2xvclwiOiAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcixcbiAgICAgIFwiaW5wdXQtZm9jdXMtY29sb3JcIjogICAgICAgICAgICAgICAkaW5wdXQtZm9jdXMtY29sb3IsXG4gICAgICBcImlucHV0LXBsYWNlaG9sZGVyLWNvbG9yXCI6ICAgICAgICAgJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yLFxuICAgICAgXCJpbnB1dC1wbGFpbnRleHQtY29sb3JcIjogICAgICAgICAgICRpbnB1dC1wbGFpbnRleHQtY29sb3IsXG4gICAgICBcImlucHV0LWdyb3VwLWFkZG9uLWNvbG9yXCI6ICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yLFxuICAgICAgXCJpbnB1dC1ncm91cC1hZGRvbi1iZ1wiOiAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyxcbiAgICAgIFwiaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yXCI6ICAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yLFxuICAgICAgXCJzZWxlY3Qtb3B0aW9uLWJnXCI6ICAgICAgICAgICAgICAgICRzZWxlY3Qtb3B0aW9uLWJnXG4gICAgKVxuICApLFxuICAkZm9ybS10aGVtZS1tYXBcbik7XG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICAgJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogICAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuLnBzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAtbXMtdG91Y2gtYWN0aW9uOiBhdXRvO1xuICB0b3VjaC1hY3Rpb246IGF1dG87XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xufVxuXG4ucHNfX3JhaWwteCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDE1cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xufVxuXG4ucHNfX3JhaWwteSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICByaWdodDogMDtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDE1cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xufVxuXG4ucHMtLWFjdGl2ZS14ID4gLnBzX19yYWlsLXgsXG4ucHMtLWFjdGl2ZS15ID4gLnBzX19yYWlsLXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wczpob3ZlciA+IC5wc19fcmFpbC14LFxuLnBzOmhvdmVyID4gLnBzX19yYWlsLXksXG4ucHMtLWZvY3VzID4gLnBzX19yYWlsLXgsXG4ucHMtLWZvY3VzID4gLnBzX19yYWlsLXksXG4ucHMtLXNjcm9sbGluZy14ID4gLnBzX19yYWlsLXgsXG4ucHMtLXNjcm9sbGluZy15ID4gLnBzX19yYWlsLXkge1xuICBvcGFjaXR5OiAuNjtcbn1cblxuLnBzX19yYWlsLXg6aG92ZXIsXG4ucHNfX3JhaWwteTpob3Zlcixcbi5wc19fcmFpbC14OmZvY3VzLFxuLnBzX19yYWlsLXk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBvcGFjaXR5OiAuOTtcbn1cblxuLypcbiAqIFNjcm9sbGJhciB0aHVtYiBzdHlsZXNcbiAqL1xuLnBzX190aHVtYi14IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDJweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ucHNfX3RodW1iLXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcmlnaHQ6IDJweDtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIGxlZnQ6IDJweDtcbiAgfVxuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgd2lkdGggLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ucHNfX3JhaWwteDpob3ZlciA+IC5wc19fdGh1bWIteCxcbi5wc19fcmFpbC14OmZvY3VzID4gLnBzX190aHVtYi14IHtcbiAgaGVpZ2h0OiAxMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xufVxuXG4ucHNfX3JhaWwteTpob3ZlciA+IC5wc19fdGh1bWIteSxcbi5wc19fcmFpbC15OmZvY3VzID4gLnBzX190aHVtYi15IHtcbiAgd2lkdGg6IDExcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG59XG5cbkBzdXBwb3J0cyAoLW1zLW92ZXJmbG93LXN0eWxlOiBub25lKSB7XG4gIC5wcyB7XG4gICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAucHMge1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL192YXJzLnNjc3MnO1xuXG4uI3skbmFtZXNwYWNlLXByZWZpeH0tYm94IHtcbiAgJltkYXRhLWFuaW1hdGlvbj0nZmFkZSddW2RhdGEtc3RhdGU9J2hpZGRlbiddIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCIuI3skbmFtZXNwYWNlLXByZWZpeH0tYm94W2RhdGEtdGhlbWV+PSdjcG9wb3ZlciddIHtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRwb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgPi4jeyRuYW1lc3BhY2UtcHJlZml4fS1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogaW5pdGlhbDtcbiAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgfVxuXG4gID4uI3skbmFtZXNwYWNlLXByZWZpeH0tYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWFycm93IHtcbiAgLy8gICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gIC8vICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yXCIpO1xuICAvLyAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAvLyAgIH1cblxuICAvLyAgICY6OmFmdGVyIHtcbiAgLy8gICAgIGNvbnRlbnQ6ICcnO1xuICAvLyAgICAgei1pbmRleDogLTE7XG4gIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgLy8gICAgIGJvcmRlci13aWR0aDogOHB4O1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gICZbZGF0YS1wbGFjZW1lbnRePSd0b3AnXSxcbiAgJltkYXRhLXBsYWNlbWVudF49J2JvdHRvbSddIHtcbiAgICA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgICB3aWR0aDogYWRkKCRwb3BvdmVyLWFycm93LXdpZHRoLCAoMiAqICRwb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgcGFkZGluZzogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXBsYWNlbWVudF49J3JpZ2h0J10sXG4gICZbZGF0YS1wbGFjZW1lbnRePSdsZWZ0J10ge1xuICAgID4gLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWFycm93IHtcbiAgICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBoZWlnaHQ6IGFkZCgkcG9wb3Zlci1hcnJvdy13aWR0aCwgKDIgKiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICBwYWRkaW5nOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuXG4gICZbZGF0YS1wbGFjZW1lbnRePSd0b3AnXSB7XG5cbiAgICA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1jb2xvclwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1wbGFjZW1lbnRePSdib3R0b20nXSB7XG5cbiAgICA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgICB0b3A6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1jb2xvclwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1wbGFjZW1lbnRePSdsZWZ0J10ge1xuXG4gICAgPiAuI3skbmFtZXNwYWNlLXByZWZpeH0tYXJyb3cge1xuICAgICAgcmlnaHQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1jb2xvclwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgJltkYXRhLXBsYWNlbWVudF49J3JpZ2h0J10ge1xuXG4gICAgPiAuI3skbmFtZXNwYWNlLXByZWZpeH0tYXJyb3cge1xuICAgICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcIik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdGVyOiAgICAgICAgIDEwODAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuIiwiLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXJcbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyXG5cblxuLy8gRGVmYXVsdCBUaGVtZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItZGVmYXVsdC10aGVtZVxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItZGVmYXVsdC10aGVtZVxuXG4kcG9wb3Zlci10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRwb3BvdmVyLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJwb3BvdmVyLWJnXCI6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyxcbiAgICAgIFwicG9wb3Zlci1ib3JkZXItY29sb3JcIjogICAgICAgJHBvcG92ZXItYm9yZGVyLWNvbG9yLFxuICAgICAgXCJwb3BvdmVyLWhlYWRlci1iZ1wiOiAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItYmcsXG4gICAgICBcInBvcG92ZXItaGVhZGVyLWNvbG9yXCI6ICAgICAgICRwb3BvdmVyLWhlYWRlci1jb2xvcixcbiAgICAgIFwicG9wb3Zlci1ib2R5LWNvbG9yXCI6ICAgICAgICAgJHBvcG92ZXItYm9keS1jb2xvcixcbiAgICAgIFwicG9wb3Zlci1hcnJvdy1jb2xvclwiOiAgICAgICAgJHBvcG92ZXItYXJyb3ctY29sb3IsXG4gICAgICBcInBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcIjogICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yXG4gICAgKVxuICApLFxuICAkcG9wb3Zlci10aGVtZS1tYXBcbik7XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIlxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGJvcmRlci10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwiYm9yZGVyLWNvbG9yXCI6ICRib3JkZXItY29sb3JcbiAgICApXG4gICksXG4gICRib3JkZXItdGhlbWUtbWFwXG4pO1xuXG4kYm9yZGVyLXJhZGl1czogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgNTByZW0gIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOiAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWJnOiAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuIiwiQGltcG9ydCAnLi9fdmFycy5zY3NzJztcbkBpbXBvcnQgJy4vYW5pbWF0aW9ucy9mYWRlLnNjc3MnO1xuQGltcG9ydCAnLi8uLi8uLi92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi9wb3BvdmVyLnNjc3MnO1xuXG4uI3skbmFtZXNwYWNlLXByZWZpeH0taU9TIHtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbltkYXRhLSN7JG5hbWVzcGFjZS1wcmVmaXh9LXJvb3RdIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTBweCk7XG59XG5cbi4jeyRuYW1lc3BhY2UtcHJlZml4fS1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIC8vIGNvbG9yOiB3aGl0ZTtcbiAgLy8gYm9yZGVyLXJhZGl1czogNHB4O1xuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9vbHRpcC1mb250LXNpemUpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG91dGxpbmU6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgdmlzaWJpbGl0eSwgb3BhY2l0eTtcblxuICAmW2RhdGEtcGxhY2VtZW50Xj0ndG9wJ10gPiAuI3skbmFtZXNwYWNlLXByZWZpeH0tYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IC0gJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1wbGFjZW1lbnRePSdib3R0b20nXSA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogLSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXBsYWNlbWVudF49J2xlZnQnXSA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAtICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtcGxhY2VtZW50Xj0ncmlnaHQnXSA+IC4jeyRuYW1lc3BhY2UtcHJlZml4fS1hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogLSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1pbmVydGlhXVtkYXRhLXN0YXRlPSd2aXNpYmxlJ10ge1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NCwgMS41LCAwLjM4LCAxLjExKTtcbiAgfVxufVxuXG4uI3skbmFtZXNwYWNlLXByZWZpeH0tYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICBjb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuLiN7JG5hbWVzcGFjZS1wcmVmaXh9LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eTogICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXkgJGFsZXJ0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LW1hcmdpbi1ib3R0b207XG4gIGJvcmRlcjogJGFsZXJ0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYWxlcnQtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcbiAgfVxuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtbW9kaWZpZXJzXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCB0aGVtZS1jb2xvci1sZXZlbCgkdmFsdWUsICRhbGVydC1iZy1sZXZlbCksICB0aGVtZS1jb2xvci1sZXZlbCgkdmFsdWUsICRhbGVydC1ib3JkZXItbGV2ZWwpLCAgdGhlbWUtY29sb3ItbGV2ZWwoJHZhbHVlLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1tb2RpZmllcnNcbiIsIlxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0XG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgIDYgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLmMtYXZhdGFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwZW07XG4gIEBpbmNsdWRlIGF2YXRhcigkYXZhdGFyLXdpZHRoLCRhdmF0YXItc3RhdHVzLXdpZHRoKTtcbn1cblxuLmMtYXZhdGFyLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDUwZW07XG59XG5cbi5jLWF2YXRhci1zdGF0dXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTBlbTtcblxuICBAaW5jbHVkZSBsdHIge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG4uYy1hdmF0YXItc20ge1xuICBAaW5jbHVkZSBhdmF0YXIoJGF2YXRhci1zbS13aWR0aCwkYXZhdGFyLXNtLXN0YXR1cy13aWR0aCk7XG59XG5cbi5jLWF2YXRhci1sZyB7XG4gIEBpbmNsdWRlIGF2YXRhcigkYXZhdGFyLWxnLXdpZHRoLCRhdmF0YXItbGctc3RhdHVzLXdpZHRoKTtcbn1cblxuLmMtYXZhdGFyLXhsIHtcbiAgQGluY2x1ZGUgYXZhdGFyKCRhdmF0YXIteGwtd2lkdGgsJGF2YXRhci14bC1zdGF0dXMtd2lkdGgpO1xufVxuXG4uYy1hdmF0YXJzLXN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAuYy1hdmF0YXIge1xuICAgIG1hcmdpbi1yaWdodDogLSAoJGF2YXRhci13aWR0aCAvIDIpO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi1yaWdodCAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuYy1hdmF0YXItc20ge1xuICAgIG1hcmdpbi1yaWdodDogLSAoJGF2YXRhci1zbS13aWR0aCAvIDIpO1xuICB9XG5cbiAgLmMtYXZhdGFyLWxnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gKCRhdmF0YXItbGctd2lkdGggLyAyKTtcbiAgfVxuXG4gIC5jLWF2YXRhci14bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkYXZhdGFyLXhsLXdpZHRoIC8gMik7XG4gIH1cbn1cblxuLmMtYXZhdGFyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuLmMtYXZhdGFyLXNxdWFyZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4iLCJAbWl4aW4gYXZhdGFyKCR3aWR0aCwgJHN0YXR1cy13aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICR3aWR0aDtcbiAgZm9udC1zaXplOiAkd2lkdGggLyAyLjU7XG5cbiAgLmMtYXZhdGFyLXN0YXR1cyB7XG4gICAgd2lkdGg6ICRzdGF0dXMtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3RhdHVzLXdpZHRoO1xuICB9XG59XG4iLCIvLyBBdmF0YXJzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXZhdGFyc1xuJGF2YXRhci1zbS13aWR0aDogICAgICAgICAyNHB4ICFkZWZhdWx0O1xuJGF2YXRhci1zbS1zdGF0dXMtd2lkdGg6ICA4cHggIWRlZmF1bHQ7XG5cbiRhdmF0YXItd2lkdGg6ICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRhdmF0YXItc3RhdHVzLXdpZHRoOiAgICAgMTBweCAhZGVmYXVsdDtcblxuJGF2YXRhci1sZy13aWR0aDogICAgICAgICA0OHB4ICFkZWZhdWx0O1xuJGF2YXRhci1sZy1zdGF0dXMtd2lkdGg6ICAxMnB4ICFkZWZhdWx0O1xuXG4kYXZhdGFyLXhsLXdpZHRoOiAgICAgICAgIDY0cHggIWRlZmF1bHQ7XG4kYXZhdGFyLXhsLXN0YXR1cy13aWR0aDogIDE0cHggIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGF2YXRhcnNcbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUsICRjb2xvcik7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEge1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XG4gICAgICBAaWYgJHZhbHVlID09IG51bGwgb3IgJHZhbHVlID09IG5vbmUge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBvciAnbnVsbCcgbXVzdCBiZSB1c2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50LlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi8vIEJhZGdlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2VzXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAxMHJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYmFkZ2VzXG5cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZywgJGNvbG9yKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290ICN7c3RyLXJlcGxhY2UoI3smfSwgXCIuYmFkZ2UtI3skY29sb3J9XCIsIFwiIFwiKX0gYS5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRiYWRnZS1mb2N1cy13aWR0aCByZ2JhKCRiZywgLjUpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgJ1VURi04Jztcbi8vIFdoZW4gY3JlYXRpbmcgYSB0aGVtZSdzIGNsYXNzLCBzY3JpcHQgd2lsbCB1c2UgdGhpcyBwb3N0Zml4LlxuLy9cbi8vIEB0eXBlIFN0cmluZ1xuJHRoZW1lcy1kZWZhdWx0LXBvc3QtY2xhc3M6IFwiLXRoZW1lXCIgIWRlZmF1bHQ7XG5cbi8vIEB0eXBlIFN0cmluZ1xuJGN1cnJlbnQtdmFyaWFudDogXCJcIiAhZGVmYXVsdDtcblxuLy8vIEN1cnJlbnQgX21hcF8gZHVyaW5nIHRoZSBsb29wLiBDYW4gYmUgdXNlZCBpbiBjdXN0b20gY3JlYXRpb24uXG4vLy9cbi8vIEB0eXBlIE1hcFxuJHRoZW1lcy1tYXA6IFwiXCIgIWRlZmF1bHQ7XG5cbi8vIEB0eXBlIEJvb2xlYW5cbiR0aGVtZS1oYXMtdmFyaWFudHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBHZXRzIGEgdmFsdWUgZnJvbSBhIHRoZW1lLWxpa2UgbWFwIHVzaW5nIHRoZSBjdXJyZW50IGVudGl0eSBhbmQgbWFwIHdpdGhpbmcgdGhlIHRoZW1lIHNjb3BlLlxuLy9cbi8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiB0aGUgdmFyaWFibGUgeW91IHdhbnQgdG8gZ2V0XG4vLyBAcGFyYW0ge1N0cmluZ30gJGVudGl0eSAtIE5hbWUgb2YgdGhlIGVudGl0eSB5b3Ugd2FudCB0byBhY2Nlc3Ncbi8vXG4vLyBAZXhhbXBsZSBzY3NzXG4vLyAgIHRoZW1lLWdldCgnY29sb3ItcHJpbWFyeScsIHVzZXIpO1xuLy8gICAvLyAtPiAjMzMzXG4vL1xuLy8gQHJldHVybnMge1N0cmluZ30gVmFsdWUgb2Yga2V5IGZvciB0aGF0IGVudGl0eVxuQGZ1bmN0aW9uIHRoZW1lcy1nZXQtdmFsdWUoJGtleSwgJHRoZW1lOiAkY3VycmVudC10aGVtZSwgJHZhcmlhbnQ6ICRjdXJyZW50LXZhcmlhbnQsICRtYXA6ICR0aGVtZXMtbWFwKSB7XG5cbiAgJGN1cnJlbnQtdGhlbWUtbWFwOiBtYXAtZ2V0KCRtYXAsICR0aGVtZSk7XG5cbiAgLy8gQGlmIG5vdCAkZW50aXR5LW1hcCB7XG4gIC8vICAgQGVycm9yICdUaGVyZSBpcyBubyBgI3skZW50aXR5fWAgZW50aXR5IGluIHlvdXIgdmFyaWF0aW9ucyBsaXN0Lic7XG4gIC8vIH1cblxuICBAaWYgJHRoZW1lLWhhcy12YXJpYW50cyB7XG4gICAgJGN1cnJlbnQtdmFyaWFudC1tYXA6IG1hcC1nZXQobWFwLWdldCgkY3VycmVudC10aGVtZS1tYXAsIFwibWFwXCIpLCAkdmFyaWFudCk7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRjdXJyZW50LXZhcmlhbnQtbWFwLCAka2V5KTtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRjdXJyZW50LXRoZW1lLW1hcCwgJGtleSkge1xuICAgICAgJHZhbHVlOiBtYXAtZ2V0KCRjdXJyZW50LXRoZW1lLW1hcCwgJGtleSk7XG4gICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR2YWx1ZTogbWFwLWdldChtYXAtZ2V0KCRtYXAsICRkZWZhdWx0LXRoZW1lKSwgJGtleSk7XG4gICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvL1RPRE86IGZpbmQgc29sdXRpb24gd2hlbiAka2V5IGlzIGBudWxsYFxuICAvLyBAaWYgbm90ICRyZXQge1xuICAvLyAgIEB3YXJuICdUaGUgZW50aXR5IGAjeyRlbnRpdHl9YCBkb2VzblxcJ3QgaGF2ZSBhIHZhbHVlIGZvciBgI3ska2V5fWAuJztcbiAgLy8gfVxufVxuXG5AZnVuY3Rpb24gZGVmYXVsdC10aGVtZSgpIHtcbiAgQGVhY2ggJGtleSBpbiBtYXAta2V5cygkZGVmYXVsdC10aGVtZXMpIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgdGhlbWUgaXMgZGVmYXVsdFxuICAgIEBpZiBtYXAtZ2V0KG1hcC1nZXQoJGRlZmF1bHQtdGhlbWVzLCAka2V5KSwgXCJkZWZhdWx0XCIpID09IHRydWUge1xuICAgICAgQHJldHVybiAka2V5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcHJvcGVydHkoJHByb3BlcnR5LCAka2V5LCAkdGhlbWU6ICRjdXJyZW50LXRoZW1lLCAkdmFyaWFudDogJGN1cnJlbnQtdmFyaWFudCwgJG1hcDogJHRoZW1lcy1tYXApIHtcbiAgJGN1cnJlbnQtdGhlbWUtbWFwOiBtYXAtZ2V0KCRtYXAsICR0aGVtZSk7XG5cbiAgQGlmICR0aGVtZS1oYXMtdmFyaWFudHMge1xuICAgICRjdXJyZW50LXZhcmlhbnQtbWFwOiBtYXAtZ2V0KG1hcC1nZXQoJGN1cnJlbnQtdGhlbWUtbWFwLCBcIm1hcFwiKSwgJHZhcmlhbnQpO1xuICAgICR2YWx1ZTogbWFwLWdldCgkY3VycmVudC12YXJpYW50LW1hcCwgJGtleSk7XG5cbiAgICAvLyBAcmV0dXJuICR2YWx1ZTtcbiAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRjdXJyZW50LXRoZW1lLW1hcCwgJGtleSkge1xuICAgICAgJHZhbHVlOiBtYXAtZ2V0KCRjdXJyZW50LXRoZW1lLW1hcCwgJGtleSk7XG4gICAgICAvLyBAcmV0dXJuICR2YWx1ZTtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHZhbHVlOiBtYXAtZ2V0KG1hcC1nZXQoJG1hcCwgJGRlZmF1bHQtdGhlbWUpLCAka2V5KTtcbiAgICAgIC8vIEByZXR1cm4gJHZhbHVlO1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbkBmdW5jdGlvbiB0aGVtZXMtZ2V0LW9wdGlvbigka2V5LCAkZmFsbGJhY2s6IG51bGwsICR0aGVtZTogJGN1cnJlbnQtdGhlbWUsICR2YXJpYW50OiAkY3VycmVudC12YXJpYW50LCAkbWFwOiAkdGhlbWVzLW1hcCkge1xuXG4gICRjdXJyZW50LXRoZW1lLW1hcDogbWFwLWdldCgkbWFwLCAkdGhlbWUpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkY3VycmVudC10aGVtZS1tYXAsICRrZXkpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGN1cnJlbnQtdGhlbWUtbWFwLCAka2V5KTtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkZmFsbGJhY2s7XG4gIH1cbn1cblxuQG1peGluIHRoZW1lcy1hcHBlbmQtdmFyaWFibGVzKCR0aGVtZSkge1xuICAvLyBVcGRhdGUgZ2xvYmFsIHZhcmlhYmxlc1xuICAkY3VycmVudC10aGVtZTogJHRoZW1lICFnbG9iYWw7XG4gIEBpZiAkY3VycmVudC10aGVtZSA9PSBcImRhcmtcIiBhbmQgJGVuYWJsZS1wcmVmZXJzLWNvbG9yLXNjaGVtZSB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdGhlbWVzLWNyZWF0ZS1wYXJlbnQoJHRoZW1lLCAkdmFyaWFudCkge1xuICAvLyBVcGRhdGUgZ2xvYmFsIHZhcmlhYmxlc1xuICAkY3VycmVudC10aGVtZTogJHRoZW1lICFnbG9iYWw7XG4gICRjdXJyZW50LXZhcmlhbnQ6ICR2YXJpYW50ICFnbG9iYWw7XG5cbiAgQGlmIG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsICRjdXJyZW50LXRoZW1lKSwgXCJkZWZhdWx0XCIpIHtcbiAgICBAYXQtcm9vdHtcbiAgICAgIEBpZiAkdmFyaWFudCA9PSAkZGVmYXVsdC12YXJpYW50IHtcbiAgICAgICAgI3skcGFyZW50LWVsZW1lbnR9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHBhcmVudC1lbGVtZW50fSN7JHBhcmVudC1lbGVtZW50fS0jeyR2YXJpYW50fSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBhdC1yb290e1xuICAgICAgQGlmICR2YXJpYW50ID09ICRkZWZhdWx0LXZhcmlhbnQge1xuICAgICAgICBAaWYgJGN1cnJlbnQtdGhlbWUgPT0gXCJkYXJrXCIgYW5kICRlbmFibGUtcHJlZmVycy1jb2xvci1zY2hlbWUge1xuICAgICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgICAgICN7JHBhcmVudC1lbGVtZW50fSB7XG4gICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLmMtI3skdGhlbWV9I3skdGhlbWVzLWRlZmF1bHQtcG9zdC1jbGFzc30gI3skcGFyZW50LWVsZW1lbnR9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAkY3VycmVudC10aGVtZSA9PSBcImRhcmtcIiBhbmQgJGVuYWJsZS1wcmVmZXJzLWNvbG9yLXNjaGVtZSB7XG4gICAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAgICAgI3skcGFyZW50LWVsZW1lbnR9I3skcGFyZW50LWVsZW1lbnR9LSN7JHZhcmlhbnR9IHtcbiAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAuYy0jeyR0aGVtZX0jeyR0aGVtZXMtZGVmYXVsdC1wb3N0LWNsYXNzfSAjeyRwYXJlbnQtZWxlbWVudH0jeyRwYXJlbnQtZWxlbWVudH0tI3skdmFyaWFudH0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aGVtZS1zaW5nbGUtYXBwZW5kKCR0aGVtZSkge1xuICAvLyBVcGRhdGUgZ2xvYmFsIHZhcmlhYmxlc1xuICAkY3VycmVudC10aGVtZTogJHRoZW1lICFnbG9iYWw7XG5cbiAgQGlmIG5vdCAmIHtcbiAgICBAZXJyb3IgXCJObyBzZWxlY3RvciBmb3VuZC4gSSBuZWVkIGEgc2VsZWN0b3IgdG8gYXBwZW5kIHRoZSBjbGFzcyB0by5cIjtcbiAgfVxuXG4gIEBpZiAkY3VycmVudC10aGVtZSA9PSBcImRhcmtcIiBhbmQgJGVuYWJsZS1wcmVmZXJzLWNvbG9yLXNjaGVtZSB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmLmMtI3skdGhlbWV9I3skdGhlbWVzLWRlZmF1bHQtcG9zdC1jbGFzc30ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aGVtZXMtc2luZ2xlLXBhcmVudCgkdGhlbWUpIHtcbiAgLy8gVXBkYXRlIGdsb2JhbCB2YXJpYWJsZXNcbiAgJGN1cnJlbnQtdGhlbWU6ICR0aGVtZSAhZ2xvYmFsO1xuXG4gIEBhdC1yb290e1xuICAgIEBpZiAkY3VycmVudC10aGVtZSA9PSBcImRhcmtcIiBhbmQgJGVuYWJsZS1wcmVmZXJzLWNvbG9yLXNjaGVtZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIEBpZiAmIHtcbiAgICAgICAgICAmIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAmIHtcbiAgICAgICAgLmMtI3skdGhlbWV9I3skdGhlbWVzLWRlZmF1bHQtcG9zdC1jbGFzc30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuYy0jeyR0aGVtZX0jeyR0aGVtZXMtZGVmYXVsdC1wb3N0LWNsYXNzfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRoZW1lcygkbG9vcDogJHRoZW1lcy1tYXAsICRwYXJlbnQ6IGZhbHNlLCAkY3JlYXRlOiBmYWxzZSkge1xuICAkdGhlbWVzLW1hcDogJGxvb3AgIWdsb2JhbDtcbiAgJHBhcmVudC1lbGVtZW50OiAkcGFyZW50ICFnbG9iYWw7XG4gICRkZWZhdWx0LXRoZW1lOiBudWxsICFnbG9iYWw7XG5cbiAgQGVhY2ggJGtleSBpbiBtYXAta2V5cygkZGVmYXVsdC10aGVtZXMpIHtcblxuICAgIC8vIENoZWNrIGlmIHRoZSB0aGVtZSBpcyBkZWZhdWx0XG4gICAgQGlmIG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsICRrZXkpLCBcImRlZmF1bHRcIikgPT0gdHJ1ZSB7XG4gICAgICAkZGVmYXVsdC10aGVtZTogJGtleSAhZ2xvYmFsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBsaXN0IG9mIHRoZW1lc1xuICAkdGhlbWVzOiBtYXAta2V5cygkdGhlbWVzLW1hcCk7XG5cbiAgQGVhY2ggJHRoZW1lIGluICR0aGVtZXMge1xuICAgICRjdXJyZW50LXRoZW1lOiAkdGhlbWUgIWdsb2JhbDtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkZGVmYXVsdC10aGVtZXMsICR0aGVtZSkge1xuICAgICAgJHRoZW1lLW1hcDogbWFwLWdldCgkdGhlbWVzLW1hcCwgJHRoZW1lKTtcbiAgICAgIC8vIENoZWNrIGlmICR0aGVtZS1tYXAgaGFzIHZhcmlhbnRzXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLW1hcCwgXCJtYXBcIikge1xuICAgICAgICAkdGhlbWUtaGFzLXZhcmlhbnRzOiB0cnVlICFnbG9iYWw7XG4gICAgICAgIC8vIEdldCBsaXN0IG9mIHZhcmlhbnRzXG4gICAgICAgICR2YXJpYW50czogbWFwLWtleXMobWFwLWdldCgkdGhlbWUtbWFwLCBcIm1hcFwiKSk7XG4gICAgICAgICRkZWZhdWx0LXZhcmlhbnQ6IG1hcC1nZXQoJHRoZW1lLW1hcCwgXCJkZWZhdWx0XCIpICFnbG9iYWw7XG4gICAgICAgIEBlYWNoICR2YXJpYW50IGluICR2YXJpYW50cyB7XG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWVzLWNyZWF0ZS1wYXJlbnQoJHRoZW1lLCAkdmFyaWFudCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHRoZW1lLWhhcy12YXJpYW50czogZmFsc2UgIWdsb2JhbDtcbiAgICAgICAgQGlmIG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsICR0aGVtZSksIFwiZGVmYXVsdFwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWVzLWFwcGVuZC12YXJpYWJsZXMoJHRoZW1lKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIEBpZiAkY3JlYXRlID09IFwicGFyZW50XCIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWVzLXNpbmdsZS1wYXJlbnQoJHRoZW1lKSB7XG4gICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gQGVsc2UgaWYgJGNyZWF0ZSA9PSBcImFwcGVuZFwiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1lLXNpbmdsZS1hcHBlbmQoJHRoZW1lKSB7XG4gICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWVzLXNpbmdsZS1wYXJlbnQoJHRoZW1lKSB7XG4gICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGhlbWUtdmFyaWFudCgkZXh0ZW5kLWNsYXNzOiBmYWxzZSkge1xuICBAZWFjaCAkdGhlbWUgaW4gbWFwLWtleXMoJGRlZmF1bHQtdGhlbWVzKSB7XG4gICAgJGdldC1jb2xvcnM6IG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsICR0aGVtZSksIFwidGhlbWUtY29sb3JzXCIpO1xuICAgICRnZXQtZGVmYXVsdDogbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSwgXCJkZWZhdWx0XCIpO1xuICAgICRnZXQtZ3JheXM6IG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsICR0aGVtZSksIFwiZ3JheXNcIik7XG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdldC1jb2xvcnMge1xuICAgICAgJGNvbG9yOiAkY29sb3IgIWdsb2JhbDtcbiAgICAgICR2YWx1ZTogJHZhbHVlICFnbG9iYWw7XG4gICAgICBAaWYgJGdldC1kZWZhdWx0IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGRlZmF1bHQtY29sb3I6IG1hcC1nZXQobWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgZGVmYXVsdC10aGVtZSgpKSwgXCJ0aGVtZS1jb2xvcnNcIiksICRjb2xvcik7XG4gICAgICAgIEBpZiAkZGVmYXVsdC1jb2xvciAhPSAkdmFsdWUge1xuICAgICAgICAgIEBpZiAkZXh0ZW5kLWNsYXNzIHtcbiAgICAgICAgICAgICYuYy0jeyR0aGVtZX0jeyR0aGVtZS1zdWZmaXh9IHtcbiAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAYXQtcm9vdHtcbiAgICAgICAgICAgICAgLmMtI3skdGhlbWV9I3skdGhlbWUtc3VmZml4fSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRoZW1lLWdyYWRpZW50cygpIHtcbiAgQGVhY2ggJHRoZW1lIGluIG1hcC1rZXlzKCRkZWZhdWx0LXRoZW1lcykge1xuICAgICRnZXQtZGVmYXVsdDogbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSwgXCJkZWZhdWx0XCIpO1xuICAgICRnZXQtZ3JhZGllbnRzOiBtYXAtZ2V0KG1hcC1nZXQoJGRlZmF1bHQtdGhlbWVzLCAkdGhlbWUpLCBcImdyYWRpZW50c1wiKTtcbiAgICBAZWFjaCAkZ3JhZGllbnQsICR2YWx1ZSBpbiAkZ2V0LWdyYWRpZW50cyB7XG4gICAgICAkZ3JhZGllbnQ6ICRncmFkaWVudCAhZ2xvYmFsO1xuICAgICAgJHZhbHVlOiAkdmFsdWUgIWdsb2JhbDtcbiAgICAgIEBpZiAkZ2V0LWRlZmF1bHQge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZGVmYXVsdC1ncmFkaWVudDogbWFwLWdldChtYXAtZ2V0KG1hcC1nZXQoJGRlZmF1bHQtdGhlbWVzLCBkZWZhdWx0LXRoZW1lKCkpLCBcImdyYWRpZW50c1wiKSwgJGdyYWRpZW50KTtcbiAgICAgICAgQGlmICRkZWZhdWx0LWdyYWRpZW50ICE9ICR2YWx1ZSB7XG4gICAgICAgICAgQGF0LXJvb3R7XG4gICAgICAgICAgICAuYy0jeyR0aGVtZX0jeyR0aGVtZS1zdWZmaXh9IHtcbiAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aGVtZS1nZXQtY29sb3IoJGNvbG9yKSB7XG4gIEBlYWNoICR0aGVtZSBpbiBtYXAta2V5cygkZGVmYXVsdC10aGVtZXMpIHtcbiAgICAkZ2V0LWNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQobWFwLWdldCgkZGVmYXVsdC10aGVtZXMsICR0aGVtZSksIFwidGhlbWUtY29sb3JzXCIpLCAkY29sb3IpO1xuICAgICRnZXQtZGVmYXVsdDogbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSwgXCJkZWZhdWx0XCIpO1xuICAgICRjb2xvcjogJGdldC1jb2xvciAhZ2xvYmFsO1xuICAgIEBpZiAkZ2V0LWRlZmF1bHQge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAYXQtcm9vdHtcbiAgICAgICAgLmMtI3skdGhlbWV9I3skdGhlbWUtc3VmZml4fSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWItbWVudSB7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5idG4tZ3JvdXAge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuYnRuIHtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1idG4tcGFkZGluZy14O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgJjpob3ZlcixcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgdGhlbWVzKCR0eXBvZ3JhcGh5LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRleHQtbXV0ZWRcIik7XG4gICAgfVxuICB9XG5cbiAgLnNob3cge1xuICAgIC5idG4ge1xuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVycygkYnJlYWRjcnVtYi1ib3JkZXJzKTtcblxuICBAaW5jbHVkZSB0aGVtZXMoJGJyZWFkY3J1bWItdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiYnJlYWRjcnVtYi1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJicmVhZGNydW1iLWJvcmRlci1jb2xvclwiKTtcbiAgfVxufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGJyZWFkY3J1bWItdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJicmVhZGNydW1iLWRpdmlkZXItY29sb3JcIik7XG4gICAgICB9XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGJyZWFkY3J1bWItdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiYnJlYWRjcnVtYi1hY3RpdmUtY29sb3JcIik7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYm9yZGVycygkYm9yZGVycywgJHJldmVyc2U6IGZhbHNlKSB7XG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xuICAgICRkaXJlY3Rpb246IG50aCgkYm9yZGVyLCAxKTtcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcImFsbFwiIHtcbiAgICAgIGJvcmRlcjogbWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbik7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidG9wXCIge1xuICAgICAgYm9yZGVyLXRvcDogbWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbik7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgICBAaWYgJHJldmVyc2Uge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImJvdHRvbVwiIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbik7XG4gICAgICBAaWYgJHJldmVyc2Uge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBib3JkZXJzLXNoYWRvdygkYm9yZGVycywgJHJldmVyc2U6IGZhbHNlKSB7XG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xuICAgICRkaXJlY3Rpb246IG50aCgkYm9yZGVyLCAxKTtcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcImFsbFwiIHtcbiAgICAgICRzaXplOiBtYXAtZ2V0KG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pLCBzaXplKTtcbiAgICAgICRjb2xvcjogbWFwLWdldChtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKSwgY29sb3IpO1xuICAgICAgYm94LXNoYWRvdzogJHNpemUgJHN0eWxlICRjb2xvciBpbnNldDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJ0b3BcIiB7XG4gICAgICAkc2l6ZTogbWFwLWdldChtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKSwgc2l6ZSk7XG4gICAgICAkY29sb3I6IG1hcC1nZXQobWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbiksIGNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgLSAkc2l6ZSAkc2l6ZSAtICRzaXplICRjb2xvciBpbnNldDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgICRzaXplOiBtYXAtZ2V0KG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pLCBzaXplKTtcbiAgICAgICRjb2xvcjogbWFwLWdldChtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKSwgY29sb3IpO1xuICAgICAgQGlmICRyZXZlcnNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogJHNpemUgMCAkc2l6ZSAtICRzaXplICRjb2xvciBpbnNldDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAtICRzaXplIDAgJHNpemUgLSAkc2l6ZSAkY29sb3IgaW5zZXQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tXCIge1xuICAgICAgJHNpemU6IG1hcC1nZXQobWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbiksIHNpemUpO1xuICAgICAgJGNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJGJvcmRlcnMsICRkaXJlY3Rpb24pLCBjb2xvcik7XG4gICAgICBib3gtc2hhZG93OiAwICRzaXplICRzaXplIC0gJHNpemUgJGNvbG9yIGluc2V0O1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgICAkc2l6ZTogbWFwLWdldChtYXAtZ2V0KCRib3JkZXJzLCAkZGlyZWN0aW9uKSwgc2l6ZSk7XG4gICAgICAkY29sb3I6IG1hcC1nZXQobWFwLWdldCgkYm9yZGVycywgJGRpcmVjdGlvbiksIGNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6ICRzaXplIDAgJHNpemUgLSAkc2l6ZSAkY29sb3IgaW5zZXQ7XG4gICAgICBAaWYgJHJldmVyc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAtICRzaXplIDAgJHNpemUgLSAkc2l6ZSAkY29sb3IgaW5zZXQ7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogJHNpemUgMCAkc2l6ZSAtICRzaXplICRjb2xvciBpbnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFkY3J1bWJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgMS41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgMCAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyczogICggYm90dG9tOiAxcHggc29saWQgKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYlxuXG4vLyBEZWZhdWx0IHRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi1kZWZhdWx0LXRoZW1lXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItY29sb3I6ICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgJGdyYXktNjAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWRlZmF1bHQtdGhlbWVcblxuJGJyZWFkY3J1bWItdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kYnJlYWRjcnVtYi10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwiYnJlYWRjcnVtYi1iZ1wiOiAgICAgICAgICAgICAkYnJlYWRjcnVtYi1iZyxcbiAgICAgIFwiYnJlYWRjcnVtYi1ib3JkZXItY29sb3JcIjogICAkYnJlYWRjcnVtYi1ib3JkZXItY29sb3IsXG4gICAgICBcImJyZWFkY3J1bWItZGl2aWRlci1jb2xvclwiOiAgJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcixcbiAgICAgIFwiYnJlYWRjcnVtYi1hY3RpdmUtY29sb3JcIjogICAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3JcbiAgICApXG4gICksXG4gICRicmVhZGNydW1iLXRoZW1lLW1hcFxuKTtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICAgID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwge1xuICAgID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcHJpZ2h0ICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmRyb3BsZWZ0ICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuXG4uYnRuLWdyb3VwLnNob3cgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAkYnRuLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6ICRidG4td2hpdGUtc3BhY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXksICRidG4tcGFkZGluZy14LCAkYnRuLWZvbnQtc2l6ZSwgJGJ0bi1saW5lLWhlaWdodCwgJGJ0bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidG4tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAkYnRuLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogaWYoJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9ucywgcG9pbnRlciwgbnVsbCk7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGksXG4gIC5jLWljb24ge1xuICAgIGhlaWdodDogJGJ0bi1mb250LXNpemU7XG4gICAgbWFyZ2luOiAoKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkgLSAkZm9udC1zaXplLWJhc2UpIC8gMikgMDtcbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG4uYnRuLXRyYW5zcGFyZW50IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICB9XG59XG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRidG4tZm9udC1zaXplLWxnLCAkYnRuLWxpbmUtaGVpZ2h0LWxnLCAkYnRuLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uYnRuLXNtIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1saW5lLWhlaWdodC1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuXG4vL1xuLy8gQmxvY2sgYnV0dG9uXG4vL1xuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkYnRuLWJsb2NrLXNwYWNpbmcteTtcbiAgfVxufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5idG4tcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwZW07XG59XG5cbi5idG4tc3F1YXJlIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy9cbi8vIEdob3N0IGJ1dHRvblxuLy9cblxuQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgLmJ0bi1naG9zdC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1naG9zdC12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuLy9cbi8vIEJyYW5kIGJ1dHRvblxuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGJyYW5kcy1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbi8vIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRicmFuZHMtY29sb3JzIHtcbi8vICAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4vLyAgICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuLy8gICB9XG4vLyB9XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA3LjUlKSwgJGhvdmVyLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEwJSksICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpLCAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyLjUlKSkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBhdC1yb290ICN7c3RyLXJlcGxhY2UoI3smfSwgXCIuYnRuLVwiLCBcIi5zaG93ID4gLmJ0bi1cIil9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBmb3IgdGhlIHByZXNzZWQvYWN0aXZlIHN0YXRlXG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGF0LXJvb3QgI3tzdHItcmVwbGFjZSgjeyZ9LCBcIi5idG4tXCIsIFwiLnNob3cgPiAuYnRuLVwiKX0uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xuXG4gIGksXG4gIC5jLWljb24ge1xuICAgIHdpZHRoOiAkZm9udC1zaXplO1xuICAgIGhlaWdodDogJGZvbnQtc2l6ZTtcbiAgICBtYXJnaW46ICgoKCRmb250LXNpemUgKiAkbGluZS1oZWlnaHQpIC0gJGZvbnQtc2l6ZSkgLyAyKSAwO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBHaG9zdFxuXG5AbWl4aW4gYnV0dG9uLWdob3N0LXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBhdC1yb290ICN7c3RyLXJlcGxhY2UoI3smfSwgXCIuYnRuLVwiLCBcIi5zaG93ID4gLmJ0bi1cIil9LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiXG4vLyBCcmFuZCBDb2xvcnNcblxuJGZhY2Vib29rOiAgICAgICAgIzNiNTk5OCAhZGVmYXVsdDtcbiR0d2l0dGVyOiAgICAgICAgICMwMGFjZWQgIWRlZmF1bHQ7XG4kbGlua2VkaW46ICAgICAgICAjNDg3NWI0ICFkZWZhdWx0O1xuJGZsaWNrcjogICAgICAgICAgI2ZmMDA4NCAhZGVmYXVsdDtcbiR0dW1ibHI6ICAgICAgICAgICMzMjUwNmQgIWRlZmF1bHQ7XG4keGluZzogICAgICAgICAgICAjMDI2NDY2ICFkZWZhdWx0O1xuJGdpdGh1YjogICAgICAgICAgIzQxODNjNCAhZGVmYXVsdDtcbiRzdGFjay1vdmVyZmxvdzogICNmZTdhMTUgIWRlZmF1bHQ7XG4keW91dHViZTogICAgICAgICAjYjAwICFkZWZhdWx0O1xuJGRyaWJiYmxlOiAgICAgICAgI2VhNGM4OSAhZGVmYXVsdDtcbiRpbnN0YWdyYW06ICAgICAgICM1MTdmYTQgIWRlZmF1bHQ7XG4kcGludGVyZXN0OiAgICAgICAjY2IyMDI3ICFkZWZhdWx0O1xuJHZrOiAgICAgICAgICAgICAgIzQ1NjY4ZSAhZGVmYXVsdDtcbiR5YWhvbzogICAgICAgICAgICM0MDAxOTEgIWRlZmF1bHQ7XG4kYmVoYW5jZTogICAgICAgICAjMTc2OWZmICFkZWZhdWx0O1xuJHJlZGRpdDogICAgICAgICAgI2ZmNDUwMCAhZGVmYXVsdDtcbiR2aW1lbzogICAgICAgICAgICNhYWQ0NTAgIWRlZmF1bHQ7XG5cbiRicmFuZHMtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kYnJhbmRzLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJmYWNlYm9va1wiOiAgICAgICAgJGZhY2Vib29rLFxuICAgIFwidHdpdHRlclwiOiAgICAgICAgICR0d2l0dGVyLFxuICAgIFwibGlua2VkaW5cIjogICAgICAgICRsaW5rZWRpbixcbiAgICBcImZsaWNrclwiOiAgICAgICAgICAkZmxpY2tyLFxuICAgIFwidHVtYmxyXCI6ICAgICAgICAgICR0dW1ibHIsXG4gICAgXCJ4aW5nXCI6ICAgICAgICAgICAgJHhpbmcsXG4gICAgXCJnaXRodWJcIjogICAgICAgICAgJGdpdGh1YixcbiAgICBcInN0YWNrLW92ZXJmbG93XCI6ICAkc3RhY2stb3ZlcmZsb3csXG4gICAgXCJ5b3V0dWJlXCI6ICAgICAgICAgJHlvdXR1YmUsXG4gICAgXCJkcmliYmJsZVwiOiAgICAgICAgJGRyaWJiYmxlLFxuICAgIFwiaW5zdGFncmFtXCI6ICAgICAgICRpbnN0YWdyYW0sXG4gICAgXCJwaW50ZXJlc3RcIjogICAgICAgJHBpbnRlcmVzdCxcbiAgICBcInZrXCI6ICAgICAgICAgICAgICAkdmssXG4gICAgXCJ5YWhvb1wiOiAgICAgICAgICAgJHlhaG9vLFxuICAgIFwiYmVoYW5jZVwiOiAgICAgICAgICRiZWhhbmNlLFxuICAgIFwicmVkZGl0XCI6ICAgICAgICAgICRyZWRkaXQsXG4gICAgXCJ2aW1lb1wiOiAgICAgICAgICAgJHZpbWVvXG4gICksXG4gICRicmFuZHMtY29sb3JzXG4pO1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYy1jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwICRzcGFjZXI7XG4gIG1hcmdpbjogJHNwYWNlciAwO1xuXG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbi5jLWNhbGxvdXQtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItbGVmdC13aWR0aDogNHB4O1xufVxuLmMtY2FsbG91dCBjb2RlIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG4uYy1jYWxsb3V0IGg0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xufVxuLmMtY2FsbG91dCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmMtY2FsbG91dCArIC5jLWNhbGxvdXQge1xuICBtYXJnaW4tdG9wOiAtIC4yNXJlbTtcbn1cblxuLy9cbi8vIFZhcmlhbnRzXG4vL1xuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAuYy1jYWxsb3V0LSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdmFsdWU7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR2YWx1ZTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBjb2xvcjogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6ICRjYXJkLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtbWFyZ2luLWJvdHRvbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0aGVtZXMoJGNhcmQtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2FyZC1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjYXJkLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuZHJhZyxcbiAgLmRyYWcge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxufVxuXG4vLyBDYXJkcyB3aXRoIGNvbG9yIGFjY2VudFxuLmNhcmRbY2xhc3NePVwiYmctXCJdLFxuLmNhcmRbY2xhc3MqPVwiIGJnLVwiXSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMTI1KTsgLy9kYXJrZW4oJHZhbHVlLCAxMi41JSk7XG4gIC5jYXJkLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDUpOyAvL2RhcmtlbigkdmFsdWUsIDMlKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgLjEyNSk7IC8vZGFya2VuKCR2YWx1ZSwgMTIuNSUpO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIEBpbmNsdWRlIHRoZW1lcygkY2FyZC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2FyZC1jb2xvclwiKTtcbiAgfVxufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0kY2FyZC1zcGFjZXIteSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLXNwYWNlci14O1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSB0aGVtZXMoJGNhcmQtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImNhcmQtY2FwLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjYXJkLWNhcC1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjYXJkLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cblxuICArIC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG4gIC5jLWNoYXJ0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIHRoZW1lcygkY2FyZC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2FyZC1jYXAtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImNhcmQtY2FwLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImNhcmQtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBmbGV4LXNocmluazogMDsgLy8gRm9yIElFOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5Mzk2XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIENhcmQgZGVja1xuXG4uY2FyZC1kZWNrIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogLSRjYXJkLWRlY2stbWFyZ2luO1xuXG4gICAgLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gID4gLmNhcmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cblxuICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1wbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuMDI1KTtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICRncmF5LTMwMDtcbn1cblxuLmNhcmQtaGVhZGVyLWljb24tYmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAoJGNhcmQtc3BhY2VyLXkgKiAyKSArICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSk7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15IDA7XG4gIG1hcmdpbjogKC0gJGNhcmQtc3BhY2VyLXkpICRjYXJkLXNwYWNlci14ICgtICRjYXJkLXNwYWNlci15KSAoLSAkY2FyZC1zcGFjZXIteCk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogJGNhcmQtaWNvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAkY2FyZC1pY29uLWJnO1xuICBib3JkZXItcmlnaHQ6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgdGhlbWVzKCRjYXJkLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgYm9yZGVyLXJpZ2h0OiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2FyZC1ib3JkZXItY29sb3JcIik7XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyLWFjdGlvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkc3BhY2VyIC8gNCk7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogLSAoJHNwYWNlciAvIDQpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1hY3Rpb24ge1xuICBwYWRkaW5nOiAwICgkc3BhY2VyIC8gNCk7XG4gIGNvbG9yOiAkZ3JheS02MDA7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIENhcmRzIHdpdGggY29sb3IgYWNjZW50XG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAuY2FyZC1hY2NlbnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBjYXJkLWFjY2VudC12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuLmNhcmQtZnVsbCB7XG4gIG1hcmdpbi10b3A6IC0gJHNwYWNlcjtcbiAgbWFyZ2luLXJpZ2h0OiAtICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmNhcmQtY29sdW1ucyB7XG5cbiAgICAmLmNvbHMtMiB7XG4gICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuICB9XG59XG4iLCJcbi8vXG4vLyBDYXJkc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmRzXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogICAgICAgICRzcGFjZXIgKiAxLjUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuJGNhcmQtZGVjay1tYXJnaW46ICAgJGNhcmQtZ3JvdXAtbWFyZ2luICFkZWZhdWx0O1xuXG4kY2FyZC1jb2x1bW5zLWNvdW50OiAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICRjYXJkLXNwYWNlci15ICFkZWZhdWx0O1xuXG4kY2FyZC1pY29uLWJnOiAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kY2FyZC1pY29uLWNvbG9yOiAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmRzXG5cbi8vIERlZmF1bHQgdGhlbWVcbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJkcy1kZWZhdWx0LXRoZW1lXG4kY2FyZC1ib3JkZXItY29sb3I6ICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkcy1kZWZhdWx0LXRoZW1lXG5cbiRjYXJkLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNhcmQtdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcImNhcmQtYm9yZGVyLWNvbG9yXCI6ICAkY2FyZC1ib3JkZXItY29sb3IsXG4gICAgICBcImNhcmQtY2FwLWJnXCI6ICAgICAgICAkY2FyZC1jYXAtYmcsXG4gICAgICBcImNhcmQtY2FwLWNvbG9yXCI6ICAgICAkY2FyZC1jYXAtY29sb3IsXG4gICAgICBcImNhcmQtY29sb3JcIjogICAgICAgICAkY2FyZC1jb2xvcixcbiAgICAgIFwiY2FyZC1iZ1wiOiAgICAgICAgICAgICRjYXJkLWJnXG4gICAgKVxuICApLFxuICAkY2FyZC10aGVtZS1tYXBcbik7XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTmFtZSBvZiB0aGUgcHJldmlvdXMgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGZpcnN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1iZWZvcmUobGcpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KGxnLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChsZywgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtYmVmb3JlKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gLSAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2FyZC1hY2NlbnQtdmFyaWFudCgkY29sb3IpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAxMDAlIDEwMCU7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgfVxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbFxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6ICAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbFxuIiwiLmMtY2hhcnQtd3JhcHBlciBjYW52YXMge1xuICB3aWR0aDogMTAwJTtcbn1cbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgc2VsZWN0b3ItdHlwZS1uby11bmtub3duXG5iYXNlLWNoYXJ0LmNoYXJ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmNhbnZhcyB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAuNTtcbiAgQGluY2x1ZGUgdGhlbWVzKCRjbG9zZS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY2xvc2UtY29sb3JcIik7XG4gICAgdGV4dC1zaGFkb3c6IHRoZW1lcy1nZXQtdmFsdWUoXCJjbG9zZS10ZXh0LXNoYWRvd1wiKTtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGNsb3NlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImNsb3NlLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC8vIFN0cmVhbWxpbmUgdGhlIHN0eWxlIHdoZW4gaW5zaWRlIGFuY2hvcnMgdG8gYXZvaWQgYnJva2VuIHVuZGVybGluZSBhbmQgbW9yZVxuICBhID4gJiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDEwMCUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCJcblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogIDM0MHB4ICFkZWZhdWx0O1xuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgbGVmdDogMDtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3JcIik7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3JcIik7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmdcIikpO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gdGhlIG1peGluIGlzIG5vdCB1c2VkIGhlcmUgdG8gbWFrZSBzdXJlIHRoZXJlIGlzIGZlZWRiYWNrXG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZ1wiKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yXCIpO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmdcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG4gIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yXCIpO1xuICB9XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIHJpZ2h0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyOiBzb2xpZCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmdcIik7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIHJpZ2h0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvICN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplfTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcodGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3JcIik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2Zyh0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWRcIikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG4gIH1cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbGVmdDogLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgcmlnaHQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktYmxhY2tsaXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMiwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIGxlZnQ6IGFkZCgtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlciksICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICByaWdodDogYWRkKC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGhlaWdodDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dCwgJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnXCIpO1xuICAgICAgfVxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZ1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXNlbGVjdC1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXNlbGVjdC1iZ1wiKSB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkZm9ybS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWNvbG9yXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtYmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgfVxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yXCIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmdcIik7XG4gICAgfVxuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgfVxuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgfVxuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tZmlsZS1kaXNhYmxlZC1iZ1wiKTtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tZmlsZS1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWZpbGUtYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzICRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzIDApO1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvclwiKTtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tZmlsZS1idXR0b24tYmdcIikpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQsICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgLyAyOyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10aHVtYi1iZ1wiKSk7XG4gICAgfVxuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10cmFjay1iZ1wiKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRodW1iLWJnXCIpKTtcbiAgICB9XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmdcIikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tcmFuZ2UtdHJhY2stYmdcIik7XG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10aHVtYi1iZ1wiKSk7XG4gICAgfVxuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJjdXN0b20tcmFuZ2UtdHJhY2stYmdcIik7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10cmFjay1iZ1wiKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRjdXN0b20tZm9ybXMtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZ1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xufVxuIiwiJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogIDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6ICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogIDUwJSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiAgYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAkaW5wdXQtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgZW46IFwiQnJvd3NlXCJcbikgIWRlZmF1bHQ7XG5cblxuLy8gRGVmYXVsdCBUaGVtZVxuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgIHJnYmEodGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpLCAuNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0Jz48cGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIG5vLXJlcGVhdCByaWdodCAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyIC8gJGN1c3RvbS1zZWxlY3QtYmctc2l6ZSAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG5cblxuJGN1c3RvbS1mb3Jtcy10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjdXN0b20tZm9ybXMtdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmcsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3JcIjogICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yLFxuICAgICAgXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmdcIjogICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnLFxuICAgICAgXCJjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3IsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yXCI6ICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcixcbiAgICAgIFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmdcIjogICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnLFxuICAgICAgXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZ1wiOiAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvclwiOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3IsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3JcIjogICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcixcbiAgICAgIFwiY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcsXG4gICAgICBcImN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcixcbiAgICAgIFwiY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWRcIjogICAgICAgICAgICAgICAgJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkLFxuICAgICAgXCJjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmdcIjogICAgICAgICAgICAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnLFxuICAgICAgXCJjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3JcIjogICAgICAgICAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yLFxuICAgICAgXCJjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yXCI6ICAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcixcbiAgICAgIFwiY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGVcIjogICAgICAgICAgJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlLFxuICAgICAgXCJjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZFwiOiAgICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQsXG4gICAgICBcImN1c3RvbS1zZWxlY3QtY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tc2VsZWN0LWNvbG9yLFxuICAgICAgXCJjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcixcbiAgICAgIFwiY3VzdG9tLXNlbGVjdC1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtYmcsXG4gICAgICBcImN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnLFxuICAgICAgXCJjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3IsXG4gICAgICBcImN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tc2VsZWN0LWluZGljYXRvcixcbiAgICAgIFwiY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCxcbiAgICAgIFwiY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3IsXG4gICAgICBcImN1c3RvbS1yYW5nZS10cmFjay1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdHJhY2stYmcsXG4gICAgICBcImN1c3RvbS1yYW5nZS10aHVtYi1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItYmcsXG4gICAgICBcImN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnLFxuICAgICAgXCJjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnLFxuICAgICAgXCJjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJjdXN0b20tZmlsZS1kaXNhYmxlZC1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmcsXG4gICAgICBcImN1c3RvbS1maWxlLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvcixcbiAgICAgIFwiY3VzdG9tLWZpbGUtYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1maWxlLWJnLFxuICAgICAgXCJjdXN0b20tZmlsZS1ib3JkZXItY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJjdXN0b20tZmlsZS1idXR0b24tY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yLFxuICAgICAgXCJjdXN0b20tZmlsZS1idXR0b24tYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWZpbGUtYnV0dG9uLWJnXG4gICAgKVxuICApLFxuICAkY3VzdG9tLWZvcm1zLXRoZW1lLW1hcFxuKTtcbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICAvLyBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15IDA7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSB0aGVtZXMoJGRyb3Bkb3duLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiZHJvcGRvd24tYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiZHJvcGRvd24tYm9yZGVyLWNvbG9yXCIpO1xuICB9XG59XG5cbi5jLWhlYWRlciAuZHJvcGRvd24tbWVudSxcbi5uYXZiYXIgLmRyb3Bkb3duLW1lbnUsXG5bZGF0YS1kaXNwbGF5Xj1cInN0YXRpY1wiXSB+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmMtaGVhZGVyIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQsXG4gICAgLm5hdmJhciAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0LFxuICAgIFtkYXRhLWRpc3BsYXlePVwic3RhdGljXCJdIH4gLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jLWhlYWRlciAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCxcbiAgICAubmF2YmFyIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0LFxuICAgIFtkYXRhLWRpc3BsYXlePVwic3RhdGljXCJdIH4gLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91XCJyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgdGhlbWVzKCRkcm9wZG93bi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyKHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1kaXZpZGVyLWJnXCIpLCAkZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSwgdHJ1ZSk7XG4gIH1cbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkZHJvcGRvd24tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWxpbmstY29sb3JcIik7XG4gIH1cblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlXCJzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC8vIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWhvdmVyLWJnKTtcblxuICAgIEBpbmNsdWRlIHRoZW1lcygkZHJvcGRvd24tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiZHJvcGRvd24tbGluay1ob3Zlci1jb2xvclwiKTtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1saW5rLWhvdmVyLWJnXCIpKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAvLyBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuXG4gICAgQGluY2x1ZGUgdGhlbWVzKCRkcm9wZG93bi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvclwiKTtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1saW5rLWFjdGl2ZS1iZ1wiKSk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGhlbWVzKCRkcm9wZG93bi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxuICBAaW5jbHVkZSB0aGVtZXMoJGRyb3Bkb3duLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJkcm9wZG93bi1oZWFkZXItY29sb3JcIik7XG4gIH1cbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkZHJvcGRvd24tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImRyb3Bkb3duLWxpbmstY29sb3JcIik7XG4gIH1cbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB9XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duc1xuXG4vLyBEZWZhdWx0IHRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd25zLWRlZmF1bHQtdGhlbWVcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bnMtZGVmYXVsdC10aGVtZVxuXG5cbiRkcm9wZG93bi10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRkcm9wZG93bi10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwiZHJvcGRvd24tY29sb3JcIjogICAgICAgICAgICAgICAgJGRyb3Bkb3duLWNvbG9yLFxuICAgICAgXCJkcm9wZG93bi1ib3JkZXItY29sb3JcIjogICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yLFxuICAgICAgXCJkcm9wZG93bi1iZ1wiOiAgICAgICAgICAgICAgICAgICAkZHJvcGRvd24tYmcsXG4gICAgICBcImRyb3Bkb3duLWRpdmlkZXItYmdcIjogICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnLFxuICAgICAgXCJkcm9wZG93bi1saW5rLWNvbG9yXCI6ICAgICAgICAgICAkZHJvcGRvd24tbGluay1jb2xvcixcbiAgICAgIFwiZHJvcGRvd24tbGluay1ob3Zlci1jb2xvclwiOiAgICAgJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IsXG4gICAgICBcImRyb3Bkb3duLWxpbmstaG92ZXItYmdcIjogICAgICAgICRkcm9wZG93bi1saW5rLWhvdmVyLWJnLFxuICAgICAgXCJkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvclwiOiAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IsXG4gICAgICBcImRyb3Bkb3duLWxpbmstYWN0aXZlLWJnXCI6ICAgICAgICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyxcbiAgICAgIFwiZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvclwiOiAgJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3IsXG4gICAgICBcImRyb3Bkb3duLWhlYWRlci1jb2xvclwiOiAgICAgICAgICRkcm9wZG93bi1oZWFkZXItY29sb3JcbiAgICApXG4gICksXG4gICRkcm9wZG93bi10aGVtZS1tYXBcbik7XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi5jLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCAkZm9vdGVyLWhlaWdodDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6ICRmb290ZXItaGVpZ2h0O1xuICBwYWRkaW5nOiAwICRzcGFjZXI7XG5cbiAgJltjbGFzcyo9XCJiZy1cIl0ge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKTtcbiAgfVxuXG4gICYuYy1mb290ZXItZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xuICB9XG59XG5cbkBpbmNsdWRlIHRoZW1lcygkZm9vdGVyLXRoZW1lLW1hcCwgJHBhcmVudDogXCIuYy1mb290ZXJcIikge1xuICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImZvb3Rlci1jb2xvclwiKTtcbiAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcImZvb3Rlci1iZ1wiKTtcbiAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwiZm9vdGVyLWJvcmRlcnNcIikpO1xufVxuIiwiLy8gRm9vdGVyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb290ZXJcbiRmb290ZXItaGVpZ2h0OiAgNTBweCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9vdGVyXG5cblxuLy8gRGVmYXVsdCBUaGVtZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvb3Rlci1kZWZhdWx0LXRoZW1lXG4kZm9vdGVyLWRhcmstYmc6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb290ZXItZGFyay1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGZvb3Rlci1kYXJrLWJvcmRlcnM6ICAwICFkZWZhdWx0O1xuXG4kZm9vdGVyLWxpZ2h0LWJnOiAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpZ2h0LWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRmb290ZXItbGlnaHQtYm9yZGVyczogICggdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvciApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb290ZXItZGVmYXVsdC10aGVtZVxuXG4kZm9vdGVyLXZhcmlhbnRzLW1hcDogICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb290ZXItdmFyaWFudHMtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkYXJrOiAoXG4gICAgICBcImZvb3Rlci1iZ1wiOiAgICAgICAkZm9vdGVyLWRhcmstYmcsXG4gICAgICBcImZvb3Rlci1jb2xvclwiOiAgICAkZm9vdGVyLWRhcmstY29sb3IsXG4gICAgICBcImZvb3Rlci1ib3JkZXJzXCI6ICAkZm9vdGVyLWRhcmstYm9yZGVyc1xuICAgICksXG4gICAgbGlnaHQ6IChcbiAgICAgIFwiZm9vdGVyLWJnXCI6ICAgICAgICRmb290ZXItbGlnaHQtYmcsXG4gICAgICBcImZvb3Rlci1jb2xvclwiOiAgICAkZm9vdGVyLWxpZ2h0LWNvbG9yLFxuICAgICAgXCJmb290ZXItYm9yZGVyc1wiOiAgJGZvb3Rlci1saWdodC1ib3JkZXJzXG4gICAgKVxuICApLFxuICAkZm9vdGVyLXZhcmlhbnRzLW1hcFxuKTtcblxuJGZvb3Rlci1kZWZhdWx0LXZhcmlhbnQ6IFwibGlnaHRcIiAhZGVmYXVsdDtcbiRmb290ZXItdmFyaWFudHM6IChcbiAgXCJkZWZhdWx0XCI6ICRmb290ZXItZGVmYXVsdC12YXJpYW50LFxuICBcIm1hcFwiOiAgICAgJGZvb3Rlci12YXJpYW50cy1tYXBcbikgIWRlZmF1bHQ7XG5cblxuJGZvb3Rlci10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb290ZXItdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAkZm9vdGVyLXZhcmlhbnRzLFxuICApLFxuICAkZm9vdGVyLXRoZW1lLW1hcFxuKTtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIHRoZW1lcygkZm9ybS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiB0cnVlKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LXBsYWNlaG9sZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtZGlzYWJsZWQtYmdcIik7XG4gICAgfVxuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJGZvcm0tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtYmdcIik7XG4gICAgfVxuICB9XG5cbiAgb3B0aW9uIHtcbiAgICAvLyBBZGQgYmFja2dyb3VuZC1jb2xvciBmb3Igb3B0aW9uIGVsZW1lbnRzXG4gICAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2VsZWN0LW9wdGlvbi1iZ1wiKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuICBAaW5jbHVkZSB0aGVtZXMoJGZvcm0tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LXBsYWludGV4dC1jb2xvclwiKTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuXG4gID4gLmNvbCxcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIG1hcmdpbi1yaWdodDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgZm9yIHdvcmthcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5mb3JtLWNoZWNrLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkdHlwb2dyYXBoeS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0ZXh0LW11dGVkXCIpO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIGJvdHRvbSBtYXJnaW5cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDtcbiAgfVxuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLWlubGluZS1pbnB1dC1tYXJnaW4teDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1jb2xvciB7XG4gIG1heC13aWR0aDogM3JlbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteTtcbn1cblxuLmZvcm0tY29udHJvbC1jb2xvcjo6LW1vei1jb2xvci1zd2F0Y2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmZvcm0tY29udHJvbC1jb2xvcjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1mb2N1cy1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1mb2N1cy1iZ1wiKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWZvY3VzLWJvcmRlci1jb2xvclwiKTtcbiAgICB9XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciBsZWZ0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtYmcgbm8tcmVwZWF0ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXItbWF4LXdpZHRocygpO1xuICB9XG5cbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuXG4ucm93LnJvdy1lcXVhbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyA0KTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gNCk7XG4gIG1hcmdpbi1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbiAgbWFyZ2luLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG5cbiAgW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyA0KTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyA0KTtcbiAgfVxufVxuXG4ubWFpbiAuY29udGFpbmVyLWZsdWlkIHtcbiAgcGFkZGluZzogMCAzMHB4O1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gICYgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJSAvICRjb3VudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgLyAkY291bnQ7XG4gIH1cbn1cbiIsIlxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICA2ICFkZWZhdWx0O1xuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCN7JGluZml4fSxcbiAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTQxMFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYy1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1pbi1oZWlnaHQ6ICRoZWFkZXItaGVpZ2h0O1xuXG4gICZbY2xhc3MqPVwiYmctXCJdICB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpO1xuICB9XG5cbiAgJi5jLWhlYWRlci1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1maXhlZCAtIDE7XG4gIH1cblxuICAuYy1zdWJoZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cblxuLmMtaGVhZGVyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogJGhlYWRlci1icmFuZC13aWR0aDtcbiAgbWluLWhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gIHRyYW5zaXRpb246IHdpZHRoICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcblxuICAmLmMtaGVhZGVyLWJyYW5kLWNlbnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGhlYWRlci1oZWlnaHQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuXG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICYuYy1oZWFkZXItYnJhbmQtI3skYnJlYWtwb2ludH0tZG93bi1jZW50ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogJGhlYWRlci1oZWlnaHQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICYuYy1oZWFkZXItYnJhbmQtI3skYnJlYWtwb2ludH0tdXAtY2VudGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6ICRoZWFkZXItaGVpZ2h0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYy1oZWFkZXItdG9nZ2xlciB7XG4gIG1pbi13aWR0aDogNTBweDtcbiAgZm9udC1zaXplOiAkaGVhZGVyLXRvZ2dsZXItZm9udC1zaXplO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXRvZ2dsZXItYmc7XG4gIGJvcmRlcjogMDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlcnMoJGhlYWRlci10b2dnbGVyLWJvcmRlcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGhlYWRlci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5uYXZiYXItdG9nZ2xlciBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguYy1kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4uYy1oZWFkZXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogJGhlYWRlci10b2dnbGVyLWZvbnQtc2l6ZSAqIDEuMjU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4uYy1oZWFkZXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLmMtaGVhZGVyLW5hdi1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuYy1oZWFkZXItbmF2LWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jLWhlYWRlci1uYXYtbGluayxcbiAgLmMtaGVhZGVyLW5hdi1idG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRoZWFkZXItbmF2LWxpbmstcGFkZGluZy14O1xuXG4gICAgLmJhZGdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1pdGVtIHtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xuICB9XG59XG5cbi8vXG4vLyBIZWFkZXIgdmFyaWFudHNcbi8vXG5cbkBpbmNsdWRlIHRoZW1lcygkaGVhZGVyLXRoZW1lLW1hcCwgJGNyZWF0ZTogYXBwZW5kLCAkcGFyZW50OiBcIi5jLWhlYWRlclwiKSB7XG4gIGJhY2tncm91bmQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItYmdcIik7XG4gIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1ib3JkZXJcIikpO1xuXG4gIC5jLXN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBib3JkZXItdG9wOiB0aGVtZXMtZ2V0LXZhbHVlKFwic3ViaGVhZGVyLXNlcGFyYXRvclwiKTtcbiAgfVxuXG4gIC5jLWhlYWRlci1icmFuZCB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItYnJhbmQtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1icmFuZC1iZ1wiKTtcbiAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItYnJhbmQtYm9yZGVyXCIpKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLWJyYW5kLWhvdmVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5jLWhlYWRlci1uYXYge1xuICAgIC5jLWhlYWRlci1uYXYtbGluayxcbiAgICAuYy1oZWFkZXItbmF2LWJ0biB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1jb2xvclwiKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1ob3Zlci1jb2xvclwiKTtcbiAgICAgIH1cblxuICAgICAgJi5jLWRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtc2hvdyA+IC5jLWhlYWRlci1uYXYtbGluayxcbiAgICAuYy1hY3RpdmUgPiAuYy1oZWFkZXItbmF2LWxpbmssXG4gICAgLmMtaGVhZGVyLW5hdi1saW5rLmMtc2hvdyxcbiAgICAuYy1oZWFkZXItbmF2LWxpbmsuYy1hY3RpdmUge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItYWN0aXZlLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5jLWhlYWRlci10b2dnbGVyIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci1jb2xvclwiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItdG9nZ2xlci1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAuYy1oZWFkZXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLXRvZ2dsZXItaWNvbi1iZ1wiKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdGhlbWVzLWdldC12YWx1ZShcImhlYWRlci10b2dnbGVyLWhvdmVyLWljb24tYmdcIik7XG4gICAgfVxuICB9XG5cbiAgLmMtaGVhZGVyLXRleHQge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLWNvbG9yXCIpO1xuICAgIGEge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoZWFkZXItYWN0aXZlLWNvbG9yXCIpO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaGVhZGVyLWFjdGl2ZS1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlYWRlclxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGVyXG4kaGVhZGVyLWhlaWdodDogICAgICAgICAgICAgICAgIDU2cHggIWRlZmF1bHQ7XG4kaGVhZGVyLWJyYW5kLXdpZHRoOiAgICAgICAgICAgIGF1dG8gIWRlZmF1bHQ7XG4kaGVhZGVyLWJyYW5kLW1pbmltaXplZC13aWR0aDogIDU2cHggIWRlZmF1bHQ7XG5cbiRoZWFkZXItcGFkZGluZy15OiAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGVyLXBhZGRpbmcteDogICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRoZWFkZXItbmF2LWxpbmstcGFkZGluZy14OiAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRoZWFkZXItYnJhbmQtZm9udC1zaXplOiAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtaGVpZ2h0OiAgICAgJGhlYWRlci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtcGFkZGluZy15OiAgKCRuYXYtbGluay1oZWlnaHQgLSAkaGVhZGVyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkZXJcblxuXG4vLyBEZWZhdWx0IHRoZW1lXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkZXItZGVmYXVsdC10aGVtZVxuJGhlYWRlci10b2dnbGVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRoZWFkZXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGhlYWRlci10b2dnbGVyLXBhZGRpbmcteDogICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItYm9yZGVyOiAgICAgICAgIDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGhlYWRlci1saWdodC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICggYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvciApICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skaGVhZGVyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyLjI1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRoZWFkZXItbGlnaHQtdG9nZ2xlci1ob3Zlci1pY29uLWJnOiAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGhlYWRlci1saWdodC1ob3Zlci1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMi4yNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRoZWFkZXItZGFyay1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS1iYXNlICFkZWZhdWx0O1xuJGhlYWRlci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJGhlYWRlci1kYXJrLWJvcmRlcjogICAgICAgICAgICAgICAgICggYm90dG9tOiAxcHggc29saWQgJGdyYXktODAwICkgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC45KSAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGhlYWRlci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyLjI1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRoZWFkZXItZGFyay10b2dnbGVyLWhvdmVyLWljb24tYmc6ICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skaGVhZGVyLWRhcmstaG92ZXItY29sb3J9JyBzdHJva2Utd2lkdGg9JzIuMjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGhlYWRlci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRoZWFkZXItbGlnaHQtYnJhbmQtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhlYWRlci1saWdodC1icmFuZC1ib3JkZXI6ICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRoZWFkZXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRoZWFkZXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDEwJSkgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpZ2h0LWJyYW5kLW1pbmltaXplZC1iZzogICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRoZWFkZXItbGlnaHQtYnJhbmQtbWluaW1pemVkLWJvcmRlcjogIDAgIWRlZmF1bHQ7XG5cbiRoZWFkZXItZGFyay1icmFuZC1iZzogICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstYnJhbmQtYm9yZGVyOiAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICRoZWFkZXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICRoZWFkZXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kaGVhZGVyLWRhcmstYnJhbmQtbWluaW1pemVkLWJnOiAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhlYWRlci1kYXJrLWJyYW5kLW1pbmltaXplZC1ib3JkZXI6ICAwICFkZWZhdWx0O1xuXG4kc3ViaGVhZGVyLWxpZ2h0LXNlcGFyYXRvcjogIDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kc3ViaGVhZGVyLWRhcmstc2VwYXJhdG9yOiAgMXB4IHNvbGlkICRncmF5LTgwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGVyLWRlZmF1bHQtdGhlbWVcblxuXG4kaGVhZGVyLXZhcmlhbnRzLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGhlYWRlci12YXJpYW50cy1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRhcms6IChcbiAgICAgIFwiaGVhZGVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkZXItZGFyay1iZyxcbiAgICAgIFwiaGVhZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICRoZWFkZXItZGFyay1jb2xvcixcbiAgICAgIFwiaGVhZGVyLWJvcmRlclwiOiAgICAgICAgICAgICAgICAgICRoZWFkZXItZGFyay1ib3JkZXIsXG4gICAgICBcImhlYWRlci1ob3Zlci1jb2xvclwiOiAgICAgICAgICAgICAkaGVhZGVyLWRhcmstaG92ZXItY29sb3IsXG4gICAgICBcImhlYWRlci1hY3RpdmUtY29sb3JcIjogICAgICAgICAgICAkaGVhZGVyLWRhcmstYWN0aXZlLWNvbG9yLFxuICAgICAgXCJoZWFkZXItZGlzYWJsZWQtY29sb3JcIjogICAgICAgICAgJGhlYWRlci1kYXJrLWRpc2FibGVkLWNvbG9yLFxuICAgICAgXCJoZWFkZXItdG9nZ2xlci1pY29uLWJnXCI6ICAgICAgICAgJGhlYWRlci1kYXJrLXRvZ2dsZXItaWNvbi1iZyxcbiAgICAgIFwiaGVhZGVyLXRvZ2dsZXItaG92ZXItaWNvbi1iZ1wiOiAgICRoZWFkZXItZGFyay10b2dnbGVyLWhvdmVyLWljb24tYmcsXG4gICAgICBcImhlYWRlci10b2dnbGVyLWJvcmRlci1jb2xvclwiOiAgICAkaGVhZGVyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3IsXG4gICAgICBcImhlYWRlci1icmFuZC1iZ1wiOiAgICAgICAgICAgICAgICAkaGVhZGVyLWRhcmstYnJhbmQtYmcsXG4gICAgICBcImhlYWRlci1icmFuZC1ib3JkZXJcIjogICAgICAgICAgICAkaGVhZGVyLWRhcmstYnJhbmQtYm9yZGVyLFxuICAgICAgXCJoZWFkZXItYnJhbmQtY29sb3JcIjogICAgICAgICAgICAgJGhlYWRlci1kYXJrLWJyYW5kLWNvbG9yLFxuICAgICAgXCJoZWFkZXItYnJhbmQtaG92ZXItY29sb3JcIjogICAgICAgJGhlYWRlci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yLFxuICAgICAgXCJoZWFkZXItYnJhbmQtbWluaW1pemVkLWJnXCI6ICAgICAgJGhlYWRlci1kYXJrLWJyYW5kLW1pbmltaXplZC1iZyxcbiAgICAgIFwiaGVhZGVyLWJyYW5kLW1pbmltaXplZC1ib3JkZXJcIjogICRoZWFkZXItZGFyay1icmFuZC1taW5pbWl6ZWQtYm9yZGVyLFxuICAgICAgXCJzdWJoZWFkZXItc2VwYXJhdG9yXCI6ICAgICAgICAgICAgJHN1YmhlYWRlci1kYXJrLXNlcGFyYXRvclxuICAgICksXG4gICAgbGlnaHQ6IChcbiAgICAgIFwiaGVhZGVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkZXItbGlnaHQtYmcsXG4gICAgICBcImhlYWRlci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAkaGVhZGVyLWxpZ2h0LWNvbG9yLFxuICAgICAgXCJoZWFkZXItYm9yZGVyXCI6ICAgICAgICAgICAgICAgICAgJGhlYWRlci1saWdodC1ib3JkZXIsXG4gICAgICBcImhlYWRlci1ob3Zlci1jb2xvclwiOiAgICAgICAgICAgICAkaGVhZGVyLWxpZ2h0LWhvdmVyLWNvbG9yLFxuICAgICAgXCJoZWFkZXItYWN0aXZlLWNvbG9yXCI6ICAgICAgICAgICAgJGhlYWRlci1saWdodC1hY3RpdmUtY29sb3IsXG4gICAgICBcImhlYWRlci1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICAkaGVhZGVyLWxpZ2h0LWRpc2FibGVkLWNvbG9yLFxuICAgICAgXCJoZWFkZXItdG9nZ2xlci1pY29uLWJnXCI6ICAgICAgICAgJGhlYWRlci1saWdodC10b2dnbGVyLWljb24tYmcsXG4gICAgICBcImhlYWRlci10b2dnbGVyLWhvdmVyLWljb24tYmdcIjogICAkaGVhZGVyLWxpZ2h0LXRvZ2dsZXItaG92ZXItaWNvbi1iZyxcbiAgICAgIFwiaGVhZGVyLXRvZ2dsZXItYm9yZGVyLWNvbG9yXCI6ICAgICRoZWFkZXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3IsXG4gICAgICBcImhlYWRlci1icmFuZC1iZ1wiOiAgICAgICAgICAgICAgICAkaGVhZGVyLWxpZ2h0LWJyYW5kLWJnLFxuICAgICAgXCJoZWFkZXItYnJhbmQtYm9yZGVyXCI6ICAgICAgICAgICAgJGhlYWRlci1saWdodC1icmFuZC1ib3JkZXIsXG4gICAgICBcImhlYWRlci1icmFuZC1jb2xvclwiOiAgICAgICAgICAgICAkaGVhZGVyLWxpZ2h0LWJyYW5kLWNvbG9yLFxuICAgICAgXCJoZWFkZXItYnJhbmQtaG92ZXItY29sb3JcIjogICAgICAgJGhlYWRlci1saWdodC1icmFuZC1ob3Zlci1jb2xvcixcbiAgICAgIFwiaGVhZGVyLWJyYW5kLW1pbmltaXplZC1iZ1wiOiAgICAgICRoZWFkZXItbGlnaHQtYnJhbmQtbWluaW1pemVkLWJnLFxuICAgICAgXCJoZWFkZXItYnJhbmQtbWluaW1pemVkLWJvcmRlclwiOiAgJGhlYWRlci1saWdodC1icmFuZC1taW5pbWl6ZWQtYm9yZGVyLFxuICAgICAgXCJzdWJoZWFkZXItc2VwYXJhdG9yXCI6ICAgICAgICAgICAgJHN1YmhlYWRlci1saWdodC1zZXBhcmF0b3JcbiAgICApXG4gICksXG4gICRoZWFkZXItdmFyaWFudHMtbWFwXG4pO1xuXG4kaGVhZGVyLWRlZmF1bHQtdmFyaWFudDogXCJsaWdodFwiICFkZWZhdWx0O1xuJGhlYWRlci12YXJpYW50czogKFxuICBkZWZhdWx0OiAgJGhlYWRlci1kZWZhdWx0LXZhcmlhbnQsXG4gIG1hcDogICAgICAkaGVhZGVyLXZhcmlhbnRzLW1hcFxuKSAhZGVmYXVsdDtcblxuJGhlYWRlci10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRoZWFkZXItdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAgJGhlYWRlci12YXJpYW50c1xuICApLFxuICAkaGVhZGVyLXRoZW1lLW1hcFxuKTtcbiIsIi5jLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgJjpub3QoLmMtaWNvbi1jLXMpOm5vdCguYy1pY29uLWN1c3RvbS1zaXplKSB7XG4gICAgQGluY2x1ZGUgaWNvbi1zaXplKCRpY29uLXNpemUtYmFzZSk7XG5cbiAgICAvLyBUT0RPOiBjcmVhdGUgdmFyaWFibGUgd2l0aCBhIHJhbmdlXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA5IHtcbiAgICAgICYuYy1pY29uLSN7JGl9eGwge1xuICAgICAgICBAaW5jbHVkZSBpY29uLXNpemUoJGkgKiAoJGljb24tc2l6ZS14bCAvIDEuNSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYy1pY29uLXhsIHtcbiAgICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaWNvbi1zaXplLXhsKTtcbiAgICB9XG5cbiAgICAmLmMtaWNvbi1sZyB7XG4gICAgICBAaW5jbHVkZSBpY29uLXNpemUoJGljb24tc2l6ZS1sZyk7XG4gICAgfVxuXG4gICAgJi5jLWljb24tc20ge1xuICAgICAgQGluY2x1ZGUgaWNvbi1zaXplKCRpY29uLXNpemUtc20pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSWNvbiBzaXplc1xuQG1peGluIGljb24tc2l6ZSgkaWNvbi1zaXplKSB7XG4gIHdpZHRoOiAkaWNvbi1zaXplO1xuICBoZWlnaHQ6ICRpY29uLXNpemU7XG4gIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGN1c3RvbSBmaWxlIGlucHV0IGFib3ZlIHRoZSBsYWJlbFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VzdG9tIGZpbGUgaW5wdXRzIGhhdmUgbW9yZSBjb21wbGV4IG1hcmt1cCwgdGh1cyByZXF1aXJpbmcgZGlmZmVyZW50XG4gIC8vIGJvcmRlci1yYWRpdXMgb3ZlcnJpZGVzLlxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBAaW5jbHVkZSBsdHIge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkZm9ybS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtZ3JvdXAtYWRkb24tY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWdyb3VwLWFkZG9uLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBsdHIge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAvIDI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCgpIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCIvLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWxcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGh1bWJuYWlsXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZmlndXJlXG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcblxuICBAaW5jbHVkZSB0aGVtZXMoJGp1bWJvdHJvbi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwianVtYm90cm9uLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJqdW1ib3Ryb24tYmdcIik7XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCJcbi8vIEp1bWJvdHJvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQganVtYm90cm9uXG4kanVtYm90cm9uLXBhZGRpbmc6ICAycmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBqdW1ib3Ryb25cblxuLy8gRGVmYXVsdCB0aGVtZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGp1bWJvdHJvbi1kZWZhdWx0LXRoZW1lXG4kanVtYm90cm9uLWNvbG9yOiAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGp1bWJvdHJvbi1kZWZhdWx0LXRoZW1lXG5cbiRqdW1ib3Ryb24tdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kanVtYm90cm9uLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJqdW1ib3Ryb24tY29sb3JcIjogICRqdW1ib3Ryb24tY29sb3IsXG4gICAgICBcImp1bWJvdHJvbi1iZ1wiOiAgICAgJGp1bWJvdHJvbi1iZ1xuICAgIClcbiAgKSxcbiAgJGp1bWJvdHJvbi10aGVtZS1tYXBcbik7XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgfVxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG4gIEBpbmNsdWRlIHRoZW1lcygkbGlzdC1ncm91cC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGlzdC1ncm91cC1hY3Rpb24tY29sb3JcIik7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIHRoZW1lcygkbGlzdC1ncm91cC10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWhvdmVyLWJnXCIpO1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGxpc3QtZ3JvdXAtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yXCIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZ1wiKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgdGhlbWVzKCRsaXN0LWdyb3VwLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRsaXN0LWdyb3VwLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGlzdC1ncm91cC1kaXNhYmxlZC1iZ1wiKTtcbiAgICB9XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBAaW5jbHVkZSB0aGVtZXMoJGxpc3QtZ3JvdXAtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGlzdC1ncm91cC1hY3RpdmUtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibGlzdC1ncm91cC1hY3RpdmUtYmdcIik7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1tb2RpZmllcnNcbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsICB0aGVtZS1jb2xvci1sZXZlbCgkdmFsdWUsIC05KSwgIHRoZW1lLWNvbG9yLWxldmVsKCR2YWx1ZSwgNikpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gTGlzdCBpdGVtcyB3aXRoIGFjY2VudFxuLy9cbi8vIFJlbW92ZSB0b3AsIGJvdHRvbWUgYW5kIHJpZ2h0IGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMuXG5cbi5saXN0LWdyb3VwLWFjY2VudCB7XG4gIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1kaXZpZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgbGVmdDogNSU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICByaWdodDogNSU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRsaXN0LWdyb3VwLXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJsaXN0LWdyb3VwLWJvcmRlci1jb2xvclwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4gIC8vXG4gIC8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSBib3JkZXIgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbiAgQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tYWNjZW50LXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xuICB9XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLWFjY2VudC12YXJpYW50KCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tYWNjZW50LSN7JHN0YXRlfSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkY29sb3I7XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbiAgQGluY2x1ZGUgdGhlbWVzKCRtb2RhbC10aGVtZS1tYXApIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm1vZGFsLWNvbnRlbnQtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm1vZGFsLWNvbnRlbnQtYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibW9kYWwtY29udGVudC1ib3JkZXItY29sb3JcIik7XG4gIH1cbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0aGVtZXMoJG1vZGFsLXRoZW1lLW1hcCkge1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm1vZGFsLWhlYWRlci1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIGxlZnQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmcgLSAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuIC8gMjtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0aGVtZXMoJG1vZGFsLXRoZW1lLW1hcCkge1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiAqIHtcbiAgICBtYXJnaW46ICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gLyAyO1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAubW9kYWwtI3skY29sb3J9IHtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHZhbHVlO1xuICAgIH1cblxuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE1vZGFsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWxcbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG4vLyBNYXJnaW4gYmV0d2VlbiBlbGVtZW50cyBpbiBmb290ZXIsIG11c3QgYmUgbG93ZXIgdGhhbiBvciBlcXVhbCB0byAyICogJG1vZGFsLWlubmVyLXBhZGRpbmdcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6ICBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXhsOiAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsXG5cbi8vIERlZmF1bHQgdGhlbWVcbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1kZWZhdWx0LXRoZW1lXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZGVmYXVsdC10aGVtZVxuXG4kbW9kYWwtdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kbW9kYWwtdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcIm1vZGFsLWNvbnRlbnQtY29sb3JcIjogICAgICAgICAkbW9kYWwtY29udGVudC1jb2xvcixcbiAgICAgIFwibW9kYWwtY29udGVudC1iZ1wiOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJnLFxuICAgICAgXCJtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvclwiOiAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yXCI6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IsXG4gICAgICBcIm1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3JcIjogICAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcixcbiAgICApXG4gICksXG4gICRtb2RhbC10aGVtZS1tYXBcbik7XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMgb3IgYDx1bD5gcy5cblxuLm5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBAaW5jbHVkZSBsdHIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LWxpbmstZGlzYWJsZWQtY29sb3JcIik7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSB0aGVtZXMoJG5hdi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkbmF2LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtbGluay1kaXNhYmxlZC1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkbmF2LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yXCIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWxpbmstYWN0aXZlLWJnXCIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG5cbiAgLy8gJi5uYXYtdGFicy1ib3hlZCB7XG4gIC8vICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYm94ZWQtYm9yZGVyLWNvbG9yO1xuICAvLyAgICsgLnRhYi1jb250ZW50IHtcblxuICAvLyAgICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAvLyAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtYm94ZWQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vICAgfVxuICAvLyB9XG59XG5cbi5uYXYtdGFicy1ib3hlZCB7XG4gIC5uYXYtdGFicyB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVzKCRuYXYtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtYm94ZWQtbGluay1hY3RpdmUtYmdcIik7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWJveGVkLWxpbmstYWN0aXZlLWJnXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWItY29udGVudCB7XG4gICAgcGFkZGluZzogJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtcGFkZGluZy15ICRuYXYtdGFicy1ib3hlZC1jb250ZW50LXBhZGRpbmcteDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzICRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIHRoZW1lcygkbmF2LXRoZW1lLW1hcCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvclwiKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtdGFicy1ib3hlZC1jb250ZW50LWJnXCIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgJi5uYXYtdGFicy1ib3hlZC10b3AtcmlnaHQge1xuICAgIC5uYXYtdGFicyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAudGFiLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzIDAgJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLm5hdi10YWJzLWJveGVkLWxlZnQsXG4gICYubmF2LXRhYnMtYm94ZWQtcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAubmF2LWl0ZW0ge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJi5uYXYtdGFicy1ib3hlZC1sZWZ0IHtcbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIH1cblxuICAgIC5uYXYtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMgMCAwICRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lcygkbmF2LXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWJveGVkLWxlZnQtYWN0aXZlLWJvcmRlci1jb2xvclwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubmF2LXRhYnMtYm94ZWQtcmlnaHQge1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzIDApO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lcygkbmF2LXRoZW1lLW1hcCkge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdi10YWJzLWJveGVkLXJpZ2h0LWFjdGl2ZS1ib3JkZXItY29sb3JcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFiLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzIDAgJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdi1waWxscy1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSB0aGVtZXMoJG5hdi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnXCIpO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gVW5kZXJsaW5lXG4vL1xuXG4ubmF2LXVuZGVybGluZSB7XG4gIGJvcmRlci1ib3R0b206ICgyICogJG5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQ7XG4gIEBpbmNsdWRlIHRoZW1lcygkbmF2LXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2LXRhYnMtYm9yZGVyLWNvbG9yXCIpO1xuICB9XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtICgyICogJG5hdi10YWJzLWJvcmRlci13aWR0aCk7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICRuYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC5uYXYtdW5kZXJsaW5lLSN7JGNvbG9yfSB7XG4gICAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJHZhbHVlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLyBUYWJzIGluIFNpZGViYXJcblxuLmMtc2lkZWJhciB7XG4gIC5uYXYtdGFiczpmaXJzdC1jaGlsZCxcbiAgLmMtc2lkZWJhci1jbG9zZSArIC5uYXYtdGFicyB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAkc2lkZWJhci1icmFuZC1oZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiXG4vLyBTaWRlYmFyXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhclxuJHNpZGViYXItd2lkdGg6ICAgICAyNTZweCAhZGVmYXVsdDtcbiRzaWRlYmFyLXNtLXdpZHRoOiAgMTkycHggIWRlZmF1bHQ7XG4kc2lkZWJhci1sZy13aWR0aDogIDMyMHB4ICFkZWZhdWx0O1xuJHNpZGViYXIteGwtd2lkdGg6ICAzODRweCAhZGVmYXVsdDtcblxuJHNpZGViYXItd2lkdGhzOiAoXG4gIHNtOiAxOTJweCxcbiAgbGc6IDMyMHB4LFxuICB4bDogMzg0cHhcbikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLXBhZGRpbmc6ICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItbWluaW1pemVkLXdpZHRoOiAgIDU2cHggIWRlZmF1bHQ7XG4kc2lkZWJhci1taW5pbWl6ZWQtaGVpZ2h0OiAgJHNpZGViYXItbWluaW1pemVkLXdpZHRoICFkZWZhdWx0O1xuJHNpZGViYXItY29tcGFjdC13aWR0aDogICAgIDE1MHB4ICFkZWZhdWx0O1xuXG4kc2lkZWJhci1iYWNrZHJvcC1iZzogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHNpZGViYXItYmFja2Ryb3Atb3BhY2l0eTogIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLWRlZmF1bHQtdGhlbWVcbiRzaWRlYmFyLWRhcmstY29sb3I6ICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstYmc6ICAgICAgICRncmF5LWJhc2UgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLWJvcmRlcnM6ICBub25lICFkZWZhdWx0O1xuXG4kc2lkZWJhci1saWdodC1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtYm9yZGVyczogIChcbiAgcmlnaHQ6IDFweCBzb2xpZCByZ2JhKGRhcmtlbigkYm9yZGVyLWNvbG9yLCAyMCUpLCAuNSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItZGVmYXVsdC10aGVtZVxuXG4vLyBTaWRlYmFyIEJyYW5kXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1icmFuZFxuJHNpZGViYXItYnJhbmQtaGVpZ2h0OiAgNTZweCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1icmFuZFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1icmFuZC1kZWZhdWx0LXRoZW1lXG4kc2lkZWJhci1kYXJrLWJyYW5kLWNvbG9yOiAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1icmFuZC1iZzogICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtYnJhbmQtYmc6ICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1icmFuZC1kZWZhdWx0LXRoZW1lXG5cbi8vIFNpZGViYXIgSGVhZGVyXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1oZWFkZXJcbiRzaWRlYmFyLWhlYWRlci1oZWlnaHQ6ICAgICBhdXRvICFkZWZhdWx0O1xuJHNpZGViYXItaGVhZGVyLXBhZGRpbmcteTogIC43NXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLWhlYWRlci1wYWRkaW5nLXg6ICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWhlYWRlclxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1oZWFkZXItZGVmYXVsdC10aGVtZVxuJHNpZGViYXItZGFyay1oZWFkZXItYmc6ICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtaGVhZGVyLWJnOiByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWhlYWRlci1kZWZhdWx0LXRoZW1lXG5cbi8vIFNpZGViYXIgRm9ybVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItZm9ybS1kZWZhdWx0LXRoZW1lXG4kc2lkZWJhci1kYXJrLWZvcm0tYm9yZGVyOiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstZm9ybS1iZzogICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1mb3JtLWNvbG9yOiAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICByZ2JhKCR3aGl0ZSwgLjcpICFkZWZhdWx0O1xuXG4kc2lkZWJhci1saWdodC1mb3JtLWJvcmRlcjogICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LWZvcm0tYmc6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtZm9ybS1jb2xvcjogICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWZvcm0tZGVmYXVsdC10aGVtZVxuXG5cbi8vIFNpZGViYXIgTmF2aWdhdGlvblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItbmF2XG4kc2lkZWJhci1uYXYtdGl0bGUtcGFkZGluZy15OiAgIC43NXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi10aXRsZS1wYWRkaW5nLXg6ICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi10aXRsZS1tYXJnaW4tdG9wOiAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteTogICAgLjg0NDVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgIDFyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtaWNvbi13aWR0aDogICAgICAgIDU2cHggIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1pbmRlbnRhdGlvbi1sZXZlbHM6IDUgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtaW5kZW50YXRpb24tc2l6ZTogICA4cHggIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItbmF2XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLW5hdi1kZWZhdWx0LXRoZW1lXG4kc2lkZWJhci1kYXJrLW5hdi10aXRsZS1jb2xvcjogICAgICByZ2JhKCR3aGl0ZSwgLjYpICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1jb2xvcjogICAgICAgcmdiYSgkd2hpdGUsIC44KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1pY29uLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstYm9yZGVyczogICAgIDAgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LW5hdi10aXRsZS1jb2xvcjogICAgICByZ2JhKCRibGFjaywgLjQpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuOCkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1pY29uLWNvbG9yOiAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWJvcmRlcnM6ICAgICAwICFkZWZhdWx0O1xuXG5cbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItY29sb3I6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvcjogICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItYm9yZGVyczogICAgIDAgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvcjogICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWhvdmVyLWJvcmRlcnM6ICAgICAwICFkZWZhdWx0O1xuXG5cbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yOiAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1hY3RpdmUtYm9yZGVyczogICAgIDAgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC44KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1hY3RpdmUtaWNvbi1jb2xvcjogICRwcmltYXJ5ICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstYWN0aXZlLWJvcmRlcnM6ICAgICAwICFkZWZhdWx0O1xuXG5cbiRzaWRlYmFyLWRhcmstbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgIGRhcmtlbigkd2hpdGUsIDMwJSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAkc2lkZWJhci1kYXJrLWJnICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yOiAgJHNpZGViYXItZGFyay1uYXYtbGluay1pY29uLWNvbG9yICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtbGluay1kaXNhYmxlZC1ib3JkZXJzOiAgICAgMCAhZGVmYXVsdDtcblxuJHNpZGViYXItbGlnaHQtbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgIGRhcmtlbigkd2hpdGUsIDMwJSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgJHNpZGViYXItbGlnaHQtYmcgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yOiAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstaWNvbi1jb2xvciAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWJvcmRlcnM6ICAgICAwICFkZWZhdWx0O1xuXG4kc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMikgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1ib3JkZXJzOiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWluZGljYXRvcjogICAgICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0nI3skc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItY29sb3J9JyBkPSdNOS4xNDggMi4zNTJsLTQuMTQ4IDQuMTQ4IDQuMTQ4IDQuMTQ4cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MmwtMS4yOTcgMS4yOTdxLTAuMTQ4IDAuMTQ4LTAuMzUyIDAuMTQ4dC0wLjM1Mi0wLjE0OGwtNS43OTctNS43OTdxLTAuMTQ4LTAuMTQ4LTAuMTQ4LTAuMzUydDAuMTQ4LTAuMzUybDUuNzk3LTUuNzk3cTAuMTQ4LTAuMTQ4IDAuMzUyLTAuMTQ4dDAuMzUyIDAuMTQ4bDEuMjk3IDEuMjk3cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MnonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3Zlci1jb2xvcjogICRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXI6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNCclM0UlM0NwYXRoIGZpbGw9JyN7JHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyLWNvbG9yfScgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjgpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24tYm9yZGVyczogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWluZGljYXRvcjogICAgICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0nI3skc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWNvbG9yfScgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyLWNvbG9yOiAgJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXI6ICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMSAxNCclM0UlM0NwYXRoIGZpbGw9JyN7JHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3Zlci1jb2xvcn0nIGQ9J005LjE0OCAyLjM1MmwtNC4xNDggNC4xNDggNC4xNDggNC4xNDhxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUybC0xLjI5NyAxLjI5N3EtMC4xNDggMC4xNDgtMC4zNTIgMC4xNDh0LTAuMzUyLTAuMTQ4bC01Ljc5Ny01Ljc5N3EtMC4xNDgtMC4xNDgtMC4xNDgtMC4zNTJ0MC4xNDgtMC4zNTJsNS43OTctNS43OTdxMC4xNDgtMC4xNDggMC4zNTItMC4xNDh0MC4zNTIgMC4xNDhsMS4yOTcgMS4yOTdxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUyeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLW5hdi1kZWZhdWx0LXRoZW1lXG5cbi8vIFNpZGViYXIgVGFic1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItbmF2LXRhYnNcbiRzaWRlYmFyLW5hdi10YWJzLWxpbmstcGFkZGluZy15OiAgLjc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LXRhYnMtbGluay1wYWRkaW5nLXg6ICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLW5hdi10YWJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLW5hdi10YWJzLWRlZmF1bHQtdGhlbWVcbiRzaWRlYmFyLWRhcmstbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogIHJnYmEoJGJsYWNrLCAuMikgcmdiYSgkYmxhY2ssIC4yKSB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi10YWJzLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgIHJnYmEoJGJsYWNrLCAuMikgcmdiYSgkYmxhY2ssIC4yKSAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLXRhYi1jb250ZW50LWJvcmRlcnM6ICAgICAgICAgICAgICAgICggdG9wOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIC4yKSkgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLWxpZ2h0LW5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoZGFya2VuKCRib3JkZXItY29sb3IsIDIwJSksIC41KSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogIHJnYmEoZGFya2VuKCRib3JkZXItY29sb3IsIDIwJSksIC41KSByZ2JhKGRhcmtlbigkYm9yZGVyLWNvbG9yLCAyMCUpLCAuNSkgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LXRhYnMtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgcmdiYShkYXJrZW4oJGJvcmRlci1jb2xvciwgMjAlKSwgLjUpIHJnYmEoZGFya2VuKCRib3JkZXItY29sb3IsIDIwJSksIC41KSAkd2hpdGUgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC10YWItY29udGVudC1ib3JkZXJzOiAgICAgICAgICAgICAgICAoIHRvcDogMXB4IHNvbGlkIHJnYmEoZGFya2VuKCRib3JkZXItY29sb3IsIDIwJSksIC41KSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItbmF2LXRhYnMtZGVmYXVsdC10aGVtZVxuXG4vLyBTaWRlYmFyIEZvb3RlclxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItZm9vdGVyXG4kc2lkZWJhci1mb290ZXItaGVpZ2h0OiAgICAgYXV0byAhZGVmYXVsdDtcbiRzaWRlYmFyLWZvb3Rlci1wYWRkaW5nLXk6ICAuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1mb290ZXItcGFkZGluZy14OiAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1mb290ZXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItZm9vdGVyLWRlZmF1bHQtdGhlbWVcbiRzaWRlYmFyLWRhcmstZm9vdGVyLWJnOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstZm9vdGVyLWJvcmRlcnM6ICAgMCAhZGVmYXVsdDtcblxuJHNpZGViYXItbGlnaHQtZm9vdGVyLWJnOiAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtZm9vdGVyLWJvcmRlcnM6ICAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWZvb3Rlci1kZWZhdWx0LXRoZW1lXG5cbi8vIFNpZGViYXIgTWluaW1pemVyXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1taW5pbWl6ZXJcbiRzaWRlYmFyLW1pbmltaXplci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItbWluaW1pemVyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLW1pbmltaXplci1kZWZhdWx0LXRoZW1lXG4kc2lkZWJhci1kYXJrLW1pbmltaXplci1ib3JkZXJzOiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1taW5pbWl6ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbWluaW1pemVyLWluZGljYXRvci1jb2xvcjogICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbWluaW1pemVyLWluZGljYXRvcjogICAgICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0nI3skc2lkZWJhci1kYXJrLW1pbmltaXplci1pbmRpY2F0b3ItY29sb3J9JyBkPSdNOS4xNDggMi4zNTJsLTQuMTQ4IDQuMTQ4IDQuMTQ4IDQuMTQ4cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MmwtMS4yOTcgMS4yOTdxLTAuMTQ4IDAuMTQ4LTAuMzUyIDAuMTQ4dC0wLjM1Mi0wLjE0OGwtNS43OTctNS43OTdxLTAuMTQ4LTAuMTQ4LTAuMTQ4LTAuMzUydDAuMTQ4LTAuMzUybDUuNzk3LTUuNzk3cTAuMTQ4LTAuMTQ4IDAuMzUyLTAuMTQ4dDAuMzUyIDAuMTQ4bDEuMjk3IDEuMjk3cTAuMTQ4IDAuMTQ4IDAuMTQ4IDAuMzUydC0wLjE0OCAwLjM1MnonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWRhcmstbWluaW1pemVyLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMykgIWRlZmF1bHQ7XG4kc2lkZWJhci1kYXJrLW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3ItY29sb3I6ICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNpZGViYXItZGFyay1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTEgMTQnJTNFJTNDcGF0aCBmaWxsPScjeyRzaWRlYmFyLWRhcmstbWluaW1pemVyLWhvdmVyLWluZGljYXRvci1jb2xvcn0nIGQ9J005LjE0OCAyLjM1MmwtNC4xNDggNC4xNDggNC4xNDggNC4xNDhxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUybC0xLjI5NyAxLjI5N3EtMC4xNDggMC4xNDgtMC4zNTIgMC4xNDh0LTAuMzUyLTAuMTQ4bC01Ljc5Ny01Ljc5N3EtMC4xNDgtMC4xNDgtMC4xNDgtMC4zNTJ0MC4xNDgtMC4zNTJsNS43OTctNS43OTdxMC4xNDgtMC4xNDggMC4zNTItMC4xNDh0MC4zNTIgMC4xNDhsMS4yOTcgMS4yOTdxMC4xNDggMC4xNDggMC4xNDggMC4zNTJ0LTAuMTQ4IDAuMzUyeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kc2lkZWJhci1saWdodC1taW5pbWl6ZXItYm9yZGVyczogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1iZzogICAgICAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1taW5pbWl6ZXItaW5kaWNhdG9yLWNvbG9yOiAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbWluaW1pemVyLWluZGljYXRvcjogICAgICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0nI3skc2lkZWJhci1saWdodC1taW5pbWl6ZXItaW5kaWNhdG9yLWNvbG9yfScgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1taW5pbWl6ZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kc2lkZWJhci1saWdodC1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yLWNvbG9yOiAgJGdyYXktNzAwICFkZWZhdWx0O1xuJHNpZGViYXItbGlnaHQtbWluaW1pemVyLWhvdmVyLWluZGljYXRvcjogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDExIDE0JyUzRSUzQ3BhdGggZmlsbD0nI3skc2lkZWJhci1saWdodC1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yLWNvbG9yfScgZD0nTTkuMTQ4IDIuMzUybC00LjE0OCA0LjE0OCA0LjE0OCA0LjE0OHEwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJsLTEuMjk3IDEuMjk3cS0wLjE0OCAwLjE0OC0wLjM1MiAwLjE0OHQtMC4zNTItMC4xNDhsLTUuNzk3LTUuNzk3cS0wLjE0OC0wLjE0OC0wLjE0OC0wLjM1MnQwLjE0OC0wLjM1Mmw1Ljc5Ny01Ljc5N3EwLjE0OC0wLjE0OCAwLjM1Mi0wLjE0OHQwLjM1MiAwLjE0OGwxLjI5NyAxLjI5N3EwLjE0OCAwLjE0OCAwLjE0OCAwLjM1MnQtMC4xNDggMC4zNTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItbWluaW1pemVyLWRlZmF1bHQtdGhlbWVcblxuJHNpZGViYXItdmFyaWFudHMtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2lkZWJhci12YXJpYW50cy1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRhcms6IChcbiAgICAgIFwic2lkZWJhci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstYmcsXG4gICAgICBcImRhcmstdGhlbWUtc2lkZWJhci1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgIFwic2lkZWJhci1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWJvcmRlcnMsXG4gICAgICBcImRhcmstdGhlbWUtc2lkZWJhci1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAgMCxcbiAgICAgIFwic2lkZWJhci1icmFuZC1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWJyYW5kLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLWJyYW5kLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstYnJhbmQtYmcsXG4gICAgICBcInNpZGViYXItaGVhZGVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1oZWFkZXItYmcsXG4gICAgICBcInNpZGViYXItZm9ybS1ib3JkZXJcIjogICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1mb3JtLWJvcmRlcixcbiAgICAgIFwic2lkZWJhci1mb3JtLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLWZvcm0tYmcsXG4gICAgICBcInNpZGViYXItZm9ybS1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1mb3JtLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLWZvcm0tcGxhY2Vob2xkZXItY29sb3JcIjogICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstZm9ybS1wbGFjZWhvbGRlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtdGl0bGUtY29sb3JcIjogICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi10aXRsZS1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstYmcsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvclwiOiAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1pY29uLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWJvcmRlcnNcIjogICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1jb2xvclwiOiAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWhvdmVyLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItYmcsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvclwiOiAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1ob3Zlci1pY29uLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWJvcmRlcnNcIjogICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstaG92ZXItYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtY29sb3JcIjogICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWFjdGl2ZS1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtYmdcIjogICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWFjdGl2ZS1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtaWNvbi1jb2xvclwiOiAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1ib3JkZXJzXCI6ICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstYWN0aXZlLWJvcmRlcnMsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtY29sb3JcIjogICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtbGluay1kaXNhYmxlZC1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1iZ1wiOiAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWRpc2FibGVkLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3JcIjogICAgICAgICRzaWRlYmFyLWRhcmstbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1ib3JkZXJzXCI6ICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1saW5rLWRpc2FibGVkLWJvcmRlcnMsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24tY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24tYmcsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWJvcmRlcnNcIjogICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24tYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWNvbG9yXCI6ICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWluZGljYXRvclwiOiAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtZHJvcGRvd24taW5kaWNhdG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXItY29sb3JcIjogICRzaWRlYmFyLWRhcmstbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3Zlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyXCI6ICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi1kcm9wZG93bi1pbmRpY2F0b3ItaG92ZXIsXG4gICAgICBcInNpZGViYXItbmF2LXRhYnMtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtdGFicy1ib3JkZXItY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LXRhYnMtbGluay1hY3RpdmUtYmdcIjogICAgICAgICAgICAgJHNpZGViYXItZGFyay1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3JcIjogICAkc2lkZWJhci1kYXJrLW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1saW5rLWhvdmVyLWJnXCI6ICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW5hdi10YWJzLWxpbmstaG92ZXItYmcsXG4gICAgICBcInNpZGViYXItbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3JcIjogICAgJHNpZGViYXItZGFyay1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci10YWItY29udGVudC1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLXRhYi1jb250ZW50LWJvcmRlcnMsXG4gICAgICBcInNpZGViYXItZm9vdGVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1mb290ZXItYmcsXG4gICAgICBcInNpZGViYXItZm9vdGVyLWJvcmRlcnNcIjogICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1mb290ZXItYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW1pbmltaXplci1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWRhcmstbWluaW1pemVyLWJnLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1pbmRpY2F0b3ItY29sb3JcIjogICAgICAgICAgICRzaWRlYmFyLWRhcmstbWluaW1pemVyLWluZGljYXRvci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItaW5kaWNhdG9yXCI6ICAgICAgICAgICAgICAgICAkc2lkZWJhci1kYXJrLW1pbmltaXplci1pbmRpY2F0b3IsXG4gICAgICBcInNpZGViYXItbWluaW1pemVyLWhvdmVyLWJnXCI6ICAgICAgICAgICAgICAgICAgJHNpZGViYXItZGFyay1taW5pbWl6ZXItaG92ZXItYmcsXG4gICAgICBcInNpZGViYXItbWluaW1pemVyLWhvdmVyLWluZGljYXRvci1jb2xvclwiOiAgICAgJHNpZGViYXItZGFyay1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3JcIjogICAgICAgICAgICRzaWRlYmFyLWRhcmstbWluaW1pemVyLWhvdmVyLWluZGljYXRvclxuICAgICksXG4gICAgbGlnaHQ6IChcbiAgICAgIFwic2lkZWJhci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1jb2xvcixcbiAgICAgIFwic2lkZWJhci1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1iZyxcbiAgICAgIFwiZGFyay10aGVtZS1zaWRlYmFyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgXCJzaWRlYmFyLWJvcmRlcnNcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWJvcmRlcnMsXG4gICAgICBcImRhcmstdGhlbWUtc2lkZWJhci1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAgMCxcbiAgICAgIFwic2lkZWJhci1icmFuZC1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1icmFuZC1jb2xvcixcbiAgICAgIFwic2lkZWJhci1icmFuZC1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1icmFuZC1iZyxcbiAgICAgIFwic2lkZWJhci1oZWFkZXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1oZWFkZXItYmcsXG4gICAgICBcInNpZGViYXItZm9ybS1ib3JkZXJcIjogICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtZm9ybS1ib3JkZXIsXG4gICAgICBcInNpZGViYXItZm9ybS1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtZm9ybS1iZyxcbiAgICAgIFwic2lkZWJhci1mb3JtLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1mb3JtLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLWZvcm0tcGxhY2Vob2xkZXItY29sb3JcIjogICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWZvcm0tcGxhY2Vob2xkZXItY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LXRpdGxlLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LXRpdGxlLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWJnLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWljb24tY29sb3JcIjogICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWljb24tY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1jb2xvclwiOiAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1ob3Zlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1iZ1wiOiAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1ob3Zlci1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1pY29uLWNvbG9yXCI6ICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1ob3Zlci1pY29uLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWJvcmRlcnNcIjogICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWhvdmVyLWJvcmRlcnMsXG4gICAgICBcInNpZGViYXItbmF2LWxpbmstYWN0aXZlLWNvbG9yXCI6ICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWxpbmstYWN0aXZlLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWFjdGl2ZS1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtaWNvbi1jb2xvclwiOiAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1hY3RpdmUtaWNvbi1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtYm9yZGVyc1wiOiAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1hY3RpdmUtYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1kaXNhYmxlZC1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1iZ1wiOiAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1kaXNhYmxlZC1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yXCI6ICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWJvcmRlcnNcIjogICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1saW5rLWRpc2FibGVkLWJvcmRlcnMsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24tYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24tYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWNvbG9yXCI6ICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1pbmRpY2F0b3JcIjogICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi1kcm9wZG93bi1pbmRpY2F0b3IsXG4gICAgICBcInNpZGViYXItbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3Zlci1jb2xvclwiOiAgJHNpZGViYXItbGlnaHQtbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3Zlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyXCI6ICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyLFxuICAgICAgXCJzaWRlYmFyLW5hdi10YWJzLWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW5hdi10YWJzLWJvcmRlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3JcIjogICAkc2lkZWJhci1saWdodC1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IsXG4gICAgICBcInNpZGViYXItbmF2LXRhYnMtbGluay1ob3Zlci1iZ1wiOiAgICAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbmF2LXRhYnMtbGluay1ob3Zlci1iZyxcbiAgICAgIFwic2lkZWJhci1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvclwiOiAgICAkc2lkZWJhci1saWdodC1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcixcbiAgICAgIFwic2lkZWJhci10YWItY29udGVudC1ib3JkZXJzXCI6ICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC10YWItY29udGVudC1ib3JkZXJzLFxuICAgICAgXCJzaWRlYmFyLWZvb3Rlci1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LWZvb3Rlci1iZyxcbiAgICAgIFwic2lkZWJhci1mb290ZXItYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1mb290ZXItYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItYm9yZGVyc1wiOiAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1taW5pbWl6ZXItYm9yZGVycyxcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItYmdcIjogICAgICAgICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1taW5pbWl6ZXItYmcsXG4gICAgICBcInNpZGViYXItbWluaW1pemVyLWluZGljYXRvci1jb2xvclwiOiAgICAgICAgICAgJHNpZGViYXItbGlnaHQtbWluaW1pemVyLWluZGljYXRvci1jb2xvcixcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItaW5kaWNhdG9yXCI6ICAgICAgICAgICAgICAgICAkc2lkZWJhci1saWdodC1taW5pbWl6ZXItaW5kaWNhdG9yLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1ob3Zlci1iZ1wiOiAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1ob3Zlci1iZyxcbiAgICAgIFwic2lkZWJhci1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yLWNvbG9yXCI6ICAgICAkc2lkZWJhci1saWdodC1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yLWNvbG9yLFxuICAgICAgXCJzaWRlYmFyLW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3JcIjogICAgICAgICAgICRzaWRlYmFyLWxpZ2h0LW1pbmltaXplci1ob3Zlci1pbmRpY2F0b3IsXG4gICAgKVxuICApLFxuICAkc2lkZWJhci12YXJpYW50cy1tYXBcbik7XG5cbiRzaWRlYmFyLWRlZmF1bHQtdmFyaWFudDogXCJkYXJrXCIgIWRlZmF1bHQ7XG4kc2lkZWJhci12YXJpYW50czogKFxuICBtYXA6ICRzaWRlYmFyLXZhcmlhbnRzLW1hcCxcbiAgZGVmYXVsdDogJHNpZGViYXItZGVmYXVsdC12YXJpYW50XG4pICFkZWZhdWx0O1xuXG4kc2lkZWJhci10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaWRlYmFyLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogJHNpZGViYXItdmFyaWFudHMsXG4gICksXG4gICRzaWRlYmFyLXRoZW1lLW1hcFxuKTtcbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIH1cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIH1cbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yIG5lc3RpbmcgY29udGFpbmVycywgaGF2ZSB0byByZWRlY2xhcmUgZm9yIGFsaWdubWVudCBwdXJwb3Nlc1xuICAgICAgICAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSB0aGVtZXMoJG5hdmJhci10aGVtZS1tYXAsICRjcmVhdGU6IGFwcGVuZCwgJHBhcmVudDogXCIubmF2YmFyXCIpIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItYnJhbmQtY29sb3JcIik7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItY29sb3JcIik7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdmJhci1ob3Zlci1jb2xvclwiKTtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2YmFyLWRpc2FibGVkLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdmJhci1hY3RpdmUtY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcIm5hdmJhci1jb2xvclwiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2Zyh0aGVtZXMtZ2V0LXZhbHVlKFwibmF2YmFyLXRvZ2dsZXItaWNvbi1iZ1wiKSk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwibmF2YmFyLWNvbG9yXCIpO1xuICAgIGEge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItYWN0aXZlLWNvbG9yXCIpO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJuYXZiYXItYWN0aXZlLWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi8vIC5uYXZiYXItbGlnaHQge1xuLy8gICAubmF2YmFyLWJyYW5kIHtcbi8vICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuLy8gICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuLy8gICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4vLyAgICAgfVxuLy8gICB9XG5cbi8vICAgLm5hdmJhci1uYXYge1xuLy8gICAgIC5uYXYtbGluayB7XG4vLyAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuLy8gICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4vLyAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuLy8gICAgICAgfVxuXG4vLyAgICAgICAmLmRpc2FibGVkIHtcbi8vICAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgLnNob3cgPiAubmF2LWxpbmssXG4vLyAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbi8vICAgICAubmF2LWxpbmsuc2hvdyxcbi8vICAgICAubmF2LWxpbmsuYWN0aXZlIHtcbi8vICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbi8vICAgICB9XG4vLyAgIH1cblxuLy8gICAubmF2YmFyLXRvZ2dsZXIge1xuLy8gICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuLy8gICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbi8vICAgfVxuXG4vLyAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbi8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbi8vICAgfVxuXG4vLyAgIC5uYXZiYXItdGV4dCB7XG4vLyAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4vLyAgICAgYSB7XG4vLyAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbi8vICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuLy8gICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG5cbi8vIC8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi8vIC5uYXZiYXItZGFyayB7XG4vLyAgIC5uYXZiYXItYnJhbmQge1xuLy8gICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbi8vICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbi8vICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4vLyAgICAgfVxuLy8gICB9XG5cbi8vICAgLm5hdmJhci1uYXYge1xuLy8gICAgIC5uYXYtbGluayB7XG4vLyAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4vLyAgICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbi8vICAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbi8vICAgICAgIH1cblxuLy8gICAgICAgJi5kaXNhYmxlZCB7XG4vLyAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgLnNob3cgPiAubmF2LWxpbmssXG4vLyAgICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbi8vICAgICAubmF2LWxpbmsuc2hvdyxcbi8vICAgICAubmF2LWxpbmsuYWN0aXZlIHtcbi8vICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIC5uYXZiYXItdG9nZ2xlciB7XG4vLyAgICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbi8vICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbi8vICAgfVxuXG4vLyAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbi8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuLy8gICB9XG5cbi8vICAgLm5hdmJhci10ZXh0IHtcbi8vICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuLy8gICAgIGEge1xuLy8gICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbi8vICAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuLy8gICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cbiIsIlxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXJcbiRuYXZiYXItcGFkZGluZy15OiAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGVmYXVsdC10aGVtZVxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kZWZhdWx0LXRoZW1lXG5cbiRuYXZiYXItdmFyaWFudHMtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kbmF2YmFyLXZhcmlhbnRzLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGFyazogKFxuICAgICAgXCJuYXZiYXItY29sb3JcIjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1jb2xvcixcbiAgICAgIFwibmF2YmFyLWhvdmVyLWNvbG9yXCI6ICAgICAgICAgICAkbmF2YmFyLWRhcmstaG92ZXItY29sb3IsXG4gICAgICBcIm5hdmJhci1hY3RpdmUtY29sb3JcIjogICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcixcbiAgICAgIFwibmF2YmFyLWRpc2FibGVkLWNvbG9yXCI6ICAgICAgICAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3IsXG4gICAgICBcIm5hdmJhci10b2dnbGVyLWljb24tYmdcIjogICAgICAgJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyxcbiAgICAgIFwibmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yXCI6ICAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3IsXG4gICAgICBcIm5hdmJhci1icmFuZC1jb2xvclwiOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yLFxuICAgICAgXCJuYXZiYXItYnJhbmQtaG92ZXItY29sb3JcIjogICAgICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvclxuICAgICksXG4gICAgbGlnaHQ6IChcbiAgICAgIFwibmF2YmFyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWNvbG9yLFxuICAgICAgXCJuYXZiYXItaG92ZXItY29sb3JcIjogICAgICAgICAgICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3IsXG4gICAgICBcIm5hdmJhci1hY3RpdmUtY29sb3JcIjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IsXG4gICAgICBcIm5hdmJhci1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcixcbiAgICAgIFwibmF2YmFyLXRvZ2dsZXItaWNvbi1iZ1wiOiAgICAgICAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyxcbiAgICAgIFwibmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yXCI6ICAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yLFxuICAgICAgXCJuYXZiYXItYnJhbmQtY29sb3JcIjogICAgICAgICAgICRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3IsXG4gICAgICBcIm5hdmJhci1icmFuZC1ob3Zlci1jb2xvclwiOiAgICAgJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvclxuICAgIClcbiAgKSxcbiAgJG5hdmJhci12YXJpYW50cy1tYXBcbik7XG5cbiRuYXZiYXItZGVmYXVsdC12YXJpYW50OiBudWxsICFkZWZhdWx0O1xuJG5hdmJhci12YXJpYW50czogKFxuICBkZWZhdWx0OiAgJG5hdmJhci1kZWZhdWx0LXZhcmlhbnQsXG4gIG1hcDogICAgICAkbmF2YmFyLXZhcmlhbnRzLW1hcFxuKSAhZGVmYXVsdDtcblxuJG5hdmJhci10aGVtZS1tYXA6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRuYXZiYXItdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAgJG5hdmJhci12YXJpYW50c1xuICApLFxuICAkbmF2YmFyLXRoZW1lLW1hcFxuKTtcbiIsIlxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogIDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAgMCxcbiAgICAxOiAgKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAgJHNwYWNlcixcbiAgICA0OiAgKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6ICAgIDI1JSxcbiAgICA1MDogICAgNTAlLFxuICAgIDc1OiAgICA3NSUsXG4gICAgMTAwOiAgIDEwMCUsXG4gICAgYXV0bzogIGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuIiwiLy8gTmF2c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2XG4kbmF2LWxpbmstcGFkZGluZy15OiAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtcGFkZGluZy15OiAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtcGFkZGluZy14OiAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3hlZC1jb250ZW50LWJvcmRlci13aWR0aDogICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2XG5cbi8vIExpZ2h0IFRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LWRlZmF1bHQtdGhlbWVcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3hlZC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm94ZWQtY29udGVudC1iZzogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItcmFkaXVzOiAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3hlZC1sZWZ0LWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgJGJvcmRlci1jb2xvciAkd2hpdGUgJGJvcmRlci1jb2xvciAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWJveGVkLXJpZ2h0LWFjdGl2ZS1ib3JkZXItY29sb3I6ICAkYm9yZGVyLWNvbG9yICRib3JkZXItY29sb3IgJGJvcmRlci1jb2xvciAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi1kZWZhdWx0LXRoZW1lXG5cbiRuYXYtdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kbmF2LXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJuYXYtbGluay1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IsXG4gICAgICBcIm5hdi10YWJzLWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAgICRuYXYtdGFicy1ib3JkZXItY29sb3IsXG4gICAgICBcIm5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcixcbiAgICAgIFwibmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3JcIjogICAgICAgICAgICAgICAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yLFxuICAgICAgXCJuYXYtdGFicy1saW5rLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAgICAgICAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcsXG4gICAgICBcIm5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvclwiOiAgICAgICAgICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IsXG4gICAgICBcIm5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvclwiOiAgICAgICAgICAgICAgICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IsXG4gICAgICBcIm5hdi1waWxscy1saW5rLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAgICAgICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmcsXG4gICAgICBcIm5hdi1kaXZpZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICRuYXYtZGl2aWRlci1jb2xvcixcbiAgICAgIFwibmF2LXRhYnMtYm94ZWQtbGluay1hY3RpdmUtYmdcIjogICAgICAgICAgICAgJG5hdi10YWJzLWJveGVkLWxpbmstYWN0aXZlLWJnLFxuICAgICAgXCJuYXYtdGFicy1ib3hlZC1jb250ZW50LWJnXCI6ICAgICAgICAgICAgICAgICAkbmF2LXRhYnMtYm94ZWQtY29udGVudC1iZyxcbiAgICAgIFwibmF2LXRhYnMtYm94ZWQtY29udGVudC1ib3JkZXItY29sb3JcIjogICAgICAgJG5hdi10YWJzLWJveGVkLWNvbnRlbnQtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJuYXYtdGFicy1ib3hlZC1sZWZ0LWFjdGl2ZS1ib3JkZXItY29sb3JcIjogICAkbmF2LXRhYnMtYm94ZWQtbGVmdC1hY3RpdmUtYm9yZGVyLWNvbG9yLFxuICAgICAgXCJuYXYtdGFicy1ib3hlZC1yaWdodC1hY3RpdmUtYm9yZGVyLWNvbG9yXCI6ICAkbmF2LXRhYnMtYm94ZWQtcmlnaHQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgIClcbiAgKSxcbiAgJG5hdi10aGVtZS1tYXBcbik7XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSBsdHIge1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICB9XG4gIEBpbmNsdWRlIHJ0bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICB9XG4gIEBpbmNsdWRlIHRoZW1lcygkcGFnaW5hdGlvbi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicGFnaW5hdGlvbi1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicGFnaW5hdGlvbi1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIHRoZW1lcygkcGFnaW5hdGlvbi10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBhZ2luYXRpb24taG92ZXItYmdcIik7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvclwiKTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMztcbiAgICBAaW5jbHVkZSB0aGVtZXMoJHBhZ2luYXRpb24tdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicGFnaW5hdGlvbi1hY3RpdmUtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicGFnaW5hdGlvbi1hY3RpdmUtYmdcIik7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgQGluY2x1ZGUgdGhlbWVzKCRwYWdpbmF0aW9uLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicGFnaW5hdGlvbi1kaXNhYmxlZC1iZ1wiKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCgpIHtcbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgfVxuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiXG4vLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgMS4yNSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb25cblxuLy8gRGVmYXVsdCB0aGVtZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tZGVmYXVsdC10aGVtZVxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1kZWZhdWx0LXRoZW1lXG5cbiRwYWdpbmF0aW9uLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHBhZ2luYXRpb24tdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcInBhZ2luYXRpb24tY29sb3JcIjogICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1jb2xvcixcbiAgICAgIFwicGFnaW5hdGlvbi1iZ1wiOiAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnLFxuICAgICAgXCJwYWdpbmF0aW9uLWJvcmRlci1jb2xvclwiOiAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yLFxuICAgICAgXCJwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3dcIjogICAgICAgJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdyxcbiAgICAgIFwicGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lXCI6ICAgICAgICAgICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmUsXG4gICAgICBcInBhZ2luYXRpb24taG92ZXItY29sb3JcIjogICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcixcbiAgICAgIFwicGFnaW5hdGlvbi1ob3Zlci1iZ1wiOiAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnLFxuICAgICAgXCJwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvclwiOiAgICAgJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yLFxuICAgICAgXCJwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvclwiOiAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yLFxuICAgICAgXCJwYWdpbmF0aW9uLWFjdGl2ZS1iZ1wiOiAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnLFxuICAgICAgXCJwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3JcIjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcixcbiAgICAgIFwicGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yLFxuICAgICAgXCJwYWdpbmF0aW9uLWRpc2FibGVkLWJnXCI6ICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtYmcsXG4gICAgICBcInBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yXCI6ICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3JcbiAgICApXG4gICksXG4gICRwYWdpbmF0aW9uLXRoZW1lLW1hcFxuKTtcblxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBvcG92ZXIge1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYmdcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4lYnMtcG9wb3Zlci10b3AsXG4lYnMtcG9wb3Zlci1ib3R0b20ge1xuICAucG9wb3Zlci1hcnJvdyB7XG4gICAgd2lkdGg6IGFkZCgkcG9wb3Zlci1hcnJvdy13aWR0aCwgKDIgKiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzKSk7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgcGFkZGluZzogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG4gIH1cbn1cblxuJWJzLXBvcG92ZXItcmlnaHQsXG4lYnMtcG9wb3Zlci1sZWZ0IHtcbiAgLnBvcG92ZXItYXJyb3cge1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiBhZGQoJHBvcG92ZXItYXJyb3ctd2lkdGgsICgyICogJHBvcG92ZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIHBhZGRpbmc6ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4lYnMtcG9wb3Zlci10b3Age1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodCAhaW1wb3J0YW50OyAvLyBPdmVyd3JpdGUgUG9wcGVyIDIgbWFyZ2lucy5cblxuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuJWJzLXBvcG92ZXItcmlnaHQge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgIWltcG9ydGFudDsgLy8gT3ZlcndyaXRlIFBvcHBlciAyIG1hcmdpbnMuXG5cbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lYnMtcG9wb3Zlci1ib3R0b20ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodCAhaW1wb3J0YW50OyAvLyBPdmVyd3JpdGUgUG9wcGVyIDIgbWFyZ2lucy5cblxuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICB0b3A6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpO1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCRwb3BvdmVyLXRoZW1lLW1hcCkge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWhlYWRlci1iZ1wiKTtcbiAgICB9XG4gIH1cbn1cblxuJWJzLXBvcG92ZXItbGVmdCB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodCAhaW1wb3J0YW50OyAvLyBPdmVyd3JpdGUgUG9wcGVyIDIgbWFyZ2lucy5cblxuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICByaWdodDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWFycm93LWNvbG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnBvcG92ZXIge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgJWJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kICVicy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAlYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAlYnMtcG9wb3Zlci1sZWZ0O1xuICB9XG59XG5cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0aGVtZXMoJHBvcG92ZXItdGhlbWUtbWFwKSB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWhlYWRlci1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicG9wb3Zlci1oZWFkZXItYmdcIik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogZGFya2VuKHRoZW1lcy1nZXQtdmFsdWUoXCJwb3BvdmVyLWhlYWRlci1iZ1wiKSwgNSUpO1xuICB9XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIHRoZW1lcygkcG9wb3Zlci10aGVtZS1tYXApIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInBvcG92ZXItYm9keS1jb2xvclwiKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcblxuICBAaW5jbHVkZSB0aGVtZXMoJHByb2dyZXNzLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInByb2dyZXNzLWJnXCIpO1xuICB9XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgdGhlbWVzKCRwcm9ncmVzcy10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwicHJvZ3Jlc3MtYmFyLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJwcm9ncmVzcy1iYXItYmdcIik7XG4gIH1cbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MteHMge1xuICBoZWlnaHQ6IDRweDtcbn1cblxuLnByb2dyZXNzLXNtIHtcbiAgaGVpZ2h0OiA4cHg7XG59XG5cbi8vIFdoaXRlIHByb2dyZXNzIGJhclxuLnByb2dyZXNzLnByb2dyZXNzLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtYmFyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWJhclxuXG4vLyBEZWZhdWx0IHRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtYmFyLWRlZmF1bHQtdGhlbWVcbiRwcm9ncmVzcy1iZzogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtYmFyLWRlZmF1bHQtdGhlbWVcblxuJHByb2dyZXNzLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHByb2dyZXNzLXRoZW1lLW1hcDogbWFwLW1lcmdlKFxuICAoXG4gICAgZGVmYXVsdDogKFxuICAgICAgXCJwcm9ncmVzcy1iZ1wiOiAgICAgICAgICRwcm9ncmVzcy1iZyxcbiAgICAgIFwicHJvZ3Jlc3MtYmFyLWNvbG9yXCI6ICAkcHJvZ3Jlc3MtYmFyLWNvbG9yLFxuICAgICAgXCJwcm9ncmVzcy1iYXItYmdcIjogICAgICRwcm9ncmVzcy1iYXItYmdcbiAgICApXG4gICksXG4gICRwcm9ncmVzcy10aGVtZS1tYXBcbik7XG4iLCIvL1RPRE86IG1vdmUgYWxsIHZhbHVlcyB0byB2YXJpYWJsZXMuc2Nzc1xuLnByb2dyZXNzLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbn1cblxuLnByb2dyZXNzLWdyb3VwLXByZXBlbmQge1xuICBmbGV4OiAwIDAgMTAwcHg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLnByb2dyZXNzLWdyb3VwLWljb24ge1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG5cbiAgQGluY2x1ZGUgbHRyIHtcbiAgICBtYXJnaW46IDAgJHNwYWNlciAwICgkc3BhY2VyICogLjI1KTtcbiAgfVxuICBAaW5jbHVkZSBydGwge1xuICAgIG1hcmdpbjogMCAoJHNwYWNlciAqIC4yNSkgMCAkc3BhY2VyO1xuICB9XG59XG5cbi5wcm9ncmVzcy1ncm91cC10ZXh0IHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBjb2xvcjogJGdyYXktNzAwO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiAoJHNwYWNlciAqIC4yNSk7XG59XG5cbi5wcm9ncmVzcy1ncm91cC1iYXJzIHtcbiAgZmxleC1ncm93OiAxO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgLnByb2dyZXNzOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtaGVhZGVyICsgLnByb2dyZXNzLWdyb3VwLWJhcnMge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xufVxuIiwiXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtY2xhc3MsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3ItbWF4LWNvbXBvdW5kLXNlbGVjdG9ycywgZnVuY3Rpb24tdXJsLXF1b3Rlcywgc2VsZWN0b3ItbWF4LWNvbWJpbmF0b3JzXG4uYy1zaWRlYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICAvLyAkc2lkZWJhci13aWR0aCBpcyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbnNcbiAgZmxleDogMCAwICRzaWRlYmFyLXdpZHRoO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvLyBwdXQgdGhlIG5hdiBvbiB0aGUgbGVmdFxuICBvcmRlcjogLTE7XG4gIHdpZHRoOiAkc2lkZWJhci13aWR0aDtcbiAgcGFkZGluZzogJHNpZGViYXItcGFkZGluZztcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgb3JkZXI6IDk5O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGJyZWFrcG9pbnQtYmVmb3JlKCRtb2JpbGUtYnJlYWtwb2ludCkpIHtcbiAgICAvLyBTb21lIG9mIG91ciBjb21wb25lbnRzIHVzZSB0aGlzIHByb3BlcnR5IHRvIGRldGVjdCBpZiB0aGUgc2lkZWJhciBoYXMgbW9iaWxlIGJlaGF2aW9yLlxuICAgIC0taXMtbW9iaWxlOiB0cnVlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQgKyAxO1xuXG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpe1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpe1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBsdHIge1xuICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpe1xuICAgICAgbWFyZ2luLWxlZnQ6IC0gJHNpZGViYXItd2lkdGg7XG4gICAgfVxuICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLSAkc2lkZWJhci13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBydGwge1xuICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpe1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtICRzaWRlYmFyLXdpZHRoO1xuICAgIH1cbiAgICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgICBtYXJnaW4tbGVmdDogLSAkc2lkZWJhci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAmW2NsYXNzKj1cImJnLVwiXSAge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKTtcbiAgfVxuXG4gIEBlYWNoICR3aWR0aCwgJHZhbHVlIGluICRzaWRlYmFyLXdpZHRocyB7XG4gICAgJi5jLXNpZGViYXItI3skd2lkdGh9IHtcbiAgICAgIGZsZXg6IDAgMCAkdmFsdWU7XG4gICAgICB3aWR0aDogJHZhbHVlO1xuXG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAmOm5vdCguYy1zaWRlYmFyLXJpZ2h0KXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgJjpub3QoLmMtc2lkZWJhci1yaWdodCl7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0gJHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jLXNpZGViYXItZml4ZWQge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1vYmlsZS1icmVha3BvaW50KSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xuXG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAmOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAmOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYy1zaWRlYmFyLW92ZXJsYWlkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LWZpeGVkICsgMjtcblxuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAmOm5vdCguYy1zaWRlYmFyLXJpZ2h0KSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFNpZGViYXIgY29tcG9uZW50c1xuLy9cblxuLmMtc2lkZWJhci1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6ICRzaWRlYmFyLWJyYW5kLWhlaWdodDtcbiAgaGVpZ2h0OiAkc2lkZWJhci1icmFuZC1oZWlnaHQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGx0ciB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBydGwge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLmMtc2lkZWJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCAkc2lkZWJhci1icmFuZC1oZWlnaHQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC5jLXNpZGViYXItYnJhbmQtbWluaW1pemVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jLXNpZGViYXItaGVhZGVyIHtcbiAgZmxleDogMCAwICRzaWRlYmFyLWhlYWRlci1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRzaWRlYmFyLWhlYWRlci1wYWRkaW5nLXkgJHNpZGViYXItaGVhZGVyLXBhZGRpbmcteDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG59XG5cbi8vIFNpZGViYXIgbmF2aWdhdGlvblxuXG4uYy1zaWRlYmFyLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICYucHMge1xuICAgIC8vIEZpcmVmb3hcbiAgICBvdmVyZmxvdzogLW1vei1zY3JvbGxiYXJzLW5vbmU7XG4gICAgLy8gSUUgMTArXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgIC8vIENocm9tZSwgRWRnZSwgU2FmYXJpLCBPcGVyYVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5jLXNpZGViYXItbmF2LXRpdGxlIHtcbiAgcGFkZGluZzogJHNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteSAkc2lkZWJhci1uYXYtdGl0bGUtcGFkZGluZy14O1xuICBtYXJnaW4tdG9wOiAkc2lkZWJhci1uYXYtdGl0bGUtbWFyZ2luLXRvcDtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcbn1cblxuLmMtc2lkZWJhci1uYXYtZGl2aWRlciB7XG4gIGhlaWdodDogMTBweDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcbn1cblxuLmMtc2lkZWJhci1uYXYtaXRlbSB7XG4gIHdpZHRoOiBpbmhlcml0O1xufVxuXG4uYy1zaWRlYmFyLW5hdi1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJHNpZGViYXItbmF2LWxpbmstcGFkZGluZy15ICRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCwgY29sb3IgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xuICBAaWYgJGVuYWJsZS1zaWRlYmFyLW5hdi1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYuYy1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5jLXNpZGViYXItbmF2LWljb24ge1xuICBmbGV4OiAwIDAgJHNpZGViYXItbmF2LWljb24td2lkdGg7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqIDEuMjUpO1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0gJHNpZGViYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtICRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICB9XG4gIH1cbn1cblxuLmMtc2lkZWJhci1uYXYtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkIGVhc2UtaW4tb3V0O1xuXG4gICYuYy1zaG93IHtcbiAgICBAaWYgJGVuYWJsZS1zaWRlYmFyLW5hdi1yb3VuZGVkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICAgIG1heC1oZWlnaHQ6IDE1MDBweDtcbiAgICB9XG5cbiAgICA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cge1xuICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUge1xuICBAZXh0ZW5kIC5jLXNpZGViYXItbmF2LWxpbms7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgfVxuICB9XG59XG5cbi5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCBlYXNlLWluLW91dDtcblxuICAuYy1zaWRlYmFyLW5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkc2lkZWJhci1uYXYtaWNvbi13aWR0aDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRzaWRlYmFyLW5hdi1pY29uLXdpZHRoO1xuICAgIH1cblxuICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0gJHNpZGViYXItbmF2LWljb24td2lkdGg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0gJHNpZGViYXItbmF2LWljb24td2lkdGg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLmMtc2lkZWJhci1uYXZbZGF0YS1pbmRlbnRhdGlvbj1cInRydWVcIl0ge1xuICAkd3JhcHBlci1jbGFzcy1uYW1lOiBcIi5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zXCI7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHNpZGViYXItbmF2LWluZGVudGF0aW9uLWxldmVscyB7XG4gICAgI3skd3JhcHBlci1jbGFzcy1uYW1lfSB7XG4gICAgICAuYy1zaWRlYmFyLW5hdi1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzaWRlYmFyLW5hdi1pY29uLXdpZHRoICsgKCRpICogJHNpZGViYXItbmF2LWluZGVudGF0aW9uLXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJHNpZGViYXItbmF2LWljb24td2lkdGggKyAoJGkgKiAkc2lkZWJhci1uYXYtaW5kZW50YXRpb24tc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtICRzaWRlYmFyLW5hdi1pY29uLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtICRzaWRlYmFyLW5hdi1pY29uLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAkd3JhcHBlci1jbGFzcy1uYW1lOiBzZWxlY3Rvci1uZXN0KCR3cmFwcGVyLWNsYXNzLW5hbWUsICR3cmFwcGVyLWNsYXNzLW5hbWUpO1xuICB9XG59XG5cbi5jLXNpZGViYXItbmF2LWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogKCRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteSAvIDQpICRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgdHJhbnNpdGlvbjogJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgIG1hcmdpbi10b3A6IDFweDtcbiAgfVxufVxuXG4uYy1zaWRlYmFyLWZvb3RlciB7XG4gIGZsZXg6IDAgMCAkc2lkZWJhci1mb290ZXItaGVpZ2h0O1xuICBwYWRkaW5nOiAkc2lkZWJhci1mb290ZXItcGFkZGluZy15ICRzaWRlYmFyLWZvb3Rlci1wYWRkaW5nLXg7XG4gIHRyYW5zaXRpb246ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcbn1cblxuLmMtc2lkZWJhci1taW5pbWl6ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgJHNpZGViYXItbWluaW1pemVyLWhlaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihicmVha3BvaW50LWJlZm9yZSgkbW9iaWxlLWJyZWFrcG9pbnQpKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRzaWRlYmFyLW1pbmltaXplci1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2lkZWJhci1taW5pbWl6ZXItaGVpZ2h0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkc2lkZWJhci1taW5pbWl6ZXItaGVpZ2h0IC8gNDtcbiAgICB0cmFuc2l0aW9uOiAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmMtZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAuYy1zaWRlYmFyLXJpZ2h0ICYge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLmMtc2lkZWJhci1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihicmVha3BvaW50LWJlZm9yZSgkbW9iaWxlLWJyZWFrcG9pbnQpKSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmFja2Ryb3AtYmc7XG4gICAgdHJhbnNpdGlvbjogJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xuXG4gICAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgICAmLmMtZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgICAmLmMtc2hvdyB7IG9wYWNpdHk6ICRzaWRlYmFyLWJhY2tkcm9wLW9wYWNpdHk7IH1cbiAgfVxufVxuXG4vLyBNaW5pbWl6ZWQgU2lkZWJhclxuXG4uYy1zaWRlYmFyLW1pbmltaXplZCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1vYmlsZS1icmVha3BvaW50KSB7XG4gICAgei1pbmRleDogJHppbmRleC1maXhlZCArIDE7XG4gICAgZmxleDogMCAwICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcblxuICAgICYuYy1zaWRlYmFyLWZpeGVkIHtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQgKyAxO1xuICAgICAgd2lkdGg6ICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICB9XG5cbiAgICAmOm5vdCguYy1zaWRlYmFyLXJpZ2h0KXtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICB9XG4gICAgfVxuICAgICYuYy1zaWRlYmFyLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1icmFuZC1mdWxsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1icmFuZC1taW5pbWl6ZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1uYXYge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzaWRlYmFyLW1pbmltaXplci1oZWlnaHQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuYy1kLW1pbmltaXplZC1ub25lLFxuICAgIC5jLXNpZGViYXItbmF2LWRpdmlkZXIsXG4gICAgLmMtc2lkZWJhci1uYXYtbGFiZWwsXG4gICAgLmMtc2lkZWJhci1uYXYtdGl0bGUsXG4gICAgLmMtc2lkZWJhci1mb290ZXIsXG4gICAgLmMtc2lkZWJhci1mb3JtLFxuICAgIC5jLXNpZGViYXItaGVhZGVyIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC8vIFRlbXBvcmFyeSBmaXggZm9yIHRoaXMgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9jb3JldWkvY29yZXVpLWZyZWUtYm9vdHN0cmFwLWFkbWluLXRlbXBsYXRlL2lzc3Vlcy80MDRcbiAgICAvLyBUT0RPOiBmaW5kIGJldHRlciBzb2x1dGlvblxuICAgIC5jLXNpZGViYXItbWluaW1pemVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiBpbmhlcml0O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmMtc2lkZWJhci1yaWdodCAuYy1zaWRlYmFyLW1pbmltaXplcjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmMtc2lkZWJhci1yaWdodCAuYy1zaWRlYmFyLW5hdiB7XG4gICAgICA+IC5jLXNpZGViYXItbmF2LWl0ZW06aG92ZXIsXG4gICAgICA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLSAkc2lkZWJhci13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSAkc2lkZWJhci13aWR0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jLXNpZGViYXItbmF2LWxpbmssXG4gICAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB3aWR0aDogJHNpZGViYXItd2lkdGggKyAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICAgIC5jLXNpZGViYXItbmF2LWxpbmsge1xuICAgICAgICB3aWR0aDogJHNpZGViYXItd2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgICAuYy1zaWRlYmFyLW5hdiA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi1pdGVtcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgLmMtc2lkZWJhci1uYXYtZHJvcGRvd246bm90KC5jLXNob3cpID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTUwMHB4O1xuICAgICAgfVxuXG5cbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgd2lkdGg6ICRzaWRlYmFyLXdpZHRoICsgJHNpZGViYXItbWluaW1pemVkLXdpZHRoO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgIGxlZnQ6ICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgIHJpZ2h0OiAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jLXNpZGViYXItcmlnaHQgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bjpob3ZlciA+IC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zIHtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBiZWhhdmlvclxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgLmMtc2lkZWJhci5jLXNpZGViYXIjeyRpbmZpeH0tc2hvdyxcbiAgICAuYy1zaWRlYmFyLmMtc2lkZWJhci1zaG93IHtcbiAgICAgICY6bm90KC5jLXNpZGViYXItcmlnaHQpe1xuICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG1vYmlsZS1icmVha3BvaW50KSB7XG4gICAgICAgICAgJi5jLXNpZGViYXItZml4ZWQge1xuICAgICAgICAgICAgfiAuYy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNpZGViYXItd2lkdGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzaWRlYmFyLXdpZHRoO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWFjaCAkd2lkdGgsICR2YWx1ZSBpbiAkc2lkZWJhci13aWR0aHMge1xuICAgICAgICAgICAgICAmLmMtc2lkZWJhci0jeyR3aWR0aH0ge1xuICAgICAgICAgICAgICAgIH4gLmMtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHZhbHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdmFsdWU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmMtc2lkZWJhci1taW5pbWl6ZWQge1xuICAgICAgICAgICAgICB+IC5jLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNpZGViYXItbWluaW1pemVkLXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc2lkZWJhci1taW5pbWl6ZWQtd2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAmLmMtc2lkZWJhci1maXhlZCB7XG4gICAgICAgICAgICB+IC5jLXdyYXBwZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBsdHIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNpZGViYXItd2lkdGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNpZGViYXItd2lkdGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlYWNoICR3aWR0aCwgJHZhbHVlIGluICRzaWRlYmFyLXdpZHRocyB7XG4gICAgICAgICAgICAgICYuYy1zaWRlYmFyLSN7JHdpZHRofSB7XG4gICAgICAgICAgICAgICAgfiAuYy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHZhbHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICR2YWx1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYy1zaWRlYmFyLW1pbmltaXplZCB7XG4gICAgICAgICAgICAgIH4gLmMtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNpZGViYXItbWluaW1pemVkLXdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzaWRlYmFyLW1pbmltaXplZC13aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgdGhlbWVzKCRzaWRlYmFyLXRoZW1lLW1hcCwgJGNyZWF0ZTogYXBwZW5kLCAkcGFyZW50OiBcIi5jLXNpZGViYXJcIikge1xuICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItY29sb3JcIik7XG4gIGJhY2tncm91bmQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWJnXCIpO1xuXG4gIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItYm9yZGVyc1wiKSk7XG5cbiAgQGluY2x1ZGUgbHRyIHtcbiAgICAmLmMtc2lkZWJhci1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWJvcmRlcnNcIiksdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWJvcmRlcnNcIiksdHJ1ZSk7XG4gICAgJi5jLXNpZGViYXItcmlnaHQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1ib3JkZXJzXCIpKTtcbiAgICB9XG4gIH1cblxuICAuYy1zaWRlYmFyLWNsb3NlIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItY29sb3JcIik7XG4gIH1cblxuICAuYy1zaWRlYmFyLWJyYW5kIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItYnJhbmQtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItYnJhbmQtYmdcIik7XG4gIH1cblxuICAuYy1zaWRlYmFyLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItaGVhZGVyLWJnXCIpO1xuICB9XG5cbiAgLmMtc2lkZWJhci1mb3JtIC5jLWZvcm0tY29udHJvbCB7XG4gICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWZvcm0tY29sb3JcIik7XG4gICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItZm9ybS1iZ1wiKTtcbiAgICBib3JkZXI6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWZvcm0tYm9yZGVyXCIpO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWZvcm0tcGxhY2Vob2xkZXItY29sb3JcIik7XG4gICAgfVxuICB9XG5cbiAgLmMtc2lkZWJhci1uYXYtdGl0bGUge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtdGl0bGUtY29sb3JcIik7XG4gIH1cblxuICAuYy1zaWRlYmFyLW5hdi1saW5rIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstY29sb3JcIik7XG4gICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstYmdcIik7XG4gICAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1ib3JkZXJzXCIpKTtcblxuICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWljb24tY29sb3JcIik7XG4gICAgfVxuXG4gICAgJi5jLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstYWN0aXZlLWNvbG9yXCIpO1xuICAgICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstYWN0aXZlLWJnXCIpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1hY3RpdmUtYm9yZGVyc1wiKSk7XG5cbiAgICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstYWN0aXZlLWljb24tY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlciksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1jb2xvclwiKTtcbiAgICAgICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstaG92ZXItYmdcIik7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstaG92ZXItYm9yZGVyc1wiKSk7XG5cbiAgICAgICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWljb24tY29sb3JcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWRyb3Bkb3duLWluZGljYXRvci1ob3ZlclwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYy1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtYm9yZGVyc1wiKSk7XG5cbiAgICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1jb2xvclwiKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1jb2xvclwiKTtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVycyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1ob3Zlci1ib3JkZXJzXCIpKTtcblxuICAgICAgICAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1jb2xvclwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtZHJvcGRvd24taW5kaWNhdG9yLWhvdmVyXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWRyb3Bkb3duLWluZGljYXRvclwiKTtcbiAgICB9XG4gIH1cblxuICAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi5jLXNob3cge1xuICAgIGJhY2tncm91bmQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1iZ1wiKTtcbiAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1ib3JkZXJzXCIpKTtcblxuICAgIC5jLXNpZGViYXItbmF2LWxpbmsge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1kcm9wZG93bi1jb2xvclwiKTtcblxuICAgICAgJi5jLWRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtY29sb3JcIik7XG5cbiAgICAgICAgICAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jLXNpZGViYXItbmF2LWxhYmVsIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LXRpdGxlLWNvbG9yXCIpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItY29sb3JcIik7XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvclwiKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGxpZ2h0bmVzcyh0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1iZ1wiKSkgPCA0MCkge1xuICAgIC5jLXByb2dyZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4odGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItYmdcIiksIDE1JSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuYy1zaWRlYmFyLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItZm9vdGVyLWJnXCIpO1xuICAgIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItZm9vdGVyLWJvcmRlcnNcIikpO1xuICB9XG5cbiAgLmMtc2lkZWJhci1taW5pbWl6ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW1pbmltaXplci1iZ1wiKTtcbiAgICBAaW5jbHVkZSBib3JkZXJzKHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW1pbmltaXplci1ib3JkZXJzXCIpKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1taW5pbWl6ZXItaW5kaWNhdG9yXCIpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5jLWZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1taW5pbWl6ZXItaG92ZXItYmdcIik7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB0aGVtZXMtZ2V0LXZhbHVlKFwic2lkZWJhci1taW5pbWl6ZXItaG92ZXItaW5kaWNhdG9yXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmMtc2lkZWJhci1taW5pbWl6ZWQge1xuXG4gICAgLmMtc2lkZWJhci1uYXYtaXRlbSB7XG5cbiAgICAgICY6aG92ZXIge1xuXG4gICAgICAgID4gLmMtc2lkZWJhci1uYXYtbGluaywge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWJnXCIpO1xuXG4gICAgICAgICAgLmMtc2lkZWJhci1uYXYtaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstaG92ZXItY29sb3JcIik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5jLWRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWJnXCIpO1xuXG4gICAgICAgICAgICAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3JcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtc2lkZWJhci1uYXYge1xuICAgICAgPiAuYy1zaWRlYmFyLW5hdi1kcm9wZG93biB7XG4gICAgICAgID4gLmMtc2lkZWJhci1uYXYtZHJvcGRvd24taXRlbXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJzaWRlYmFyLWJnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdGhlbWVzLWdldC12YWx1ZShcInNpZGViYXItbmF2LWxpbmstaG92ZXItYmdcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5jLXNpZGViYXIge1xuICBAaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAgIC5jLXNpZGViYXItbmF2LWxpbmsge1xuICAgICAgJi5jLXNpZGViYXItbmF2LWxpbmstI3skY29sb3J9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHZhbHVlO1xuICAgICAgICAuYy1zaWRlYmFyLW5hdi1pY29uIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCR2YWx1ZSwgNSUpO1xuICAgICAgICAgIC5jLXNpZGViYXItbmF2LWljb24ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJHRoZW1lLXN1ZmZpeDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXRoZW1lICFkZWZhdWx0O1xuJG1vYmlsZS1icmVha3BvaW50OiAgICAgICAgICAgICAgICAgICAgICAgICAgbGcgIWRlZmF1bHQ7XG4kZW5hYmxlLWx0cjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ydGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1zaWRlYmFyLW5hdi1yb3VuZGVkOiAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQ6ICAgICAgICAgICAgICAgICAgICAuM3MgIWRlZmF1bHQ7XG4kZW5hYmxlLWVsZXZhdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLWNvbG9yLXNjaGVtZTogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG5cbiRvcHRpb25zOiAoKSAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdGhlbWVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZGVmYXVsdC10aGVtZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6IChcbiAgICAgIFwiZGVmYXVsdFwiOiAgICAgICB0cnVlLFxuICAgICAgXCJ0aGVtZS1jb2xvcnNcIjogICR0aGVtZS1jb2xvcnMsXG4gICAgICBcImdyYXlzXCI6ICAgICAgICAgJGdyYXlzLFxuICAgICAgXCJncmFkaWVudHNcIjogICAgICR0aGVtZS1ncmFkaWVudHNcbiAgICApXG4gICksXG4gICRkZWZhdWx0LXRoZW1lc1xuKTtcbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuQGltcG9ydCBcInZhcmlhYmxlcy9jb2xvcnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYnJhbmQtY29sb3JzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2dyYWRpZW50c1wiO1xuXG4vLyBPcHRpb25zXG5AaW1wb3J0IFwidmFyaWFibGVzL29wdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvc3BhY2luZ1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy96LWluZGV4XCI7XG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9keVwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL3NoYXJlZFwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2dyaWRcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2xpbmtzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvdGFibGVzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvYnV0dG9ucy1mb3Jtc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2N1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL25hdnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9uYXZiYXJcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9zdWJoZWFkZXJcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9zaWRlYmFyXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvZm9vdGVyXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvZHJvcGRvd25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2NhcmRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvanVtYm90cm9uXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvdG9vbHRpcHNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9wb3BvdmVyc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL3RvYXN0c1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2JhZGdlc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL21vZGFsc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2FsZXJ0c1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL3Byb2dyZXNzLWJhcnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvaW1hZ2VzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2Nhcm91c2VsXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvc3Bpbm5lcnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9hdmF0YXJzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbXBvbmVudHMvc3dpdGNoZXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29tcG9uZW50cy9jbG9zZVwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9jb21wb25lbnRzL2NvZGVcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwidmFyaWFibGVzL3V0aWxpdGllc1wiO1xuXG5cbi8vIFByaW50aW5nXG5AaW1wb3J0IFwidmFyaWFibGVzL3ByaW50aW5nXCI7XG5cbi8vIEN1cnNvclxuJGN1cnNvci1kaXNhYmxlZDogZGVmYXVsdCAhZGVmYXVsdDtcbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJvcmRlcjogJHNwaW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ib3JkZXIgLjc1cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtO1xufVxuXG4vL1xuLy8gR3Jvd2luZyBjaXJjbGVcbi8vXG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uc3Bpbm5lci1ncm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGg7XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbn1cbiIsIi8vIFNwaW5uZXJzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lclxuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogIC4yZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXJcbiIsIi5jLXN1YmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogJHN1YmhlYWRlci1oZWlnaHQ7XG5cbiAgJltjbGFzcyo9XCJiZy1cIl0gIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSk7XG4gIH1cblxuICAmLmMtc3ViaGVhZGVyLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xuICB9XG59XG5cbi5jLXN1YmhlYWRlci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAkc3ViaGVhZGVyLWhlaWdodDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAuYy1zdWJoZWFkZXItbmF2LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jLXN1YmhlYWRlci1uYXYtYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmMtc3ViaGVhZGVyLW5hdi1saW5rLFxuICAuYy1zdWJoZWFkZXItbmF2LWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRoZWFkZXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgIHBhZGRpbmctbGVmdDogJGhlYWRlci1uYXYtbGluay1wYWRkaW5nLXg7XG5cbiAgICAuYmFkZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBTdWJoZWFkZXIgdmFyaWFudHNcbi8vXG5cbkBpbmNsdWRlIHRoZW1lcygkc3ViaGVhZGVyLXRoZW1lLW1hcCwgJGNyZWF0ZTogYXBwZW5kLCAkcGFyZW50OiBcIi5jLXN1YmhlYWRlclwiKSB7XG4gIGJhY2tncm91bmQ6IHRoZW1lcy1nZXQtdmFsdWUoXCJzdWJoZWFkZXItYmdcIik7XG4gIEBpbmNsdWRlIGJvcmRlcnModGhlbWVzLWdldC12YWx1ZShcInN1YmhlYWRlci1ib3JkZXJcIikpO1xuXG4gIC5jLXN1YmhlYWRlci1uYXYge1xuICAgIC5jLXN1YmhlYWRlci1uYXYtbGluayxcbiAgICAuYy1zdWJoZWFkZXItbmF2LWJ0biB7XG4gICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInN1YmhlYWRlci1jb2xvclwiKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInN1YmhlYWRlci1ob3Zlci1jb2xvclwiKTtcbiAgICAgIH1cblxuICAgICAgJi5jLWRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzdWJoZWFkZXItZGlzYWJsZWQtY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtc2hvdyA+IC5jLXN1YmhlYWRlci1uYXYtbGluayxcbiAgICAuYy1hY3RpdmUgPiAuYy1zdWJoZWFkZXItbmF2LWxpbmssXG4gICAgLmMtc3ViaGVhZGVyLW5hdi1saW5rLmMtc2hvdyxcbiAgICAuYy1zdWJoZWFkZXItbmF2LWxpbmsuYy1hY3RpdmUge1xuICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJzdWJoZWFkZXItYWN0aXZlLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5jLXN1YmhlYWRlci10ZXh0IHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInN1YmhlYWRlci1jb2xvclwiKTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwic3ViaGVhZGVyLWFjdGl2ZS1jb2xvclwiKTtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInN1YmhlYWRlci1hY3RpdmUtY29sb3JcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBTdWJoZWFkZXJcbi8vIHNjc3MtZG9jcy1zdGFydCBzdWJoZWFkZXJcbiRzdWJoZWFkZXItaGVpZ2h0OiAgICAgICA0OHB4ICFkZWZhdWx0O1xuXG4kc3ViaGVhZGVyLXBhZGRpbmcteTogICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuJHN1YmhlYWRlci1wYWRkaW5nLXg6ICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kc3ViaGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteDogIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzdWJoZWFkZXJcblxuLy8gRGVmYXVsdCB0aGVtZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHN1YmhlYWRlci1kZWZhdWx0LXRoZW1lc1xuJHN1YmhlYWRlci1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWJhc2UgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWRhcmstYm9yZGVyOiAgICAgICAgICAgICAgICAgKCBib3R0b206IDFweCBzb2xpZCAkZ3JheS04MDAgKSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjkpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcblxuJHN1YmhlYWRlci1saWdodC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWxpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICggYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvciApICFkZWZhdWx0O1xuJHN1YmhlYWRlci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzdWJoZWFkZXItZGVmYXVsdC10aGVtZXNcblxuXG4kc3ViaGVhZGVyLXZhcmlhbnRzLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHN1YmhlYWRlci12YXJpYW50cy1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRhcms6IChcbiAgICAgIFwic3ViaGVhZGVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICRzdWJoZWFkZXItZGFyay1iZyxcbiAgICAgIFwic3ViaGVhZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICAgICAgICRzdWJoZWFkZXItZGFyay1jb2xvcixcbiAgICAgIFwic3ViaGVhZGVyLWJvcmRlclwiOiAgICAgICAgICAgICAgICAgICRzdWJoZWFkZXItZGFyay1ib3JkZXIsXG4gICAgICBcInN1YmhlYWRlci1ob3Zlci1jb2xvclwiOiAgICAgICAgICAgICAkc3ViaGVhZGVyLWRhcmstaG92ZXItY29sb3IsXG4gICAgICBcInN1YmhlYWRlci1hY3RpdmUtY29sb3JcIjogICAgICAgICAgICAkc3ViaGVhZGVyLWRhcmstYWN0aXZlLWNvbG9yLFxuICAgICAgXCJzdWJoZWFkZXItZGlzYWJsZWQtY29sb3JcIjogICAgICAgICAgJHN1YmhlYWRlci1kYXJrLWRpc2FibGVkLWNvbG9yLFxuICAgICksXG4gICAgbGlnaHQ6IChcbiAgICAgIFwic3ViaGVhZGVyLWJnXCI6ICAgICAgICAgICAgICAgICAgICAgICRzdWJoZWFkZXItbGlnaHQtYmcsXG4gICAgICBcInN1YmhlYWRlci1jb2xvclwiOiAgICAgICAgICAgICAgICAgICAkc3ViaGVhZGVyLWxpZ2h0LWNvbG9yLFxuICAgICAgXCJzdWJoZWFkZXItYm9yZGVyXCI6ICAgICAgICAgICAgICAgICAgJHN1YmhlYWRlci1saWdodC1ib3JkZXIsXG4gICAgICBcInN1YmhlYWRlci1ob3Zlci1jb2xvclwiOiAgICAgICAgICAgICAkc3ViaGVhZGVyLWxpZ2h0LWhvdmVyLWNvbG9yLFxuICAgICAgXCJzdWJoZWFkZXItYWN0aXZlLWNvbG9yXCI6ICAgICAgICAgICAgJHN1YmhlYWRlci1saWdodC1hY3RpdmUtY29sb3IsXG4gICAgICBcInN1YmhlYWRlci1kaXNhYmxlZC1jb2xvclwiOiAgICAgICAgICAkc3ViaGVhZGVyLWxpZ2h0LWRpc2FibGVkLWNvbG9yLFxuICAgIClcbiAgKSxcbiAgJHN1YmhlYWRlci12YXJpYW50cy1tYXBcbik7XG5cbiRzdWJoZWFkZXItZGVmYXVsdC12YXJpYW50OiBcImxpZ2h0XCIgIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLXZhcmlhbnRzOiAoXG4gIGRlZmF1bHQ6ICAkc3ViaGVhZGVyLWRlZmF1bHQtdmFyaWFudCxcbiAgbWFwOiAgICAgICRzdWJoZWFkZXItdmFyaWFudHMtbWFwXG4pICFkZWZhdWx0O1xuXG4kc3ViaGVhZGVyLXRoZW1lLW1hcDogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHN1YmhlYWRlci10aGVtZS1tYXA6IG1hcC1tZXJnZShcbiAgKFxuICAgIGRlZmF1bHQ6ICAkc3ViaGVhZGVyLXZhcmlhbnRzXG4gICksXG4gICRzdWJoZWFkZXItdGhlbWUtbWFwXG4pO1xuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYy1zd2l0Y2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xufVxuXG4uYy1zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uYy1zd2l0Y2gtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZDtcbiAgdHJhbnNpdGlvbjogLjE1cyBlYXNlLW91dDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1iZ1wiKTtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJpbnB1dC1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtaGFuZGxlLW1hcmdpbjtcbiAgICBsZWZ0OiAkc3dpdGNoLWhhbmRsZS1tYXJnaW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1oYW5kbGUtbWFyZ2luICogMikgLSAoJGJvcmRlci13aWR0aCAqIDIpO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1oYW5kbGUtbWFyZ2luICogMikgLSAoJGJvcmRlci13aWR0aCAqIDIpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgdHJhbnNpdGlvbjogLjE1cyBlYXNlLW91dDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzIC8gMik7XG4gIH1cbn1cblxuLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHN3aXRjaC13aWR0aCAtICRzd2l0Y2gtaGVpZ2h0KTtcbiAgfVxufVxuXG4uYy1zd2l0Y2gtaW5wdXQ6Zm9jdXMgfiAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgQGluY2x1ZGUgdGhlbWVzKCRmb3JtLXRoZW1lLW1hcCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwiaW5wdXQtZm9jdXMtY29sb3JcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWZvY3VzLWJnXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcImlucHV0LWZvY3VzLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuICBvdXRsaW5lOiAwO1xuICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfSBAZWxzZSB7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cbn1cblxuLmMtc3dpdGNoLWlucHV0OmRpc2FibGVkIH4gLmMtc3dpdGNoLXNsaWRlciB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IC41O1xufVxuXG4vL1xuLy8gU3dpdGNoIFNpemVzXG4vL1xuXG4uYy1zd2l0Y2gtbGcge1xuICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWxnLXdpZHRoLCAkc3dpdGNoLWxnLWhlaWdodCwgJHN3aXRjaC1sZy1mb250LXNpemUsICRzd2l0Y2gtaGFuZGxlLW1hcmdpbik7XG59XG5cbi5jLXN3aXRjaC1zbSB7XG4gIEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtc20td2lkdGgsICRzd2l0Y2gtc20taGVpZ2h0LCAkc3dpdGNoLXNtLWZvbnQtc2l6ZSwgJHN3aXRjaC1oYW5kbGUtbWFyZ2luKTtcbn1cblxuLy9cbi8vIFN3aXRjaCB3aXRoIGxhYmVsXG4vL1xuLmMtc3dpdGNoLWxhYmVsIHtcbiAgd2lkdGg6ICRzd2l0Y2gtbGFiZWwtd2lkdGg7XG5cbiAgLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtLjVlbTtcbiAgICAgIGZvbnQtc2l6ZTogJHN3aXRjaC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogJGdyYXktMzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS11bmNoZWNrZWQpO1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcblxuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgcmlnaHQ6IDFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5jLXN3aXRjaC1zbGlkZXIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHN3aXRjaC1sYWJlbC13aWR0aCAtICRzd2l0Y2gtaGVpZ2h0KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAvLyBTaXplc1xuICAmLmMtc3dpdGNoLWxnIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWxhYmVsLWxnLXdpZHRoLCAkc3dpdGNoLWxnLWhlaWdodCwgJHN3aXRjaC1sZy1mb250LXNpemUsICRzd2l0Y2gtaGFuZGxlLW1hcmdpbik7XG4gIH1cblxuICAmLmMtc3dpdGNoLXNtIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWxhYmVsLXNtLXdpZHRoLCAkc3dpdGNoLXNtLWhlaWdodCwgJHN3aXRjaC1zbS1mb250LXNpemUsICRzd2l0Y2gtaGFuZGxlLW1hcmdpbik7XG4gIH1cbn1cblxuLy9cbi8vIFN3aXRjaCAzZFxuLy9cblxuLmMtc3dpdGNoW2NsYXNzKj1cIi0zZFwiXSB7XG4gIC5jLXN3aXRjaC1zbGlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MGVtO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICB3aWR0aDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBlbTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKCRibGFjaywgLjMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpemVzXG4gICYuYy1zd2l0Y2gtbGcge1xuICAgIEBpbmNsdWRlIHN3aXRjaC0zZC1zaXplKCRzd2l0Y2gtbGctd2lkdGgsICRzd2l0Y2gtbGctaGVpZ2h0KTtcbiAgfVxuXG4gICYuYy1zd2l0Y2gtc20ge1xuICAgIEBpbmNsdWRlIHN3aXRjaC0zZC1zaXplKCRzd2l0Y2gtc20td2lkdGgsICRzd2l0Y2gtc20taGVpZ2h0KTtcbiAgfVxufVxuXG4vL1xuLy8gU3dpdGNoIFZhcmlhbnRzXG4vL1xuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAvL25vcm1hbCBzdHlsZVxuICAuYy1zd2l0Y2gtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdmFyaWFudCgkdmFsdWUpO1xuICB9XG4gIC8vIDNzIHN0eWxlXG4gIC5jLXN3aXRjaC0zZC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIHN3aXRjaC0zZC12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbiAgLy8gb3V0bGluZSBzdHlsZVxuICAuYy1zd2l0Y2gtb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxuICAvLyBvcG9zaXRlXG4gIC5jLXN3aXRjaC1vcHBvc2l0ZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1vcHBvc2l0ZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuLy9cbi8vIFBpbGwgU3R5bGVcbi8vXG5cbi5jLXN3aXRjaC1waWxsIHtcbiAgLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTBlbTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MGVtO1xuICAgIH1cbiAgfVxufVxuXG4uYy1zd2l0Y2gtc3F1YXJlIHtcbiAgLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU3dpdGNoZXNcbi8vIHNjc3MtZG9jcy1zdGFydCBzd2l0Y2hcbiRzd2l0Y2gtd2lkdGg6ICAgICAgNDBweCAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVpZ2h0OiAgICAgMjZweCAhZGVmYXVsdDtcbiRzd2l0Y2gtZm9udC1zaXplOiAgMTBweCAhZGVmYXVsdDtcblxuJHN3aXRjaC1sZy13aWR0aDogICAgICA0OHB4ICFkZWZhdWx0O1xuJHN3aXRjaC1sZy1oZWlnaHQ6ICAgICAzMHB4ICFkZWZhdWx0O1xuJHN3aXRjaC1sZy1mb250LXNpemU6ICAxMnB4ICFkZWZhdWx0O1xuXG4kc3dpdGNoLXNtLXdpZHRoOiAgICAgIDMycHggIWRlZmF1bHQ7XG4kc3dpdGNoLXNtLWhlaWdodDogICAgIDIycHggIWRlZmF1bHQ7XG4kc3dpdGNoLXNtLWZvbnQtc2l6ZTogIDhweCAhZGVmYXVsdDtcblxuJHN3aXRjaC1sYWJlbC13aWR0aDogICAgIDQ4cHggIWRlZmF1bHQ7XG4kc3dpdGNoLWxhYmVsLWxnLXdpZHRoOiAgNTZweCAhZGVmYXVsdDtcbiRzd2l0Y2gtbGFiZWwtc20td2lkdGg6ICA0MHB4ICFkZWZhdWx0O1xuXG4kc3dpdGNoLWhhbmRsZS1tYXJnaW46ICAycHggIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHN3aXRjaFxuIiwiQG1peGluIHN3aXRjaC1zaXplKCR3aWR0aCwgJGhlaWdodCwgJGZvbnQtc2l6ZSwgJGhhbmRsZS1tYXJnaW4pIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC5jLXN3aXRjaC1zbGlkZXIge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogJGhlaWdodCAtICgkaGFuZGxlLW1hcmdpbiAqIDIpIC0gKCRib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIGhlaWdodDogJGhlaWdodCAtICgkaGFuZGxlLW1hcmdpbiAqIDIpIC0gKCRib3JkZXItd2lkdGggKiAyKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkIH4gLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkd2lkdGggLSAkaGVpZ2h0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN3aXRjaC0zZC1zaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgLmMtc3dpdGNoLXNsaWRlcjo6YmVmb3JlIHtcbiAgICB3aWR0aDogJGhlaWdodDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCB+IC5jLXN3aXRjaC1zbGlkZXIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHdpZHRoIC0gJGhlaWdodCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzd2l0Y2gtM2QtdmFyaWFudCgkY29sb3IpIHtcbiAgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIHN3aXRjaC12YXJpYW50KCRjb2xvcikge1xuICAuYy1zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5jLXN3aXRjaC1zbGlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3dpdGNoLW91dGxpbmUtdmFyaWFudCgkY29sb3IpIHtcbiAgLmMtc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuYy1zd2l0Y2gtc2xpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3dpdGNoLW9wcG9zaXRlLXZhcmlhbnQoJGNvbG9yKSB7XG4gIC5jLXN3aXRjaC1pbnB1dDpjaGVja2VkICsgLmMtc3dpdGNoLXNsaWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1iZ1wiKTtcbiAgfVxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQ7XG5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQ7XG5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQ7XG5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQ7XG5cbiAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkO1xuXG4gICAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtYm9yZGVyLWNvbG9yXCIpO1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG5cbiAgICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCwgJGNyZWF0ZTogcGFyZW50KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtYWNjZW50LWJnXCIpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgQGluY2x1ZGUgdGhlbWVzKCR0YWJsZS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtaG92ZXItYmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGluY2x1ZGUgdGhlbWUtdmFyaWFudCgpIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCAgdGhlbWUtY29sb3ItbGV2ZWwoJHZhbHVlLCAkdGFibGUtYmctbGV2ZWwpLCAgdGhlbWUtY29sb3ItbGV2ZWwoJHZhbHVlLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtYWN0aXZlLWJnXCIpKTtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoc2VsZWN0ZWQsIHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1hY3RpdmUtYmdcIiksIHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1hY3RpdmUtYmdcIikpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgdGJvZHkgdHIge1xuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1ob3Zlci1jb2xvclwiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWhvdmVyLWJnXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCkge1xuICAgICAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWRhcmstY29sb3JcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1kYXJrLWJnXCIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1kYXJrLWJvcmRlci1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwKSB7XG4gICAgICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtaGVhZC1jb2xvclwiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWhlYWQtYmdcIik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRhYmxlLWJvcmRlci1jb2xvclwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtZGFyay1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtZGFyay1iZ1wiKTtcbiAgfVxuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwKSB7XG4gICAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1kYXJrLWJvcmRlci1jb2xvclwiKTtcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZXMoJHRhYmxlLXRoZW1lLW1hcCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGFibGUtZGFyay1hY2NlbnQtYmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwKSB7XG4gICAgICAgICAgY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1kYXJrLWhvdmVyLWNvbG9yXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1kYXJrLWhvdmVyLWJnXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGFibGUtb3V0bGluZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuXG4gIEBpbmNsdWRlIHRoZW1lcygkdGFibGUtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0YWJsZS1ib3JkZXItY29sb3JcIik7XG4gIH1cblxuICB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4udGFibGUtYWxpZ24tbWlkZGxlIHtcblxuICB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4udGFibGUtY2xlYXIge1xuICB0ZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgQGlmIG1hcC1oYXMta2V5KCR5aXEtdGhlbWUtbWFwLCAkY3VycmVudC10aGVtZSkge1xuICAgICAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kLCBtYXAtZ2V0KG1hcC1nZXQoJHlpcS10aGVtZS1tYXAsICRjdXJyZW50LXRoZW1lKSwgXCJ5aXEtdGV4dC1kYXJrXCIpLCBtYXAtZ2V0KG1hcC1nZXQoJHlpcS10aGVtZS1tYXAsICRjdXJyZW50LXRoZW1lKSwgXCJ5aXEtdGV4dC1saWdodFwiKSk7XG4gICAgICB9XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnRvYXN0IHtcbiAgd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gY2hlYXAgcm91bmRlZCBjb3JuZXJzIG9uIG5lc3RlZCBpdGVtc1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvYXN0LWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZDtcbiAgYm94LXNoYWRvdzogJHRvYXN0LWJveC1zaGFkb3c7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRoZW1lcygkdG9hc3QtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRvYXN0LWNvbG9yXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yXCIpO1xuICAgIGJvcmRlci1jb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRvYXN0LWJvcmRlci1jb2xvclwiKTtcbiAgfVxuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRvYXN0LXBhZGRpbmcteDtcbiAgfVxuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQ7XG4gIEBpbmNsdWRlIHRoZW1lcygkdG9hc3QtdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBjb2xvcjogdGhlbWVzLWdldC12YWx1ZShcInRvYXN0LWhlYWRlci1jb2xvclwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3JcIik7XG4gICAgYm9yZGVyLWNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvclwiKTtcbiAgfVxufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXg7IC8vIGFwcGx5IHRvIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWxcbn1cblxuLnRvYXN0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAoJHNwYWNlciAvIDQpICgkc3BhY2VyIC8gMik7XG5cbiAgJi10b3AtZnVsbCxcbiAgJi10b3AtY2VudGVyLFxuICAmLXRvcC1yaWdodCxcbiAgJi10b3AtbGVmdCxcbiAgJi1ib3R0b20tZnVsbCxcbiAgJi1ib3R0b20tY2VudGVyLFxuICAmLWJvdHRvbS1yaWdodCxcbiAgJi1ib3R0b20tbGVmdCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtdG9hc3RlcjtcbiAgICB3aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgfVxuXG4gICYtdG9wLWZ1bGwsXG4gICYtdG9wLWNlbnRlcixcbiAgJi10b3AtcmlnaHQsXG4gICYtdG9wLWxlZnQge1xuICAgIHRvcDogMDtcbiAgfVxuXG4gICYtYm90dG9tLWZ1bGwsXG4gICYtYm90dG9tLWNlbnRlcixcbiAgJi1ib3R0b20tcmlnaHQsXG4gICYtYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJi10b3AtZnVsbCxcbiAgJi1ib3R0b20tZnVsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAmLXRvcC1jZW50ZXIsXG4gICYtYm90dG9tLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYtdG9wLWZ1bGwsXG4gICYtYm90dG9tLWZ1bGwsXG4gICYtdG9wLXJpZ2h0LFxuICAmLWJvdHRvbS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAmLXRvcC1mdWxsLFxuICAmLWJvdHRvbS1mdWxsLFxuICAmLXRvcC1sZWZ0LFxuICAmLWJvdHRvbS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLnRvYXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogKCRzcGFjZXIgLyA4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAoJHNwYWNlciAvIDgpO1xuICB9XG59XG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIHRvYXN0LlxuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICAudG9hc3QtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSB0b2FzdC12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuIiwiLy8gVG9hc3RzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3RcbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdFxuXG4vLyBEZWZhdWx0IHRoZW1lXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtZGVmYXVsdC10aGVtZVxuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtZGVmYXVsdC10aGVtZVxuXG4kdG9hc3QtdGhlbWUtbWFwOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdG9hc3QtdGhlbWUtbWFwOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBkZWZhdWx0OiAoXG4gICAgICBcInRvYXN0LWJhY2tncm91bmQtY29sb3JcIjogICAgICAgICAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcixcbiAgICAgIFwidG9hc3QtY29sb3JcIjogICAgICAgICAgICAgICAgICAgICR0b2FzdC1jb2xvcixcbiAgICAgIFwidG9hc3QtYm9yZGVyLWNvbG9yXCI6ICAgICAgICAgICAgICR0b2FzdC1ib3JkZXItY29sb3IsXG4gICAgICBcInRvYXN0LWhlYWRlci1jb2xvclwiOiAgICAgICAgICAgICAkdG9hc3QtaGVhZGVyLWNvbG9yLFxuICAgICAgXCJ0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvclwiOiAgJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLFxuICAgICAgXCJ0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yXCI6ICAgICAgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3JcbiAgICApXG4gICksXG4gICR0b2FzdC10aGVtZS1tYXBcbik7XG4iLCJAbWl4aW4gdG9hc3QtdmFyaWFudCgkYmFja2dyb3VuZCkge1xuICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuXG4gIC50b2FzdC1oZWFkZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuJWJzLXRvb2x0aXAtdG9wLFxuJWJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgfVxufVxuXG4lYnMtdG9vbHRpcC1yaWdodCxcbiVicy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAudG9vbHRpcC1hcnJvdyB7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICB9XG59XG5cbiVicy10b29sdGlwLXRvcCB7XG4gIC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4lYnMtdG9vbHRpcC1yaWdodCB7XG4gIC50b29sdGlwLWFycm93IHtcbiAgICBsZWZ0OiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiVicy10b29sdGlwLWJvdHRvbSB7XG4gIC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4lYnMtdG9vbHRpcC1sZWZ0IHtcbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRvb2x0aXAge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgJWJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kICVicy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAlYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgQGV4dGVuZCAlYnMtdG9vbHRpcC1sZWZ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmcteSAkdG9vbHRpcC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcbn1cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZmFkZS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG59XG5cbi8vXG4vLyBDb21wb25lbnRzXG4vL1xuXG4uYy13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogbWFyZ2luICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZDtcbn1cblxuLmMtc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCAvIDIsIHRyYW5zZm9ybSAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQsIG1hcmdpbi1sZWZ0ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCwgbWFyZ2luLXJpZ2h0ICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCwgd2lkdGggJGxheW91dC10cmFuc2l0aW9uLXNwZWVkLCB6LWluZGV4IDBzIGVhc2UgJGxheW91dC10cmFuc2l0aW9uLXNwZWVkO1xuICAmLmMtc2lkZWJhci11bmZvbGRhYmxlIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGxheW91dC10cmFuc2l0aW9uLXNwZWVkLCBtYXJnaW4tbGVmdCAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQsIG1hcmdpbi1yaWdodCAkbGF5b3V0LXRyYW5zaXRpb24tc3BlZWQsIHdpZHRoICRsYXlvdXQtdHJhbnNpdGlvbi1zcGVlZCwgei1pbmRleCAwcyBlYXNlIDBzO1xuICB9XG59XG5cbi5jLW5vLWxheW91dC10cmFuc2l0aW9uIHtcbiAgLmMtd3JhcHBlcixcbiAgLmMtc2lkZWJhciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAgIC5jLXNpZGViYXItaGVhZGVyLFxuICAgIC5jLXNpZGViYXItbmF2LXRpdGxlLFxuICAgIC5jLXNpZGViYXItbmF2LWRpdmlkZXIsXG4gICAgLmMtc2lkZWJhci1uYXYtbGluayxcbiAgICAuYy1zaWRlYmFyLW5hdi1pY29uLFxuICAgIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLFxuICAgIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLXRvZ2dsZSxcbiAgICAuYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGU6OmFmdGVyLFxuICAgIC5jLXNpZGViYXItbmF2LWRyb3Bkb3duLWl0ZW1zLFxuICAgIC5jLXNpZGViYXItbmF2LWxhYmVsLFxuICAgIC5jLXNpZGViYXItZm9vdGVyLFxuICAgIC5jLXNpZGViYXItbWluaW1pemVyICB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uYy1uby10cmFuc2l0aW9uIHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICBAaW5jbHVkZSB0aGVtZXMoJHR5cG9ncmFwaHktdGhlbWUtbWFwLCAkY3JlYXRlOiBwYXJlbnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJoci1ib3JkZXItY29sb3JcIik7XG4gIH1cbn1cblxuLy9cbi8vIFZlcnRpY2FsIHJ1bGVzXG4vL1xuXG4uYy12ciB7XG4gIHdpZHRoOiAkdnItd2lkdGg7XG4gIEBpbmNsdWRlIHRoZW1lcygkdHlwb2dyYXBoeS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lcy1nZXQtdmFsdWUoXCJ2ci1iZ1wiKTtcbiAgfVxufVxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vXG4vLyBDb3JlVUkgZGVmYXVsdCBsYXlvdXRcbi8vXG5cbi5jLWFwcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4vLyBJRTEwJjExIEZsZXhib3ggZml4XG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgaHRtbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5jLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICY6bm90KC5jLXdyYXBwZXItZmx1aWQpIHtcblxuICAgIC5jLXN1YmhlYWRlci1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmMtaGVhZGVyLWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG5cbiAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIG1hcmdpbjogaW5oZXJpdDtcblxuICAgICAgICB+IC5jLWJvZHkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmMtZm9vdGVyLWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIG1hcmdpbjogaW5oZXJpdDtcblxuICAgICAgICB+IC5jLWJvZHkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYy1ib2R5IHtcbiAgICAgIC8vIGRlcHJlY2F0ZSB2NFxuICAgICAgLy8gZml4IGZvb3RlciBwb3NpdGlvbiB0byBhdm9pZCBicmVha2luZyBjaGFuZ2UuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIC8vIC0tLVxuXG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuICB9XG5cbiAgLy8gZGVwcmVjYXRlIHY0XG4gICYuYy13cmFwcGVyLWZsdWlkIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgIC5jLWhlYWRlci1maXhlZCB7XG4gICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbi5jLW1haW4ge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmctdG9wOiAyICogJHNwYWNlcjtcblxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBjb3JldWktYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3JzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbG9ycywgXCJzdG9wXCIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBtYXAtZ2V0KCRjb2xvcnMsIFwic3RhcnRcIikgMCUsIG1hcC1nZXQoJGNvbG9ycywgXCJzdG9wXCIpIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsIFwic3RvcFwiKSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbi8vIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4vLyAgIEBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4vLyAgICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbi8vICAgfVxuLy8gfVxuXG5AaW5jbHVkZSB0aGVtZS1ncmFkaWVudHMoKSB7XG4gIEBpbmNsdWRlIGNvcmV1aS1iZy1ncmFkaWVudC12YXJpYW50KFwiLmJnLWdyYWRpZW50LSN7JGdyYWRpZW50fVwiLCAkdmFsdWUpO1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuW2NsYXNzXj1cImJnLVwiXSB7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICRicmFuZHMtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy1ncmF5LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG4uYmctYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAoJHNwYWNlciAqIDIuNSk7XG4gIGhlaWdodDogKCRzcGFjZXIgKiAyLjUpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIEJvcmRlclxuLy9cblxuQGluY2x1ZGUgdGhlbWVzKCRib3JkZXItdGhlbWUtbWFwKSB7XG4gIC5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0aGVtZXMtZ2V0LXZhbHVlKFwiYm9yZGVyLWNvbG9yXCIpICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci10b3AgICAgIHsgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCB0aGVtZXMtZ2V0LXZhbHVlKFwiYm9yZGVyLWNvbG9yXCIpICFpbXBvcnRhbnQ7IH1cbiAgLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRoZW1lcy1nZXQtdmFsdWUoXCJib3JkZXItY29sb3JcIikgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRoZW1lcy1nZXQtdmFsdWUoXCJib3JkZXItY29sb3JcIikgIWltcG9ydGFudDsgfVxuICAuYm9yZGVyLWxlZnQgICAgeyBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCB0aGVtZXMtZ2V0LXZhbHVlKFwiYm9yZGVyLWNvbG9yXCIpICFpbXBvcnRhbnQ7IH1cbn1cblxuLmJvcmRlci0wICAgICAgICB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcC0wICAgIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0LTAgIHsgYm9yZGVyLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItYm90dG9tLTAgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdC0wICAgeyBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBpbmNsdWRlIHRoZW1lLXZhcmlhbnQoKSB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluIChib3JkZXI6IGIpIHtcbiAgQGVhY2ggJHNpemUgaW4gKDAsMSwyKSB7XG4gICAgQGlmICRzaXplID09IDAge1xuICAgICAgLiN7JGFiYnJldn0tYS0jeyRzaXplfSB7ICN7JHByb3B9OiAwICFpbXBvcnRhbnQ7IH0gLy8gYSA9IEFsbCBzaWRlc1xuICAgICAgLiN7JGFiYnJldn0tdC0jeyRzaXplfSB7ICN7JHByb3B9LXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3skYWJicmV2fS1yLSN7JHNpemV9IHsgI3skcHJvcH0tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLiN7JGFiYnJldn0tYi0jeyRzaXplfSB7ICN7JHByb3B9LWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3skYWJicmV2fS1sLSN7JHNpemV9IHsgI3skcHJvcH0tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAuI3skYWJicmV2fS1hLSN7JHNpemV9IHsgI3skcHJvcH06ICRzaXplICogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yOyB9IC8vIGEgPSBBbGwgc2lkZXNcbiAgICAgIC4jeyRhYmJyZXZ9LXQtI3skc2l6ZX0geyAjeyRwcm9wfS10b3A6ICRzaXplICogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yOyB9XG4gICAgICAuI3skYWJicmV2fS1yLSN7JHNpemV9IHsgI3skcHJvcH0tcmlnaHQ6ICRzaXplICogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yOyB9XG4gICAgICAuI3skYWJicmV2fS1iLSN7JHNpemV9IHsgI3skcHJvcH0tYm90dG9tOiAkc2l6ZSAqICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjsgfVxuICAgICAgLiN7JGFiYnJldn0tbC0jeyRzaXplfSB7ICN7JHByb3B9LWxlZnQ6ICRzaXplICogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yOyB9XG4gICAgfVxuICB9XG59XG4iLCIuY29udGVudC1jZW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAuZCN7JGluZml4fS1kb3duLW5vbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG5AZWFjaCAkdGhlbWUgaW4gbWFwLWtleXMoJGRlZmF1bHQtdGhlbWVzKSB7XG4gIC5jLSN7JHRoZW1lfSN7JHRoZW1lLXN1ZmZpeH0ge1xuICAgIC5jLWQtI3skdGhlbWV9LW5vbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgfVxuICBAaWYgbWFwLWdldChtYXAtZ2V0KCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKSwgXCJkZWZhdWx0XCIpIHtcbiAgICAkb3RoZXItdGhlbWVzOiBtYXAtcmVtb3ZlKCRkZWZhdWx0LXRoZW1lcywgJHRoZW1lKTtcblxuICAgICRzZWxlY3Rvcjogc2VsZWN0b3ItYXBwZW5kKFwiLmMtYXBwXCIpO1xuICAgIEBlYWNoICRvdGhlci10aGVtZSBpbiBtYXAta2V5cygkb3RoZXItdGhlbWVzKSB7XG4gICAgICAkc2VsZWN0b3I6IHNlbGVjdG9yLWFwcGVuZCgkc2VsZWN0b3IsIFwiOm5vdCguYy0jeyRvdGhlci10aGVtZX0jeyR0aGVtZS1zdWZmaXh9KVwiKTtcbiAgICAgIC8vIC5jLWFwcCB7XG4gICAgICAvLyAgICY6bm90KC5jLSN7JG90aGVyLXRoZW1lfSN7JHRoZW1lLXN1ZmZpeH0pIHtcbiAgICAgIC8vICAgICAuYy1kLSN7JHRoZW1lfS1ub25lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICB9XG4gICAgQGlmICgkc2VsZWN0b3IgIT0gc2VsZWN0b3ItYXBwZW5kKFwiLmMtYXBwXCIpKSB7XG4gICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAuYy1kLSN7JHRoZW1lfS1ub25lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSAvICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlKCkge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLnNoYWRvdy1zbSB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3cgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LWxnIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGcgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1ub25lIHsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gV2lkdGggYW5kIGhlaWdodFxuXG5AZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAod2lkdGg6IHcsIGhlaWdodDogaCkge1xuICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc2l6ZXMge1xuICAgIC4jeyRhYmJyZXZ9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi5tdy0xMDAgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuLm1oLTEwMCB7IG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vLyBWaWV3cG9ydCBhZGRpdGlvbmFsIGhlbHBlcnNcblxuLm1pbi12dy0xMDAgeyBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi5taW4tdmgtMTAwIHsgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuXG4udnctMTAwIHsgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7IH1cbi52aC0xMDAgeyBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBNYXJnaW4gYW5kIFBhZGRpbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKG1hcmdpbjogbSwgcGFkZGluZzogcCkge1xuICAgICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JGFiYnJldn1mcyN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ZmUjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1mcyN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mZSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFNvbWUgc3BlY2lhbCBtYXJnaW4gdXRpbHMgZm9yIGZsZXgsIHdvcmsgb25seSB3aXRoIGZsZXgtZGlyZWN0aW9uOiByb3dcbiAgICAubWZzI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAubWZlI3skaW5maXh9LWF1dG8ge1xuICAgICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVGV4dFxuLy9cblxuLnRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudDsgfVxuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdyYXAgICAgIHsgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4udGV4dC1ub3dyYXAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnRleHQjeyRpbmZpeH0tbGVmdCAgIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tcmlnaHQgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLy8gVHJhbnNmb3JtYXRpb25cblxuLnRleHQtbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtdXBwZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLy8gV2VpZ2h0IGFuZCBpdGFsaWNzXG5cbi5mb250LXdlaWdodC1saWdodCAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHRlciAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ib2xkZXIgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtaXRhbGljICAgICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG4vLyBDb250ZXh0dWFsIGNvbG9yc1xuXG4udGV4dC13aGl0ZSB7IGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfVxuXG5AaW5jbHVkZSB0aGVtZS12YXJpYW50KCkge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7XG4gIEBpbmNsdWRlIHRoZW1lcygkdHlwb2dyYXBoeS10aGVtZS1tYXAsICRjcmVhdGU6IHBhcmVudCkge1xuICAgIGNvbG9yOiB0aGVtZXMtZ2V0LXZhbHVlKFwidGV4dC1tdXRlZFwiKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gSUUgJiA8IEVkZ2UgMThcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiYm9keSB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbi5mb250LXhzIHtcbiAgZm9udC1zaXplOiAuNzVyZW0gIWltcG9ydGFudDtcbn1cblxuLmZvbnQtc20ge1xuICBmb250LXNpemU6IC44NXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC1sZyB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC14bCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC0yeGwge1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC0zeGwge1xuICBmb250LXNpemU6IDEuNzVyZW0gIWltcG9ydGFudDtcbn1cblxuLmZvbnQtNHhsIHtcbiAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LTV4bCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XG59XG5cbltjbGFzc149XCJ0ZXh0LXZhbHVlXCJdIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRleHQtdmFsdWUteHMge1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAuNzUpO1xufVxuXG4udGV4dC12YWx1ZS1zbSB7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIC44NSk7XG59XG5cbi50ZXh0LXZhbHVlIHtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG59XG5cbi50ZXh0LXZhbHVlLWxnIHtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbn1cblxuLnRleHQtdmFsdWUteGwge1xuICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjc1KTtcbn1cblxuLnRleHQtd2hpdGUgLnRleHQtbXV0ZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNikgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvL1xuLy8gUlRMIFN1cHBvcnRcbi8vXG5AaW5jbHVkZSBydGwge1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgdW5pY29kZS1iaWRpOiBlbWJlZDtcblxuICBib2R5IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuIiwiLmllLWN1c3RvbS1wcm9wZXJ0aWVzIHtcbiAgLy8gQ3VzdG9tIHZhcmlhYmxlIHZhbHVlcyBvbmx5IHN1cHBvcnQgU2Fzc1NjcmlwdCBpbnNpZGUgYCN7fWAuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgICN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIGJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cDovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gICAgLy9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiIsIlxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/ \ No newline at end of file diff --git a/public/css/frontend.css b/public/css/frontend.css index 1aaf01c0..aa36f7cf 100644 --- a/public/css/frontend.css +++ b/public/css/frontend.css @@ -22238,4 +22238,4 @@ h3 { } } -/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Zyb250ZW5kLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUNBaEI7OztFQUFBO0FDR0E7Ozs7OztFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGTUY7O0FHakJBO0VBQ0U7RUFDQTtFQUNBO0FIb0JGOztBR2pCQTtFQUNFO0FIb0JGOztBR2pCQTtFQUNFO0FIb0JGOztBR2hCRTtFQUNFO0FIbUJKOztBR3BCRTtFQUNFO0FIdUJKOztBR3hCRTtFQUNFO0FIMkJKOztBRzVCRTtFQUNFO0FIK0JKOztBR2hDRTtFQUNFO0FIbUNKOztBR3BDRTtFQUNFO0FIdUNKOztBR3hDRTtFQUNFO0FIMkNKOztBRzVDRTtFQUNFO0FIK0NKOztBR2hERTtFQUNFO0FIbURKOztBR3BERTtFQUNFO0FIdURKOztBSXpFQTtFQUNFO0VBQ0EsYUNPcUI7QUxxRXZCOztBTTdFQTtFQUNFO0VBQ0E7RUFDQTtBTmdGRjtBTTlFRTtFQUFPO0FOaUZUOztBTTlFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFVETHFCO0VDTXJCO0FOaUZGOztBTzlGQTtFQUNFO0VBQ0E7RUFDQTtBUGlHRjs7QU85RkE7RUFBK0I7QVBrRy9COztBT2pHQTtFQUFnQztBUHFHaEM7O0FPOUZFOzs7OztFQUFnQztBUHNHbEM7QU9yR0U7Ozs7O0VBQWlDO0FQNEduQzs7QVEzSEE7RUFDRTtBUjhIRjs7QVEzSEE7RUFDRTtBUjhIRjs7QVEzSEE7RUFDRTtJQUNFO0VSOEhGO0VRM0hBO0lBQ0U7RVI2SEY7QUFDRjtBUzVJQTtFQ1dFO0VBQ0E7QVZvSUY7O0FTL0lBO0VDVUU7RUFDQTtBVnlJRjs7QVNuSkE7RUNTRTtFQUNBO0FWOElGOztBU3RKQTtFQ1lFO0VBQ0E7QVY4SUY7O0FTMUpBO0VDV0U7RUFDQTtBVm1KRjs7QVM5SkE7RUNVRTtFQUNBO0FWd0pGOztBUzdKRTs7Ozs7O0VBTUU7QVRnS0o7O0FXbExBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYcUxGOztBV2xMQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBWHFMRjs7QVdsTEE7RUFDRTtBWHFMRjs7QVdsTEE7RUFDRTtBWHFMRjs7QVdsTEE7RUFDRSxXTnBCcUI7QUx5TXZCOztBWWxOQTtnRUFBQTtBQUdBO0VBQWtDO0FacU5sQzs7QVlwTkE7RUFBNEM7QVp3TjVDOztBWXZOQTtFQUFxQztBWjJOckM7O0FZMU5BO0VBQXNEO0FaOE50RDs7QVk3TkE7RUFBK0I7QVppTy9COztBWWhPQTtFQUF5QztBWm9PekM7O0FZbk9BO0VBQXlDO0FadU96Qzs7QVl0T0E7RUFBbUM7QVowT25DOztBWXpPQTtFQUFnQztBWjZPaEM7O0FZNU9BO0VBQXFDO0FaZ1ByQzs7QVkvT0E7RUFBMkM7QVptUDNDOztBWWxQQTtFQUEwQztBWnNQMUM7O0FZclBBO0VBQW1DO0FaeVBuQzs7QVl4UEE7RUFBb0M7QVo0UHBDOztBWTNQQTtFQUF5QztBWitQekM7O0FZOVBBO0VBQTBDO0Faa1ExQzs7QVlqUUE7RUFBdUM7QVpxUXZDOztBWXBRQTtFQUF3QztBWndReEM7O0FZdlFBO0VBQW1DO0FaMlFuQzs7QVkxUUE7RUFBc0M7QVo4UXRDOztBWTdRQTtFQUFtQztBWmlSbkM7O0FZaFJBO0VBQXVDO0Fab1J2Qzs7QVluUkE7RUFBc0M7QVp1UnRDOztBWXRSQTtFQUFnRTtBWjBSaEU7O0FZelJBO0VBQW1DO0FaNlJuQzs7QVk1UkE7RUFBbUM7QVpnU25DOztBWS9SQTtFQUFvQztBWm1TcEM7O0FZbFNBO0VBQXNDO0Fac1N0Qzs7QVlyU0E7RUFBOEM7QVp5UzlDOztBWXhTQTtFQUE4QztBWjRTOUM7O0FZM1NBO0VBQStDO0FaK1MvQzs7QVk5U0E7RUFBNEM7QVprVDVDOztBWWpUQTtFQUF1QztBWnFUdkM7O0FZcFRBO0VBQXVDO0Fad1R2Qzs7QVl2VEE7RUFBd0M7QVoyVHhDOztBWTFUQTtFQUFxQztBWjhUckM7O0FZN1RBO0VBQWtDO0FaaVVsQzs7QVloVUE7RUFBMEM7QVpvVTFDOztBWW5VQTtFQUFvQztBWnVVcEM7O0FZdFVBO0VBQWlDO0FaMFVqQzs7QVl6VUE7RUFBc0M7QVo2VXRDOztBWTVVQTtFQUEwQztBWmdWMUM7O0FZL1VBO0VBQWtDO0FabVZsQzs7QVlsVkE7RUFBa0M7QVpzVmxDOztBWXJWQTtFQUFzQztBWnlWdEM7O0FZeFZBO0VBQXNDO0FaNFZ0Qzs7QVkzVkE7RUFBb0M7QVorVnBDOztBWTlWQTtFQUFvQztBWmtXcEM7O0FZaldBO0VBQWtEO0FacVdsRDs7QVlwV0E7RUFBa0Q7QVp3V2xEOztBWXZXQTtFQUFtRDtBWjJXbkQ7O0FZMVdBO0VBQWdEO0FaOFdoRDs7QVk3V0E7RUFBOEM7QVppWDlDOztBWWhYQTtFQUE4QztBWm9YOUM7O0FZblhBO0VBQStDO0FadVgvQzs7QVl0WEE7RUFBNEM7QVowWDVDOztBWXpYQTtFQUF1QztBWjZYdkM7O0FZNVhBO0VBQXVDO0FaZ1l2Qzs7QVkvWEE7RUFBd0M7QVptWXhDOztBWWxZQTtFQUFxQztBWnNZckM7O0FZcllBO0VBQXVDO0FaeVl2Qzs7QVl4WUE7RUFBeUM7QVo0WXpDOztBWTNZQTtFQUF5QztBWitZekM7O0FZOVlBO0VBQXVDO0Faa1p2Qzs7QVlqWkE7RUFBd0Q7QVpxWnhEOztBWXBaQTtFQUFxQztBWndackM7O0FZdlpBO0VBQXVDO0FaMlp2Qzs7QVkxWkE7RUFBK0I7QVo4Wi9COztBWTdaQTtFQUFrQztBWmlhbEM7O0FZaGFBO0VBQXNDO0Fab2F0Qzs7QVluYUE7RUFBaUM7QVp1YWpDOztBWXRhQTtFQUFvQztBWjBhcEM7O0FZemFBO0VBQThDO0FaNmE5Qzs7QVk1YUE7RUFBeUM7QVpnYnpDOztBWS9hQTtFQUFvQztBWm1icEM7O0FZbGJBO0VBQW1DO0Fac2JuQzs7QVlyYkE7RUFBa0M7QVp5YmxDOztBWXhiQTtFQUFnQztBWjRiaEM7O0FZM2JBO0VBQWlDO0FaK2JqQzs7QVk5YkE7RUFBMEM7QVprYzFDOztBWWpjQTtFQUFzQztBWnFjdEM7O0FZcGNBO0VBQXFDO0Fad2NyQzs7QVl2Y0E7RUFBa0M7QVoyY2xDOztBWTFjQTtFQUFxQztBWjhjckM7O0FZN2NBO0VBQXNDO0FaaWR0Qzs7QVloZEE7RUFBa0M7QVpvZGxDOztBWW5kQTtFQUEwQztBWnVkMUM7O0FZdGRBO0VBQStDO0FaMGQvQzs7QVl6ZEE7RUFBZ0Q7QVo2ZGhEOztBWTVkQTtFQUFnQztBWmdlaEM7O0FZL2RBO0VBQXFDO0FabWVyQzs7QVlsZUE7RUFBcUM7QVpzZXJDOztBWXJlQTtFQUFvQztBWnllcEM7O0FZeGVBO0VBQWlDO0FaNGVqQzs7QVkzZUE7RUFBMEM7QVorZTFDOztBWTllQTtFQUE0QztBWmtmNUM7O0FZamZBO0VBQWlDO0FacWZqQzs7QVlwZkE7RUFBMEM7QVp3ZjFDOztBWXZmQTtFQUF5QztBWjJmekM7O0FZMWZBO0VBQXlDO0FaOGZ6Qzs7QVk3ZkE7RUFBNEM7QVppZ0I1Qzs7QVloZ0JBO0VBQW1EO0Fab2dCbkQ7O0FZbmdCQTtFQUF1QztBWnVnQnZDOztBWXRnQkE7RUFBZ0M7QVowZ0JoQzs7QVl6Z0JBO0VBQWlDO0FaNmdCakM7O0FZNWdCQTtFQUFvQztBWmdoQnBDOztBWS9nQkE7RUFBMkM7QVptaEIzQzs7QVlsaEJBO0VBQWlDO0Fac2hCakM7O0FZcmhCQTtFQUF1QztBWnloQnZDOztBWXhoQkE7RUFBeUM7QVo0aEJ6Qzs7QVkzaEJBO0VBQWtDO0FaK2hCbEM7O0FZOWhCQTtFQUFvQztBWmtpQnBDOztBWWppQkE7RUFBbUM7QVpxaUJuQzs7QVlwaUJBO0VBQXNDO0Fad2lCdEM7O0FZdmlCQTtFQUF1QztBWjJpQnZDOztBWTFpQkE7RUFBc0M7QVo4aUJ0Qzs7QVk3aUJBO0VBQTBDO0FaaWpCMUM7O0FZaGpCQTtFQUFzQztBWm9qQnRDOztBWW5qQkE7RUFBb0M7QVp1akJwQzs7QVl0akJBO0VBQWlDO0FaMGpCakM7O0FZempCQTtFQUFzQztBWjZqQnRDOztBWTVqQkE7RUFBdUM7QVpna0J2Qzs7QVkvakJBO0VBQW9DO0FabWtCcEM7O0FZbGtCQTtFQUEwQztBWnNrQjFDOztBWXJrQkE7RUFBa0M7QVp5a0JsQzs7QVl4a0JBO0VBQWlDO0FaNGtCakM7O0FZM2tCQTtFQUFvQztBWitrQnBDOztBWTlrQkE7RUFBc0M7QVprbEJ0Qzs7QVlqbEJBO0VBQXNDO0FacWxCdEM7O0FZcGxCQTtFQUF3QztBWndsQnhDOztBWXZsQkE7RUFBaUM7QVoybEJqQzs7QVkxbEJBO0VBQWlDO0FaOGxCakM7O0FZN2xCQTtFQUFpQztBWmltQmpDOztBWWhtQkE7RUFBaUM7QVpvbUJqQzs7QVlubUJBO0VBQWlDO0FadW1CakM7O0FZdG1CQTtFQUFpQztBWjBtQmpDOztBWXptQkE7RUFBc0M7QVo2bUJ0Qzs7QVk1bUJBO0VBQXlDO0FaZ25CekM7O0FZL21CQTtFQUFzQztBWm1uQnRDOztBWWxuQkE7RUFBd0M7QVpzbkJ4Qzs7QVlybkJBO0VBQXFDO0FaeW5CckM7O0FZeG5CQTtFQUFzQztBWjRuQnRDOztBWTNuQkE7RUFBdUM7QVorbkJ2Qzs7QVk5bkJBO0VBQXdDO0Faa29CeEM7O0FZam9CQTtFQUF5QztBWnFvQnpDOztBWXBvQkE7RUFBeUM7QVp3b0J6Qzs7QVl2b0JBO0VBQWdDO0FaMm9CaEM7O0FZMW9CQTtFQUFxQztBWjhvQnJDOztBWTdvQkE7RUFBdUM7QVppcEJ2Qzs7QVlocEJBO0VBQWtDO0Fab3BCbEM7O0FZbnBCQTtFQUFvQztBWnVwQnBDOztBWXRwQkE7RUFBa0M7QVowcEJsQzs7QVl6cEJBO0VBQXdDO0FaNnBCeEM7O0FZNXBCQTtFQUFzQztBWmdxQnRDOztBWS9wQkE7RUFBOEM7QVptcUI5Qzs7QVlscUJBO0VBQTRDO0Fac3FCNUM7O0FZcnFCQTtFQUFrQztBWnlxQmxDOztBWXhxQkE7RUFBa0M7QVo0cUJsQzs7QVkzcUJBO0VBQWdDO0FaK3FCaEM7O0FZOXFCQTtFQUFtQztBWmtyQm5DOztBWWpyQkE7RUFBZ0M7QVpxckJoQzs7QVlwckJBO0VBQXFDO0Fad3JCckM7O0FZdnJCQTtFQUFxQztBWjJyQnJDOztBWTFyQkE7RUFBcUM7QVo4ckJyQzs7QVk3ckJBO0VBQWlDO0FaaXNCakM7O0FZaHNCQTtFQUE2QztBWm9zQjdDOztBWW5zQkE7RUFBZ0M7QVp1c0JoQzs7QVl0c0JBO0VBQW9DO0FaMHNCcEM7O0FZenNCQTtFQUEwQztBWjZzQjFDOztBWTVzQkE7RUFBd0M7QVpndEJ4Qzs7QVkvc0JBO0VBQXVDO0FabXRCdkM7O0FZbHRCQTtFQUF1QztBWnN0QnZDOztBWXJ0QkE7RUFBcUM7QVp5dEJyQzs7QVl4dEJBO0VBQXlDO0FaNHRCekM7O0FZM3RCQTtFQUEyQztBWit0QjNDOztBWTl0QkE7RUFBeUM7QVprdUJ6Qzs7QVlqdUJBO0VBQTJDO0FacXVCM0M7O0FZcHVCQTtFQUEwQztBWnd1QjFDOztBWXZ1QkE7RUFBMkM7QVoydUIzQzs7QVkxdUJBO0VBQTBDO0FaOHVCMUM7O0FZN3VCQTtFQUFtQztBWml2Qm5DOztBWWh2QkE7RUFBeUM7QVpvdkJ6Qzs7QVludkJBO0VBQXVDO0FadXZCdkM7O0FZdHZCQTtFQUFnRDtBWjB2QmhEOztBWXp2QkE7RUFBdUM7QVo2dkJ2Qzs7QVk1dkJBO0VBQXFDO0FaZ3dCckM7O0FZL3ZCQTtFQUFxQztBWm13QnJDOztBWWx3QkE7RUFBZ0M7QVpzd0JoQzs7QVlyd0JBO0VBQW9DO0FaeXdCcEM7O0FZeHdCQTtFQUF3QztBWjR3QnhDOztBWTN3QkE7RUFBc0M7QVord0J0Qzs7QVk5d0JBO0VBQXFDO0Faa3hCckM7O0FZanhCQTtFQUFvQztBWnF4QnBDOztBWXB4QkE7RUFBdUM7QVp3eEJ2Qzs7QVl2eEJBO0VBQXVDO0FaMnhCdkM7O0FZMXhCQTtFQUF3QztBWjh4QnhDOztBWTd4QkE7RUFBOEM7QVppeUI5Qzs7QVloeUJBO0VBQThDO0Fab3lCOUM7O0FZbnlCQTtFQUErQztBWnV5Qi9DOztBWXR5QkE7RUFBNEM7QVoweUI1Qzs7QVl6eUJBO0VBQXFDO0FaNnlCckM7O0FZNXlCQTtFQUFtQztBWmd6Qm5DOztBWS95QkE7RUFBNEM7QVptekI1Qzs7QVlsekJBO0VBQXNDO0Fac3pCdEM7O0FZcnpCQTtFQUEwQztBWnl6QjFDOztBWXh6QkE7RUFBZ0M7QVo0ekJoQzs7QVkzekJBO0VBQTBDO0FaK3pCMUM7O0FZOXpCQTtFQUFvQztBWmswQnBDOztBWWowQkE7RUFBeUM7QVpxMEJ6Qzs7QVlwMEJBO0VBQTJDO0FadzBCM0M7O0FZdjBCQTtFQUF3QztBWjIwQnhDOztBWTEwQkE7RUFBbUM7QVo4MEJuQzs7QVk3MEJBO0VBQTBDO0FaaTFCMUM7O0FZaDFCQTtFQUFzQztBWm8xQnRDOztBWW4xQkE7RUFBc0M7QVp1MUJ0Qzs7QVl0MUJBO0VBQW9DO0FaMDFCcEM7O0FZejFCQTtFQUF1QztBWjYxQnZDOztBWTUxQkE7RUFBbUM7QVpnMkJuQzs7QVkvMUJBO0VBQXdDO0FabTJCeEM7O0FZbDJCQTtFQUFrQztBWnMyQmxDOztBWXIyQkE7RUFBdUM7QVp5MkJ2Qzs7QVl4MkJBO0VBQStDO0FaNDJCL0M7O0FZMzJCQTtFQUE2QztBWisyQjdDOztBWTkyQkE7RUFBdUM7QVprM0J2Qzs7QVlqM0JBO0VBQXNDO0FacTNCdEM7O0FZcDNCQTtFQUF1QztBWnczQnZDOztBWXYzQkE7RUFBc0M7QVoyM0J0Qzs7QVkxM0JBO0VBQWtDO0FaODNCbEM7O0FZNzNCQTtFQUF5QztBWmk0QnpDOztBWWg0QkE7RUFBeUM7QVpvNEJ6Qzs7QVluNEJBO0VBQXlDO0FadTRCekM7O0FZdDRCQTtFQUFtQztBWjA0Qm5DOztBWXo0QkE7RUFBa0M7QVo2NEJsQzs7QVk1NEJBO0VBQXlDO0FaZzVCekM7O0FZLzRCQTtFQUF3QztBWm01QnhDOztBWWw1QkE7RUFBdUM7QVpzNUJ2Qzs7QVlyNUJBO0VBQXlDO0FaeTVCekM7O0FZeDVCQTtFQUF1QztBWjQ1QnZDOztBWTM1QkE7RUFBd0M7QVorNUJ4Qzs7QVk5NUJBO0VBQXVDO0FaazZCdkM7O0FZajZCQTtFQUFnRDtBWnE2QmhEOztBWXA2QkE7RUFBZ0Q7QVp3NkJoRDs7QVl2NkJBO0VBQWlEO0FaMjZCakQ7O0FZMTZCQTtFQUE4QztBWjg2QjlDOztBWTc2QkE7RUFBeUM7QVppN0J6Qzs7QVloN0JBO0VBQXlDO0FabzdCekM7O0FZbjdCQTtFQUEwQztBWnU3QjFDOztBWXQ3QkE7RUFBdUM7QVowN0J2Qzs7QVl6N0JBO0VBQWtDO0FaNjdCbEM7O0FZNTdCQTtFQUFtQztBWmc4Qm5DOztBWS83QkE7RUFBdUM7QVptOEJ2Qzs7QVlsOEJBO0VBQW1DO0FaczhCbkM7O0FZcjhCQTtFQUFtQztBWnk4Qm5DOztBWXg4QkE7RUFBeUM7QVo0OEJ6Qzs7QVkzOEJBO0VBQWlDO0FaKzhCakM7O0FZOThCQTtFQUEyQztBWms5QjNDOztBWWo5QkE7RUFBc0M7QVpxOUJ0Qzs7QVlwOUJBO0VBQTRDO0FadzlCNUM7O0FZdjlCQTtFQUEyQztBWjI5QjNDOztBWTE5QkE7RUFBa0M7QVo4OUJsQzs7QVk3OUJBO0VBQWtDO0FaaStCbEM7O0FZaCtCQTtFQUE4QztBWm8rQjlDOztBWW4rQkE7RUFBa0M7QVp1K0JsQzs7QVl0K0JBO0VBQStDO0FaMCtCL0M7O0FZeitCQTtFQUEyQztBWjYrQjNDOztBWTUrQkE7RUFBdUM7QVpnL0J2Qzs7QVkvK0JBO0VBQTRDO0FabS9CNUM7O0FZbC9CQTtFQUF1QztBWnMvQnZDOztBWXIvQkE7RUFBZ0Q7QVp5L0JoRDs7QVl4L0JBO0VBQXNDO0FaNC9CdEM7O0FZMy9CQTtFQUEyQztBWisvQjNDOztBWTkvQkE7RUFBNkM7QVprZ0M3Qzs7QVlqZ0NBO0VBQXVDO0FacWdDdkM7O0FZcGdDQTtFQUF1QztBWndnQ3ZDOztBWXZnQ0E7RUFBdUM7QVoyZ0N2Qzs7QVkxZ0NBO0VBQXlDO0FaOGdDekM7O0FZN2dDQTtFQUFxQztBWmloQ3JDOztBWWhoQ0E7RUFBaUM7QVpvaENqQzs7QVluaENBO0VBQXdDO0FadWhDeEM7O0FZdGhDQTtFQUFvQztBWjBoQ3BDOztBWXpoQ0E7RUFBcUM7QVo2aENyQzs7QVk1aENBO0VBQW1DO0FaZ2lDbkM7O0FZL2hDQTtFQUFnQztBWm1pQ2hDOztBWWxpQ0E7RUFBaUM7QVpzaUNqQzs7QVlyaUNBO0VBQWtDO0FaeWlDbEM7O0FZeGlDQTtFQUFvQztBWjRpQ3BDOztBWTNpQ0E7RUFBb0M7QVoraUNwQzs7QVk5aUNBO0VBQXdDO0Faa2pDeEM7O0FZampDQTtFQUEyQztBWnFqQzNDOztBWXBqQ0E7RUFBeUM7QVp3akN6Qzs7QVl2akNBO0VBQTRDO0FaMmpDNUM7O0FZMWpDQTtFQUEwQztBWjhqQzFDOztBWTdqQ0E7RUFBcUM7QVppa0NyQzs7QVloa0NBO0VBQTRDO0Fab2tDNUM7O0FZbmtDQTtFQUF5QztBWnVrQ3pDOztBWXRrQ0E7RUFBb0M7QVowa0NwQzs7QVl6a0NBO0VBQXFDO0FaNmtDckM7O0FZNWtDQTtFQUF5QztBWmdsQ3pDOztBWS9rQ0E7RUFBZ0Q7QVptbENoRDs7QVlsbENBO0VBQTJDO0Fac2xDM0M7O0FZcmxDQTtFQUF1QztBWnlsQ3ZDOztBWXhsQ0E7RUFBMkM7QVo0bEMzQzs7QVkzbENBO0VBQW1DO0FaK2xDbkM7O0FZOWxDQTtFQUFtQztBWmttQ25DOztBWWptQ0E7RUFBd0M7QVpxbUN4Qzs7QVlwbUNBO0VBQWlDO0Fad21DakM7O0FZdm1DQTtFQUFzQztBWjJtQ3RDOztBWTFtQ0E7RUFBMEM7QVo4bUMxQzs7QVk3bUNBO0VBQWtDO0FaaW5DbEM7O0FZaG5DQTtFQUFtQztBWm9uQ25DOztBWW5uQ0E7RUFBNkM7QVp1bkM3Qzs7QVl0bkNBO0VBQWdEO0FaMG5DaEQ7O0FZem5DQTtFQUFnRDtBWjZuQ2hEOztBWTVuQ0E7RUFBbUQ7QVpnb0NuRDs7QVkvbkNBO0VBQW1EO0FabW9DbkQ7O0FZbG9DQTtFQUFnRDtBWnNvQ2hEOztBWXJvQ0E7RUFBZ0Q7QVp5b0NoRDs7QVl4b0NBO0VBQW9EO0FaNG9DcEQ7O0FZM29DQTtFQUFtRDtBWitvQ25EOztBWTlvQ0E7RUFBZ0Q7QVprcENoRDs7QVlqcENBO0VBQXNEO0FacXBDdEQ7O0FZcHBDQTtFQUEyRDtBWndwQzNEOztBWXZwQ0E7RUFBbUQ7QVoycENuRDs7QVkxcENBO0VBQWtEO0FaOHBDbEQ7O0FZN3BDQTtFQUF3QztBWmlxQ3hDOztBWWhxQ0E7RUFBMEM7QVpvcUMxQzs7QVlucUNBO0VBQWlDO0FadXFDakM7O0FZdHFDQTtFQUFxQztBWjBxQ3JDOztBWXpxQ0E7RUFBa0M7QVo2cUNsQzs7QVk1cUNBO0VBQXVDO0FaZ3JDdkM7O0FZL3FDQTtFQUFpQztBWm1yQ2pDOztBWWxyQ0E7RUFBa0M7QVpzckNsQzs7QVlyckNBO0VBQW1DO0FaeXJDbkM7O0FZeHJDQTtFQUFpQztBWjRyQ2pDOztBWTNyQ0E7RUFBcUM7QVorckNyQzs7QVk5ckNBO0VBQWlDO0Faa3NDakM7O0FZanNDQTtFQUFrQztBWnFzQ2xDOztBWXBzQ0E7RUFBZ0M7QVp3c0NoQzs7QVl2c0NBO0VBQXVDO0FaMnNDdkM7O0FZMXNDQTtFQUFvQztBWjhzQ3BDOztBWTdzQ0E7RUFBMkM7QVppdEMzQzs7QVlodENBO0VBQXdDO0Fab3RDeEM7O0FZbnRDQTtFQUFxQztBWnV0Q3JDOztBWXR0Q0E7RUFBcUM7QVowdENyQzs7QVl6dENBO0VBQWlDO0FaNnRDakM7O0FZNXRDQTtFQUFtQztBWmd1Q25DOztBWS90Q0E7RUFBc0M7QVptdUN0Qzs7QVlsdUNBO0VBQXFDO0Fac3VDckM7O0FZcnVDQTtFQUFzQztBWnl1Q3RDOztBWXh1Q0E7RUFBb0M7QVo0dUNwQzs7QVkzdUNBO0VBQW9DO0FaK3VDcEM7O0FZOXVDQTtFQUFnQztBWmt2Q2hDOztBWWp2Q0E7RUFBdUM7QVpxdkN2Qzs7QVlwdkNBO0VBQXlDO0Fad3ZDekM7O0FZdnZDQTtFQUFnQztBWjJ2Q2hDOztBWTF2Q0E7RUFBc0M7QVo4dkN0Qzs7QVk3dkNBO0VBQXFDO0FaaXdDckM7O0FZaHdDQTtFQUFpQztBWm93Q2pDOztBWW53Q0E7RUFBcUM7QVp1d0NyQzs7QVl0d0NBO0VBQW9DO0FaMHdDcEM7O0FZendDQTtFQUFzQztBWjZ3Q3RDOztBWTV3Q0E7RUFBc0M7QVpneEN0Qzs7QVkvd0NBO0VBQXFDO0FabXhDckM7O0FZbHhDQTtFQUFxQztBWnN4Q3JDOztBWXJ4Q0E7RUFBdUM7QVp5eEN2Qzs7QVl4eENBO0VBQXFDO0FaNHhDckM7O0FZM3hDQTtFQUFpQztBWit4Q2pDOztBWTl4Q0E7RUFBMEM7QVpreUMxQzs7QVlqeUNBO0VBQStDO0FacXlDL0M7O0FZcHlDQTtFQUF1QztBWnd5Q3ZDOztBWXZ5Q0E7RUFBb0M7QVoyeUNwQzs7QVkxeUNBO0VBQXNDO0FaOHlDdEM7O0FZN3lDQTtFQUFvQztBWml6Q3BDOztBWWh6Q0E7RUFBbUM7QVpvekNuQzs7QVluekNBO0VBQWtDO0FadXpDbEM7O0FZdHpDQTtFQUFnQztBWjB6Q2hDOztBWXp6Q0E7RUFBbUM7QVo2ekNuQzs7QVk1ekNBO0VBQW1DO0FaZzBDbkM7O0FZL3pDQTtFQUFnQztBWm0wQ2hDOztBWWwwQ0E7RUFBd0M7QVpzMEN4Qzs7QVlyMENBO0VBQWtDO0FaeTBDbEM7O0FZeDBDQTtFQUEwQztBWjQwQzFDOztBWTMwQ0E7RUFBbUM7QVorMENuQzs7QVk5MENBO0VBQXdDO0FaazFDeEM7O0FZajFDQTtFQUFzQztBWnExQ3RDOztBWXAxQ0E7RUFBdUM7QVp3MUN2Qzs7QVl2MUNBO0VBQWlDO0FaMjFDakM7O0FZMTFDQTtFQUFxQztBWjgxQ3JDOztBWTcxQ0E7RUFBMEM7QVppMkMxQzs7QVloMkNBO0VBQTZDO0FabzJDN0M7O0FZbjJDQTtFQUFtQztBWnUyQ25DOztBWXQyQ0E7RUFBeUM7QVowMkN6Qzs7QVl6MkNBO0VBQXFDO0FaNjJDckM7O0FZNTJDQTtFQUE0QztBWmczQzVDOztBWS8yQ0E7RUFBb0M7QVptM0NwQzs7QVlsM0NBO0VBQWlDO0FaczNDakM7O0FZcjNDQTtFQUEwQztBWnkzQzFDOztBWXgzQ0E7RUFBMkM7QVo0M0MzQzs7QVkzM0NBO0VBQW1DO0FaKzNDbkM7O0FZOTNDQTtFQUFxQztBWms0Q3JDOztBWWo0Q0E7RUFBcUM7QVpxNENyQzs7QVlwNENBO0VBQTBDO0FadzRDMUM7O0FZdjRDQTtFQUFvQztBWjI0Q3BDOztBWTE0Q0E7RUFBbUM7QVo4NENuQzs7QVk3NENBO0VBQXVDO0FaaTVDdkM7O0FZaDVDQTtFQUFpQztBWm81Q2pDOztBWW41Q0E7RUFBaUM7QVp1NUNqQzs7QVl0NUNBO0VBQXdDO0FaMDVDeEM7O0FZejVDQTtFQUFpQztBWjY1Q2pDOztBWTU1Q0E7RUFBZ0M7QVpnNkNoQzs7QVkvNUNBO0VBQWtDO0FabTZDbEM7O0FZbDZDQTtFQUFzQztBWnM2Q3RDOztBWXI2Q0E7RUFBdUM7QVp5NkN2Qzs7QVl4NkNBO0VBQXVDO0FaNDZDdkM7O0FZMzZDQTtFQUFpQztBWis2Q2pDOztBWTk2Q0E7RUFBa0M7QVprN0NsQzs7QVlqN0NBO0VBQW1DO0FacTdDbkM7O0FZcDdDQTtFQUFxQztBWnc3Q3JDOztBWXY3Q0E7RUFBMEM7QVoyN0MxQzs7QVkxN0NBO0VBQStDO0FaODdDL0M7O0FZNzdDQTtFQUE0QztBWmk4QzVDOztBWWg4Q0E7RUFBbUM7QVpvOENuQzs7QVluOENBO0VBQW1DO0FadThDbkM7O0FZdDhDQTtFQUFtQztBWjA4Q25DOztBWXo4Q0E7RUFBbUM7QVo2OENuQzs7QVk1OENBO0VBQXFDO0FaZzlDckM7O0FZLzhDQTtFQUFxQztBWm05Q3JDOztBWWw5Q0E7RUFBaUM7QVpzOUNqQzs7QVlyOUNBO0VBQXNDO0FaeTlDdEM7O0FZeDlDQTtFQUFxQztBWjQ5Q3JDOztBWTM5Q0E7RUFBeUM7QVorOUN6Qzs7QVk5OUNBO0VBQXdDO0FaaytDeEM7O0FZaitDQTtFQUErQztBWnErQy9DOztBWXArQ0E7RUFBaUQ7QVp3K0NqRDs7QVl2K0NBO0VBQW1DO0FaMitDbkM7O0FZMStDQTtFQUF1QztBWjgrQ3ZDOztBWTcrQ0E7RUFBOEM7QVppL0M5Qzs7QVloL0NBO0VBQXlDO0Faby9DekM7O0FZbi9DQTtFQUE4QztBWnUvQzlDOztBWXQvQ0E7RUFBcUQ7QVowL0NyRDs7QVl6L0NBO0VBQWdDO0FaNi9DaEM7O0FZNS9DQTtFQUF3QztBWmdnRHhDOztBWS8vQ0E7RUFBc0M7QVptZ0R0Qzs7QVlsZ0RBO0VBQXFDO0Fac2dEckM7O0FZcmdEQTtFQUF1QztBWnlnRHZDOztBWXhnREE7RUFBK0M7QVo0Z0QvQzs7QVkzZ0RBO0VBQTRDO0FaK2dENUM7O0FZOWdEQTtFQUFnQztBWmtoRGhDOztBWWpoREE7RUFBaUQ7QVpxaERqRDs7QVlwaERBO0VBQTBDO0Fad2hEMUM7O0FZdmhEQTtFQUF5QztBWjJoRHpDOztBWTFoREE7RUFBbUM7QVo4aERuQzs7QVk3aERBO0VBQWdDO0FaaWlEaEM7O0FZaGlEQTtFQUFvQztBWm9pRHBDOztBWW5pREE7RUFBd0M7QVp1aUR4Qzs7QVl0aURBO0VBQWtDO0FaMGlEbEM7O0FZemlEQTtFQUFtQztBWjZpRG5DOztBWTVpREE7RUFBbUM7QVpnakRuQzs7QVkvaURBO0VBQXdDO0FabWpEeEM7O0FZbGpEQTtFQUFrQztBWnNqRGxDOztBWXJqREE7RUFBaUM7QVp5akRqQzs7QVl4akRBO0VBQXFDO0FaNGpEckM7O0FZM2pEQTtFQUF5QztBWitqRHpDOztBWTlqREE7RUFBdUM7QVpra0R2Qzs7QVlqa0RBO0VBQXNDO0FacWtEdEM7O0FZcGtEQTtFQUEwQztBWndrRDFDOztBWXZrREE7RUFBcUM7QVoya0RyQzs7QVkxa0RBO0VBQTBDO0FaOGtEMUM7O0FZN2tEQTtFQUF1QztBWmlsRHZDOztBWWhsREE7RUFBd0M7QVpvbER4Qzs7QVlubERBO0VBQXVDO0FadWxEdkM7O0FZdGxEQTtFQUF3QztBWjBsRHhDOztBWXpsREE7RUFBeUM7QVo2bER6Qzs7QVk1bERBO0VBQWdEO0FaZ21EaEQ7O0FZL2xEQTtFQUF5QztBWm1tRHpDOztBWWxtREE7RUFBNkM7QVpzbUQ3Qzs7QVlybURBO0VBQXFDO0FaeW1EckM7O0FZeG1EQTtFQUE0QztBWjRtRDVDOztBWTNtREE7RUFBOEM7QVorbUQ5Qzs7QVk5bURBO0VBQTJDO0Faa25EM0M7O0FZam5EQTtFQUF3QztBWnFuRHhDOztBWXBuREE7RUFBdUM7QVp3bkR2Qzs7QVl2bkRBO0VBQXNDO0FaMm5EdEM7O0FZMW5EQTtFQUFpQztBWjhuRGpDOztBWTduREE7RUFBc0M7QVppb0R0Qzs7QVlob0RBO0VBQWlDO0Fab29EakM7O0FZbm9EQTtFQUFtQztBWnVvRG5DOztBWXRvREE7RUFBd0M7QVowb0R4Qzs7QVl6b0RBO0VBQWlDO0FaNm9EakM7O0FZNW9EQTtFQUFxQztBWmdwRHJDOztBWS9vREE7RUFBOEM7QVptcEQ5Qzs7QVlscERBO0VBQW9DO0Fac3BEcEM7O0FZcnBEQTtFQUE0QztBWnlwRDVDOztBWXhwREE7RUFBc0M7QVo0cER0Qzs7QVkzcERBO0VBQXdDO0FaK3BEeEM7O0FZOXBEQTtFQUE0QztBWmtxRDVDOztBWWpxREE7RUFBdUM7QVpxcUR2Qzs7QVlwcURBO0VBQWlDO0Fad3FEakM7O0FZdnFEQTtFQUF3QztBWjJxRHhDOztBWTFxREE7RUFBaUM7QVo4cURqQzs7QVk3cURBO0VBQTJDO0FaaXJEM0M7O0FZaHJEQTtFQUFxQztBWm9yRHJDOztBWW5yREE7RUFBa0M7QVp1ckRsQzs7QVl0ckRBO0VBQW1DO0FaMHJEbkM7O0FZenJEQTtFQUFzQztBWjZyRHRDOztBWTVyREE7RUFBb0M7QVpnc0RwQzs7QVkvckRBO0VBQWdDO0FabXNEaEM7O0FZbHNEQTtFQUFtQztBWnNzRG5DOztBWXJzREE7RUFBeUM7QVp5c0R6Qzs7QVl4c0RBO0VBQXdDO0FaNHNEeEM7O0FZM3NEQTtFQUF3QztBWitzRHhDOztBWTlzREE7RUFBaUM7QVprdERqQzs7QVlqdERBO0VBQXlDO0FacXREekM7O0FZcHREQTtFQUE2QztBWnd0RDdDOztBWXZ0REE7RUFBOEM7QVoydEQ5Qzs7QVkxdERBO0VBQW1EO0FaOHREbkQ7O0FZN3REQTtFQUFzQztBWml1RHRDOztBWWh1REE7RUFBeUM7QVpvdUR6Qzs7QVludURBO0VBQTBDO0FadXVEMUM7O0FZdHVEQTtFQUF5QztBWjB1RHpDOztBWXp1REE7RUFBNkM7QVo2dUQ3Qzs7QVk1dURBO0VBQXFDO0FaZ3ZEckM7O0FZL3VEQTtFQUFvQztBWm12RHBDOztBWWx2REE7RUFBdUM7QVpzdkR2Qzs7QVlydkRBO0VBQTJDO0FaeXZEM0M7O0FZeHZEQTtFQUFvQztBWjR2RHBDOztBWTN2REE7RUFBaUM7QVordkRqQzs7QVk5dkRBO0VBQWtDO0Faa3dEbEM7O0FZandEQTtFQUF1QztBWnF3RHZDOztBWXB3REE7RUFBb0M7QVp3d0RwQzs7QVl2d0RBO0VBQTBDO0FaMndEMUM7O0FZMXdEQTtFQUFtQztBWjh3RG5DOztBWTd3REE7RUFBOEM7QVppeEQ5Qzs7QVloeERBO0VBQTRDO0Fab3hENUM7O0FZbnhEQTtFQUFvQztBWnV4RHBDOztBWXR4REE7RUFBcUM7QVoweERyQzs7QVl6eERBO0VBQWtDO0FaNnhEbEM7O0FZNXhEQTtFQUFnQztBWmd5RGhDOztBWS94REE7RUFBdUM7QVpteUR2Qzs7QVlseURBO0VBQXVDO0Fac3lEdkM7O0FZcnlEQTtFQUErQjtBWnl5RC9COztBWXh5REE7RUFBc0M7QVo0eUR0Qzs7QVkzeURBO0VBQWtDO0FaK3lEbEM7O0FZOXlEQTtFQUFpQztBWmt6RGpDOztBWWp6REE7RUFBa0M7QVpxekRsQzs7QVlwekRBO0VBQWdDO0Fad3pEaEM7O0FZdnpEQTtFQUFvQztBWjJ6RHBDOztBWTF6REE7RUFBdUM7QVo4ekR2Qzs7QVk3ekRBO0VBQW1DO0FaaTBEbkM7O0FZaDBEQTtFQUF1QztBWm8wRHZDOztBWW4wREE7RUFBMEM7QVp1MEQxQzs7QVl0MERBO0VBQXNDO0FaMDBEdEM7O0FZejBEQTtFQUFtQztBWjYwRG5DOztBWTUwREE7RUFBbUM7QVpnMURuQzs7QVkvMERBO0VBQXlDO0FabTFEekM7O0FZbDFEQTtFQUEwQztBWnMxRDFDOztBWXIxREE7RUFBOEM7QVp5MUQ5Qzs7QVl4MURBO0VBQTBDO0FaNDFEMUM7O0FZMzFEQTtFQUFvQztBWisxRHBDOztBWTkxREE7RUFBa0M7QVprMkRsQzs7QVlqMkRBO0VBQW9DO0FacTJEcEM7O0FZcDJEQTtFQUFrQztBWncyRGxDOztBWXYyREE7RUFBeUM7QVoyMkR6Qzs7QVkxMkRBO0VBQTJDO0FaODJEM0M7O0FZNzJEQTtFQUF1QztBWmkzRHZDOztBWWgzREE7RUFBeUM7QVpvM0R6Qzs7QVluM0RBO0VBQW1DO0FadTNEbkM7O0FZdDNEQTtFQUFzQztBWjAzRHRDOztBWXozREE7RUFBc0M7QVo2M0R0Qzs7QVk1M0RBO0VBQXdDO0FaZzREeEM7O0FZLzNEQTtFQUFtQztBWm00RG5DOztBWWw0REE7RUFBeUM7QVpzNER6Qzs7QVlyNERBO0VBQXVDO0FaeTREdkM7O0FZeDREQTtFQUF3QztBWjQ0RHhDOztBWTM0REE7RUFBd0M7QVorNER4Qzs7QVk5NERBO0VBQTBDO0FaazVEMUM7O0FZajVEQTtFQUErQztBWnE1RC9DOztBWXA1REE7RUFBMEM7QVp3NUQxQzs7QVl2NURBO0VBQW9DO0FaMjVEcEM7O0FZMTVEQTtFQUEyQztBWjg1RDNDOztBWTc1REE7RUFBcUM7QVppNkRyQzs7QVloNkRBO0VBQWlDO0FabzZEakM7O0FZbjZEQTtFQUF5QztBWnU2RHpDOztBWXQ2REE7RUFBK0M7QVowNkQvQzs7QVl6NkRBO0VBQW9DO0FaNjZEcEM7O0FZNTZEQTtFQUFpQztBWmc3RGpDOztBWS82REE7RUFBcUM7QVptN0RyQzs7QVlsN0RBO0VBQXNDO0FaczdEdEM7O0FZcjdEQTtFQUE0QztBWnk3RDVDOztBWXg3REE7RUFBd0M7QVo0N0R4Qzs7QVkzN0RBO0VBQXdDO0FaKzdEeEM7O0FZOTdEQTtFQUE4QztBWms4RDlDOztBWWo4REE7RUFBdUM7QVpxOER2Qzs7QVlwOERBO0VBQXVDO0FadzhEdkM7O0FZdjhEQTtFQUF3QztBWjI4RHhDOztBWTE4REE7RUFBK0M7QVo4OEQvQzs7QVk3OERBO0VBQTZDO0FaaTlEN0M7O0FZaDlEQTtFQUFzQztBWm85RHRDOztBWW45REE7RUFBNEM7QVp1OUQ1Qzs7QVl0OURBO0VBQXVDO0FaMDlEdkM7O0FZejlEQTtFQUFnRDtBWjY5RGhEOztBWTU5REE7RUFBMEM7QVpnK0QxQzs7QVkvOURBO0VBQXFDO0FabStEckM7O0FZbCtEQTtFQUFrQztBWnMrRGxDOztBWXIrREE7RUFBb0M7QVp5K0RwQzs7QVl4K0RBO0VBQW1DO0FaNCtEbkM7O0FZMytEQTtFQUFpQztBWisrRGpDOztBWTkrREE7RUFBcUM7QVprL0RyQzs7QVlqL0RBO0VBQXdDO0FacS9EeEM7O0FZcC9EQTtFQUErQztBWncvRC9DOztBWXYvREE7RUFBdUM7QVoyL0R2Qzs7QVkxL0RBO0VBQXNDO0FaOC9EdEM7O0FZNy9EQTtFQUFtQztBWmlnRW5DOztBWWhnRUE7RUFBa0M7QVpvZ0VsQzs7QVluZ0VBO0VBQXlDO0FadWdFekM7O0FZdGdFQTtFQUErQztBWjBnRS9DOztBWXpnRUE7RUFBaUQ7QVo2Z0VqRDs7QVk1Z0VBO0VBQTZDO0FaZ2hFN0M7O0FZL2dFQTtFQUErQztBWm1oRS9DOztBWWxoRUE7RUFBd0M7QVpzaEV4Qzs7QVlyaEVBO0VBQStDO0FaeWhFL0M7O0FZeGhFQTtFQUF1QztBWjRoRXZDOztBWTNoRUE7RUFBdUM7QVoraEV2Qzs7QVk5aEVBO0VBQTRDO0Faa2lFNUM7O0FZamlFQTtFQUE0QztBWnFpRTVDOztBWXBpRUE7RUFBNkM7QVp3aUU3Qzs7QVl2aUVBO0VBQTBDO0FaMmlFMUM7O0FZMWlFQTtFQUF5QztBWjhpRXpDOztBWTdpRUE7RUFBc0M7QVppakV0Qzs7QVloakVBO0VBQTBDO0Fab2pFMUM7O0FZbmpFQTtFQUEwQztBWnVqRTFDOztBWXRqRUE7RUFBdUM7QVowakV2Qzs7QVl6akVBO0VBQWtDO0FaNmpFbEM7O0FZNWpFQTtFQUEwQztBWmdrRTFDOztBWS9qRUE7RUFBdUM7QVpta0V2Qzs7QVlsa0VBO0VBQXNDO0Fac2tFdEM7O0FZcmtFQTtFQUFnRDtBWnlrRWhEOztBWXhrRUE7RUFBNEM7QVo0a0U1Qzs7QVkza0VBO0VBQXFDO0FaK2tFckM7O0FZOWtFQTtFQUFxQztBWmtsRXJDOztBWWpsRUE7RUFBb0M7QVpxbEVwQzs7QVlwbEVBO0VBQXVDO0Fad2xFdkM7O0FZdmxFQTtFQUE0QztBWjJsRTVDOztBWTFsRUE7RUFBdUM7QVo4bEV2Qzs7QVk3bEVBO0VBQWdDO0FaaW1FaEM7O0FZaG1FQTtFQUE0QztBWm9tRTVDOztBWW5tRUE7RUFBa0Q7QVp1bUVsRDs7QVl0bUVBO0VBQTJDO0FaMG1FM0M7O0FZem1FQTtFQUE0QztBWjZtRTVDOztBWTVtRUE7RUFBb0M7QVpnbkVwQzs7QVkvbUVBO0VBQXVDO0FabW5FdkM7O0FZbG5FQTtFQUEyQztBWnNuRTNDOztBWXJuRUE7RUFBb0M7QVp5bkVwQzs7QVl4bkVBO0VBQWtDO0FaNG5FbEM7O0FZM25FQTtFQUF5QztBWituRXpDOztBWTluRUE7RUFBc0M7QVprb0V0Qzs7QVlqb0VBO0VBQXVDO0FacW9FdkM7O0FZcG9FQTtFQUF3QztBWndvRXhDOztBWXZvRUE7RUFBbUM7QVoyb0VuQzs7QVkxb0VBO0VBQWtDO0FaOG9FbEM7O0FZN29FQTtFQUFpQztBWmlwRWpDOztBWWhwRUE7RUFBMEM7QVpvcEUxQzs7QVlucEVBO0VBQW9DO0FadXBFcEM7O0FZdHBFQTtFQUFpQztBWjBwRWpDOztBWXpwRUE7RUFBd0M7QVo2cEV4Qzs7QVk1cEVBO0VBQXdDO0FaZ3FFeEM7O0FZL3BFQTtFQUFpQztBWm1xRWpDOztBWWxxRUE7RUFBa0M7QVpzcUVsQzs7QVlycUVBO0VBQXFDO0FaeXFFckM7O0FZeHFFQTtFQUFrQztBWjRxRWxDOztBWTNxRUE7RUFBdUM7QVorcUV2Qzs7QVk5cUVBO0VBQXFDO0Faa3JFckM7O0FZanJFQTtFQUF5QztBWnFyRXpDOztBWXByRUE7RUFBNEM7QVp3ckU1Qzs7QVl2ckVBO0VBQTBDO0FaMnJFMUM7O0FZMXJFQTtFQUFvQztBWjhyRXBDOztBWTdyRUE7RUFBbUM7QVppc0VuQzs7QVloc0VBO0VBQWtDO0Fab3NFbEM7O0FZbnNFQTtFQUFtQztBWnVzRW5DOztBWXRzRUE7RUFBc0M7QVowc0V0Qzs7QVl6c0VBO0VBQTBDO0FaNnNFMUM7O0FZNXNFQTtFQUEyQztBWmd0RTNDOztBWS9zRUE7RUFBNEM7QVptdEU1Qzs7QVlsdEVBO0VBQXlDO0Fac3RFekM7O0FZcnRFQTtFQUF1QztBWnl0RXZDOztBWXh0RUE7RUFBa0M7QVo0dEVsQzs7QVkzdEVBO0VBQW9DO0FaK3RFcEM7O0FZOXRFQTtFQUFrQztBWmt1RWxDOztBWWp1RUE7RUFBb0M7QVpxdUVwQzs7QVlwdUVBO0VBQXFDO0Fad3VFckM7O0FZdnVFQTtFQUFzQztBWjJ1RXRDOztBWTF1RUE7RUFBb0M7QVo4dUVwQzs7QVk3dUVBO0VBQWtDO0FaaXZFbEM7O0FZaHZFQTtFQUFxQztBWm92RXJDOztBWW52RUE7RUFBb0M7QVp1dkVwQzs7QVl0dkVBO0VBQXdDO0FaMHZFeEM7O0FZenZFQTtFQUFrQztBWjZ2RWxDOztBWTV2RUE7RUFBa0M7QVpnd0VsQzs7QVkvdkVBO0VBQWtDO0FabXdFbEM7O0FZbHdFQTtFQUFtQztBWnN3RW5DOztBWXJ3RUE7RUFBaUM7QVp5d0VqQzs7QVl4d0VBO0VBQWtDO0FaNHdFbEM7O0FZM3dFQTtFQUFtQztBWit3RW5DOztBWTl3RUE7RUFBcUM7QVpreEVyQzs7QVlqeEVBO0VBQXFDO0FacXhFckM7O0FZcHhFQTtFQUFpQztBWnd4RWpDOztBWXZ4RUE7RUFBd0M7QVoyeEV4Qzs7QVkxeEVBO0VBQXFDO0FaOHhFckM7O0FZN3hFQTtFQUFzQztBWml5RXRDOztBWWh5RUE7RUFBNkM7QVpveUU3Qzs7QVlueUVBO0VBQXFDO0FadXlFckM7O0FZdHlFQTtFQUFxQztBWjB5RXJDOztBWXp5RUE7RUFBOEM7QVo2eUU5Qzs7QVk1eUVBO0VBQXFDO0FaZ3pFckM7O0FZL3lFQTtFQUFvQztBWm16RXBDOztBWWx6RUE7RUFBbUM7QVpzekVuQzs7QVlyekVBO0VBQW9DO0FaeXpFcEM7O0FZeHpFQTtFQUFtQztBWjR6RW5DOztBWTN6RUE7RUFBd0M7QVorekV4Qzs7QVk5ekVBO0VBQWlDO0FaazBFakM7O0FZajBFQTtFQUFpQztBWnEwRWpDOztBWXAwRUE7RUFBdUM7QVp3MEV2Qzs7QVl2MEVBO0VBQW9DO0FaMjBFcEM7O0FZMTBFQTtFQUFpQztBWjgwRWpDOztBWTcwRUE7RUFBa0M7QVppMUVsQzs7QVloMUVBO0VBQWtDO0FabzFFbEM7O0FZbjFFQTtFQUFtQztBWnUxRW5DOztBWXQxRUE7RUFBMkM7QVowMUUzQzs7QVl6MUVBO0VBQStCO0FaNjFFL0I7O0FZNTFFQTtFQUFzQztBWmcyRXRDOztBWS8xRUE7RUFBcUM7QVptMkVyQzs7QVlsMkVBO0VBQWtDO0FaczJFbEM7O0FZcjJFQTtFQUFtQztBWnkyRW5DOztBWXgyRUE7RUFBZ0M7QVo0MkVoQzs7QVkzMkVBO0VBQW9DO0FaKzJFcEM7O0FZOTJFQTtFQUFxQztBWmszRXJDOztBWWozRUE7RUFBbUM7QVpxM0VuQzs7QVlwM0VBO0VBQW1DO0FadzNFbkM7O0FZdjNFQTtFQUF3QztBWjIzRXhDOztBWTEzRUE7RUFBMEM7QVo4M0UxQzs7QVk3M0VBO0VBQWlDO0FaaTRFakM7O0FZaDRFQTtFQUFzQztBWm80RXRDOztBWW40RUE7RUFBNEM7QVp1NEU1Qzs7QVl0NEVBO0VBQXNDO0FaMDRFdEM7O0FZejRFQTtFQUFtQztBWjY0RW5DOztBWTU0RUE7RUFBcUM7QVpnNUVyQzs7QVkvNEVBO0VBQXFDO0FabTVFckM7O0FZbDVFQTtFQUFtQztBWnM1RW5DOztBWXI1RUE7RUFBd0M7QVp5NUV4Qzs7QVl4NUVBO0VBQXlDO0FaNDVFekM7O0FZMzVFQTtFQUEyQztBWis1RTNDOztBWTk1RUE7RUFBb0M7QVprNkVwQzs7QVlqNkVBO0VBQW1DO0FacTZFbkM7O0FZcDZFQTtFQUEwQztBWnc2RTFDOztBWXY2RUE7RUFBa0M7QVoyNkVsQzs7QVkxNkVBO0VBQXVDO0FaODZFdkM7O0FZNzZFQTtFQUF5QztBWmk3RXpDOztBWWg3RUE7RUFBdUM7QVpvN0V2Qzs7QVluN0VBO0VBQXdDO0FadTdFeEM7O0FZdDdFQTtFQUFpQztBWjA3RWpDOztBWXo3RUE7RUFBb0M7QVo2N0VwQzs7QVk1N0VBO0VBQWtDO0FaZzhFbEM7O0FZLzdFQTtFQUFpQztBWm04RWpDOztBWWw4RUE7RUFBc0M7QVpzOEV0Qzs7QVlyOEVBO0VBQTRDO0FaeThFNUM7O0FZeDhFQTtFQUEyQztBWjQ4RTNDOztBWTM4RUE7RUFBeUM7QVorOEV6Qzs7QVk5OEVBO0VBQXNDO0FaazlFdEM7O0FZajlFQTtFQUFzQztBWnE5RXRDOztBWXA5RUE7RUFBaUM7QVp3OUVqQzs7QVl2OUVBO0VBQWlDO0FaMjlFakM7O0FZMTlFQTtFQUFxQztBWjg5RXJDOztBWTc5RUE7RUFBd0M7QVppK0V4Qzs7QVloK0VBO0VBQW1DO0FabytFbkM7O0FZbitFQTtFQUFrQztBWnUrRWxDOztBWXQrRUE7RUFBc0M7QVowK0V0Qzs7QVl6K0VBO0VBQWlDO0FaNitFakM7O0FZNStFQTtFQUFxQztBWmcvRXJDOztBWS8rRUE7RUFBb0M7QVptL0VwQzs7QVlsL0VBO0VBQW9DO0Facy9FcEM7O0FZci9FQTtFQUEyQztBWnkvRTNDOztBWXgvRUE7RUFBaUM7QVo0L0VqQzs7QVkzL0VBO0VBQXNDO0FaKy9FdEM7O0FZOS9FQTtFQUFnRDtBWmtnRmhEOztBWWpnRkE7RUFBZ0Q7QVpxZ0ZoRDs7QVlwZ0ZBO0VBQWlEO0Fad2dGakQ7O0FZdmdGQTtFQUE4QztBWjJnRjlDOztBWTFnRkE7RUFBdUM7QVo4Z0Z2Qzs7QVk3Z0ZBO0VBQXlDO0FaaWhGekM7O0FZaGhGQTtFQUFrQztBWm9oRmxDOztBWW5oRkE7RUFBd0M7QVp1aEZ4Qzs7QVl0aEZBO0VBQWlDO0FaMGhGakM7O0FZemhGQTtFQUFvQztBWjZoRnBDOztBWTVoRkE7RUFBa0M7QVpnaUZsQzs7QVkvaEZBO0VBQW1DO0FabWlGbkM7O0FZbGlGQTtFQUFzQztBWnNpRnRDOztBWXJpRkE7RUFBc0M7QVp5aUZ0Qzs7QVl4aUZBO0VBQWlDO0FaNGlGakM7O0FZM2lGQTtFQUF3QztBWitpRnhDOztBWTlpRkE7RUFBZ0M7QVprakZoQzs7QVlqakZBO0VBQXVDO0FacWpGdkM7O0FZcGpGQTtFQUEyQztBWndqRjNDOztBWXZqRkE7RUFBdUM7QVoyakZ2Qzs7QVkxakZBO0VBQTJDO0FaOGpGM0M7O0FZN2pGQTtFQUFvQztBWmlrRnBDOztBWWhrRkE7RUFBc0M7QVpva0Z0Qzs7QVlua0ZBO0VBQXFDO0FadWtGckM7O0FZdGtGQTtFQUFtQztBWjBrRm5DOztBWXprRkE7RUFBaUM7QVo2a0ZqQzs7QVk1a0ZBO0VBQXdDO0FaZ2xGeEM7O0FZL2tGQTtFQUF3QztBWm1sRnhDOztBWWxsRkE7RUFBMEM7QVpzbEYxQzs7QVlybEZBO0VBQTBDO0FaeWxGMUM7O0FZeGxGQTtFQUFpQztBWjRsRmpDOztBWTNsRkE7RUFBcUM7QVorbEZyQzs7QVk5bEZBO0VBQW1DO0Faa21GbkM7O0FZam1GQTtFQUFnQztBWnFtRmhDOztBWXBtRkE7RUFBa0M7QVp3bUZsQzs7QVl2bUZBO0VBQW9DO0FaMm1GcEM7O0FZMW1GQTtFQUFtQztBWjhtRm5DOztBWTdtRkE7RUFBcUM7QVppbkZyQzs7QVlobkZBO0VBQW1DO0Fab25GbkM7O0FZbm5GQTtFQUFrQztBWnVuRmxDOztBWXRuRkE7RUFBbUM7QVowbkZuQzs7QVl6bkZBO0VBQXFDO0FaNm5GckM7O0FZNW5GQTtFQUFnQztBWmdvRmhDOztBWS9uRkE7RUFBc0M7QVptb0Z0Qzs7QVlsb0ZBO0VBQTZDO0Fac29GN0M7O0FZcm9GQTtFQUFtQztBWnlvRm5DOztBWXhvRkE7RUFBcUM7QVo0b0ZyQzs7QVkzb0ZBO0VBQW9DO0FaK29GcEM7O0FZOW9GQTtFQUFvQztBWmtwRnBDOztBWWpwRkE7RUFBbUM7QVpxcEZuQzs7QVlwcEZBO0VBQXNDO0Fad3BGdEM7O0FZdnBGQTtFQUFzQztBWjJwRnRDOztBWTFwRkE7RUFBdUM7QVo4cEZ2Qzs7QVk3cEZBO0VBQTJDO0FaaXFGM0M7O0FZaHFGQTtFQUFpRDtBWm9xRmpEOztBWW5xRkE7RUFBNkM7QVp1cUY3Qzs7QVl0cUZBO0VBQXVDO0FaMHFGdkM7O0FZenFGQTtFQUFzQztBWjZxRnRDOztBWTVxRkE7RUFBa0M7QVpnckZsQzs7QVkvcUZBO0VBQXlDO0FabXJGekM7O0FZbHJGQTtFQUF5QztBWnNyRnpDOztBWXJyRkE7RUFBbUM7QVp5ckZuQzs7QVl4ckZBO0VBQWdDO0FaNHJGaEM7O0FZM3JGQTtFQUFxQztBWityRnJDOztBWTlyRkE7RUFBa0M7QVprc0ZsQzs7QVlqc0ZBO0VBQW1DO0FacXNGbkM7O0FZcHNGQTtFQUFtQztBWndzRm5DOztBWXZzRkE7RUFBdUM7QVoyc0Z2Qzs7QVkxc0ZBO0VBQWlDO0FaOHNGakM7O0FZN3NGQTtFQUFtQztBWml0Rm5DOztBWWh0RkE7RUFBdUM7QVpvdEZ2Qzs7QVludEZBO0VBQTJDO0FadXRGM0M7O0FZdHRGQTtFQUE0QztBWjB0RjVDOztBWXp0RkE7RUFBZ0Q7QVo2dEZoRDs7QVk1dEZBO0VBQXdDO0FaZ3VGeEM7O0FZL3RGQTtFQUE0QztBWm11RjVDOztBWWx1RkE7RUFBcUM7QVpzdUZyQzs7QVlydUZBO0VBQWlDO0FaeXVGakM7O0FZeHVGQTtFQUEwQztBWjR1RjFDOztBWTN1RkE7RUFBbUM7QVordUZuQzs7QVk5dUZBO0VBQXVDO0Faa3ZGdkM7O0FZanZGQTtFQUFxQztBWnF2RnJDOztBWXB2RkE7RUFBa0M7QVp3dkZsQzs7QVl2dkZBO0VBQTBDO0FaMnZGMUM7O0FZMXZGQTtFQUFvQztBWjh2RnBDOztBWTd2RkE7RUFBa0M7QVppd0ZsQzs7QVlod0ZBO0VBQW9DO0Fab3dGcEM7O0FZbndGQTtFQUFpQztBWnV3RmpDOztBWXR3RkE7RUFBMEM7QVowd0YxQzs7QVl6d0ZBO0VBQW1DO0FaNndGbkM7O0FZNXdGQTtFQUFzQztBWmd4RnRDOztBWS93RkE7RUFBbUM7QVpteEZuQzs7QVlseEZBO0VBQWlDO0Fac3hGakM7O0FZcnhGQTtFQUFvQztBWnl4RnBDOztBWXh4RkE7RUFBc0M7QVo0eEZ0Qzs7QVkzeEZBO0VBQTBDO0FaK3hGMUM7O0FZOXhGQTtFQUFnQztBWmt5RmhDOztBWWp5RkE7RUFBZ0M7QVpxeUZoQzs7QVlweUZBO0VBQXdDO0Fad3lGeEM7O0FZdnlGQTtFQUF5QztBWjJ5RnpDOztBWTF5RkE7RUFBMkM7QVo4eUYzQzs7QVk3eUZBO0VBQTJDO0FaaXpGM0M7O0FZaHpGQTtFQUEwQztBWm96RjFDOztBWW56RkE7RUFBaUQ7QVp1ekZqRDs7QVl0ekZBO0VBQW9DO0FaMHpGcEM7O0FZenpGQTtFQUF5QztBWjZ6RnpDOztBWTV6RkE7RUFBK0I7QVpnMEYvQjs7QVkvekZBO0VBQXFDO0FabTBGckM7O0FZbDBGQTtFQUFtQztBWnMwRm5DOztBWXIwRkE7RUFBa0M7QVp5MEZsQzs7QVl4MEZBO0VBQTBDO0FaNDBGMUM7O0FZMzBGQTtFQUFrQztBWiswRmxDOztBWTkwRkE7RUFBZ0M7QVprMUZoQzs7QVlqMUZBO0VBQWtDO0FacTFGbEM7O0FZcDFGQTtFQUFvQztBWncxRnBDOztBWXYxRkE7RUFBa0M7QVoyMUZsQzs7QVkxMUZBO0VBQXNDO0FaODFGdEM7O0FZNzFGQTtFQUFrQztBWmkyRmxDOztBWWgyRkE7RUFBd0M7QVpvMkZ4Qzs7QVluMkZBO0VBQXlDO0FadTJGekM7O0FZdDJGQTtFQUFvQztBWjAyRnBDOztBWXoyRkE7RUFBbUM7QVo2MkZuQzs7QVk1MkZBO0VBQW1DO0FaZzNGbkM7O0FZLzJGQTtFQUF3QztBWm0zRnhDOztBWWwzRkE7RUFBc0M7QVpzM0Z0Qzs7QVlyM0ZBO0VBQTBDO0FaeTNGMUM7O0FZeDNGQTtFQUFzQztBWjQzRnRDOztBWTMzRkE7RUFBb0M7QVorM0ZwQzs7QVk5M0ZBO0VBQXFDO0FaazRGckM7O0FZajRGQTtFQUEyQztBWnE0RjNDOztBWXA0RkE7RUFBa0M7QVp3NEZsQzs7QVl2NEZBO0VBQW9DO0FaMjRGcEM7O0FZMTRGQTtFQUFrQztBWjg0RmxDOztBWTc0RkE7RUFBeUM7QVppNUZ6Qzs7QVloNUZBO0VBQWdDO0FabzVGaEM7O0FZbjVGQTtFQUFtQztBWnU1Rm5DOztBWXQ1RkE7RUFBa0M7QVowNUZsQzs7QVl6NUZBO0VBQWdDO0FaNjVGaEM7O0FZNTVGQTtFQUFvQztBWmc2RnBDOztBWS81RkE7RUFBc0M7QVptNkZ0Qzs7QVlsNkZBO0VBQW9DO0FaczZGcEM7O0FZcjZGQTtFQUF1QztBWnk2RnZDOztBWXg2RkE7RUFBdUM7QVo0NkZ2Qzs7QVkzNkZBO0VBQXlDO0FaKzZGekM7O0FZOTZGQTtFQUF5QztBWms3RnpDOztBWWo3RkE7RUFBMEM7QVpxN0YxQzs7QVlwN0ZBO0VBQXlDO0FadzdGekM7O0FZdjdGQTtFQUF1QztBWjI3RnZDOztBWTE3RkE7RUFBb0M7QVo4N0ZwQzs7QVk3N0ZBO0VBQW9DO0FaaThGcEM7O0FZaDhGQTtFQUF1QztBWm84RnZDOztBWW44RkE7RUFBc0M7QVp1OEZ0Qzs7QVl0OEZBO0VBQXlDO0FaMDhGekM7O0FZejhGQTtFQUF3QztBWjY4RnhDOztBWTU4RkE7RUFBOEM7QVpnOUY5Qzs7QVkvOEZBO0VBQTZDO0FabTlGN0M7O0FZbDlGQTtFQUFrQztBWnM5RmxDOztBWXI5RkE7RUFBc0M7QVp5OUZ0Qzs7QVl4OUZBO0VBQXdDO0FaNDlGeEM7O0FZMzlGQTtFQUF5QztBWis5RnpDOztBWTk5RkE7RUFBNkM7QVprK0Y3Qzs7QVlqK0ZBO0VBQXlDO0FacStGekM7O0FZcCtGQTtFQUF3QztBWncrRnhDOztBWXYrRkE7RUFBZ0M7QVoyK0ZoQzs7QVkxK0ZBO0VBQXVDO0FaOCtGdkM7O0FZNytGQTtFQUEyQztBWmkvRjNDOztBWWgvRkE7RUFBMkM7QVpvL0YzQzs7QVluL0ZBO0VBQTBDO0FadS9GMUM7O0FZdC9GQTtFQUE4QztBWjAvRjlDOztBWXovRkE7RUFBdUM7QVo2L0Z2Qzs7QVk1L0ZBO0VBQWtDO0FaZ2dHbEM7O0FZLy9GQTtFQUFzQztBWm1nR3RDOztBWWxnR0E7RUFBd0M7QVpzZ0d4Qzs7QVlyZ0dBO0VBQTZDO0FaeWdHN0M7O0FZeGdHQTtFQUF3QztBWjRnR3hDOztBWTNnR0E7RUFBNkM7QVorZ0c3Qzs7QVk5Z0dBO0VBQWtDO0Faa2hHbEM7O0FZamhHQTtFQUEwQztBWnFoRzFDOztBWXBoR0E7RUFBNEM7QVp3aEc1Qzs7QVl2aEdBO0VBQXdDO0FaMmhHeEM7O0FZMWhHQTtFQUFpQztBWjhoR2pDOztBWTdoR0E7RUFBd0M7QVppaUd4Qzs7QVloaUdBO0VBQXdDO0Fab2lHeEM7O0FZbmlHQTtFQUFpQztBWnVpR2pDOztBWXRpR0E7RUFBaUM7QVowaUdqQzs7QVl6aUdBO0VBQXdDO0FaNmlHeEM7O0FZNWlHQTtFQUF3QztBWmdqR3hDOztBWS9pR0E7RUFBb0M7QVptakdwQzs7QVlsakdBO0VBQWlDO0Fac2pHakM7O0FZcmpHQTtFQUFtQztBWnlqR25DOztBWXhqR0E7RUFBZ0M7QVo0akdoQzs7QVkzakdBO0VBQXNDO0FaK2pHdEM7O0FZOWpHQTtFQUFpQztBWmtrR2pDOztBWWprR0E7RUFBcUM7QVpxa0dyQzs7QVlwa0dBO0VBQXVDO0Fad2tHdkM7O0FZdmtHQTtFQUFzQztBWjJrR3RDOztBWTFrR0E7RUFBaUM7QVo4a0dqQzs7QVk3a0dBO0VBQTBDO0FaaWxHMUM7O0FZaGxHQTtFQUF5QztBWm9sR3pDOztBWW5sR0E7RUFBZ0Q7QVp1bEdoRDs7QVl0bEdBO0VBQW9EO0FaMGxHcEQ7O0FZemxHQTtFQUFrQztBWjZsR2xDOztBWTVsR0E7RUFBdUM7QVpnbUd2Qzs7QVkvbEdBO0VBQXlDO0FabW1HekM7O0FZbG1HQTtFQUE0QztBWnNtRzVDOztBWXJtR0E7RUFBeUM7QVp5bUd6Qzs7QVl4bUdBO0VBQXNDO0FaNG1HdEM7O0FZM21HQTtFQUFtQztBWittR25DOztBWTltR0E7RUFBeUM7QVprbkd6Qzs7QVlqbkdBO0VBQW1DO0FacW5HbkM7O0FZcG5HQTtFQUErQjtBWnduRy9COztBWXZuR0E7RUFBbUM7QVoybkduQzs7QVkxbkdBO0VBQXFDO0FaOG5HckM7O0FZN25HQTtFQUE0QztBWmlvRzVDOztBWWhvR0E7RUFBc0M7QVpvb0d0Qzs7QVlub0dBO0VBQXNDO0FadW9HdEM7O0FZdG9HQTtFQUFrQztBWjBvR2xDOztBWXpvR0E7RUFBdUM7QVo2b0d2Qzs7QVk1b0dBO0VBQXdDO0FaZ3BHeEM7O0FZL29HQTtFQUFrQztBWm1wR2xDOztBWWxwR0E7RUFBc0M7QVpzcEd0Qzs7QVlycEdBO0VBQXNDO0FaeXBHdEM7O0FZeHBHQTtFQUEwQztBWjRwRzFDOztBWTNwR0E7RUFBb0M7QVorcEdwQzs7QVk5cEdBO0VBQW1DO0Faa3FHbkM7O0FZanFHQTtFQUF5QztBWnFxR3pDOztBWXBxR0E7RUFBb0M7QVp3cUdwQzs7QVl2cUdBO0VBQWtDO0FaMnFHbEM7O0FZMXFHQTtFQUF3QztBWjhxR3hDOztBWTdxR0E7RUFBbUM7QVppckduQzs7QVlockdBO0VBQWtDO0Fab3JHbEM7O0FZbnJHQTtFQUFvQztBWnVyR3BDOztBWXRyR0E7RUFBeUM7QVowckd6Qzs7QVl6ckdBO0VBQW9DO0FaNnJHcEM7O0FZNXJHQTtFQUFzQztBWmdzR3RDOztBWS9yR0E7RUFBbUM7QVptc0duQzs7QVlsc0dBO0VBQXlDO0Fac3NHekM7O0FZcnNHQTtFQUEwQztBWnlzRzFDOztBWXhzR0E7RUFBbUM7QVo0c0duQzs7QVkzc0dBO0VBQWlDO0FaK3NHakM7O0FZOXNHQTtFQUFxQztBWmt0R3JDOztBWWp0R0E7RUFBdUM7QVpxdEd2Qzs7QVlwdEdBO0VBQTBDO0Fad3RHMUM7O0FZdnRHQTtFQUFtQztBWjJ0R25DOztBWTF0R0E7RUFBa0M7QVo4dEdsQzs7QVk3dEdBO0VBQXNDO0FaaXVHdEM7O0FZaHVHQTtFQUFtQztBWm91R25DOztBWW51R0E7RUFBdUM7QVp1dUd2Qzs7QVl0dUdBO0VBQXlDO0FaMHVHekM7O0FZenVHQTtFQUFzQztBWjZ1R3RDOztBWTV1R0E7RUFBcUM7QVpndkdyQzs7QVkvdUdBO0VBQW9DO0FabXZHcEM7O0FZbHZHQTtFQUFnQztBWnN2R2hDOztBWXJ2R0E7RUFBbUM7QVp5dkduQzs7QVl4dkdBO0VBQWlDO0FaNHZHakM7O0FZM3ZHQTtFQUFpQztBWit2R2pDOztBWTl2R0E7RUFBa0M7QVprd0dsQzs7QVlqd0dBO0VBQW1DO0FacXdHbkM7O0FZcHdHQTtFQUF1QztBWnd3R3ZDOztBWXZ3R0E7RUFBb0M7QVoyd0dwQzs7QVkxd0dBO0VBQWtDO0FaOHdHbEM7O0FZN3dHQTtFQUFnQztBWml4R2hDOztBWWh4R0E7RUFBdUM7QVpveEd2Qzs7QVlueEdBO0VBQXVDO0FadXhHdkM7O0FZdHhHQTtFQUFrQztBWjB4R2xDOztBWXp4R0E7RUFBMkM7QVo2eEczQzs7QVk1eEdBO0VBQTZDO0FaZ3lHN0M7O0FZL3hHQTtFQUEyQztBWm15RzNDOztBWWx5R0E7RUFBb0M7QVpzeUdwQzs7QVlyeUdBO0VBQXVDO0FaeXlHdkM7O0FZeHlHQTtFQUFpQztBWjR5R2pDOztBWTN5R0E7RUFBb0M7QVoreUdwQzs7QVk5eUdBO0VBQXFDO0Faa3pHckM7O0FZanpHQTtFQUFtQztBWnF6R25DOztBWXB6R0E7RUFBdUM7QVp3ekd2Qzs7QVl2ekdBO0VBQWlDO0FaMnpHakM7O0FZMXpHQTtFQUFzQztBWjh6R3RDOztBWTd6R0E7RUFBMkM7QVppMEczQzs7QVloMEdBO0VBQWlDO0FabzBHakM7O0FZbjBHQTtFQUFtQztBWnUwR25DOztBWXQwR0E7RUFBbUM7QVowMEduQzs7QVl6MEdBO0VBQXdDO0FaNjBHeEM7O0FZNTBHQTtFQUFtQztBWmcxR25DOztBWS8wR0E7RUFBbUM7QVptMUduQzs7QVlsMUdBO0VBQW9DO0FaczFHcEM7O0FZcjFHQTtFQUFtQztBWnkxR25DOztBWXgxR0E7RUFBMEM7QVo0MUcxQzs7QVkzMUdBO0VBQTRDO0FaKzFHNUM7O0FZOTFHQTtFQUF5QztBWmsyR3pDOztBWWoyR0E7RUFBd0M7QVpxMkd4Qzs7QVlwMkdBO0VBQXdDO0FadzJHeEM7O0FZdjJHQTtFQUFxQztBWjIyR3JDOztBWTEyR0E7RUFBcUM7QVo4MkdyQzs7QVk3MkdBO0VBQW1DO0FaaTNHbkM7O0FZaDNHQTtFQUFtQztBWm8zR25DOztBWW4zR0E7RUFBeUM7QVp1M0d6Qzs7QVl0M0dBO0VBQW1DO0FaMDNHbkM7O0FZejNHQTtFQUFrQztBWjYzR2xDOztBWTUzR0E7RUFBc0M7QVpnNEd0Qzs7QVkvM0dBO0VBQTZDO0FabTRHN0M7O0FZbDRHQTtFQUF5QztBWnM0R3pDOztBWXI0R0E7RUFBd0M7QVp5NEd4Qzs7QVl4NEdBO0VBQXVDO0FaNDRHdkM7O0FZMzRHQTtFQUF5QztBWis0R3pDOztBWTk0R0E7RUFBaUM7QVprNUdqQzs7QVlqNUdBO0VBQTBDO0FacTVHMUM7O0FZcDVHQTtFQUF5QztBWnc1R3pDOztBWXY1R0E7RUFBd0M7QVoyNUd4Qzs7QVkxNUdBO0VBQW9DO0FaODVHcEM7O0FZNzVHQTtFQUF5QztBWmk2R3pDOztBWWg2R0E7RUFBNEM7QVpvNkc1Qzs7QVluNkdBO0VBQTBDO0FadTZHMUM7O0FZdDZHQTtFQUFxQztBWjA2R3JDOztBWXo2R0E7RUFBbUM7QVo2NkduQzs7QVk1NkdBO0VBQXdDO0FaZzdHeEM7O0FZLzZHQTtFQUFpQztBWm03R2pDOztBWWw3R0E7RUFBd0M7QVpzN0d4Qzs7QVlyN0dBO0VBQTBDO0FaeTdHMUM7O0FZeDdHQTtFQUF5QztBWjQ3R3pDOztBWTM3R0E7RUFBbUM7QVorN0duQzs7QVk5N0dBO0VBQXNDO0FaazhHdEM7O0FZajhHQTtFQUFxQztBWnE4R3JDOztBWXA4R0E7RUFBd0M7QVp3OEd4Qzs7QVl2OEdBO0VBQWlDO0FaMjhHakM7O0FZMThHQTtFQUFvQztBWjg4R3BDOztBWTc4R0E7RUFBb0M7QVppOUdwQzs7QVloOUdBO0VBQWlDO0FabzlHakM7O0FZbjlHQTtFQUFvQztBWnU5R3BDOztBWXQ5R0E7RUFBbUM7QVowOUduQzs7QVl6OUdBO0VBQW1DO0FaNjlHbkM7O0FZNTlHQTtFQUEwQztBWmcrRzFDOztBWS85R0E7RUFBa0M7QVptK0dsQzs7QVlsK0dBO0VBQTZDO0FacytHN0M7O0FZcitHQTtFQUFxQztBWnkrR3JDOztBWXgrR0E7RUFBa0M7QVo0K0dsQzs7QVkzK0dBO0VBQWtDO0FaKytHbEM7O0FZOStHQTtFQUF1QztBWmsvR3ZDOztBWWovR0E7RUFBa0M7QVpxL0dsQzs7QVlwL0dBO0VBQW1DO0Fady9HbkM7O0FZdi9HQTtFQUFzQztBWjIvR3RDOztBWTEvR0E7RUFBdUM7QVo4L0d2Qzs7QVk3L0dBO0VBQWtDO0FaaWdIbEM7O0FZaGdIQTtFQUF1QztBWm9nSHZDOztBWW5nSEE7RUFBdUM7QVp1Z0h2Qzs7QVl0Z0hBO0VBQWlDO0FaMGdIakM7O0FZemdIQTtFQUFvQztBWjZnSHBDOztBWTVnSEE7RUFBd0M7QVpnaEh4Qzs7QVkvZ0hBO0VBQWdDO0FabWhIaEM7O0FZbGhIQTtFQUFxQztBWnNoSHJDOztBWXJoSEE7RUFBMkM7QVp5aEgzQzs7QVl4aEhBO0VBQTRDO0FaNGhINUM7O0FZM2hIQTtFQUF5QztBWitoSHpDOztBWTloSEE7RUFBc0M7QVpraUh0Qzs7QVlqaUhBO0VBQW9DO0FacWlIcEM7O0FZcGlIQTtFQUFxQztBWndpSHJDOztBWXZpSEE7RUFBaUM7QVoyaUhqQzs7QVkxaUhBO0VBQWtDO0FaOGlIbEM7O0FZN2lIQTtFQUF3QztBWmlqSHhDOztBWWhqSEE7RUFBaUM7QVpvakhqQzs7QVluakhBO0VBQTRDO0FadWpINUM7O0FZdGpIQTtFQUFnRDtBWjBqSGhEOztBWXpqSEE7RUFBMEM7QVo2akgxQzs7QVk1akhBO0VBQThDO0FaZ2tIOUM7O0FZL2pIQTtFQUE2QztBWm1rSDdDOztBWWxrSEE7RUFBaUQ7QVpza0hqRDs7QVlya0hBO0VBQTJDO0FaeWtIM0M7O0FZeGtIQTtFQUErQztBWjRrSC9DOztBWTNrSEE7RUFBc0M7QVora0h0Qzs7QVk5a0hBO0VBQThDO0Faa2xIOUM7O0FZamxIQTtFQUFrRDtBWnFsSGxEOztBWXBsSEE7RUFBNEM7QVp3bEg1Qzs7QVl2bEhBO0VBQWdEO0FaMmxIaEQ7O0FZMWxIQTtFQUFvQztBWjhsSHBDOztBWTdsSEE7RUFBdUM7QVppbUh2Qzs7QVlobUhBO0VBQXVDO0Fab21IdkM7O0FZbm1IQTtFQUFnQztBWnVtSGhDOztBWXRtSEE7RUFBMEM7QVowbUgxQzs7QVl6bUhBO0VBQW9DO0FaNm1IcEM7O0FZNW1IQTtFQUF5QztBWmduSHpDOztBWS9tSEE7RUFBd0M7QVptbkh4Qzs7QVlsbkhBO0VBQW1DO0Fac25IbkM7O0FZcm5IQTtFQUFvQztBWnluSHBDOztBWXhuSEE7RUFBb0M7QVo0bkhwQzs7QVkzbkhBO0VBQW9DO0FaK25IcEM7O0FZOW5IQTtFQUFzQztBWmtvSHRDOztBWWpvSEE7RUFBbUM7QVpxb0huQzs7QVlwb0hBO0VBQXdDO0Fad29IeEM7O0FZdm9IQTtFQUE0QztBWjJvSDVDOztBWTFvSEE7RUFBd0M7QVo4b0h4Qzs7QVk3b0hBO0VBQTJDO0FaaXBIM0M7O0FZaHBIQTtFQUEyQztBWm9wSDNDOztBWW5wSEE7RUFBc0M7QVp1cEh0Qzs7QVl0cEhBO0VBQWtDO0FaMHBIbEM7O0FZenBIQTtFQUFpQztBWjZwSGpDOztBWTVwSEE7RUFBOEM7QVpncUg5Qzs7QVkvcEhBO0VBQXNDO0FabXFIdEM7O0FZbHFIQTtFQUEwQztBWnNxSDFDOztBWXJxSEE7RUFBMEM7QVp5cUgxQzs7QVl4cUhBO0VBQXlDO0FaNHFIekM7O0FZM3FIQTtFQUF1QztBWitxSHZDOztBWTlxSEE7RUFBa0M7QVprckhsQzs7QVlqckhBO0VBQXlDO0FacXJIekM7O0FZcHJIQTtFQUF5QztBWndySHpDOztBWXZySEE7RUFBMEM7QVoyckgxQzs7QVkxckhBO0VBQXlDO0FaOHJIekM7O0FZN3JIQTtFQUF3QztBWmlzSHhDOztBWWhzSEE7RUFBeUM7QVpvc0h6Qzs7QVluc0hBO0VBQXdDO0FadXNIeEM7O0FZdHNIQTtFQUFpQztBWjBzSGpDOztBWXpzSEE7RUFBd0M7QVo2c0h4Qzs7QVk1c0hBO0VBQXNDO0FaZ3RIdEM7O0FZL3NIQTtFQUF5QztBWm10SHpDOztBWWx0SEE7RUFBa0M7QVpzdEhsQzs7QVlydEhBO0VBQXNDO0FaeXRIdEM7O0FZeHRIQTtFQUE0QztBWjR0SDVDOztBWTN0SEE7RUFBd0M7QVordEh4Qzs7QVk5dEhBO0VBQW1DO0Faa3VIbkM7O0FZanVIQTtFQUFtQztBWnF1SG5DOztBWXB1SEE7RUFBd0M7QVp3dUh4Qzs7QVl2dUhBO0VBQTBDO0FaMnVIMUM7O0FZMXVIQTtFQUFtQztBWjh1SG5DOztBWTd1SEE7RUFBcUM7QVppdkhyQzs7QVlodkhBO0VBQXdDO0Fab3ZIeEM7O0FZbnZIQTtFQUF5QztBWnV2SHpDOztBWXR2SEE7RUFBd0M7QVowdkh4Qzs7QVl6dkhBO0VBQStDO0FaNnZIL0M7O0FZNXZIQTtFQUFzQztBWmd3SHRDOztBWS92SEE7RUFBbUM7QVptd0huQzs7QVlsd0hBO0VBQXFDO0Fac3dIckM7O0FZcndIQTtFQUE2QztBWnl3SDdDOztBWXh3SEE7RUFBZ0M7QVo0d0hoQzs7QVkzd0hBO0VBQXdDO0FaK3dIeEM7O0FZOXdIQTtFQUF3QztBWmt4SHhDOztBWWp4SEE7RUFBbUM7QVpxeEhuQzs7QVlweEhBO0VBQXFDO0Fad3hIckM7O0FZdnhIQTtFQUFpQztBWjJ4SGpDOztBWTF4SEE7RUFBdUM7QVo4eEh2Qzs7QVk3eEhBO0VBQWtDO0FaaXlIbEM7O0FZaHlIQTtFQUFvQztBWm95SHBDOztBWW55SEE7RUFBMEM7QVp1eUgxQzs7QVl0eUhBO0VBQW9DO0FaMHlIcEM7O0FZenlIQTtFQUFzQztBWjZ5SHRDOztBWTV5SEE7RUFBaUM7QVpnekhqQzs7QVkveUhBO0VBQXFDO0FabXpIckM7O0FZbHpIQTtFQUFvQztBWnN6SHBDOztBWXJ6SEE7RUFBa0M7QVp5ekhsQzs7QVl4ekhBO0VBQXlDO0FaNHpIekM7O0FZM3pIQTtFQUFtQztBWit6SG5DOztBWTl6SEE7RUFBdUM7QVprMEh2Qzs7QVlqMEhBO0VBQW9DO0FacTBIcEM7O0FZcDBIQTtFQUEyQztBWncwSDNDOztBWXYwSEE7RUFBZ0M7QVoyMEhoQzs7QVkxMEhBO0VBQWlDO0FaODBIakM7O0FZNzBIQTtFQUFpQztBWmkxSGpDOztBWWgxSEE7RUFBa0M7QVpvMUhsQzs7QVluMUhBO0VBQWlDO0FadTFIakM7O0FZdDFIQTtFQUFzQztBWjAxSHRDOztBWXoxSEE7RUFBa0M7QVo2MUhsQzs7QVk1MUhBO0VBQXVDO0FaZzJIdkM7O0FZLzFIQTtFQUFxQztBWm0ySHJDOztBWWwySEE7RUFBMkM7QVpzMkgzQzs7QVlyMkhBO0VBQTZDO0FaeTJIN0M7O0FZeDJIQTtFQUE0QztBWjQySDVDOztBWTMySEE7RUFBMEM7QVorMkgxQzs7QVk5MkhBO0VBQWtDO0FaazNIbEM7O0FZajNIQTtFQUFxQztBWnEzSHJDOztBWXAzSEE7RUFBd0M7QVp3M0h4Qzs7QVl2M0hBO0VBQXVDO0FaMjNIdkM7O0FZMTNIQTtFQUErQjtBWjgzSC9COztBWTczSEE7RUFBcUM7QVppNEhyQzs7QVloNEhBO0VBQW9DO0FabzRIcEM7O0FZbjRIQTtFQUF5QztBWnU0SHpDOztBWXQ0SEE7RUFBMEM7QVowNEgxQzs7QVl6NEhBO0VBQW9DO0FaNjRIcEM7O0FZNTRIQTtFQUFzQztBWmc1SHRDOztBWS80SEE7RUFBd0M7QVptNUh4Qzs7QVlsNUhBO0VBQThDO0FaczVIOUM7O0FZcjVIQTtFQUE2QztBWnk1SDdDOztBWXg1SEE7RUFBNkM7QVo0NUg3Qzs7QVkzNUhBO0VBQWdEO0FaKzVIaEQ7O0FZOTVIQTtFQUF1RDtBWms2SHZEOztBWWo2SEE7RUFBd0M7QVpxNkh4Qzs7QVlwNkhBO0VBQXdDO0FadzZIeEM7O0FZdjZIQTtFQUFzQztBWjI2SHRDOztBWTE2SEE7RUFBc0M7QVo4Nkh0Qzs7QVk3NkhBO0VBQXVDO0FaaTdIdkM7O0FZaDdIQTtFQUFtQztBWm83SG5DOztBWW43SEE7RUFBa0M7QVp1N0hsQzs7QVl0N0hBO0VBQXlDO0FaMDdIekM7O0FZejdIQTtFQUFpQztBWjY3SGpDOztBWTU3SEE7RUFBdUM7QVpnOEh2Qzs7QVkvN0hBO0VBQWtDO0FabThIbEM7O0FZbDhIQTtFQUF1QztBWnM4SHZDOztBWXI4SEE7RUFBc0M7QVp5OEh0Qzs7QVl4OEhBO0VBQW1DO0FaNDhIbkM7O0FZMzhIQTtFQUF5QztBWis4SHpDOztBWTk4SEE7RUFBK0M7QVprOUgvQzs7QVlqOUhBO0VBQW9DO0FacTlIcEM7O0FZcDlIQTtFQUFrQztBWnc5SGxDOztBWXY5SEE7RUFBa0M7QVoyOUhsQzs7QVkxOUhBO0VBQWtDO0FaODlIbEM7O0FZNzlIQTtFQUF1QztBWmkrSHZDOztBWWgrSEE7RUFBb0M7QVpvK0hwQzs7QVluK0hBO0VBQTZDO0FadStIN0M7O0FZdCtIQTtFQUFzQztBWjArSHRDOztBWXorSEE7RUFBMEM7QVo2K0gxQzs7QVk1K0hBO0VBQW9DO0FaZy9IcEM7O0FZLytIQTtFQUFrQztBWm0vSGxDOztBWWwvSEE7RUFBaUM7QVpzL0hqQzs7QVlyL0hBO0VBQXdDO0FaeS9IeEM7O0FZeC9IQTtFQUE0QztBWjQvSDVDOztBWTMvSEE7RUFBa0M7QVorL0hsQzs7QVk5L0hBO0VBQXNDO0Faa2dJdEM7O0FZamdJQTtFQUEwQztBWnFnSTFDOztBWXBnSUE7RUFBOEM7QVp3Z0k5Qzs7QVl2Z0lBO0VBQWlDO0FaMmdJakM7O0FZMWdJQTtFQUFtQztBWjhnSW5DOztBWTdnSUE7RUFBd0M7QVppaEl4Qzs7QVloaElBO0VBQW1DO0Fab2hJbkM7O0FZbmhJQTtFQUFrQztBWnVoSWxDOztBWXRoSUE7RUFBMEM7QVowaEkxQzs7QVl6aElBO0VBQTBDO0FaNmhJMUM7O0FZNWhJQTtFQUF5QztBWmdpSXpDOztBWS9oSUE7RUFBeUM7QVptaUl6Qzs7QVlsaUlBO0VBQW1DO0Fac2lJbkM7O0FZcmlJQTtFQUFnQztBWnlpSWhDOztBWXhpSUE7RUFBbUM7QVo0aUluQzs7QVkzaUlBO0VBQTBDO0FaK2lJMUM7O0FZOWlJQTtFQUErQjtBWmtqSS9COztBWWpqSUE7RUFBbUM7QVpxakluQzs7QVlwaklBO0VBQW9DO0Fad2pJcEM7O0FZdmpJQTtFQUEyQztBWjJqSTNDOztBWTFqSUE7RUFBa0M7QVo4aklsQzs7QVk3aklBO0VBQWlDO0FaaWtJakM7O0FZaGtJQTtFQUFtQztBWm9rSW5DOztBWW5rSUE7RUFBa0M7QVp1a0lsQzs7QVl0a0lBO0VBQW9DO0FaMGtJcEM7O0FZemtJQTtFQUFxQztBWjZrSXJDOztBWTVrSUE7RUFBMkM7QVpnbEkzQzs7QVkva0lBO0VBQXNDO0FabWxJdEM7O0FZbGxJQTtFQUFzQztBWnNsSXRDOztBWXJsSUE7RUFBaUM7QVp5bElqQzs7QVl4bElBO0VBQXFDO0FaNGxJckM7O0FZM2xJQTtFQUF3QztBWitsSXhDOztBWTlsSUE7RUFBa0M7QVprbUlsQzs7QVlqbUlBO0VBQTZDO0FacW1JN0M7O0FZcG1JQTtFQUF1QztBWndtSXZDOztBWXZtSUE7RUFBbUM7QVoybUluQzs7QVkxbUlBO0VBQW1DO0FaOG1JbkM7O0FZN21JQTtFQUF1QztBWmluSXZDOztBWWhuSUE7RUFBcUM7QVpvbklyQzs7QVlubklBO0VBQW9DO0FadW5JcEM7O0FZdG5JQTtFQUFtQztBWjBuSW5DOztBWXpuSUE7RUFBZ0M7QVo2bkloQzs7QVk1bklBO0VBQWdDO0FaZ29JaEM7O0FZL25JQTtFQUFpQztBWm1vSWpDOztBWWxvSUE7RUFBcUM7QVpzb0lyQzs7QVlyb0lBO0VBQTJDO0FaeW9JM0M7O0FZeG9JQTtFQUEyQztBWjRvSTNDOztBWTNvSUE7RUFBdUM7QVorb0l2Qzs7QVk5b0lBO0VBQXdDO0Faa3BJeEM7O0FZanBJQTtFQUF1QztBWnFwSXZDOztBWXBwSUE7RUFBcUM7QVp3cElyQzs7QVl2cElBO0VBQXNDO0FaMnBJdEM7O0FZMXBJQTtFQUF5QztBWjhwSXpDOztBWTdwSUE7RUFBMEM7QVppcUkxQzs7QVlocUlBO0VBQXlDO0Fab3FJekM7O0FZbnFJQTtFQUFzQztBWnVxSXRDOztBWXRxSUE7RUFBb0M7QVowcUlwQzs7QVl6cUlBO0VBQXVDO0FaNnFJdkM7O0FZNXFJQTtFQUF1QztBWmdySXZDOztBWS9xSUE7RUFBdUM7QVptckl2Qzs7QVlscklBO0VBQXNDO0Fac3JJdEM7O0FZcnJJQTtFQUF3QztBWnlySXhDOztBWXhySUE7RUFBd0M7QVo0ckl4Qzs7QVkzcklBO0VBQXVDO0FaK3JJdkM7O0FZOXJJQTtFQUFxQztBWmtzSXJDOztBWWpzSUE7RUFBcUM7QVpxc0lyQzs7QVlwc0lBO0VBQXVDO0Fad3NJdkM7O0FZdnNJQTtFQUFrQztBWjJzSWxDOztBWTFzSUE7RUFBc0M7QVo4c0l0Qzs7QVk3c0lBO0VBQXdDO0FaaXRJeEM7O0FZaHRJQTtFQUFpQztBWm90SWpDOztBWW50SUE7RUFBcUM7QVp1dElyQzs7QVl0dElBO0VBQTBDO0FaMHRJMUM7O0FZenRJQTtFQUFxQztBWjZ0SXJDOztBWTV0SUE7RUFBbUM7QVpndUluQzs7QVkvdElBO0VBQTBDO0FabXVJMUM7O0FZbHVJQTtFQUFrQztBWnN1SWxDOztBWXJ1SUE7RUFBeUM7QVp5dUl6Qzs7QVl4dUlBO0VBQXVDO0FaNHVJdkM7O0FZM3VJQTtFQUFpQztBWit1SWpDOztBWTl1SUE7RUFBeUM7QVprdkl6Qzs7QVlqdklBO0VBQW9DO0FacXZJcEM7O0FZcHZJQTtFQUFtQztBWnd2SW5DOztBWXZ2SUE7RUFBMEM7QVoydkkxQzs7QVkxdklBO0VBQWlDO0FaOHZJakM7O0FZN3ZJQTtFQUFrQztBWml3SWxDOztBWWh3SUE7RUFBa0M7QVpvd0lsQzs7QVlud0lBO0VBQWtDO0FadXdJbEM7O0FZdHdJQTtFQUF3QztBWjB3SXhDOztBWXp3SUE7RUFBbUM7QVo2d0luQzs7QVk1d0lBO0VBQWtDO0FaZ3hJbEM7O0FZL3dJQTtFQUF5QztBWm14SXpDOztBWWx4SUE7RUFBb0M7QVpzeElwQzs7QVlyeElBO0VBQWlDO0FaeXhJakM7O0FZeHhJQTtFQUFrQztBWjR4SWxDOztBWTN4SUE7RUFBd0M7QVoreEl4Qzs7QVk5eElBO0VBQW9DO0Faa3lJcEM7O0FZanlJQTtFQUErQjtBWnF5SS9COztBWXB5SUE7RUFBZ0M7QVp3eUloQzs7QVl2eUlBO0VBQXNDO0FaMnlJdEM7O0FZMXlJQTtFQUE0QztBWjh5STVDOztBWTd5SUE7RUFBd0M7QVppekl4Qzs7QVloeklBO0VBQXdDO0Fab3pJeEM7O0FZbnpJQTtFQUF1QztBWnV6SXZDOztBWXR6SUE7RUFBc0M7QVowekl0Qzs7QVl6eklBO0VBQXFDO0FaNnpJckM7O0FZNXpJQTtFQUF5QztBWmcwSXpDOztBWS96SUE7RUFBa0M7QVptMElsQzs7QVlsMElBO0VBQW9DO0FaczBJcEM7O0FZcjBJQTtFQUFtQztBWnkwSW5DOztBWXgwSUE7RUFBc0M7QVo0MEl0Qzs7QVkzMElBO0VBQWdEO0FaKzBJaEQ7O0FZOTBJQTtFQUFrQztBWmsxSWxDOztBWWoxSUE7RUFBd0M7QVpxMUl4Qzs7QVlwMUlBO0VBQWlDO0FadzFJakM7O0FZdjFJQTtFQUFtQztBWjIxSW5DOztBWTExSUE7RUFBa0M7QVo4MUlsQzs7QVk3MUlBO0VBQW1DO0FaaTJJbkM7O0FZaDJJQTtFQUEyQztBWm8ySTNDOztBWW4ySUE7RUFBbUM7QVp1MkluQzs7QVl0MklBO0VBQXFDO0FaMDJJckM7O0FZejJJQTtFQUE0QztBWjYySTVDOztBWTUySUE7RUFBdUM7QVpnM0l2Qzs7QVkvMklBO0VBQWtDO0FabTNJbEM7O0FZbDNJQTtFQUFpQztBWnMzSWpDOztBWXIzSUE7RUFBd0M7QVp5M0l4Qzs7QVl4M0lBO0VBQWlDO0FaNDNJakM7O0FZMzNJQTtFQUF5QztBWiszSXpDOztBWTkzSUE7RUFBNEM7QVprNEk1Qzs7QVlqNElBO0VBQTRDO0FacTRJNUM7O0FZcDRJQTtFQUEyQztBWnc0STNDOztBWXY0SUE7RUFBb0M7QVoyNElwQzs7QVkxNElBO0VBQXdDO0FaODRJeEM7O0FZNzRJQTtFQUF1QztBWmk1SXZDOztBWWg1SUE7RUFBMkM7QVpvNUkzQzs7QVluNUlBO0VBQWdDO0FadTVJaEM7O0FZdDVJQTtFQUFpRDtBWjA1SWpEOztBWXo1SUE7RUFBaUM7QVo2NUlqQzs7QVk1NUlBO0VBQWdEO0FaZzZJaEQ7O0FZLzVJQTtFQUFxQztBWm02SXJDOztBWWw2SUE7RUFBc0M7QVpzNkl0Qzs7QVlyNklBO0VBQTZDO0FaeTZJN0M7O0FZeDZJQTtFQUF1QztBWjQ2SXZDOztBWTM2SUE7RUFBdUM7QVorNkl2Qzs7QVk5NklBO0VBQW9DO0FaazdJcEM7O0FZajdJQTtFQUFvQztBWnE3SXBDOztBWXA3SUE7RUFBbUM7QVp3N0luQzs7QVl2N0lBO0VBQWtDO0FaMjdJbEM7O0FZMTdJQTtFQUFpQztBWjg3SWpDOztBWTc3SUE7RUFBaUM7QVppOElqQzs7QVloOElBO0VBQXdDO0FabzhJeEM7O0FZbjhJQTtFQUF5QztBWnU4SXpDOztBWXQ4SUE7RUFBa0M7QVowOElsQzs7QVl6OElBO0VBQW1DO0FaNjhJbkM7O0FZNThJQTtFQUFtQztBWmc5SW5DOztBWS84SUE7RUFBaUQ7QVptOUlqRDs7QVlsOUlBO0VBQWlDO0FaczlJakM7O0FZcjlJQTtFQUFpQztBWnk5SWpDOztBWXg5SUE7RUFBcUM7QVo0OUlyQzs7QVkzOUlBO0VBQXFDO0FaKzlJckM7O0FZOTlJQTtFQUFrQztBWmsrSWxDOztBWWorSUE7RUFBb0M7QVpxK0lwQzs7QVlwK0lBO0VBQTJDO0FadytJM0M7O0FZditJQTtFQUFrQztBWjIrSWxDOztBYTc1TEE7RUgwQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnU0TEY7O0FVNzNMRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBViszTEo7O0FjcDdMQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CVExxQjtFU01yQjtFQUNBO0FkcTdMRjtBYzk2TEE7RUFDRTtFQUNBO0FkZzdMRjs7QWVyOExBOzs7RUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJWTHFCO0VVTXJCO0VBQ0E7QWZzOExGO0FlLzdMQTs7RUFFRTtFQUNBO0FmaThMRjs7QWdCdjlMQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CWExxQjtFV01yQjtFQUNBO0FoQnc5TEY7QWdCajlMQTtFQUNFO0VBQ0E7QWhCbTlMRjs7QWlCeCtMQTtFQUNJO0FqQjIrTEo7O0FpQngrTEE7RUFDSTtBakIyK0xKOztBQ2gvTEE7OztFQUFBO0FDR0E7Ozs7OztFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGby9MRjs7QUcvL0xBO0VBQ0U7RUFDQTtFQUNBO0FIa2dNRjs7QUcvL0xBO0VBQ0U7QUhrZ01GOztBRy8vTEE7RUFDRTtBSGtnTUY7O0FHOS9MRTtFQUNFO0FIaWdNSjs7QUdsZ01FO0VBQ0U7QUhxZ01KOztBR3RnTUU7RUFDRTtBSHlnTUo7O0FHMWdNRTtFQUNFO0FINmdNSjs7QUc5Z01FO0VBQ0U7QUhpaE1KOztBR2xoTUU7RUFDRTtBSHFoTUo7O0FHdGhNRTtFQUNFO0FIeWhNSjs7QUcxaE1FO0VBQ0U7QUg2aE1KOztBRzloTUU7RUFDRTtBSGlpTUo7O0FHbGlNRTtFQUNFO0FIcWlNSjs7QUl2ak1BO0VBQ0U7RUFDQSxhQ09xQjtBTG1qTXZCOztBTTNqTUE7RUFDRTtFQUNBO0VBQ0E7QU44ak1GO0FNNWpNRTtFQUFPO0FOK2pNVDs7QU01ak1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsVURMcUI7RUNNckI7QU4rak1GOztBTzVrTUE7RUFDRTtFQUNBO0VBQ0E7QVAra01GOztBTzVrTUE7RUFBK0I7QVBnbE0vQjs7QU8va01BO0VBQWdDO0FQbWxNaEM7O0FPNWtNRTs7Ozs7RUFBZ0M7QVBvbE1sQztBT25sTUU7Ozs7O0VBQWlDO0FQMGxNbkM7O0FRem1NQTtFQUNFO0FSNG1NRjs7QVF6bU1BO0VBQ0U7QVI0bU1GOztBUXptTUE7RUFDRTtJQUNFO0VSNG1NRjtFUXptTUE7SUFDRTtFUjJtTUY7QUFDRjtBUzFuTUE7RUNXRTtFQUNBO0FWa25NRjs7QVM3bk1BO0VDVUU7RUFDQTtBVnVuTUY7O0FTam9NQTtFQ1NFO0VBQ0E7QVY0bk1GOztBU3BvTUE7RUNZRTtFQUNBO0FWNG5NRjs7QVN4b01BO0VDV0U7RUFDQTtBVmlvTUY7O0FTNW9NQTtFQ1VFO0VBQ0E7QVZzb01GOztBUzNvTUU7Ozs7OztFQU1FO0FUOG9NSjs7QVdocU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYbXFNRjs7QVdocU1BOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FYbXFNRjs7QVdocU1BO0VBQ0U7QVhtcU1GOztBV2hxTUE7RUFDRTtBWG1xTUY7O0FXaHFNQTtFQUNFLFdOcEJxQjtBTHVyTXZCOztBWWhzTUE7Z0VBQUE7QUFHQTtFQUFrQztBWm1zTWxDOztBWWxzTUE7RUFBNEM7QVpzc001Qzs7QVlyc01BO0VBQXFDO0FaeXNNckM7O0FZeHNNQTtFQUFzRDtBWjRzTXREOztBWTNzTUE7RUFBK0I7QVorc00vQjs7QVk5c01BO0VBQXlDO0Faa3RNekM7O0FZanRNQTtFQUF5QztBWnF0TXpDOztBWXB0TUE7RUFBbUM7QVp3dE1uQzs7QVl2dE1BO0VBQWdDO0FaMnRNaEM7O0FZMXRNQTtFQUFxQztBWjh0TXJDOztBWTd0TUE7RUFBMkM7QVppdU0zQzs7QVlodU1BO0VBQTBDO0Fab3VNMUM7O0FZbnVNQTtFQUFtQztBWnV1TW5DOztBWXR1TUE7RUFBb0M7QVowdU1wQzs7QVl6dU1BO0VBQXlDO0FaNnVNekM7O0FZNXVNQTtFQUEwQztBWmd2TTFDOztBWS91TUE7RUFBdUM7QVptdk12Qzs7QVlsdk1BO0VBQXdDO0Fac3ZNeEM7O0FZcnZNQTtFQUFtQztBWnl2TW5DOztBWXh2TUE7RUFBc0M7QVo0dk10Qzs7QVkzdk1BO0VBQW1DO0FaK3ZNbkM7O0FZOXZNQTtFQUF1QztBWmt3TXZDOztBWWp3TUE7RUFBc0M7QVpxd010Qzs7QVlwd01BO0VBQWdFO0Fad3dNaEU7O0FZdndNQTtFQUFtQztBWjJ3TW5DOztBWTF3TUE7RUFBbUM7QVo4d01uQzs7QVk3d01BO0VBQW9DO0FaaXhNcEM7O0FZaHhNQTtFQUFzQztBWm94TXRDOztBWW54TUE7RUFBOEM7QVp1eE05Qzs7QVl0eE1BO0VBQThDO0FaMHhNOUM7O0FZenhNQTtFQUErQztBWjZ4TS9DOztBWTV4TUE7RUFBNEM7QVpneU01Qzs7QVkveE1BO0VBQXVDO0FabXlNdkM7O0FZbHlNQTtFQUF1QztBWnN5TXZDOztBWXJ5TUE7RUFBd0M7QVp5eU14Qzs7QVl4eU1BO0VBQXFDO0FaNHlNckM7O0FZM3lNQTtFQUFrQztBWit5TWxDOztBWTl5TUE7RUFBMEM7QVprek0xQzs7QVlqek1BO0VBQW9DO0FacXpNcEM7O0FZcHpNQTtFQUFpQztBWnd6TWpDOztBWXZ6TUE7RUFBc0M7QVoyek10Qzs7QVkxek1BO0VBQTBDO0FaOHpNMUM7O0FZN3pNQTtFQUFrQztBWmkwTWxDOztBWWgwTUE7RUFBa0M7QVpvME1sQzs7QVluME1BO0VBQXNDO0FadTBNdEM7O0FZdDBNQTtFQUFzQztBWjAwTXRDOztBWXowTUE7RUFBb0M7QVo2ME1wQzs7QVk1ME1BO0VBQW9DO0FaZzFNcEM7O0FZLzBNQTtFQUFrRDtBWm0xTWxEOztBWWwxTUE7RUFBa0Q7QVpzMU1sRDs7QVlyMU1BO0VBQW1EO0FaeTFNbkQ7O0FZeDFNQTtFQUFnRDtBWjQxTWhEOztBWTMxTUE7RUFBOEM7QVorMU05Qzs7QVk5MU1BO0VBQThDO0FaazJNOUM7O0FZajJNQTtFQUErQztBWnEyTS9DOztBWXAyTUE7RUFBNEM7QVp3Mk01Qzs7QVl2Mk1BO0VBQXVDO0FaMjJNdkM7O0FZMTJNQTtFQUF1QztBWjgyTXZDOztBWTcyTUE7RUFBd0M7QVppM014Qzs7QVloM01BO0VBQXFDO0FabzNNckM7O0FZbjNNQTtFQUF1QztBWnUzTXZDOztBWXQzTUE7RUFBeUM7QVowM016Qzs7QVl6M01BO0VBQXlDO0FaNjNNekM7O0FZNTNNQTtFQUF1QztBWmc0TXZDOztBWS8zTUE7RUFBd0Q7QVptNE14RDs7QVlsNE1BO0VBQXFDO0FaczRNckM7O0FZcjRNQTtFQUF1QztBWnk0TXZDOztBWXg0TUE7RUFBK0I7QVo0NE0vQjs7QVkzNE1BO0VBQWtDO0FaKzRNbEM7O0FZOTRNQTtFQUFzQztBWms1TXRDOztBWWo1TUE7RUFBaUM7QVpxNU1qQzs7QVlwNU1BO0VBQW9DO0FadzVNcEM7O0FZdjVNQTtFQUE4QztBWjI1TTlDOztBWTE1TUE7RUFBeUM7QVo4NU16Qzs7QVk3NU1BO0VBQW9DO0FaaTZNcEM7O0FZaDZNQTtFQUFtQztBWm82TW5DOztBWW42TUE7RUFBa0M7QVp1Nk1sQzs7QVl0Nk1BO0VBQWdDO0FaMDZNaEM7O0FZejZNQTtFQUFpQztBWjY2TWpDOztBWTU2TUE7RUFBMEM7QVpnN00xQzs7QVkvNk1BO0VBQXNDO0FabTdNdEM7O0FZbDdNQTtFQUFxQztBWnM3TXJDOztBWXI3TUE7RUFBa0M7QVp5N01sQzs7QVl4N01BO0VBQXFDO0FaNDdNckM7O0FZMzdNQTtFQUFzQztBWis3TXRDOztBWTk3TUE7RUFBa0M7QVprOE1sQzs7QVlqOE1BO0VBQTBDO0FacThNMUM7O0FZcDhNQTtFQUErQztBWnc4TS9DOztBWXY4TUE7RUFBZ0Q7QVoyOE1oRDs7QVkxOE1BO0VBQWdDO0FaODhNaEM7O0FZNzhNQTtFQUFxQztBWmk5TXJDOztBWWg5TUE7RUFBcUM7QVpvOU1yQzs7QVluOU1BO0VBQW9DO0FadTlNcEM7O0FZdDlNQTtFQUFpQztBWjA5TWpDOztBWXo5TUE7RUFBMEM7QVo2OU0xQzs7QVk1OU1BO0VBQTRDO0FaZytNNUM7O0FZLzlNQTtFQUFpQztBWm0rTWpDOztBWWwrTUE7RUFBMEM7QVpzK00xQzs7QVlyK01BO0VBQXlDO0FaeStNekM7O0FZeCtNQTtFQUF5QztBWjQrTXpDOztBWTMrTUE7RUFBNEM7QVorK001Qzs7QVk5K01BO0VBQW1EO0Faay9NbkQ7O0FZai9NQTtFQUF1QztBWnEvTXZDOztBWXAvTUE7RUFBZ0M7QVp3L01oQzs7QVl2L01BO0VBQWlDO0FaMi9NakM7O0FZMS9NQTtFQUFvQztBWjgvTXBDOztBWTcvTUE7RUFBMkM7QVppZ04zQzs7QVloZ05BO0VBQWlDO0Fab2dOakM7O0FZbmdOQTtFQUF1QztBWnVnTnZDOztBWXRnTkE7RUFBeUM7QVowZ056Qzs7QVl6Z05BO0VBQWtDO0FaNmdObEM7O0FZNWdOQTtFQUFvQztBWmdoTnBDOztBWS9nTkE7RUFBbUM7QVptaE5uQzs7QVlsaE5BO0VBQXNDO0Fac2hOdEM7O0FZcmhOQTtFQUF1QztBWnloTnZDOztBWXhoTkE7RUFBc0M7QVo0aE50Qzs7QVkzaE5BO0VBQTBDO0FaK2hOMUM7O0FZOWhOQTtFQUFzQztBWmtpTnRDOztBWWppTkE7RUFBb0M7QVpxaU5wQzs7QVlwaU5BO0VBQWlDO0Fad2lOakM7O0FZdmlOQTtFQUFzQztBWjJpTnRDOztBWTFpTkE7RUFBdUM7QVo4aU52Qzs7QVk3aU5BO0VBQW9DO0FaaWpOcEM7O0FZaGpOQTtFQUEwQztBWm9qTjFDOztBWW5qTkE7RUFBa0M7QVp1ak5sQzs7QVl0ak5BO0VBQWlDO0FaMGpOakM7O0FZempOQTtFQUFvQztBWjZqTnBDOztBWTVqTkE7RUFBc0M7QVpna050Qzs7QVkvak5BO0VBQXNDO0FabWtOdEM7O0FZbGtOQTtFQUF3QztBWnNrTnhDOztBWXJrTkE7RUFBaUM7QVp5a05qQzs7QVl4a05BO0VBQWlDO0FaNGtOakM7O0FZM2tOQTtFQUFpQztBWitrTmpDOztBWTlrTkE7RUFBaUM7QVprbE5qQzs7QVlqbE5BO0VBQWlDO0FacWxOakM7O0FZcGxOQTtFQUFpQztBWndsTmpDOztBWXZsTkE7RUFBc0M7QVoybE50Qzs7QVkxbE5BO0VBQXlDO0FaOGxOekM7O0FZN2xOQTtFQUFzQztBWmltTnRDOztBWWhtTkE7RUFBd0M7QVpvbU54Qzs7QVlubU5BO0VBQXFDO0FadW1OckM7O0FZdG1OQTtFQUFzQztBWjBtTnRDOztBWXptTkE7RUFBdUM7QVo2bU52Qzs7QVk1bU5BO0VBQXdDO0FaZ25OeEM7O0FZL21OQTtFQUF5QztBWm1uTnpDOztBWWxuTkE7RUFBeUM7QVpzbk56Qzs7QVlybk5BO0VBQWdDO0FaeW5OaEM7O0FZeG5OQTtFQUFxQztBWjRuTnJDOztBWTNuTkE7RUFBdUM7QVorbk52Qzs7QVk5bk5BO0VBQWtDO0Faa29ObEM7O0FZam9OQTtFQUFvQztBWnFvTnBDOztBWXBvTkE7RUFBa0M7QVp3b05sQzs7QVl2b05BO0VBQXdDO0FaMm9OeEM7O0FZMW9OQTtFQUFzQztBWjhvTnRDOztBWTdvTkE7RUFBOEM7QVppcE45Qzs7QVlocE5BO0VBQTRDO0Fab3BONUM7O0FZbnBOQTtFQUFrQztBWnVwTmxDOztBWXRwTkE7RUFBa0M7QVowcE5sQzs7QVl6cE5BO0VBQWdDO0FaNnBOaEM7O0FZNXBOQTtFQUFtQztBWmdxTm5DOztBWS9wTkE7RUFBZ0M7QVptcU5oQzs7QVlscU5BO0VBQXFDO0Fac3FOckM7O0FZcnFOQTtFQUFxQztBWnlxTnJDOztBWXhxTkE7RUFBcUM7QVo0cU5yQzs7QVkzcU5BO0VBQWlDO0FaK3FOakM7O0FZOXFOQTtFQUE2QztBWmtyTjdDOztBWWpyTkE7RUFBZ0M7QVpxck5oQzs7QVlwck5BO0VBQW9DO0Fad3JOcEM7O0FZdnJOQTtFQUEwQztBWjJyTjFDOztBWTFyTkE7RUFBd0M7QVo4ck54Qzs7QVk3ck5BO0VBQXVDO0FaaXNOdkM7O0FZaHNOQTtFQUF1QztBWm9zTnZDOztBWW5zTkE7RUFBcUM7QVp1c05yQzs7QVl0c05BO0VBQXlDO0FaMHNOekM7O0FZenNOQTtFQUEyQztBWjZzTjNDOztBWTVzTkE7RUFBeUM7QVpndE56Qzs7QVkvc05BO0VBQTJDO0FabXROM0M7O0FZbHROQTtFQUEwQztBWnN0TjFDOztBWXJ0TkE7RUFBMkM7QVp5dE4zQzs7QVl4dE5BO0VBQTBDO0FaNHROMUM7O0FZM3ROQTtFQUFtQztBWit0Tm5DOztBWTl0TkE7RUFBeUM7QVprdU56Qzs7QVlqdU5BO0VBQXVDO0FacXVOdkM7O0FZcHVOQTtFQUFnRDtBWnd1TmhEOztBWXZ1TkE7RUFBdUM7QVoydU52Qzs7QVkxdU5BO0VBQXFDO0FaOHVOckM7O0FZN3VOQTtFQUFxQztBWml2TnJDOztBWWh2TkE7RUFBZ0M7QVpvdk5oQzs7QVludk5BO0VBQW9DO0FadXZOcEM7O0FZdHZOQTtFQUF3QztBWjB2TnhDOztBWXp2TkE7RUFBc0M7QVo2dk50Qzs7QVk1dk5BO0VBQXFDO0FaZ3dOckM7O0FZL3ZOQTtFQUFvQztBWm13TnBDOztBWWx3TkE7RUFBdUM7QVpzd052Qzs7QVlyd05BO0VBQXVDO0FaeXdOdkM7O0FZeHdOQTtFQUF3QztBWjR3TnhDOztBWTN3TkE7RUFBOEM7QVord045Qzs7QVk5d05BO0VBQThDO0Faa3hOOUM7O0FZanhOQTtFQUErQztBWnF4Ti9DOztBWXB4TkE7RUFBNEM7QVp3eE41Qzs7QVl2eE5BO0VBQXFDO0FaMnhOckM7O0FZMXhOQTtFQUFtQztBWjh4Tm5DOztBWTd4TkE7RUFBNEM7QVppeU41Qzs7QVloeU5BO0VBQXNDO0Fab3lOdEM7O0FZbnlOQTtFQUEwQztBWnV5TjFDOztBWXR5TkE7RUFBZ0M7QVoweU5oQzs7QVl6eU5BO0VBQTBDO0FaNnlOMUM7O0FZNXlOQTtFQUFvQztBWmd6TnBDOztBWS95TkE7RUFBeUM7QVptek56Qzs7QVlsek5BO0VBQTJDO0Fac3pOM0M7O0FZcnpOQTtFQUF3QztBWnl6TnhDOztBWXh6TkE7RUFBbUM7QVo0ek5uQzs7QVkzek5BO0VBQTBDO0FaK3pOMUM7O0FZOXpOQTtFQUFzQztBWmswTnRDOztBWWowTkE7RUFBc0M7QVpxME50Qzs7QVlwME5BO0VBQW9DO0FadzBOcEM7O0FZdjBOQTtFQUF1QztBWjIwTnZDOztBWTEwTkE7RUFBbUM7QVo4ME5uQzs7QVk3ME5BO0VBQXdDO0FaaTFOeEM7O0FZaDFOQTtFQUFrQztBWm8xTmxDOztBWW4xTkE7RUFBdUM7QVp1MU52Qzs7QVl0MU5BO0VBQStDO0FaMDFOL0M7O0FZejFOQTtFQUE2QztBWjYxTjdDOztBWTUxTkE7RUFBdUM7QVpnMk52Qzs7QVkvMU5BO0VBQXNDO0FabTJOdEM7O0FZbDJOQTtFQUF1QztBWnMyTnZDOztBWXIyTkE7RUFBc0M7QVp5Mk50Qzs7QVl4Mk5BO0VBQWtDO0FaNDJObEM7O0FZMzJOQTtFQUF5QztBWisyTnpDOztBWTkyTkE7RUFBeUM7QVprM056Qzs7QVlqM05BO0VBQXlDO0FacTNOekM7O0FZcDNOQTtFQUFtQztBWnczTm5DOztBWXYzTkE7RUFBa0M7QVoyM05sQzs7QVkxM05BO0VBQXlDO0FaODNOekM7O0FZNzNOQTtFQUF3QztBWmk0TnhDOztBWWg0TkE7RUFBdUM7QVpvNE52Qzs7QVluNE5BO0VBQXlDO0FadTROekM7O0FZdDROQTtFQUF1QztBWjA0TnZDOztBWXo0TkE7RUFBd0M7QVo2NE54Qzs7QVk1NE5BO0VBQXVDO0FaZzVOdkM7O0FZLzROQTtFQUFnRDtBWm01TmhEOztBWWw1TkE7RUFBZ0Q7QVpzNU5oRDs7QVlyNU5BO0VBQWlEO0FaeTVOakQ7O0FZeDVOQTtFQUE4QztBWjQ1TjlDOztBWTM1TkE7RUFBeUM7QVorNU56Qzs7QVk5NU5BO0VBQXlDO0FaazZOekM7O0FZajZOQTtFQUEwQztBWnE2TjFDOztBWXA2TkE7RUFBdUM7QVp3Nk52Qzs7QVl2Nk5BO0VBQWtDO0FaMjZObEM7O0FZMTZOQTtFQUFtQztBWjg2Tm5DOztBWTc2TkE7RUFBdUM7QVppN052Qzs7QVloN05BO0VBQW1DO0FabzdObkM7O0FZbjdOQTtFQUFtQztBWnU3Tm5DOztBWXQ3TkE7RUFBeUM7QVowN056Qzs7QVl6N05BO0VBQWlDO0FaNjdOakM7O0FZNTdOQTtFQUEyQztBWmc4TjNDOztBWS83TkE7RUFBc0M7QVptOE50Qzs7QVlsOE5BO0VBQTRDO0FaczhONUM7O0FZcjhOQTtFQUEyQztBWnk4TjNDOztBWXg4TkE7RUFBa0M7QVo0OE5sQzs7QVkzOE5BO0VBQWtDO0FaKzhObEM7O0FZOThOQTtFQUE4QztBWms5TjlDOztBWWo5TkE7RUFBa0M7QVpxOU5sQzs7QVlwOU5BO0VBQStDO0FadzlOL0M7O0FZdjlOQTtFQUEyQztBWjI5TjNDOztBWTE5TkE7RUFBdUM7QVo4OU52Qzs7QVk3OU5BO0VBQTRDO0FaaStONUM7O0FZaCtOQTtFQUF1QztBWm8rTnZDOztBWW4rTkE7RUFBZ0Q7QVp1K05oRDs7QVl0K05BO0VBQXNDO0FaMCtOdEM7O0FZeitOQTtFQUEyQztBWjYrTjNDOztBWTUrTkE7RUFBNkM7QVpnL043Qzs7QVkvK05BO0VBQXVDO0FabS9OdkM7O0FZbC9OQTtFQUF1QztBWnMvTnZDOztBWXIvTkE7RUFBdUM7QVp5L052Qzs7QVl4L05BO0VBQXlDO0FaNC9OekM7O0FZMy9OQTtFQUFxQztBWisvTnJDOztBWTkvTkE7RUFBaUM7QVprZ09qQzs7QVlqZ09BO0VBQXdDO0FacWdPeEM7O0FZcGdPQTtFQUFvQztBWndnT3BDOztBWXZnT0E7RUFBcUM7QVoyZ09yQzs7QVkxZ09BO0VBQW1DO0FaOGdPbkM7O0FZN2dPQTtFQUFnQztBWmloT2hDOztBWWhoT0E7RUFBaUM7QVpvaE9qQzs7QVluaE9BO0VBQWtDO0FadWhPbEM7O0FZdGhPQTtFQUFvQztBWjBoT3BDOztBWXpoT0E7RUFBb0M7QVo2aE9wQzs7QVk1aE9BO0VBQXdDO0FaZ2lPeEM7O0FZL2hPQTtFQUEyQztBWm1pTzNDOztBWWxpT0E7RUFBeUM7QVpzaU96Qzs7QVlyaU9BO0VBQTRDO0FaeWlPNUM7O0FZeGlPQTtFQUEwQztBWjRpTzFDOztBWTNpT0E7RUFBcUM7QVoraU9yQzs7QVk5aU9BO0VBQTRDO0Faa2pPNUM7O0FZampPQTtFQUF5QztBWnFqT3pDOztBWXBqT0E7RUFBb0M7QVp3ak9wQzs7QVl2ak9BO0VBQXFDO0FaMmpPckM7O0FZMWpPQTtFQUF5QztBWjhqT3pDOztBWTdqT0E7RUFBZ0Q7QVppa09oRDs7QVloa09BO0VBQTJDO0Fab2tPM0M7O0FZbmtPQTtFQUF1QztBWnVrT3ZDOztBWXRrT0E7RUFBMkM7QVowa08zQzs7QVl6a09BO0VBQW1DO0FaNmtPbkM7O0FZNWtPQTtFQUFtQztBWmdsT25DOztBWS9rT0E7RUFBd0M7QVptbE94Qzs7QVlsbE9BO0VBQWlDO0Fac2xPakM7O0FZcmxPQTtFQUFzQztBWnlsT3RDOztBWXhsT0E7RUFBMEM7QVo0bE8xQzs7QVkzbE9BO0VBQWtDO0FaK2xPbEM7O0FZOWxPQTtFQUFtQztBWmttT25DOztBWWptT0E7RUFBNkM7QVpxbU83Qzs7QVlwbU9BO0VBQWdEO0Fad21PaEQ7O0FZdm1PQTtFQUFnRDtBWjJtT2hEOztBWTFtT0E7RUFBbUQ7QVo4bU9uRDs7QVk3bU9BO0VBQW1EO0FaaW5PbkQ7O0FZaG5PQTtFQUFnRDtBWm9uT2hEOztBWW5uT0E7RUFBZ0Q7QVp1bk9oRDs7QVl0bk9BO0VBQW9EO0FaMG5PcEQ7O0FZem5PQTtFQUFtRDtBWjZuT25EOztBWTVuT0E7RUFBZ0Q7QVpnb09oRDs7QVkvbk9BO0VBQXNEO0FabW9PdEQ7O0FZbG9PQTtFQUEyRDtBWnNvTzNEOztBWXJvT0E7RUFBbUQ7QVp5b09uRDs7QVl4b09BO0VBQWtEO0FaNG9PbEQ7O0FZM29PQTtFQUF3QztBWitvT3hDOztBWTlvT0E7RUFBMEM7QVprcE8xQzs7QVlqcE9BO0VBQWlDO0FacXBPakM7O0FZcHBPQTtFQUFxQztBWndwT3JDOztBWXZwT0E7RUFBa0M7QVoycE9sQzs7QVkxcE9BO0VBQXVDO0FaOHBPdkM7O0FZN3BPQTtFQUFpQztBWmlxT2pDOztBWWhxT0E7RUFBa0M7QVpvcU9sQzs7QVlucU9BO0VBQW1DO0FadXFPbkM7O0FZdHFPQTtFQUFpQztBWjBxT2pDOztBWXpxT0E7RUFBcUM7QVo2cU9yQzs7QVk1cU9BO0VBQWlDO0FaZ3JPakM7O0FZL3FPQTtFQUFrQztBWm1yT2xDOztBWWxyT0E7RUFBZ0M7QVpzck9oQzs7QVlyck9BO0VBQXVDO0FaeXJPdkM7O0FZeHJPQTtFQUFvQztBWjRyT3BDOztBWTNyT0E7RUFBMkM7QVorck8zQzs7QVk5ck9BO0VBQXdDO0Faa3NPeEM7O0FZanNPQTtFQUFxQztBWnFzT3JDOztBWXBzT0E7RUFBcUM7QVp3c09yQzs7QVl2c09BO0VBQWlDO0FaMnNPakM7O0FZMXNPQTtFQUFtQztBWjhzT25DOztBWTdzT0E7RUFBc0M7QVppdE90Qzs7QVlodE9BO0VBQXFDO0Fab3RPckM7O0FZbnRPQTtFQUFzQztBWnV0T3RDOztBWXR0T0E7RUFBb0M7QVowdE9wQzs7QVl6dE9BO0VBQW9DO0FaNnRPcEM7O0FZNXRPQTtFQUFnQztBWmd1T2hDOztBWS90T0E7RUFBdUM7QVptdU92Qzs7QVlsdU9BO0VBQXlDO0Fac3VPekM7O0FZcnVPQTtFQUFnQztBWnl1T2hDOztBWXh1T0E7RUFBc0M7QVo0dU90Qzs7QVkzdU9BO0VBQXFDO0FaK3VPckM7O0FZOXVPQTtFQUFpQztBWmt2T2pDOztBWWp2T0E7RUFBcUM7QVpxdk9yQzs7QVlwdk9BO0VBQW9DO0Fad3ZPcEM7O0FZdnZPQTtFQUFzQztBWjJ2T3RDOztBWTF2T0E7RUFBc0M7QVo4dk90Qzs7QVk3dk9BO0VBQXFDO0FaaXdPckM7O0FZaHdPQTtFQUFxQztBWm93T3JDOztBWW53T0E7RUFBdUM7QVp1d092Qzs7QVl0d09BO0VBQXFDO0FaMHdPckM7O0FZendPQTtFQUFpQztBWjZ3T2pDOztBWTV3T0E7RUFBMEM7QVpneE8xQzs7QVkvd09BO0VBQStDO0FabXhPL0M7O0FZbHhPQTtFQUF1QztBWnN4T3ZDOztBWXJ4T0E7RUFBb0M7QVp5eE9wQzs7QVl4eE9BO0VBQXNDO0FaNHhPdEM7O0FZM3hPQTtFQUFvQztBWit4T3BDOztBWTl4T0E7RUFBbUM7QVpreU9uQzs7QVlqeU9BO0VBQWtDO0FacXlPbEM7O0FZcHlPQTtFQUFnQztBWnd5T2hDOztBWXZ5T0E7RUFBbUM7QVoyeU9uQzs7QVkxeU9BO0VBQW1DO0FaOHlPbkM7O0FZN3lPQTtFQUFnQztBWml6T2hDOztBWWh6T0E7RUFBd0M7QVpvek94Qzs7QVluek9BO0VBQWtDO0FadXpPbEM7O0FZdHpPQTtFQUEwQztBWjB6TzFDOztBWXp6T0E7RUFBbUM7QVo2ek9uQzs7QVk1ek9BO0VBQXdDO0FaZzBPeEM7O0FZL3pPQTtFQUFzQztBWm0wT3RDOztBWWwwT0E7RUFBdUM7QVpzME92Qzs7QVlyME9BO0VBQWlDO0FaeTBPakM7O0FZeDBPQTtFQUFxQztBWjQwT3JDOztBWTMwT0E7RUFBMEM7QVorME8xQzs7QVk5ME9BO0VBQTZDO0FaazFPN0M7O0FZajFPQTtFQUFtQztBWnExT25DOztBWXAxT0E7RUFBeUM7QVp3MU96Qzs7QVl2MU9BO0VBQXFDO0FaMjFPckM7O0FZMTFPQTtFQUE0QztBWjgxTzVDOztBWTcxT0E7RUFBb0M7QVppMk9wQzs7QVloMk9BO0VBQWlDO0FabzJPakM7O0FZbjJPQTtFQUEwQztBWnUyTzFDOztBWXQyT0E7RUFBMkM7QVowMk8zQzs7QVl6Mk9BO0VBQW1DO0FaNjJPbkM7O0FZNTJPQTtFQUFxQztBWmczT3JDOztBWS8yT0E7RUFBcUM7QVptM09yQzs7QVlsM09BO0VBQTBDO0FaczNPMUM7O0FZcjNPQTtFQUFvQztBWnkzT3BDOztBWXgzT0E7RUFBbUM7QVo0M09uQzs7QVkzM09BO0VBQXVDO0FaKzNPdkM7O0FZOTNPQTtFQUFpQztBWms0T2pDOztBWWo0T0E7RUFBaUM7QVpxNE9qQzs7QVlwNE9BO0VBQXdDO0FadzRPeEM7O0FZdjRPQTtFQUFpQztBWjI0T2pDOztBWTE0T0E7RUFBZ0M7QVo4NE9oQzs7QVk3NE9BO0VBQWtDO0FaaTVPbEM7O0FZaDVPQTtFQUFzQztBWm81T3RDOztBWW41T0E7RUFBdUM7QVp1NU92Qzs7QVl0NU9BO0VBQXVDO0FaMDVPdkM7O0FZejVPQTtFQUFpQztBWjY1T2pDOztBWTU1T0E7RUFBa0M7QVpnNk9sQzs7QVkvNU9BO0VBQW1DO0FabTZPbkM7O0FZbDZPQTtFQUFxQztBWnM2T3JDOztBWXI2T0E7RUFBMEM7QVp5Nk8xQzs7QVl4Nk9BO0VBQStDO0FaNDZPL0M7O0FZMzZPQTtFQUE0QztBWis2TzVDOztBWTk2T0E7RUFBbUM7QVprN09uQzs7QVlqN09BO0VBQW1DO0FacTdPbkM7O0FZcDdPQTtFQUFtQztBWnc3T25DOztBWXY3T0E7RUFBbUM7QVoyN09uQzs7QVkxN09BO0VBQXFDO0FaODdPckM7O0FZNzdPQTtFQUFxQztBWmk4T3JDOztBWWg4T0E7RUFBaUM7QVpvOE9qQzs7QVluOE9BO0VBQXNDO0FadThPdEM7O0FZdDhPQTtFQUFxQztBWjA4T3JDOztBWXo4T0E7RUFBeUM7QVo2OE96Qzs7QVk1OE9BO0VBQXdDO0FaZzlPeEM7O0FZLzhPQTtFQUErQztBWm05Ty9DOztBWWw5T0E7RUFBaUQ7QVpzOU9qRDs7QVlyOU9BO0VBQW1DO0FaeTlPbkM7O0FZeDlPQTtFQUF1QztBWjQ5T3ZDOztBWTM5T0E7RUFBOEM7QVorOU85Qzs7QVk5OU9BO0VBQXlDO0FaaytPekM7O0FZaitPQTtFQUE4QztBWnErTzlDOztBWXArT0E7RUFBcUQ7QVp3K09yRDs7QVl2K09BO0VBQWdDO0FaMitPaEM7O0FZMStPQTtFQUF3QztBWjgrT3hDOztBWTcrT0E7RUFBc0M7QVppL090Qzs7QVloL09BO0VBQXFDO0Faby9PckM7O0FZbi9PQTtFQUF1QztBWnUvT3ZDOztBWXQvT0E7RUFBK0M7QVowL08vQzs7QVl6L09BO0VBQTRDO0FaNi9PNUM7O0FZNS9PQTtFQUFnQztBWmdnUGhDOztBWS8vT0E7RUFBaUQ7QVptZ1BqRDs7QVlsZ1BBO0VBQTBDO0Fac2dQMUM7O0FZcmdQQTtFQUF5QztBWnlnUHpDOztBWXhnUEE7RUFBbUM7QVo0Z1BuQzs7QVkzZ1BBO0VBQWdDO0FaK2dQaEM7O0FZOWdQQTtFQUFvQztBWmtoUHBDOztBWWpoUEE7RUFBd0M7QVpxaFB4Qzs7QVlwaFBBO0VBQWtDO0Fad2hQbEM7O0FZdmhQQTtFQUFtQztBWjJoUG5DOztBWTFoUEE7RUFBbUM7QVo4aFBuQzs7QVk3aFBBO0VBQXdDO0FaaWlQeEM7O0FZaGlQQTtFQUFrQztBWm9pUGxDOztBWW5pUEE7RUFBaUM7QVp1aVBqQzs7QVl0aVBBO0VBQXFDO0FaMGlQckM7O0FZemlQQTtFQUF5QztBWjZpUHpDOztBWTVpUEE7RUFBdUM7QVpnalB2Qzs7QVkvaVBBO0VBQXNDO0FabWpQdEM7O0FZbGpQQTtFQUEwQztBWnNqUDFDOztBWXJqUEE7RUFBcUM7QVp5alByQzs7QVl4alBBO0VBQTBDO0FaNGpQMUM7O0FZM2pQQTtFQUF1QztBWitqUHZDOztBWTlqUEE7RUFBd0M7QVpra1B4Qzs7QVlqa1BBO0VBQXVDO0FacWtQdkM7O0FZcGtQQTtFQUF3QztBWndrUHhDOztBWXZrUEE7RUFBeUM7QVoya1B6Qzs7QVkxa1BBO0VBQWdEO0FaOGtQaEQ7O0FZN2tQQTtFQUF5QztBWmlsUHpDOztBWWhsUEE7RUFBNkM7QVpvbFA3Qzs7QVlubFBBO0VBQXFDO0FadWxQckM7O0FZdGxQQTtFQUE0QztBWjBsUDVDOztBWXpsUEE7RUFBOEM7QVo2bFA5Qzs7QVk1bFBBO0VBQTJDO0FaZ21QM0M7O0FZL2xQQTtFQUF3QztBWm1tUHhDOztBWWxtUEE7RUFBdUM7QVpzbVB2Qzs7QVlybVBBO0VBQXNDO0FaeW1QdEM7O0FZeG1QQTtFQUFpQztBWjRtUGpDOztBWTNtUEE7RUFBc0M7QVorbVB0Qzs7QVk5bVBBO0VBQWlDO0Faa25QakM7O0FZam5QQTtFQUFtQztBWnFuUG5DOztBWXBuUEE7RUFBd0M7QVp3blB4Qzs7QVl2blBBO0VBQWlDO0FaMm5QakM7O0FZMW5QQTtFQUFxQztBWjhuUHJDOztBWTduUEE7RUFBOEM7QVppb1A5Qzs7QVlob1BBO0VBQW9DO0Fab29QcEM7O0FZbm9QQTtFQUE0QztBWnVvUDVDOztBWXRvUEE7RUFBc0M7QVowb1B0Qzs7QVl6b1BBO0VBQXdDO0FaNm9QeEM7O0FZNW9QQTtFQUE0QztBWmdwUDVDOztBWS9vUEE7RUFBdUM7QVptcFB2Qzs7QVlscFBBO0VBQWlDO0Fac3BQakM7O0FZcnBQQTtFQUF3QztBWnlwUHhDOztBWXhwUEE7RUFBaUM7QVo0cFBqQzs7QVkzcFBBO0VBQTJDO0FaK3BQM0M7O0FZOXBQQTtFQUFxQztBWmtxUHJDOztBWWpxUEE7RUFBa0M7QVpxcVBsQzs7QVlwcVBBO0VBQW1DO0Fad3FQbkM7O0FZdnFQQTtFQUFzQztBWjJxUHRDOztBWTFxUEE7RUFBb0M7QVo4cVBwQzs7QVk3cVBBO0VBQWdDO0FaaXJQaEM7O0FZaHJQQTtFQUFtQztBWm9yUG5DOztBWW5yUEE7RUFBeUM7QVp1clB6Qzs7QVl0clBBO0VBQXdDO0FaMHJQeEM7O0FZenJQQTtFQUF3QztBWjZyUHhDOztBWTVyUEE7RUFBaUM7QVpnc1BqQzs7QVkvclBBO0VBQXlDO0FabXNQekM7O0FZbHNQQTtFQUE2QztBWnNzUDdDOztBWXJzUEE7RUFBOEM7QVp5c1A5Qzs7QVl4c1BBO0VBQW1EO0FaNHNQbkQ7O0FZM3NQQTtFQUFzQztBWitzUHRDOztBWTlzUEE7RUFBeUM7QVprdFB6Qzs7QVlqdFBBO0VBQTBDO0FacXRQMUM7O0FZcHRQQTtFQUF5QztBWnd0UHpDOztBWXZ0UEE7RUFBNkM7QVoydFA3Qzs7QVkxdFBBO0VBQXFDO0FaOHRQckM7O0FZN3RQQTtFQUFvQztBWml1UHBDOztBWWh1UEE7RUFBdUM7QVpvdVB2Qzs7QVludVBBO0VBQTJDO0FadXVQM0M7O0FZdHVQQTtFQUFvQztBWjB1UHBDOztBWXp1UEE7RUFBaUM7QVo2dVBqQzs7QVk1dVBBO0VBQWtDO0FaZ3ZQbEM7O0FZL3VQQTtFQUF1QztBWm12UHZDOztBWWx2UEE7RUFBb0M7QVpzdlBwQzs7QVlydlBBO0VBQTBDO0FaeXZQMUM7O0FZeHZQQTtFQUFtQztBWjR2UG5DOztBWTN2UEE7RUFBOEM7QVordlA5Qzs7QVk5dlBBO0VBQTRDO0Faa3dQNUM7O0FZandQQTtFQUFvQztBWnF3UHBDOztBWXB3UEE7RUFBcUM7QVp3d1ByQzs7QVl2d1BBO0VBQWtDO0FaMndQbEM7O0FZMXdQQTtFQUFnQztBWjh3UGhDOztBWTd3UEE7RUFBdUM7QVppeFB2Qzs7QVloeFBBO0VBQXVDO0Fab3hQdkM7O0FZbnhQQTtFQUErQjtBWnV4UC9COztBWXR4UEE7RUFBc0M7QVoweFB0Qzs7QVl6eFBBO0VBQWtDO0FaNnhQbEM7O0FZNXhQQTtFQUFpQztBWmd5UGpDOztBWS94UEE7RUFBa0M7QVpteVBsQzs7QVlseVBBO0VBQWdDO0Fac3lQaEM7O0FZcnlQQTtFQUFvQztBWnl5UHBDOztBWXh5UEE7RUFBdUM7QVo0eVB2Qzs7QVkzeVBBO0VBQW1DO0FaK3lQbkM7O0FZOXlQQTtFQUF1QztBWmt6UHZDOztBWWp6UEE7RUFBMEM7QVpxelAxQzs7QVlwelBBO0VBQXNDO0Fad3pQdEM7O0FZdnpQQTtFQUFtQztBWjJ6UG5DOztBWTF6UEE7RUFBbUM7QVo4elBuQzs7QVk3elBBO0VBQXlDO0FaaTBQekM7O0FZaDBQQTtFQUEwQztBWm8wUDFDOztBWW4wUEE7RUFBOEM7QVp1MFA5Qzs7QVl0MFBBO0VBQTBDO0FaMDBQMUM7O0FZejBQQTtFQUFvQztBWjYwUHBDOztBWTUwUEE7RUFBa0M7QVpnMVBsQzs7QVkvMFBBO0VBQW9DO0FabTFQcEM7O0FZbDFQQTtFQUFrQztBWnMxUGxDOztBWXIxUEE7RUFBeUM7QVp5MVB6Qzs7QVl4MVBBO0VBQTJDO0FaNDFQM0M7O0FZMzFQQTtFQUF1QztBWisxUHZDOztBWTkxUEE7RUFBeUM7QVprMlB6Qzs7QVlqMlBBO0VBQW1DO0FacTJQbkM7O0FZcDJQQTtFQUFzQztBWncyUHRDOztBWXYyUEE7RUFBc0M7QVoyMlB0Qzs7QVkxMlBBO0VBQXdDO0FaODJQeEM7O0FZNzJQQTtFQUFtQztBWmkzUG5DOztBWWgzUEE7RUFBeUM7QVpvM1B6Qzs7QVluM1BBO0VBQXVDO0FadTNQdkM7O0FZdDNQQTtFQUF3QztBWjAzUHhDOztBWXozUEE7RUFBd0M7QVo2M1B4Qzs7QVk1M1BBO0VBQTBDO0FaZzRQMUM7O0FZLzNQQTtFQUErQztBWm00UC9DOztBWWw0UEE7RUFBMEM7QVpzNFAxQzs7QVlyNFBBO0VBQW9DO0FaeTRQcEM7O0FZeDRQQTtFQUEyQztBWjQ0UDNDOztBWTM0UEE7RUFBcUM7QVorNFByQzs7QVk5NFBBO0VBQWlDO0FaazVQakM7O0FZajVQQTtFQUF5QztBWnE1UHpDOztBWXA1UEE7RUFBK0M7QVp3NVAvQzs7QVl2NVBBO0VBQW9DO0FaMjVQcEM7O0FZMTVQQTtFQUFpQztBWjg1UGpDOztBWTc1UEE7RUFBcUM7QVppNlByQzs7QVloNlBBO0VBQXNDO0FabzZQdEM7O0FZbjZQQTtFQUE0QztBWnU2UDVDOztBWXQ2UEE7RUFBd0M7QVowNlB4Qzs7QVl6NlBBO0VBQXdDO0FaNjZQeEM7O0FZNTZQQTtFQUE4QztBWmc3UDlDOztBWS82UEE7RUFBdUM7QVptN1B2Qzs7QVlsN1BBO0VBQXVDO0FaczdQdkM7O0FZcjdQQTtFQUF3QztBWnk3UHhDOztBWXg3UEE7RUFBK0M7QVo0N1AvQzs7QVkzN1BBO0VBQTZDO0FaKzdQN0M7O0FZOTdQQTtFQUFzQztBWms4UHRDOztBWWo4UEE7RUFBNEM7QVpxOFA1Qzs7QVlwOFBBO0VBQXVDO0FadzhQdkM7O0FZdjhQQTtFQUFnRDtBWjI4UGhEOztBWTE4UEE7RUFBMEM7QVo4OFAxQzs7QVk3OFBBO0VBQXFDO0FaaTlQckM7O0FZaDlQQTtFQUFrQztBWm85UGxDOztBWW45UEE7RUFBb0M7QVp1OVBwQzs7QVl0OVBBO0VBQW1DO0FaMDlQbkM7O0FZejlQQTtFQUFpQztBWjY5UGpDOztBWTU5UEE7RUFBcUM7QVpnK1ByQzs7QVkvOVBBO0VBQXdDO0FabStQeEM7O0FZbCtQQTtFQUErQztBWnMrUC9DOztBWXIrUEE7RUFBdUM7QVp5K1B2Qzs7QVl4K1BBO0VBQXNDO0FaNCtQdEM7O0FZMytQQTtFQUFtQztBWisrUG5DOztBWTkrUEE7RUFBa0M7QVprL1BsQzs7QVlqL1BBO0VBQXlDO0FacS9QekM7O0FZcC9QQTtFQUErQztBWncvUC9DOztBWXYvUEE7RUFBaUQ7QVoyL1BqRDs7QVkxL1BBO0VBQTZDO0FaOC9QN0M7O0FZNy9QQTtFQUErQztBWmlnUS9DOztBWWhnUUE7RUFBd0M7QVpvZ1F4Qzs7QVluZ1FBO0VBQStDO0FadWdRL0M7O0FZdGdRQTtFQUF1QztBWjBnUXZDOztBWXpnUUE7RUFBdUM7QVo2Z1F2Qzs7QVk1Z1FBO0VBQTRDO0FaZ2hRNUM7O0FZL2dRQTtFQUE0QztBWm1oUTVDOztBWWxoUUE7RUFBNkM7QVpzaFE3Qzs7QVlyaFFBO0VBQTBDO0FaeWhRMUM7O0FZeGhRQTtFQUF5QztBWjRoUXpDOztBWTNoUUE7RUFBc0M7QVoraFF0Qzs7QVk5aFFBO0VBQTBDO0Faa2lRMUM7O0FZamlRQTtFQUEwQztBWnFpUTFDOztBWXBpUUE7RUFBdUM7QVp3aVF2Qzs7QVl2aVFBO0VBQWtDO0FaMmlRbEM7O0FZMWlRQTtFQUEwQztBWjhpUTFDOztBWTdpUUE7RUFBdUM7QVppalF2Qzs7QVloalFBO0VBQXNDO0Fab2pRdEM7O0FZbmpRQTtFQUFnRDtBWnVqUWhEOztBWXRqUUE7RUFBNEM7QVowalE1Qzs7QVl6alFBO0VBQXFDO0FaNmpRckM7O0FZNWpRQTtFQUFxQztBWmdrUXJDOztBWS9qUUE7RUFBb0M7QVpta1FwQzs7QVlsa1FBO0VBQXVDO0Fac2tRdkM7O0FZcmtRQTtFQUE0QztBWnlrUTVDOztBWXhrUUE7RUFBdUM7QVo0a1F2Qzs7QVkza1FBO0VBQWdDO0FaK2tRaEM7O0FZOWtRQTtFQUE0QztBWmtsUTVDOztBWWpsUUE7RUFBa0Q7QVpxbFFsRDs7QVlwbFFBO0VBQTJDO0Fad2xRM0M7O0FZdmxRQTtFQUE0QztBWjJsUTVDOztBWTFsUUE7RUFBb0M7QVo4bFFwQzs7QVk3bFFBO0VBQXVDO0FaaW1RdkM7O0FZaG1RQTtFQUEyQztBWm9tUTNDOztBWW5tUUE7RUFBb0M7QVp1bVFwQzs7QVl0bVFBO0VBQWtDO0FaMG1RbEM7O0FZem1RQTtFQUF5QztBWjZtUXpDOztBWTVtUUE7RUFBc0M7QVpnblF0Qzs7QVkvbVFBO0VBQXVDO0FabW5RdkM7O0FZbG5RQTtFQUF3QztBWnNuUXhDOztBWXJuUUE7RUFBbUM7QVp5blFuQzs7QVl4blFBO0VBQWtDO0FaNG5RbEM7O0FZM25RQTtFQUFpQztBWituUWpDOztBWTluUUE7RUFBMEM7QVprb1ExQzs7QVlqb1FBO0VBQW9DO0FacW9RcEM7O0FZcG9RQTtFQUFpQztBWndvUWpDOztBWXZvUUE7RUFBd0M7QVoyb1F4Qzs7QVkxb1FBO0VBQXdDO0FaOG9ReEM7O0FZN29RQTtFQUFpQztBWmlwUWpDOztBWWhwUUE7RUFBa0M7QVpvcFFsQzs7QVlucFFBO0VBQXFDO0FadXBRckM7O0FZdHBRQTtFQUFrQztBWjBwUWxDOztBWXpwUUE7RUFBdUM7QVo2cFF2Qzs7QVk1cFFBO0VBQXFDO0FaZ3FRckM7O0FZL3BRQTtFQUF5QztBWm1xUXpDOztBWWxxUUE7RUFBNEM7QVpzcVE1Qzs7QVlycVFBO0VBQTBDO0FaeXFRMUM7O0FZeHFRQTtFQUFvQztBWjRxUXBDOztBWTNxUUE7RUFBbUM7QVorcVFuQzs7QVk5cVFBO0VBQWtDO0Faa3JRbEM7O0FZanJRQTtFQUFtQztBWnFyUW5DOztBWXByUUE7RUFBc0M7QVp3clF0Qzs7QVl2clFBO0VBQTBDO0FaMnJRMUM7O0FZMXJRQTtFQUEyQztBWjhyUTNDOztBWTdyUUE7RUFBNEM7QVppc1E1Qzs7QVloc1FBO0VBQXlDO0Fab3NRekM7O0FZbnNRQTtFQUF1QztBWnVzUXZDOztBWXRzUUE7RUFBa0M7QVowc1FsQzs7QVl6c1FBO0VBQW9DO0FaNnNRcEM7O0FZNXNRQTtFQUFrQztBWmd0UWxDOztBWS9zUUE7RUFBb0M7QVptdFFwQzs7QVlsdFFBO0VBQXFDO0Fac3RRckM7O0FZcnRRQTtFQUFzQztBWnl0UXRDOztBWXh0UUE7RUFBb0M7QVo0dFFwQzs7QVkzdFFBO0VBQWtDO0FaK3RRbEM7O0FZOXRRQTtFQUFxQztBWmt1UXJDOztBWWp1UUE7RUFBb0M7QVpxdVFwQzs7QVlwdVFBO0VBQXdDO0Fad3VReEM7O0FZdnVRQTtFQUFrQztBWjJ1UWxDOztBWTF1UUE7RUFBa0M7QVo4dVFsQzs7QVk3dVFBO0VBQWtDO0FaaXZRbEM7O0FZaHZRQTtFQUFtQztBWm92UW5DOztBWW52UUE7RUFBaUM7QVp1dlFqQzs7QVl0dlFBO0VBQWtDO0FaMHZRbEM7O0FZenZRQTtFQUFtQztBWjZ2UW5DOztBWTV2UUE7RUFBcUM7QVpnd1FyQzs7QVkvdlFBO0VBQXFDO0FabXdRckM7O0FZbHdRQTtFQUFpQztBWnN3UWpDOztBWXJ3UUE7RUFBd0M7QVp5d1F4Qzs7QVl4d1FBO0VBQXFDO0FaNHdRckM7O0FZM3dRQTtFQUFzQztBWit3UXRDOztBWTl3UUE7RUFBNkM7QVpreFE3Qzs7QVlqeFFBO0VBQXFDO0FacXhRckM7O0FZcHhRQTtFQUFxQztBWnd4UXJDOztBWXZ4UUE7RUFBOEM7QVoyeFE5Qzs7QVkxeFFBO0VBQXFDO0FaOHhRckM7O0FZN3hRQTtFQUFvQztBWml5UXBDOztBWWh5UUE7RUFBbUM7QVpveVFuQzs7QVlueVFBO0VBQW9DO0FadXlRcEM7O0FZdHlRQTtFQUFtQztBWjB5UW5DOztBWXp5UUE7RUFBd0M7QVo2eVF4Qzs7QVk1eVFBO0VBQWlDO0FaZ3pRakM7O0FZL3lRQTtFQUFpQztBWm16UWpDOztBWWx6UUE7RUFBdUM7QVpzelF2Qzs7QVlyelFBO0VBQW9DO0FaeXpRcEM7O0FZeHpRQTtFQUFpQztBWjR6UWpDOztBWTN6UUE7RUFBa0M7QVorelFsQzs7QVk5elFBO0VBQWtDO0FaazBRbEM7O0FZajBRQTtFQUFtQztBWnEwUW5DOztBWXAwUUE7RUFBMkM7QVp3MFEzQzs7QVl2MFFBO0VBQStCO0FaMjBRL0I7O0FZMTBRQTtFQUFzQztBWjgwUXRDOztBWTcwUUE7RUFBcUM7QVppMVFyQzs7QVloMVFBO0VBQWtDO0FabzFRbEM7O0FZbjFRQTtFQUFtQztBWnUxUW5DOztBWXQxUUE7RUFBZ0M7QVowMVFoQzs7QVl6MVFBO0VBQW9DO0FaNjFRcEM7O0FZNTFRQTtFQUFxQztBWmcyUXJDOztBWS8xUUE7RUFBbUM7QVptMlFuQzs7QVlsMlFBO0VBQW1DO0FaczJRbkM7O0FZcjJRQTtFQUF3QztBWnkyUXhDOztBWXgyUUE7RUFBMEM7QVo0MlExQzs7QVkzMlFBO0VBQWlDO0FaKzJRakM7O0FZOTJRQTtFQUFzQztBWmszUXRDOztBWWozUUE7RUFBNEM7QVpxM1E1Qzs7QVlwM1FBO0VBQXNDO0FadzNRdEM7O0FZdjNRQTtFQUFtQztBWjIzUW5DOztBWTEzUUE7RUFBcUM7QVo4M1FyQzs7QVk3M1FBO0VBQXFDO0FaaTRRckM7O0FZaDRRQTtFQUFtQztBWm80UW5DOztBWW40UUE7RUFBd0M7QVp1NFF4Qzs7QVl0NFFBO0VBQXlDO0FaMDRRekM7O0FZejRRQTtFQUEyQztBWjY0UTNDOztBWTU0UUE7RUFBb0M7QVpnNVFwQzs7QVkvNFFBO0VBQW1DO0FabTVRbkM7O0FZbDVRQTtFQUEwQztBWnM1UTFDOztBWXI1UUE7RUFBa0M7QVp5NVFsQzs7QVl4NVFBO0VBQXVDO0FaNDVRdkM7O0FZMzVRQTtFQUF5QztBWis1UXpDOztBWTk1UUE7RUFBdUM7QVprNlF2Qzs7QVlqNlFBO0VBQXdDO0FacTZReEM7O0FZcDZRQTtFQUFpQztBWnc2UWpDOztBWXY2UUE7RUFBb0M7QVoyNlFwQzs7QVkxNlFBO0VBQWtDO0FaODZRbEM7O0FZNzZRQTtFQUFpQztBWmk3UWpDOztBWWg3UUE7RUFBc0M7QVpvN1F0Qzs7QVluN1FBO0VBQTRDO0FadTdRNUM7O0FZdDdRQTtFQUEyQztBWjA3UTNDOztBWXo3UUE7RUFBeUM7QVo2N1F6Qzs7QVk1N1FBO0VBQXNDO0FaZzhRdEM7O0FZLzdRQTtFQUFzQztBWm04UXRDOztBWWw4UUE7RUFBaUM7QVpzOFFqQzs7QVlyOFFBO0VBQWlDO0FaeThRakM7O0FZeDhRQTtFQUFxQztBWjQ4UXJDOztBWTM4UUE7RUFBd0M7QVorOFF4Qzs7QVk5OFFBO0VBQW1DO0FaazlRbkM7O0FZajlRQTtFQUFrQztBWnE5UWxDOztBWXA5UUE7RUFBc0M7QVp3OVF0Qzs7QVl2OVFBO0VBQWlDO0FaMjlRakM7O0FZMTlRQTtFQUFxQztBWjg5UXJDOztBWTc5UUE7RUFBb0M7QVppK1FwQzs7QVloK1FBO0VBQW9DO0FabytRcEM7O0FZbitRQTtFQUEyQztBWnUrUTNDOztBWXQrUUE7RUFBaUM7QVowK1FqQzs7QVl6K1FBO0VBQXNDO0FaNitRdEM7O0FZNStRQTtFQUFnRDtBWmcvUWhEOztBWS8rUUE7RUFBZ0Q7QVptL1FoRDs7QVlsL1FBO0VBQWlEO0Facy9RakQ7O0FZci9RQTtFQUE4QztBWnkvUTlDOztBWXgvUUE7RUFBdUM7QVo0L1F2Qzs7QVkzL1FBO0VBQXlDO0FaKy9RekM7O0FZOS9RQTtFQUFrQztBWmtnUmxDOztBWWpnUkE7RUFBd0M7QVpxZ1J4Qzs7QVlwZ1JBO0VBQWlDO0Fad2dSakM7O0FZdmdSQTtFQUFvQztBWjJnUnBDOztBWTFnUkE7RUFBa0M7QVo4Z1JsQzs7QVk3Z1JBO0VBQW1DO0FaaWhSbkM7O0FZaGhSQTtFQUFzQztBWm9oUnRDOztBWW5oUkE7RUFBc0M7QVp1aFJ0Qzs7QVl0aFJBO0VBQWlDO0FaMGhSakM7O0FZemhSQTtFQUF3QztBWjZoUnhDOztBWTVoUkE7RUFBZ0M7QVpnaVJoQzs7QVkvaFJBO0VBQXVDO0FabWlSdkM7O0FZbGlSQTtFQUEyQztBWnNpUjNDOztBWXJpUkE7RUFBdUM7QVp5aVJ2Qzs7QVl4aVJBO0VBQTJDO0FaNGlSM0M7O0FZM2lSQTtFQUFvQztBWitpUnBDOztBWTlpUkE7RUFBc0M7QVpralJ0Qzs7QVlqalJBO0VBQXFDO0FacWpSckM7O0FZcGpSQTtFQUFtQztBWndqUm5DOztBWXZqUkE7RUFBaUM7QVoyalJqQzs7QVkxalJBO0VBQXdDO0FaOGpSeEM7O0FZN2pSQTtFQUF3QztBWmlrUnhDOztBWWhrUkE7RUFBMEM7QVpva1IxQzs7QVlua1JBO0VBQTBDO0FadWtSMUM7O0FZdGtSQTtFQUFpQztBWjBrUmpDOztBWXprUkE7RUFBcUM7QVo2a1JyQzs7QVk1a1JBO0VBQW1DO0FaZ2xSbkM7O0FZL2tSQTtFQUFnQztBWm1sUmhDOztBWWxsUkE7RUFBa0M7QVpzbFJsQzs7QVlybFJBO0VBQW9DO0FaeWxScEM7O0FZeGxSQTtFQUFtQztBWjRsUm5DOztBWTNsUkE7RUFBcUM7QVorbFJyQzs7QVk5bFJBO0VBQW1DO0Faa21SbkM7O0FZam1SQTtFQUFrQztBWnFtUmxDOztBWXBtUkE7RUFBbUM7QVp3bVJuQzs7QVl2bVJBO0VBQXFDO0FaMm1SckM7O0FZMW1SQTtFQUFnQztBWjhtUmhDOztBWTdtUkE7RUFBc0M7QVppblJ0Qzs7QVloblJBO0VBQTZDO0Fab25SN0M7O0FZbm5SQTtFQUFtQztBWnVuUm5DOztBWXRuUkE7RUFBcUM7QVowblJyQzs7QVl6blJBO0VBQW9DO0FaNm5ScEM7O0FZNW5SQTtFQUFvQztBWmdvUnBDOztBWS9uUkE7RUFBbUM7QVptb1JuQzs7QVlsb1JBO0VBQXNDO0Fac29SdEM7O0FZcm9SQTtFQUFzQztBWnlvUnRDOztBWXhvUkE7RUFBdUM7QVo0b1J2Qzs7QVkzb1JBO0VBQTJDO0FaK29SM0M7O0FZOW9SQTtFQUFpRDtBWmtwUmpEOztBWWpwUkE7RUFBNkM7QVpxcFI3Qzs7QVlwcFJBO0VBQXVDO0Fad3BSdkM7O0FZdnBSQTtFQUFzQztBWjJwUnRDOztBWTFwUkE7RUFBa0M7QVo4cFJsQzs7QVk3cFJBO0VBQXlDO0FaaXFSekM7O0FZaHFSQTtFQUF5QztBWm9xUnpDOztBWW5xUkE7RUFBbUM7QVp1cVJuQzs7QVl0cVJBO0VBQWdDO0FaMHFSaEM7O0FZenFSQTtFQUFxQztBWjZxUnJDOztBWTVxUkE7RUFBa0M7QVpnclJsQzs7QVkvcVJBO0VBQW1DO0FabXJSbkM7O0FZbHJSQTtFQUFtQztBWnNyUm5DOztBWXJyUkE7RUFBdUM7QVp5clJ2Qzs7QVl4clJBO0VBQWlDO0FaNHJSakM7O0FZM3JSQTtFQUFtQztBWityUm5DOztBWTlyUkE7RUFBdUM7QVprc1J2Qzs7QVlqc1JBO0VBQTJDO0FacXNSM0M7O0FZcHNSQTtFQUE0QztBWndzUjVDOztBWXZzUkE7RUFBZ0Q7QVoyc1JoRDs7QVkxc1JBO0VBQXdDO0FaOHNSeEM7O0FZN3NSQTtFQUE0QztBWml0UjVDOztBWWh0UkE7RUFBcUM7QVpvdFJyQzs7QVludFJBO0VBQWlDO0FadXRSakM7O0FZdHRSQTtFQUEwQztBWjB0UjFDOztBWXp0UkE7RUFBbUM7QVo2dFJuQzs7QVk1dFJBO0VBQXVDO0FaZ3VSdkM7O0FZL3RSQTtFQUFxQztBWm11UnJDOztBWWx1UkE7RUFBa0M7QVpzdVJsQzs7QVlydVJBO0VBQTBDO0FaeXVSMUM7O0FZeHVSQTtFQUFvQztBWjR1UnBDOztBWTN1UkE7RUFBa0M7QVordVJsQzs7QVk5dVJBO0VBQW9DO0Faa3ZScEM7O0FZanZSQTtFQUFpQztBWnF2UmpDOztBWXB2UkE7RUFBMEM7QVp3dlIxQzs7QVl2dlJBO0VBQW1DO0FaMnZSbkM7O0FZMXZSQTtFQUFzQztBWjh2UnRDOztBWTd2UkE7RUFBbUM7QVppd1JuQzs7QVlod1JBO0VBQWlDO0Fab3dSakM7O0FZbndSQTtFQUFvQztBWnV3UnBDOztBWXR3UkE7RUFBc0M7QVowd1J0Qzs7QVl6d1JBO0VBQTBDO0FaNndSMUM7O0FZNXdSQTtFQUFnQztBWmd4UmhDOztBWS93UkE7RUFBZ0M7QVpteFJoQzs7QVlseFJBO0VBQXdDO0Fac3hSeEM7O0FZcnhSQTtFQUF5QztBWnl4UnpDOztBWXh4UkE7RUFBMkM7QVo0eFIzQzs7QVkzeFJBO0VBQTJDO0FaK3hSM0M7O0FZOXhSQTtFQUEwQztBWmt5UjFDOztBWWp5UkE7RUFBaUQ7QVpxeVJqRDs7QVlweVJBO0VBQW9DO0Fad3lScEM7O0FZdnlSQTtFQUF5QztBWjJ5UnpDOztBWTF5UkE7RUFBK0I7QVo4eVIvQjs7QVk3eVJBO0VBQXFDO0FaaXpSckM7O0FZaHpSQTtFQUFtQztBWm96Um5DOztBWW56UkE7RUFBa0M7QVp1elJsQzs7QVl0elJBO0VBQTBDO0FaMHpSMUM7O0FZenpSQTtFQUFrQztBWjZ6UmxDOztBWTV6UkE7RUFBZ0M7QVpnMFJoQzs7QVkvelJBO0VBQWtDO0FabTBSbEM7O0FZbDBSQTtFQUFvQztBWnMwUnBDOztBWXIwUkE7RUFBa0M7QVp5MFJsQzs7QVl4MFJBO0VBQXNDO0FaNDBSdEM7O0FZMzBSQTtFQUFrQztBWiswUmxDOztBWTkwUkE7RUFBd0M7QVprMVJ4Qzs7QVlqMVJBO0VBQXlDO0FacTFSekM7O0FZcDFSQTtFQUFvQztBWncxUnBDOztBWXYxUkE7RUFBbUM7QVoyMVJuQzs7QVkxMVJBO0VBQW1DO0FaODFSbkM7O0FZNzFSQTtFQUF3QztBWmkyUnhDOztBWWgyUkE7RUFBc0M7QVpvMlJ0Qzs7QVluMlJBO0VBQTBDO0FadTJSMUM7O0FZdDJSQTtFQUFzQztBWjAyUnRDOztBWXoyUkE7RUFBb0M7QVo2MlJwQzs7QVk1MlJBO0VBQXFDO0FaZzNSckM7O0FZLzJSQTtFQUEyQztBWm0zUjNDOztBWWwzUkE7RUFBa0M7QVpzM1JsQzs7QVlyM1JBO0VBQW9DO0FaeTNScEM7O0FZeDNSQTtFQUFrQztBWjQzUmxDOztBWTMzUkE7RUFBeUM7QVorM1J6Qzs7QVk5M1JBO0VBQWdDO0FaazRSaEM7O0FZajRSQTtFQUFtQztBWnE0Um5DOztBWXA0UkE7RUFBa0M7QVp3NFJsQzs7QVl2NFJBO0VBQWdDO0FaMjRSaEM7O0FZMTRSQTtFQUFvQztBWjg0UnBDOztBWTc0UkE7RUFBc0M7QVppNVJ0Qzs7QVloNVJBO0VBQW9DO0FabzVScEM7O0FZbjVSQTtFQUF1QztBWnU1UnZDOztBWXQ1UkE7RUFBdUM7QVowNVJ2Qzs7QVl6NVJBO0VBQXlDO0FaNjVSekM7O0FZNTVSQTtFQUF5QztBWmc2UnpDOztBWS81UkE7RUFBMEM7QVptNlIxQzs7QVlsNlJBO0VBQXlDO0FaczZSekM7O0FZcjZSQTtFQUF1QztBWnk2UnZDOztBWXg2UkE7RUFBb0M7QVo0NlJwQzs7QVkzNlJBO0VBQW9DO0FaKzZScEM7O0FZOTZSQTtFQUF1QztBWms3UnZDOztBWWo3UkE7RUFBc0M7QVpxN1J0Qzs7QVlwN1JBO0VBQXlDO0FadzdSekM7O0FZdjdSQTtFQUF3QztBWjI3UnhDOztBWTE3UkE7RUFBOEM7QVo4N1I5Qzs7QVk3N1JBO0VBQTZDO0FaaThSN0M7O0FZaDhSQTtFQUFrQztBWm84UmxDOztBWW44UkE7RUFBc0M7QVp1OFJ0Qzs7QVl0OFJBO0VBQXdDO0FaMDhSeEM7O0FZejhSQTtFQUF5QztBWjY4UnpDOztBWTU4UkE7RUFBNkM7QVpnOVI3Qzs7QVkvOFJBO0VBQXlDO0FabTlSekM7O0FZbDlSQTtFQUF3QztBWnM5UnhDOztBWXI5UkE7RUFBZ0M7QVp5OVJoQzs7QVl4OVJBO0VBQXVDO0FaNDlSdkM7O0FZMzlSQTtFQUEyQztBWis5UjNDOztBWTk5UkE7RUFBMkM7QVprK1IzQzs7QVlqK1JBO0VBQTBDO0FacStSMUM7O0FZcCtSQTtFQUE4QztBWncrUjlDOztBWXYrUkE7RUFBdUM7QVoyK1J2Qzs7QVkxK1JBO0VBQWtDO0FaOCtSbEM7O0FZNytSQTtFQUFzQztBWmkvUnRDOztBWWgvUkE7RUFBd0M7QVpvL1J4Qzs7QVluL1JBO0VBQTZDO0FadS9SN0M7O0FZdC9SQTtFQUF3QztBWjAvUnhDOztBWXovUkE7RUFBNkM7QVo2L1I3Qzs7QVk1L1JBO0VBQWtDO0FaZ2dTbEM7O0FZLy9SQTtFQUEwQztBWm1nUzFDOztBWWxnU0E7RUFBNEM7QVpzZ1M1Qzs7QVlyZ1NBO0VBQXdDO0FaeWdTeEM7O0FZeGdTQTtFQUFpQztBWjRnU2pDOztBWTNnU0E7RUFBd0M7QVorZ1N4Qzs7QVk5Z1NBO0VBQXdDO0Faa2hTeEM7O0FZamhTQTtFQUFpQztBWnFoU2pDOztBWXBoU0E7RUFBaUM7QVp3aFNqQzs7QVl2aFNBO0VBQXdDO0FaMmhTeEM7O0FZMWhTQTtFQUF3QztBWjhoU3hDOztBWTdoU0E7RUFBb0M7QVppaVNwQzs7QVloaVNBO0VBQWlDO0Fab2lTakM7O0FZbmlTQTtFQUFtQztBWnVpU25DOztBWXRpU0E7RUFBZ0M7QVowaVNoQzs7QVl6aVNBO0VBQXNDO0FaNmlTdEM7O0FZNWlTQTtFQUFpQztBWmdqU2pDOztBWS9pU0E7RUFBcUM7QVptalNyQzs7QVlsalNBO0VBQXVDO0Fac2pTdkM7O0FZcmpTQTtFQUFzQztBWnlqU3RDOztBWXhqU0E7RUFBaUM7QVo0alNqQzs7QVkzalNBO0VBQTBDO0FaK2pTMUM7O0FZOWpTQTtFQUF5QztBWmtrU3pDOztBWWprU0E7RUFBZ0Q7QVpxa1NoRDs7QVlwa1NBO0VBQW9EO0Fad2tTcEQ7O0FZdmtTQTtFQUFrQztBWjJrU2xDOztBWTFrU0E7RUFBdUM7QVo4a1N2Qzs7QVk3a1NBO0VBQXlDO0FaaWxTekM7O0FZaGxTQTtFQUE0QztBWm9sUzVDOztBWW5sU0E7RUFBeUM7QVp1bFN6Qzs7QVl0bFNBO0VBQXNDO0FaMGxTdEM7O0FZemxTQTtFQUFtQztBWjZsU25DOztBWTVsU0E7RUFBeUM7QVpnbVN6Qzs7QVkvbFNBO0VBQW1DO0FabW1TbkM7O0FZbG1TQTtFQUErQjtBWnNtUy9COztBWXJtU0E7RUFBbUM7QVp5bVNuQzs7QVl4bVNBO0VBQXFDO0FaNG1TckM7O0FZM21TQTtFQUE0QztBWittUzVDOztBWTltU0E7RUFBc0M7QVprblN0Qzs7QVlqblNBO0VBQXNDO0FacW5TdEM7O0FZcG5TQTtFQUFrQztBWnduU2xDOztBWXZuU0E7RUFBdUM7QVoyblN2Qzs7QVkxblNBO0VBQXdDO0FaOG5TeEM7O0FZN25TQTtFQUFrQztBWmlvU2xDOztBWWhvU0E7RUFBc0M7QVpvb1N0Qzs7QVlub1NBO0VBQXNDO0FadW9TdEM7O0FZdG9TQTtFQUEwQztBWjBvUzFDOztBWXpvU0E7RUFBb0M7QVo2b1NwQzs7QVk1b1NBO0VBQW1DO0FaZ3BTbkM7O0FZL29TQTtFQUF5QztBWm1wU3pDOztBWWxwU0E7RUFBb0M7QVpzcFNwQzs7QVlycFNBO0VBQWtDO0FaeXBTbEM7O0FZeHBTQTtFQUF3QztBWjRwU3hDOztBWTNwU0E7RUFBbUM7QVorcFNuQzs7QVk5cFNBO0VBQWtDO0Faa3FTbEM7O0FZanFTQTtFQUFvQztBWnFxU3BDOztBWXBxU0E7RUFBeUM7QVp3cVN6Qzs7QVl2cVNBO0VBQW9DO0FaMnFTcEM7O0FZMXFTQTtFQUFzQztBWjhxU3RDOztBWTdxU0E7RUFBbUM7QVppclNuQzs7QVloclNBO0VBQXlDO0Fab3JTekM7O0FZbnJTQTtFQUEwQztBWnVyUzFDOztBWXRyU0E7RUFBbUM7QVowclNuQzs7QVl6clNBO0VBQWlDO0FaNnJTakM7O0FZNXJTQTtFQUFxQztBWmdzU3JDOztBWS9yU0E7RUFBdUM7QVptc1N2Qzs7QVlsc1NBO0VBQTBDO0Fac3NTMUM7O0FZcnNTQTtFQUFtQztBWnlzU25DOztBWXhzU0E7RUFBa0M7QVo0c1NsQzs7QVkzc1NBO0VBQXNDO0FaK3NTdEM7O0FZOXNTQTtFQUFtQztBWmt0U25DOztBWWp0U0E7RUFBdUM7QVpxdFN2Qzs7QVlwdFNBO0VBQXlDO0Fad3RTekM7O0FZdnRTQTtFQUFzQztBWjJ0U3RDOztBWTF0U0E7RUFBcUM7QVo4dFNyQzs7QVk3dFNBO0VBQW9DO0FaaXVTcEM7O0FZaHVTQTtFQUFnQztBWm91U2hDOztBWW51U0E7RUFBbUM7QVp1dVNuQzs7QVl0dVNBO0VBQWlDO0FaMHVTakM7O0FZenVTQTtFQUFpQztBWjZ1U2pDOztBWTV1U0E7RUFBa0M7QVpndlNsQzs7QVkvdVNBO0VBQW1DO0FabXZTbkM7O0FZbHZTQTtFQUF1QztBWnN2U3ZDOztBWXJ2U0E7RUFBb0M7QVp5dlNwQzs7QVl4dlNBO0VBQWtDO0FaNHZTbEM7O0FZM3ZTQTtFQUFnQztBWit2U2hDOztBWTl2U0E7RUFBdUM7QVprd1N2Qzs7QVlqd1NBO0VBQXVDO0FacXdTdkM7O0FZcHdTQTtFQUFrQztBWnd3U2xDOztBWXZ3U0E7RUFBMkM7QVoyd1MzQzs7QVkxd1NBO0VBQTZDO0FaOHdTN0M7O0FZN3dTQTtFQUEyQztBWml4UzNDOztBWWh4U0E7RUFBb0M7QVpveFNwQzs7QVlueFNBO0VBQXVDO0FadXhTdkM7O0FZdHhTQTtFQUFpQztBWjB4U2pDOztBWXp4U0E7RUFBb0M7QVo2eFNwQzs7QVk1eFNBO0VBQXFDO0FaZ3lTckM7O0FZL3hTQTtFQUFtQztBWm15U25DOztBWWx5U0E7RUFBdUM7QVpzeVN2Qzs7QVlyeVNBO0VBQWlDO0FaeXlTakM7O0FZeHlTQTtFQUFzQztBWjR5U3RDOztBWTN5U0E7RUFBMkM7QVoreVMzQzs7QVk5eVNBO0VBQWlDO0Faa3pTakM7O0FZanpTQTtFQUFtQztBWnF6U25DOztBWXB6U0E7RUFBbUM7QVp3elNuQzs7QVl2elNBO0VBQXdDO0FaMnpTeEM7O0FZMXpTQTtFQUFtQztBWjh6U25DOztBWTd6U0E7RUFBbUM7QVppMFNuQzs7QVloMFNBO0VBQW9DO0FabzBTcEM7O0FZbjBTQTtFQUFtQztBWnUwU25DOztBWXQwU0E7RUFBMEM7QVowMFMxQzs7QVl6MFNBO0VBQTRDO0FaNjBTNUM7O0FZNTBTQTtFQUF5QztBWmcxU3pDOztBWS8wU0E7RUFBd0M7QVptMVN4Qzs7QVlsMVNBO0VBQXdDO0FaczFTeEM7O0FZcjFTQTtFQUFxQztBWnkxU3JDOztBWXgxU0E7RUFBcUM7QVo0MVNyQzs7QVkzMVNBO0VBQW1DO0FaKzFTbkM7O0FZOTFTQTtFQUFtQztBWmsyU25DOztBWWoyU0E7RUFBeUM7QVpxMlN6Qzs7QVlwMlNBO0VBQW1DO0FadzJTbkM7O0FZdjJTQTtFQUFrQztBWjIyU2xDOztBWTEyU0E7RUFBc0M7QVo4MlN0Qzs7QVk3MlNBO0VBQTZDO0FaaTNTN0M7O0FZaDNTQTtFQUF5QztBWm8zU3pDOztBWW4zU0E7RUFBd0M7QVp1M1N4Qzs7QVl0M1NBO0VBQXVDO0FaMDNTdkM7O0FZejNTQTtFQUF5QztBWjYzU3pDOztBWTUzU0E7RUFBaUM7QVpnNFNqQzs7QVkvM1NBO0VBQTBDO0FabTRTMUM7O0FZbDRTQTtFQUF5QztBWnM0U3pDOztBWXI0U0E7RUFBd0M7QVp5NFN4Qzs7QVl4NFNBO0VBQW9DO0FaNDRTcEM7O0FZMzRTQTtFQUF5QztBWis0U3pDOztBWTk0U0E7RUFBNEM7QVprNVM1Qzs7QVlqNVNBO0VBQTBDO0FacTVTMUM7O0FZcDVTQTtFQUFxQztBWnc1U3JDOztBWXY1U0E7RUFBbUM7QVoyNVNuQzs7QVkxNVNBO0VBQXdDO0FaODVTeEM7O0FZNzVTQTtFQUFpQztBWmk2U2pDOztBWWg2U0E7RUFBd0M7QVpvNlN4Qzs7QVluNlNBO0VBQTBDO0FadTZTMUM7O0FZdDZTQTtFQUF5QztBWjA2U3pDOztBWXo2U0E7RUFBbUM7QVo2NlNuQzs7QVk1NlNBO0VBQXNDO0FaZzdTdEM7O0FZLzZTQTtFQUFxQztBWm03U3JDOztBWWw3U0E7RUFBd0M7QVpzN1N4Qzs7QVlyN1NBO0VBQWlDO0FaeTdTakM7O0FZeDdTQTtFQUFvQztBWjQ3U3BDOztBWTM3U0E7RUFBb0M7QVorN1NwQzs7QVk5N1NBO0VBQWlDO0FaazhTakM7O0FZajhTQTtFQUFvQztBWnE4U3BDOztBWXA4U0E7RUFBbUM7QVp3OFNuQzs7QVl2OFNBO0VBQW1DO0FaMjhTbkM7O0FZMThTQTtFQUEwQztBWjg4UzFDOztBWTc4U0E7RUFBa0M7QVppOVNsQzs7QVloOVNBO0VBQTZDO0FabzlTN0M7O0FZbjlTQTtFQUFxQztBWnU5U3JDOztBWXQ5U0E7RUFBa0M7QVowOVNsQzs7QVl6OVNBO0VBQWtDO0FaNjlTbEM7O0FZNTlTQTtFQUF1QztBWmcrU3ZDOztBWS85U0E7RUFBa0M7QVptK1NsQzs7QVlsK1NBO0VBQW1DO0FacytTbkM7O0FZcitTQTtFQUFzQztBWnkrU3RDOztBWXgrU0E7RUFBdUM7QVo0K1N2Qzs7QVkzK1NBO0VBQWtDO0FaKytTbEM7O0FZOStTQTtFQUF1QztBWmsvU3ZDOztBWWovU0E7RUFBdUM7QVpxL1N2Qzs7QVlwL1NBO0VBQWlDO0Fady9TakM7O0FZdi9TQTtFQUFvQztBWjIvU3BDOztBWTEvU0E7RUFBd0M7QVo4L1N4Qzs7QVk3L1NBO0VBQWdDO0FaaWdUaEM7O0FZaGdUQTtFQUFxQztBWm9nVHJDOztBWW5nVEE7RUFBMkM7QVp1Z1QzQzs7QVl0Z1RBO0VBQTRDO0FaMGdUNUM7O0FZemdUQTtFQUF5QztBWjZnVHpDOztBWTVnVEE7RUFBc0M7QVpnaFR0Qzs7QVkvZ1RBO0VBQW9DO0FabWhUcEM7O0FZbGhUQTtFQUFxQztBWnNoVHJDOztBWXJoVEE7RUFBaUM7QVp5aFRqQzs7QVl4aFRBO0VBQWtDO0FaNGhUbEM7O0FZM2hUQTtFQUF3QztBWitoVHhDOztBWTloVEE7RUFBaUM7QVpraVRqQzs7QVlqaVRBO0VBQTRDO0FacWlUNUM7O0FZcGlUQTtFQUFnRDtBWndpVGhEOztBWXZpVEE7RUFBMEM7QVoyaVQxQzs7QVkxaVRBO0VBQThDO0FaOGlUOUM7O0FZN2lUQTtFQUE2QztBWmlqVDdDOztBWWhqVEE7RUFBaUQ7QVpvalRqRDs7QVlualRBO0VBQTJDO0FadWpUM0M7O0FZdGpUQTtFQUErQztBWjBqVC9DOztBWXpqVEE7RUFBc0M7QVo2alR0Qzs7QVk1alRBO0VBQThDO0FaZ2tUOUM7O0FZL2pUQTtFQUFrRDtBWm1rVGxEOztBWWxrVEE7RUFBNEM7QVpza1Q1Qzs7QVlya1RBO0VBQWdEO0FaeWtUaEQ7O0FZeGtUQTtFQUFvQztBWjRrVHBDOztBWTNrVEE7RUFBdUM7QVora1R2Qzs7QVk5a1RBO0VBQXVDO0Faa2xUdkM7O0FZamxUQTtFQUFnQztBWnFsVGhDOztBWXBsVEE7RUFBMEM7QVp3bFQxQzs7QVl2bFRBO0VBQW9DO0FaMmxUcEM7O0FZMWxUQTtFQUF5QztBWjhsVHpDOztBWTdsVEE7RUFBd0M7QVppbVR4Qzs7QVlobVRBO0VBQW1DO0Fab21UbkM7O0FZbm1UQTtFQUFvQztBWnVtVHBDOztBWXRtVEE7RUFBb0M7QVowbVRwQzs7QVl6bVRBO0VBQW9DO0FaNm1UcEM7O0FZNW1UQTtFQUFzQztBWmduVHRDOztBWS9tVEE7RUFBbUM7QVptblRuQzs7QVlsblRBO0VBQXdDO0Fac25UeEM7O0FZcm5UQTtFQUE0QztBWnluVDVDOztBWXhuVEE7RUFBd0M7QVo0blR4Qzs7QVkzblRBO0VBQTJDO0FaK25UM0M7O0FZOW5UQTtFQUEyQztBWmtvVDNDOztBWWpvVEE7RUFBc0M7QVpxb1R0Qzs7QVlwb1RBO0VBQWtDO0Fad29UbEM7O0FZdm9UQTtFQUFpQztBWjJvVGpDOztBWTFvVEE7RUFBOEM7QVo4b1Q5Qzs7QVk3b1RBO0VBQXNDO0FaaXBUdEM7O0FZaHBUQTtFQUEwQztBWm9wVDFDOztBWW5wVEE7RUFBMEM7QVp1cFQxQzs7QVl0cFRBO0VBQXlDO0FaMHBUekM7O0FZenBUQTtFQUF1QztBWjZwVHZDOztBWTVwVEE7RUFBa0M7QVpncVRsQzs7QVkvcFRBO0VBQXlDO0FabXFUekM7O0FZbHFUQTtFQUF5QztBWnNxVHpDOztBWXJxVEE7RUFBMEM7QVp5cVQxQzs7QVl4cVRBO0VBQXlDO0FaNHFUekM7O0FZM3FUQTtFQUF3QztBWitxVHhDOztBWTlxVEE7RUFBeUM7QVprclR6Qzs7QVlqclRBO0VBQXdDO0FacXJUeEM7O0FZcHJUQTtFQUFpQztBWndyVGpDOztBWXZyVEE7RUFBd0M7QVoyclR4Qzs7QVkxclRBO0VBQXNDO0FaOHJUdEM7O0FZN3JUQTtFQUF5QztBWmlzVHpDOztBWWhzVEE7RUFBa0M7QVpvc1RsQzs7QVluc1RBO0VBQXNDO0FadXNUdEM7O0FZdHNUQTtFQUE0QztBWjBzVDVDOztBWXpzVEE7RUFBd0M7QVo2c1R4Qzs7QVk1c1RBO0VBQW1DO0FaZ3RUbkM7O0FZL3NUQTtFQUFtQztBWm10VG5DOztBWWx0VEE7RUFBd0M7QVpzdFR4Qzs7QVlydFRBO0VBQTBDO0FaeXRUMUM7O0FZeHRUQTtFQUFtQztBWjR0VG5DOztBWTN0VEE7RUFBcUM7QVordFRyQzs7QVk5dFRBO0VBQXdDO0Faa3VUeEM7O0FZanVUQTtFQUF5QztBWnF1VHpDOztBWXB1VEE7RUFBd0M7QVp3dVR4Qzs7QVl2dVRBO0VBQStDO0FaMnVUL0M7O0FZMXVUQTtFQUFzQztBWjh1VHRDOztBWTd1VEE7RUFBbUM7QVppdlRuQzs7QVlodlRBO0VBQXFDO0Fab3ZUckM7O0FZbnZUQTtFQUE2QztBWnV2VDdDOztBWXR2VEE7RUFBZ0M7QVowdlRoQzs7QVl6dlRBO0VBQXdDO0FaNnZUeEM7O0FZNXZUQTtFQUF3QztBWmd3VHhDOztBWS92VEE7RUFBbUM7QVptd1RuQzs7QVlsd1RBO0VBQXFDO0Fac3dUckM7O0FZcndUQTtFQUFpQztBWnl3VGpDOztBWXh3VEE7RUFBdUM7QVo0d1R2Qzs7QVkzd1RBO0VBQWtDO0FaK3dUbEM7O0FZOXdUQTtFQUFvQztBWmt4VHBDOztBWWp4VEE7RUFBMEM7QVpxeFQxQzs7QVlweFRBO0VBQW9DO0Fad3hUcEM7O0FZdnhUQTtFQUFzQztBWjJ4VHRDOztBWTF4VEE7RUFBaUM7QVo4eFRqQzs7QVk3eFRBO0VBQXFDO0FaaXlUckM7O0FZaHlUQTtFQUFvQztBWm95VHBDOztBWW55VEE7RUFBa0M7QVp1eVRsQzs7QVl0eVRBO0VBQXlDO0FaMHlUekM7O0FZenlUQTtFQUFtQztBWjZ5VG5DOztBWTV5VEE7RUFBdUM7QVpnelR2Qzs7QVkveVRBO0VBQW9DO0FabXpUcEM7O0FZbHpUQTtFQUEyQztBWnN6VDNDOztBWXJ6VEE7RUFBZ0M7QVp5elRoQzs7QVl4elRBO0VBQWlDO0FaNHpUakM7O0FZM3pUQTtFQUFpQztBWit6VGpDOztBWTl6VEE7RUFBa0M7QVprMFRsQzs7QVlqMFRBO0VBQWlDO0FacTBUakM7O0FZcDBUQTtFQUFzQztBWncwVHRDOztBWXYwVEE7RUFBa0M7QVoyMFRsQzs7QVkxMFRBO0VBQXVDO0FaODBUdkM7O0FZNzBUQTtFQUFxQztBWmkxVHJDOztBWWgxVEE7RUFBMkM7QVpvMVQzQzs7QVluMVRBO0VBQTZDO0FadTFUN0M7O0FZdDFUQTtFQUE0QztBWjAxVDVDOztBWXoxVEE7RUFBMEM7QVo2MVQxQzs7QVk1MVRBO0VBQWtDO0FaZzJUbEM7O0FZLzFUQTtFQUFxQztBWm0yVHJDOztBWWwyVEE7RUFBd0M7QVpzMlR4Qzs7QVlyMlRBO0VBQXVDO0FaeTJUdkM7O0FZeDJUQTtFQUErQjtBWjQyVC9COztBWTMyVEE7RUFBcUM7QVorMlRyQzs7QVk5MlRBO0VBQW9DO0FaazNUcEM7O0FZajNUQTtFQUF5QztBWnEzVHpDOztBWXAzVEE7RUFBMEM7QVp3M1QxQzs7QVl2M1RBO0VBQW9DO0FaMjNUcEM7O0FZMTNUQTtFQUFzQztBWjgzVHRDOztBWTczVEE7RUFBd0M7QVppNFR4Qzs7QVloNFRBO0VBQThDO0FabzRUOUM7O0FZbjRUQTtFQUE2QztBWnU0VDdDOztBWXQ0VEE7RUFBNkM7QVowNFQ3Qzs7QVl6NFRBO0VBQWdEO0FaNjRUaEQ7O0FZNTRUQTtFQUF1RDtBWmc1VHZEOztBWS80VEE7RUFBd0M7QVptNVR4Qzs7QVlsNVRBO0VBQXdDO0FaczVUeEM7O0FZcjVUQTtFQUFzQztBWnk1VHRDOztBWXg1VEE7RUFBc0M7QVo0NVR0Qzs7QVkzNVRBO0VBQXVDO0FaKzVUdkM7O0FZOTVUQTtFQUFtQztBWms2VG5DOztBWWo2VEE7RUFBa0M7QVpxNlRsQzs7QVlwNlRBO0VBQXlDO0FadzZUekM7O0FZdjZUQTtFQUFpQztBWjI2VGpDOztBWTE2VEE7RUFBdUM7QVo4NlR2Qzs7QVk3NlRBO0VBQWtDO0FaaTdUbEM7O0FZaDdUQTtFQUF1QztBWm83VHZDOztBWW43VEE7RUFBc0M7QVp1N1R0Qzs7QVl0N1RBO0VBQW1DO0FaMDdUbkM7O0FZejdUQTtFQUF5QztBWjY3VHpDOztBWTU3VEE7RUFBK0M7QVpnOFQvQzs7QVkvN1RBO0VBQW9DO0FabThUcEM7O0FZbDhUQTtFQUFrQztBWnM4VGxDOztBWXI4VEE7RUFBa0M7QVp5OFRsQzs7QVl4OFRBO0VBQWtDO0FaNDhUbEM7O0FZMzhUQTtFQUF1QztBWis4VHZDOztBWTk4VEE7RUFBb0M7QVprOVRwQzs7QVlqOVRBO0VBQTZDO0FacTlUN0M7O0FZcDlUQTtFQUFzQztBWnc5VHRDOztBWXY5VEE7RUFBMEM7QVoyOVQxQzs7QVkxOVRBO0VBQW9DO0FaODlUcEM7O0FZNzlUQTtFQUFrQztBWmkrVGxDOztBWWgrVEE7RUFBaUM7QVpvK1RqQzs7QVluK1RBO0VBQXdDO0FadStUeEM7O0FZdCtUQTtFQUE0QztBWjArVDVDOztBWXorVEE7RUFBa0M7QVo2K1RsQzs7QVk1K1RBO0VBQXNDO0FaZy9UdEM7O0FZLytUQTtFQUEwQztBWm0vVDFDOztBWWwvVEE7RUFBOEM7QVpzL1Q5Qzs7QVlyL1RBO0VBQWlDO0FaeS9UakM7O0FZeC9UQTtFQUFtQztBWjQvVG5DOztBWTMvVEE7RUFBd0M7QVorL1R4Qzs7QVk5L1RBO0VBQW1DO0Faa2dVbkM7O0FZamdVQTtFQUFrQztBWnFnVWxDOztBWXBnVUE7RUFBMEM7QVp3Z1UxQzs7QVl2Z1VBO0VBQTBDO0FaMmdVMUM7O0FZMWdVQTtFQUF5QztBWjhnVXpDOztBWTdnVUE7RUFBeUM7QVppaFV6Qzs7QVloaFVBO0VBQW1DO0Fab2hVbkM7O0FZbmhVQTtFQUFnQztBWnVoVWhDOztBWXRoVUE7RUFBbUM7QVowaFVuQzs7QVl6aFVBO0VBQTBDO0FaNmhVMUM7O0FZNWhVQTtFQUErQjtBWmdpVS9COztBWS9oVUE7RUFBbUM7QVptaVVuQzs7QVlsaVVBO0VBQW9DO0Fac2lVcEM7O0FZcmlVQTtFQUEyQztBWnlpVTNDOztBWXhpVUE7RUFBa0M7QVo0aVVsQzs7QVkzaVVBO0VBQWlDO0FaK2lVakM7O0FZOWlVQTtFQUFtQztBWmtqVW5DOztBWWpqVUE7RUFBa0M7QVpxalVsQzs7QVlwalVBO0VBQW9DO0Fad2pVcEM7O0FZdmpVQTtFQUFxQztBWjJqVXJDOztBWTFqVUE7RUFBMkM7QVo4alUzQzs7QVk3alVBO0VBQXNDO0FaaWtVdEM7O0FZaGtVQTtFQUFzQztBWm9rVXRDOztBWW5rVUE7RUFBaUM7QVp1a1VqQzs7QVl0a1VBO0VBQXFDO0FaMGtVckM7O0FZemtVQTtFQUF3QztBWjZrVXhDOztBWTVrVUE7RUFBa0M7QVpnbFVsQzs7QVkva1VBO0VBQTZDO0FabWxVN0M7O0FZbGxVQTtFQUF1QztBWnNsVXZDOztBWXJsVUE7RUFBbUM7QVp5bFVuQzs7QVl4bFVBO0VBQW1DO0FaNGxVbkM7O0FZM2xVQTtFQUF1QztBWitsVXZDOztBWTlsVUE7RUFBcUM7QVprbVVyQzs7QVlqbVVBO0VBQW9DO0FacW1VcEM7O0FZcG1VQTtFQUFtQztBWndtVW5DOztBWXZtVUE7RUFBZ0M7QVoybVVoQzs7QVkxbVVBO0VBQWdDO0FaOG1VaEM7O0FZN21VQTtFQUFpQztBWmluVWpDOztBWWhuVUE7RUFBcUM7QVpvblVyQzs7QVlublVBO0VBQTJDO0FadW5VM0M7O0FZdG5VQTtFQUEyQztBWjBuVTNDOztBWXpuVUE7RUFBdUM7QVo2blV2Qzs7QVk1blVBO0VBQXdDO0FaZ29VeEM7O0FZL25VQTtFQUF1QztBWm1vVXZDOztBWWxvVUE7RUFBcUM7QVpzb1VyQzs7QVlyb1VBO0VBQXNDO0FaeW9VdEM7O0FZeG9VQTtFQUF5QztBWjRvVXpDOztBWTNvVUE7RUFBMEM7QVorb1UxQzs7QVk5b1VBO0VBQXlDO0Faa3BVekM7O0FZanBVQTtFQUFzQztBWnFwVXRDOztBWXBwVUE7RUFBb0M7QVp3cFVwQzs7QVl2cFVBO0VBQXVDO0FaMnBVdkM7O0FZMXBVQTtFQUF1QztBWjhwVXZDOztBWTdwVUE7RUFBdUM7QVppcVV2Qzs7QVlocVVBO0VBQXNDO0Fab3FVdEM7O0FZbnFVQTtFQUF3QztBWnVxVXhDOztBWXRxVUE7RUFBd0M7QVowcVV4Qzs7QVl6cVVBO0VBQXVDO0FaNnFVdkM7O0FZNXFVQTtFQUFxQztBWmdyVXJDOztBWS9xVUE7RUFBcUM7QVptclVyQzs7QVlsclVBO0VBQXVDO0Fac3JVdkM7O0FZcnJVQTtFQUFrQztBWnlyVWxDOztBWXhyVUE7RUFBc0M7QVo0clV0Qzs7QVkzclVBO0VBQXdDO0FaK3JVeEM7O0FZOXJVQTtFQUFpQztBWmtzVWpDOztBWWpzVUE7RUFBcUM7QVpxc1VyQzs7QVlwc1VBO0VBQTBDO0Fad3NVMUM7O0FZdnNVQTtFQUFxQztBWjJzVXJDOztBWTFzVUE7RUFBbUM7QVo4c1VuQzs7QVk3c1VBO0VBQTBDO0FaaXRVMUM7O0FZaHRVQTtFQUFrQztBWm90VWxDOztBWW50VUE7RUFBeUM7QVp1dFV6Qzs7QVl0dFVBO0VBQXVDO0FaMHRVdkM7O0FZenRVQTtFQUFpQztBWjZ0VWpDOztBWTV0VUE7RUFBeUM7QVpndVV6Qzs7QVkvdFVBO0VBQW9DO0FabXVVcEM7O0FZbHVVQTtFQUFtQztBWnN1VW5DOztBWXJ1VUE7RUFBMEM7QVp5dVUxQzs7QVl4dVVBO0VBQWlDO0FaNHVVakM7O0FZM3VVQTtFQUFrQztBWit1VWxDOztBWTl1VUE7RUFBa0M7QVprdlVsQzs7QVlqdlVBO0VBQWtDO0FacXZVbEM7O0FZcHZVQTtFQUF3QztBWnd2VXhDOztBWXZ2VUE7RUFBbUM7QVoydlVuQzs7QVkxdlVBO0VBQWtDO0FaOHZVbEM7O0FZN3ZVQTtFQUF5QztBWml3VXpDOztBWWh3VUE7RUFBb0M7QVpvd1VwQzs7QVlud1VBO0VBQWlDO0FadXdVakM7O0FZdHdVQTtFQUFrQztBWjB3VWxDOztBWXp3VUE7RUFBd0M7QVo2d1V4Qzs7QVk1d1VBO0VBQW9DO0FaZ3hVcEM7O0FZL3dVQTtFQUErQjtBWm14VS9COztBWWx4VUE7RUFBZ0M7QVpzeFVoQzs7QVlyeFVBO0VBQXNDO0FaeXhVdEM7O0FZeHhVQTtFQUE0QztBWjR4VTVDOztBWTN4VUE7RUFBd0M7QVoreFV4Qzs7QVk5eFVBO0VBQXdDO0Faa3lVeEM7O0FZanlVQTtFQUF1QztBWnF5VXZDOztBWXB5VUE7RUFBc0M7QVp3eVV0Qzs7QVl2eVVBO0VBQXFDO0FaMnlVckM7O0FZMXlVQTtFQUF5QztBWjh5VXpDOztBWTd5VUE7RUFBa0M7QVppelVsQzs7QVloelVBO0VBQW9DO0Fab3pVcEM7O0FZbnpVQTtFQUFtQztBWnV6VW5DOztBWXR6VUE7RUFBc0M7QVowelV0Qzs7QVl6elVBO0VBQWdEO0FaNnpVaEQ7O0FZNXpVQTtFQUFrQztBWmcwVWxDOztBWS96VUE7RUFBd0M7QVptMFV4Qzs7QVlsMFVBO0VBQWlDO0FaczBVakM7O0FZcjBVQTtFQUFtQztBWnkwVW5DOztBWXgwVUE7RUFBa0M7QVo0MFVsQzs7QVkzMFVBO0VBQW1DO0FaKzBVbkM7O0FZOTBVQTtFQUEyQztBWmsxVTNDOztBWWoxVUE7RUFBbUM7QVpxMVVuQzs7QVlwMVVBO0VBQXFDO0FadzFVckM7O0FZdjFVQTtFQUE0QztBWjIxVTVDOztBWTExVUE7RUFBdUM7QVo4MVV2Qzs7QVk3MVVBO0VBQWtDO0FaaTJVbEM7O0FZaDJVQTtFQUFpQztBWm8yVWpDOztBWW4yVUE7RUFBd0M7QVp1MlV4Qzs7QVl0MlVBO0VBQWlDO0FaMDJVakM7O0FZejJVQTtFQUF5QztBWjYyVXpDOztBWTUyVUE7RUFBNEM7QVpnM1U1Qzs7QVkvMlVBO0VBQTRDO0FabTNVNUM7O0FZbDNVQTtFQUEyQztBWnMzVTNDOztBWXIzVUE7RUFBb0M7QVp5M1VwQzs7QVl4M1VBO0VBQXdDO0FaNDNVeEM7O0FZMzNVQTtFQUF1QztBWiszVXZDOztBWTkzVUE7RUFBMkM7QVprNFUzQzs7QVlqNFVBO0VBQWdDO0FacTRVaEM7O0FZcDRVQTtFQUFpRDtBWnc0VWpEOztBWXY0VUE7RUFBaUM7QVoyNFVqQzs7QVkxNFVBO0VBQWdEO0FaODRVaEQ7O0FZNzRVQTtFQUFxQztBWmk1VXJDOztBWWg1VUE7RUFBc0M7QVpvNVV0Qzs7QVluNVVBO0VBQTZDO0FadTVVN0M7O0FZdDVVQTtFQUF1QztBWjA1VXZDOztBWXo1VUE7RUFBdUM7QVo2NVV2Qzs7QVk1NVVBO0VBQW9DO0FaZzZVcEM7O0FZLzVVQTtFQUFvQztBWm02VXBDOztBWWw2VUE7RUFBbUM7QVpzNlVuQzs7QVlyNlVBO0VBQWtDO0FaeTZVbEM7O0FZeDZVQTtFQUFpQztBWjQ2VWpDOztBWTM2VUE7RUFBaUM7QVorNlVqQzs7QVk5NlVBO0VBQXdDO0FaazdVeEM7O0FZajdVQTtFQUF5QztBWnE3VXpDOztBWXA3VUE7RUFBa0M7QVp3N1VsQzs7QVl2N1VBO0VBQW1DO0FaMjdVbkM7O0FZMTdVQTtFQUFtQztBWjg3VW5DOztBWTc3VUE7RUFBaUQ7QVppOFVqRDs7QVloOFVBO0VBQWlDO0FabzhVakM7O0FZbjhVQTtFQUFpQztBWnU4VWpDOztBWXQ4VUE7RUFBcUM7QVowOFVyQzs7QVl6OFVBO0VBQXFDO0FaNjhVckM7O0FZNThVQTtFQUFrQztBWmc5VWxDOztBWS84VUE7RUFBb0M7QVptOVVwQzs7QVlsOVVBO0VBQTJDO0FaczlVM0M7O0FZcjlVQTtFQUFrQztBWnk5VWxDOztBYTM0WEE7RUgwQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnEzWEY7O0FVMzJYRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjYyWEo7O0FjbDZYQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CVExxQjtFU01yQjtFQUNBO0FkbTZYRjtBYzU1WEE7RUFDRTtFQUNBO0FkODVYRjs7QWVuN1hBOzs7RUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJWTHFCO0VVTXJCO0VBQ0E7QWZvN1hGO0FlNzZYQTs7RUFFRTtFQUNBO0FmKzZYRjs7QWdCcjhYQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CWExxQjtFV01yQjtFQUNBO0FoQnM4WEY7QWdCLzdYQTtFQUNFO0VBQ0E7QWhCaThYRjs7QWtCdDlYQTs7Ozs7RUFBQTtBQ0FBO0VBR0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUtGO0VBQ0E7QW5CMCtYRjs7QW9CeitYQTs7O0VBR0U7QXBCNCtYRjs7QW9CeitYQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQjQrWEY7O0FvQnQrWEE7RUFDRTtBcEJ5K1hGOztBb0IvOVhBO0VBQ0U7RUFDQSxpQ0MzQ3VCO0VDZ0xuQjtFRm5JSixnQkcrTzRCO0VIOU81QixnQkM1Q2lCO0VENkNqQixjR25DUztFSG9DVDtFQUNBLHlCQ3BEUTtBckJzaFlWOztBb0J0OVhBO0VBQ0U7QXBCeTlYRjs7QW9CaDlYQTtFQUNFO0VBQ0E7RUFDQTtBcEJtOVhGOztBb0J0OFhBO0VBQ0U7RUFDQSxxQkdpTjRCO0F2Qnd2WDlCOztBb0JsOFhBO0VBQ0U7RUFDQSxtQkdvRjBCO0F2QmkzWDVCOztBb0IxN1hBOztFQUVFO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0FwQjY3WEY7O0FvQjE3WEE7RUFDRTtFQUNBO0VBQ0E7QXBCNjdYRjs7QW9CMTdYQTs7O0VBR0U7RUFDQTtBcEI2N1hGOztBb0IxN1hBOzs7O0VBSUU7QXBCNjdYRjs7QW9CMTdYQTtFQUNFLGdCR2tKNEI7QXZCMnlYOUI7O0FvQjE3WEE7RUFDRTtFQUNBO0FwQjY3WEY7O0FvQjE3WEE7RUFDRTtBcEI2N1hGOztBb0IxN1hBOztFQUVFLG1CR3FJNEI7QXZCd3pYOUI7O0FvQjE3WEE7RUVJSTtBdEIwN1hKOztBb0JyN1hBOztFQUVFO0VFUEU7RUZTRjtFQUNBO0FwQnc3WEY7O0FvQnI3WEE7RUFBTTtBcEJ5N1hOOztBb0J4N1hBO0VBQU07QXBCNDdYTjs7QW9CcjdYQTtFQUNFLGNHWHdDO0VIWXhDLHFCR1h3QztFSFl4QztBcEJ3N1hGO0F3QnhtWUU7RUptTEUsY0dkc0M7RUhldEMsMEJHZHNDO0F2QnM4WDFDOztBb0IvNlhBO0VBQ0U7RUFDQTtBcEJrN1hGO0F3QmpuWUU7RUprTUU7RUFDQTtBcEJrN1hKOztBb0J6NlhBOzs7O0VBSUUsaUdHMEQ0QjtFRGxIMUI7QXRCcStYSjs7QW9CejZYQTtFQUVFO0VBRUE7RUFFQTtFQUdBO0FwQnU2WEY7O0FvQi81WEE7RUFFRTtBcEJpNlhGOztBb0J6NVhBO0VBQ0U7RUFDQTtBcEI0NVhGOztBb0J6NVhBO0VBR0U7RUFDQTtBcEIwNVhGOztBb0JsNVhBO0VBQ0U7QXBCcTVYRjs7QW9CbDVYQTtFQUNFLG9CRzhFNEI7RUg3RTVCLHVCRzZFNEI7RUg1RTVCLGNHdFFTO0VIdVFUO0VBQ0E7QXBCcTVYRjs7QW9COTRYQTtFQUVFO0VBQ0E7QXBCZzVYRjs7QW9CeDRYQTtFQUVFO0VBQ0EscUJHNEpzQztBdkI4dVh4Qzs7QW9CcDRYQTtFQUVFO0FwQnM0WEY7O0FvQjkzWEE7RUFDRTtBcEJpNFhGOztBb0I5M1hBOzs7OztFQUtFO0VBQ0E7RUVoS0U7RUZrS0Y7QXBCaTRYRjs7QW9COTNYQTs7RUFFRTtBcEJpNFhGOztBb0I5M1hBOztFQUVFO0FwQmk0WEY7O0FvQjMzWEE7RUFDRTtBcEI4M1hGOztBb0J4M1hBO0VBQ0U7QXBCMjNYRjs7QW9CcDNYQTs7OztFQUlFO0FwQnUzWEY7O0FvQjkyWEk7Ozs7RUFDRTtBcEJvM1hOOztBb0I5MlhBOzs7O0VBSUU7RUFDQTtBcEJpM1hGOztBb0I5MlhBOztFQUVFO0VBQ0E7QXBCaTNYRjs7QW9CNzJYQTtFQUNFO0VBRUE7QXBCKzJYRjs7QW9CNTJYQTtFQU1FO0VBRUE7RUFDQTtFQUNBO0FwQnkyWEY7O0FvQnAyWEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFOU9JO0VGZ1BKO0VBQ0E7RUFDQTtBcEJ1MlhGOztBb0JwMlhBO0VBQ0U7QXBCdTJYRjs7QW9CbjJYQTs7RUFFRTtBcEJzMlhGOztBb0JuMlhBO0VBS0U7RUFDQTtBcEJrMlhGOztBb0IzMVhBO0VBQ0U7QXBCODFYRjs7QW9CdDFYQTtFQUNFO0VBQ0E7QXBCeTFYRjs7QW9CbDFYQTtFQUNFO0FwQnExWEY7O0FvQmwxWEE7RUFDRTtFQUNBO0FwQnExWEY7O0FvQmwxWEE7RUFDRTtBcEJxMVhGOztBb0JoMVhBO0VBQ0U7QXBCbTFYRjs7QXlCL3lZQTs7RUFFRSxxQkZzUzRCO0VFcFM1QixnQkZzUzRCO0VFclM1QixnQkZzUzRCO0F2QjJnWTlCOztBeUI3eVlBO0VIcUtNO0F0QjRvWU47O0F5Qmh6WUE7RUhvS007QXRCZ3BZTjs7QXlCbnpZQTtFSG1LTTtBdEJvcFlOOztBeUJ0ellBO0VIa0tNO0F0QndwWU47O0F5Qnp6WUE7RUhpS007QXRCNHBZTjs7QXlCNXpZQTtFSGdLTTtBdEJncVlOOztBeUI5ellBO0VIOEpNO0VHNUpKLGdCRndTNEI7QXZCeWhZOUI7O0F5Qjd6WUE7RUh3Sk07RUd0SkosZ0JGMlI0QjtFRTFSNUIsZ0JGa1I0QjtBdkI4aVk5Qjs7QXlCOXpZQTtFSG1KTTtFR2pKSixnQkZ1UjRCO0VFdFI1QixnQkY2UTRCO0F2Qm9qWTlCOztBeUIvellBO0VIOElNO0VHNUlKLGdCRm1SNEI7RUVsUjVCLGdCRndRNEI7QXZCMGpZOUI7O0F5QmgwWUE7RUh5SU07RUd2SUosZ0JGK1E0QjtFRTlRNUIsZ0JGbVE0QjtBdkJna1k5Qjs7QXlCM3pZQTtFQUNFLGdCRmdGTztFRS9FUCxtQkYrRU87RUU5RVA7RUFDQTtBekI4ellGOztBeUJ0ellBOztFSGtHSTtFRy9GRixnQkYyTjRCO0F2QjhsWTlCOztBeUJ0ellBOztFQUVFLGNGbVE0QjtFRWxRNUIseUJGMlE0QjtBdkI4aVk5Qjs7QXlCanpZQTtFQy9FRTtFQUNBO0ExQm80WUY7O0F5Qmp6WUE7RUNwRkU7RUFDQTtBMUJ5NFlGOztBeUJuellBO0VBQ0U7QXpCc3pZRjtBeUJwellFO0VBQ0Usb0JGcVAwQjtBdkJpa1k5Qjs7QXlCNXlZQTtFSDJESTtFR3pERjtBekIreVlGOztBeUIzeVlBO0VBQ0UsbUJGdUJPO0VENkNIO0F0QjJ1WU47O0F5QjN5WUE7RUFDRTtFSCtDRTtFRzdDRixjRjFHUztBdkJ3NVlYO0F5QjV5WUU7RUFDRTtBekI4eVlKOztBMkJqNllBO0VDSUU7RUFHQTtBNUIrNVlGOztBMkJoNllBO0VBQ0UsZ0JKcWdDa0M7RUlwZ0NsQyx5Qk5kUTtFTWVSO0VFRUU7RURQRjtFQUdBO0E1Qnc2WUY7O0EyQjE1WUE7RUFFRTtBM0I0NVlGOztBMkJ6NVlBO0VBQ0U7RUFDQTtBM0I0NVlGOztBMkJ6NVlBO0VMOEhJO0VLNUhGLGNKM0JTO0F2QnU3WVg7O0E4Qm44WUE7RVJtS0k7RVFqS0YsY1RTSztFU1JMO0E5QnM4WUY7QThCbjhZRTtFQUNFO0E5QnE4WUo7O0E4Qmg4WUE7RUFDRTtFUnNKRTtFUXBKRixXUFRTO0VPVVQseUJQRFM7RU1FUDtBN0JtOFlKO0E4Qmg4WUU7RUFDRTtFUjhJQTtFUTVJQSxnQlB5UTBCO0F2QnlyWTlCOztBOEI1N1lBO0VBQ0U7RVJxSUU7RVFuSUYsY1BqQlM7QXZCZzlZWDtBOEI1N1lFO0VSZ0lFO0VROUhBO0VBQ0E7QTlCODdZSjs7QThCejdZQTtFQUNFLGlCUGlrQ2tDO0VPaGtDbEM7QTlCNDdZRjs7QStCcCtZRTs7Ozs7O0VDREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEM4K1lGOztBaUMzN1lJO0VGekNFO0lBQ0UsZ0JSOExlO0V2QjB5WXJCO0FBQ0Y7QWlDajhZSTtFRnpDRTtJQUNFLGdCUjhMZTtFdkIreVlyQjtBQUNGO0FpQ3Q4WUk7RUZ6Q0U7SUFDRSxnQlI4TGU7RXZCb3pZckI7QUFDRjtBaUMzOFlJO0VGekNFO0lBQ0UsaUJSOExlO0V2Qnl6WXJCO0FBQ0Y7QStCNTlZRTtFQ25DQTtFQUNBO0VBQ0E7RUFDQTtBaENrZ1pGOztBK0I1OVlFO0VBQ0U7RUFDQTtBL0IrOVlKO0ErQjc5WUk7O0VBRUU7RUFDQTtBL0IrOVlOOztBa0NyaFpFOzs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEM2aFpKOztBa0N2Z1pNO0VBQ0U7RUFDQTtFQUNBO0FsQzBnWlI7O0FnQzkrWUU7RUFDRTtFQUNBO0FoQ2kvWUo7O0FnQ24vWUU7RUFDRTtFQUNBO0FoQ3MvWUo7O0FnQ3gvWUU7RUFDRTtFQUNBO0FoQzIvWUo7O0FnQzcvWUU7RUFDRTtFQUNBO0FoQ2dnWko7O0FnQ2xnWkU7RUFDRTtFQUNBO0FoQ3FnWko7O0FnQ3ZnWkU7RUFDRTtFQUNBO0FoQzBnWko7O0FrQzdoWk07RUZDSjtFQUNBO0VBQ0E7QWhDZ2laRjs7QWtDN2haVTtFRmJSO0VBSUE7QWhDMmlaRjs7QWtDbGlaVTtFRmJSO0VBSUE7QWhDZ2paRjs7QWtDdmlaVTtFRmJSO0VBSUE7QWhDcWpaRjs7QWtDNWlaVTtFRmJSO0VBSUE7QWhDMGpaRjs7QWtDampaVTtFRmJSO0VBSUE7QWhDK2paRjs7QWtDdGpaVTtFRmJSO0VBSUE7QWhDb2taRjs7QWtDM2paVTtFRmJSO0VBSUE7QWhDeWtaRjs7QWtDaGtaVTtFRmJSO0VBSUE7QWhDOGtaRjs7QWtDcmtaVTtFRmJSO0VBSUE7QWhDbWxaRjs7QWtDMWtaVTtFRmJSO0VBSUE7QWhDd2xaRjs7QWtDL2taVTtFRmJSO0VBSUE7QWhDNmxaRjs7QWtDcGxaVTtFRmJSO0VBSUE7QWhDa21aRjs7QWtDbmxaTTtFQUF3QjtBbEN1bFo5Qjs7QWtDcmxaTTtFQUF1QjtBbEN5bFo3Qjs7QWtDdGxaUTtFQUF3QixRQURiO0FsQzJsWm5COztBa0MxbFpRO0VBQXdCLFFBRGI7QWxDK2xabkI7O0FrQzlsWlE7RUFBd0IsUUFEYjtBbENtbVpuQjs7QWtDbG1aUTtFQUF3QixRQURiO0FsQ3VtWm5COztBa0N0bVpRO0VBQXdCLFFBRGI7QWxDMm1abkI7O0FrQzFtWlE7RUFBd0IsUUFEYjtBbEMrbVpuQjs7QWtDOW1aUTtFQUF3QixRQURiO0FsQ21uWm5COztBa0NsblpRO0VBQXdCLFFBRGI7QWxDdW5abkI7O0FrQ3RuWlE7RUFBd0IsUUFEYjtBbEMyblpuQjs7QWtDMW5aUTtFQUF3QixRQURiO0FsQytuWm5COztBa0M5blpRO0VBQXdCLFNBRGI7QWxDbW9abkI7O0FrQ2xvWlE7RUFBd0IsU0FEYjtBbEN1b1puQjs7QWtDdG9aUTtFQUF3QixTQURiO0FsQzJvWm5COztBa0Nub1pZO0VGaEJWO0FoQ3VwWkY7O0FrQ3ZvWlk7RUZoQlY7QWhDMnBaRjs7QWtDM29aWTtFRmhCVjtBaEMrcFpGOztBa0Mvb1pZO0VGaEJWO0FoQ21xWkY7O0FrQ25wWlk7RUZoQlY7QWhDdXFaRjs7QWtDdnBaWTtFRmhCVjtBaEMycVpGOztBa0MzcFpZO0VGaEJWO0FoQytxWkY7O0FrQy9wWlk7RUZoQlY7QWhDbXJaRjs7QWtDbnFaWTtFRmhCVjtBaEN1clpGOztBa0N2cVpZO0VGaEJWO0FoQzJyWkY7O0FrQzNxWlk7RUZoQlY7QWhDK3JaRjs7QWlDMXJaSTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTtFbEN5dFpOOztFZ0M3clpBO0lBQ0U7SUFDQTtFaENnc1pGOztFZ0Nsc1pBO0lBQ0U7SUFDQTtFaENxc1pGOztFZ0N2c1pBO0lBQ0U7SUFDQTtFaEMwc1pGOztFZ0M1c1pBO0lBQ0U7SUFDQTtFaEMrc1pGOztFZ0NqdFpBO0lBQ0U7SUFDQTtFaENvdFpGOztFZ0N0dFpBO0lBQ0U7SUFDQTtFaEN5dFpGOztFa0M1dVpJO0lGQ0o7SUFDQTtJQUNBO0VoQyt1WkE7O0VrQzV1WlE7SUZiUjtJQUlBO0VoQzB2WkE7O0VrQ2p2WlE7SUZiUjtJQUlBO0VoQyt2WkE7O0VrQ3R2WlE7SUZiUjtJQUlBO0VoQ293WkE7O0VrQzN2WlE7SUZiUjtJQUlBO0VoQ3l3WkE7O0VrQ2h3WlE7SUZiUjtJQUlBO0VoQzh3WkE7O0VrQ3J3WlE7SUZiUjtJQUlBO0VoQ214WkE7O0VrQzF3WlE7SUZiUjtJQUlBO0VoQ3d4WkE7O0VrQy93WlE7SUZiUjtJQUlBO0VoQzZ4WkE7O0VrQ3B4WlE7SUZiUjtJQUlBO0VoQ2t5WkE7O0VrQ3p4WlE7SUZiUjtJQUlBO0VoQ3V5WkE7O0VrQzl4WlE7SUZiUjtJQUlBO0VoQzR5WkE7O0VrQ255WlE7SUZiUjtJQUlBO0VoQ2l6WkE7O0VrQ2x5Wkk7SUFBd0I7RWxDc3laNUI7O0VrQ3B5Wkk7SUFBdUI7RWxDd3laM0I7O0VrQ3J5Wk07SUFBd0IsUUFEYjtFbEMweVpqQjs7RWtDenlaTTtJQUF3QixRQURiO0VsQzh5WmpCOztFa0M3eVpNO0lBQXdCLFFBRGI7RWxDa3paakI7O0VrQ2p6Wk07SUFBd0IsUUFEYjtFbENzelpqQjs7RWtDcnpaTTtJQUF3QixRQURiO0VsQzB6WmpCOztFa0N6elpNO0lBQXdCLFFBRGI7RWxDOHpaakI7O0VrQzd6Wk07SUFBd0IsUUFEYjtFbENrMFpqQjs7RWtDajBaTTtJQUF3QixRQURiO0VsQ3MwWmpCOztFa0NyMFpNO0lBQXdCLFFBRGI7RWxDMDBaakI7O0VrQ3owWk07SUFBd0IsUUFEYjtFbEM4MFpqQjs7RWtDNzBaTTtJQUF3QixTQURiO0VsQ2sxWmpCOztFa0NqMVpNO0lBQXdCLFNBRGI7RWxDczFaakI7O0VrQ3IxWk07SUFBd0IsU0FEYjtFbEMwMVpqQjs7RWtDbDFaVTtJRmhCVjtFaENzMlpBOztFa0N0MVpVO0lGaEJWO0VoQzAyWkE7O0VrQzExWlU7SUZoQlY7RWhDODJaQTs7RWtDOTFaVTtJRmhCVjtFaENrM1pBOztFa0NsMlpVO0lGaEJWO0VoQ3MzWkE7O0VrQ3QyWlU7SUZoQlY7RWhDMDNaQTs7RWtDMTJaVTtJRmhCVjtFaEM4M1pBOztFa0M5MlpVO0lGaEJWO0VoQ2s0WkE7O0VrQ2wzWlU7SUZoQlY7RWhDczRaQTs7RWtDdDNaVTtJRmhCVjtFaEMwNFpBOztFa0MxM1pVO0lGaEJWO0VoQzg0WkE7O0VrQzkzWlU7SUZoQlY7RWhDazVaQTtBQUNGO0FpQzk0Wkk7RUMzQkU7SUFDRTtJQUNBO0lBQ0E7RWxDNDZaTjs7RWdDaDVaQTtJQUNFO0lBQ0E7RWhDbTVaRjs7RWdDcjVaQTtJQUNFO0lBQ0E7RWhDdzVaRjs7RWdDMTVaQTtJQUNFO0lBQ0E7RWhDNjVaRjs7RWdDLzVaQTtJQUNFO0lBQ0E7RWhDazZaRjs7RWdDcDZaQTtJQUNFO0lBQ0E7RWhDdTZaRjs7RWdDejZaQTtJQUNFO0lBQ0E7RWhDNDZaRjs7RWtDLzdaSTtJRkNKO0lBQ0E7SUFDQTtFaENrOFpBOztFa0MvN1pRO0lGYlI7SUFJQTtFaEM2OFpBOztFa0NwOFpRO0lGYlI7SUFJQTtFaENrOVpBOztFa0N6OFpRO0lGYlI7SUFJQTtFaEN1OVpBOztFa0M5OFpRO0lGYlI7SUFJQTtFaEM0OVpBOztFa0NuOVpRO0lGYlI7SUFJQTtFaENpK1pBOztFa0N4OVpRO0lGYlI7SUFJQTtFaENzK1pBOztFa0M3OVpRO0lGYlI7SUFJQTtFaEMyK1pBOztFa0NsK1pRO0lGYlI7SUFJQTtFaENnL1pBOztFa0N2K1pRO0lGYlI7SUFJQTtFaENxL1pBOztFa0M1K1pRO0lGYlI7SUFJQTtFaEMwL1pBOztFa0NqL1pRO0lGYlI7SUFJQTtFaEMrL1pBOztFa0N0L1pRO0lGYlI7SUFJQTtFaENvZ2FBOztFa0NyL1pJO0lBQXdCO0VsQ3kvWjVCOztFa0N2L1pJO0lBQXVCO0VsQzIvWjNCOztFa0N4L1pNO0lBQXdCLFFBRGI7RWxDNi9aakI7O0VrQzUvWk07SUFBd0IsUUFEYjtFbENpZ2FqQjs7RWtDaGdhTTtJQUF3QixRQURiO0VsQ3FnYWpCOztFa0NwZ2FNO0lBQXdCLFFBRGI7RWxDeWdhakI7O0VrQ3hnYU07SUFBd0IsUUFEYjtFbEM2Z2FqQjs7RWtDNWdhTTtJQUF3QixRQURiO0VsQ2loYWpCOztFa0NoaGFNO0lBQXdCLFFBRGI7RWxDcWhhakI7O0VrQ3BoYU07SUFBd0IsUUFEYjtFbEN5aGFqQjs7RWtDeGhhTTtJQUF3QixRQURiO0VsQzZoYWpCOztFa0M1aGFNO0lBQXdCLFFBRGI7RWxDaWlhakI7O0VrQ2hpYU07SUFBd0IsU0FEYjtFbENxaWFqQjs7RWtDcGlhTTtJQUF3QixTQURiO0VsQ3lpYWpCOztFa0N4aWFNO0lBQXdCLFNBRGI7RWxDNmlhakI7O0VrQ3JpYVU7SUZoQlY7RWhDeWphQTs7RWtDemlhVTtJRmhCVjtFaEM2amFBOztFa0M3aWFVO0lGaEJWO0VoQ2lrYUE7O0VrQ2pqYVU7SUZoQlY7RWhDcWthQTs7RWtDcmphVTtJRmhCVjtFaEN5a2FBOztFa0N6amFVO0lGaEJWO0VoQzZrYUE7O0VrQzdqYVU7SUZoQlY7RWhDaWxhQTs7RWtDamthVTtJRmhCVjtFaENxbGFBOztFa0Nya2FVO0lGaEJWO0VoQ3lsYUE7O0VrQ3prYVU7SUZoQlY7RWhDNmxhQTs7RWtDN2thVTtJRmhCVjtFaENpbWFBOztFa0NqbGFVO0lGaEJWO0VoQ3FtYUE7QUFDRjtBaUNqbWFJO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0VsQytuYU47O0VnQ25tYUE7SUFDRTtJQUNBO0VoQ3NtYUY7O0VnQ3htYUE7SUFDRTtJQUNBO0VoQzJtYUY7O0VnQzdtYUE7SUFDRTtJQUNBO0VoQ2duYUY7O0VnQ2xuYUE7SUFDRTtJQUNBO0VoQ3FuYUY7O0VnQ3ZuYUE7SUFDRTtJQUNBO0VoQzBuYUY7O0VnQzVuYUE7SUFDRTtJQUNBO0VoQytuYUY7O0VrQ2xwYUk7SUZDSjtJQUNBO0lBQ0E7RWhDcXBhQTs7RWtDbHBhUTtJRmJSO0lBSUE7RWhDZ3FhQTs7RWtDdnBhUTtJRmJSO0lBSUE7RWhDcXFhQTs7RWtDNXBhUTtJRmJSO0lBSUE7RWhDMHFhQTs7RWtDanFhUTtJRmJSO0lBSUE7RWhDK3FhQTs7RWtDdHFhUTtJRmJSO0lBSUE7RWhDb3JhQTs7RWtDM3FhUTtJRmJSO0lBSUE7RWhDeXJhQTs7RWtDaHJhUTtJRmJSO0lBSUE7RWhDOHJhQTs7RWtDcnJhUTtJRmJSO0lBSUE7RWhDbXNhQTs7RWtDMXJhUTtJRmJSO0lBSUE7RWhDd3NhQTs7RWtDL3JhUTtJRmJSO0lBSUE7RWhDNnNhQTs7RWtDcHNhUTtJRmJSO0lBSUE7RWhDa3RhQTs7RWtDenNhUTtJRmJSO0lBSUE7RWhDdXRhQTs7RWtDeHNhSTtJQUF3QjtFbEM0c2E1Qjs7RWtDMXNhSTtJQUF1QjtFbEM4c2EzQjs7RWtDM3NhTTtJQUF3QixRQURiO0VsQ2d0YWpCOztFa0Mvc2FNO0lBQXdCLFFBRGI7RWxDb3RhakI7O0VrQ250YU07SUFBd0IsUUFEYjtFbEN3dGFqQjs7RWtDdnRhTTtJQUF3QixRQURiO0VsQzR0YWpCOztFa0MzdGFNO0lBQXdCLFFBRGI7RWxDZ3VhakI7O0VrQy90YU07SUFBd0IsUUFEYjtFbENvdWFqQjs7RWtDbnVhTTtJQUF3QixRQURiO0VsQ3d1YWpCOztFa0N2dWFNO0lBQXdCLFFBRGI7RWxDNHVhakI7O0VrQzN1YU07SUFBd0IsUUFEYjtFbENndmFqQjs7RWtDL3VhTTtJQUF3QixRQURiO0VsQ292YWpCOztFa0NudmFNO0lBQXdCLFNBRGI7RWxDd3ZhakI7O0VrQ3Z2YU07SUFBd0IsU0FEYjtFbEM0dmFqQjs7RWtDM3ZhTTtJQUF3QixTQURiO0VsQ2d3YWpCOztFa0N4dmFVO0lGaEJWO0VoQzR3YUE7O0VrQzV2YVU7SUZoQlY7RWhDZ3hhQTs7RWtDaHdhVTtJRmhCVjtFaENveGFBOztFa0Nwd2FVO0lGaEJWO0VoQ3d4YUE7O0VrQ3h3YVU7SUZoQlY7RWhDNHhhQTs7RWtDNXdhVTtJRmhCVjtFaENneWFBOztFa0NoeGFVO0lGaEJWO0VoQ295YUE7O0VrQ3B4YVU7SUZoQlY7RWhDd3lhQTs7RWtDeHhhVTtJRmhCVjtFaEM0eWFBOztFa0M1eGFVO0lGaEJWO0VoQ2d6YUE7O0VrQ2h5YVU7SUZoQlY7RWhDb3phQTs7RWtDcHlhVTtJRmhCVjtFaEN3emFBO0FBQ0Y7QWlDcHphSTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTtFbENrMWFOOztFZ0N0emFBO0lBQ0U7SUFDQTtFaEN5emFGOztFZ0MzemFBO0lBQ0U7SUFDQTtFaEM4emFGOztFZ0NoMGFBO0lBQ0U7SUFDQTtFaENtMGFGOztFZ0NyMGFBO0lBQ0U7SUFDQTtFaEN3MGFGOztFZ0MxMGFBO0lBQ0U7SUFDQTtFaEM2MGFGOztFZ0MvMGFBO0lBQ0U7SUFDQTtFaENrMWFGOztFa0NyMmFJO0lGQ0o7SUFDQTtJQUNBO0VoQ3cyYUE7O0VrQ3IyYVE7SUZiUjtJQUlBO0VoQ20zYUE7O0VrQzEyYVE7SUZiUjtJQUlBO0VoQ3czYUE7O0VrQy8yYVE7SUZiUjtJQUlBO0VoQzYzYUE7O0VrQ3AzYVE7SUZiUjtJQUlBO0VoQ2s0YUE7O0VrQ3ozYVE7SUZiUjtJQUlBO0VoQ3U0YUE7O0VrQzkzYVE7SUZiUjtJQUlBO0VoQzQ0YUE7O0VrQ240YVE7SUZiUjtJQUlBO0VoQ2k1YUE7O0VrQ3g0YVE7SUZiUjtJQUlBO0VoQ3M1YUE7O0VrQzc0YVE7SUZiUjtJQUlBO0VoQzI1YUE7O0VrQ2w1YVE7SUZiUjtJQUlBO0VoQ2c2YUE7O0VrQ3Y1YVE7SUZiUjtJQUlBO0VoQ3E2YUE7O0VrQzU1YVE7SUZiUjtJQUlBO0VoQzA2YUE7O0VrQzM1YUk7SUFBd0I7RWxDKzVhNUI7O0VrQzc1YUk7SUFBdUI7RWxDaTZhM0I7O0VrQzk1YU07SUFBd0IsUUFEYjtFbENtNmFqQjs7RWtDbDZhTTtJQUF3QixRQURiO0VsQ3U2YWpCOztFa0N0NmFNO0lBQXdCLFFBRGI7RWxDMjZhakI7O0VrQzE2YU07SUFBd0IsUUFEYjtFbEMrNmFqQjs7RWtDOTZhTTtJQUF3QixRQURiO0VsQ203YWpCOztFa0NsN2FNO0lBQXdCLFFBRGI7RWxDdTdhakI7O0VrQ3Q3YU07SUFBd0IsUUFEYjtFbEMyN2FqQjs7RWtDMTdhTTtJQUF3QixRQURiO0VsQys3YWpCOztFa0M5N2FNO0lBQXdCLFFBRGI7RWxDbThhakI7O0VrQ2w4YU07SUFBd0IsUUFEYjtFbEN1OGFqQjs7RWtDdDhhTTtJQUF3QixTQURiO0VsQzI4YWpCOztFa0MxOGFNO0lBQXdCLFNBRGI7RWxDKzhhakI7O0VrQzk4YU07SUFBd0IsU0FEYjtFbENtOWFqQjs7RWtDMzhhVTtJRmhCVjtFaEMrOWFBOztFa0MvOGFVO0lGaEJWO0VoQ20rYUE7O0VrQ245YVU7SUZoQlY7RWhDdSthQTs7RWtDdjlhVTtJRmhCVjtFaEMyK2FBOztFa0MzOWFVO0lGaEJWO0VoQysrYUE7O0VrQy85YVU7SUZoQlY7RWhDbS9hQTs7RWtDbithVTtJRmhCVjtFaEN1L2FBOztFa0N2K2FVO0lGaEJWO0VoQzIvYUE7O0VrQzMrYVU7SUZoQlY7RWhDKy9hQTs7RWtDLythVTtJRmhCVjtFaENtZ2JBOztFa0NuL2FVO0lGaEJWO0VoQ3VnYkE7O0VrQ3YvYVU7SUZoQlY7RWhDMmdiQTtBQUNGO0FtQy9qYkE7RUFDRTtFQUNBLG1CWmlJTztFWWhJUCxjWlNTO0F2QndqYlg7QW1DOWpiRTs7RUFFRSxnQlptVjBCO0VZbFYxQjtFQUNBO0FuQ2drYko7QW1DN2piRTtFQUNFO0VBQ0E7QW5DK2piSjtBbUM1amJFO0VBQ0U7QW5DOGpiSjs7QW1DcGpiRTs7RUFFRSxlWjZUMEI7QXZCMHZhOUI7O0FtQzlpYkE7RUFDRTtBbkNpamJGO0FtQy9pYkU7O0VBRUU7QW5DaWpiSjtBbUM3aWJJOztFQUVFO0FuQytpYk47O0FtQ3ppYkU7Ozs7RUFJRTtBbkM0aWJKOztBbUNuaWJFO0VBQ0UscUNaeVIwQjtBdkI2d2E5Qjs7QXdCcm1iRTtFVzJFSSxjWnZFSztFWXdFTCxzQ1o4UXdCO0F2Qmd4YTlCOztBb0NobmJJOzs7RUFHRSx5QkQyRitCO0FuQ3doYnJDO0FvQy9tYk07Ozs7RUFJRSxxQkRtRnlFO0FuQzhoYmpGOztBd0J0bmJFO0VZaUJNLHlCQUplO0FwQzZtYnZCO0FvQ3ZtYlE7O0VBRUUseUJBUmE7QXBDaW5idkI7O0FvQ3BvYkk7OztFQUdFLHlCRDJGK0I7QW5DNGlickM7QW9Dbm9iTTs7OztFQUlFLHFCRG1GeUU7QW5Da2piakY7O0F3QjFvYkU7RVlpQk0seUJBSmU7QXBDaW9idkI7QW9DM25iUTs7RUFFRSx5QkFSYTtBcENxb2J2Qjs7QW9DeHBiSTs7O0VBR0UseUJEMkYrQjtBbkNna2JyQztBb0N2cGJNOzs7O0VBSUUscUJEbUZ5RTtBbkNza2JqRjs7QXdCOXBiRTtFWWlCTSx5QkFKZTtBcENxcGJ2QjtBb0Mvb2JROztFQUVFLHlCQVJhO0FwQ3lwYnZCOztBb0M1cWJJOzs7RUFHRSx5QkQyRitCO0FuQ29sYnJDO0FvQzNxYk07Ozs7RUFJRSxxQkRtRnlFO0FuQzBsYmpGOztBd0JscmJFO0VZaUJNLHlCQUplO0FwQ3lxYnZCO0FvQ25xYlE7O0VBRUUseUJBUmE7QXBDNnFidkI7O0FvQ2hzYkk7OztFQUdFLHlCRDJGK0I7QW5Dd21ickM7QW9DL3JiTTs7OztFQUlFLHFCRG1GeUU7QW5DOG1iakY7O0F3QnRzYkU7RVlpQk0seUJBSmU7QXBDNnJidkI7QW9DdnJiUTs7RUFFRSx5QkFSYTtBcENpc2J2Qjs7QW9DcHRiSTs7O0VBR0UseUJEMkYrQjtBbkM0bmJyQztBb0NudGJNOzs7O0VBSUUscUJEbUZ5RTtBbkNrb2JqRjs7QXdCMXRiRTtFWWlCTSx5QkFKZTtBcENpdGJ2QjtBb0Mzc2JROztFQUVFLHlCQVJhO0FwQ3F0YnZCOztBb0N4dWJJOzs7RUFHRSx5QkQyRitCO0FuQ2dwYnJDO0FvQ3Z1Yk07Ozs7RUFJRSxxQkRtRnlFO0FuQ3NwYmpGOztBd0I5dWJFO0VZaUJNLHlCQUplO0FwQ3F1YnZCO0FvQy90YlE7O0VBRUUseUJBUmE7QXBDeXVidkI7O0FvQzV2Ykk7OztFQUdFLHlCRDJGK0I7QW5Db3FickM7QW9DM3ZiTTs7OztFQUlFLHFCRG1GeUU7QW5DMHFiakY7O0F3Qmx3YkU7RVlpQk0seUJBSmU7QXBDeXZidkI7QW9DbnZiUTs7RUFFRSx5QkFSYTtBcEM2dmJ2Qjs7QW9DaHhiSTs7O0VBR0Usc0NiNlZ3QjtBdkJzN2E5Qjs7QXdCaHhiRTtFWWlCTSxzQ0FKZTtBcEN1d2J2QjtBb0Nqd2JROztFQUVFLHNDQVJhO0FwQzJ3YnZCOztBbUNucmJJO0VBQ0UsV1ozR0s7RVk0R0wseUJacEdLO0VZcUdMLHFCWmlRd0I7QXZCcTdhOUI7QW1DanJiSTtFQUNFLGNaNUdLO0VZNkdMLHlCWmxISztFWW1ITCxxQlpsSEs7QXZCcXliWDs7QW1DOXFiQTtFQUNFLFdaM0hTO0VZNEhULHlCWnBIUztBdkJxeWJYO0FtQy9xYkU7OztFQUdFLHFCWjZPMEI7QXZCbzhhOUI7QW1DOXFiRTtFQUNFO0FuQ2dyYko7QW1DNXFiSTtFQUNFLDJDWmlPd0I7QXZCNjhhOUI7QXdCbnpiRTtFVzRJTSxXWmpKRztFWWtKSCw0Q1oyTnNCO0F2Qis4YTlCOztBaUMxdmJJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RW5DNHBiTjtFbUN6cGJNO0lBQ0U7RW5DMnBiUjtBQUNGO0FpQ3R3Ykk7RUVpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFbkN1cWJOO0VtQ3BxYk07SUFDRTtFbkNzcWJSO0FBQ0Y7QWlDanhiSTtFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VuQ2tyYk47RW1DL3FiTTtJQUNFO0VuQ2lyYlI7QUFDRjtBaUM1eGJJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RW5DNnJiTjtFbUMxcmJNO0lBQ0U7RW5DNHJiUjtBQUNGO0FtQ3RzYkk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBbkN1c2JSO0FtQ3BzYlE7RUFDRTtBbkNzc2JWOztBcUNuM2JBO0VBQ0U7RUFDQTtFQUNBLG1DZDJlc0M7RWMxZXRDO0VmMEtJO0VldktKLGdCZG1SNEI7RWNsUjVCLGdCaEJSaUI7RWdCU2pCLGNkRFM7RWNFVCxzQmRUUztFY1VUO0VBQ0E7RVJBRTtFU0ZFLHdFRFFKO0FyQ2kzYkY7QXNDcjNiTTtFRGROO0lDZVE7RXRDdzNiTjtBQUNGO0FxQ24zYkU7RUFDRTtFQUNBO0FyQ3EzYko7QXVDcjRiRTtFQUNFO0VBQ0Esc0JoQlJPO0VnQlNQLHFCaEJzZG9DO0VnQnJkcEM7RUFLRSxpRGhCcVh3QjtBdkI4Z2I5QjtBcUNyM2JFO0VBQ0UsY2R4Qk87RWMwQlA7QXJDczNiSjtBcUN6M2JFO0VBQ0UsY2R4Qk87RWMwQlA7QXJDczNiSjtBcUM5MmJFO0VBRUUseUJkeENPO0VjMENQO0FyQzgyYko7O0FxQ3QyYkU7Ozs7RUFDRTtLQUFBO1VBQUE7QXJDNDJiSjs7QXFDdDJiRTtFQUNFO0VBQ0E7QXJDeTJiSjtBcUN0MmJFO0VBTUUsY2QvRE87RWNnRVAsc0JkdkVPO0F2QjA2Ylg7O0FxQzkxYkE7O0VBRUU7RUFDQTtBckNpMmJGOztBcUN2MWJBO0VBQ0U7RUFDQTtFQUNBO0VmaUVFO0VlL0RGLGdCaEIvRmlCO0FyQnk3Ym5COztBcUN2MWJBO0VBQ0U7RUFDQTtFZjBFSTtFZXhFSixnQmQ2SDRCO0F2QjZ0YjlCOztBcUN2MWJBO0VBQ0U7RUFDQTtFZm1FSTtFZWpFSixnQmR1SDRCO0F2Qm11YjlCOztBcUNqMWJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWZvREk7RWVsREosZ0JoQjVIaUI7RWdCNkhqQixjZG5IUztFY29IVDtFQUNBO0VBQ0E7QXJDbzFiRjtBcUNsMWJFO0VBRUU7RUFDQTtBckNtMWJKOztBcUN2MGJBO0VBQ0Usa0NkNlZzQztFYzVWdEM7RWYyQkk7RWV6QkosZ0JkK0U0QjtFTXhOMUI7QTdCbzliSjs7QXFDdjBiQTtFQUNFLGdDZHNWc0M7RWNyVnRDO0VmbUJJO0VlakJKLGdCZHNFNEI7RU12TjFCO0E3QjQ5Yko7O0FxQ3IwYkU7RUFFRTtBckN1MGJKOztBcUNuMGJBO0VBQ0U7QXJDczBiRjs7QXFDOXpiQTtFQUNFLG1CZDJVc0M7QXZCcy9heEM7O0FxQzl6YkE7RUFDRTtFQUNBLG1CZDRUc0M7QXZCcWdieEM7O0FxQ3p6YkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckM0emJGO0FxQzF6YkU7O0VBRUU7RUFDQTtBckM0emJKOztBcUNuemJBO0VBQ0U7RUFDQTtFQUNBLHFCZGlTc0M7QXZCcWhieEM7O0FxQ256YkE7RUFDRTtFQUNBLGtCZDZSc0M7RWM1UnRDO0FyQ3N6YkY7QXFDbnpiRTtFQUVFLGNkek5PO0F2QjZnY1g7O0FxQ2h6YkE7RUFDRTtBckNtemJGOztBcUNoemJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EscUJkOFFzQztBdkJxaWJ4QztBcUNoemJFO0VBQ0U7RUFDQTtFQUNBLHVCZHlRb0M7RWN4UXBDO0FyQ2t6Yko7O0F1Qy8vYkU7RUFDRTtFQUNBO0VBQ0EsbUJoQjJjb0M7RUR0VnBDO0VpQm5IQSxjRnFOcUM7QXJDNnliekM7O0F1Qy8vYkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqQndIRTtFaUJ0SEYsZ0JsQnhEZTtFa0J5RGY7RUFDQTtFVjlDQTtBN0JpamNKO0F1QzkvYkk7RUFFRTtBdkMrL2JOOztBdUMxL2JJOzs7O0VBRUU7QXZDKy9iTjs7QXVDN2ljSTtFQW9ERSxxQkZrTG1DO0VFL0tqQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QzIvYlI7QXVDeC9iTTtFQUNFLHFCRnVLaUM7RUV0S2pDO0F2QzAvYlI7O0F1QzFqY0k7RUF5RUk7RUFDQTtBdkNxL2JSOztBdUMvamNJO0VBbUZJLG9DaEI2WGdDO0VnQjVYaEM7QXZDZy9iUjs7QXVDcGtjSTtFQTJGRSxxQkYySW1DO0VFeElqQztFQUNBO0F2QzIrYlI7QXVDeCtiTTtFQUNFLHFCRm1JaUM7RUVsSWpDO0F2QzArYlI7O0F1Q24rYk07RUFDRSxjRjBIaUM7QXJDNDJiekM7QXVDbitiTTs7O0VBRUU7QXZDcytiUjs7QXVDLzliTTtFQUNFLGNGNkdpQztBckNxM2J6QztBdUNoK2JRO0VBQ0UscUJGMEcrQjtBckN3M2J6QztBdUM3OWJRO0VBQ0U7RUM1Sk4seUJENkoyQjtBdkMrOWIvQjtBdUMxOWJRO0VBQ0U7QXZDNDliVjtBdUN6OWJRO0VBQ0UscUJBVnFCO0F2Q3ErYi9COztBdUNsOWJNO0VBQ0UscUJBcEJ1QjtBdkN5K2IvQjtBdUNqOWJRO0VBQ0UscUJBekJxQjtFQTBCckI7QXZDbTliVjs7QXVDcG1jRTtFQUNFO0VBQ0E7RUFDQSxtQmhCMmNvQztFRHRWcEM7RWlCbkhBLGNGcU5xQztBckNrNWJ6Qzs7QXVDcG1jRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpCd0hFO0VpQnRIRixnQmxCeERlO0VrQnlEZjtFQUNBO0VWOUNBO0E3QnNwY0o7QXVDbm1jSTtFQUVFO0F2Q29tY047O0F1Qy9sY0k7Ozs7RUFFRTtBdkNvbWNOOztBdUNscGNJO0VBb0RFLHFCRmtMbUM7RUUvS2pDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDZ21jUjtBdUM3bGNNO0VBQ0UscUJGdUtpQztFRXRLakM7QXZDK2xjUjs7QXVDL3BjSTtFQXlFSTtFQUNBO0F2QzBsY1I7O0F1Q3BxY0k7RUFtRkksb0NoQjZYZ0M7RWdCNVhoQztBdkNxbGNSOztBdUN6cWNJO0VBMkZFLHFCRjJJbUM7RUV4SWpDO0VBQ0E7QXZDZ2xjUjtBdUM3a2NNO0VBQ0UscUJGbUlpQztFRWxJakM7QXZDK2tjUjs7QXVDeGtjTTtFQUNFLGNGMEhpQztBckNpOWJ6QztBdUN4a2NNOzs7RUFFRTtBdkMya2NSOztBdUNwa2NNO0VBQ0UsY0Y2R2lDO0FyQzA5YnpDO0F1Q3JrY1E7RUFDRSxxQkYwRytCO0FyQzY5YnpDO0F1Q2xrY1E7RUFDRTtFQzVKTix5QkQ2SjJCO0F2Q29rYy9CO0F1Qy9qY1E7RUFDRTtBdkNpa2NWO0F1QzlqY1E7RUFDRSxxQkFWcUI7QXZDMGtjL0I7O0F1Q3ZqY007RUFDRSxxQkFwQnVCO0F2QzhrYy9CO0F1Q3RqY1E7RUFDRSxxQkF6QnFCO0VBMEJyQjtBdkN3amNWOztBcUNuK2JBO0VBQ0U7RUFDQTtFQUNBO0FyQ3MrYkY7QXFDaitiRTtFQUNFO0FyQ20rYko7QWlDbHNjSTtFSW9PQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VyQ2krYko7RXFDNzliRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXJDKzliSjtFcUMzOWJFO0lBQ0U7SUFDQTtJQUNBO0VyQzY5Yko7RXFDejliRTtJQUNFO0VyQzI5Yko7RXFDeDliRTs7SUFFRTtFckMwOWJKO0VxQ3I5YkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyQ3U5Yko7RXFDcjliRTtJQUNFO0lBQ0E7SUFDQTtJQUNBLHFCZGdMa0M7SWMvS2xDO0VyQ3U5Yko7RXFDcDliRTtJQUNFO0lBQ0E7RXJDczliSjtFcUNwOWJFO0lBQ0U7RXJDczliSjtBQUNGOztBeUN4eWNBO0VBQ0U7RUFFQSxnQmxCdVI0QjtFa0J0UjVCLGNsQk1TO0VrQkxUO0VBR0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBO0VDdUZBO0VwQjRFSTtFb0IxRUosZ0JyQnBHaUI7RVFZZjtFU0ZFLHFJR0dKO0F6QzJ5Y0Y7QXNDMXljTTtFR2ROO0lIZVE7RXRDNnljTjtBQUNGO0F3QnZ6Y0U7RWlCVUUsY2xCTk87RWtCT1A7QXpDZ3pjSjtBeUM3eWNFO0VBRUU7RUFDQSxpRGxCOFcwQjtBdkJnOGI5QjtBeUMxeWNFO0VBRUUsYWxCa1owQjtBdkJ5NWI5QjtBeUN2eWNFO0VBQ0U7QXpDeXljSjtBeUMzeGNBOztFQUVFO0F6QzZ4Y0Y7O0F5Q3B4Y0U7RUMzREE7RUZBRSx5QmpCc0VXO0VtQnBFYixxQm5Cb0VhO0F2Qit3Y2Y7QXdCLzBjRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QTFDMjFjekc7QTBDLzBjRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUM0MGNOO0EwQ3YwY0U7RUFFRTtFQUNBLHlCbkIwQ1c7RW1CekNYLHFCbkJ5Q1c7QXZCK3hjZjtBMENqMGNFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0ExQzIyYzdMO0EwQzV6Y0k7RUFLSTtBMUMwemNSOztBeUNsemNFO0VDM0RBO0VGQUUseUJqQnNFVztFbUJwRWIscUJuQm9FYTtBdkI2eWNmO0F3QjcyY0U7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0ExQ3kzY3pHO0EwQzcyY0U7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFDMDJjTjtBMENyMmNFO0VBRUU7RUFDQSx5Qm5CMENXO0VtQnpDWCxxQm5CeUNXO0F2QjZ6Y2Y7QTBDLzFjRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBMUN5NGM3TDtBMEMxMWNJO0VBS0k7QTFDdzFjUjs7QXlDaDFjRTtFQzNEQTtFRkFFLHlCakJzRVc7RW1CcEViLHFCbkJvRWE7QXZCMjBjZjtBd0IzNGNFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBMUN1NWN6RztBMEMzNGNFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExQ3c0Y047QTBDbjRjRTtFQUVFO0VBQ0EseUJuQjBDVztFbUJ6Q1gscUJuQnlDVztBdkIyMWNmO0EwQzczY0U7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QTFDdTZjN0w7QTBDeDNjSTtFQUtJO0ExQ3MzY1I7O0F5QzkyY0U7RUMzREE7RUZBRSx5QmpCc0VXO0VtQnBFYixxQm5Cb0VhO0F2QnkyY2Y7QXdCejZjRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QTFDcTdjekc7QTBDejZjRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUNzNmNOO0EwQ2o2Y0U7RUFFRTtFQUNBLHlCbkIwQ1c7RW1CekNYLHFCbkJ5Q1c7QXZCeTNjZjtBMEMzNWNFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0ExQ3E4YzdMO0EwQ3Q1Y0k7RUFLSTtBMUNvNWNSOztBeUM1NGNFO0VDM0RBO0VGQUUseUJqQnNFVztFbUJwRWIscUJuQm9FYTtBdkJ1NGNmO0F3QnY4Y0U7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0ExQ205Y3pHO0EwQ3Y4Y0U7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFDbzhjTjtBMEMvN2NFO0VBRUU7RUFDQSx5Qm5CMENXO0VtQnpDWCxxQm5CeUNXO0F2QnU1Y2Y7QTBDejdjRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBMUNtK2M3TDtBMENwN2NJO0VBS0k7QTFDazdjUjs7QXlDMTZjRTtFQzNEQTtFRkFFLHlCakJzRVc7RW1CcEViLHFCbkJvRWE7QXZCcTZjZjtBd0JyK2NFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBMUNpL2N6RztBMENyK2NFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExQ2srY047QTBDNzljRTtFQUVFO0VBQ0EseUJuQjBDVztFbUJ6Q1gscUJuQnlDVztBdkJxN2NmO0EwQ3Y5Y0U7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QTFDaWdkN0w7QTBDbDljSTtFQUtJO0ExQ2c5Y1I7O0F5Q3g4Y0U7RUMzREE7RUZBRSx5QmpCc0VXO0VtQnBFYixxQm5Cb0VhO0F2Qm04Y2Y7QXdCbmdkRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QTFDK2dkekc7QTBDbmdkRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUNnZ2ROO0EwQzMvY0U7RUFFRTtFQUNBLHlCbkIwQ1c7RW1CekNYLHFCbkJ5Q1c7QXZCbTljZjtBMENyL2NFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0ExQytoZDdMO0EwQ2gvY0k7RUFLSTtBMUM4K2NSOztBeUN0K2NFO0VDM0RBO0VGQUUseUJqQnNFVztFbUJwRWIscUJuQm9FYTtBdkJpK2NmO0F3QmppZEU7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0ExQzZpZHpHO0EwQ2ppZEU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFDOGhkTjtBMEN6aGRFO0VBRUU7RUFDQSx5Qm5CMENXO0VtQnpDWCxxQm5CeUNXO0F2QmkvY2Y7QTBDbmhkRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBMUM2amQ3TDtBMEM5Z2RJO0VBS0k7QTFDNGdkUjs7QXlDOS9jRTtFQ1BBLGNuQllhO0VtQlhiLHFCbkJXYTtBdkI4L2NmO0F3QjlqZEU7RWtCd0RFLFdBTGdEO0VBTWhELHlCbkJPVztFbUJOWCxxQm5CTVc7QXZCbWdkZjtBMEN0Z2RFO0VBRUU7QTFDdWdkSjtBMENwZ2RFO0VBRUUsY25CSlc7RW1CS1g7QTFDcWdkSjtBMENsZ2RFO0VBR0U7RUFDQSx5Qm5CWlc7RW1CYVgscUJuQmJXO0F2QitnZGY7QTBDaGdkSTtFQUtJO0ExQzgvY1I7O0F5Q3ZoZEU7RUNQQSxjbkJZYTtFbUJYYixxQm5CV2E7QXZCdWhkZjtBd0J2bGRFO0VrQndERSxXQUxnRDtFQU1oRCx5Qm5CT1c7RW1CTlgscUJuQk1XO0F2QjRoZGY7QTBDL2hkRTtFQUVFO0ExQ2dpZEo7QTBDN2hkRTtFQUVFLGNuQkpXO0VtQktYO0ExQzhoZEo7QTBDM2hkRTtFQUdFO0VBQ0EseUJuQlpXO0VtQmFYLHFCbkJiVztBdkJ3aWRmO0EwQ3poZEk7RUFLSTtBMUN1aGRSOztBeUNoamRFO0VDUEEsY25CWWE7RW1CWGIscUJuQldhO0F2QmdqZGY7QXdCaG5kRTtFa0J3REUsV0FMZ0Q7RUFNaEQseUJuQk9XO0VtQk5YLHFCbkJNVztBdkJxamRmO0EwQ3hqZEU7RUFFRTtBMUN5amRKO0EwQ3RqZEU7RUFFRSxjbkJKVztFbUJLWDtBMUN1amRKO0EwQ3BqZEU7RUFHRTtFQUNBLHlCbkJaVztFbUJhWCxxQm5CYlc7QXZCaWtkZjtBMENsamRJO0VBS0k7QTFDZ2pkUjs7QXlDemtkRTtFQ1BBLGNuQllhO0VtQlhiLHFCbkJXYTtBdkJ5a2RmO0F3QnpvZEU7RWtCd0RFLGNBTGdEO0VBTWhELHlCbkJPVztFbUJOWCxxQm5CTVc7QXZCOGtkZjtBMENqbGRFO0VBRUU7QTFDa2xkSjtBMEMva2RFO0VBRUUsY25CSlc7RW1CS1g7QTFDZ2xkSjtBMEM3a2RFO0VBR0U7RUFDQSx5Qm5CWlc7RW1CYVgscUJuQmJXO0F2QjBsZGY7QTBDM2tkSTtFQUtJO0ExQ3lrZFI7O0F5Q2xtZEU7RUNQQSxjbkJZYTtFbUJYYixxQm5CV2E7QXZCa21kZjtBd0JscWRFO0VrQndERSxjQUxnRDtFQU1oRCx5Qm5CT1c7RW1CTlgscUJuQk1XO0F2QnVtZGY7QTBDMW1kRTtFQUVFO0ExQzJtZEo7QTBDeG1kRTtFQUVFLGNuQkpXO0VtQktYO0ExQ3ltZEo7QTBDdG1kRTtFQUdFO0VBQ0EseUJuQlpXO0VtQmFYLHFCbkJiVztBdkJtbmRmO0EwQ3BtZEk7RUFLSTtBMUNrbWRSOztBeUMzbmRFO0VDUEEsY25CWWE7RW1CWGIscUJuQldhO0F2QjJuZGY7QXdCM3JkRTtFa0J3REUsV0FMZ0Q7RUFNaEQseUJuQk9XO0VtQk5YLHFCbkJNVztBdkJnb2RmO0EwQ25vZEU7RUFFRTtBMUNvb2RKO0EwQ2pvZEU7RUFFRSxjbkJKVztFbUJLWDtBMUNrb2RKO0EwQy9uZEU7RUFHRTtFQUNBLHlCbkJaVztFbUJhWCxxQm5CYlc7QXZCNG9kZjtBMEM3bmRJO0VBS0k7QTFDMm5kUjs7QXlDcHBkRTtFQ1BBLGNuQllhO0VtQlhiLHFCbkJXYTtBdkJvcGRmO0F3QnB0ZEU7RWtCd0RFLGNBTGdEO0VBTWhELHlCbkJPVztFbUJOWCxxQm5CTVc7QXZCeXBkZjtBMEM1cGRFO0VBRUU7QTFDNnBkSjtBMEMxcGRFO0VBRUUsY25CSlc7RW1CS1g7QTFDMnBkSjtBMEN4cGRFO0VBR0U7RUFDQSx5Qm5CWlc7RW1CYVgscUJuQmJXO0F2QnFxZGY7QTBDdHBkSTtFQUtJO0ExQ29wZFI7O0F5QzdxZEU7RUNQQSxjbkJZYTtFbUJYYixxQm5CV2E7QXZCNnFkZjtBd0I3dWRFO0VrQndERSxXQUxnRDtFQU1oRCx5Qm5CT1c7RW1CTlgscUJuQk1XO0F2QmtyZGY7QTBDcnJkRTtFQUVFO0ExQ3NyZEo7QTBDbnJkRTtFQUVFLGNuQkpXO0VtQktYO0ExQ29yZEo7QTBDanJkRTtFQUdFO0VBQ0EseUJuQlpXO0VtQmFYLHFCbkJiVztBdkI4cmRmO0EwQy9xZEk7RUFLSTtBMUM2cWRSOztBeUMzcmRBO0VBQ0UsZ0JsQjZNNEI7RWtCNU01QixjbEIyRndDO0VrQjFGeEMscUJsQjJGd0M7QXZCbW1kMUM7QXdCdndkRTtFaUI0RUUsY2xCeUZzQztFa0J4RnRDLDBCbEJ5RnNDO0F2QnFtZDFDO0F5QzNyZEU7RUFFRSwwQmxCb0ZzQztBdkJ3bWQxQztBeUN6cmRFO0VBRUUsY2xCdEZPO0VrQnVGUDtBekMwcmRKOztBeUMvcWRBO0VDUEU7RXBCNEVJO0VvQjFFSixnQm5CK0g0QjtFTXZOMUI7QTdCbXhkSjs7QXlDbHJkQTtFQ1hFO0VwQjRFSTtFb0IxRUosZ0JuQmdJNEI7RU14TjFCO0E3QjB4ZEo7O0F5Q2hyZEE7RUFDRTtFQUNBO0F6Q21yZEY7QXlDaHJkRTtFQUNFLGtCbEJ3VDBCO0F2QjAzYzlCOztBeUMxcWRFOzs7RUFDRTtBekMrcWRKOztBMkMxemRBO0VMZ0JNLGdDS2ZKO0EzQzZ6ZEY7QXNDMXlkTTtFS3BCTjtJTHFCUTtFdEM2eWROO0FBQ0Y7QTJDaDBkRTtFQUNFO0EzQ2swZEo7O0EyQzd6ZEU7RUFDRTtBM0NnMGRKOztBMkM1emRBO0VBQ0U7RUFDQTtFQUNBO0VMREksNkJLRUo7QTNDK3pkRjtBc0M3emRNO0VLTk47SUxPUTtFdENnMGROO0FBQ0Y7QTJDbDBkRTtFQUNFO0VBQ0E7RUxORSw0QktPRjtBM0NvMGRKO0FzQ3YwZE07RUtBSjtJTENNO0V0QzAwZE47QUFDRjs7QTRDLzFkQTs7OztFQUlFO0E1Q2syZEY7O0E0Qy8xZEE7RUFDRTtBNUNrMmRGO0E2QzkwZEk7RUFDRTtFQUNBLG9CdEIrTndCO0VzQjlOeEIsdUJ0QjZOd0I7RXNCNU54QjtFQWhDSjtFQUNBO0VBQ0E7RUFDQTtBN0NpM2RGO0E2QzV6ZEk7RUFDRTtBN0M4emROOztBNEN4MmRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYXJCeXBCa0M7RXFCeHBCbEM7RUFDQTtFQUNBLGdCckJpdUJrQztFcUJodUJsQztFQUNBO0V0QjJKSTtFc0J6SkosY3JCWFM7RXFCWVQ7RUFDQTtFQUNBLHNCckJ2QlM7RXFCd0JUO0VBQ0E7RWZkRTtBN0IwM2RKOztBNENuMmRJO0VBQ0U7RUFDQTtBNUNzMmROOztBNENuMmRJO0VBQ0U7RUFDQTtBNUNzMmROOztBaUMxMWRJO0VXbkJBO0lBQ0U7SUFDQTtFNUNpM2RKOztFNEM5MmRFO0lBQ0U7SUFDQTtFNUNpM2RKO0FBQ0Y7QWlDdDJkSTtFV25CQTtJQUNFO0lBQ0E7RTVDNDNkSjs7RTRDejNkRTtJQUNFO0lBQ0E7RTVDNDNkSjtBQUNGO0FpQ2ozZEk7RVduQkE7SUFDRTtJQUNBO0U1Q3U0ZEo7O0U0Q3A0ZEU7SUFDRTtJQUNBO0U1Q3U0ZEo7QUFDRjtBaUM1M2RJO0VXbkJBO0lBQ0U7SUFDQTtFNUNrNWRKOztFNEMvNGRFO0lBQ0U7SUFDQTtFNUNrNWRKO0FBQ0Y7QTRDMzRkRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHVCckIrckJnQztBdkI4c2NwQztBNkM1NmRJO0VBQ0U7RUFDQSxvQnRCK053QjtFc0I5TnhCLHVCdEI2TndCO0VzQjVOeEI7RUF6Qko7RUFDQTtFQUNBO0VBQ0E7QTdDdzhkRjtBNkMxNWRJO0VBQ0U7QTdDNDVkTjs7QTRDajVkRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUJyQmlyQmdDO0F2Qm11Y3BDO0E2Q2o4ZEk7RUFDRTtFQUNBLG9CdEIrTndCO0VzQjlOeEIsdUJ0QjZOd0I7RXNCNU54QjtFQWxCSjtFQUNBO0VBQ0E7RUFDQTtBN0NzOWRGO0E2Qy82ZEk7RUFDRTtBN0NpN2ROO0E0QzU1ZEk7RUFDRTtBNUM4NWROOztBNEN4NWRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQnJCZ3FCZ0M7QXZCMnZjcEM7QTZDejlkSTtFQUNFO0VBQ0Esb0J0QitOd0I7RXNCOU54Qix1QnRCNk53QjtFc0I1TnhCO0E3QzI5ZE47QTZDaDlkTTtFQUNFO0E3Q2s5ZFI7QTZDLzhkTTtFQUNFO0VBQ0EscUJ0QjRNc0I7RXNCM010Qix1QnRCME1zQjtFc0J6TXRCO0VBOUJOO0VBQ0E7RUFDQTtBN0NnL2RGO0E2Qy84ZEk7RUFDRTtBN0NpOWROO0E0QzM2ZEk7RUFDRTtBNUM2NmROOztBNENyNmRFO0VBSUU7RUFDQTtBNUNxNmRKOztBNENoNmRBO0VFOUdFO0VBQ0E7RUFDQTtFQUNBO0E5Q2toZUY7O0E0Q2g2ZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCckJpSzRCO0VxQmhLNUIsY3JCaEhTO0VxQmlIVDtFQUVBO0VBQ0E7RUFDQTtBNUNrNmRGO0F3QnZoZUU7RW9Cb0lFLGNyQm9uQmdDO0VxQm5uQmhDO0VKL0lBLHlCakJHTztBdkJtaWVYO0E0Q241ZEU7RUFFRSxXckJwSk87RXFCcUpQO0VKdEpBLHlCakJvUDBCO0F2QnV6ZDlCO0E0Q2o1ZEU7RUFFRSxjckJ0Sk87RXFCdUpQO0VBQ0E7QTVDazVkSjs7QTRDMTRkQTtFQUNFO0E1QzY0ZEY7O0E0Q3o0ZEE7RUFDRTtFQUNBLHNCckJpbUJrQztFcUJobUJsQztFdEJBSTtFc0JFSixjckJ6S1M7RXFCMEtUO0E1QzQ0ZEY7O0E0Q3g0ZEE7RUFDRTtFQUNBO0VBQ0EsY3JCOUtTO0F2QnlqZVg7O0ErQ3RrZUE7O0VBRUU7RUFDQTtFQUNBO0EvQ3lrZUY7QStDdmtlRTs7RUFDRTtFQUNBO0EvQzBrZUo7QXdCemtlRTs7RXVCSUk7QS9DeWtlTjtBK0N2a2VJOzs7O0VBR0U7QS9DMGtlTjs7QStDcGtlQTtFQUNFO0VBQ0E7RUFDQTtBL0N1a2VGO0ErQ3JrZUU7RUFDRTtBL0N1a2VKOztBK0Nqa2VFOztFQUVFO0EvQ29rZUo7QStDaGtlRTs7RWxCWEU7RUFDQTtBN0Ira2VKO0ErQ2hrZUU7O0VsQkZFO0VBQ0E7QTdCc2tlSjs7QStDbmplQTtFQUNFO0VBQ0E7QS9Dc2plRjtBK0NwamVFO0VBR0U7QS9Db2plSjtBK0NqamVFO0VBQ0U7QS9DbWplSjs7QStDL2llQTtFQUNFO0VBQ0E7QS9Da2plRjs7QStDL2llQTtFQUNFO0VBQ0E7QS9Da2plRjs7QStDOWhlQTtFQUNFO0VBQ0E7RUFDQTtBL0NpaWVGO0ErQy9oZUU7O0VBRUU7QS9DaWllSjtBK0M5aGVFOztFQUVFO0EvQ2dpZUo7QStDNWhlRTs7RWxCckZFO0VBQ0E7QTdCcW5lSjtBK0M1aGVFOztFbEJ4R0U7RUFDQTtBN0J3b2VKOztBK0M3Z2VFOztFQUVFO0EvQ2doZUo7QStDOWdlSTs7OztFQUVFO0VBQ0E7RUFDQTtBL0NraGVOOztBZ0QzcWVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQ4cWVGO0FnRDVxZUU7Ozs7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRDhxZUo7QWdENXFlSTs7Ozs7Ozs7Ozs7O0VBR0U7QWhEdXJlTjtBZ0RscmVFOzs7RUFHRTtBaERvcmVKO0FnRGhyZUU7RUFDRTtBaERrcmVKO0FnRDdxZUk7O0VuQklBO0VBQ0E7QTdCNnFlSjtBZ0Q3cWVFO0VBQ0U7RUFDQTtBaEQrcWVKO0FnRDdxZUk7RW5CbkJBO0VBQ0E7QTdCbXNlSjtBZ0QvcWVJO0VuQlBBO0VBQ0E7QTdCeXJlSjtBZ0QvcWVJOzs7O0VuQnpCQTtFQUNBO0E3QjhzZUo7QWdEN3FlSTs7OztFbkJsQ0E7RUFDQTtBN0JxdGVKOztBZ0RwcWVBOztFQUVFO0FoRHVxZUY7QWdEbHFlRTs7RUFDRTtFQUNBO0FoRHFxZUo7QWdEbnFlSTs7RUFDRTtBaERzcWVOO0FnRGxxZUU7Ozs7Ozs7O0VBSUU7QWhEd3FlSjs7QWdEcHFlQTtFQUF1QjtBaER3cWV2Qjs7QWdEdnFlQTtFQUFzQjtBaEQycWV0Qjs7QWdEbnFlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0UxQjJESTtFMEJ6REosZ0J6QnFLNEI7RXlCcEs1QixnQjNCdEhpQjtFMkJ1SGpCLGN6Qi9HUztFeUJnSFQ7RUFDQTtFQUNBLHlCekJ2SFM7RXlCd0hUO0VuQi9HRTtBN0JzeGVKO0FnRG5xZUU7O0VBRUU7QWhEcXFlSjs7QWdEM3BlQTs7RUFFRSxnQ3pCbVdzQztBdkIyemR4Qzs7QWdEM3BlQTs7Ozs7O0VBTUU7RTFCd0JJO0UwQnRCSixnQnpCMkU0QjtFTXZOMUI7QTdCMnllSjs7QWdEM3BlQTs7RUFFRSxrQ3pCaVZzQztBdkI2MGR4Qzs7QWdEM3BlQTs7Ozs7O0VBTUU7RTFCT0k7RTBCTEosZ0J6QjJENEI7RU14TjFCO0E3QjR6ZUo7O0FnRDNwZUE7O0VBRUU7QWhEOHBlRjs7QWdEbnBlQTs7Ozs7Ozs7RW5COUpJO0VBQ0E7QTdCNHplSjs7QWdEcHBlQTs7Ozs7O0VuQjNKSTtFQUNBO0E3Qnd6ZUo7O0FpRGgyZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtBakRtMmVGOztBaURoMmVBO0VBQ0U7RUFDQSxrQjFCeWZzQztBdkIwMmR4Qzs7QWlEaDJlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFcxQnFmc0M7RTBCcGZ0QztFQUNBO0FqRG0yZUY7QWlEajJlRTtFQUNFLFcxQnpCTztFMEIwQlAscUIxQnlOMEI7RWlCcFAxQix5QmpCb1AwQjtBdkIyb2U5QjtBaUQvMWVFO0VBS0ksaUQxQmdXd0I7QXZCNi9kOUI7QWlEejFlRTtFQUNFLHFCMUJzYm9DO0F2QnE2ZHhDO0FpRHgxZUU7RUFDRSxXMUI3Q087RTBCOENQLHlCMUJrZjRDO0UwQmpmNUMscUIxQmlmNEM7QXZCeTJkaEQ7QWlEbjFlSTtFQUNFLGMxQmpESztBdkJzNGVYO0FpRG4xZU07RUFDRSx5QjFCeERHO0F2QjY0ZVg7O0FpRDMwZUE7RUFDRTtFQUNBO0VBRUE7QWpENjBlRjtBaUR6MGVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXMUJ3Ym9DO0UwQnZicEMsWTFCdWJvQztFMEJ0YnBDO0VBQ0E7RUFDQSxzQjFCckZPO0UwQnNGUDtBakQyMGVKO0FpRHQwZUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFcxQnlhb0M7RTBCeGFwQyxZMUJ3YW9DO0UwQnZhcEM7RUFDQTtBakR3MGVKOztBaUQ5emVFO0VwQmxHRTtBN0JvNmVKO0FpRDd6ZUk7RUFDRTtBakQremVOO0FpRDF6ZUk7RUFDRSxxQjFCMEh3QjtFaUJwUDFCLHlCakJvUDBCO0F2Qm1zZTlCO0FpRHp6ZUk7RUFDRTtBakQyemVOO0FpRHR6ZUk7RVRwSUEseUNqQnloQjRDO0F2Qm82ZGhEO0FpRHR6ZUk7RVR2SUEseUNqQnloQjRDO0F2QnU2ZGhEOztBaUQ5eWVFO0VBRUUsa0IxQjBaNEM7QXZCczVkaEQ7QWlENXllSTtFQUNFO0FqRDh5ZU47QWlEenllSTtFVDlKQSx5Q2pCeWhCNEM7QXZCaTdkaEQ7O0FpRGp5ZUE7RUFDRTtBakRveWVGO0FpRGp5ZUk7RUFDRTtFQUNBLGMxQmtZMEM7RTBCalkxQztFQUVBLHFCMUJnWTBDO0F2Qms2ZGhEO0FpRC94ZUk7RUFDRTtFQUNBO0VBQ0EsdUIxQjJYMEM7RTBCMVgxQyx3QjFCMFgwQztFMEJ6WDFDLHlCMUJwTEs7RTBCc0xMLHFCMUJzWDBDO0VleGlCMUMseUlXbUxBO0FqRGd5ZU47QXNDLzhlTTtFV3VLRjtJWHRLSTtFdENrOWVOO0FBQ0Y7QWlEaHllSTtFQUNFLHNCMUJsTUs7RTBCbU1MO0FqRGt5ZU47QWlEN3hlSTtFVHpNQSx5Q2pCeWhCNEM7QXZCZzlkaEQ7O0FpRG54ZUE7RUFDRTtFQUNBO0VBQ0EsbUMxQnFSc0M7RTBCcFJ0QztFM0I1Q0k7RTJCK0NKLGdCMUI2RDRCO0UwQjVENUIsZ0I1QjlOaUI7RTRCK05qQixjMUJ2TlM7RTBCd05UO0VBQ0E7RUFDQTtFcEJ0TkU7RW9CeU5GO0tBQUE7VUFBQTtBakRveGVGO0FpRGx4ZUU7RUFDRSxxQjFCd1BvQztFMEJ2UHBDO0VBS0UsaUQxQm1XOEI7QXZCNjZkcEM7QWlEN3dlSTtFQU1FLGMxQi9PSztFMEJnUEwsc0IxQnZQSztBdkJpZ2ZYO0FpRHR3ZUU7RUFFRTtFQUNBLHNCMUIrSDBCO0UwQjlIMUI7QWpEdXdlSjtBaURwd2VFO0VBQ0UsYzFCN1BPO0UwQjhQUCx5QjFCbFFPO0F2QndnZlg7QWlEbHdlRTtFQUNFO0FqRG93ZUo7QWlEaHdlRTtFQUNFO0VBQ0E7QWpEa3dlSjs7QWlEOXZlQTtFQUNFLGtDMUIwTnNDO0UwQnpOdEMsb0IxQmlINEI7RTBCaEg1Qix1QjFCZ0g0QjtFMEIvRzVCLG9CMUJnSDRCO0VEMU54QjtBdEI0MmVOOztBaUQ5dmVBO0VBQ0UsZ0MxQm1Oc0M7RTBCbE50QyxtQjFCOEc0QjtFMEI3RzVCLHNCMUI2RzRCO0UwQjVHNUIsa0IxQjZHNEI7RUQvTnhCO0F0Qm8zZU47O0FpRHp2ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQzFCaU1zQztFMEJoTXRDO0FqRDR2ZUY7O0FpRHp2ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQzFCeUxzQztFMEJ4THRDO0VBQ0E7RUFDQTtBakQ0dmVGO0FpRDF2ZUU7RUFDRSxxQjFCcUtvQztFMEJwS3BDLGlEMUJ5RTBCO0F2Qm1yZTlCO0FpRHh2ZUU7RUFFRSx5QjFCL1RPO0F2QndqZlg7QWlEcnZlSTtFQUNFLGlCMUIyVGE7QXZCNDdkbkI7QWlEbnZlRTtFQUNFO0FqRHF2ZUo7O0FpRGp2ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUMxQndKc0M7RTBCdkp0QztFQUNBO0VBRUEsZ0IxQmhFNEI7RTBCaUU1QixnQjVCM1ZpQjtFNEI0VmpCLGMxQnBWUztFMEJxVlQsc0IxQjVWUztFMEI2VlQ7RXBCbFZFO0E3QnNrZko7QWlEaHZlRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZCMUJpSW9DO0UwQmhJcEM7RUFDQSxnQjVCM1dlO0U0QjRXZixjMUJwV087RTBCcVdQO0VUN1dBLHlCakJHTztFMEI0V1A7RXBCbldBO0E3QnNsZko7O0FpRHh1ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtBakQydWVGO0FpRHp1ZUU7RUFDRTtBakQydWVKO0FpRHZ1ZUk7RUFBMEIsb0UxQm9PZTtBdkJzZ2U3QztBaUR6dWVJO0VBQTBCLG9FMUJtT2U7QXZCeWdlN0M7QWlEM3VlSTtFQUEwQixvRTFCa09lO0F2QjRnZTdDO0FpRDN1ZUU7RUFDRTtBakQ2dWVKO0FpRDF1ZUU7RUFDRSxXMUJvTnlDO0UwQm5OekMsWTFCbU55QztFMEJsTnpDO0VUbFpBLHlCakJvUDBCO0UwQmdLMUIsUzFCbU55QztFTTNsQnpDO0VTRkUsb0hXNllGO0VYN1lFLDRHVzZZRjtFQUNBO1VBQUE7QWpEMnVlSjtBc0NybmZNO0VXaVlKO0lYaFlNO0lBQUE7RXRDd25mTjtBQUNGO0FpRDl1ZUk7RVQxWkEseUJqQjRtQnlDO0F2QitoZTdDO0FpRDV1ZUU7RUFDRSxXMUI2TGdDO0UwQjVMaEMsYzFCNkxnQztFMEI1TGhDO0VBQ0EsZTFCNExnQztFMEIzTGhDLHlCMUJoYU87RTBCaWFQO0VwQnpaQTtBN0J3b2ZKO0FpRDF1ZUU7RUFDRSxXMUJ5THlDO0UwQnhMekMsWTFCd0x5QztFaUJwbUJ6Qyx5QmpCb1AwQjtFMEIwTDFCLFMxQnlMeUM7RU0zbEJ6QztFU0ZFLGlIV3VhRjtFWHZhRSw0R1d1YUY7RUFDQTtPQUFBO0FqRDJ1ZUo7QXNDL29mTTtFVzRaSjtJWDNaTTtJQUFBO0V0Q2twZk47QUFDRjtBaUQ5dWVJO0VUcGJBLHlCakI0bUJ5QztBdkJ5amU3QztBaUQ1dWVFO0VBQ0UsVzFCbUtnQztFMEJsS2hDLGMxQm1LZ0M7RTBCbEtoQztFQUNBLGUxQmtLZ0M7RTBCaktoQyx5QjFCMWJPO0UwQjJiUDtFcEJuYkE7QTdCa3FmSjtBaUQxdWVFO0VBQ0UsVzFCK0p5QztFMEI5SnpDLFkxQjhKeUM7RTBCN0p6QztFQUNBLG9CMUJyRTBCO0UwQnNFMUIsbUIxQnRFMEI7RWlCblkxQix5QmpCb1AwQjtFMEJ1TjFCLFMxQjRKeUM7RU0zbEJ6QztFU0ZFLGdIV29jRjtFWHBjRSw0R1dvY0Y7RUFDQTtBakQydWVKO0FzQzVxZk07RVdzYko7SVhyYk07SUFBQTtFdEMrcWZOO0FBQ0Y7QWlEOXVlSTtFVGpkQSx5QmpCNG1CeUM7QXZCc2xlN0M7QWlENXVlRTtFQUNFLFcxQnNJZ0M7RTBCckloQyxjMUJzSWdDO0UwQnJJaEM7RUFDQSxlMUJxSWdDO0UwQnBJaEM7RUFDQTtFQUNBO0FqRDh1ZUo7QWlEMXVlRTtFQUNFLHlCMUI5ZE87RU1RUDtBN0Jtc2ZKO0FpRHp1ZUU7RUFDRTtFQUNBLHlCMUJwZU87RU1RUDtBN0J3c2ZKO0FpRHZ1ZUk7RUFDRSx5QjFCeGVLO0F2Qml0Zlg7QWlEdHVlSTtFQUNFO0FqRHd1ZU47QWlEcnVlSTtFQUNFLHlCMUJoZks7QXZCdXRmWDtBaURwdWVJO0VBQ0U7QWpEc3VlTjtBaURudWVJO0VBQ0UseUIxQnhmSztBdkI2dGZYOztBaURodWVBOzs7RVh6Zk0sNEdXNGZKO0FqRG11ZUY7QXNDM3RmTTtFV3FmTjs7O0lYcGZRO0V0Q2d1Zk47QUFDRjs7QWtEanZmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEb3ZmRjs7QWtEanZmQTtFQUNFO0VBQ0E7QWxEb3ZmRjtBd0JudmZFO0UwQkdFO0FsRG12Zko7QWtEL3VmRTtFQUNFLGMzQlhPO0UyQllQO0VBQ0E7QWxEaXZmSjs7QWtEenVmQTtFQUNFO0FsRDR1ZkY7QWtEMXVmRTtFQUNFO0VBQ0E7RUFDQTtFckJiQTtFQUNBO0E3QjB2Zko7QXdCdHdmRTtFMEI2Qkk7RUFDQSxxQzNCaXBCOEI7QXZCMmxlcEM7QWtEenVmSTtFQUNFLGMzQnJDSztFMkJzQ0w7RUFDQTtBbEQydWZOO0FrRHZ1ZkU7O0VBRUUsYzNCNUNPO0UyQjZDUCx5QjdCMURNO0U2QjJETixxQzNCc29CZ0M7QXZCbW1lcEM7QWtEdHVmRTtFQUVFO0VyQnRDQTtFQUNBO0E3Qjh3Zko7O0FrRDd0ZkU7RUFDRTtFQUNBO0VyQjdEQTtBN0I4eGZKO0FrRDd0ZkU7O0VBRUUsVzNCOUVPO0UyQitFUCx5QjNCb0swQjtBdkIyamY5Qjs7QWtEcnRmRTs7RUFFRTtFQUNBO0FsRHd0Zko7O0FrRG50ZkU7O0VBRUU7RUFDQTtFQUNBO0FsRHN0Zko7O0FrRDVzZkU7RUFDRTtBbEQrc2ZKO0FrRDdzZkU7RUFDRTtBbEQrc2ZKOztBbUR4emZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRDJ6ZkY7QW1EdnpmRTs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5EOHpmSjtBbUQxeWZBO0VBQ0U7RUFDQSxvQjVCa3FCa0M7RTRCanFCbEMsdUI1QmlxQmtDO0U0QmhxQmxDLGtCNUJnRk87RUQ2Q0g7RTZCM0hKO0VBQ0E7QW5ENHlmRjtBd0J0MWZFO0UyQjZDRTtBbkQ0eWZKOztBbURueWZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkRzeWZGO0FtRHB5ZkU7RUFDRTtFQUNBO0FuRHN5Zko7QW1EbnlmRTtFQUNFO0VBQ0E7QW5EcXlmSjs7QW1ENXhmQTtFQUNFO0VBQ0EsbUI1QnlsQmtDO0U0QnhsQmxDLHNCNUJ3bEJrQztBdkJ1c2VwQzs7QW1EbnhmQTtFQUNFO0VBQ0E7RUFHQTtBbkRveGZGOztBbURoeGZBO0VBQ0U7RTdCOERJO0U2QjVESjtFQUNBO0VBQ0E7RXRCeEdFO0E3QjQzZko7QXdCOTNmRTtFMkI4R0U7QW5EbXhmSjs7QW1EN3dmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkRneGZGOztBbUQ3d2ZBO0VBQ0UsZ0I1QmdsQmtDO0U0Qi9rQmxDO0FuRGd4ZkY7O0FpQ3QxZkk7RWtCa0ZJOzs7Ozs7SUFDRTtJQUNBO0VuRDZ3ZlI7QUFDRjtBaUMvMmZJO0VrQjZGQTtJQW9CSTtJQUNBO0VuRGt3Zk47RW1EaHdmTTtJQUNFO0VuRGt3ZlI7RW1EaHdmUTtJQUNFO0VuRGt3ZlY7RW1EL3ZmUTtJQUNFLHFCNUJ5aEJ3QjtJNEJ4aEJ4QixvQjVCd2hCd0I7RXZCeXVlbEM7RW1ENXZmTTs7Ozs7O0lBQ0U7RW5EbXdmUjtFbURydmZNO0lBQ0U7RW5EdXZmUjtFbURwdmZNO0lBQ0U7SUFHQTtFbkRvdmZSO0VtRGp2Zk07SUFDRTtFbkRtdmZSO0FBQ0Y7QWlDcDRmSTtFa0JrRkk7Ozs7OztJQUNFO0lBQ0E7RW5EMHpmUjtBQUNGO0FpQzU1Zkk7RWtCNkZBO0lBb0JJO0lBQ0E7RW5EK3lmTjtFbUQ3eWZNO0lBQ0U7RW5EK3lmUjtFbUQ3eWZRO0lBQ0U7RW5EK3lmVjtFbUQ1eWZRO0lBQ0UscUI1QnloQndCO0k0QnhoQnhCLG9CNUJ3aEJ3QjtFdkJzeGVsQztFbUR6eWZNOzs7Ozs7SUFDRTtFbkRnemZSO0VtRGx5Zk07SUFDRTtFbkRveWZSO0VtRGp5Zk07SUFDRTtJQUdBO0VuRGl5ZlI7RW1EOXhmTTtJQUNFO0VuRGd5ZlI7QUFDRjtBaUNqN2ZJO0VrQmtGSTs7Ozs7O0lBQ0U7SUFDQTtFbkR1MmZSO0FBQ0Y7QWlDejhmSTtFa0I2RkE7SUFvQkk7SUFDQTtFbkQ0MWZOO0VtRDExZk07SUFDRTtFbkQ0MWZSO0VtRDExZlE7SUFDRTtFbkQ0MWZWO0VtRHoxZlE7SUFDRSxxQjVCeWhCd0I7STRCeGhCeEIsb0I1QndoQndCO0V2Qm0wZWxDO0VtRHQxZk07Ozs7OztJQUNFO0VuRDYxZlI7RW1ELzBmTTtJQUNFO0VuRGkxZlI7RW1EOTBmTTtJQUNFO0lBR0E7RW5EODBmUjtFbUQzMGZNO0lBQ0U7RW5ENjBmUjtBQUNGO0FpQzk5Zkk7RWtCa0ZJOzs7Ozs7SUFDRTtJQUNBO0VuRG81ZlI7QUFDRjtBaUN0L2ZJO0VrQjZGQTtJQW9CSTtJQUNBO0VuRHk0Zk47RW1EdjRmTTtJQUNFO0VuRHk0ZlI7RW1EdjRmUTtJQUNFO0VuRHk0ZlY7RW1EdDRmUTtJQUNFLHFCNUJ5aEJ3QjtJNEJ4aEJ4QixvQjVCd2hCd0I7RXZCZzNlbEM7RW1EbjRmTTs7Ozs7O0lBQ0U7RW5EMDRmUjtFbUQ1M2ZNO0lBQ0U7RW5EODNmUjtFbUQzM2ZNO0lBQ0U7SUFHQTtFbkQyM2ZSO0VtRHgzZk07SUFDRTtFbkQwM2ZSO0FBQ0Y7QW1EMzdmSTtFQW9CSTtFQUNBO0FuRDA2ZlI7QW1ENzdmUTs7Ozs7O0VBQ0U7RUFDQTtBbkRvOGZWO0FtRGo3ZlE7RUFDRTtBbkRtN2ZWO0FtRGo3ZlU7RUFDRTtBbkRtN2ZaO0FtRGg3ZlU7RUFDRSxxQjVCeWhCd0I7RTRCeGhCeEIsb0I1QndoQndCO0F2QjA1ZXBDO0FtRDc2ZlE7Ozs7OztFQUNFO0FuRG83ZlY7QW1EdDZmUTtFQUNFO0FuRHc2ZlY7QW1EcjZmUTtFQUNFO0VBR0E7QW5EcTZmVjtBbURsNmZRO0VBQ0U7QW5EbzZmVjs7QW1EdDVmRTtFQUNFLHlCNUJpZ0JnQztBdkJ3NWVwQztBd0JqbmdCRTtFMkIyTkkseUI1QjhmOEI7QXZCMjVlcEM7QW1EcDVmSTtFQUNFLHlCNUJzZjhCO0F2Qmc2ZXBDO0F3QnZuZ0JFO0UyQm9PTSx5QjVCb2Y0QjtBdkJrNmVwQztBbURuNWZNO0VBQ0UseUI1QmtmNEI7QXZCbTZlcEM7QW1EajVmSTs7OztFQUlFLHlCNUJ5ZThCO0F2QjA2ZXBDO0FtRC80ZkU7RUFDRSx5QjVCa2VnQztFNEJqZWhDLGdDNUJzZWdDO0F2QjI2ZXBDO0FtRDk0ZkU7RUFDRTtBbkRnNWZKO0FtRDc0ZkU7RUFDRSx5QjVCeWRnQztBdkJzN2VwQztBbUQ5NGZJO0VBQ0UseUI1QnlkOEI7QXZCdTdlcEM7QXdCaHBnQkU7RTJCbVFNLHlCNUJzZDRCO0F2QjA3ZXBDOztBbUR4NGZFO0VBQ0UsVzVCclJPO0F2QmdxZ0JYO0F3QnZwZ0JFO0UyQitRSSxXNUJ4Uks7QXZCbXFnQlg7QW1EdDRmSTtFQUNFLCtCNUIyYjhCO0F2QjY4ZXBDO0F3QjdwZ0JFO0UyQndSTSxnQzVCeWI0QjtBdkIrOGVwQztBbURyNGZNO0VBQ0UsZ0M1QnViNEI7QXZCZzllcEM7QW1EbjRmSTs7OztFQUlFLFc1QjdTSztBdkJrcmdCWDtBbURqNGZFO0VBQ0UsK0I1QnVhZ0M7RTRCdGFoQyxzQzVCMmFnQztBdkJ3OWVwQztBbURoNGZFO0VBQ0U7QW5EazRmSjtBbUQvM2ZFO0VBQ0UsK0I1QjhaZ0M7QXZCbStlcEM7QW1EaDRmSTtFQUNFLFc1QjdUSztBdkIrcmdCWDtBd0J0cmdCRTtFMkJ1VE0sVzVCaFVHO0F2QmtzZ0JYOztBb0Ryc2dCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxzQjdCSlM7RTZCS1Q7RUFDQTtFdkJLRTtBN0Jtc2dCSjtBb0Ryc2dCRTtFQUNFO0VBQ0E7QXBEdXNnQko7QW9EcHNnQkU7RUFDRTtFQUNBO0FwRHNzZ0JKO0FvRHBzZ0JJO0VBQ0U7RXZCQ0Y7RUFDQTtBN0Jzc2dCSjtBb0Rwc2dCSTtFQUNFO0V2QlVGO0VBQ0E7QTdCNnJnQko7QW9EanNnQkU7O0VBRUU7QXBEbXNnQko7O0FvRC9yZ0JBO0VBR0U7RUFHQTtFQUNBLGdCN0JneEJrQztBdkI4NmVwQzs7QW9EMXJnQkE7RUFDRSxzQjdCMHdCa0M7QXZCbTdlcEM7O0FvRDFyZ0JBO0VBQ0U7RUFDQTtBcEQ2cmdCRjs7QW9EMXJnQkE7RUFDRTtBcEQ2cmdCRjs7QXdCbHZnQkU7RTRCMERFO0FwRDRyZ0JKO0FvRHpyZ0JFO0VBQ0Usb0I3Qnl2QmdDO0F2Qms4ZXBDOztBb0RucmdCQTtFQUNFO0VBQ0E7RUFFQSxxQzdCa3ZCa0M7RTZCanZCbEM7QXBEcXJnQkY7QW9EbnJnQkU7RXZCdkVFO0E3QjZ2Z0JKOztBb0RqcmdCQTtFQUNFO0VBRUEscUM3QnV1QmtDO0U2QnR1QmxDO0FwRG1yZ0JGO0FvRGpyZ0JFO0V2QmxGRTtBN0Jzd2dCSjs7QW9EMXFnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEQ2cWdCRjs7QW9EMXFnQkE7RUFDRTtFQUNBO0FwRDZxZ0JGOztBb0R6cWdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQjdCNnNCa0M7RU01ekJoQztBN0I0eGdCSjs7QW9EenFnQkE7OztFQUdFO0VBQ0E7QXBENHFnQkY7O0FvRHpxZ0JBOztFdkJqSEk7RUFDQTtBN0IreGdCSjs7QW9EMXFnQkE7O0V2QnhHSTtFQUNBO0E3QnV4Z0JKOztBb0R2cWdCRTtFQUNFLG1CN0JxckJnQztBdkJxL2VwQztBaUN6d2dCSTtFbUI2Rko7SUFNSTtJQUNBO0lBQ0E7SUFDQTtFcEQwcWdCRjtFb0R4cWdCRTtJQUVFO0lBQ0Esa0I3QnlxQjhCO0k2QnhxQjlCO0lBQ0EsaUI3QnVxQjhCO0V2QmtnZmxDO0FBQ0Y7O0FvRDdwZ0JFO0VBQ0UsbUI3QnlwQmdDO0F2QnVnZnBDO0FpQzN4Z0JJO0VtQnVISjtJQVFJO0lBQ0E7RXBEZ3FnQkY7RW9EN3BnQkU7SUFFRTtJQUNBO0VwRDhwZ0JKO0VvRDVwZ0JJO0lBQ0U7SUFDQTtFcEQ4cGdCTjtFb0R6cGdCTTtJdkJ6S0o7SUFDQTtFN0JxMGdCRjtFb0QxcGdCUTs7SUFHRTtFcEQycGdCVjtFb0R6cGdCUTs7SUFHRTtFcEQwcGdCVjtFb0R0cGdCTTtJdkIxS0o7SUFDQTtFN0JtMGdCRjtFb0R2cGdCUTs7SUFHRTtFcER3cGdCVjtFb0R0cGdCUTs7SUFHRTtFcER1cGdCVjtBQUNGOztBb0Qxb2dCRTtFQUNFLHNCN0I4a0JnQztBdkIramZwQztBaUNyMGdCSTtFbUJzTEo7SUFNSSxvQjdCMmxCZ0M7UzZCM2xCaEMsZTdCMmxCZ0M7STZCMWxCaEMsd0I3QjJsQmdDO1M2QjNsQmhDLG1CN0IybEJnQztJNkIxbEJoQztJQUNBO0VwRDZvZ0JGO0VvRDNvZ0JFO0lBQ0U7SUFDQTtFcEQ2b2dCSjtBQUNGOztBb0Rwb2dCQTtFQUNFO0FwRHVvZ0JGO0FvRHJvZ0JFO0VBQ0U7QXBEdW9nQko7QW9Ecm9nQkk7RUFDRTtFdkJ2T0Y7RUFDQTtBN0IrMmdCSjtBb0Ryb2dCSTtFdkJ6UEE7RUFDQTtBN0JpNGdCSjtBb0Ryb2dCSTtFdkJ0UUE7RXVCd1FFO0FwRHVvZ0JOOztBcURqNmdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1COUJxaUNrQztFOEJuaUNsQztFQUNBLHlCOUJFUztFTVNQO0E3Qnk1Z0JKOztBcUQ5NWdCRTtFQUNFLG9COUJ5aENnQztBdkJ3NGVwQztBcUQvNWdCSTtFQUNFO0VBQ0EscUI5QnFoQzhCO0U4QnBoQzlCLGM5Qk5LO0U4Qk9MO0FyRGk2Z0JOO0FxRHY1Z0JFO0VBQ0U7QXJEeTVnQko7QXFEdDVnQkU7RUFDRTtBckR3NWdCSjtBcURyNWdCRTtFQUNFLGM5QjFCTztBdkJpN2dCWDs7QXNEOTdnQkE7RUFDRTtFNUJHQTtFQUNBO0VHYUU7QTdCbTdnQko7O0FzRC83Z0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQi9Cb3hCa0M7RStCbnhCbEMsYy9CbUt3QztFK0JqS3hDLHNCL0JQUztFK0JRVDtBdERpOGdCRjtBc0QvN2dCRTtFQUNFO0VBQ0EsYy9COEpzQztFK0I3SnRDO0VBQ0EseUIvQlpPO0UrQmFQLHFCL0JaTztBdkI2OGdCWDtBc0Q5N2dCRTtFQUNFO0VBQ0EsVS9CNHdCZ0M7RStCM3dCaEMsaUQvQitXMEI7QXZCaWxnQjlCOztBc0QxN2dCSTtFQUNFO0V6QmFGO0VBQ0E7QTdCaTdnQko7QXNEMTdnQkk7RXpCTkE7RUFDQTtBN0JtOGdCSjtBc0R6N2dCRTtFQUNFO0VBQ0EsVy9CeENPO0UrQnlDUCx5Qi9CME0wQjtFK0J6TTFCLHFCL0J5TTBCO0F2Qmt2Z0I5QjtBc0R4N2dCRTtFQUNFLGMvQnhDTztFK0J5Q1A7RUFFQTtFQUNBLHNCL0JsRE87RStCbURQLHFCL0JoRE87QXZCeStnQlg7O0F1RGgvZ0JFO0VBQ0U7RWpDZ0xFO0VpQzlLRixnQmhDbU8wQjtBdkJneGdCOUI7QXVEOStnQk07RTFCcUNGO0VBQ0E7QTdCNDhnQko7QXVENytnQk07RTFCa0JGO0VBQ0E7QTdCODlnQko7O0F1RDkvZ0JFO0VBQ0U7RWpDZ0xFO0VpQzlLRixnQmhDb08wQjtBdkI2eGdCOUI7QXVENS9nQk07RTFCcUNGO0VBQ0E7QTdCMDlnQko7QXVEMy9nQk07RTFCa0JGO0VBQ0E7QTdCNCtnQko7O0F3RDFnaEJBO0VBQ0U7RUFDQTtFbEM2SkU7RWtDM0pGLGdCakN3UjRCO0VpQ3ZSNUI7RUFDQTtFQUNBO0VBQ0E7RTNCS0U7RVNGRSxxSWtCREo7QXhENmdoQkY7QXNDeGdoQk07RWtCZk47SWxCZ0JRO0V0QzJnaEJOO0FBQ0Y7QXdCamhoQkU7RWdDR0k7QXhEaWhoQk47O0F3RDVnaEJFO0VBQ0U7QXhEK2doQko7O0F3RDFnaEJBO0VBQ0U7RUFDQTtBeEQ2Z2hCRjs7QXdEdGdoQkE7RUFDRSxvQmpDaTRCa0M7RWlDaDRCbEMsbUJqQ2c0QmtDO0VNdjVCaEM7QTdCaWloQko7O0F3RGpnaEJFO0VDakRBO0VBQ0EseUJsQzBFYTtBdkI0K2dCZjtBd0J4aWhCRTtFaUNWSTtFQUNBO0F6RHFqaEJOO0F5RGxqaEJJO0VBRUU7RUFDQTtBekRtamhCTjs7QXdEOWdoQkU7RUNqREE7RUFDQSx5QmxDMEVhO0F2QnkvZ0JmO0F3QnJqaEJFO0VpQ1ZJO0VBQ0E7QXpEa2toQk47QXlEL2poQkk7RUFFRTtFQUNBO0F6RGdraEJOOztBd0QzaGhCRTtFQ2pEQTtFQUNBLHlCbEMwRWE7QXZCc2doQmY7QXdCbGtoQkU7RWlDVkk7RUFDQTtBekQra2hCTjtBeUQ1a2hCSTtFQUVFO0VBQ0E7QXpENmtoQk47O0F3RHhpaEJFO0VDakRBO0VBQ0EseUJsQzBFYTtBdkJtaGhCZjtBd0Iva2hCRTtFaUNWSTtFQUNBO0F6RDRsaEJOO0F5RHpsaEJJO0VBRUU7RUFDQTtBekQwbGhCTjs7QXdEcmpoQkU7RUNqREE7RUFDQSx5QmxDMEVhO0F2QmdpaEJmO0F3QjVsaEJFO0VpQ1ZJO0VBQ0E7QXpEeW1oQk47QXlEdG1oQkk7RUFFRTtFQUNBO0F6RHVtaEJOOztBd0Rsa2hCRTtFQ2pEQTtFQUNBLHlCbEMwRWE7QXZCNmloQmY7QXdCem1oQkU7RWlDVkk7RUFDQTtBekRzbmhCTjtBeURubmhCSTtFQUVFO0VBQ0E7QXpEb25oQk47O0F3RC9raEJFO0VDakRBO0VBQ0EseUJsQzBFYTtBdkIwamhCZjtBd0J0bmhCRTtFaUNWSTtFQUNBO0F6RG1vaEJOO0F5RGhvaEJJO0VBRUU7RUFDQTtBekRpb2hCTjs7QXdENWxoQkU7RUNqREE7RUFDQSx5QmxDMEVhO0F2QnVraEJmO0F3Qm5vaEJFO0VpQ1ZJO0VBQ0E7QXpEZ3BoQk47QXlEN29oQkk7RUFFRTtFQUNBO0F6RDhvaEJOOztBMEQzcGhCQTtFQUNFO0VBQ0EsbUJuQ3l6QmtDO0VtQ3Z6QmxDLHlCbkNLUztFTVNQO0E3QmdwaEJKO0FpQ3RtaEJJO0V5QjVESjtJQVFJO0UxRDhwaEJGO0FBQ0Y7O0EwRDNwaEJBO0VBQ0U7RUFDQTtFN0JJRTtBN0IycGhCSjs7QTJEenFoQkE7RUFDRTtFQUNBO0VBQ0EsbUJwQ3k5QmtDO0VvQ3g5QmxDO0U5QlVFO0E3Qm1xaEJKOztBMkR4cWhCQTtFQUVFO0EzRDBxaEJGOztBMkR0cWhCQTtFQUNFLGdCcEM2UTRCO0F2QjQ1Z0I5Qjs7QTJEanFoQkE7RUFDRTtBM0RvcWhCRjtBMkRqcWhCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0RtcWhCSjs7QTJEenBoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEOHBoQnZFO0E0RDFzaEJFO0VBQ0U7QTVENHNoQko7QTREenNoQkU7RUFDRTtBNUQyc2hCSjs7QTJEcnFoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEMHFoQnZFO0E0RHR0aEJFO0VBQ0U7QTVEd3RoQko7QTREcnRoQkU7RUFDRTtBNUR1dGhCSjs7QTJEanJoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEc3JoQnZFO0E0RGx1aEJFO0VBQ0U7QTVEb3VoQko7QTREanVoQkU7RUFDRTtBNURtdWhCSjs7QTJEN3JoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEa3NoQnZFO0E0RDl1aEJFO0VBQ0U7QTVEZ3ZoQko7QTREN3VoQkU7RUFDRTtBNUQrdWhCSjs7QTJEenNoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEOHNoQnZFO0E0RDF2aEJFO0VBQ0U7QTVENHZoQko7QTREenZoQkU7RUFDRTtBNUQydmhCSjs7QTJEcnRoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEMHRoQnZFO0E0RHR3aEJFO0VBQ0U7QTVEd3doQko7QTREcndoQkU7RUFDRTtBNUR1d2hCSjs7QTJEanVoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEc3VoQnZFO0E0RGx4aEJFO0VBQ0U7QTVEb3hoQko7QTREanhoQkU7RUFDRTtBNURteGhCSjs7QTJEN3VoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEa3ZoQnZFO0E0RDl4aEJFO0VBQ0U7QTVEZ3loQko7QTREN3hoQkU7RUFDRTtBNUQreGhCSjs7QTZEdnloQkU7RUFDRTtJQUFPO0U3RDJ5aEJUO0U2RDF5aEJFO0lBQUs7RTdENnloQlA7QUFDRjtBNkQxeWhCQTtFQUNFO0VBQ0EsWXRDaytCa0M7RXNDaitCbEM7RUFDQTtFdkN3S0k7RXVDdEtKLHlCdENMUztFTVNQO0E3Qnl5aEJKOztBNkR4eWhCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV3RDakJTO0VzQ2tCVDtFQUNBO0VBQ0EseUJ0Q3U5QmtDO0VlbCtCOUIsMkJ1QllKO0E3RDJ5aEJGO0FzQ256aEJNO0V1QkROO0l2QkVRO0V0Q3N6aEJOO0FBQ0Y7O0E2RDd5aEJBO0VyQllFO0VxQlZBO0E3RGd6aEJGOztBNkQ1eWhCRTtFQUNFO0E3RCt5aEJKO0E2RDV5aEJNO0VBSko7SUFLTTtFN0QreWhCTjtBQUNGOztBOEQxMWhCQTtFQUNFO0VBQ0E7QTlENjFoQkY7O0E4RDExaEJBO0VBQ0U7QTlENjFoQkY7O0ErRC8xaEJBO0VBQ0U7RUFDQTtFQUdBO0VBQ0E7RWxDUUU7QTdCeTFoQko7O0ErRHYxaEJBO0VBQ0U7RUFDQSxjeENSUztFd0NTVDtBL0QwMWhCRjtBd0JqMmhCRTtFdUNXRTtFQUNBLGN4Q2RPO0V3Q2VQO0VBQ0EseUJ4Q3RCTztBdkIrMmhCWDtBK0R0MWhCRTtFQUNFLGN4Q2xCTztFd0NtQlAseUJ4QzFCTztBdkJrM2hCWDs7QStELzBoQkE7RUFDRTtFQUNBO0VBQ0E7RUFHQSxzQnhDM0NTO0V3QzRDVDtBL0RnMWhCRjtBK0Q5MGhCRTtFbEMxQkU7RUFDQTtBN0IyMmhCSjtBK0Q5MGhCRTtFbENoQkU7RUFDQTtBN0JpMmhCSjtBK0Q5MGhCRTtFQUVFLGN4Q2xETztFd0NtRFA7RUFDQSxzQnhDMURPO0F2Qnk0aEJYO0ErRDMwaEJFO0VBQ0U7RUFDQSxXeENoRU87RXdDaUVQLHlCeENrTDBCO0V3Q2pMMUIscUJ4Q2lMMEI7QXZCNHBoQjlCO0ErRDEwaEJFO0VBQ0U7QS9ENDBoQko7QStEMTBoQkk7RUFDRTtFQUNBLHFCeEMySndCO0F2QmlyaEI5Qjs7QStEOXpoQkk7RUFDRTtBL0RpMGhCTjtBK0Q5emhCUTtFbEMxQko7RUFaQTtBN0J3MmhCSjtBK0Q3emhCUTtFbEMzQ0o7RUFZQTtBN0JnMmhCSjtBK0Q1emhCUTtFQUNFO0EvRDh6aEJWO0ErRDN6aEJRO0VBQ0UscUJ4QzBIb0I7RXdDekhwQjtBL0Q2emhCVjtBK0QzemhCVTtFQUNFO0VBQ0Esc0J4Q3FIa0I7QXZCd3NoQjlCOztBaUN4M2hCSTtFOEJtQ0E7SUFDRTtFL0R5MWhCSjtFK0R0MWhCTTtJbEMxQko7SUFaQTtFN0JnNGhCRjtFK0RyMWhCTTtJbEMzQ0o7SUFZQTtFN0J3M2hCRjtFK0RwMWhCTTtJQUNFO0UvRHMxaEJSO0UrRG4xaEJNO0lBQ0UscUJ4QzBIb0I7SXdDekhwQjtFL0RxMWhCUjtFK0RuMWhCUTtJQUNFO0lBQ0Esc0J4Q3FIa0I7RXZCZ3VoQjVCO0FBQ0Y7QWlDajVoQkk7RThCbUNBO0lBQ0U7RS9EaTNoQko7RStEOTJoQk07SWxDMUJKO0lBWkE7RTdCdzVoQkY7RStENzJoQk07SWxDM0NKO0lBWUE7RTdCZzVoQkY7RStENTJoQk07SUFDRTtFL0Q4MmhCUjtFK0QzMmhCTTtJQUNFLHFCeEMwSG9CO0l3Q3pIcEI7RS9ENjJoQlI7RStEMzJoQlE7SUFDRTtJQUNBLHNCeENxSGtCO0V2Qnd2aEI1QjtBQUNGO0FpQ3o2aEJJO0U4Qm1DQTtJQUNFO0UvRHk0aEJKO0UrRHQ0aEJNO0lsQzFCSjtJQVpBO0U3Qmc3aEJGO0UrRHI0aEJNO0lsQzNDSjtJQVlBO0U3Qnc2aEJGO0UrRHA0aEJNO0lBQ0U7RS9EczRoQlI7RStEbjRoQk07SUFDRSxxQnhDMEhvQjtJd0N6SHBCO0UvRHE0aEJSO0UrRG40aEJRO0lBQ0U7SUFDQSxzQnhDcUhrQjtFdkJneGhCNUI7QUFDRjtBaUNqOGhCSTtFOEJtQ0E7SUFDRTtFL0RpNmhCSjtFK0Q5NWhCTTtJbEMxQko7SUFaQTtFN0J3OGhCRjtFK0Q3NWhCTTtJbEMzQ0o7SUFZQTtFN0JnOGhCRjtFK0Q1NWhCTTtJQUNFO0UvRDg1aEJSO0UrRDM1aEJNO0lBQ0UscUJ4QzBIb0I7SXdDekhwQjtFL0Q2NWhCUjtFK0QzNWhCUTtJQUNFO0lBQ0Esc0J4Q3FIa0I7RXZCd3loQjVCO0FBQ0Y7QStEaDVoQkE7RWxDbkhJO0E3QnNnaUJKO0ErRGg1aEJFO0VBQ0U7QS9EazVoQko7QStEaDVoQkk7RUFDRTtBL0RrNWhCTjs7QWdFM2hpQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EMjRoQjNDO0F3Qm5oaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFNmhpQlI7QWdFMWhpQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRG81aEIxRTs7QWdFemlpQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EeTVoQjNDO0F3QmppaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFMmlpQlI7QWdFeGlpQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRGs2aEIxRTs7QWdFdmppQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EdTZoQjNDO0F3Qi9paUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFeWppQlI7QWdFdGppQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRGc3aEIxRTs7QWdFcmtpQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EcTdoQjNDO0F3QjdqaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFdWtpQlI7QWdFcGtpQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRDg3aEIxRTs7QWdFbmxpQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EbThoQjNDO0F3QjNraUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFcWxpQlI7QWdFbGxpQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRDQ4aEIxRTs7QWdFam1pQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EaTloQjNDO0F3QnpsaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFbW1pQlI7QWdFaG1pQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRDA5aEIxRTs7QWdFL21pQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EKzloQjNDO0F3QnZtaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFaW5pQlI7QWdFOW1pQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRHcraEIxRTs7QWdFN25pQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9ENitoQjNDO0F3QnJuaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFK25pQlI7QWdFNW5pQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRHMvaEIxRTs7QWlFOW9pQkE7RUFDRTtFM0NtTEk7RTJDakxKLGdCMUM4UjRCO0UwQzdSNUI7RUFDQSxXMUNZUztFMENYVCx5QjFDeWxDa0M7RTBDeGxDbEM7QWpFaXBpQkY7QXdCNW9pQkU7RXlDREUsVzFDTU87RTBDTFA7QWpFZ3BpQko7QXdCNW9pQkU7RXlDQ0k7QWpFOG9pQk47O0FpRW5vaUJBO0VBQ0U7RUFDQTtFQUNBO0FqRXNvaUJGOztBaUVob2lCQTtFQUNFO0FqRW1vaUJGOztBa0V6cWlCQTtFQUdFLGlCM0MyNEJrQztFMkMxNEJsQyxnQjNDMDRCa0M7RUQxdEI5QjtFNEM3S0osMkMzQzQ0QmtDO0UyQzM0QmxDO0VBQ0E7RUFDQSxnRDNDNjRCa0M7RTJDNTRCbEM7RXJDT0U7QTdCbXFpQko7QWtFdnFpQkU7RUFDRSxzQjNDZzRCZ0M7QXZCeXlnQnBDO0FrRXRxaUJFO0VBQ0U7QWxFd3FpQko7QWtFcnFpQkU7RUFDRTtFQUNBO0FsRXVxaUJKO0FrRXBxaUJFO0VBQ0U7QWxFc3FpQko7O0FrRWxxaUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYzNDdkJTO0UyQ3dCVCwyQzNDcTNCa0M7RTJDcDNCbEM7RUFDQTtFckNaRTtFQUNBO0E3QmtyaUJKOztBa0VucWlCQTtFQUNFLGdCM0NtMkJrQztBdkJtMGdCcEM7O0FtRTVzaUJBO0VBRUU7QW5FOHNpQkY7QW1FNXNpQkU7RUFDRTtFQUNBO0FuRThzaUJKOztBbUV6c2lCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGE1QzRwQmtDO0U0QzNwQmxDO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QW5FMHNpQkY7O0FtRW5zaUJBO0VBQ0U7RUFDQTtFQUNBLGM1Q2k1QmtDO0U0Qy80QmxDO0FuRXFzaUJGO0FtRWxzaUJFO0U3QjNCSSxtQzZCNEJGO0VBQ0EsOEI1Q3U2QmdDO0F2QjZ4Z0JwQztBc0M3dGlCTTtFNkJ1Qko7STdCdEJNO0V0Q2d1aUJOO0FBQ0Y7QW1FdnNpQkU7RUFDRSxlNUNxNkJnQztBdkJveWdCcEM7QW1FcnNpQkU7RUFDRSxzQjVDazZCZ0M7QXZCcXlnQnBDOztBbUVuc2lCQTtFQUNFO0VBQ0E7QW5Fc3NpQkY7QW1FcHNpQkU7RUFDRTtFQUNBO0FuRXNzaUJKO0FtRW5zaUJFOztFQUVFO0FuRXFzaUJKO0FtRWxzaUJFO0VBQ0U7QW5Fb3NpQko7O0FtRWhzaUJBO0VBQ0U7RUFDQTtFQUNBO0FuRW1zaUJGO0FtRWhzaUJFO0VBQ0U7RUFDQTtFQUNBO0VBQUE7RUFDQTtBbkVrc2lCSjtBbUU5cmlCRTtFQUNFO0VBQ0E7RUFDQTtBbkVnc2lCSjtBbUU5cmlCSTtFQUNFO0FuRWdzaUJOO0FtRTdyaUJJO0VBQ0U7QW5FK3JpQk47O0FtRXpyaUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBLHNCNUMzR1M7RTRDNEdUO0VBQ0E7RXRDbEdFO0VzQ3NHRjtBbkV3cmlCRjs7QW1FcHJpQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhNUNnakJrQztFNEMvaUJsQztFQUNBO0VBQ0Esc0I1Q2xIUztBdkJ5eWlCWDtBbUVwcmlCRTtFQUFTO0FuRXVyaUJYO0FtRXRyaUJFO0VBQVMsWTVDK3pCeUI7QXZCMDNnQnBDOztBbUVwcmlCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGtCNUM2ekJrQztFNEM1ekJsQztFdEN0SEU7RUFDQTtBN0I4eWlCSjtBbUV0cmlCRTtFQUNFLGtCNUN3ekJnQztFNEN0ekJoQztBbkV1cmlCSjs7QW1FbHJpQkE7RUFDRTtFQUNBLGdCOUN4SmlCO0FyQjYwaUJuQjs7QW1FaHJpQkE7RUFDRTtFQUdBO0VBQ0EsYTVDMHdCa0M7QXZCdTZnQnBDOztBbUU3cWlCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdEN6SUU7RUFDQTtBN0IwemlCSjtBbUU1cWlCRTtFQUNFO0FuRThxaUJKOztBbUV6cWlCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FNHFpQkY7O0FpQ256aUJJO0VrQzZJRjtJQUNFLGdCNUN1d0JnQztJNEN0d0JoQztFbkUwcWlCRjs7RW1FdnFpQkE7SUFDRTtFbkUwcWlCRjtFbUV4cWlCRTtJQUNFO0VuRTBxaUJKOztFbUV0cWlCQTtJQUNFO0VuRXlxaUJGO0VtRXZxaUJFO0lBQ0U7SUFDQTtJQUFBO0VuRXlxaUJKOztFbUVqcWlCQTtJQUFZLGdCNUMrdUJzQjtFdkJzN2dCbEM7QUFDRjtBaUM3MGlCSTtFa0MyS0Y7O0lBRUUsZ0I1Q3V1QmdDO0V2Qjg3Z0JsQztBQUNGO0FpQ24xaUJJO0VrQ2tMRjtJQUFZLGlCNUNpdUJzQjtFdkJvOGdCbEM7QUFDRjtBb0VuNWlCQTtFQUNFO0VBQ0EsYTdDZ3JCa0M7RTZDL3FCbEM7RUFDQSxTN0M2MUJrQztFOENqMkJsQyxpQ2hER3VCO0VnRER2QjtFQUNBLGdCOUM0UjRCO0U4QzNSNUIsZ0JoRENpQjtFZ0RBakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9DcUtJO0U4Q3pLSjtFQUNBO0FwRSs1aUJGO0FvRTc1aUJFO0VBQVMsWTdDaTFCeUI7QXZCK2toQnBDO0FvRTk1aUJFO0VBQ0U7RUFDQTtFQUNBLGE3Q2kxQmdDO0U2Q2gxQmhDLGM3Q2kxQmdDO0F2QitraEJwQztBb0U5NWlCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwRWc2aUJOOztBb0UzNWlCQTtFQUNFO0FwRTg1aUJGO0FvRTU1aUJFO0VBQ0U7QXBFODVpQko7QW9FNTVpQkk7RUFDRTtFQUNBO0VBQ0Esc0I3Q3ZCSztBdkJxN2lCWDs7QW9FejVpQkE7RUFDRTtBcEU0NWlCRjtBb0UxNWlCRTtFQUNFO0VBQ0EsYTdDbXpCZ0M7RTZDbHpCaEMsYzdDaXpCZ0M7QXZCMm1oQnBDO0FvRTE1aUJJO0VBQ0U7RUFDQTtFQUNBLHdCN0N2Q0s7QXZCbThpQlg7O0FvRXY1aUJBO0VBQ0U7QXBFMDVpQkY7QW9FeDVpQkU7RUFDRTtBcEUwNWlCSjtBb0V4NWlCSTtFQUNFO0VBQ0E7RUFDQSx5QjdDckRLO0F2Qis4aUJYOztBb0VyNWlCQTtFQUNFO0FwRXc1aUJGO0FvRXQ1aUJFO0VBQ0U7RUFDQSxhN0NxeEJnQztFNkNweEJoQyxjN0NteEJnQztBdkJxb2hCcEM7QW9FdDVpQkk7RUFDRTtFQUNBO0VBQ0EsdUI3Q3JFSztBdkI2OWlCWDs7QW9FbjRpQkE7RUFDRSxnQjdDK3VCa0M7RTZDOXVCbEM7RUFDQSxXN0N2R1M7RTZDd0dUO0VBQ0Esc0I3Qy9GUztFTUNQO0E3QnEraUJKOztBc0V2L2lCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGEvQzhxQmtDO0UrQzdxQmxDO0VBQ0EsZ0IvQysyQmtDO0U4Q3AzQmxDLGlDaERHdUI7RWdERHZCO0VBQ0EsZ0I5QzRSNEI7RThDM1I1QixnQmhEQ2lCO0VnREFqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0NxS0k7RWdEeEtKO0VBQ0Esc0IvQ05TO0UrQ09UO0VBQ0E7RXpDR0U7QTdCa2dqQko7QXNFamdqQkU7RUFDRTtFQUNBO0VBQ0EsVy9DKzJCZ0M7RStDOTJCaEMsYy9DKzJCZ0M7RStDOTJCaEM7QXRFbWdqQko7QXNFamdqQkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RWtnakJOOztBc0U3L2lCQTtFQUNFLHFCL0NnMkJrQztBdkJncWhCcEM7QXNFOS9pQkU7RUFDRTtBdEVnZ2pCSjtBc0U5L2lCSTtFQUNFO0VBQ0E7RUFDQSxxQy9DMjFCOEI7QXZCcXFoQnBDO0FzRTcvaUJJO0VBQ0UsVy9DMEx3QjtFK0N6THhCO0VBQ0Esc0IvQzdDSztBdkI0aWpCWDs7QXNFMS9pQkE7RUFDRSxtQi9DNDBCa0M7QXZCaXJoQnBDO0FzRTMvaUJFO0VBQ0U7RUFDQSxhL0N3MEJnQztFK0N2MEJoQyxZL0NzMEJnQztFK0NyMEJoQztBdEU2L2lCSjtBc0UzL2lCSTtFQUNFO0VBQ0E7RUFDQSx1Qy9DbzBCOEI7QXZCeXJoQnBDO0FzRTEvaUJJO0VBQ0UsUy9DbUt3QjtFK0NsS3hCO0VBQ0Esd0IvQ3BFSztBdkJna2pCWDs7QXNFdi9pQkE7RUFDRSxrQi9DcXpCa0M7QXZCcXNoQnBDO0FzRXgvaUJFO0VBQ0U7QXRFMC9pQko7QXNFeC9pQkk7RUFDRTtFQUNBO0VBQ0Esd0MvQ2d6QjhCO0F2QjBzaEJwQztBc0V2L2lCSTtFQUNFLFEvQytJd0I7RStDOUl4QjtFQUNBLHlCL0N4Rks7QXZCaWxqQlg7QXNFcC9pQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFcvQzR4QmdDO0UrQzN4QmhDO0VBQ0E7RUFDQTtBdEVzL2lCSjs7QXNFbC9pQkE7RUFDRSxvQi9DcXhCa0M7QXZCZ3VoQnBDO0FzRW4vaUJFO0VBQ0U7RUFDQSxhL0NpeEJnQztFK0NoeEJoQyxZL0Mrd0JnQztFK0M5d0JoQztBdEVxL2lCSjtBc0VuL2lCSTtFQUNFO0VBQ0E7RUFDQSxzQy9DNndCOEI7QXZCd3VoQnBDO0FzRWwvaUJJO0VBQ0UsVS9DNEd3QjtFK0MzR3hCO0VBQ0EsdUIvQzNISztBdkIrbWpCWDs7QXNFOTlpQkE7RUFDRTtFQUNBO0VoRDBCSTtFZ0R2QkoseUIvQyt0QmtDO0UrQzl0QmxDO0V6Q25JRTtFQUNBO0E3Qm9takJKO0FzRS85aUJFO0VBQ0U7QXRFaStpQko7O0FzRTc5aUJBO0VBQ0U7RUFDQSxjL0N4SlM7QXZCd25qQlg7O0F1RTNuakJBO0VBQ0U7QXZFOG5qQkY7O0F1RTNuakJBO0VBQ0U7QXZFOG5qQkY7O0F1RTNuakJBO0VBQ0U7RUFDQTtFQUNBO0F2RThuakJGO0F3RXJwakJFO0VBQ0U7RUFDQTtFQUNBO0F4RXVwakJKOztBdUUvbmpCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakNsQkksc0NpQ21CSjtBdkVrb2pCRjtBc0NqcGpCTTtFaUNRTjtJakNQUTtFdENvcGpCTjtBQUNGOztBdUVwb2pCQTs7O0VBR0U7QXZFdW9qQkY7O0F1RXBvakJBOztFQUVFO0F2RXVvakJGOztBdUVwb2pCQTs7RUFFRTtBdkV1b2pCRjs7QXVFOW5qQkU7RUFDRTtFQUNBO0VBQ0E7QXZFaW9qQko7QXVFOW5qQkU7OztFQUdFO0VBQ0E7QXZFZ29qQko7QXVFN25qQkU7O0VBRUU7RUFDQTtFakM1REUsMkJpQzZERjtBdkUrbmpCSjtBc0N4cmpCTTtFaUNxREo7O0lqQ3BETTtFdEM0cmpCTjtBQUNGOztBdUU1bmpCQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLFVoRHM5Qm1DO0VnRHI5Qm5DO0VBQ0EsV2hEM0ZTO0VnRDRGVDtFQUNBO0VBQ0E7RUFDQSxZaERpOUJtQztFZXZpQy9CLDhCaUN1Rko7QXZFOG5qQkY7QXNDanRqQk07RWlDa0VOOztJakNqRVE7RXRDcXRqQk47QUFDRjtBd0IzdGpCRTs7O0UrQzJGRSxXaERwR087RWdEcUdQO0VBQ0E7RUFDQSxZaEQwOEJpQztBdkIycmhCckM7O0F1RWxvakJBO0VBQ0U7QXZFcW9qQkY7O0F1RWhvakJBO0VBQ0U7QXZFbW9qQkY7O0F1RTVuakJBOztFQUVFO0VBQ0EsV2hEbThCbUM7RWdEbDhCbkMsWWhEazhCbUM7RWdEajhCbkM7QXZFK25qQkY7O0F1RTduakJBO0VBQ0U7QXZFZ29qQkY7O0F1RTluakJBO0VBQ0U7QXZFaW9qQkY7O0F1RXhuakJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBLGlCaER5NUJtQztFZ0R4NUJuQyxnQmhEdzVCbUM7RWdEdjVCbkM7QXZFMG5qQkY7QXVFeG5qQkU7RUFDRTtFQUNBO0VBQ0EsV2hEdTVCaUM7RWdEdDVCakMsV2hEdTVCaUM7RWdEdDVCakMsaUJoRHc1QmlDO0VnRHY1QmpDLGdCaER1NUJpQztFZ0R0NUJqQztFQUNBO0VBQ0Esc0JoRG5LTztFZ0RvS1A7RUFFQTtFQUNBO0VBQ0E7RWpDL0pFLDZCaUNnS0Y7QXZFeW5qQko7QXNDcnhqQk07RWlDNklKO0lqQzVJTTtFdEN3eGpCTjtBQUNGO0F1RTNuakJFO0VBQ0U7QXZFNm5qQko7O0F1RXBuakJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXaEQ5TFM7RWdEK0xUO0F2RXVuakJGOztBeUV6empCQTtFQUNFO0lBQUs7RXpFNnpqQkw7QUFDRjtBeUUzempCQTtFQUNFO0VBQ0EsV2xEc2tDd0I7RWtEcmtDeEIsWWxEcWtDd0I7RWtEcGtDeEIsd0JsRHNrQ3dCO0VrRHJrQ3hCO0VBQ0E7RUFFQTtFQUNBO0F6RTR6akJGOztBeUV6empCQTtFQUNFLFdsRGdrQ3dCO0VrRC9qQ3hCLFlsRCtqQ3dCO0VrRDlqQ3hCLG1CbERna0N3QjtBdkI0dmhCMUI7O0F5RXJ6akJBO0VBQ0U7SUFDRTtFekV3empCRjtFeUV0empCQTtJQUNFO0lBQ0E7RXpFd3pqQkY7QUFDRjtBeUVyempCQTtFQUNFO0VBQ0EsV2xEc2lDd0I7RWtEcmlDeEIsWWxEcWlDd0I7RWtEcGlDeEIsd0JsRHNpQ3dCO0VrRHJpQ3hCO0VBRUE7RUFDQTtFQUNBO0F6RXN6akJGOztBeUVuempCQTtFQUNFLFdsRGdpQ3dCO0VrRC9oQ3hCLFlsRCtoQ3dCO0F2QnV4aEIxQjs7QXlFbHpqQkU7RUFDRTs7SUFFRTtFekVxempCSjtBQUNGO0EwRWozakJBO0VBQXFCO0ExRW8zakJyQjs7QTBFbjNqQkE7RUFBcUI7QTFFdTNqQnJCOztBMEV0M2pCQTtFQUFxQjtBMUUwM2pCckI7O0EwRXozakJBO0VBQXFCO0ExRTYzakJyQjs7QTBFNTNqQkE7RUFBcUI7QTFFZzRqQnJCOztBMEUvM2pCQTtFQUFxQjtBMUVtNGpCckI7O0EyRXI0akJFO0VBQ0U7QTNFdzRqQko7O0F3QjkzakJFOzs7RW1ETEk7QTNFeTRqQk47O0EyRS80akJFO0VBQ0U7QTNFazVqQko7O0F3Qng0akJFOzs7RW1ETEk7QTNFbTVqQk47O0EyRXo1akJFO0VBQ0U7QTNFNDVqQko7O0F3Qmw1akJFOzs7RW1ETEk7QTNFNjVqQk47O0EyRW42akJFO0VBQ0U7QTNFczZqQko7O0F3QjU1akJFOzs7RW1ETEk7QTNFdTZqQk47O0EyRTc2akJFO0VBQ0U7QTNFZzdqQko7O0F3QnQ2akJFOzs7RW1ETEk7QTNFaTdqQk47O0EyRXY3akJFO0VBQ0U7QTNFMDdqQko7O0F3Qmg3akJFOzs7RW1ETEk7QTNFMjdqQk47O0EyRWo4akJFO0VBQ0U7QTNFbzhqQko7O0F3QjE3akJFOzs7RW1ETEk7QTNFcThqQk47O0EyRTM4akJFO0VBQ0U7QTNFODhqQko7O0F3QnA4akJFOzs7RW1ETEk7QTNFKzhqQk47O0E0RTk4akJBO0VBQ0U7QTVFaTlqQkY7O0E0RTk4akJBO0VBQ0U7QTVFaTlqQkY7O0E2RTU5akJBO0VBQWtCO0E3RWcrakJsQjs7QTZFLzlqQkE7RUFBa0I7QTdFbStqQmxCOztBNkVsK2pCQTtFQUFrQjtBN0VzK2pCbEI7O0E2RXIrakJBO0VBQWtCO0E3RXkrakJsQjs7QTZFeCtqQkE7RUFBa0I7QTdFNCtqQmxCOztBNkUxK2pCQTtFQUFtQjtBN0U4K2pCbkI7O0E2RTcrakJBO0VBQW1CO0E3RWkvakJuQjs7QTZFaC9qQkE7RUFBbUI7QTdFby9qQm5COztBNkVuL2pCQTtFQUFtQjtBN0V1L2pCbkI7O0E2RXQvakJBO0VBQW1CO0E3RTAvakJuQjs7QTZFdi9qQkU7RUFDRTtBN0UwL2pCSjs7QTZFMy9qQkU7RUFDRTtBN0U4L2pCSjs7QTZFLy9qQkU7RUFDRTtBN0VrZ2tCSjs7QTZFbmdrQkU7RUFDRTtBN0VzZ2tCSjs7QTZFdmdrQkU7RUFDRTtBN0UwZ2tCSjs7QTZFM2drQkU7RUFDRTtBN0U4Z2tCSjs7QTZFL2drQkU7RUFDRTtBN0VraGtCSjs7QTZFbmhrQkU7RUFDRTtBN0VzaGtCSjs7QTZFbGhrQkE7RUFDRTtBN0VxaGtCRjs7QTZFOWdrQkE7RUFDRTtBN0VpaGtCRjs7QTZFOWdrQkE7RUFDRTtBN0VpaGtCRjs7QTZFOWdrQkE7RUFDRTtFQUNBO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0VBQ0E7QTdFaWhrQkY7O0E2RTlna0JBO0VBQ0U7RUFDQTtBN0VpaGtCRjs7QTZFOWdrQkE7RUFDRTtFQUNBO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0E3RWloa0JGOztBd0V6bGtCRTtFQUNFO0VBQ0E7RUFDQTtBeEU0bGtCSjs7QThFcmxrQk07RUFBd0I7QTlFeWxrQjlCOztBOEV6bGtCTTtFQUF3QjtBOUU2bGtCOUI7O0E4RTdsa0JNO0VBQXdCO0E5RWlta0I5Qjs7QThFam1rQk07RUFBd0I7QTlFcW1rQjlCOztBOEVybWtCTTtFQUF3QjtBOUV5bWtCOUI7O0E4RXpta0JNO0VBQXdCO0E5RTZta0I5Qjs7QThFN21rQk07RUFBd0I7QTlFaW5rQjlCOztBOEVqbmtCTTtFQUF3QjtBOUVxbmtCOUI7O0E4RXJua0JNO0VBQXdCO0E5RXlua0I5Qjs7QWlDeGtrQkk7RTZDakRFO0lBQXdCO0U5RThua0I1Qjs7RThFOW5rQkk7SUFBd0I7RTlFa29rQjVCOztFOEVsb2tCSTtJQUF3QjtFOUVzb2tCNUI7O0U4RXRva0JJO0lBQXdCO0U5RTBva0I1Qjs7RThFMW9rQkk7SUFBd0I7RTlFOG9rQjVCOztFOEU5b2tCSTtJQUF3QjtFOUVrcGtCNUI7O0U4RWxwa0JJO0lBQXdCO0U5RXNwa0I1Qjs7RThFdHBrQkk7SUFBd0I7RTlFMHBrQjVCOztFOEUxcGtCSTtJQUF3QjtFOUU4cGtCNUI7QUFDRjtBaUM5bWtCSTtFNkNqREU7SUFBd0I7RTlFbXFrQjVCOztFOEVucWtCSTtJQUF3QjtFOUV1cWtCNUI7O0U4RXZxa0JJO0lBQXdCO0U5RTJxa0I1Qjs7RThFM3FrQkk7SUFBd0I7RTlFK3FrQjVCOztFOEUvcWtCSTtJQUF3QjtFOUVtcmtCNUI7O0U4RW5ya0JJO0lBQXdCO0U5RXVya0I1Qjs7RThFdnJrQkk7SUFBd0I7RTlFMnJrQjVCOztFOEUzcmtCSTtJQUF3QjtFOUUrcmtCNUI7O0U4RS9ya0JJO0lBQXdCO0U5RW1za0I1QjtBQUNGO0FpQ25wa0JJO0U2Q2pERTtJQUF3QjtFOUV3c2tCNUI7O0U4RXhza0JJO0lBQXdCO0U5RTRza0I1Qjs7RThFNXNrQkk7SUFBd0I7RTlFZ3RrQjVCOztFOEVodGtCSTtJQUF3QjtFOUVvdGtCNUI7O0U4RXB0a0JJO0lBQXdCO0U5RXd0a0I1Qjs7RThFeHRrQkk7SUFBd0I7RTlFNHRrQjVCOztFOEU1dGtCSTtJQUF3QjtFOUVndWtCNUI7O0U4RWh1a0JJO0lBQXdCO0U5RW91a0I1Qjs7RThFcHVrQkk7SUFBd0I7RTlFd3VrQjVCO0FBQ0Y7QWlDeHJrQkk7RTZDakRFO0lBQXdCO0U5RTZ1a0I1Qjs7RThFN3VrQkk7SUFBd0I7RTlFaXZrQjVCOztFOEVqdmtCSTtJQUF3QjtFOUVxdmtCNUI7O0U4RXJ2a0JJO0lBQXdCO0U5RXl2a0I1Qjs7RThFenZrQkk7SUFBd0I7RTlFNnZrQjVCOztFOEU3dmtCSTtJQUF3QjtFOUVpd2tCNUI7O0U4RWp3a0JJO0lBQXdCO0U5RXF3a0I1Qjs7RThFcndrQkk7SUFBd0I7RTlFeXdrQjVCOztFOEV6d2tCSTtJQUF3QjtFOUU2d2tCNUI7QUFDRjtBOEVwd2tCQTtFQUVJO0lBQXFCO0U5RXN3a0J2Qjs7RThFdHdrQkU7SUFBcUI7RTlFMHdrQnZCOztFOEUxd2tCRTtJQUFxQjtFOUU4d2tCdkI7O0U4RTl3a0JFO0lBQXFCO0U5RWt4a0J2Qjs7RThFbHhrQkU7SUFBcUI7RTlFc3hrQnZCOztFOEV0eGtCRTtJQUFxQjtFOUUweGtCdkI7O0U4RTF4a0JFO0lBQXFCO0U5RTh4a0J2Qjs7RThFOXhrQkU7SUFBcUI7RTlFa3lrQnZCOztFOEVseWtCRTtJQUFxQjtFOUVzeWtCdkI7QUFDRjtBK0U1emtCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FOHprQkY7QStFNXprQkU7RUFDRTtFQUNBO0EvRTh6a0JKO0ErRTN6a0JFOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRTZ6a0JKOztBK0VwemtCSTtFQUNFO0EvRXV6a0JOOztBK0V4emtCSTtFQUNFO0EvRTJ6a0JOOztBK0U1emtCSTtFQUNFO0EvRSt6a0JOOztBK0VoMGtCSTtFQUNFO0EvRW0wa0JOOztBZ0Y1MWtCSTtFQUFnQztBaEZnMmtCcEM7O0FnRi8xa0JJO0VBQWdDO0FoRm0ya0JwQzs7QWdGbDJrQkk7RUFBZ0M7QWhGczJrQnBDOztBZ0ZyMmtCSTtFQUFnQztBaEZ5MmtCcEM7O0FnRnYya0JJO0VBQThCO0FoRjIya0JsQzs7QWdGMTJrQkk7RUFBOEI7QWhGODJrQmxDOztBZ0Y3MmtCSTtFQUE4QjtBaEZpM2tCbEM7O0FnRmgza0JJO0VBQThCO0FoRm8za0JsQzs7QWdGbjNrQkk7RUFBOEI7QWhGdTNrQmxDOztBZ0Z0M2tCSTtFQUE4QjtBaEYwM2tCbEM7O0FnRnoza0JJO0VBQThCO0FoRjYza0JsQzs7QWdGNTNrQkk7RUFBOEI7QWhGZzRrQmxDOztBZ0Y5M2tCSTtFQUFvQztBaEZrNGtCeEM7O0FnRmo0a0JJO0VBQW9DO0FoRnE0a0J4Qzs7QWdGcDRrQkk7RUFBb0M7QWhGdzRrQnhDOztBZ0Z2NGtCSTtFQUFvQztBaEYyNGtCeEM7O0FnRjE0a0JJO0VBQW9DO0FoRjg0a0J4Qzs7QWdGNTRrQkk7RUFBaUM7QWhGZzVrQnJDOztBZ0YvNGtCSTtFQUFpQztBaEZtNWtCckM7O0FnRmw1a0JJO0VBQWlDO0FoRnM1a0JyQzs7QWdGcjVrQkk7RUFBaUM7QWhGeTVrQnJDOztBZ0Z4NWtCSTtFQUFpQztBaEY0NWtCckM7O0FnRjE1a0JJO0VBQWtDO0FoRjg1a0J0Qzs7QWdGNzVrQkk7RUFBa0M7QWhGaTZrQnRDOztBZ0ZoNmtCSTtFQUFrQztBaEZvNmtCdEM7O0FnRm42a0JJO0VBQWtDO0FoRnU2a0J0Qzs7QWdGdDZrQkk7RUFBa0M7QWhGMDZrQnRDOztBZ0Z6NmtCSTtFQUFrQztBaEY2NmtCdEM7O0FnRjM2a0JJO0VBQWdDO0FoRis2a0JwQzs7QWdGOTZrQkk7RUFBZ0M7QWhGazdrQnBDOztBZ0ZqN2tCSTtFQUFnQztBaEZxN2tCcEM7O0FnRnA3a0JJO0VBQWdDO0FoRnc3a0JwQzs7QWdGdjdrQkk7RUFBZ0M7QWhGMjdrQnBDOztBZ0YxN2tCSTtFQUFnQztBaEY4N2tCcEM7O0FpQ2w3a0JJO0UrQ2xEQTtJQUFnQztFaEZ5K2tCbEM7O0VnRngra0JFO0lBQWdDO0VoRjQra0JsQzs7RWdGMytrQkU7SUFBZ0M7RWhGKytrQmxDOztFZ0Y5K2tCRTtJQUFnQztFaEZrL2tCbEM7O0VnRmgva0JFO0lBQThCO0VoRm8va0JoQzs7RWdGbi9rQkU7SUFBOEI7RWhGdS9rQmhDOztFZ0Z0L2tCRTtJQUE4QjtFaEYwL2tCaEM7O0VnRnova0JFO0lBQThCO0VoRjYva0JoQzs7RWdGNS9rQkU7SUFBOEI7RWhGZ2dsQmhDOztFZ0YvL2tCRTtJQUE4QjtFaEZtZ2xCaEM7O0VnRmxnbEJFO0lBQThCO0VoRnNnbEJoQzs7RWdGcmdsQkU7SUFBOEI7RWhGeWdsQmhDOztFZ0Z2Z2xCRTtJQUFvQztFaEYyZ2xCdEM7O0VnRjFnbEJFO0lBQW9DO0VoRjhnbEJ0Qzs7RWdGN2dsQkU7SUFBb0M7RWhGaWhsQnRDOztFZ0ZoaGxCRTtJQUFvQztFaEZvaGxCdEM7O0VnRm5obEJFO0lBQW9DO0VoRnVobEJ0Qzs7RWdGcmhsQkU7SUFBaUM7RWhGeWhsQm5DOztFZ0Z4aGxCRTtJQUFpQztFaEY0aGxCbkM7O0VnRjNobEJFO0lBQWlDO0VoRitobEJuQzs7RWdGOWhsQkU7SUFBaUM7RWhGa2lsQm5DOztFZ0ZqaWxCRTtJQUFpQztFaEZxaWxCbkM7O0VnRm5pbEJFO0lBQWtDO0VoRnVpbEJwQzs7RWdGdGlsQkU7SUFBa0M7RWhGMGlsQnBDOztFZ0Z6aWxCRTtJQUFrQztFaEY2aWxCcEM7O0VnRjVpbEJFO0lBQWtDO0VoRmdqbEJwQzs7RWdGL2lsQkU7SUFBa0M7RWhGbWpsQnBDOztFZ0ZsamxCRTtJQUFrQztFaEZzamxCcEM7O0VnRnBqbEJFO0lBQWdDO0VoRndqbEJsQzs7RWdGdmpsQkU7SUFBZ0M7RWhGMmpsQmxDOztFZ0YxamxCRTtJQUFnQztFaEY4amxCbEM7O0VnRjdqbEJFO0lBQWdDO0VoRmlrbEJsQzs7RWdGaGtsQkU7SUFBZ0M7RWhGb2tsQmxDOztFZ0Zua2xCRTtJQUFnQztFaEZ1a2xCbEM7QUFDRjtBaUM1amxCSTtFK0NsREE7SUFBZ0M7RWhGa25sQmxDOztFZ0ZqbmxCRTtJQUFnQztFaEZxbmxCbEM7O0VnRnBubEJFO0lBQWdDO0VoRndubEJsQzs7RWdGdm5sQkU7SUFBZ0M7RWhGMm5sQmxDOztFZ0Z6bmxCRTtJQUE4QjtFaEY2bmxCaEM7O0VnRjVubEJFO0lBQThCO0VoRmdvbEJoQzs7RWdGL25sQkU7SUFBOEI7RWhGbW9sQmhDOztFZ0Zsb2xCRTtJQUE4QjtFaEZzb2xCaEM7O0VnRnJvbEJFO0lBQThCO0VoRnlvbEJoQzs7RWdGeG9sQkU7SUFBOEI7RWhGNG9sQmhDOztFZ0Yzb2xCRTtJQUE4QjtFaEYrb2xCaEM7O0VnRjlvbEJFO0lBQThCO0VoRmtwbEJoQzs7RWdGaHBsQkU7SUFBb0M7RWhGb3BsQnRDOztFZ0ZucGxCRTtJQUFvQztFaEZ1cGxCdEM7O0VnRnRwbEJFO0lBQW9DO0VoRjBwbEJ0Qzs7RWdGenBsQkU7SUFBb0M7RWhGNnBsQnRDOztFZ0Y1cGxCRTtJQUFvQztFaEZncWxCdEM7O0VnRjlwbEJFO0lBQWlDO0VoRmtxbEJuQzs7RWdGanFsQkU7SUFBaUM7RWhGcXFsQm5DOztFZ0ZwcWxCRTtJQUFpQztFaEZ3cWxCbkM7O0VnRnZxbEJFO0lBQWlDO0VoRjJxbEJuQzs7RWdGMXFsQkU7SUFBaUM7RWhGOHFsQm5DOztFZ0Y1cWxCRTtJQUFrQztFaEZncmxCcEM7O0VnRi9xbEJFO0lBQWtDO0VoRm1ybEJwQzs7RWdGbHJsQkU7SUFBa0M7RWhGc3JsQnBDOztFZ0ZycmxCRTtJQUFrQztFaEZ5cmxCcEM7O0VnRnhybEJFO0lBQWtDO0VoRjRybEJwQzs7RWdGM3JsQkU7SUFBa0M7RWhGK3JsQnBDOztFZ0Y3cmxCRTtJQUFnQztFaEZpc2xCbEM7O0VnRmhzbEJFO0lBQWdDO0VoRm9zbEJsQzs7RWdGbnNsQkU7SUFBZ0M7RWhGdXNsQmxDOztFZ0Z0c2xCRTtJQUFnQztFaEYwc2xCbEM7O0VnRnpzbEJFO0lBQWdDO0VoRjZzbEJsQzs7RWdGNXNsQkU7SUFBZ0M7RWhGZ3RsQmxDO0FBQ0Y7QWlDcnNsQkk7RStDbERBO0lBQWdDO0VoRjJ2bEJsQzs7RWdGMXZsQkU7SUFBZ0M7RWhGOHZsQmxDOztFZ0Y3dmxCRTtJQUFnQztFaEZpd2xCbEM7O0VnRmh3bEJFO0lBQWdDO0VoRm93bEJsQzs7RWdGbHdsQkU7SUFBOEI7RWhGc3dsQmhDOztFZ0Zyd2xCRTtJQUE4QjtFaEZ5d2xCaEM7O0VnRnh3bEJFO0lBQThCO0VoRjR3bEJoQzs7RWdGM3dsQkU7SUFBOEI7RWhGK3dsQmhDOztFZ0Y5d2xCRTtJQUE4QjtFaEZreGxCaEM7O0VnRmp4bEJFO0lBQThCO0VoRnF4bEJoQzs7RWdGcHhsQkU7SUFBOEI7RWhGd3hsQmhDOztFZ0Z2eGxCRTtJQUE4QjtFaEYyeGxCaEM7O0VnRnp4bEJFO0lBQW9DO0VoRjZ4bEJ0Qzs7RWdGNXhsQkU7SUFBb0M7RWhGZ3lsQnRDOztFZ0YveGxCRTtJQUFvQztFaEZteWxCdEM7O0VnRmx5bEJFO0lBQW9DO0VoRnN5bEJ0Qzs7RWdGcnlsQkU7SUFBb0M7RWhGeXlsQnRDOztFZ0Z2eWxCRTtJQUFpQztFaEYyeWxCbkM7O0VnRjF5bEJFO0lBQWlDO0VoRjh5bEJuQzs7RWdGN3lsQkU7SUFBaUM7RWhGaXpsQm5DOztFZ0ZoemxCRTtJQUFpQztFaEZvemxCbkM7O0VnRm56bEJFO0lBQWlDO0VoRnV6bEJuQzs7RWdGcnpsQkU7SUFBa0M7RWhGeXpsQnBDOztFZ0Z4emxCRTtJQUFrQztFaEY0emxCcEM7O0VnRjN6bEJFO0lBQWtDO0VoRit6bEJwQzs7RWdGOXpsQkU7SUFBa0M7RWhGazBsQnBDOztFZ0ZqMGxCRTtJQUFrQztFaEZxMGxCcEM7O0VnRnAwbEJFO0lBQWtDO0VoRncwbEJwQzs7RWdGdDBsQkU7SUFBZ0M7RWhGMDBsQmxDOztFZ0Z6MGxCRTtJQUFnQztFaEY2MGxCbEM7O0VnRjUwbEJFO0lBQWdDO0VoRmcxbEJsQzs7RWdGLzBsQkU7SUFBZ0M7RWhGbTFsQmxDOztFZ0ZsMWxCRTtJQUFnQztFaEZzMWxCbEM7O0VnRnIxbEJFO0lBQWdDO0VoRnkxbEJsQztBQUNGO0FpQzkwbEJJO0UrQ2xEQTtJQUFnQztFaEZvNGxCbEM7O0VnRm40bEJFO0lBQWdDO0VoRnU0bEJsQzs7RWdGdDRsQkU7SUFBZ0M7RWhGMDRsQmxDOztFZ0Z6NGxCRTtJQUFnQztFaEY2NGxCbEM7O0VnRjM0bEJFO0lBQThCO0VoRis0bEJoQzs7RWdGOTRsQkU7SUFBOEI7RWhGazVsQmhDOztFZ0ZqNWxCRTtJQUE4QjtFaEZxNWxCaEM7O0VnRnA1bEJFO0lBQThCO0VoRnc1bEJoQzs7RWdGdjVsQkU7SUFBOEI7RWhGMjVsQmhDOztFZ0YxNWxCRTtJQUE4QjtFaEY4NWxCaEM7O0VnRjc1bEJFO0lBQThCO0VoRmk2bEJoQzs7RWdGaDZsQkU7SUFBOEI7RWhGbzZsQmhDOztFZ0ZsNmxCRTtJQUFvQztFaEZzNmxCdEM7O0VnRnI2bEJFO0lBQW9DO0VoRnk2bEJ0Qzs7RWdGeDZsQkU7SUFBb0M7RWhGNDZsQnRDOztFZ0YzNmxCRTtJQUFvQztFaEYrNmxCdEM7O0VnRjk2bEJFO0lBQW9DO0VoRms3bEJ0Qzs7RWdGaDdsQkU7SUFBaUM7RWhGbzdsQm5DOztFZ0ZuN2xCRTtJQUFpQztFaEZ1N2xCbkM7O0VnRnQ3bEJFO0lBQWlDO0VoRjA3bEJuQzs7RWdGejdsQkU7SUFBaUM7RWhGNjdsQm5DOztFZ0Y1N2xCRTtJQUFpQztFaEZnOGxCbkM7O0VnRjk3bEJFO0lBQWtDO0VoRms4bEJwQzs7RWdGajhsQkU7SUFBa0M7RWhGcThsQnBDOztFZ0ZwOGxCRTtJQUFrQztFaEZ3OGxCcEM7O0VnRnY4bEJFO0lBQWtDO0VoRjI4bEJwQzs7RWdGMThsQkU7SUFBa0M7RWhGODhsQnBDOztFZ0Y3OGxCRTtJQUFrQztFaEZpOWxCcEM7O0VnRi84bEJFO0lBQWdDO0VoRm05bEJsQzs7RWdGbDlsQkU7SUFBZ0M7RWhGczlsQmxDOztFZ0ZyOWxCRTtJQUFnQztFaEZ5OWxCbEM7O0VnRng5bEJFO0lBQWdDO0VoRjQ5bEJsQzs7RWdGMzlsQkU7SUFBZ0M7RWhGKzlsQmxDOztFZ0Y5OWxCRTtJQUFnQztFaEZrK2xCbEM7QUFDRjtBaUY3Z21CSTtFQUF3QjtBakZnaG1CNUI7O0FpRi9nbUJJO0VBQXdCO0FqRm1obUI1Qjs7QWlGbGhtQkk7RUFBd0I7QWpGc2htQjVCOztBaUNsK2xCSTtFZ0R0REE7SUFBd0I7RWpGNmhtQjFCOztFaUY1aG1CRTtJQUF3QjtFakZnaW1CMUI7O0VpRi9obUJFO0lBQXdCO0VqRm1pbUIxQjtBQUNGO0FpQ2gvbEJJO0VnRHREQTtJQUF3QjtFakYwaW1CMUI7O0VpRnppbUJFO0lBQXdCO0VqRjZpbUIxQjs7RWlGNWltQkU7SUFBd0I7RWpGZ2ptQjFCO0FBQ0Y7QWlDNy9sQkk7RWdEdERBO0lBQXdCO0VqRnVqbUIxQjs7RWlGdGptQkU7SUFBd0I7RWpGMGptQjFCOztFaUZ6am1CRTtJQUF3QjtFakY2am1CMUI7QUFDRjtBaUMxZ21CSTtFZ0R0REE7SUFBd0I7RWpGb2ttQjFCOztFaUZua21CRTtJQUF3QjtFakZ1a21CMUI7O0VpRnRrbUJFO0lBQXdCO0VqRjBrbUIxQjtBQUNGO0FrRmhsbUJFO0VBQXlCO0tBQUE7VUFBQTtBbEZtbG1CM0I7O0FrRm5sbUJFO0VBQXlCO0tBQUE7VUFBQTtBbEZ1bG1CM0I7O0FrRnZsbUJFO0VBQXlCO0tBQUE7VUFBQTtBbEYybG1CM0I7O0FtRjNsbUJFO0VBQXNCO0FuRitsbUJ4Qjs7QW1GL2xtQkU7RUFBc0I7QW5GbW1tQnhCOztBb0ZsbW1CRTtFQUF5QjtBcEZzbW1CM0I7O0FvRnRtbUJFO0VBQXlCO0FwRjBtbUIzQjs7QW9GMW1tQkU7RUFBeUI7QXBGOG1tQjNCOztBb0Y5bW1CRTtFQUF5QjtBcEZrbm1CM0I7O0FvRmxubUJFO0VBQXlCO0FwRnNubUIzQjs7QW9Gam5tQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGE3RGlxQmtDO0F2Qm05a0JwQzs7QW9Gam5tQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGE3RHlwQmtDO0F2QjI5a0JwQzs7QW9GaG5tQkU7RUFERjtJQUVJO0lBQ0E7SUFDQSxhN0RpcEJnQztFdkJtK2tCbEM7QUFDRjs7QXFGOW9tQkE7RUNFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGZ3BtQkY7O0FzRnRvbUJFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RndvbUJKOztBdUZycW1CQTtFQUFhO0F2RnlxbUJiOztBdUZ4cW1CQTtFQUFVO0F2RjRxbUJWOztBdUYzcW1CQTtFQUFhO0F2RitxbUJiOztBdUY5cW1CQTtFQUFlO0F2RmtybUJmOztBd0Zqcm1CSTtFQUF1QjtBeEZxcm1CM0I7O0F3RnJybUJJO0VBQXVCO0F4RnlybUIzQjs7QXdGenJtQkk7RUFBdUI7QXhGNnJtQjNCOztBd0Y3cm1CSTtFQUF1QjtBeEZpc21CM0I7O0F3RmpzbUJJO0VBQXVCO0F4RnFzbUIzQjs7QXdGcnNtQkk7RUFBdUI7QXhGeXNtQjNCOztBd0Z6c21CSTtFQUF1QjtBeEY2c21CM0I7O0F3RjdzbUJJO0VBQXVCO0F4Rml0bUIzQjs7QXdGanRtQkk7RUFBdUI7QXhGcXRtQjNCOztBd0ZydG1CSTtFQUF1QjtBeEZ5dG1CM0I7O0F3RnJ0bUJBO0VBQVU7QXhGeXRtQlY7O0F3Rnh0bUJBO0VBQVU7QXhGNHRtQlY7O0F3Rnh0bUJBO0VBQWM7QXhGNHRtQmQ7O0F3RjN0bUJBO0VBQWM7QXhGK3RtQmQ7O0F3Rjd0bUJBO0VBQVU7QXhGaXVtQlY7O0F3Rmh1bUJBO0VBQVU7QXhGb3VtQlY7O0F5Rjd1bUJRO0VBQWdDO0F6Rml2bUJ4Qzs7QXlGaHZtQlE7O0VBRUU7QXpGbXZtQlY7O0F5Rmp2bUJROztFQUVFO0F6Rm92bUJWOztBeUZsdm1CUTs7RUFFRTtBekZxdm1CVjs7QXlGbnZtQlE7O0VBRUU7QXpGc3ZtQlY7O0F5RnJ3bUJRO0VBQWdDO0F6Rnl3bUJ4Qzs7QXlGeHdtQlE7O0VBRUU7QXpGMndtQlY7O0F5Rnp3bUJROztFQUVFO0F6RjR3bUJWOztBeUYxd21CUTs7RUFFRTtBekY2d21CVjs7QXlGM3dtQlE7O0VBRUU7QXpGOHdtQlY7O0F5Rjd4bUJRO0VBQWdDO0F6Rml5bUJ4Qzs7QXlGaHltQlE7O0VBRUU7QXpGbXltQlY7O0F5Rmp5bUJROztFQUVFO0F6Rm95bUJWOztBeUZseW1CUTs7RUFFRTtBekZxeW1CVjs7QXlGbnltQlE7O0VBRUU7QXpGc3ltQlY7O0F5RnJ6bUJRO0VBQWdDO0F6Rnl6bUJ4Qzs7QXlGeHptQlE7O0VBRUU7QXpGMnptQlY7O0F5Rnp6bUJROztFQUVFO0F6RjR6bUJWOztBeUYxem1CUTs7RUFFRTtBekY2em1CVjs7QXlGM3ptQlE7O0VBRUU7QXpGOHptQlY7O0F5RjcwbUJRO0VBQWdDO0F6RmkxbUJ4Qzs7QXlGaDFtQlE7O0VBRUU7QXpGbTFtQlY7O0F5RmoxbUJROztFQUVFO0F6Rm8xbUJWOztBeUZsMW1CUTs7RUFFRTtBekZxMW1CVjs7QXlGbjFtQlE7O0VBRUU7QXpGczFtQlY7O0F5RnIybUJRO0VBQWdDO0F6RnkybUJ4Qzs7QXlGeDJtQlE7O0VBRUU7QXpGMjJtQlY7O0F5RnoybUJROztFQUVFO0F6RjQybUJWOztBeUYxMm1CUTs7RUFFRTtBekY2Mm1CVjs7QXlGMzJtQlE7O0VBRUU7QXpGODJtQlY7O0F5RjczbUJRO0VBQWdDO0F6Rmk0bUJ4Qzs7QXlGaDRtQlE7O0VBRUU7QXpGbTRtQlY7O0F5Rmo0bUJROztFQUVFO0F6Rm80bUJWOztBeUZsNG1CUTs7RUFFRTtBekZxNG1CVjs7QXlGbjRtQlE7O0VBRUU7QXpGczRtQlY7O0F5RnI1bUJRO0VBQWdDO0F6Rnk1bUJ4Qzs7QXlGeDVtQlE7O0VBRUU7QXpGMjVtQlY7O0F5Rno1bUJROztFQUVFO0F6RjQ1bUJWOztBeUYxNW1CUTs7RUFFRTtBekY2NW1CVjs7QXlGMzVtQlE7O0VBRUU7QXpGODVtQlY7O0F5Rjc2bUJRO0VBQWdDO0F6Rmk3bUJ4Qzs7QXlGaDdtQlE7O0VBRUU7QXpGbTdtQlY7O0F5Rmo3bUJROztFQUVFO0F6Rm83bUJWOztBeUZsN21CUTs7RUFFRTtBekZxN21CVjs7QXlGbjdtQlE7O0VBRUU7QXpGczdtQlY7O0F5RnI4bUJRO0VBQWdDO0F6Rnk4bUJ4Qzs7QXlGeDhtQlE7O0VBRUU7QXpGMjhtQlY7O0F5Rno4bUJROztFQUVFO0F6RjQ4bUJWOztBeUYxOG1CUTs7RUFFRTtBekY2OG1CVjs7QXlGMzhtQlE7O0VBRUU7QXpGODhtQlY7O0F5Rjc5bUJRO0VBQWdDO0F6RmkrbUJ4Qzs7QXlGaCttQlE7O0VBRUU7QXpGbSttQlY7O0F5RmorbUJROztFQUVFO0F6Rm8rbUJWOztBeUZsK21CUTs7RUFFRTtBekZxK21CVjs7QXlGbittQlE7O0VBRUU7QXpGcyttQlY7O0F5RnIvbUJRO0VBQWdDO0F6RnkvbUJ4Qzs7QXlGeC9tQlE7O0VBRUU7QXpGMi9tQlY7O0F5RnovbUJROztFQUVFO0F6RjQvbUJWOztBeUYxL21CUTs7RUFFRTtBekY2L21CVjs7QXlGMy9tQlE7O0VBRUU7QXpGOC9tQlY7O0F5RnQvbUJRO0VBQXdCO0F6RjAvbUJoQzs7QXlGei9tQlE7O0VBRUU7QXpGNC9tQlY7O0F5RjEvbUJROztFQUVFO0F6RjYvbUJWOztBeUYzL21CUTs7RUFFRTtBekY4L21CVjs7QXlGNS9tQlE7O0VBRUU7QXpGKy9tQlY7O0F5RjlnbkJRO0VBQXdCO0F6RmtobkJoQzs7QXlGamhuQlE7O0VBRUU7QXpGb2huQlY7O0F5RmxobkJROztFQUVFO0F6RnFobkJWOztBeUZuaG5CUTs7RUFFRTtBekZzaG5CVjs7QXlGcGhuQlE7O0VBRUU7QXpGdWhuQlY7O0F5RnRpbkJRO0VBQXdCO0F6RjBpbkJoQzs7QXlGemluQlE7O0VBRUU7QXpGNGluQlY7O0F5RjFpbkJROztFQUVFO0F6RjZpbkJWOztBeUYzaW5CUTs7RUFFRTtBekY4aW5CVjs7QXlGNWluQlE7O0VBRUU7QXpGK2luQlY7O0F5RjlqbkJRO0VBQXdCO0F6RmtrbkJoQzs7QXlGamtuQlE7O0VBRUU7QXpGb2tuQlY7O0F5RmxrbkJROztFQUVFO0F6RnFrbkJWOztBeUZua25CUTs7RUFFRTtBekZza25CVjs7QXlGcGtuQlE7O0VBRUU7QXpGdWtuQlY7O0F5RnRsbkJRO0VBQXdCO0F6RjBsbkJoQzs7QXlGemxuQlE7O0VBRUU7QXpGNGxuQlY7O0F5RjFsbkJROztFQUVFO0F6RjZsbkJWOztBeUYzbG5CUTs7RUFFRTtBekY4bG5CVjs7QXlGNWxuQlE7O0VBRUU7QXpGK2xuQlY7O0F5RnpsbkJJO0VBQW1CO0F6RjZsbkJ2Qjs7QXlGNWxuQkk7O0VBRUU7QXpGK2xuQk47O0F5RjdsbkJJOztFQUVFO0F6RmdtbkJOOztBeUY5bG5CSTs7RUFFRTtBekZpbW5CTjs7QXlGL2xuQkk7O0VBRUU7QXpGa21uQk47O0FpQzNtbkJJO0V3RGxESTtJQUFnQztFekZrcW5CdEM7O0V5RmpxbkJNOztJQUVFO0V6Rm9xbkJSOztFeUZscW5CTTs7SUFFRTtFekZxcW5CUjs7RXlGbnFuQk07O0lBRUU7RXpGc3FuQlI7O0V5RnBxbkJNOztJQUVFO0V6RnVxbkJSOztFeUZ0cm5CTTtJQUFnQztFekYwcm5CdEM7O0V5RnpybkJNOztJQUVFO0V6RjRybkJSOztFeUYxcm5CTTs7SUFFRTtFekY2cm5CUjs7RXlGM3JuQk07O0lBRUU7RXpGOHJuQlI7O0V5RjVybkJNOztJQUVFO0V6RitybkJSOztFeUY5c25CTTtJQUFnQztFekZrdG5CdEM7O0V5Rmp0bkJNOztJQUVFO0V6Rm90bkJSOztFeUZsdG5CTTs7SUFFRTtFekZxdG5CUjs7RXlGbnRuQk07O0lBRUU7RXpGc3RuQlI7O0V5RnB0bkJNOztJQUVFO0V6RnV0bkJSOztFeUZ0dW5CTTtJQUFnQztFekYwdW5CdEM7O0V5Rnp1bkJNOztJQUVFO0V6RjR1bkJSOztFeUYxdW5CTTs7SUFFRTtFekY2dW5CUjs7RXlGM3VuQk07O0lBRUU7RXpGOHVuQlI7O0V5RjV1bkJNOztJQUVFO0V6Rit1bkJSOztFeUY5dm5CTTtJQUFnQztFekZrd25CdEM7O0V5Rmp3bkJNOztJQUVFO0V6Rm93bkJSOztFeUZsd25CTTs7SUFFRTtFekZxd25CUjs7RXlGbnduQk07O0lBRUU7RXpGc3duQlI7O0V5RnB3bkJNOztJQUVFO0V6RnV3bkJSOztFeUZ0eG5CTTtJQUFnQztFekYweG5CdEM7O0V5Rnp4bkJNOztJQUVFO0V6RjR4bkJSOztFeUYxeG5CTTs7SUFFRTtFekY2eG5CUjs7RXlGM3huQk07O0lBRUU7RXpGOHhuQlI7O0V5RjV4bkJNOztJQUVFO0V6Rit4bkJSOztFeUY5eW5CTTtJQUFnQztFekZrem5CdEM7O0V5Rmp6bkJNOztJQUVFO0V6Rm96bkJSOztFeUZsem5CTTs7SUFFRTtFekZxem5CUjs7RXlGbnpuQk07O0lBRUU7RXpGc3puQlI7O0V5RnB6bkJNOztJQUVFO0V6RnV6bkJSOztFeUZ0MG5CTTtJQUFnQztFekYwMG5CdEM7O0V5RnowbkJNOztJQUVFO0V6RjQwbkJSOztFeUYxMG5CTTs7SUFFRTtFekY2MG5CUjs7RXlGMzBuQk07O0lBRUU7RXpGODBuQlI7O0V5RjUwbkJNOztJQUVFO0V6RiswbkJSOztFeUY5MW5CTTtJQUFnQztFekZrMm5CdEM7O0V5RmoybkJNOztJQUVFO0V6Rm8ybkJSOztFeUZsMm5CTTs7SUFFRTtFekZxMm5CUjs7RXlGbjJuQk07O0lBRUU7RXpGczJuQlI7O0V5RnAybkJNOztJQUVFO0V6RnUybkJSOztFeUZ0M25CTTtJQUFnQztFekYwM25CdEM7O0V5RnozbkJNOztJQUVFO0V6RjQzbkJSOztFeUYxM25CTTs7SUFFRTtFekY2M25CUjs7RXlGMzNuQk07O0lBRUU7RXpGODNuQlI7O0V5RjUzbkJNOztJQUVFO0V6RiszbkJSOztFeUY5NG5CTTtJQUFnQztFekZrNW5CdEM7O0V5Rmo1bkJNOztJQUVFO0V6Rm81bkJSOztFeUZsNW5CTTs7SUFFRTtFekZxNW5CUjs7RXlGbjVuQk07O0lBRUU7RXpGczVuQlI7O0V5RnA1bkJNOztJQUVFO0V6RnU1bkJSOztFeUZ0Nm5CTTtJQUFnQztFekYwNm5CdEM7O0V5Rno2bkJNOztJQUVFO0V6RjQ2bkJSOztFeUYxNm5CTTs7SUFFRTtFekY2Nm5CUjs7RXlGMzZuQk07O0lBRUU7RXpGODZuQlI7O0V5RjU2bkJNOztJQUVFO0V6Ris2bkJSOztFeUZ2Nm5CTTtJQUF3QjtFekYyNm5COUI7O0V5RjE2bkJNOztJQUVFO0V6RjY2bkJSOztFeUYzNm5CTTs7SUFFRTtFekY4Nm5CUjs7RXlGNTZuQk07O0lBRUU7RXpGKzZuQlI7O0V5Rjc2bkJNOztJQUVFO0V6Rmc3bkJSOztFeUYvN25CTTtJQUF3QjtFekZtOG5COUI7O0V5Rmw4bkJNOztJQUVFO0V6RnE4bkJSOztFeUZuOG5CTTs7SUFFRTtFekZzOG5CUjs7RXlGcDhuQk07O0lBRUU7RXpGdThuQlI7O0V5RnI4bkJNOztJQUVFO0V6Rnc4bkJSOztFeUZ2OW5CTTtJQUF3QjtFekYyOW5COUI7O0V5RjE5bkJNOztJQUVFO0V6RjY5bkJSOztFeUYzOW5CTTs7SUFFRTtFekY4OW5CUjs7RXlGNTluQk07O0lBRUU7RXpGKzluQlI7O0V5Rjc5bkJNOztJQUVFO0V6RmcrbkJSOztFeUYvK25CTTtJQUF3QjtFekZtL25COUI7O0V5RmwvbkJNOztJQUVFO0V6RnEvbkJSOztFeUZuL25CTTs7SUFFRTtFekZzL25CUjs7RXlGcC9uQk07O0lBRUU7RXpGdS9uQlI7O0V5RnIvbkJNOztJQUVFO0V6RncvbkJSOztFeUZ2Z29CTTtJQUF3QjtFekYyZ29COUI7O0V5RjFnb0JNOztJQUVFO0V6RjZnb0JSOztFeUYzZ29CTTs7SUFFRTtFekY4Z29CUjs7RXlGNWdvQk07O0lBRUU7RXpGK2dvQlI7O0V5Rjdnb0JNOztJQUVFO0V6Rmdob0JSOztFeUYxZ29CRTtJQUFtQjtFekY4Z29CckI7O0V5Rjdnb0JFOztJQUVFO0V6Rmdob0JKOztFeUY5Z29CRTs7SUFFRTtFekZpaG9CSjs7RXlGL2dvQkU7O0lBRUU7RXpGa2hvQko7O0V5Rmhob0JFOztJQUVFO0V6Rm1ob0JKO0FBQ0Y7QWlDN2hvQkk7RXdEbERJO0lBQWdDO0V6Rm1sb0J0Qzs7RXlGbGxvQk07O0lBRUU7RXpGcWxvQlI7O0V5Rm5sb0JNOztJQUVFO0V6RnNsb0JSOztFeUZwbG9CTTs7SUFFRTtFekZ1bG9CUjs7RXlGcmxvQk07O0lBRUU7RXpGd2xvQlI7O0V5RnZtb0JNO0lBQWdDO0V6RjJtb0J0Qzs7RXlGMW1vQk07O0lBRUU7RXpGNm1vQlI7O0V5RjNtb0JNOztJQUVFO0V6Rjhtb0JSOztFeUY1bW9CTTs7SUFFRTtFekYrbW9CUjs7RXlGN21vQk07O0lBRUU7RXpGZ25vQlI7O0V5Ri9ub0JNO0lBQWdDO0V6Rm1vb0J0Qzs7RXlGbG9vQk07O0lBRUU7RXpGcW9vQlI7O0V5Rm5vb0JNOztJQUVFO0V6RnNvb0JSOztFeUZwb29CTTs7SUFFRTtFekZ1b29CUjs7RXlGcm9vQk07O0lBRUU7RXpGd29vQlI7O0V5RnZwb0JNO0lBQWdDO0V6RjJwb0J0Qzs7RXlGMXBvQk07O0lBRUU7RXpGNnBvQlI7O0V5RjNwb0JNOztJQUVFO0V6Rjhwb0JSOztFeUY1cG9CTTs7SUFFRTtFekYrcG9CUjs7RXlGN3BvQk07O0lBRUU7RXpGZ3FvQlI7O0V5Ri9xb0JNO0lBQWdDO0V6Rm1yb0J0Qzs7RXlGbHJvQk07O0lBRUU7RXpGcXJvQlI7O0V5Rm5yb0JNOztJQUVFO0V6RnNyb0JSOztFeUZwcm9CTTs7SUFFRTtFekZ1cm9CUjs7RXlGcnJvQk07O0lBRUU7RXpGd3JvQlI7O0V5RnZzb0JNO0lBQWdDO0V6RjJzb0J0Qzs7RXlGMXNvQk07O0lBRUU7RXpGNnNvQlI7O0V5RjNzb0JNOztJQUVFO0V6Rjhzb0JSOztFeUY1c29CTTs7SUFFRTtFekYrc29CUjs7RXlGN3NvQk07O0lBRUU7RXpGZ3RvQlI7O0V5Ri90b0JNO0lBQWdDO0V6Rm11b0J0Qzs7RXlGbHVvQk07O0lBRUU7RXpGcXVvQlI7O0V5Rm51b0JNOztJQUVFO0V6RnN1b0JSOztFeUZwdW9CTTs7SUFFRTtFekZ1dW9CUjs7RXlGcnVvQk07O0lBRUU7RXpGd3VvQlI7O0V5RnZ2b0JNO0lBQWdDO0V6RjJ2b0J0Qzs7RXlGMXZvQk07O0lBRUU7RXpGNnZvQlI7O0V5RjN2b0JNOztJQUVFO0V6Rjh2b0JSOztFeUY1dm9CTTs7SUFFRTtFekYrdm9CUjs7RXlGN3ZvQk07O0lBRUU7RXpGZ3dvQlI7O0V5Ri93b0JNO0lBQWdDO0V6Rm14b0J0Qzs7RXlGbHhvQk07O0lBRUU7RXpGcXhvQlI7O0V5Rm54b0JNOztJQUVFO0V6RnN4b0JSOztFeUZweG9CTTs7SUFFRTtFekZ1eG9CUjs7RXlGcnhvQk07O0lBRUU7RXpGd3hvQlI7O0V5RnZ5b0JNO0lBQWdDO0V6RjJ5b0J0Qzs7RXlGMXlvQk07O0lBRUU7RXpGNnlvQlI7O0V5RjN5b0JNOztJQUVFO0V6Rjh5b0JSOztFeUY1eW9CTTs7SUFFRTtFekYreW9CUjs7RXlGN3lvQk07O0lBRUU7RXpGZ3pvQlI7O0V5Ri96b0JNO0lBQWdDO0V6Rm0wb0J0Qzs7RXlGbDBvQk07O0lBRUU7RXpGcTBvQlI7O0V5Rm4wb0JNOztJQUVFO0V6RnMwb0JSOztFeUZwMG9CTTs7SUFFRTtFekZ1MG9CUjs7RXlGcjBvQk07O0lBRUU7RXpGdzBvQlI7O0V5RnYxb0JNO0lBQWdDO0V6RjIxb0J0Qzs7RXlGMTFvQk07O0lBRUU7RXpGNjFvQlI7O0V5RjMxb0JNOztJQUVFO0V6Rjgxb0JSOztFeUY1MW9CTTs7SUFFRTtFekYrMW9CUjs7RXlGNzFvQk07O0lBRUU7RXpGZzJvQlI7O0V5Rngxb0JNO0lBQXdCO0V6RjQxb0I5Qjs7RXlGMzFvQk07O0lBRUU7RXpGODFvQlI7O0V5RjUxb0JNOztJQUVFO0V6Risxb0JSOztFeUY3MW9CTTs7SUFFRTtFekZnMm9CUjs7RXlGOTFvQk07O0lBRUU7RXpGaTJvQlI7O0V5Rmgzb0JNO0lBQXdCO0V6Rm8zb0I5Qjs7RXlGbjNvQk07O0lBRUU7RXpGczNvQlI7O0V5RnAzb0JNOztJQUVFO0V6RnUzb0JSOztFeUZyM29CTTs7SUFFRTtFekZ3M29CUjs7RXlGdDNvQk07O0lBRUU7RXpGeTNvQlI7O0V5Rng0b0JNO0lBQXdCO0V6RjQ0b0I5Qjs7RXlGMzRvQk07O0lBRUU7RXpGODRvQlI7O0V5RjU0b0JNOztJQUVFO0V6Ris0b0JSOztFeUY3NG9CTTs7SUFFRTtFekZnNW9CUjs7RXlGOTRvQk07O0lBRUU7RXpGaTVvQlI7O0V5Rmg2b0JNO0lBQXdCO0V6Rm82b0I5Qjs7RXlGbjZvQk07O0lBRUU7RXpGczZvQlI7O0V5RnA2b0JNOztJQUVFO0V6RnU2b0JSOztFeUZyNm9CTTs7SUFFRTtFekZ3Nm9CUjs7RXlGdDZvQk07O0lBRUU7RXpGeTZvQlI7O0V5Rng3b0JNO0lBQXdCO0V6RjQ3b0I5Qjs7RXlGMzdvQk07O0lBRUU7RXpGODdvQlI7O0V5RjU3b0JNOztJQUVFO0V6Ris3b0JSOztFeUY3N29CTTs7SUFFRTtFekZnOG9CUjs7RXlGOTdvQk07O0lBRUU7RXpGaThvQlI7O0V5RjM3b0JFO0lBQW1CO0V6Ris3b0JyQjs7RXlGOTdvQkU7O0lBRUU7RXpGaThvQko7O0V5Ri83b0JFOztJQUVFO0V6Rms4b0JKOztFeUZoOG9CRTs7SUFFRTtFekZtOG9CSjs7RXlGajhvQkU7O0lBRUU7RXpGbzhvQko7QUFDRjtBaUM5OG9CSTtFd0RsREk7SUFBZ0M7RXpGb2dwQnRDOztFeUZuZ3BCTTs7SUFFRTtFekZzZ3BCUjs7RXlGcGdwQk07O0lBRUU7RXpGdWdwQlI7O0V5RnJncEJNOztJQUVFO0V6RndncEJSOztFeUZ0Z3BCTTs7SUFFRTtFekZ5Z3BCUjs7RXlGeGhwQk07SUFBZ0M7RXpGNGhwQnRDOztFeUYzaHBCTTs7SUFFRTtFekY4aHBCUjs7RXlGNWhwQk07O0lBRUU7RXpGK2hwQlI7O0V5RjdocEJNOztJQUVFO0V6RmdpcEJSOztFeUY5aHBCTTs7SUFFRTtFekZpaXBCUjs7RXlGaGpwQk07SUFBZ0M7RXpGb2pwQnRDOztFeUZuanBCTTs7SUFFRTtFekZzanBCUjs7RXlGcGpwQk07O0lBRUU7RXpGdWpwQlI7O0V5RnJqcEJNOztJQUVFO0V6RndqcEJSOztFeUZ0anBCTTs7SUFFRTtFekZ5anBCUjs7RXlGeGtwQk07SUFBZ0M7RXpGNGtwQnRDOztFeUYza3BCTTs7SUFFRTtFekY4a3BCUjs7RXlGNWtwQk07O0lBRUU7RXpGK2twQlI7O0V5RjdrcEJNOztJQUVFO0V6RmdscEJSOztFeUY5a3BCTTs7SUFFRTtFekZpbHBCUjs7RXlGaG1wQk07SUFBZ0M7RXpGb21wQnRDOztFeUZubXBCTTs7SUFFRTtFekZzbXBCUjs7RXlGcG1wQk07O0lBRUU7RXpGdW1wQlI7O0V5RnJtcEJNOztJQUVFO0V6RndtcEJSOztFeUZ0bXBCTTs7SUFFRTtFekZ5bXBCUjs7RXlGeG5wQk07SUFBZ0M7RXpGNG5wQnRDOztFeUYzbnBCTTs7SUFFRTtFekY4bnBCUjs7RXlGNW5wQk07O0lBRUU7RXpGK25wQlI7O0V5RjducEJNOztJQUVFO0V6RmdvcEJSOztFeUY5bnBCTTs7SUFFRTtFekZpb3BCUjs7RXlGaHBwQk07SUFBZ0M7RXpGb3BwQnRDOztFeUZucHBCTTs7SUFFRTtFekZzcHBCUjs7RXlGcHBwQk07O0lBRUU7RXpGdXBwQlI7O0V5RnJwcEJNOztJQUVFO0V6RndwcEJSOztFeUZ0cHBCTTs7SUFFRTtFekZ5cHBCUjs7RXlGeHFwQk07SUFBZ0M7RXpGNHFwQnRDOztFeUYzcXBCTTs7SUFFRTtFekY4cXBCUjs7RXlGNXFwQk07O0lBRUU7RXpGK3FwQlI7O0V5RjdxcEJNOztJQUVFO0V6RmdycEJSOztFeUY5cXBCTTs7SUFFRTtFekZpcnBCUjs7RXlGaHNwQk07SUFBZ0M7RXpGb3NwQnRDOztFeUZuc3BCTTs7SUFFRTtFekZzc3BCUjs7RXlGcHNwQk07O0lBRUU7RXpGdXNwQlI7O0V5RnJzcEJNOztJQUVFO0V6RndzcEJSOztFeUZ0c3BCTTs7SUFFRTtFekZ5c3BCUjs7RXlGeHRwQk07SUFBZ0M7RXpGNHRwQnRDOztFeUYzdHBCTTs7SUFFRTtFekY4dHBCUjs7RXlGNXRwQk07O0lBRUU7RXpGK3RwQlI7O0V5Rjd0cEJNOztJQUVFO0V6Rmd1cEJSOztFeUY5dHBCTTs7SUFFRTtFekZpdXBCUjs7RXlGaHZwQk07SUFBZ0M7RXpGb3ZwQnRDOztFeUZudnBCTTs7SUFFRTtFekZzdnBCUjs7RXlGcHZwQk07O0lBRUU7RXpGdXZwQlI7O0V5RnJ2cEJNOztJQUVFO0V6Rnd2cEJSOztFeUZ0dnBCTTs7SUFFRTtFekZ5dnBCUjs7RXlGeHdwQk07SUFBZ0M7RXpGNHdwQnRDOztFeUYzd3BCTTs7SUFFRTtFekY4d3BCUjs7RXlGNXdwQk07O0lBRUU7RXpGK3dwQlI7O0V5Rjd3cEJNOztJQUVFO0V6Rmd4cEJSOztFeUY5d3BCTTs7SUFFRTtFekZpeHBCUjs7RXlGendwQk07SUFBd0I7RXpGNndwQjlCOztFeUY1d3BCTTs7SUFFRTtFekYrd3BCUjs7RXlGN3dwQk07O0lBRUU7RXpGZ3hwQlI7O0V5Rjl3cEJNOztJQUVFO0V6Rml4cEJSOztFeUYvd3BCTTs7SUFFRTtFekZreHBCUjs7RXlGanlwQk07SUFBd0I7RXpGcXlwQjlCOztFeUZweXBCTTs7SUFFRTtFekZ1eXBCUjs7RXlGcnlwQk07O0lBRUU7RXpGd3lwQlI7O0V5RnR5cEJNOztJQUVFO0V6Rnl5cEJSOztFeUZ2eXBCTTs7SUFFRTtFekYweXBCUjs7RXlGenpwQk07SUFBd0I7RXpGNnpwQjlCOztFeUY1enBCTTs7SUFFRTtFekYrenBCUjs7RXlGN3pwQk07O0lBRUU7RXpGZzBwQlI7O0V5Rjl6cEJNOztJQUVFO0V6RmkwcEJSOztFeUYvenBCTTs7SUFFRTtFekZrMHBCUjs7RXlGajFwQk07SUFBd0I7RXpGcTFwQjlCOztFeUZwMXBCTTs7SUFFRTtFekZ1MXBCUjs7RXlGcjFwQk07O0lBRUU7RXpGdzFwQlI7O0V5RnQxcEJNOztJQUVFO0V6RnkxcEJSOztFeUZ2MXBCTTs7SUFFRTtFekYwMXBCUjs7RXlGejJwQk07SUFBd0I7RXpGNjJwQjlCOztFeUY1MnBCTTs7SUFFRTtFekYrMnBCUjs7RXlGNzJwQk07O0lBRUU7RXpGZzNwQlI7O0V5RjkycEJNOztJQUVFO0V6RmkzcEJSOztFeUYvMnBCTTs7SUFFRTtFekZrM3BCUjs7RXlGNTJwQkU7SUFBbUI7RXpGZzNwQnJCOztFeUYvMnBCRTs7SUFFRTtFekZrM3BCSjs7RXlGaDNwQkU7O0lBRUU7RXpGbTNwQko7O0V5RmozcEJFOztJQUVFO0V6Rm8zcEJKOztFeUZsM3BCRTs7SUFFRTtFekZxM3BCSjtBQUNGO0FpQy8zcEJJO0V3RGxESTtJQUFnQztFekZxN3BCdEM7O0V5RnA3cEJNOztJQUVFO0V6RnU3cEJSOztFeUZyN3BCTTs7SUFFRTtFekZ3N3BCUjs7RXlGdDdwQk07O0lBRUU7RXpGeTdwQlI7O0V5RnY3cEJNOztJQUVFO0V6RjA3cEJSOztFeUZ6OHBCTTtJQUFnQztFekY2OHBCdEM7O0V5RjU4cEJNOztJQUVFO0V6Ris4cEJSOztFeUY3OHBCTTs7SUFFRTtFekZnOXBCUjs7RXlGOThwQk07O0lBRUU7RXpGaTlwQlI7O0V5Ri84cEJNOztJQUVFO0V6Rms5cEJSOztFeUZqK3BCTTtJQUFnQztFekZxK3BCdEM7O0V5RnArcEJNOztJQUVFO0V6RnUrcEJSOztFeUZyK3BCTTs7SUFFRTtFekZ3K3BCUjs7RXlGdCtwQk07O0lBRUU7RXpGeStwQlI7O0V5RnYrcEJNOztJQUVFO0V6RjArcEJSOztFeUZ6L3BCTTtJQUFnQztFekY2L3BCdEM7O0V5RjUvcEJNOztJQUVFO0V6RisvcEJSOztFeUY3L3BCTTs7SUFFRTtFekZnZ3FCUjs7RXlGOS9wQk07O0lBRUU7RXpGaWdxQlI7O0V5Ri8vcEJNOztJQUVFO0V6RmtncUJSOztFeUZqaHFCTTtJQUFnQztFekZxaHFCdEM7O0V5RnBocUJNOztJQUVFO0V6RnVocUJSOztFeUZyaHFCTTs7SUFFRTtFekZ3aHFCUjs7RXlGdGhxQk07O0lBRUU7RXpGeWhxQlI7O0V5RnZocUJNOztJQUVFO0V6RjBocUJSOztFeUZ6aXFCTTtJQUFnQztFekY2aXFCdEM7O0V5RjVpcUJNOztJQUVFO0V6RitpcUJSOztFeUY3aXFCTTs7SUFFRTtFekZnanFCUjs7RXlGOWlxQk07O0lBRUU7RXpGaWpxQlI7O0V5Ri9pcUJNOztJQUVFO0V6RmtqcUJSOztFeUZqa3FCTTtJQUFnQztFekZxa3FCdEM7O0V5RnBrcUJNOztJQUVFO0V6RnVrcUJSOztFeUZya3FCTTs7SUFFRTtFekZ3a3FCUjs7RXlGdGtxQk07O0lBRUU7RXpGeWtxQlI7O0V5RnZrcUJNOztJQUVFO0V6RjBrcUJSOztFeUZ6bHFCTTtJQUFnQztFekY2bHFCdEM7O0V5RjVscUJNOztJQUVFO0V6RitscUJSOztFeUY3bHFCTTs7SUFFRTtFekZnbXFCUjs7RXlGOWxxQk07O0lBRUU7RXpGaW1xQlI7O0V5Ri9scUJNOztJQUVFO0V6RmttcUJSOztFeUZqbnFCTTtJQUFnQztFekZxbnFCdEM7O0V5RnBucUJNOztJQUVFO0V6RnVucUJSOztFeUZybnFCTTs7SUFFRTtFekZ3bnFCUjs7RXlGdG5xQk07O0lBRUU7RXpGeW5xQlI7O0V5RnZucUJNOztJQUVFO0V6RjBucUJSOztFeUZ6b3FCTTtJQUFnQztFekY2b3FCdEM7O0V5RjVvcUJNOztJQUVFO0V6RitvcUJSOztFeUY3b3FCTTs7SUFFRTtFekZncHFCUjs7RXlGOW9xQk07O0lBRUU7RXpGaXBxQlI7O0V5Ri9vcUJNOztJQUVFO0V6RmtwcUJSOztFeUZqcXFCTTtJQUFnQztFekZxcXFCdEM7O0V5RnBxcUJNOztJQUVFO0V6RnVxcUJSOztFeUZycXFCTTs7SUFFRTtFekZ3cXFCUjs7RXlGdHFxQk07O0lBRUU7RXpGeXFxQlI7O0V5RnZxcUJNOztJQUVFO0V6RjBxcUJSOztFeUZ6cnFCTTtJQUFnQztFekY2cnFCdEM7O0V5RjVycUJNOztJQUVFO0V6RitycUJSOztFeUY3cnFCTTs7SUFFRTtFekZnc3FCUjs7RXlGOXJxQk07O0lBRUU7RXpGaXNxQlI7O0V5Ri9ycUJNOztJQUVFO0V6RmtzcUJSOztFeUYxcnFCTTtJQUF3QjtFekY4cnFCOUI7O0V5RjdycUJNOztJQUVFO0V6RmdzcUJSOztFeUY5cnFCTTs7SUFFRTtFekZpc3FCUjs7RXlGL3JxQk07O0lBRUU7RXpGa3NxQlI7O0V5RmhzcUJNOztJQUVFO0V6Rm1zcUJSOztFeUZsdHFCTTtJQUF3QjtFekZzdHFCOUI7O0V5RnJ0cUJNOztJQUVFO0V6Rnd0cUJSOztFeUZ0dHFCTTs7SUFFRTtFekZ5dHFCUjs7RXlGdnRxQk07O0lBRUU7RXpGMHRxQlI7O0V5Rnh0cUJNOztJQUVFO0V6RjJ0cUJSOztFeUYxdXFCTTtJQUF3QjtFekY4dXFCOUI7O0V5Rjd1cUJNOztJQUVFO0V6Rmd2cUJSOztFeUY5dXFCTTs7SUFFRTtFekZpdnFCUjs7RXlGL3VxQk07O0lBRUU7RXpGa3ZxQlI7O0V5Rmh2cUJNOztJQUVFO0V6Rm12cUJSOztFeUZsd3FCTTtJQUF3QjtFekZzd3FCOUI7O0V5RnJ3cUJNOztJQUVFO0V6Rnd3cUJSOztFeUZ0d3FCTTs7SUFFRTtFekZ5d3FCUjs7RXlGdndxQk07O0lBRUU7RXpGMHdxQlI7O0V5Rnh3cUJNOztJQUVFO0V6RjJ3cUJSOztFeUYxeHFCTTtJQUF3QjtFekY4eHFCOUI7O0V5Rjd4cUJNOztJQUVFO0V6Rmd5cUJSOztFeUY5eHFCTTs7SUFFRTtFekZpeXFCUjs7RXlGL3hxQk07O0lBRUU7RXpGa3lxQlI7O0V5Rmh5cUJNOztJQUVFO0V6Rm15cUJSOztFeUY3eHFCRTtJQUFtQjtFekZpeXFCckI7O0V5Rmh5cUJFOztJQUVFO0V6Rm15cUJKOztFeUZqeXFCRTs7SUFFRTtFekZveXFCSjs7RXlGbHlxQkU7O0lBRUU7RXpGcXlxQko7O0V5Rm55cUJFOztJQUVFO0V6RnN5cUJKO0FBQ0Y7QTBGdjJxQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7QTFGdTJxQko7O0EyRmozcUJBO0VBQWtCO0EzRnEzcUJsQjs7QTJGajNxQkE7RUFBaUI7QTNGcTNxQmpCOztBMkZwM3FCQTtFQUFpQjtBM0Z3M3FCakI7O0EyRnYzcUJBO0VBQWlCO0EzRjIzcUJqQjs7QTJGMTNxQkE7RUNURTtFQUNBO0VBQ0E7QTVGdTRxQkY7O0EyRngzcUJJO0VBQXdCO0EzRjQzcUI1Qjs7QTJGMzNxQkk7RUFBd0I7QTNGKzNxQjVCOztBMkY5M3FCSTtFQUF3QjtBM0ZrNHFCNUI7O0FpQzcxcUJJO0UwRHZDQTtJQUF3QjtFM0Z5NHFCMUI7O0UyRng0cUJFO0lBQXdCO0UzRjQ0cUIxQjs7RTJGMzRxQkU7SUFBd0I7RTNGKzRxQjFCO0FBQ0Y7QWlDMzJxQkk7RTBEdkNBO0lBQXdCO0UzRnM1cUIxQjs7RTJGcjVxQkU7SUFBd0I7RTNGeTVxQjFCOztFMkZ4NXFCRTtJQUF3QjtFM0Y0NXFCMUI7QUFDRjtBaUN4M3FCSTtFMER2Q0E7SUFBd0I7RTNGbTZxQjFCOztFMkZsNnFCRTtJQUF3QjtFM0ZzNnFCMUI7O0UyRnI2cUJFO0lBQXdCO0UzRnk2cUIxQjtBQUNGO0FpQ3I0cUJJO0UwRHZDQTtJQUF3QjtFM0ZnN3FCMUI7O0UyRi82cUJFO0lBQXdCO0UzRm03cUIxQjs7RTJGbDdxQkU7SUFBd0I7RTNGczdxQjFCO0FBQ0Y7QTJGajdxQkE7RUFBbUI7QTNGbzdxQm5COztBMkZuN3FCQTtFQUFtQjtBM0Z1N3FCbkI7O0EyRnQ3cUJBO0VBQW1CO0EzRjA3cUJuQjs7QTJGdDdxQkE7RUFBdUI7QTNGMDdxQnZCOztBMkZ6N3FCQTtFQUF1QjtBM0Y2N3FCdkI7O0EyRjU3cUJBO0VBQXVCO0EzRmc4cUJ2Qjs7QTJGLzdxQkE7RUFBdUI7QTNGbThxQnZCOztBMkZsOHFCQTtFQUF1QjtBM0ZzOHFCdkI7O0EyRnI4cUJBO0VBQXVCO0EzRnk4cUJ2Qjs7QTJGcjhxQkE7RUFBYztBM0Z5OHFCZDs7QTZGaC9xQkU7RUFDRTtBN0ZtL3FCSjs7QXdCeitxQkU7RXFFTE07QTdGay9xQlI7O0E2RngvcUJFO0VBQ0U7QTdGMi9xQko7O0F3QmovcUJFO0VxRUxNO0E3RjAvcUJSOztBNkZoZ3JCRTtFQUNFO0E3Rm1nckJKOztBd0J6L3FCRTtFcUVMTTtBN0ZrZ3JCUjs7QTZGeGdyQkU7RUFDRTtBN0YyZ3JCSjs7QXdCamdyQkU7RXFFTE07QTdGMGdyQlI7O0E2RmhockJFO0VBQ0U7QTdGbWhyQko7O0F3QnpnckJFO0VxRUxNO0E3RmtockJSOztBNkZ4aHJCRTtFQUNFO0E3RjJockJKOztBd0JqaHJCRTtFcUVMTTtBN0YwaHJCUjs7QTZGaGlyQkU7RUFDRTtBN0ZtaXJCSjs7QXdCemhyQkU7RXFFTE07QTdGa2lyQlI7O0E2RnhpckJFO0VBQ0U7QTdGMmlyQko7O0F3QmppckJFO0VxRUxNO0E3RjBpckJSOztBMkZuZ3JCQTtFQUFhO0EzRnVnckJiOztBMkZ0Z3JCQTtFQUFjO0EzRjBnckJkOztBMkZ4Z3JCQTtFQUFpQjtBM0Y0Z3JCakI7O0EyRjNnckJBO0VBQWlCO0EzRitnckJqQjs7QTJGM2dyQkE7RUd2REU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZza3JCRjs7QTJGL2dyQkE7RUFBd0I7QTNGbWhyQnhCOztBMkZqaHJCQTtFQUNFO0VBQ0E7QTNGb2hyQkY7O0EyRi9nckJBO0VBQWM7QTNGbWhyQmQ7O0ErRnBsckJBO0VBQ0U7QS9GdWxyQkY7O0ErRnBsckJBO0VBQ0U7QS9GdWxyQkY7O0FnR3ZsckJFO0VBQ0U7OztJQUtFO0lBRUE7RWhHdWxyQko7O0VnR25sckJJO0lBQ0U7RWhHc2xyQk47O0VnRzdrckJFO0lBQ0U7RWhHZ2xyQko7O0VnR2xrckJFO0lBQ0U7RWhHcWtyQko7O0VnR25rckJFOztJQUVFO0lBQ0E7RWhHc2tyQko7O0VnR25rckJFOztJQUVFO0VoR3NrckJKOztFZ0dua3JCRTs7O0lBR0U7SUFDQTtFaEdza3JCSjs7RWdHbmtyQkU7O0lBRUU7RWhHc2tyQko7O0VnRzlqckJFO0lBQ0UsUXpFMmlDOEI7RXZCc2hwQmxDO0VnRy9qckJFO0lBQ0U7RWhHaWtyQko7O0VnRy9qckJFO0lBQ0U7RWhHa2tyQko7O0VnRzlqckJFO0lBQ0U7RWhHaWtyQko7O0VnRy9qckJFO0lBQ0U7RWhHa2tyQko7O0VnRy9qckJFO0lBQ0U7RWhHa2tyQko7RWdHaGtyQkk7O0lBRUU7RWhHa2tyQk47O0VnRzdqckJJOztJQUVFO0VoR2drckJOOztFZ0c1anJCRTtJQUNFO0VoRytqckJKO0VnRzdqckJJOzs7O0lBSUUscUJ6RTlHRztFdkI2cXJCVDs7RWdHM2pyQkU7SUFDRTtJQUNBLHFCekVwSEs7RXZCa3JyQlQ7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2ZvbnRhd2Vzb21lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19jb3JlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19sYXJnZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2ZpeGVkLXdpZHRoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2xpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2JvcmRlcmVkLXB1bGxlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fYW5pbWF0ZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19zdGFja2VkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19pY29ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fc2NyZWVuLXJlYWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3NvbGlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kcy5zY3NzIiwid2VicGFjazovLy8uL19nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vZ2xvYmFsJztcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIFZhcmlhYmxlc1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gQm9vdHN0cmFwXG5AaW1wb3J0ICd+Ym9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwJztcblxuLy8gRm9udHNcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TnVuaXRvJyk7XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICdjb3JlJztcbkBpbXBvcnQgJ2xhcmdlcic7XG5AaW1wb3J0ICdmaXhlZC13aWR0aCc7XG5AaW1wb3J0ICdsaXN0JztcbkBpbXBvcnQgJ2JvcmRlcmVkLXB1bGxlZCc7XG5AaW1wb3J0ICdhbmltYXRlZCc7XG5AaW1wb3J0ICdyb3RhdGVkLWZsaXBwZWQnO1xuQGltcG9ydCAnc3RhY2tlZCc7XG5AaW1wb3J0ICdpY29ucyc7XG5AaW1wb3J0ICdzY3JlZW4tcmVhZGVyJztcbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0sXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFkLFxuLmZhYiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuJWZhLWljb24ge1xuICBAaW5jbHVkZSBmYS1pY29uO1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lclxuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXhzIHtcbiAgZm9udC1zaXplOiAuNzVlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtIHtcbiAgZm9udC1zaXplOiAuODc1ZW07XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAuI3skZmEtY3NzLXByZWZpeH0tI3skaX14IHtcbiAgICBmb250LXNpemU6ICRpICogMWVtO1xuICB9XG59XG4iLCIvLyBGaXhlZCBXaWR0aCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWZ3LXdpZHRoO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmEtZm9udC1wYXRoOiAgICAgICAgIFwiLi4vd2ViZm9udHNcIiAhZGVmYXVsdDtcbiRmYS1mb250LXNpemUtYmFzZTogICAgMTZweCAhZGVmYXVsdDtcbiRmYS1mb250LWRpc3BsYXk6ICAgICAgYmxvY2sgIWRlZmF1bHQ7XG4kZmEtY3NzLXByZWZpeDogICAgICAgIGZhICFkZWZhdWx0O1xuJGZhLXZlcnNpb246ICAgICAgICAgICBcIjUuMTUuM1wiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICAjZWVlICFkZWZhdWx0O1xuJGZhLWludmVyc2U6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZmEtZnctd2lkdGg6ICAgICAgICAgICgyMGVtIC8gMTYpO1xuJGZhLXByaW1hcnktb3BhY2l0eTogICAxICFkZWZhdWx0O1xuJGZhLXNlY29uZGFyeS1vcGFjaXR5OiAuNCAhZGVmYXVsdDtcblxuLy8gQ29udmVuaWVuY2UgZnVuY3Rpb24gdXNlZCB0byBzZXQgY29udGVudCBwcm9wZXJ0eVxuQGZ1bmN0aW9uIGZhLWNvbnRlbnQoJGZhLXZhcikge1xuICBAcmV0dXJuIHVucXVvdGUoXCJcXFwiI3sgJGZhLXZhciB9XFxcIlwiKTtcbn1cblxuJGZhLXZhci01MDBweDogXFxmMjZlO1xuJGZhLXZhci1hY2Nlc3NpYmxlLWljb246IFxcZjM2ODtcbiRmYS12YXItYWNjdXNvZnQ6IFxcZjM2OTtcbiRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDogXFxmNmFmO1xuJGZhLXZhci1hZDogXFxmNjQxO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFxcZjJiOTtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLWFkanVzdDogXFxmMDQyO1xuJGZhLXZhci1hZG46IFxcZjE3MDtcbiRmYS12YXItYWR2ZXJzYWw6IFxcZjM2YTtcbiRmYS12YXItYWZmaWxpYXRldGhlbWU6IFxcZjM2YjtcbiRmYS12YXItYWlyLWZyZXNoZW5lcjogXFxmNWQwO1xuJGZhLXZhci1haXJibmI6IFxcZjgzNDtcbiRmYS12YXItYWxnb2xpYTogXFxmMzZjO1xuJGZhLXZhci1hbGlnbi1jZW50ZXI6IFxcZjAzNztcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXFxmMDM5O1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcXGYwMzY7XG4kZmEtdmFyLWFsaWduLXJpZ2h0OiBcXGYwMzg7XG4kZmEtdmFyLWFsaXBheTogXFxmNjQyO1xuJGZhLXZhci1hbGxlcmdpZXM6IFxcZjQ2MTtcbiRmYS12YXItYW1hem9uOiBcXGYyNzA7XG4kZmEtdmFyLWFtYXpvbi1wYXk6IFxcZjQyYztcbiRmYS12YXItYW1idWxhbmNlOiBcXGYwZjk7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWFtaWxpYTogXFxmMzZkO1xuJGZhLXZhci1hbmNob3I6IFxcZjEzZDtcbiRmYS12YXItYW5kcm9pZDogXFxmMTdiO1xuJGZhLXZhci1hbmdlbGxpc3Q6IFxcZjIwOTtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFxcZjEwMztcbiRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ6IFxcZjEwMDtcbiRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OiBcXGYxMDE7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXFxmMTAyO1xuJGZhLXZhci1hbmdsZS1kb3duOiBcXGYxMDc7XG4kZmEtdmFyLWFuZ2xlLWxlZnQ6IFxcZjEwNDtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFxcZjEwNTtcbiRmYS12YXItYW5nbGUtdXA6IFxcZjEwNjtcbiRmYS12YXItYW5ncnk6IFxcZjU1NjtcbiRmYS12YXItYW5ncnljcmVhdGl2ZTogXFxmMzZlO1xuJGZhLXZhci1hbmd1bGFyOiBcXGY0MjA7XG4kZmEtdmFyLWFua2g6IFxcZjY0NDtcbiRmYS12YXItYXBwLXN0b3JlOiBcXGYzNmY7XG4kZmEtdmFyLWFwcC1zdG9yZS1pb3M6IFxcZjM3MDtcbiRmYS12YXItYXBwZXI6IFxcZjM3MTtcbiRmYS12YXItYXBwbGU6IFxcZjE3OTtcbiRmYS12YXItYXBwbGUtYWx0OiBcXGY1ZDE7XG4kZmEtdmFyLWFwcGxlLXBheTogXFxmNDE1O1xuJGZhLXZhci1hcmNoaXZlOiBcXGYxODc7XG4kZmEtdmFyLWFyY2h3YXk6IFxcZjU1NztcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duOiBcXGYzNTg7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdDogXFxmMzU5O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OiBcXGYzNWE7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXA6IFxcZjM1YjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFxcZjBhYjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFxcZjBhODtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXFxmMGFhO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcXGYwNjM7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFxcZjA2MDtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFxcZjA2MTtcbiRmYS12YXItYXJyb3ctdXA6IFxcZjA2MjtcbiRmYS12YXItYXJyb3dzLWFsdDogXFxmMGIyO1xuJGZhLXZhci1hcnJvd3MtYWx0LWg6IFxcZjMzNztcbiRmYS12YXItYXJyb3dzLWFsdC12OiBcXGYzMzg7XG4kZmEtdmFyLWFydHN0YXRpb246IFxcZjc3YTtcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcXGYyYTI7XG4kZmEtdmFyLWFzdGVyaXNrOiBcXGYwNjk7XG4kZmEtdmFyLWFzeW1tZXRyaWs6IFxcZjM3MjtcbiRmYS12YXItYXQ6IFxcZjFmYTtcbiRmYS12YXItYXRsYXM6IFxcZjU1ODtcbiRmYS12YXItYXRsYXNzaWFuOiBcXGY3N2I7XG4kZmEtdmFyLWF0b206IFxcZjVkMjtcbiRmYS12YXItYXVkaWJsZTogXFxmMzczO1xuJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbjogXFxmMjllO1xuJGZhLXZhci1hdXRvcHJlZml4ZXI6IFxcZjQxYztcbiRmYS12YXItYXZpYW5leDogXFxmMzc0O1xuJGZhLXZhci1hdmlhdG86IFxcZjQyMTtcbiRmYS12YXItYXdhcmQ6IFxcZjU1OTtcbiRmYS12YXItYXdzOiBcXGYzNzU7XG4kZmEtdmFyLWJhYnk6IFxcZjc3YztcbiRmYS12YXItYmFieS1jYXJyaWFnZTogXFxmNzdkO1xuJGZhLXZhci1iYWNrc3BhY2U6IFxcZjU1YTtcbiRmYS12YXItYmFja3dhcmQ6IFxcZjA0YTtcbiRmYS12YXItYmFjb246IFxcZjdlNTtcbiRmYS12YXItYmFjdGVyaWE6IFxcZTA1OTtcbiRmYS12YXItYmFjdGVyaXVtOiBcXGUwNWE7XG4kZmEtdmFyLWJhaGFpOiBcXGY2NjY7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFxcZjI0ZTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0OiBcXGY1MTU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQ6IFxcZjUxNjtcbiRmYS12YXItYmFuOiBcXGYwNWU7XG4kZmEtdmFyLWJhbmQtYWlkOiBcXGY0NjI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcXGYyZDU7XG4kZmEtdmFyLWJhcmNvZGU6IFxcZjAyYTtcbiRmYS12YXItYmFyczogXFxmMGM5O1xuJGZhLXZhci1iYXNlYmFsbC1iYWxsOiBcXGY0MzM7XG4kZmEtdmFyLWJhc2tldGJhbGwtYmFsbDogXFxmNDM0O1xuJGZhLXZhci1iYXRoOiBcXGYyY2Q7XG4kZmEtdmFyLWJhdHRlcnktZW1wdHk6IFxcZjI0NDtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcXGYyNDA7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXFxmMjQyO1xuJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI6IFxcZjI0MztcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXFxmMjQxO1xuJGZhLXZhci1iYXR0bGUtbmV0OiBcXGY4MzU7XG4kZmEtdmFyLWJlZDogXFxmMjM2O1xuJGZhLXZhci1iZWVyOiBcXGYwZmM7XG4kZmEtdmFyLWJlaGFuY2U6IFxcZjFiNDtcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFxcZjFiNTtcbiRmYS12YXItYmVsbDogXFxmMGYzO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcXGYxZjY7XG4kZmEtdmFyLWJlemllci1jdXJ2ZTogXFxmNTViO1xuJGZhLXZhci1iaWJsZTogXFxmNjQ3O1xuJGZhLXZhci1iaWN5Y2xlOiBcXGYyMDY7XG4kZmEtdmFyLWJpa2luZzogXFxmODRhO1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWJsZW5kZXI6IFxcZjUxNztcbiRmYS12YXItYmxlbmRlci1waG9uZTogXFxmNmI2O1xuJGZhLXZhci1ibGluZDogXFxmMjlkO1xuJGZhLXZhci1ibG9nOiBcXGY3ODE7XG4kZmEtdmFyLWJsb2dnZXI6IFxcZjM3YztcbiRmYS12YXItYmxvZ2dlci1iOiBcXGYzN2Q7XG4kZmEtdmFyLWJsdWV0b290aDogXFxmMjkzO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXFxmMjk0O1xuJGZhLXZhci1ib2xkOiBcXGYwMzI7XG4kZmEtdmFyLWJvbHQ6IFxcZjBlNztcbiRmYS12YXItYm9tYjogXFxmMWUyO1xuJGZhLXZhci1ib25lOiBcXGY1ZDc7XG4kZmEtdmFyLWJvbmc6IFxcZjU1YztcbiRmYS12YXItYm9vazogXFxmMDJkO1xuJGZhLXZhci1ib29rLWRlYWQ6IFxcZjZiNztcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rbWFyazogXFxmMDJlO1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItYm9yZGVyLWFsbDogXFxmODRjO1xuJGZhLXZhci1ib3JkZXItbm9uZTogXFxmODUwO1xuJGZhLXZhci1ib3JkZXItc3R5bGU6IFxcZjg1MztcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJveDogXFxmNDY2O1xuJGZhLXZhci1ib3gtb3BlbjogXFxmNDllO1xuJGZhLXZhci1ib3gtdGlzc3VlOiBcXGUwNWI7XG4kZmEtdmFyLWJveGVzOiBcXGY0Njg7XG4kZmEtdmFyLWJyYWlsbGU6IFxcZjJhMTtcbiRmYS12YXItYnJhaW46IFxcZjVkYztcbiRmYS12YXItYnJlYWQtc2xpY2U6IFxcZjdlYztcbiRmYS12YXItYnJpZWZjYXNlOiBcXGYwYjE7XG4kZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsOiBcXGY0Njk7XG4kZmEtdmFyLWJyb2FkY2FzdC10b3dlcjogXFxmNTE5O1xuJGZhLXZhci1icm9vbTogXFxmNTFhO1xuJGZhLXZhci1icnVzaDogXFxmNTVkO1xuJGZhLXZhci1idGM6IFxcZjE1YTtcbiRmYS12YXItYnVmZmVyOiBcXGY4Mzc7XG4kZmEtdmFyLWJ1ZzogXFxmMTg4O1xuJGZhLXZhci1idWlsZGluZzogXFxmMWFkO1xuJGZhLXZhci1idWxsaG9ybjogXFxmMGExO1xuJGZhLXZhci1idWxsc2V5ZTogXFxmMTQwO1xuJGZhLXZhci1idXJuOiBcXGY0NmE7XG4kZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGU6IFxcZjM3ZjtcbiRmYS12YXItYnVzOiBcXGYyMDc7XG4kZmEtdmFyLWJ1cy1hbHQ6IFxcZjU1ZTtcbiRmYS12YXItYnVzaW5lc3MtdGltZTogXFxmNjRhO1xuJGZhLXZhci1idXktbi1sYXJnZTogXFxmOGE2O1xuJGZhLXZhci1idXlzZWxsYWRzOiBcXGYyMGQ7XG4kZmEtdmFyLWNhbGN1bGF0b3I6IFxcZjFlYztcbiRmYS12YXItY2FsZW5kYXI6IFxcZjEzMztcbiRmYS12YXItY2FsZW5kYXItYWx0OiBcXGYwNzM7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrOiBcXGYyNzQ7XG4kZmEtdmFyLWNhbGVuZGFyLWRheTogXFxmNzgzO1xuJGZhLXZhci1jYWxlbmRhci1taW51czogXFxmMjcyO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzOiBcXGYyNzE7XG4kZmEtdmFyLWNhbGVuZGFyLXRpbWVzOiBcXGYyNzM7XG4kZmEtdmFyLWNhbGVuZGFyLXdlZWs6IFxcZjc4NDtcbiRmYS12YXItY2FtZXJhOiBcXGYwMzA7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXFxmMDgzO1xuJGZhLXZhci1jYW1wZ3JvdW5kOiBcXGY2YmI7XG4kZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWY6IFxcZjc4NTtcbiRmYS12YXItY2FuZHktY2FuZTogXFxmNzg2O1xuJGZhLXZhci1jYW5uYWJpczogXFxmNTVmO1xuJGZhLXZhci1jYXBzdWxlczogXFxmNDZiO1xuJGZhLXZhci1jYXI6IFxcZjFiOTtcbiRmYS12YXItY2FyLWFsdDogXFxmNWRlO1xuJGZhLXZhci1jYXItYmF0dGVyeTogXFxmNWRmO1xuJGZhLXZhci1jYXItY3Jhc2g6IFxcZjVlMTtcbiRmYS12YXItY2FyLXNpZGU6IFxcZjVlNDtcbiRmYS12YXItY2FyYXZhbjogXFxmOGZmO1xuJGZhLXZhci1jYXJldC1kb3duOiBcXGYwZDc7XG4kZmEtdmFyLWNhcmV0LWxlZnQ6IFxcZjBkOTtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFxcZjBkYTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWRvd246IFxcZjE1MDtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQ6IFxcZjE5MTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0OiBcXGYxNTI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS11cDogXFxmMTUxO1xuJGZhLXZhci1jYXJldC11cDogXFxmMGQ4O1xuJGZhLXZhci1jYXJyb3Q6IFxcZjc4NztcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcXGYyMTg7XG4kZmEtdmFyLWNhcnQtcGx1czogXFxmMjE3O1xuJGZhLXZhci1jYXNoLXJlZ2lzdGVyOiBcXGY3ODg7XG4kZmEtdmFyLWNhdDogXFxmNmJlO1xuJGZhLXZhci1jYy1hbWF6b24tcGF5OiBcXGY0MmQ7XG4kZmEtdmFyLWNjLWFtZXg6IFxcZjFmMztcbiRmYS12YXItY2MtYXBwbGUtcGF5OiBcXGY0MTY7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcXGYyNGM7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcXGYxZjI7XG4kZmEtdmFyLWNjLWpjYjogXFxmMjRiO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcXGYxZjE7XG4kZmEtdmFyLWNjLXBheXBhbDogXFxmMWY0O1xuJGZhLXZhci1jYy1zdHJpcGU6IFxcZjFmNTtcbiRmYS12YXItY2MtdmlzYTogXFxmMWYwO1xuJGZhLXZhci1jZW50ZXJjb2RlOiBcXGYzODA7XG4kZmEtdmFyLWNlbnRvczogXFxmNzg5O1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXFxmMGEzO1xuJGZhLXZhci1jaGFpcjogXFxmNmMwO1xuJGZhLXZhci1jaGFsa2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcjogXFxmNTFjO1xuJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uOiBcXGY1ZTc7XG4kZmEtdmFyLWNoYXJ0LWFyZWE6IFxcZjFmZTtcbiRmYS12YXItY2hhcnQtYmFyOiBcXGYwODA7XG4kZmEtdmFyLWNoYXJ0LWxpbmU6IFxcZjIwMTtcbiRmYS12YXItY2hhcnQtcGllOiBcXGYyMDA7XG4kZmEtdmFyLWNoZWNrOiBcXGYwMGM7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXFxmMDU4O1xuJGZhLXZhci1jaGVjay1kb3VibGU6IFxcZjU2MDtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcXGYxNGE7XG4kZmEtdmFyLWNoZWVzZTogXFxmN2VmO1xuJGZhLXZhci1jaGVzczogXFxmNDM5O1xuJGZhLXZhci1jaGVzcy1iaXNob3A6IFxcZjQzYTtcbiRmYS12YXItY2hlc3MtYm9hcmQ6IFxcZjQzYztcbiRmYS12YXItY2hlc3Mta2luZzogXFxmNDNmO1xuJGZhLXZhci1jaGVzcy1rbmlnaHQ6IFxcZjQ0MTtcbiRmYS12YXItY2hlc3MtcGF3bjogXFxmNDQzO1xuJGZhLXZhci1jaGVzcy1xdWVlbjogXFxmNDQ1O1xuJGZhLXZhci1jaGVzcy1yb29rOiBcXGY0NDc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFxcZjEzYTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXFxmMTM3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXFxmMTM5O1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFxcZjA3ODtcbiRmYS12YXItY2hldnJvbi1sZWZ0OiBcXGYwNTM7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFxcZjA1NDtcbiRmYS12YXItY2hldnJvbi11cDogXFxmMDc3O1xuJGZhLXZhci1jaGlsZDogXFxmMWFlO1xuJGZhLXZhci1jaHJvbWU6IFxcZjI2ODtcbiRmYS12YXItY2hyb21lY2FzdDogXFxmODM4O1xuJGZhLXZhci1jaHVyY2g6IFxcZjUxZDtcbiRmYS12YXItY2lyY2xlOiBcXGYxMTE7XG4kZmEtdmFyLWNpcmNsZS1ub3RjaDogXFxmMWNlO1xuJGZhLXZhci1jaXR5OiBcXGY2NGY7XG4kZmEtdmFyLWNsaW5pYy1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLWNsaXBib2FyZDogXFxmMzI4O1xuJGZhLXZhci1jbGlwYm9hcmQtY2hlY2s6IFxcZjQ2YztcbiRmYS12YXItY2xpcGJvYXJkLWxpc3Q6IFxcZjQ2ZDtcbiRmYS12YXItY2xvY2s6IFxcZjAxNztcbiRmYS12YXItY2xvbmU6IFxcZjI0ZDtcbiRmYS12YXItY2xvc2VkLWNhcHRpb25pbmc6IFxcZjIwYTtcbiRmYS12YXItY2xvdWQ6IFxcZjBjMjtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0OiBcXGYzODE7XG4kZmEtdmFyLWNsb3VkLW1lYXRiYWxsOiBcXGY3M2I7XG4kZmEtdmFyLWNsb3VkLW1vb246IFxcZjZjMztcbiRmYS12YXItY2xvdWQtbW9vbi1yYWluOiBcXGY3M2M7XG4kZmEtdmFyLWNsb3VkLXJhaW46IFxcZjczZDtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eTogXFxmNzQwO1xuJGZhLXZhci1jbG91ZC1zdW46IFxcZjZjNDtcbiRmYS12YXItY2xvdWQtc3VuLXJhaW46IFxcZjc0MztcbiRmYS12YXItY2xvdWQtdXBsb2FkLWFsdDogXFxmMzgyO1xuJGZhLXZhci1jbG91ZGZsYXJlOiBcXGUwN2Q7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItY29ja3RhaWw6IFxcZjU2MTtcbiRmYS12YXItY29kZTogXFxmMTIxO1xuJGZhLXZhci1jb2RlLWJyYW5jaDogXFxmMTI2O1xuJGZhLXZhci1jb2RlcGVuOiBcXGYxY2I7XG4kZmEtdmFyLWNvZGllcGllOiBcXGYyODQ7XG4kZmEtdmFyLWNvZmZlZTogXFxmMGY0O1xuJGZhLXZhci1jb2c6IFxcZjAxMztcbiRmYS12YXItY29nczogXFxmMDg1O1xuJGZhLXZhci1jb2luczogXFxmNTFlO1xuJGZhLXZhci1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWNvbW1lbnQ6IFxcZjA3NTtcbiRmYS12YXItY29tbWVudC1hbHQ6IFxcZjI3YTtcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnQtbWVkaWNhbDogXFxmN2Y1O1xuJGZhLXZhci1jb21tZW50LXNsYXNoOiBcXGY0YjM7XG4kZmEtdmFyLWNvbW1lbnRzOiBcXGYwODY7XG4kZmEtdmFyLWNvbW1lbnRzLWRvbGxhcjogXFxmNjUzO1xuJGZhLXZhci1jb21wYWN0LWRpc2M6IFxcZjUxZjtcbiRmYS12YXItY29tcGFzczogXFxmMTRlO1xuJGZhLXZhci1jb21wcmVzczogXFxmMDY2O1xuJGZhLXZhci1jb21wcmVzcy1hbHQ6IFxcZjQyMjtcbiRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdDogXFxmNzhjO1xuJGZhLXZhci1jb25jaWVyZ2UtYmVsbDogXFxmNTYyO1xuJGZhLXZhci1jb25mbHVlbmNlOiBcXGY3OGQ7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcXGYyMGU7XG4kZmEtdmFyLWNvbnRhbzogXFxmMjZkO1xuJGZhLXZhci1jb29raWU6IFxcZjU2MztcbiRmYS12YXItY29va2llLWJpdGU6IFxcZjU2NDtcbiRmYS12YXItY29weTogXFxmMGM1O1xuJGZhLXZhci1jb3B5cmlnaHQ6IFxcZjFmOTtcbiRmYS12YXItY290dG9uLWJ1cmVhdTogXFxmODllO1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jcGFuZWw6IFxcZjM4ODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXFxmMjVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5OiBcXGY0ZTc7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmM6IFxcZjRlODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldTogXFxmNGU5O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOiBcXGY0ZWE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQ6IFxcZjRlYjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZDogXFxmNGVjO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDogXFxmNGVkO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OiBcXGY0ZWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2E6IFxcZjRlZjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzogXFxmNGYwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6IFxcZjRmMTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZTogXFxmNGYyO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm86IFxcZjRmMztcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFxcZjA5ZDtcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1jcm9wOiBcXGYxMjU7XG4kZmEtdmFyLWNyb3AtYWx0OiBcXGY1NjU7XG4kZmEtdmFyLWNyb3NzOiBcXGY2NTQ7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFxcZjA1YjtcbiRmYS12YXItY3JvdzogXFxmNTIwO1xuJGZhLXZhci1jcm93bjogXFxmNTIxO1xuJGZhLXZhci1jcnV0Y2g6IFxcZjdmNztcbiRmYS12YXItY3NzMzogXFxmMTNjO1xuJGZhLXZhci1jc3MzLWFsdDogXFxmMzhiO1xuJGZhLXZhci1jdWJlOiBcXGYxYjI7XG4kZmEtdmFyLWN1YmVzOiBcXGYxYjM7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItZGFpbHltb3Rpb246IFxcZTA1MjtcbiRmYS12YXItZGFzaGN1YmU6IFxcZjIxMDtcbiRmYS12YXItZGF0YWJhc2U6IFxcZjFjMDtcbiRmYS12YXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWV6ZXI6IFxcZTA3NztcbiRmYS12YXItZGVsaWNpb3VzOiBcXGYxYTU7XG4kZmEtdmFyLWRlbW9jcmF0OiBcXGY3NDc7XG4kZmEtdmFyLWRlcGxveWRvZzogXFxmMzhlO1xuJGZhLXZhci1kZXNrcHJvOiBcXGYzOGY7XG4kZmEtdmFyLWRlc2t0b3A6IFxcZjEwODtcbiRmYS12YXItZGV2OiBcXGY2Y2M7XG4kZmEtdmFyLWRldmlhbnRhcnQ6IFxcZjFiZDtcbiRmYS12YXItZGhhcm1hY2hha3JhOiBcXGY2NTU7XG4kZmEtdmFyLWRobDogXFxmNzkwO1xuJGZhLXZhci1kaWFnbm9zZXM6IFxcZjQ3MDtcbiRmYS12YXItZGlhc3BvcmE6IFxcZjc5MTtcbiRmYS12YXItZGljZTogXFxmNTIyO1xuJGZhLXZhci1kaWNlLWQyMDogXFxmNmNmO1xuJGZhLXZhci1kaWNlLWQ2OiBcXGY2ZDE7XG4kZmEtdmFyLWRpY2UtZml2ZTogXFxmNTIzO1xuJGZhLXZhci1kaWNlLWZvdXI6IFxcZjUyNDtcbiRmYS12YXItZGljZS1vbmU6IFxcZjUyNTtcbiRmYS12YXItZGljZS1zaXg6IFxcZjUyNjtcbiRmYS12YXItZGljZS10aHJlZTogXFxmNTI3O1xuJGZhLXZhci1kaWNlLXR3bzogXFxmNTI4O1xuJGZhLXZhci1kaWdnOiBcXGYxYTY7XG4kZmEtdmFyLWRpZ2l0YWwtb2NlYW46IFxcZjM5MTtcbiRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoOiBcXGY1NjY7XG4kZmEtdmFyLWRpcmVjdGlvbnM6IFxcZjVlYjtcbiRmYS12YXItZGlzY29yZDogXFxmMzkyO1xuJGZhLXZhci1kaXNjb3Vyc2U6IFxcZjM5MztcbiRmYS12YXItZGlzZWFzZTogXFxmN2ZhO1xuJGZhLXZhci1kaXZpZGU6IFxcZjUyOTtcbiRmYS12YXItZGl6enk6IFxcZjU2NztcbiRmYS12YXItZG5hOiBcXGY0NzE7XG4kZmEtdmFyLWRvY2h1YjogXFxmMzk0O1xuJGZhLXZhci1kb2NrZXI6IFxcZjM5NTtcbiRmYS12YXItZG9nOiBcXGY2ZDM7XG4kZmEtdmFyLWRvbGxhci1zaWduOiBcXGYxNTU7XG4kZmEtdmFyLWRvbGx5OiBcXGY0NzI7XG4kZmEtdmFyLWRvbGx5LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItZG9uYXRlOiBcXGY0Yjk7XG4kZmEtdmFyLWRvb3ItY2xvc2VkOiBcXGY1MmE7XG4kZmEtdmFyLWRvb3Itb3BlbjogXFxmNTJiO1xuJGZhLXZhci1kb3QtY2lyY2xlOiBcXGYxOTI7XG4kZmEtdmFyLWRvdmU6IFxcZjRiYTtcbiRmYS12YXItZG93bmxvYWQ6IFxcZjAxOTtcbiRmYS12YXItZHJhZnQyZGlnaXRhbDogXFxmMzk2O1xuJGZhLXZhci1kcmFmdGluZy1jb21wYXNzOiBcXGY1Njg7XG4kZmEtdmFyLWRyYWdvbjogXFxmNmQ1O1xuJGZhLXZhci1kcmF3LXBvbHlnb246IFxcZjVlZTtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWRyb3Bib3g6IFxcZjE2YjtcbiRmYS12YXItZHJ1bTogXFxmNTY5O1xuJGZhLXZhci1kcnVtLXN0ZWVscGFuOiBcXGY1NmE7XG4kZmEtdmFyLWRydW1zdGljay1iaXRlOiBcXGY2ZDc7XG4kZmEtdmFyLWRydXBhbDogXFxmMWE5O1xuJGZhLXZhci1kdW1iYmVsbDogXFxmNDRiO1xuJGZhLXZhci1kdW1wc3RlcjogXFxmNzkzO1xuJGZhLXZhci1kdW1wc3Rlci1maXJlOiBcXGY3OTQ7XG4kZmEtdmFyLWR1bmdlb246IFxcZjZkOTtcbiRmYS12YXItZHlhbG9nOiBcXGYzOTk7XG4kZmEtdmFyLWVhcmx5YmlyZHM6IFxcZjM5YTtcbiRmYS12YXItZWJheTogXFxmNGY0O1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLWVkZ2UtbGVnYWN5OiBcXGUwNzg7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWVqZWN0OiBcXGYwNTI7XG4kZmEtdmFyLWVsZW1lbnRvcjogXFxmNDMwO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcXGYxNDE7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFxcZjE0MjtcbiRmYS12YXItZWxsbzogXFxmNWYxO1xuJGZhLXZhci1lbWJlcjogXFxmNDIzO1xuJGZhLXZhci1lbXBpcmU6IFxcZjFkMTtcbiRmYS12YXItZW52ZWxvcGU6IFxcZjBlMDtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXFxmMmI2O1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQ6IFxcZjY1ODtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcXGYxOTk7XG4kZmEtdmFyLWVudmlyYTogXFxmMjk5O1xuJGZhLXZhci1lcXVhbHM6IFxcZjUyYztcbiRmYS12YXItZXJhc2VyOiBcXGYxMmQ7XG4kZmEtdmFyLWVybGFuZzogXFxmMzlkO1xuJGZhLXZhci1ldGhlcmV1bTogXFxmNDJlO1xuJGZhLXZhci1ldGhlcm5ldDogXFxmNzk2O1xuJGZhLXZhci1ldHN5OiBcXGYyZDc7XG4kZmEtdmFyLWV1cm8tc2lnbjogXFxmMTUzO1xuJGZhLXZhci1ldmVybm90ZTogXFxmODM5O1xuJGZhLXZhci1leGNoYW5nZS1hbHQ6IFxcZjM2MjtcbiRmYS12YXItZXhjbGFtYXRpb246IFxcZjEyYTtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcXGYwNmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1leHBhbmQtYWx0OiBcXGY0MjQ7XG4kZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0OiBcXGYzMWU7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXFxmMjNlO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdDogXFxmMzVkO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6IFxcZjM2MDtcbiRmYS12YXItZXllOiBcXGYwNmU7XG4kZmEtdmFyLWV5ZS1kcm9wcGVyOiBcXGYxZmI7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXFxmMDcwO1xuJGZhLXZhci1mYWNlYm9vazogXFxmMDlhO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcXGYzOWU7XG4kZmEtdmFyLWZhY2Vib29rLW1lc3NlbmdlcjogXFxmMzlmO1xuJGZhLXZhci1mYWNlYm9vay1zcXVhcmU6IFxcZjA4MjtcbiRmYS12YXItZmFuOiBcXGY4NjM7XG4kZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOiBcXGY2ZGM7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFxcZjA0OTtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcXGYwNTA7XG4kZmEtdmFyLWZhdWNldDogXFxlMDA1O1xuJGZhLXZhci1mYXg6IFxcZjFhYztcbiRmYS12YXItZmVhdGhlcjogXFxmNTJkO1xuJGZhLXZhci1mZWF0aGVyLWFsdDogXFxmNTZiO1xuJGZhLXZhci1mZWRleDogXFxmNzk3O1xuJGZhLXZhci1mZWRvcmE6IFxcZjc5ODtcbiRmYS12YXItZmVtYWxlOiBcXGYxODI7XG4kZmEtdmFyLWZpZ2h0ZXItamV0OiBcXGYwZmI7XG4kZmEtdmFyLWZpZ21hOiBcXGY3OTk7XG4kZmEtdmFyLWZpbGU6IFxcZjE1YjtcbiRmYS12YXItZmlsZS1hbHQ6IFxcZjE1YztcbiRmYS12YXItZmlsZS1hcmNoaXZlOiBcXGYxYzY7XG4kZmEtdmFyLWZpbGUtYXVkaW86IFxcZjFjNztcbiRmYS12YXItZmlsZS1jb2RlOiBcXGYxYzk7XG4kZmEtdmFyLWZpbGUtY29udHJhY3Q6IFxcZjU2YztcbiRmYS12YXItZmlsZS1jc3Y6IFxcZjZkZDtcbiRmYS12YXItZmlsZS1kb3dubG9hZDogXFxmNTZkO1xuJGZhLXZhci1maWxlLWV4Y2VsOiBcXGYxYzM7XG4kZmEtdmFyLWZpbGUtZXhwb3J0OiBcXGY1NmU7XG4kZmEtdmFyLWZpbGUtaW1hZ2U6IFxcZjFjNTtcbiRmYS12YXItZmlsZS1pbXBvcnQ6IFxcZjU2ZjtcbiRmYS12YXItZmlsZS1pbnZvaWNlOiBcXGY1NzA7XG4kZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXI6IFxcZjU3MTtcbiRmYS12YXItZmlsZS1tZWRpY2FsOiBcXGY0Nzc7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQ6IFxcZjQ3ODtcbiRmYS12YXItZmlsZS1wZGY6IFxcZjFjMTtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50OiBcXGYxYzQ7XG4kZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uOiBcXGY1NzI7XG4kZmEtdmFyLWZpbGUtc2lnbmF0dXJlOiBcXGY1NzM7XG4kZmEtdmFyLWZpbGUtdXBsb2FkOiBcXGY1NzQ7XG4kZmEtdmFyLWZpbGUtdmlkZW86IFxcZjFjODtcbiRmYS12YXItZmlsZS13b3JkOiBcXGYxYzI7XG4kZmEtdmFyLWZpbGw6IFxcZjU3NTtcbiRmYS12YXItZmlsbC1kcmlwOiBcXGY1NzY7XG4kZmEtdmFyLWZpbG06IFxcZjAwODtcbiRmYS12YXItZmlsdGVyOiBcXGYwYjA7XG4kZmEtdmFyLWZpbmdlcnByaW50OiBcXGY1Nzc7XG4kZmEtdmFyLWZpcmU6IFxcZjA2ZDtcbiRmYS12YXItZmlyZS1hbHQ6IFxcZjdlNDtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFxcZjEzNDtcbiRmYS12YXItZmlyZWZveDogXFxmMjY5O1xuJGZhLXZhci1maXJlZm94LWJyb3dzZXI6IFxcZTAwNztcbiRmYS12YXItZmlyc3QtYWlkOiBcXGY0Nzk7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcXGYyYjA7XG4kZmEtdmFyLWZpcnN0LW9yZGVyLWFsdDogXFxmNTBhO1xuJGZhLXZhci1maXJzdGRyYWZ0OiBcXGYzYTE7XG4kZmEtdmFyLWZpc2g6IFxcZjU3ODtcbiRmYS12YXItZmlzdC1yYWlzZWQ6IFxcZjZkZTtcbiRmYS12YXItZmxhZzogXFxmMDI0O1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXFxmMTFlO1xuJGZhLXZhci1mbGFnLXVzYTogXFxmNzRkO1xuJGZhLXZhci1mbGFzazogXFxmMGMzO1xuJGZhLXZhci1mbGlja3I6IFxcZjE2ZTtcbiRmYS12YXItZmxpcGJvYXJkOiBcXGY0NGQ7XG4kZmEtdmFyLWZsdXNoZWQ6IFxcZjU3OTtcbiRmYS12YXItZmx5OiBcXGY0MTc7XG4kZmEtdmFyLWZvbGRlcjogXFxmMDdiO1xuJGZhLXZhci1mb2xkZXItbWludXM6IFxcZjY1ZDtcbiRmYS12YXItZm9sZGVyLW9wZW46IFxcZjA3YztcbiRmYS12YXItZm9sZGVyLXBsdXM6IFxcZjY1ZTtcbiRmYS12YXItZm9udDogXFxmMDMxO1xuJGZhLXZhci1mb250LWF3ZXNvbWU6IFxcZjJiNDtcbiRmYS12YXItZm9udC1hd2Vzb21lLWFsdDogXFxmMzVjO1xuJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZzogXFxmNDI1O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsOiBcXGY0ZTY7XG4kZmEtdmFyLWZvbnRpY29uczogXFxmMjgwO1xuJGZhLXZhci1mb250aWNvbnMtZmk6IFxcZjNhMjtcbiRmYS12YXItZm9vdGJhbGwtYmFsbDogXFxmNDRlO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFxcZjI4NjtcbiRmYS12YXItZm9ydC1hd2Vzb21lLWFsdDogXFxmM2EzO1xuJGZhLXZhci1mb3J1bWJlZTogXFxmMjExO1xuJGZhLXZhci1mb3J3YXJkOiBcXGYwNGU7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFxcZjE4MDtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFxcZjJjNTtcbiRmYS12YXItZnJlZWJzZDogXFxmM2E0O1xuJGZhLXZhci1mcm9nOiBcXGY1MmU7XG4kZmEtdmFyLWZyb3duOiBcXGYxMTk7XG4kZmEtdmFyLWZyb3duLW9wZW46IFxcZjU3YTtcbiRmYS12YXItZnVsY3J1bTogXFxmNTBiO1xuJGZhLXZhci1mdW5uZWwtZG9sbGFyOiBcXGY2NjI7XG4kZmEtdmFyLWZ1dGJvbDogXFxmMWUzO1xuJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYzogXFxmNTBjO1xuJGZhLXZhci1nYWxhY3RpYy1zZW5hdGU6IFxcZjUwZDtcbiRmYS12YXItZ2FtZXBhZDogXFxmMTFiO1xuJGZhLXZhci1nYXMtcHVtcDogXFxmNTJmO1xuJGZhLXZhci1nYXZlbDogXFxmMGUzO1xuJGZhLXZhci1nZW06IFxcZjNhNTtcbiRmYS12YXItZ2VuZGVybGVzczogXFxmMjJkO1xuJGZhLXZhci1nZXQtcG9ja2V0OiBcXGYyNjU7XG4kZmEtdmFyLWdnOiBcXGYyNjA7XG4kZmEtdmFyLWdnLWNpcmNsZTogXFxmMjYxO1xuJGZhLXZhci1naG9zdDogXFxmNmUyO1xuJGZhLXZhci1naWZ0OiBcXGYwNmI7XG4kZmEtdmFyLWdpZnRzOiBcXGY3OWM7XG4kZmEtdmFyLWdpdDogXFxmMWQzO1xuJGZhLXZhci1naXQtYWx0OiBcXGY4NDE7XG4kZmEtdmFyLWdpdC1zcXVhcmU6IFxcZjFkMjtcbiRmYS12YXItZ2l0aHViOiBcXGYwOWI7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFxcZjExMztcbiRmYS12YXItZ2l0aHViLXNxdWFyZTogXFxmMDkyO1xuJGZhLXZhci1naXRrcmFrZW46IFxcZjNhNjtcbiRmYS12YXItZ2l0bGFiOiBcXGYyOTY7XG4kZmEtdmFyLWdpdHRlcjogXFxmNDI2O1xuJGZhLXZhci1nbGFzcy1jaGVlcnM6IFxcZjc5ZjtcbiRmYS12YXItZ2xhc3MtbWFydGluaTogXFxmMDAwO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdDogXFxmNTdiO1xuJGZhLXZhci1nbGFzcy13aGlza2V5OiBcXGY3YTA7XG4kZmEtdmFyLWdsYXNzZXM6IFxcZjUzMDtcbiRmYS12YXItZ2xpZGU6IFxcZjJhNTtcbiRmYS12YXItZ2xpZGUtZzogXFxmMmE2O1xuJGZhLXZhci1nbG9iZTogXFxmMGFjO1xuJGZhLXZhci1nbG9iZS1hZnJpY2E6IFxcZjU3YztcbiRmYS12YXItZ2xvYmUtYW1lcmljYXM6IFxcZjU3ZDtcbiRmYS12YXItZ2xvYmUtYXNpYTogXFxmNTdlO1xuJGZhLXZhci1nbG9iZS1ldXJvcGU6IFxcZjdhMjtcbiRmYS12YXItZ29mb3JlOiBcXGYzYTc7XG4kZmEtdmFyLWdvbGYtYmFsbDogXFxmNDUwO1xuJGZhLXZhci1nb29kcmVhZHM6IFxcZjNhODtcbiRmYS12YXItZ29vZHJlYWRzLWc6IFxcZjNhOTtcbiRmYS12YXItZ29vZ2xlOiBcXGYxYTA7XG4kZmEtdmFyLWdvb2dsZS1kcml2ZTogXFxmM2FhO1xuJGZhLXZhci1nb29nbGUtcGF5OiBcXGUwNzk7XG4kZmEtdmFyLWdvb2dsZS1wbGF5OiBcXGYzYWI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcXGYyYjM7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWc6IFxcZjBkNTtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcXGYwZDQ7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFxcZjFlZTtcbiRmYS12YXItZ29wdXJhbTogXFxmNjY0O1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXFxmMTlkO1xuJGZhLXZhci1ncmF0aXBheTogXFxmMTg0O1xuJGZhLXZhci1ncmF2OiBcXGYyZDY7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbjogXFxmNTMxO1xuJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWw6IFxcZjUzMjtcbiRmYS12YXItZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWdyaW4tYWx0OiBcXGY1ODE7XG4kZmEtdmFyLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1ncmlwLWhvcml6b250YWw6IFxcZjU4ZDtcbiRmYS12YXItZ3JpcC1saW5lczogXFxmN2E0O1xuJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsOiBcXGY3YTU7XG4kZmEtdmFyLWdyaXAtdmVydGljYWw6IFxcZjU4ZTtcbiRmYS12YXItZ3JpcGZpcmU6IFxcZjNhYztcbiRmYS12YXItZ3J1bnQ6IFxcZjNhZDtcbiRmYS12YXItZ3VpbGRlZDogXFxlMDdlO1xuJGZhLXZhci1ndWl0YXI6IFxcZjdhNjtcbiRmYS12YXItZ3VscDogXFxmM2FlO1xuJGZhLXZhci1oLXNxdWFyZTogXFxmMGZkO1xuJGZhLXZhci1oYWNrZXItbmV3czogXFxmMWQ0O1xuJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmU6IFxcZjNhZjtcbiRmYS12YXItaGFja2VycmFuazogXFxmNWY3O1xuJGZhLXZhci1oYW1idXJnZXI6IFxcZjgwNTtcbiRmYS12YXItaGFtbWVyOiBcXGY2ZTM7XG4kZmEtdmFyLWhhbXNhOiBcXGY2NjU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZzogXFxmNGJkO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQ6IFxcZjRiZTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWw6IFxcZTA1YztcbiRmYS12YXItaGFuZC1ob2xkaW5nLXVzZDogXFxmNGMwO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXI6IFxcZjRjMTtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZC1zcGFya2xlczogXFxlMDVkO1xuJGZhLXZhci1oYW5kLXNwb2NrOiBcXGYyNTk7XG4kZmEtdmFyLWhhbmRzOiBcXGY0YzI7XG4kZmEtdmFyLWhhbmRzLWhlbHBpbmc6IFxcZjRjNDtcbiRmYS12YXItaGFuZHMtd2FzaDogXFxlMDVlO1xuJGZhLXZhci1oYW5kc2hha2U6IFxcZjJiNTtcbiRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1oYW5kc2hha2Utc2xhc2g6IFxcZTA2MDtcbiRmYS12YXItaGFudWtpYWg6IFxcZjZlNjtcbiRmYS12YXItaGFyZC1oYXQ6IFxcZjgwNztcbiRmYS12YXItaGFzaHRhZzogXFxmMjkyO1xuJGZhLXZhci1oYXQtY293Ym95OiBcXGY4YzA7XG4kZmEtdmFyLWhhdC1jb3dib3ktc2lkZTogXFxmOGMxO1xuJGZhLXZhci1oYXQtd2l6YXJkOiBcXGY2ZTg7XG4kZmEtdmFyLWhkZDogXFxmMGEwO1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2g6IFxcZTA2MTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoOiBcXGUwNjI7XG4kZmEtdmFyLWhlYWQtc2lkZS1tYXNrOiBcXGUwNjM7XG4kZmEtdmFyLWhlYWQtc2lkZS12aXJ1czogXFxlMDY0O1xuJGZhLXZhci1oZWFkaW5nOiBcXGYxZGM7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFxcZjAyNTtcbiRmYS12YXItaGVhZHBob25lcy1hbHQ6IFxcZjU4ZjtcbiRmYS12YXItaGVhZHNldDogXFxmNTkwO1xuJGZhLXZhci1oZWFydDogXFxmMDA0O1xuJGZhLXZhci1oZWFydC1icm9rZW46IFxcZjdhOTtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLWhlbGljb3B0ZXI6IFxcZjUzMztcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWhpdmU6IFxcZTA3ZjtcbiRmYS12YXItaG9ja2V5LXB1Y2s6IFxcZjQ1MztcbiRmYS12YXItaG9sbHktYmVycnk6IFxcZjdhYTtcbiRmYS12YXItaG9tZTogXFxmMDE1O1xuJGZhLXZhci1ob29saTogXFxmNDI3O1xuJGZhLXZhci1ob3JuYmlsbDogXFxmNTkyO1xuJGZhLXZhci1ob3JzZTogXFxmNmYwO1xuJGZhLXZhci1ob3JzZS1oZWFkOiBcXGY3YWI7XG4kZmEtdmFyLWhvc3BpdGFsOiBcXGYwZjg7XG4kZmEtdmFyLWhvc3BpdGFsLWFsdDogXFxmNDdkO1xuJGZhLXZhci1ob3NwaXRhbC1zeW1ib2w6IFxcZjQ3ZTtcbiRmYS12YXItaG9zcGl0YWwtdXNlcjogXFxmODBkO1xuJGZhLXZhci1ob3QtdHViOiBcXGY1OTM7XG4kZmEtdmFyLWhvdGRvZzogXFxmODBmO1xuJGZhLXZhci1ob3RlbDogXFxmNTk0O1xuJGZhLXZhci1ob3RqYXI6IFxcZjNiMTtcbiRmYS12YXItaG91cmdsYXNzOiBcXGYyNTQ7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFxcZjI1MztcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFxcZjI1MjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcXGYyNTE7XG4kZmEtdmFyLWhvdXNlLWRhbWFnZTogXFxmNmYxO1xuJGZhLXZhci1ob3VzZS11c2VyOiBcXGUwNjU7XG4kZmEtdmFyLWhvdXp6OiBcXGYyN2M7XG4kZmEtdmFyLWhyeXZuaWE6IFxcZjZmMjtcbiRmYS12YXItaHRtbDU6IFxcZjEzYjtcbiRmYS12YXItaHVic3BvdDogXFxmM2IyO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaWNpY2xlczogXFxmN2FkO1xuJGZhLXZhci1pY29uczogXFxmODZkO1xuJGZhLXZhci1pZC1iYWRnZTogXFxmMmMxO1xuJGZhLXZhci1pZC1jYXJkOiBcXGYyYzI7XG4kZmEtdmFyLWlkLWNhcmQtYWx0OiBcXGY0N2Y7XG4kZmEtdmFyLWlkZWFsOiBcXGUwMTM7XG4kZmEtdmFyLWlnbG9vOiBcXGY3YWU7XG4kZmEtdmFyLWltYWdlOiBcXGYwM2U7XG4kZmEtdmFyLWltYWdlczogXFxmMzAyO1xuJGZhLXZhci1pbWRiOiBcXGYyZDg7XG4kZmEtdmFyLWluYm94OiBcXGYwMWM7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1pbmZpbml0eTogXFxmNTM0O1xuJGZhLXZhci1pbmZvOiBcXGYxMjk7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcXGYwNWE7XG4kZmEtdmFyLWlubm9zb2Z0OiBcXGUwODA7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlOiBcXGUwNTU7XG4kZmEtdmFyLWluc3RhbG9kOiBcXGUwODE7XG4kZmEtdmFyLWludGVyY29tOiBcXGY3YWY7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcXGYyNmI7XG4kZmEtdmFyLWludmlzaW9uOiBcXGY3YjA7XG4kZmEtdmFyLWlveGhvc3Q6IFxcZjIwODtcbiRmYS12YXItaXRhbGljOiBcXGYwMzM7XG4kZmEtdmFyLWl0Y2gtaW86IFxcZjgzYTtcbiRmYS12YXItaXR1bmVzOiBcXGYzYjQ7XG4kZmEtdmFyLWl0dW5lcy1ub3RlOiBcXGYzYjU7XG4kZmEtdmFyLWphdmE6IFxcZjRlNDtcbiRmYS12YXItamVkaTogXFxmNjY5O1xuJGZhLXZhci1qZWRpLW9yZGVyOiBcXGY1MGU7XG4kZmEtdmFyLWplbmtpbnM6IFxcZjNiNjtcbiRmYS12YXItamlyYTogXFxmN2IxO1xuJGZhLXZhci1qb2dldDogXFxmM2I3O1xuJGZhLXZhci1qb2ludDogXFxmNTk1O1xuJGZhLXZhci1qb29tbGE6IFxcZjFhYTtcbiRmYS12YXItam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItanM6IFxcZjNiODtcbiRmYS12YXItanMtc3F1YXJlOiBcXGYzYjk7XG4kZmEtdmFyLWpzZmlkZGxlOiBcXGYxY2M7XG4kZmEtdmFyLWthYWJhOiBcXGY2NmI7XG4kZmEtdmFyLWthZ2dsZTogXFxmNWZhO1xuJGZhLXZhci1rZXk6IFxcZjA4NDtcbiRmYS12YXIta2V5YmFzZTogXFxmNGY1O1xuJGZhLXZhci1rZXlib2FyZDogXFxmMTFjO1xuJGZhLXZhci1rZXljZG46IFxcZjNiYTtcbiRmYS12YXIta2hhbmRhOiBcXGY2NmQ7XG4kZmEtdmFyLWtpY2tzdGFydGVyOiBcXGYzYmI7XG4kZmEtdmFyLWtpY2tzdGFydGVyLWs6IFxcZjNiYztcbiRmYS12YXIta2lzczogXFxmNTk2O1xuJGZhLXZhci1raXNzLWJlYW06IFxcZjU5NztcbiRmYS12YXIta2lzcy13aW5rLWhlYXJ0OiBcXGY1OTg7XG4kZmEtdmFyLWtpd2ktYmlyZDogXFxmNTM1O1xuJGZhLXZhci1rb3J2dWU6IFxcZjQyZjtcbiRmYS12YXItbGFuZG1hcms6IFxcZjY2ZjtcbiRmYS12YXItbGFuZ3VhZ2U6IFxcZjFhYjtcbiRmYS12YXItbGFwdG9wOiBcXGYxMDk7XG4kZmEtdmFyLWxhcHRvcC1jb2RlOiBcXGY1ZmM7XG4kZmEtdmFyLWxhcHRvcC1ob3VzZTogXFxlMDY2O1xuJGZhLXZhci1sYXB0b3AtbWVkaWNhbDogXFxmODEyO1xuJGZhLXZhci1sYXJhdmVsOiBcXGYzYmQ7XG4kZmEtdmFyLWxhc3RmbTogXFxmMjAyO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcXGYyMDM7XG4kZmEtdmFyLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItbGF5ZXItZ3JvdXA6IFxcZjVmZDtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1sZWFucHViOiBcXGYyMTI7XG4kZmEtdmFyLWxlbW9uOiBcXGYwOTQ7XG4kZmEtdmFyLWxlc3M6IFxcZjQxZDtcbiRmYS12YXItbGVzcy10aGFuOiBcXGY1MzY7XG4kZmEtdmFyLWxlc3MtdGhhbi1lcXVhbDogXFxmNTM3O1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1saW5lOiBcXGYzYzA7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWxpcmEtc2lnbjogXFxmMTk1O1xuJGZhLXZhci1saXN0OiBcXGYwM2E7XG4kZmEtdmFyLWxpc3QtYWx0OiBcXGYwMjI7XG4kZmEtdmFyLWxpc3Qtb2w6IFxcZjBjYjtcbiRmYS12YXItbGlzdC11bDogXFxmMGNhO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXFxmMTI0O1xuJGZhLXZhci1sb2NrOiBcXGYwMjM7XG4kZmEtdmFyLWxvY2stb3BlbjogXFxmM2MxO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duOiBcXGYzMDk7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQ6IFxcZjMwYTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQ6IFxcZjMwYjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXA6IFxcZjMwYztcbiRmYS12YXItbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1sdWdnYWdlLWNhcnQ6IFxcZjU5ZDtcbiRmYS12YXItbHVuZ3M6IFxcZjYwNDtcbiRmYS12YXItbHVuZ3MtdmlydXM6IFxcZTA2NztcbiRmYS12YXItbHlmdDogXFxmM2MzO1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbGNoaW1wOiBcXGY1OWU7XG4kZmEtdmFyLW1hbGU6IFxcZjE4MztcbiRmYS12YXItbWFuZGFsb3JpYW46IFxcZjUwZjtcbiRmYS12YXItbWFwOiBcXGYyNzk7XG4kZmEtdmFyLW1hcC1tYXJrZWQ6IFxcZjU5ZjtcbiRmYS12YXItbWFwLW1hcmtlZC1hbHQ6IFxcZjVhMDtcbiRmYS12YXItbWFwLW1hcmtlcjogXFxmMDQxO1xuJGZhLXZhci1tYXAtbWFya2VyLWFsdDogXFxmM2M1O1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItbWRiOiBcXGY4Y2E7XG4kZmEtdmFyLW1lZGFsOiBcXGY1YTI7XG4kZmEtdmFyLW1lZGFwcHM6IFxcZjNjNjtcbiRmYS12YXItbWVkaXVtOiBcXGYyM2E7XG4kZmEtdmFyLW1lZGl1bS1tOiBcXGYzYzc7XG4kZmEtdmFyLW1lZGtpdDogXFxmMGZhO1xuJGZhLXZhci1tZWRydDogXFxmM2M4O1xuJGZhLXZhci1tZWV0dXA6IFxcZjJlMDtcbiRmYS12YXItbWVnYXBvcnQ6IFxcZjVhMztcbiRmYS12YXItbWVoOiBcXGYxMWE7XG4kZmEtdmFyLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1tZWgtcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW1lbW9yeTogXFxmNTM4O1xuJGZhLXZhci1tZW5kZWxleTogXFxmN2IzO1xuJGZhLXZhci1tZW5vcmFoOiBcXGY2NzY7XG4kZmEtdmFyLW1lcmN1cnk6IFxcZjIyMztcbiRmYS12YXItbWV0ZW9yOiBcXGY3NTM7XG4kZmEtdmFyLW1pY3JvYmxvZzogXFxlMDFhO1xuJGZhLXZhci1taWNyb2NoaXA6IFxcZjJkYjtcbiRmYS12YXItbWljcm9waG9uZTogXFxmMTMwO1xuJGZhLXZhci1taWNyb3Bob25lLWFsdDogXFxmM2M5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcXGYxMzE7XG4kZmEtdmFyLW1pY3Jvc2NvcGU6IFxcZjYxMDtcbiRmYS12YXItbWljcm9zb2Z0OiBcXGYzY2E7XG4kZmEtdmFyLW1pbnVzOiBcXGYwNjg7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXFxmMDU2O1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFxcZjE0NjtcbiRmYS12YXItbWl0dGVuOiBcXGY3YjU7XG4kZmEtdmFyLW1peDogXFxmM2NiO1xuJGZhLXZhci1taXhjbG91ZDogXFxmMjg5O1xuJGZhLXZhci1taXhlcjogXFxlMDU2O1xuJGZhLXZhci1taXp1bmk6IFxcZjNjYztcbiRmYS12YXItbW9iaWxlOiBcXGYxMGI7XG4kZmEtdmFyLW1vYmlsZS1hbHQ6IFxcZjNjZDtcbiRmYS12YXItbW9keDogXFxmMjg1O1xuJGZhLXZhci1tb25lcm86IFxcZjNkMDtcbiRmYS12YXItbW9uZXktYmlsbDogXFxmMGQ2O1xuJGZhLXZhci1tb25leS1iaWxsLWFsdDogXFxmM2QxO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmU6IFxcZjUzYTtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdDogXFxmNTNiO1xuJGZhLXZhci1tb25leS1jaGVjazogXFxmNTNjO1xuJGZhLXZhci1tb25leS1jaGVjay1hbHQ6IFxcZjUzZDtcbiRmYS12YXItbW9udW1lbnQ6IFxcZjVhNjtcbiRmYS12YXItbW9vbjogXFxmMTg2O1xuJGZhLXZhci1tb3J0YXItcGVzdGxlOiBcXGY1YTc7XG4kZmEtdmFyLW1vc3F1ZTogXFxmNjc4O1xuJGZhLXZhci1tb3RvcmN5Y2xlOiBcXGYyMWM7XG4kZmEtdmFyLW1vdW50YWluOiBcXGY2ZmM7XG4kZmEtdmFyLW1vdXNlOiBcXGY4Y2M7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbXVnLWhvdDogXFxmN2I2O1xuJGZhLXZhci1tdXNpYzogXFxmMDAxO1xuJGZhLXZhci1uYXBzdGVyOiBcXGYzZDI7XG4kZmEtdmFyLW5lb3M6IFxcZjYxMjtcbiRmYS12YXItbmV0d29yay13aXJlZDogXFxmNmZmO1xuJGZhLXZhci1uZXV0ZXI6IFxcZjIyYztcbiRmYS12YXItbmV3c3BhcGVyOiBcXGYxZWE7XG4kZmEtdmFyLW5pbWJscjogXFxmNWE4O1xuJGZhLXZhci1ub2RlOiBcXGY0MTk7XG4kZmEtdmFyLW5vZGUtanM6IFxcZjNkMztcbiRmYS12YXItbm90LWVxdWFsOiBcXGY1M2U7XG4kZmEtdmFyLW5vdGVzLW1lZGljYWw6IFxcZjQ4MTtcbiRmYS12YXItbnBtOiBcXGYzZDQ7XG4kZmEtdmFyLW5zODogXFxmM2Q1O1xuJGZhLXZhci1udXRyaXRpb25peDogXFxmM2Q2O1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFxcZjI0NztcbiRmYS12YXItb2JqZWN0LXVuZ3JvdXA6IFxcZjI0ODtcbiRmYS12YXItb2N0b3B1cy1kZXBsb3k6IFxcZTA4MjtcbiRmYS12YXItb2Rub2tsYXNzbmlraTogXFxmMjYzO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXFxmMjY0O1xuJGZhLXZhci1vaWwtY2FuOiBcXGY2MTM7XG4kZmEtdmFyLW9sZC1yZXB1YmxpYzogXFxmNTEwO1xuJGZhLXZhci1vbTogXFxmNjc5O1xuJGZhLXZhci1vcGVuY2FydDogXFxmMjNkO1xuJGZhLXZhci1vcGVuaWQ6IFxcZjE5YjtcbiRmYS12YXItb3BlcmE6IFxcZjI2YTtcbiRmYS12YXItb3B0aW4tbW9uc3RlcjogXFxmMjNjO1xuJGZhLXZhci1vcmNpZDogXFxmOGQyO1xuJGZhLXZhci1vc2k6IFxcZjQxYTtcbiRmYS12YXItb3R0ZXI6IFxcZjcwMDtcbiRmYS12YXItb3V0ZGVudDogXFxmMDNiO1xuJGZhLXZhci1wYWdlNDogXFxmM2Q3O1xuJGZhLXZhci1wYWdlbGluZXM6IFxcZjE4YztcbiRmYS12YXItcGFnZXI6IFxcZjgxNTtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFxcZjFmYztcbiRmYS12YXItcGFpbnQtcm9sbGVyOiBcXGY1YWE7XG4kZmEtdmFyLXBhbGV0dGU6IFxcZjUzZjtcbiRmYS12YXItcGFsZmVkOiBcXGYzZDg7XG4kZmEtdmFyLXBhbGxldDogXFxmNDgyO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXFxmMWQ4O1xuJGZhLXZhci1wYXBlcmNsaXA6IFxcZjBjNjtcbiRmYS12YXItcGFyYWNodXRlLWJveDogXFxmNGNkO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFxcZjFkZDtcbiRmYS12YXItcGFya2luZzogXFxmNTQwO1xuJGZhLXZhci1wYXNzcG9ydDogXFxmNWFiO1xuJGZhLXZhci1wYXN0YWZhcmlhbmlzbTogXFxmNjdiO1xuJGZhLXZhci1wYXN0ZTogXFxmMGVhO1xuJGZhLXZhci1wYXRyZW9uOiBcXGYzZDk7XG4kZmEtdmFyLXBhdXNlOiBcXGYwNGM7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZTogXFxmMjhiO1xuJGZhLXZhci1wYXc6IFxcZjFiMDtcbiRmYS12YXItcGF5cGFsOiBcXGYxZWQ7XG4kZmEtdmFyLXBlYWNlOiBcXGY2N2M7XG4kZmEtdmFyLXBlbjogXFxmMzA0O1xuJGZhLXZhci1wZW4tYWx0OiBcXGYzMDU7XG4kZmEtdmFyLXBlbi1mYW5jeTogXFxmNWFjO1xuJGZhLXZhci1wZW4tbmliOiBcXGY1YWQ7XG4kZmEtdmFyLXBlbi1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItcGVuY2lsLWFsdDogXFxmMzAzO1xuJGZhLXZhci1wZW5jaWwtcnVsZXI6IFxcZjVhZTtcbiRmYS12YXItcGVubnktYXJjYWRlOiBcXGY3MDQ7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3M6IFxcZTA2ODtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItcGVyYnl0ZTogXFxlMDgzO1xuJGZhLXZhci1wZXJjZW50OiBcXGYyOTU7XG4kZmEtdmFyLXBlcmNlbnRhZ2U6IFxcZjU0MTtcbiRmYS12YXItcGVyaXNjb3BlOiBcXGYzZGE7XG4kZmEtdmFyLXBlcnNvbi1ib290aDogXFxmNzU2O1xuJGZhLXZhci1waGFicmljYXRvcjogXFxmM2RiO1xuJGZhLXZhci1waG9lbml4LWZyYW1ld29yazogXFxmM2RjO1xuJGZhLXZhci1waG9lbml4LXNxdWFkcm9uOiBcXGY1MTE7XG4kZmEtdmFyLXBob25lOiBcXGYwOTU7XG4kZmEtdmFyLXBob25lLWFsdDogXFxmODc5O1xuJGZhLXZhci1waG9uZS1zbGFzaDogXFxmM2RkO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFxcZjA5ODtcbiRmYS12YXItcGhvbmUtc3F1YXJlLWFsdDogXFxmODdiO1xuJGZhLXZhci1waG9uZS12b2x1bWU6IFxcZjJhMDtcbiRmYS12YXItcGhvdG8tdmlkZW86IFxcZjg3YztcbiRmYS12YXItcGhwOiBcXGY0NTc7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFxcZjJhZTtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFxcZjFhODtcbiRmYS12YXItcGllZC1waXBlci1oYXQ6IFxcZjRlNTtcbiRmYS12YXItcGllZC1waXBlci1wcDogXFxmMWE3O1xuJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZTogXFxlMDFlO1xuJGZhLXZhci1waWdneS1iYW5rOiBcXGY0ZDM7XG4kZmEtdmFyLXBpbGxzOiBcXGY0ODQ7XG4kZmEtdmFyLXBpbnRlcmVzdDogXFxmMGQyO1xuJGZhLXZhci1waW50ZXJlc3QtcDogXFxmMjMxO1xuJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOiBcXGYwZDM7XG4kZmEtdmFyLXBpenphLXNsaWNlOiBcXGY4MTg7XG4kZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXA6IFxcZjY3ZjtcbiRmYS12YXItcGxhbmU6IFxcZjA3MjtcbiRmYS12YXItcGxhbmUtYXJyaXZhbDogXFxmNWFmO1xuJGZhLXZhci1wbGFuZS1kZXBhcnR1cmU6IFxcZjViMDtcbiRmYS12YXItcGxhbmUtc2xhc2g6IFxcZTA2OTtcbiRmYS12YXItcGxheTogXFxmMDRiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXFxmMTQ0O1xuJGZhLXZhci1wbGF5c3RhdGlvbjogXFxmM2RmO1xuJGZhLXZhci1wbHVnOiBcXGYxZTY7XG4kZmEtdmFyLXBsdXM6IFxcZjA2NztcbiRmYS12YXItcGx1cy1jaXJjbGU6IFxcZjA1NTtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFxcZjBmZTtcbiRmYS12YXItcG9kY2FzdDogXFxmMmNlO1xuJGZhLXZhci1wb2xsOiBcXGY2ODE7XG4kZmEtdmFyLXBvbGwtaDogXFxmNjgyO1xuJGZhLXZhci1wb286IFxcZjJmZTtcbiRmYS12YXItcG9vLXN0b3JtOiBcXGY3NWE7XG4kZmEtdmFyLXBvb3A6IFxcZjYxOTtcbiRmYS12YXItcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItcG91bmQtc2lnbjogXFxmMTU0O1xuJGZhLXZhci1wb3dlci1vZmY6IFxcZjAxMTtcbiRmYS12YXItcHJheTogXFxmNjgzO1xuJGZhLXZhci1wcmF5aW5nLWhhbmRzOiBcXGY2ODQ7XG4kZmEtdmFyLXByZXNjcmlwdGlvbjogXFxmNWIxO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlOiBcXGY0ODU7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OiBcXGY0ODY7XG4kZmEtdmFyLXByaW50OiBcXGYwMmY7XG4kZmEtdmFyLXByb2NlZHVyZXM6IFxcZjQ4NztcbiRmYS12YXItcHJvZHVjdC1odW50OiBcXGYyODg7XG4kZmEtdmFyLXByb2plY3QtZGlhZ3JhbTogXFxmNTQyO1xuJGZhLXZhci1wdW1wLW1lZGljYWw6IFxcZTA2YTtcbiRmYS12YXItcHVtcC1zb2FwOiBcXGUwNmI7XG4kZmEtdmFyLXB1c2hlZDogXFxmM2UxO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFxcZjEyZTtcbiRmYS12YXItcHl0aG9uOiBcXGYzZTI7XG4kZmEtdmFyLXFxOiBcXGYxZDY7XG4kZmEtdmFyLXFyY29kZTogXFxmMDI5O1xuJGZhLXZhci1xdWVzdGlvbjogXFxmMTI4O1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFxcZjA1OTtcbiRmYS12YXItcXVpZGRpdGNoOiBcXGY0NTg7XG4kZmEtdmFyLXF1aW5zY2FwZTogXFxmNDU5O1xuJGZhLXZhci1xdW9yYTogXFxmMmM0O1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcXGYxMGQ7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcXGYxMGU7XG4kZmEtdmFyLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLXItcHJvamVjdDogXFxmNGY3O1xuJGZhLXZhci1yYWRpYXRpb246IFxcZjdiOTtcbiRmYS12YXItcmFkaWF0aW9uLWFsdDogXFxmN2JhO1xuJGZhLXZhci1yYWluYm93OiBcXGY3NWI7XG4kZmEtdmFyLXJhbmRvbTogXFxmMDc0O1xuJGZhLXZhci1yYXNwYmVycnktcGk6IFxcZjdiYjtcbiRmYS12YXItcmF2ZWxyeTogXFxmMmQ5O1xuJGZhLXZhci1yZWFjdDogXFxmNDFiO1xuJGZhLXZhci1yZWFjdGV1cm9wZTogXFxmNzVkO1xuJGZhLXZhci1yZWFkbWU6IFxcZjRkNTtcbiRmYS12YXItcmViZWw6IFxcZjFkMDtcbiRmYS12YXItcmVjZWlwdDogXFxmNTQzO1xuJGZhLXZhci1yZWNvcmQtdmlueWw6IFxcZjhkOTtcbiRmYS12YXItcmVjeWNsZTogXFxmMWI4O1xuJGZhLXZhci1yZWQtcml2ZXI6IFxcZjNlMztcbiRmYS12YXItcmVkZGl0OiBcXGYxYTE7XG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXFxmMjgxO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcXGYxYTI7XG4kZmEtdmFyLXJlZGhhdDogXFxmN2JjO1xuJGZhLXZhci1yZWRvOiBcXGYwMWU7XG4kZmEtdmFyLXJlZG8tYWx0OiBcXGYyZjk7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFxcZjI1ZDtcbiRmYS12YXItcmVtb3ZlLWZvcm1hdDogXFxmODdkO1xuJGZhLXZhci1yZW5yZW46IFxcZjE4YjtcbiRmYS12YXItcmVwbHk6IFxcZjNlNTtcbiRmYS12YXItcmVwbHktYWxsOiBcXGYxMjI7XG4kZmEtdmFyLXJlcGx5ZDogXFxmM2U2O1xuJGZhLXZhci1yZXB1YmxpY2FuOiBcXGY3NWU7XG4kZmEtdmFyLXJlc2VhcmNoZ2F0ZTogXFxmNGY4O1xuJGZhLXZhci1yZXNvbHZpbmc6IFxcZjNlNztcbiRmYS12YXItcmVzdHJvb206IFxcZjdiZDtcbiRmYS12YXItcmV0d2VldDogXFxmMDc5O1xuJGZhLXZhci1yZXY6IFxcZjViMjtcbiRmYS12YXItcmliYm9uOiBcXGY0ZDY7XG4kZmEtdmFyLXJpbmc6IFxcZjcwYjtcbiRmYS12YXItcm9hZDogXFxmMDE4O1xuJGZhLXZhci1yb2JvdDogXFxmNTQ0O1xuJGZhLXZhci1yb2NrZXQ6IFxcZjEzNTtcbiRmYS12YXItcm9ja2V0Y2hhdDogXFxmM2U4O1xuJGZhLXZhci1yb2Nrcm1zOiBcXGYzZTk7XG4kZmEtdmFyLXJvdXRlOiBcXGY0ZDc7XG4kZmEtdmFyLXJzczogXFxmMDllO1xuJGZhLXZhci1yc3Mtc3F1YXJlOiBcXGYxNDM7XG4kZmEtdmFyLXJ1YmxlLXNpZ246IFxcZjE1ODtcbiRmYS12YXItcnVsZXI6IFxcZjU0NTtcbiRmYS12YXItcnVsZXItY29tYmluZWQ6IFxcZjU0NjtcbiRmYS12YXItcnVsZXItaG9yaXpvbnRhbDogXFxmNTQ3O1xuJGZhLXZhci1ydWxlci12ZXJ0aWNhbDogXFxmNTQ4O1xuJGZhLXZhci1ydW5uaW5nOiBcXGY3MGM7XG4kZmEtdmFyLXJ1cGVlLXNpZ246IFxcZjE1NjtcbiRmYS12YXItcnVzdDogXFxlMDdhO1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLXNhdmU6IFxcZjBjNztcbiRmYS12YXItc2NobGl4OiBcXGYzZWE7XG4kZmEtdmFyLXNjaG9vbDogXFxmNTQ5O1xuJGZhLXZhci1zY3Jld2RyaXZlcjogXFxmNTRhO1xuJGZhLXZhci1zY3JpYmQ6IFxcZjI4YTtcbiRmYS12YXItc2Nyb2xsOiBcXGY3MGU7XG4kZmEtdmFyLXNkLWNhcmQ6IFxcZjdjMjtcbiRmYS12YXItc2VhcmNoOiBcXGYwMDI7XG4kZmEtdmFyLXNlYXJjaC1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItc2VhcmNoLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXFxmMDEwO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXFxmMDBlO1xuJGZhLXZhci1zZWFyY2hlbmdpbjogXFxmM2ViO1xuJGZhLXZhci1zZWVkbGluZzogXFxmNGQ4O1xuJGZhLXZhci1zZWxsY2FzdDogXFxmMmRhO1xuJGZhLXZhci1zZWxsc3k6IFxcZjIxMztcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItc2hhcmUtYWx0OiBcXGYxZTA7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFxcZjFlMTtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLXNoZWtlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLXNoaWVsZC1hbHQ6IFxcZjNlZDtcbiRmYS12YXItc2hpZWxkLXZpcnVzOiBcXGUwNmM7XG4kZmEtdmFyLXNoaXA6IFxcZjIxYTtcbiRmYS12YXItc2hpcHBpbmctZmFzdDogXFxmNDhiO1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFxcZjIxNDtcbiRmYS12YXItc2hvZS1wcmludHM6IFxcZjU0YjtcbiRmYS12YXItc2hvcGlmeTogXFxlMDU3O1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFxcZjI5MDtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcXGYyOTE7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFxcZjA3YTtcbiRmYS12YXItc2hvcHdhcmU6IFxcZjViNTtcbiRmYS12YXItc2hvd2VyOiBcXGYyY2M7XG4kZmEtdmFyLXNodXR0bGUtdmFuOiBcXGY1YjY7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItc2lnbi1pbi1hbHQ6IFxcZjJmNjtcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXFxmMmE3O1xuJGZhLXZhci1zaWduLW91dC1hbHQ6IFxcZjJmNTtcbiRmYS12YXItc2lnbmFsOiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1zaW5rOiBcXGUwNmQ7XG4kZmEtdmFyLXNpc3RyaXg6IFxcZjNlZTtcbiRmYS12YXItc2l0ZW1hcDogXFxmMGU4O1xuJGZhLXZhci1zaXRoOiBcXGY1MTI7XG4kZmEtdmFyLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItc2tldGNoOiBcXGY3YzY7XG4kZmEtdmFyLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLXNrdWxsOiBcXGY1NGM7XG4kZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXM6IFxcZjcxNDtcbiRmYS12YXItc2t5YXRsYXM6IFxcZjIxNjtcbiRmYS12YXItc2t5cGU6IFxcZjE3ZTtcbiRmYS12YXItc2xhY2s6IFxcZjE5ODtcbiRmYS12YXItc2xhY2staGFzaDogXFxmM2VmO1xuJGZhLXZhci1zbGFzaDogXFxmNzE1O1xuJGZhLXZhci1zbGVpZ2g6IFxcZjdjYztcbiRmYS12YXItc2xpZGVycy1oOiBcXGYxZGU7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFxcZjFlNztcbiRmYS12YXItc21pbGU6IFxcZjExODtcbiRmYS12YXItc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1zbWlsZS13aW5rOiBcXGY0ZGE7XG4kZmEtdmFyLXNtb2c6IFxcZjc1ZjtcbiRmYS12YXItc21va2luZzogXFxmNDhkO1xuJGZhLXZhci1zbW9raW5nLWJhbjogXFxmNTRkO1xuJGZhLXZhci1zbXM6IFxcZjdjZDtcbiRmYS12YXItc25hcGNoYXQ6IFxcZjJhYjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFxcZjJhYztcbiRmYS12YXItc25hcGNoYXQtc3F1YXJlOiBcXGYyYWQ7XG4kZmEtdmFyLXNub3dib2FyZGluZzogXFxmN2NlO1xuJGZhLXZhci1zbm93Zmxha2U6IFxcZjJkYztcbiRmYS12YXItc25vd21hbjogXFxmN2QwO1xuJGZhLXZhci1zbm93cGxvdzogXFxmN2QyO1xuJGZhLXZhci1zb2FwOiBcXGUwNmU7XG4kZmEtdmFyLXNvY2tzOiBcXGY2OTY7XG4kZmEtdmFyLXNvbGFyLXBhbmVsOiBcXGY1YmE7XG4kZmEtdmFyLXNvcnQ6IFxcZjBkYztcbiRmYS12YXItc29ydC1hbHBoYS1kb3duOiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQ6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdDogXFxmODgyO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0OiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdDogXFxmODg1O1xuJGZhLXZhci1zb3J0LWRvd246IFxcZjBkZDtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd246IFxcZjE2MjtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0OiBcXGY4ODY7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cDogXFxmMTYzO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0OiBcXGY4ODc7XG4kZmEtdmFyLXNvcnQtdXA6IFxcZjBkZTtcbiRmYS12YXItc291bmRjbG91ZDogXFxmMWJlO1xuJGZhLXZhci1zb3VyY2V0cmVlOiBcXGY3ZDM7XG4kZmEtdmFyLXNwYTogXFxmNWJiO1xuJGZhLXZhci1zcGFjZS1zaHV0dGxlOiBcXGYxOTc7XG4kZmEtdmFyLXNwZWFrYXA6IFxcZjNmMztcbiRmYS12YXItc3BlYWtlci1kZWNrOiBcXGY4M2M7XG4kZmEtdmFyLXNwZWxsLWNoZWNrOiBcXGY4OTE7XG4kZmEtdmFyLXNwaWRlcjogXFxmNzE3O1xuJGZhLXZhci1zcGlubmVyOiBcXGYxMTA7XG4kZmEtdmFyLXNwbG90Y2g6IFxcZjViYztcbiRmYS12YXItc3BvdGlmeTogXFxmMWJjO1xuJGZhLXZhci1zcHJheS1jYW46IFxcZjViZDtcbiRmYS12YXItc3F1YXJlOiBcXGYwYzg7XG4kZmEtdmFyLXNxdWFyZS1mdWxsOiBcXGY0NWM7XG4kZmEtdmFyLXNxdWFyZS1yb290LWFsdDogXFxmNjk4O1xuJGZhLXZhci1zcXVhcmVzcGFjZTogXFxmNWJlO1xuJGZhLXZhci1zdGFjay1leGNoYW5nZTogXFxmMThkO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXFxmMTZjO1xuJGZhLXZhci1zdGFja3BhdGg6IFxcZjg0MjtcbiRmYS12YXItc3RhbXA6IFxcZjViZjtcbiRmYS12YXItc3RhcjogXFxmMDA1O1xuJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudDogXFxmNjk5O1xuJGZhLXZhci1zdGFyLWhhbGY6IFxcZjA4OTtcbiRmYS12YXItc3Rhci1oYWxmLWFsdDogXFxmNWMwO1xuJGZhLXZhci1zdGFyLW9mLWRhdmlkOiBcXGY2OWE7XG4kZmEtdmFyLXN0YXItb2YtbGlmZTogXFxmNjIxO1xuJGZhLXZhci1zdGF5bGlua2VkOiBcXGYzZjU7XG4kZmEtdmFyLXN0ZWFtOiBcXGYxYjY7XG4kZmEtdmFyLXN0ZWFtLXNxdWFyZTogXFxmMWI3O1xuJGZhLXZhci1zdGVhbS1zeW1ib2w6IFxcZjNmNjtcbiRmYS12YXItc3RlcC1iYWNrd2FyZDogXFxmMDQ4O1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFxcZjA1MTtcbiRmYS12YXItc3RldGhvc2NvcGU6IFxcZjBmMTtcbiRmYS12YXItc3RpY2tlci1tdWxlOiBcXGYzZjc7XG4kZmEtdmFyLXN0aWNreS1ub3RlOiBcXGYyNDk7XG4kZmEtdmFyLXN0b3A6IFxcZjA0ZDtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFxcZjI4ZDtcbiRmYS12YXItc3RvcHdhdGNoOiBcXGYyZjI7XG4kZmEtdmFyLXN0b3B3YXRjaC0yMDogXFxlMDZmO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItc3RvcmUtYWx0LXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXN0b3JlLXNsYXNoOiBcXGUwNzE7XG4kZmEtdmFyLXN0cmF2YTogXFxmNDI4O1xuJGZhLXZhci1zdHJlYW06IFxcZjU1MDtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFxcZjIxZDtcbiRmYS12YXItc3RyaWtldGhyb3VnaDogXFxmMGNjO1xuJGZhLXZhci1zdHJpcGU6IFxcZjQyOTtcbiRmYS12YXItc3RyaXBlLXM6IFxcZjQyYTtcbiRmYS12YXItc3Ryb29wd2FmZWw6IFxcZjU1MTtcbiRmYS12YXItc3R1ZGlvdmluYXJpOiBcXGYzZjg7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcXGYxYTQ7XG4kZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTogXFxmMWEzO1xuJGZhLXZhci1zdWJzY3JpcHQ6IFxcZjEyYztcbiRmYS12YXItc3Vid2F5OiBcXGYyMzk7XG4kZmEtdmFyLXN1aXRjYXNlOiBcXGYwZjI7XG4kZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmc6IFxcZjVjMTtcbiRmYS12YXItc3VuOiBcXGYxODU7XG4kZmEtdmFyLXN1cGVycG93ZXJzOiBcXGYyZGQ7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcXGYxMmI7XG4kZmEtdmFyLXN1cHBsZTogXFxmM2Y5O1xuJGZhLXZhci1zdXJwcmlzZTogXFxmNWMyO1xuJGZhLXZhci1zdXNlOiBcXGY3ZDY7XG4kZmEtdmFyLXN3YXRjaGJvb2s6IFxcZjVjMztcbiRmYS12YXItc3dpZnQ6IFxcZjhlMTtcbiRmYS12YXItc3dpbW1lcjogXFxmNWM0O1xuJGZhLXZhci1zd2ltbWluZy1wb29sOiBcXGY1YzU7XG4kZmEtdmFyLXN5bWZvbnk6IFxcZjgzZDtcbiRmYS12YXItc3luYWdvZ3VlOiBcXGY2OWI7XG4kZmEtdmFyLXN5bmM6IFxcZjAyMTtcbiRmYS12YXItc3luYy1hbHQ6IFxcZjJmMTtcbiRmYS12YXItc3lyaW5nZTogXFxmNDhlO1xuJGZhLXZhci10YWJsZTogXFxmMGNlO1xuJGZhLXZhci10YWJsZS10ZW5uaXM6IFxcZjQ1ZDtcbiRmYS12YXItdGFibGV0OiBcXGYxMGE7XG4kZmEtdmFyLXRhYmxldC1hbHQ6IFxcZjNmYTtcbiRmYS12YXItdGFibGV0czogXFxmNDkwO1xuJGZhLXZhci10YWNob21ldGVyLWFsdDogXFxmM2ZkO1xuJGZhLXZhci10YWc6IFxcZjAyYjtcbiRmYS12YXItdGFnczogXFxmMDJjO1xuJGZhLXZhci10YXBlOiBcXGY0ZGI7XG4kZmEtdmFyLXRhc2tzOiBcXGYwYWU7XG4kZmEtdmFyLXRheGk6IFxcZjFiYTtcbiRmYS12YXItdGVhbXNwZWFrOiBcXGY0Zjk7XG4kZmEtdmFyLXRlZXRoOiBcXGY2MmU7XG4kZmEtdmFyLXRlZXRoLW9wZW46IFxcZjYyZjtcbiRmYS12YXItdGVsZWdyYW06IFxcZjJjNjtcbiRmYS12YXItdGVsZWdyYW0tcGxhbmU6IFxcZjNmZTtcbiRmYS12YXItdGVtcGVyYXR1cmUtaGlnaDogXFxmNzY5O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1sb3c6IFxcZjc2YjtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXFxmMWQ1O1xuJGZhLXZhci10ZW5nZTogXFxmN2Q3O1xuJGZhLXZhci10ZXJtaW5hbDogXFxmMTIwO1xuJGZhLXZhci10ZXh0LWhlaWdodDogXFxmMDM0O1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcXGYwMzU7XG4kZmEtdmFyLXRoOiBcXGYwMGE7XG4kZmEtdmFyLXRoLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLXRoLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItdGhlLXJlZC15ZXRpOiBcXGY2OWQ7XG4kZmEtdmFyLXRoZWF0ZXItbWFza3M6IFxcZjYzMDtcbiRmYS12YXItdGhlbWVjbzogXFxmNWM2O1xuJGZhLXZhci10aGVtZWlzbGU6IFxcZjJiMjtcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFxcZjQ5MTtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItdGhpbmstcGVha3M6IFxcZjczMTtcbiRmYS12YXItdGh1bWJzLWRvd246IFxcZjE2NTtcbiRmYS12YXItdGh1bWJzLXVwOiBcXGYxNjQ7XG4kZmEtdmFyLXRodW1idGFjazogXFxmMDhkO1xuJGZhLXZhci10aWNrZXQtYWx0OiBcXGYzZmY7XG4kZmEtdmFyLXRpa3RvazogXFxlMDdiO1xuJGZhLXZhci10aW1lczogXFxmMDBkO1xuJGZhLXZhci10aW1lcy1jaXJjbGU6IFxcZjA1NztcbiRmYS12YXItdGludDogXFxmMDQzO1xuJGZhLXZhci10aW50LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLXRpcmVkOiBcXGY1Yzg7XG4kZmEtdmFyLXRvZ2dsZS1vZmY6IFxcZjIwNDtcbiRmYS12YXItdG9nZ2xlLW9uOiBcXGYyMDU7XG4kZmEtdmFyLXRvaWxldDogXFxmN2Q4O1xuJGZhLXZhci10b2lsZXQtcGFwZXI6IFxcZjcxZTtcbiRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoOiBcXGUwNzI7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItdG9yaWktZ2F0ZTogXFxmNmExO1xuJGZhLXZhci10cmFjdG9yOiBcXGY3MjI7XG4kZmEtdmFyLXRyYWRlLWZlZGVyYXRpb246IFxcZjUxMztcbiRmYS12YXItdHJhZGVtYXJrOiBcXGYyNWM7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQ6IFxcZjYzNztcbiRmYS12YXItdHJhaWxlcjogXFxlMDQxO1xuJGZhLXZhci10cmFpbjogXFxmMjM4O1xuJGZhLXZhci10cmFtOiBcXGY3ZGE7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcXGYyMjQ7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXFxmMjI1O1xuJGZhLXZhci10cmFzaDogXFxmMWY4O1xuJGZhLXZhci10cmFzaC1hbHQ6IFxcZjJlZDtcbiRmYS12YXItdHJhc2gtcmVzdG9yZTogXFxmODI5O1xuJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdDogXFxmODJhO1xuJGZhLXZhci10cmVlOiBcXGYxYmI7XG4kZmEtdmFyLXRyZWxsbzogXFxmMTgxO1xuJGZhLXZhci10cmlwYWR2aXNvcjogXFxmMjYyO1xuJGZhLXZhci10cm9waHk6IFxcZjA5MTtcbiRmYS12YXItdHJ1Y2s6IFxcZjBkMTtcbiRmYS12YXItdHJ1Y2stbG9hZGluZzogXFxmNGRlO1xuJGZhLXZhci10cnVjay1tb25zdGVyOiBcXGY2M2I7XG4kZmEtdmFyLXRydWNrLW1vdmluZzogXFxmNGRmO1xuJGZhLXZhci10cnVjay1waWNrdXA6IFxcZjYzYztcbiRmYS12YXItdHNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLXR0eTogXFxmMWU0O1xuJGZhLXZhci10dW1ibHI6IFxcZjE3MztcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXFxmMTc0O1xuJGZhLXZhci10djogXFxmMjZjO1xuJGZhLXZhci10d2l0Y2g6IFxcZjFlODtcbiRmYS12YXItdHdpdHRlcjogXFxmMDk5O1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXFxmMDgxO1xuJGZhLXZhci10eXBvMzogXFxmNDJiO1xuJGZhLXZhci11YmVyOiBcXGY0MDI7XG4kZmEtdmFyLXVidW50dTogXFxmN2RmO1xuJGZhLXZhci11aWtpdDogXFxmNDAzO1xuJGZhLXZhci11bWJyYWNvOiBcXGY4ZTg7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLXVuY2hhcnRlZDogXFxlMDg0O1xuJGZhLXZhci11bmRlcmxpbmU6IFxcZjBjZDtcbiRmYS12YXItdW5kbzogXFxmMGUyO1xuJGZhLXZhci11bmRvLWFsdDogXFxmMmVhO1xuJGZhLXZhci11bmlyZWdpc3RyeTogXFxmNDA0O1xuJGZhLXZhci11bml0eTogXFxlMDQ5O1xuJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzOiBcXGYyOWE7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFxcZjE5YztcbiRmYS12YXItdW5saW5rOiBcXGYxMjc7XG4kZmEtdmFyLXVubG9jazogXFxmMDljO1xuJGZhLXZhci11bmxvY2stYWx0OiBcXGYxM2U7XG4kZmEtdmFyLXVuc3BsYXNoOiBcXGUwN2M7XG4kZmEtdmFyLXVudGFwcGQ6IFxcZjQwNTtcbiRmYS12YXItdXBsb2FkOiBcXGYwOTM7XG4kZmEtdmFyLXVwczogXFxmN2UwO1xuJGZhLXZhci11c2I6IFxcZjI4NztcbiRmYS12YXItdXNlcjogXFxmMDA3O1xuJGZhLXZhci11c2VyLWFsdDogXFxmNDA2O1xuJGZhLXZhci11c2VyLWFsdC1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci11c2VyLWFzdHJvbmF1dDogXFxmNGZiO1xuJGZhLXZhci11c2VyLWNoZWNrOiBcXGY0ZmM7XG4kZmEtdmFyLXVzZXItY2lyY2xlOiBcXGYyYmQ7XG4kZmEtdmFyLXVzZXItY2xvY2s6IFxcZjRmZDtcbiRmYS12YXItdXNlci1jb2c6IFxcZjRmZTtcbiRmYS12YXItdXNlci1lZGl0OiBcXGY0ZmY7XG4kZmEtdmFyLXVzZXItZnJpZW5kczogXFxmNTAwO1xuJGZhLXZhci11c2VyLWdyYWR1YXRlOiBcXGY1MDE7XG4kZmEtdmFyLXVzZXItaW5qdXJlZDogXFxmNzI4O1xuJGZhLXZhci11c2VyLWxvY2s6IFxcZjUwMjtcbiRmYS12YXItdXNlci1tZDogXFxmMGYwO1xuJGZhLXZhci11c2VyLW1pbnVzOiBcXGY1MDM7XG4kZmEtdmFyLXVzZXItbmluamE6IFxcZjUwNDtcbiRmYS12YXItdXNlci1udXJzZTogXFxmODJmO1xuJGZhLXZhci11c2VyLXBsdXM6IFxcZjIzNDtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFxcZjIxYjtcbiRmYS12YXItdXNlci1zaGllbGQ6IFxcZjUwNTtcbiRmYS12YXItdXNlci1zbGFzaDogXFxmNTA2O1xuJGZhLXZhci11c2VyLXRhZzogXFxmNTA3O1xuJGZhLXZhci11c2VyLXRpZTogXFxmNTA4O1xuJGZhLXZhci11c2VyLXRpbWVzOiBcXGYyMzU7XG4kZmEtdmFyLXVzZXJzOiBcXGYwYzA7XG4kZmEtdmFyLXVzZXJzLWNvZzogXFxmNTA5O1xuJGZhLXZhci11c2Vycy1zbGFzaDogXFxlMDczO1xuJGZhLXZhci11c3BzOiBcXGY3ZTE7XG4kZmEtdmFyLXVzc3VubmFoOiBcXGY0MDc7XG4kZmEtdmFyLXV0ZW5zaWwtc3Bvb246IFxcZjJlNTtcbiRmYS12YXItdXRlbnNpbHM6IFxcZjJlNztcbiRmYS12YXItdmFhZGluOiBcXGY0MDg7XG4kZmEtdmFyLXZlY3Rvci1zcXVhcmU6IFxcZjVjYjtcbiRmYS12YXItdmVudXM6IFxcZjIyMTtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcXGYyMjY7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFxcZjIyODtcbiRmYS12YXItdmVzdDogXFxlMDg1O1xuJGZhLXZhci12ZXN0LXBhdGNoZXM6IFxcZTA4NjtcbiRmYS12YXItdmlhY29pbjogXFxmMjM3O1xuJGZhLXZhci12aWFkZW86IFxcZjJhOTtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXFxmMmFhO1xuJGZhLXZhci12aWFsOiBcXGY0OTI7XG4kZmEtdmFyLXZpYWxzOiBcXGY0OTM7XG4kZmEtdmFyLXZpYmVyOiBcXGY0MDk7XG4kZmEtdmFyLXZpZGVvOiBcXGYwM2Q7XG4kZmEtdmFyLXZpZGVvLXNsYXNoOiBcXGY0ZTI7XG4kZmEtdmFyLXZpaGFyYTogXFxmNmE3O1xuJGZhLXZhci12aW1lbzogXFxmNDBhO1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFxcZjE5NDtcbiRmYS12YXItdmltZW8tdjogXFxmMjdkO1xuJGZhLXZhci12aW5lOiBcXGYxY2E7XG4kZmEtdmFyLXZpcnVzOiBcXGUwNzQ7XG4kZmEtdmFyLXZpcnVzLXNsYXNoOiBcXGUwNzU7XG4kZmEtdmFyLXZpcnVzZXM6IFxcZTA3NjtcbiRmYS12YXItdms6IFxcZjE4OTtcbiRmYS12YXItdm52OiBcXGY0MGI7XG4kZmEtdmFyLXZvaWNlbWFpbDogXFxmODk3O1xuJGZhLXZhci12b2xsZXliYWxsLWJhbGw6IFxcZjQ1ZjtcbiRmYS12YXItdm9sdW1lLWRvd246IFxcZjAyNztcbiRmYS12YXItdm9sdW1lLW11dGU6IFxcZjZhOTtcbiRmYS12YXItdm9sdW1lLW9mZjogXFxmMDI2O1xuJGZhLXZhci12b2x1bWUtdXA6IFxcZjAyODtcbiRmYS12YXItdm90ZS15ZWE6IFxcZjc3MjtcbiRmYS12YXItdnItY2FyZGJvYXJkOiBcXGY3Mjk7XG4kZmEtdmFyLXZ1ZWpzOiBcXGY0MWY7XG4kZmEtdmFyLXdhbGtpbmc6IFxcZjU1NDtcbiRmYS12YXItd2FsbGV0OiBcXGY1NTU7XG4kZmEtdmFyLXdhcmVob3VzZTogXFxmNDk0O1xuJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nOiBcXGUwODc7XG4kZmEtdmFyLXdhdGVyOiBcXGY3NzM7XG4kZmEtdmFyLXdhdmUtc3F1YXJlOiBcXGY4M2U7XG4kZmEtdmFyLXdhemU6IFxcZjgzZjtcbiRmYS12YXItd2VlYmx5OiBcXGY1Y2M7XG4kZmEtdmFyLXdlaWJvOiBcXGYxOGE7XG4kZmEtdmFyLXdlaWdodDogXFxmNDk2O1xuJGZhLXZhci13ZWlnaHQtaGFuZ2luZzogXFxmNWNkO1xuJGZhLXZhci13ZWl4aW46IFxcZjFkNztcbiRmYS12YXItd2hhdHNhcHA6IFxcZjIzMjtcbiRmYS12YXItd2hhdHNhcHAtc3F1YXJlOiBcXGY0MGM7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFxcZjE5MztcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXFxmMjY2O1xuJGZhLXZhci13aW5kOiBcXGY3MmU7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFxcZjJkMDtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcXGYyZDE7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcXGYyZDI7XG4kZmEtdmFyLXdpbmRvd3M6IFxcZjE3YTtcbiRmYS12YXItd2luZS1ib3R0bGU6IFxcZjcyZjtcbiRmYS12YXItd2luZS1nbGFzczogXFxmNGUzO1xuJGZhLXZhci13aW5lLWdsYXNzLWFsdDogXFxmNWNlO1xuJGZhLXZhci13aXg6IFxcZjVjZjtcbiRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3Q6IFxcZjczMDtcbiRmYS12YXItd29kdTogXFxlMDg4O1xuJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uOiBcXGY1MTQ7XG4kZmEtdmFyLXdvbi1zaWduOiBcXGYxNTk7XG4kZmEtdmFyLXdvcmRwcmVzczogXFxmMTlhO1xuJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlOiBcXGY0MTE7XG4kZmEtdmFyLXdwYmVnaW5uZXI6IFxcZjI5NztcbiRmYS12YXItd3BleHBsb3JlcjogXFxmMmRlO1xuJGZhLXZhci13cGZvcm1zOiBcXGYyOTg7XG4kZmEtdmFyLXdwcmVzc3I6IFxcZjNlNDtcbiRmYS12YXItd3JlbmNoOiBcXGYwYWQ7XG4kZmEtdmFyLXgtcmF5OiBcXGY0OTc7XG4kZmEtdmFyLXhib3g6IFxcZjQxMjtcbiRmYS12YXIteGluZzogXFxmMTY4O1xuJGZhLXZhci14aW5nLXNxdWFyZTogXFxmMTY5O1xuJGZhLXZhci15LWNvbWJpbmF0b3I6IFxcZjIzYjtcbiRmYS12YXIteWFob286IFxcZjE5ZTtcbiRmYS12YXIteWFtbWVyOiBcXGY4NDA7XG4kZmEtdmFyLXlhbmRleDogXFxmNDEzO1xuJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbDogXFxmNDE0O1xuJGZhLXZhci15YXJuOiBcXGY3ZTM7XG4kZmEtdmFyLXllbHA6IFxcZjFlOTtcbiRmYS12YXIteWVuLXNpZ246IFxcZjE1NztcbiRmYS12YXIteWluLXlhbmc6IFxcZjZhZDtcbiRmYS12YXIteW9hc3Q6IFxcZjJiMTtcbiRmYS12YXIteW91dHViZTogXFxmMTY3O1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXFxmNDMxO1xuJGZhLXZhci16aGlodTogXFxmNjNmO1xuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGggKiA1LzQ7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhYiB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBBbmltYXRlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoLCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICgkZmEtZnctd2lkdGgqMik7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7XG4gIGNvbG9yOiAkZmEtaW52ZXJzZTtcbn1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxucmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LTUwMHB4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci01MDBweCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY2Vzc2libGUtaWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2N1c29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNjdXNvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGp1c3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWR2ZXJzYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkdmVyc2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFmZmlsaWF0ZXRoZW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZmZpbGlhdGV0aGVtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1haXItZnJlc2hlbmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1haXItZnJlc2hlbmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpcmJuYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyYm5iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsZ29saWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsZ29saWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tY2VudGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1jZW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tanVzdGlmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlwYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGxlcmdpZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsbGVyZ2llcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYXpvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1idWxhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWlsaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtaWxpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuY2hvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmRyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmRyb2lkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nZWxsaXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ncnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5Y3JlYXRpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ndWxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5ndWxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmtoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmtoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwLXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZS1pb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZS1pb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNoaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2h3YXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFyY2h3YXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnRzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnRzdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3Rlcmlzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3ltbWV0cmlrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3ltbWV0cmlrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdGxhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRsYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRsYXNzaWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdGxhc3NpYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF1dG9wcmVmaXhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhbmV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdmlhbmV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF2aWF0bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYXRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF3cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhYnktY2FycmlhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhYnktY2FycmlhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3NwYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWN0ZXJpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjdGVyaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFjdGVyaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWN0ZXJpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFoYWk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhaGFpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbGFuY2Utc2NhbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kLWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmRjYW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNlYmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFza2V0YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktcXVhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRsZS1uZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRsZS1uZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmV6aWVyLWN1cnZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZXppZXItY3VydmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmltb2JqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW1vYmplY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlub2N1bGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW9oYXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpb2hhemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXJ0aGRheS1jYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0YnVja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGNvaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsYWNrLXRpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFja2JlcnJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFja2JlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlci1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXItYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlci1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgtYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2xkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9tYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWRlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stZGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLXJlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1yZWFkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2ttYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb3RzdHJhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdHN0cmFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLW5vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1ub25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1zdHlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXN0eWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvd2xpbmctYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm93bGluZy1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtdGlzc3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtdGlzc3VlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFpbGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmFpbGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmVhZC1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJlYWQtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyb2FkY2FzdC10b3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvYWRjYXN0LXRvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icnVzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJ1c2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnRjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idGMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVmZmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWZmZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1aWxkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWxsaG9ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsc2V5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbHNleWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXJvbW9iZWxleHBlcnRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzaW5lc3MtdGltZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzaW5lc3MtdGltZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXktbi1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5LW4tbGFyZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5c2VsbGFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItZGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1kYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXdlZWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXdlZWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcmV0cm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtcGdyb3VuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtcGdyb3VuZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmR5LWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmR5LWNhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FubmFiaXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbm5hYmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcHN1bGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXBzdWxlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1iYXR0ZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYmF0dGVyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItY3Jhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1jcmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLXNpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyYXZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyYXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnJvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Fycm90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FydC1hcnJvdy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FydC1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhc2gtcmVnaXN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhc2gtcmVnaXN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2F0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1hem9uLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYW1hem9uLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hbWV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFwcGxlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYXBwbGUtcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpbmVycy1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1kaW5lcnMtY2x1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaXNjb3ZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtZGlzY292ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1qY2IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtbWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtbWFzdGVyY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXBheXBhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1zdHJpcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXN0cmlwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy12aXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRlcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlbnRlcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VudG9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50b3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlcnRpZmljYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFpcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFsa2JvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWxrYm9hcmQtdGVhY2hlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJnaW5nLXN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJnaW5nLXN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYXJlYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtYXJlYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1iYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWJhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLWRvdWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVlc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYmlzaG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1iaXNob3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mta25pZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1rbmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcGF3bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtcGF3bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1xdWVlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtcXVlZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mtcm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3Mtcm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoaWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hyb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZWNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNocm9tZWNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2h1cmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHVyY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUtbm90Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2l0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2l0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGluaWMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpbmljLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tZWF0YmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbWVhdGJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tb29uLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24tcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXN1bi1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRmbGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRmbGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHNjYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc21pdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc21pdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHZlcnNpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ja3RhaWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvY2t0YWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1icmFuY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUtYnJhbmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGVwZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGVwZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kaWVwaWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGllcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZmZlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29mZmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZ3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29pbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvaW5zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbHVtbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbHVtbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtZG90czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb3RzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhY3QtZGlzYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcGFjdC1kaXNjKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uY2llcmdlLWJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmNpZXJnZS1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbmZsdWVuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmZsdWVuY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbm5lY3RkZXZlbG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnRhbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29udGFvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvb2tpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29va2llKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvb2tpZS1iaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb29raWUtYml0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29weXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdHRvbi1idXJlYXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdHRvbi1idXJlYXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY291Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNwYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3BhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyaXRpY2FsLXJvbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyaXRpY2FsLXJvbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzaGFpcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcnV0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0dGxlZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kLWJleW9uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYWlseW1vdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFpbHltb3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhc2hjdWJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kYXRhYmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZXplcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVlemVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVsaWNpb3VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbW9jcmF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZW1vY3JhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXBsb3lkb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlcGxveWRvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrcHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXNrcHJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2t0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGV2aWFudGFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaGFybWFjaGFrcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRoYXJtYWNoYWtyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRobCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFnbm9zZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYWdub3Nlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFzcG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhc3BvcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQyMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kMjApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kNjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kNik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWZpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZml2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWZvdXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZm91cik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLW9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1vbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1zaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2Utc2l4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtdGhyZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtdGhyZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS10d286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtdHdvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnaXRhbC1vY2VhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC1vY2Vhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXJlY3Rpb25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXJlY3Rpb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2NvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2NvcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzY291cnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXNjb3Vyc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzZWFzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzZWFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXZpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpdmlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXp6eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGl6enkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG5hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kbmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9jaHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9ja2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGxhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9uYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3ItY2xvc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLWNsb3NlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3Itb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3QtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnRpbmctY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnRpbmctY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmF3LXBvbHlnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYXctcG9seWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmliYmJsZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJvcGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW0tc3RlZWxwYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0tc3RlZWxwYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW1zdGljay1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bWJiZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1iYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtcHN0ZXItZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXItZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW5nZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW5nZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR5YWxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHlhbG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVhcmx5YmlyZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVhcmx5YmlyZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2UtbGVnYWN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlLWxlZ2FjeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVnZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWdnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGVtZW50b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsZW1lbnRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsbGlwc2lzLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxsbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW1iZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW1waXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbXBpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZpcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXF1YWxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcXVhbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcmFzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJsYW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcmxhbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRoZXJldW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0aGVyZXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0aGVybmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldGhlcm5ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldHN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldHN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV1cm8tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXVyby1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV2ZXJub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldmVybm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNoYW5nZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2hhbmdlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwZWRpdGVkc3NsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV5ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtZHJvcHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLWRyb3BwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXN0LWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF1Y2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXVjZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVtYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdodGVyLWpldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdtYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnbWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNvbnRyYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNzdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhjZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1wb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbnZvaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wZGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBvd2VycG9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtd29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGwtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbC1kcmlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWx0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmluZ2VycHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbmdlcnByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3gtYnJvd3NlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyZWZveC1icm93c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3QtYWlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1vcmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdGRyYWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdGRyYWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzdC1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc3QtcmFpc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctY2hlY2tlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctdXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLXVzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlja3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmx1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnMtZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucy1maSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb290YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb290YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnVtYmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm91cnNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZS1jb2RlLWNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJlZWJzZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZWJzZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bi1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bGNydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bGNydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVubmVsLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnVubmVsLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1dGJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYWxhY3RpYy1zZW5hdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FtZXBhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXMtcHVtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FzLXB1bXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbmRlcmxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2V0LXBvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0a3Jha2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRrcmFrZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0bGFiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRsYWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtY2hlZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzcy1jaGVlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3Mtd2hpc2tleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Mtd2hpc2tleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzc2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZS1nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGlkZS1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hZnJpY2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFmcmljYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hbWVyaWNhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYW1lcmljYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYXNpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYXNpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1ldXJvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWV1cm9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb2ZvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvZm9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb2xmLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvbGYtYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29kcmVhZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29kcmVhZHMtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZHJlYWRzLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLWRyaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtZHJpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGxheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXdhbGxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb3B1cmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb3B1cmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmFkdWF0aW9uLWNhcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhdGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jhdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmltYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmltYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4taGVhcnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWhlYXJ0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3RhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10ZWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4td2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtaG9yaXpvbnRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcGZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3J1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdydW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWd1aWxkZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWd1aWxkZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VscDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VscCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlcnJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlcnJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1idXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWxpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcm9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1yb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc2Npc3NvcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcGFya2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zcGFya2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNwb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy1oZWxwaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzLXdhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLXdhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2Utc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW51a2lhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFudWtpYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFyZC1oYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhcmQtaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhc2h0YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhc2h0YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LWNvd2JveTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LWNvd2JveSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtY293Ym95LXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhdC1jb3dib3ktc2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtd2l6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtd2l6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGRkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1jb3VnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWNvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1jb3VnaC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1tYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRwaG9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRwaG9uZXMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRzZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRzZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQtYnJva2VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0YmVhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnRiZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlbGljb3B0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlbGljb3B0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlnaGxpZ2h0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpZ2hsaWdodGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpa2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcHBvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXBwbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcmUtYS1oZWxwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcmUtYS1oZWxwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlzdG9yeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlzdG9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvY2tleS1wdWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob2NrZXktcHVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2xseS1iZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9sbHktYmVycnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob29saTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vbGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ybmJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcm5iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZS1oZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbC11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdC10dWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdC10dWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3Rkb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGphcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90amFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1lbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLXN0YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLWRhbWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91c2UtZGFtYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91eno6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXp6KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhyeXZuaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhyeXZuaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHRtbDU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh0bWw1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh1YnNwb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh1YnNwb3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWktY3Vyc29yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljZS1jcmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNlLWNyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljaWNsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljaWNsZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1iYWRnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZGVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWRlYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWdsb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlnbG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kdXN0cnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5maW5pdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZmluaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlubm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbm5vc29mdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluc3RhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhbG9kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWxvZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcmNvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJjb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pb3hob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pb3hob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRhbGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0Y2gtaW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0Y2gtaW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXR1bmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdHVuZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXR1bmVzLW5vdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcy1ub3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWphdmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWphdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVkaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVkaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpLW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpLW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplbmtpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplbmtpbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2dldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9nZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9vbWxhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvdXJuYWwtd2hpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb3VybmFsLXdoaWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qcy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanNmaWRkbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzZmlkZGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWthYWJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rYWFiYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rYWdnbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthZ2dsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXliYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXliYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXlib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXljZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWNkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raGFuZGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtoYW5kYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lja3N0YXJ0ZXItazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXItayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3MtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcy1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3Mtd2luay1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcy13aW5rLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpd2ktYmlyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2l3aS1iaXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtvcnZ1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta29ydnVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmRtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5kbWFyayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFuZ3VhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1jb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1ob3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLWhvdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3AtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXJhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXJhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhc3RmbS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhdWdoLWJlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXllci1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF5ZXItZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFucHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFucHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlbW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZW1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3MtdGhhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcy10aGFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3MtdGhhbi1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcy10aGFuLWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxldmVsLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZmUtcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0YnVsYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5rZWRpbi1pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGludXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlyYS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXJhLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC1vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LXVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NhdGlvbi1hcnJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jay1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvdy12aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvdy12aXNpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdWdnYWdlLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVuZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1bmdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx1bmdzLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdW5ncy12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1seWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1seWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2VudG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2VudG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbC1idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWxjaGltcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbGNoaW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFuZGFsb3JpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbmRhbG9yaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1waW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtc2lnbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2Rvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcmtkb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZS1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXN0b2RvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzdG9kb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXhjZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZGIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFwcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFwcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtLW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGl1bS1tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVka2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZHJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWV0dXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZXR1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWdhcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVnYXBvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgtYmxhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLXJvbGxpbmctZXllczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLXJvbGxpbmctZXllcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW1vcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbW9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW5kZWxleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVuZGVsZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVub3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVub3JhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZXJjdXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1ldGVvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWV0ZW9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9ibG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvY2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9jaGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pdHRlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl0dGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl6dW5pOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXp1bmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2R4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2R4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmVybzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC13YXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtd2F2ZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktY2hlY2stYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbnVtZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb251bWVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vcnRhci1wZXN0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vcnRhci1wZXN0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9zcXVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3NxdWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW90b3JjeWNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VudGFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91bnRhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdXNlLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVnLWhvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVnLWhvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVzaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmFwc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmFwc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZW9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZW9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldHdvcmstd2lyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ldHdvcmstd2lyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV1dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXV0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV3c3BhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXdzcGFwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmltYmxyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uaW1ibHIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm9kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub2RlLWpzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub2RlLWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vdC1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm90LWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vdGVzLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vdGVzLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnBtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ucG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnM4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uczgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnV0cml0aW9uaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW51dHJpdGlvbml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2JqZWN0LWdyb3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vYmplY3QtdW5ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vY3RvcHVzLWRlcGxveTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2N0b3B1cy1kZXBsb3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2lsLWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2lsLWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbGQtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9sZC1yZXB1YmxpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcHRpbi1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9yY2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcmNpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vc2k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9zaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3R0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3V0ZGVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3V0ZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZTQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWludC1icnVzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1yb2xsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LXJvbGxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxldHRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGZlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsZmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXBlci1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyY2xpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhY2h1dGUtYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhY2h1dGUtYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFyYWdyYXBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzc3BvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3Nwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RhZmFyaWFuaXNtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0YWZhcmlhbmlzbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXN0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF0cmVvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF0cmVvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2UtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZS1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXlwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWZhbmN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tZmFuY3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLW5pYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLW5pYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXJ1bGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5jaWwtcnVsZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVubnktYXJjYWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5ueS1hcmNhZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVvcGxlLWFycm93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVvcGxlLWFycm93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtY2Fycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1jYXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXBwZXItaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXBwZXItaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmJ5dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmJ5dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJjZW50YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmlzY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyaXNjb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1ib290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWJvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBoYWJyaWNhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waGFicmljYXRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9lbml4LWZyYW1ld29yazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvZW5peC1mcmFtZXdvcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1zcXVhZHJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvZW5peC1zcXVhZHJvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtdm9sdW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS12b2x1bWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvdG8tdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob3RvLXZpZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBocDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWdneS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWdneS1iYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waXp6YS1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGl6emEtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhY2Utb2Ytd29yc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtYXJyaXZhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtYXJyaXZhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWRlcGFydHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheS1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheXN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXlzdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvZGNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9sbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xsLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb28tc3Rvcm06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvby1zdG9ybSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb29wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb29wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvcnRyYWl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3J0cmFpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3VuZC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3VuZC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG93ZXItb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheWluZy1oYW5kczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheWluZy1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb24tYm90dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvY2VkdXJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvY2VkdXJlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2R1Y3QtaHVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2plY3QtZGlhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLXNvYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtc29hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXNoZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXp6bGUtcGllY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1enpsZS1waWVjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1weXRob246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB5dGhvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1ZXN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1aWRkaXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVpZGRpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1aW5zY2FwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVpbnNjYXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW9yYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW90ZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW90ZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdXJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVyYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tci1wcm9qZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yLXByb2plY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaWF0aW9uLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWluYm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWluYm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhbmRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFuZG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhc3BiZXJyeS1waTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFzcGJlcnJ5LXBpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhdmVscnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhdmVscnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWN0ZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFjdGV1cm9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFkbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWRtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmViZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjZWlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjZWlwdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWNvcmQtdmlueWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY29yZC12aW55bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZC1yaXZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkLXJpdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1hbGllbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0LWFsaWVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRoYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRvLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkby1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVnaXN0ZXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVnaXN0ZXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW1vdmUtZm9ybWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZW1vdmUtZm9ybWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVucmVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5LWFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXB1YmxpY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXB1YmxpY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc2VhcmNoZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzZWFyY2hnYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc29sdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzb2x2aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc3Ryb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXN0cm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXR3ZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpYmJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmliYm9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2JvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ib3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2NrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0Y2hhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0Y2hhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2Nrcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2Nrcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1YmxlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLWNvbWJpbmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1jb21iaW5lZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydW5uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydW5uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1cGVlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWQtY3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtY3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZC10ZWFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtdGVhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhZmFyaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWxlc2ZvcmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWxlc2ZvcmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F0ZWxsaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXRlbGxpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdGVsbGl0ZS1kaXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NobGl4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2hsaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2Nob29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2hvb2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NyZXdkcml2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcmV3ZHJpdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmliZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NyaWJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcm9sbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nyb2xsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNkLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1sb2NhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoZW5naW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaGVuZ2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlZWRsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWVkbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbGNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbHN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWxsc3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZXJ2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmljZXN0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZXJ2aWNlc3RhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFwZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoZWtlbC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaWVsZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwcGluZy1mYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGlwcGluZy1mYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXJ0c2luYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcnRzaW5idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob2UtcHJpbnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9lLXByaW50cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9waWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9waWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctYmFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhc2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctYmFza2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3BwaW5nLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHdhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3B3YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNodXR0bGUtdmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaHV0dGxlLXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24taW4tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWluLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWxhbmd1YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1vdXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hdHVyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmF0dXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbS1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaW0tY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2ltcGx5YnVpbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXN0cml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXN0cml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpdGVtYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2l0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2F0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2F0aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrZXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tldGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZy1ub3JkaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraWluZy1ub3JkaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNreWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3lwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2staGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2staGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xlaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGVpZ2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVycy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXJzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVzaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21va2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9raW5nLWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZy1iYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdC1naG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Ym9hcmRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dib2FyZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93bWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93bWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dwbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93cGxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvY2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2Nrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2xhci1wYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29sYXItcGFuZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdW5kY2xvdWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvdW5kY2xvdWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291cmNldHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc291cmNldHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGFjZS1zaHV0dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWFrYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWFrYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlYWtlci1kZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2VyLWRlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlbGwtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWxsLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BpZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bsb3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Bsb3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcG90aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwcmF5LWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3ByYXktY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUtZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1yb290LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmVzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFjay1vdmVyZmxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFja3BhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrcGF0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1oYWxmLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLW9mLWRhdmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItb2YtbGlmZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1vZi1saWZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXlsaW5rZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXlsaW5rZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3ltYm9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXAtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVwLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXRob3Njb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNrZXItbXVsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RpY2tlci1tdWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2gtMjA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaC0yMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3JlLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmF2YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyYXZhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJlZXQtdmlldyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpa2V0aHJvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyaXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZS1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpcGUtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJvb3B3YWZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Ryb29wd2FmZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1ZGlvdmluYXJpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVkaW92aW5hcmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dW1ibGV1cG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vic2NyaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vid2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVycG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBlcnBvd2Vycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VwZXJzY3JpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBwbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VycHJpc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cnByaXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dhdGNoYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dhdGNoYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2lmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2ltbWluZy1wb29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2ltbWluZy1wb29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bWZvbnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bWZvbnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYWdvZ3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW5hZ29ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW5jLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3lyaW5nZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3lyaW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGUtdGVubmlzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZS10ZW5uaXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWNob21ldGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhc2tzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRheGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRheGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVhbXNwZWFrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWFtc3BlYWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVldGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlZXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlZXRoLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlZXRoLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbGVncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWxlZ3JhbS1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbXBlcmF0dXJlLWxvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtbG93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbmNlbnQtd2VpYm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXJtaW5hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGV4dC1oZWlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGV4dC13aWR0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoLWxhcmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoLWxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlLXJlZC15ZXRpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGUtcmVkLXlldGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlYXRlci1tYXNrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlYXRlci1tYXNrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWNvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVtZWNvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZW1laXNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlbWVpc2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoaW5rLXBlYWtzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGluay1wZWFrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJzLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJ0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnRhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGlja2V0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWt0b2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpa3Rvayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW50LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b2dnbGUtb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9nZ2xlLW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldC1wYXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0LXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldC1wYXBlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb2xib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb2xib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9vbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb2xzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb3RoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b290aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9yYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9yaWktZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9yaWktZ2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFjdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFjdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWRlLWZlZGVyYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZGVtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFkZW1hcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZmZpYy1saWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhZmZpYy1saWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFpbGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFpbGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFuc2dlbmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtcmVzdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1yZXN0b3JlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVsbG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyZWxsbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmlwYWR2aXNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJpcGFkdmlzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cm9waHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLWxvYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLWxvYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbW9uc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1tb3Zpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLW1vdmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1waWNrdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLXBpY2t1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10c2hpcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRzaGlydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR1bWJscik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dW1ibHItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0dGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10eXBvMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHlwbzMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11YnVudHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVidW50dSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11aWtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWlraXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmFjbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmFjbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmVsbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGEtYmVhY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVtYnJlbGxhLWJlYWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuY2hhcnRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5jaGFydGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZGVybGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5kZXJsaW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXJlZ2lzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmlyZWdpc3RyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdmVyc2FsLWFjY2Vzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5saW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVubG9jay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5zcGxhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuc3BsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVudGFwcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVudGFwcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11cHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItYXN0cm9uYXV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWFzdHJvbmF1dCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNsb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZWRpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWZyaWVuZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZnJpZW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWdyYWR1YXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWdyYWR1YXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItaW5qdXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1pbmp1cmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW5pbmphOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW5pbmphKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbnVyc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbnVyc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zZWNyZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItc2VjcmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2hpZWxkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNoaWVsZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10aW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnMtY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2Vycy1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXJzLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNzdW5uYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzc3VubmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXV0ZW5zaWwtc3Bvb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWwtc3Bvb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXRlbnNpbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZhYWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmFhZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlY3Rvci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlY3Rvci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVudXMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZXN0LXBhdGNoZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlc3QtcGF0Y2hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFjb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWRlby1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmliZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlkZW8tc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmloYXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWhhcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmltZW8tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aXJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlydXMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpcnVzZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZudjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm52KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvaWNlbWFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9pY2VtYWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbGxleWJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sbGV5YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW11dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b3RlLXllYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm90ZS15ZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnItY2FyZGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ci1jYXJkYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnVlanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZ1ZWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhbGtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhbGtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FyZWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXJlaG91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F2ZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhdmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VlYmx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWVibHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpYm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaWJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWdodC1oYW5naW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWlnaHQtaGFuZ2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWl4aW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaXhpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hhdHNhcHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aGF0c2FwcC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hlZWxjaGFpcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aG1jczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2htY3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lmaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2lmaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWtpcGVkaWEtdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2lraXBlZGlhLXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1jbG9zZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWF4aW1pemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LXJlc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWJvdHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1nbGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWdsYXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1nbGFzcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2l4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2l6YXJkcy1vZi10aGUtY29hc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvZHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvZHUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b24tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29uLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b3JkcHJlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzLXNpbXBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29yZHByZXNzLXNpbXBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cGJlZ2lubmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3Bmb3JtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3Bmb3Jtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cHJlc3NyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cHJlc3NyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3JlbmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXgtcmF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14LXJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14Ym94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhpbmctc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteS1jb21iaW5hdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YWhvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW1tZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW5kZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbmRleCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW5kZXgtaW50ZXJuYXRpb25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZWxwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZW4tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15aW4teWFuZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWluLXlhbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW9hc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvdXR1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvdXR1YmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXpoaWh1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci16aGlodSk7IH1cbiIsIi8vIFNjcmVlbiBSZWFkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zci1vbmx5IHsgQGluY2x1ZGUgc3Itb25seTsgfVxuLnNyLW9ubHktZm9jdXNhYmxlIHsgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGU7IH1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLmVvdCcpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uZmFyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWUnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uZmEsXG4uZmFzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5mYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIjYnJlYWRjcnVtYnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG59XG5cbi5hbGVydC5oZWFkZXItbWVzc2FnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1OdW5pdG8nKTtcbkBpbXBvcnQgJ35AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2ZvbnRhd2Vzb21lJztcbkBpbXBvcnQgJ35AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3JlZ3VsYXInO1xuQGltcG9ydCAnfkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWQnO1xuQGltcG9ydCAnfkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzJztcbiIsIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gQm9keVxuJGJvZHktYmc6ICNmOGZhZmM7XG5cbi8vIFR5cG9ncmFwaHlcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnTnVuaXRvJywgc2Fucy1zZXJpZjtcbiRmb250LXNpemUtYmFzZTogMC45cmVtO1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjtcblxuLy8gQ29sb3JzXG4kYmx1ZTogIzM0OTBkYztcbiRpbmRpZ286ICM2NTc0Y2Q7XG4kcHVycGxlOiAjOTU2MWUyO1xuJHBpbms6ICNmNjZkOWI7XG4kcmVkOiAjZTMzNDJmO1xuJG9yYW5nZTogI2Y2OTkzZjtcbiR5ZWxsb3c6ICNmZmVkNGE7XG4kZ3JlZW46ICMzOGMxNzI7XG4kdGVhbDogIzRkYzBiNTtcbiRjeWFuOiAjNmNiMmViO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgZm9udCBzaXplc1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvdjgueC9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1mb250LXNpemUtdW5pdCAhPSByZW0gYW5kICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSBmb250IHNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsIGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1lbmFibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250IHNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsICRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsIGRpdmlkZSgkZnMgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250IHNpemVcbiAgICAkcmZzLXN0YXRpYzogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcywgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnN9cHgpO1xuXG4gICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSBmb250IHNpemUgaXMgYmlnZ2VyIHRoYW4gdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgQGlmICRmcyA8PSAkcmZzLWJhc2UtZm9udC1zaXplIG9yIG5vdCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSBmb250IHNpemUgZm9yICRmc1xuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArIGRpdmlkZSgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJGZzIGFuZCB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJGZzLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemVcbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG5cbiAgICAgIC8vIEJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgJG1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcblxuICAgICAgQGluY2x1ZGUgX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICAgICAgICBAaW5jbHVkZSBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW5zIHVzZSBSRlMgdG8gcmVzY2FsZSB0aGUgZm9udCBzaXplXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vL1xuLy8gVmFyaWFibGVzIHNob3VsZCBmb2xsb3cgdGhlIGAkY29tcG9uZW50LXN0YXRlLXByb3BlcnR5LXNpemVgIGZvcm11bGEgZm9yXG4vLyBjb25zaXN0ZW50IG5hbWluZy4gRXg6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciBhbmQgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cy5cblxuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcbiAgKSxcbiAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZCAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNiAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LWxnICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjZsMi45NzQgMi45OUw4IDIuMTkzeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHZpZXdCb3g9JzAgMCA0IDQnPjxwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG51bGwgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAuNSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIHN1YnRyYWN0KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiA0KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSc+PHBhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgZXNjYXBlLXN2ZygkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3IpIHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplIG5vLXJlcGVhdCAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcblxuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0OiBhZGQoMWVtICogLjc1LCAoMiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAqIC43NSkgKyAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9JzAgMCAxMiAxMic+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwidmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkXG4gICAgKSxcbiAgICBcImludmFsaWRcIjogKFxuICAgICAgXCJjb2xvclwiOiAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICksXG4gICksXG4gICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDogICAgICA3NXZoICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIHN1YnRyYWN0KCRkcm9wZG93bi1ib3JkZXItcmFkaXVzLCAkZHJvcGRvd24tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14ICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICBzdWJ0cmFjdCgkcG9wb3Zlci1ib3JkZXItcmFkaXVzLCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIFRvYXN0c1xuXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsIDAsIDAsIC4xKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjI1cmVtIC43NXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBCYWRnZXNcblxuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgNzUlICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGJhZGdlLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgJGJ0bi10cmFuc2l0aW9uICFkZWZhdWx0O1xuJGJhZGdlLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcblxuJGJhZGdlLXBpbGwtcGFkZGluZy14OiAgICAgICAgICAgICAgLjZlbSAhZGVmYXVsdDtcbi8vIFVzZSBhIGhpZ2hlciB0aGFuIG5vcm1hbCB2YWx1ZSB0byBlbnN1cmUgY29tcGxldGVseSByb3VuZGVkIGVkZ2VzIHdoZW5cbi8vIGN1c3RvbWl6aW5nIHBhZGRpbmcgb3IgZm9udC1zaXplIG9uIGxhYmVscy5cbiRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE1hcmdpbiBiZXR3ZWVuIGVsZW1lbnRzIGluIGZvb3RlciwgbXVzdCBiZSBsb3dlciB0aGFuIG9yIGVxdWFsIHRvIDIgKiAkbW9kYWwtaW5uZXItcGFkZGluZ1xuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgaW5zZXQgMCAuMXJlbSAuMXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuXG4vLyBGaWd1cmVzXG5cbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGl0LWFyZWEtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI6ICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41TDQuMjUgNGwyLjUtMi41TDUuMjUgMHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuJHVzZXItc2VsZWN0czogYWxsLCBhdXRvLCBub25lICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyKCkge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMoKSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTsgfVxuaDIsIC5oMiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTsgfVxuaDMsIC5oMyB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTsgfVxuaDQsIC5oNCB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTsgfVxuaDUsIC5oNSB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTsgfVxuaDYsIC5oNiB7IEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTsgfVxuXG4ubGVhZCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbGVhZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5MS1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkyLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTMtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5NC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoOTAlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG59XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplKTtcbiAgY29sb3I6ICRibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAuNTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkKCkge1xuICAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIFBhcnQgMjogT3ZlcnJpZGUgdGhlIGhlaWdodCB0byBhdXRvLCBvdGhlcndpc2UgaW1hZ2VzIHdpbGwgYmUgc3RyZXRjaGVkXG4gIC8vIHdoZW4gc2V0dGluZyBhIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlIG9uIHRoZSBpbWcgZWxlbWVudC5cbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS5cblxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTF4KTtcblxuICAvLyBBdXRvcHJlZml4ZXIgdGFrZXMgY2FyZSBvZiBhZGRpbmcgLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvIGFuZCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvLFxuICAvLyBidXQgZG9lc24ndCBjb252ZXJ0IGRwcHg9PmRwaS5cbiAgLy8gVGhlcmUncyBubyBzdWNoIHRoaW5nIGFzIHVucHJlZml4ZWQgbWluLWRldmljZS1waXhlbC1yYXRpbyBzaW5jZSBpdCdzIG5vbnN0YW5kYXJkLlxuICAvLyBDb21wYXRpYmlsaXR5IGluZm86IGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGltZy1yZXRpbmEoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuIiwiLy8gSW5saW5lIGNvZGVcbmNvZGUge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBVc2VyIGlucHV0IHR5cGljYWxseSBlbnRlcmVkIHZpYSBrZXlib2FyZFxua2JkIHtcbiAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgka2JkLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAka2JkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka2JkLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLXNtKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygka2JkLWJveC1zaGFkb3cpO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTAwJSk7XG4gICAgZm9udC13ZWlnaHQ6ICRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gQmxvY2tzIG9mIGNvZGVcbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG4vLyBFbmFibGUgc2Nyb2xsYWJsZSBibG9ja3Mgb2YgY29kZVxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgbmVnYXRpdmUgbWFyZ2luIGZyb20gZGVmYXVsdCAucm93LCB0aGVuIHRoZSBob3Jpem9udGFsIHBhZGRpbmdcbiAgLy8gZnJvbSBhbGwgaW1tZWRpYXRlIGNoaWxkcmVuIGNvbHVtbnMgKHRvIHByZXZlbnQgcnVuYXdheSBzdHlsZSBpbmhlcml0YW5jZSkuXG4gIC5uby1ndXR0ZXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICA+IC5jb2wsXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGd1dHRlciAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgKiAuNTtcbn1cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzYCBtaXhpblwiLCBcInY0LjUuMlwiLCBcInY1XCIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXJvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICAgIG1heC13aWR0aDogZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzaWMgQm9vdHN0cmFwIHRhYmxlXG4vL1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgY29sb3I6ICR0YWJsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuLy9cblxuLnRhYmxlLXNtIHtcbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyICogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoLFxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgY29sb3I6ICR0YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICR0YWJsZS1iZy1sZXZlbCksIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJvcmRlci1sZXZlbCkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXIgb24gaG9yaXpvbnRhbCBzY3JvbGwgZHVlIHRvIHVzZSBvZiBgZGlzcGxheTogYmxvY2s7YFxuICAgICAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAvLyBSZW1vdmUgc2VsZWN0IG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGlucHV0LWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGA8bGFiZWw+LzxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICZbc2l6ZV0sXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb3JtIGdyb3Vwc1xuLy9cbi8vIERlc2lnbmVkIHRvIGhlbHAgd2l0aCB0aGUgb3JnYW5pemF0aW9uIGFuZCBzcGFjaW5nIG9mIHZlcnRpY2FsIGZvcm1zLiBGb3Jcbi8vIGhvcml6b250YWwgZm9ybXMsIHVzZSB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuXG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn1cblxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG59XG5cblxuLy8gRm9ybSBncmlkXG4vL1xuLy8gU3BlY2lhbCByZXBsYWNlbWVudCBmb3Igb3VyIGdyaWQgc3lzdGVtJ3MgYC5yb3dgIGZvciB0aWdodGVyIGZvcm0gbGF5b3V0cy5cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG5cbiAgPiAuY29sLFxuICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCBmb3Igd29ya2Fyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsXG4gICY6ZGlzYWJsZWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgYm90dG9tIG1hcmdpblxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBiYXNlIC5mb3JtLWNoZWNrXG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi14O1xuXG4gIC8vIFVuZG8gLmZvcm0tY2hlY2staW5wdXQgZGVmYXVsdHMgYW5kIGFkZCBzb21lIGBtYXJnaW4tcmlnaHRgLlxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG4vL1xuLy8gUHJvdmlkZSBmZWVkYmFjayB0byB1c2VycyB3aGVuIGZvcm0gZmllbGQgdmFsdWVzIGFyZSB2YWxpZCBvciBpbnZhbGlkLiBXb3Jrc1xuLy8gcHJpbWFyaWx5IGZvciBjbGllbnQtc2lkZSB2YWxpZGF0aW9uIHZpYSBzY29wZWQgYDppbnZhbGlkYCBhbmQgYDp2YWxpZGBcbi8vIHBzZXVkby1jbGFzc2VzIGJ1dCBhbHNvIGluY2x1ZGVzIGAuaXMtaW52YWxpZGAgYW5kIGAuaXMtdmFsaWRgIGNsYXNzZXMgZm9yXG4vLyBzZXJ2ZXIgc2lkZSB2YWxpZGF0aW9uLlxuXG5AZWFjaCAkc3RhdGUsICRkYXRhIGluICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzIHtcbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgbWFwLWdldCgkZGF0YSwgY29sb3IpLCBtYXAtZ2V0KCRkYXRhLCBpY29uKSk7XG59XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwLFxuICAgIC5jdXN0b20tc2VsZWN0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmb3JtLWNvbnRyb2wtZm9jdXMoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG4vLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzE1NTdcbiAgICAvLyBBbGlnbiB0b29sdGlwIHRvIGZvcm0gZWxlbWVudHNcbiAgICAuZm9ybS1yb3cgPiAuY29sID4gJixcbiAgICAuZm9ybS1yb3cgPiBbY2xhc3MqPVwiY29sLVwiXSA+ICYge1xuICAgICAgbGVmdDogJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lciAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtcGFkZGluZy14ICogNCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtcGFkZGluZy14ICogMiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGN1c3RvbS1zZWxlY3QtYmcgZXNjYXBlLXN2ZygkaWNvbikgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZSBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRidG4tZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkYnRuLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6ICRidG4tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteSwgJGJ0bi1wYWRkaW5nLXgsICRidG4tZm9udC1zaXplLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6ICRidG4tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBpZigkZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zLCBwb2ludGVyLCBudWxsKTtcblxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tZm9jdXMtYm94LXNoYWRvdywgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCR2YWx1ZSwgJHZhbHVlKTtcbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWxpbmUtaGVpZ2h0LXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuICArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi10b3A6ICRidG4tYmxvY2stc3BhY2luZy15O1xuICB9XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi53aWR0aCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24tcGFkZGluZy14O1xuICBtYXJnaW46ICRkcm9wZG93bi1zcGFjZXIgMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZHJvcGRvd24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWxlZnQge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wcmlnaHQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHJpZ2h0KTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BsZWZ0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQobGVmdCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXaGVuIFBvcHBlciBpcyBlbmFibGVkLCByZXNldCB0aGUgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15LCB0cnVlKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuXG4gIC8vIFByZXZlbnQgZHJvcGRvd24gb3ZlcmZsb3cgaWYgdGhlcmUncyBubyBwYWRkaW5nXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yNzcwM1xuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGRyb3Bkb3duLWxpbmstaG92ZXItYmcpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1hY3RpdmUtYmcpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6ICRkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93bigpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCkge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0KCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXksICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG5hdi1kaXZpZGVyKClgIG1peGluXCIsIFwidjQuNC4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcblxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC8vIEJyaW5nIHRoZSBob3ZlciwgZm9jdXNlZCwgYW5kIFwiYWN0aXZlXCIgYnV0dG9ucyB0byB0aGUgZnJvbnQgdG8gb3ZlcmxheVxuICAgIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM2MjQ3MTQwL3doeS1kb250LWZsZXgtaXRlbXMtc2hyaW5rLXBhc3QtY29udGVudC1zaXplXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICsgLmZvcm0tY29udHJvbCxcbiAgICArIC5jdXN0b20tc2VsZWN0LFxuICAgICsgLmN1c3RvbS1maWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBmb3JtIGNvbnRyb2wgdG8gdGhlIHRvcCBvZiBzdXJyb3VuZGluZyBlbGVtZW50c1xuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmN1c3RvbS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjdXN0b20gZmlsZSBpbnB1dCBhYm92ZSB0aGUgbGFiZWxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5jdXN0b20tc2VsZWN0IHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAvLyBDdXN0b20gZmlsZSBpbnB1dHMgaGF2ZSBtb3JlIGNvbXBsZXggbWFya3VwLCB0aHVzIHJlcXVpcmluZyBkaWZmZXJlbnRcbiAgLy8gYm9yZGVyLXJhZGl1cyBvdmVycmlkZXMuXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsIHsgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApOyB9XG4gIH1cblxuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG5cbiAgJi5oYXMtdmFsaWRhdGlvbiB7XG4gICAgPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tc2VsZWN0Om50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5jdXN0b20tZmlsZTpudGgtbGFzdC1jaGlsZChuICsgMykgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kXG4vL1xuLy8gV2hpbGUgaXQgcmVxdWlyZXMgb25lIGV4dHJhIGxheWVyIG9mIEhUTUwgZm9yIGVhY2gsIGRlZGljYXRlZCBwcmVwZW5kIGFuZFxuLy8gYXBwZW5kIGVsZW1lbnRzIGFsbG93IHVzIHRvIDEpIGJlIGxlc3MgY2xldmVyLCAyKSBzaW1wbGlmeSBvdXIgc2VsZWN0b3JzLCBhbmRcbi8vIDMpIHN1cHBvcnQgSFRNTDUgZm9ybSB2YWxpZGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5pbnB1dC1ncm91cC1hcHBlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIEVuc3VyZSBidXR0b25zIGFyZSBhbHdheXMgYWJvdmUgaW5wdXRzIGZvciBtb3JlIHZpc3VhbGx5IHBsZWFzaW5nIGJvcmRlcnMuXG4gIC8vIFRoaXMgaXNuJ3QgbmVlZGVkIGZvciBgLmlucHV0LWdyb3VwLXRleHRgIHNpbmNlIGl0IHNoYXJlcyB0aGUgc2FtZSBib3JkZXItY29sb3JcbiAgLy8gYXMgb3VyIGlucHV0cy5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKSxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAqIC41O1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ3VzdG9tIGNvbnRyb2wgaW5kaWNhdG9yc1xuLy9cbi8vIEJ1aWxkIHRoZSBjdXN0b20gY29udHJvbHMgb3V0IG9mIHBzZXVkby1lbGVtZW50cy5cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjdXJzb3I6ICRjdXN0b20tY29udHJvbC1jdXJzb3I7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZztcbiAgICBib3JkZXI6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93KTtcbiAgfVxuXG4gIC8vIEZvcmVncm91bmQgKGljb24pXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gICAgbGVmdDogLSgkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemV9IG5vLXJlcGVhdDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnKTtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHN3aXRjaGVzXG4vL1xuLy8gVHdlYWsgYSBmZXcgdGhpbmdzIGZvciBzd2l0Y2hlc1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xuXG4gIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKTtcbiAgICAgIHdpZHRoOiAkY3VzdG9tLXN3aXRjaC13aWR0aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGFkZCgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICBsZWZ0OiBhZGQoLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQ6ICRjdXN0b20tc2VsZWN0LWJnICRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93LCAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtc207XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGcpO1xufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuXG4gICY6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIFVzZSBbZGlzYWJsZWRdIGFuZCA6ZGlzYWJsZWQgdG8gd29yayBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSB+IC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgQGVhY2ggJGxhbmcsICR2YWx1ZSBpbiAkY3VzdG9tLWZpbGUtdGV4dCB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KSB+IC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIH4gLmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xuICB9XG59XG5cbi5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiAkY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tZmlsZS1iZztcbiAgYm9yZGVyOiAkY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1ib3gtc2hhZG93KTtcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI7XG4gICAgcGFkZGluZzogJGN1c3RvbS1maWxlLXBhZGRpbmcteSAkY3VzdG9tLWZpbGUtcGFkZGluZy14O1xuICAgIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjdXN0b20tZmlsZS1idXR0b24tY29sb3I7XG4gICAgY29udGVudDogXCJCcm93c2VcIjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBib3JkZXItbGVmdDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cblxuLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uY3VzdG9tLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0LCAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbXMtdGh1bWIgICAgICAgICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgbWFyZ2luLXRvcDogKCRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAqIC41O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IC8vIGFyYml0cmFyeT9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdi10YWJzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIENvbnRlbnRzXG4vL1xuLy8gTmF2YmFyXG4vLyBOYXZiYXIgYnJhbmRcbi8vIE5hdmJhciBuYXZcbi8vIE5hdmJhciB0ZXh0XG4vLyBOYXZiYXIgZGl2aWRlclxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vIE5hdmJhciBwb3NpdGlvblxuLy8gTmF2YmFyIHRoZW1lc1xuXG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci1icmFuZC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkbmF2LWxpbmstcGFkZGluZy15O1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRuYXZiYXItdG9nZ2xlci1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiAkbmF2YmFyLW5hdi1zY3JvbGwtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAubmF2YmFyLWV4cGFuZC0qYCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nXG4vLyB3aGVyZSB5b3VyIG5hdmJhciBjb2xsYXBzZXMuXG4ubmF2YmFyLWV4cGFuZCB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250YWluZXIsXG4gICAgICAgID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAgICAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJHNpemUsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKTtcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3cgPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsuc2hvdyxcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiAkY2FyZC1oZWlnaHQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIC8vIFdvcmthcm91bmQgZm9yIHRoZSBpbWFnZSBzaXplIGJ1ZyBpbiBJRVxuICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI4ODU1XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG4gIGNvbG9yOiAkY2FyZC1jb2xvcjtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtJGNhcmQtc3BhY2VyLXkgKiAuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci1ib3R0b206ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAtJGNhcmQtc3BhY2VyLXk7XG4gIG1hcmdpbi1sZWZ0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAkY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwOyAvLyBGb3IgSUU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjkzOTZcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gQ2FyZCBkZWNrXG5cbi5jYXJkLWRlY2sge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZGVjay1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLSRjYXJkLWRlY2stbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmQtZGVjay1tYXJnaW47XG5cbiAgICAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdFxuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29sdW1uc1xuLy9cblxuLmNhcmQtY29sdW1ucyB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1jb2x1bW5zLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBjb2x1bW4tY291bnQ6ICRjYXJkLWNvbHVtbnMtY291bnQ7XG4gICAgY29sdW1uLWdhcDogJGNhcmQtY29sdW1ucy1nYXA7XG4gICAgb3JwaGFuczogMTtcbiAgICB3aWRvd3M6IDE7XG5cbiAgICAuY2FyZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIERvbid0IGxldCB0aGVtIHZlcnRpY2FsbHkgc3BhbiBtdWx0aXBsZSBjb2x1bW5zXG4gICAgICB3aWR0aDogMTAwJTsgLy8gRG9uJ3QgbGV0IHRoZWlyIHdpZHRoIGNoYW5nZVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbi5hY2NvcmRpb24ge1xuICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG5cbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuXG4gICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0kY2FyZC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRicmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmVhZGNydW1iLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRicmVhZGNydW1iLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgICAgY29udGVudDogZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLSRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDtcbiAgbGluZS1oZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJHBhZ2luYXRpb24tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIG91dGxpbmU6ICRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU7XG4gICAgYm94LXNoYWRvdzogJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdztcbiAgfVxufVxuXG4ucGFnZS1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAucGFnZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYuZGlzYWJsZWQgLnBhZ2UtbGluayB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC8vIE9waW5pb25hdGVkOiByZW1vdmUgdGhlIFwiaGFuZFwiIGN1cnNvciBzZXQgcHJldmlvdXNseSBmb3IgLnBhZ2UtbGlua1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRiYWRnZS1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRiYWRnZS10cmFuc2l0aW9uKTtcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHlcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGJhZGdlcyBpbiBidXR0b25zXG4uYnRuIC5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xufVxuXG4vLyBQaWxsIGJhZGdlc1xuLy9cbi8vIE1ha2UgdGhlbSBleHRyYSByb3VuZGVkIHdpdGggYSBtb2RpZmllciB0byByZXBsYWNlIHYzJ3MgYmFkZ2VzLlxuXG4uYmFkZ2UtcGlsbCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIENvbG9yc1xuLy9cbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGJhZGdlcyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYmFkZ2UtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBiYWRnZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICBAYXQtcm9vdCBhI3smfSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgKiAuNSk7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6ICRqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2UtZm9udC1zaXplICsgJGFsZXJ0LXBhZGRpbmcteCAqIDI7XG5cbiAgLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gRGlzYWJsZSBhbmltYXRpb24gaWYgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB9XG59XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTtcbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBpbmhlcml0KVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkbGlzdC1ncm91cC1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYgKyAmIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCA2KSk7XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgJi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBkaXNhYmxpbmcgb2YgY2xpY2tzIG9uIGA8YT5gIGVsZW1lbnRzXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbmEuY2xvc2UuZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi50b2FzdCB7XG4gIC8vIFByZXZlbnRzIGZyb20gc2hyaW5raW5nIGluIElFMTEsIHdoZW4gaW4gYSBmbGV4IGNvbnRhaW5lclxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODM0MVxuICBmbGV4LWJhc2lzOiAkdG9hc3QtbWF4LXdpZHRoO1xuICBtYXgtd2lkdGg6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkdG9hc3QtZm9udC1zaXplKTtcbiAgY29sb3I6ICR0b2FzdC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvYXN0LWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAkdG9hc3QtYm94LXNoYWRvdztcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdG9hc3QtYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdG9hc3QtcGFkZGluZy14O1xuICB9XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy15ICR0b2FzdC1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkdG9hc3QtaGVhZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206ICR0b2FzdC1ib3JkZXItd2lkdGggc29saWQgJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHN1YnRyYWN0KCR0b2FzdC1ib3JkZXItcmFkaXVzLCAkdG9hc3QtYm9yZGVyLXdpZHRoKSk7XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogJHRvYXN0LXBhZGRpbmcteDsgLy8gYXBwbHkgdG8gYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbFxufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4OyAvLyBJRTEwLzExXG4gIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpOyAvLyBJRTEwLzExXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIsXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7XG5cbiAgLy8gRW5zdXJlIGBtb2RhbC1kaWFsb2ctY2VudGVyZWRgIGV4dGVuZHMgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSB2aWV3IChJRTEwLzExKVxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBJRTEwXG4gICAgaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50OyAvLyBSZXNldCBoZWlnaHQgdG8gMCBleGNlcHQgb24gSUVcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgLy8gRW5zdXJlIGAubW9kYWwtYm9keWAgc2hvd3Mgc2Nyb2xsYmFyIChJRTEwLzExKVxuICAmLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogJG1vZGFsLWNvbnRlbnQtY29sb3I7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZHJvcDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLmNsb3NlIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gICAgLy8gYXV0byBvbiB0aGUgbGVmdCBmb3JjZSBpY29uIHRvIHRoZSByaWdodCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gLm1vZGFsLXRpdGxlXG4gICAgbWFyZ2luOiAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy14KSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZy15KSBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZztcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiAkbW9kYWwtaW5uZXItcGFkZGluZyAtICRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW4gKiAuNTtcbiAgYm9yZGVyLXRvcDogJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDAlLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBzdWJ0cmFjdCgxMDB2aCwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbGc7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwgeyBtYXgtd2lkdGg6ICRtb2RhbC14bDsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHRvb2x0aXAtbWFyZ2luO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiAkdG9vbHRpcC1vcGFjaXR5OyB9XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICBib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0IDA7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWxlZnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b29sdGlwLWJvcmRlci1yYWRpdXMpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJHBvcG92ZXItYm9yZGVyLXJhZGl1cztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBib3R0b206IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgbGVmdDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkcG9wb3Zlci1ib3JkZXItcmFkaXVzIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHRvcDogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgkYmxhY2ssIC4yNSksIHJnYmEoJGJsYWNrLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuXG4vLyBJY29ucyBmb3Igd2l0aGluXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZyk7XG59XG5cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gb3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIDxvbD4gZGVmYXVsdFxuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyOiAkc3Bpbm5lci1ib3JkZXItd2lkdGggc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWJvcmRlcjtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoLXNtO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodC1zbTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Bpbm5lci1ib3JkZXItd2lkdGgtc207XG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5zcGlubmVyLWdyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aDtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiAkc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAuNzVzIGxpbmVhciBpbmZpbml0ZSBzcGlubmVyLWdyb3c7XG59XG5cbi5zcGlubmVyLWdyb3ctc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xufVxuXG5AaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgYmctdmFyaWFudGAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy1ncmFkaWVudC12YXJpYW50YCBtaXhpblwiLCBcInY0LjUuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSwgdHJ1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZShkaXZpZGUoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXksICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWZpbGwgICAgICAgICB7IGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ncm93LTAgICAgICAgeyBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMSAgICAgICB7IGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTAgICAgIHsgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXNocmluay0xICAgICB7IGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cblxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tc3RhcnQgICB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5qdXN0aWZ5LWNvbnRlbnQjeyRpbmZpeH0tYmV0d2VlbiB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdGFydCAgIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tZW5kICAgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tYXJvdW5kICB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWNvbnRlbnQjeyRpbmZpeH0tc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tYXV0byAgICAgeyBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWNlbnRlciAgIHsgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICR1c2VyLXNlbGVjdHMge1xuICAudXNlci1zZWxlY3QtI3skdmFsdWV9IHsgdXNlci1zZWxlY3Q6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJHZhbHVlIGluICRvdmVyZmxvd3Mge1xuICAub3ZlcmZsb3ctI3skdmFsdWV9IHsgb3ZlcmZsb3c6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29tbW9uIHZhbHVlc1xuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4OyAvLyBGaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjU2ODZcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUoKSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICAgIC4jeyRhYmJyZXZ9I3skaW5maXh9LSN7JHNpemV9IHsgI3skcHJvcH06ICRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAuI3skYWJicmV2fXQjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tdG9wOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1yI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1iI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9bCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1sZWZ0OiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW5zIChlLmcuLCB3aGVyZSBgLm1iLW4xYCBpcyBuZWdhdGl2ZSB2ZXJzaW9uIG9mIGAubWItMWApXG4gICAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNwYWNlcnMge1xuICAgICAgQGlmIFwiI3skc2l6ZX1cIiAhPSBcIjBcIiB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICAvLyBKdXN0IGluIGNhc2UgYHBvaW50ZXItZXZlbnRzOiBub25lYCBpcyBzZXQgb24gYSBwYXJlbnRcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIElFMTAgYnVnZml4LCBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTY5NDc5NjcvaWUxMC1ob3Zlci1wc2V1ZG8tY2xhc3MtZG9lc250LXdvcmstd2l0aG91dC1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gRGVwcmVjYXRlZCwgYnV0IGF2b2lkcyBpc3N1ZXMgd2l0aCBmbGV4IGNvbnRhaW5lcnNcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7IC8vIFVzZWQgaW5zdGVhZCBvZiBgb3ZlcmZsb3ctd3JhcGAgZm9yIElFICYgRWRnZSBMZWdhY3lcbn1cblxuLy8gUmVzZXRcblxuLnRleHQtcmVzZXQgeyBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSAhPSAwIHtcbiAgICBhI3skcGFyZW50fSB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoKWBcIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcblxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgdGV4dC1oaWRlKClgXCIsIFwidjQuMS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL21haW4uY3NzL2Jsb2IvbWFzdGVyL3NyYy9fcHJpbnQuY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gU3BlY2lmeSBhIHNpemUgYW5kIG1pbi13aWR0aCB0byBtYWtlIHByaW50aW5nIGNsb3NlciBhY3Jvc3MgYnJvd3NlcnMuXG4gICAgLy8gV2UgZG9uJ3Qgc2V0IG1hcmdpbiBoZXJlIGJlY2F1c2UgaXQgYnJlYWtzIGBzaXplYCBpbiBDaHJvbWUuIFdlIGFsc29cbiAgICAvLyBkb24ndCB1c2UgYCFpbXBvcnRhbnRgIG9uIGBzaXplYCBhcyBpdCBicmVha3MgaW4gQ2hyb21lLlxuICAgIEBwYWdlIHtcbiAgICAgIHNpemU6ICRwcmludC1wYWdlLXNpemU7XG4gICAgfVxuICAgIGJvZHkge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRibGFjaztcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZGFyayB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/ \ No newline at end of file +/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Zyb250ZW5kLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQSxnQkFBZ0I7QUNBaEI7OztFQUFBO0FDR0E7Ozs7OztFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGTUY7O0FHakJBO0VBQ0U7RUFDQTtFQUNBO0FIb0JGOztBR2pCQTtFQUNFO0FIb0JGOztBR2pCQTtFQUNFO0FIb0JGOztBR2hCRTtFQUNFO0FIbUJKOztBR3BCRTtFQUNFO0FIdUJKOztBR3hCRTtFQUNFO0FIMkJKOztBRzVCRTtFQUNFO0FIK0JKOztBR2hDRTtFQUNFO0FIbUNKOztBR3BDRTtFQUNFO0FIdUNKOztBR3hDRTtFQUNFO0FIMkNKOztBRzVDRTtFQUNFO0FIK0NKOztBR2hERTtFQUNFO0FIbURKOztBR3BERTtFQUNFO0FIdURKOztBSXpFQTtFQUNFO0VBQ0EsYUNPcUI7QUxxRXZCOztBTTdFQTtFQUNFO0VBQ0E7RUFDQTtBTmdGRjtBTTlFRTtFQUFPO0FOaUZUOztBTTlFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFVETHFCO0VDTXJCO0FOaUZGOztBTzlGQTtFQUNFO0VBQ0E7RUFDQTtBUGlHRjs7QU85RkE7RUFBK0I7QVBrRy9COztBT2pHQTtFQUFnQztBUHFHaEM7O0FPOUZFOzs7OztFQUFnQztBUHNHbEM7QU9yR0U7Ozs7O0VBQWlDO0FQNEduQzs7QVEzSEE7RUFDRTtBUjhIRjs7QVEzSEE7RUFDRTtBUjhIRjs7QVEzSEE7RUFDRTtJQUNFO0VSOEhGO0VRM0hBO0lBQ0U7RVI2SEY7QUFDRjtBUzVJQTtFQ1dFO0VBQ0E7QVZvSUY7O0FTL0lBO0VDVUU7RUFDQTtBVnlJRjs7QVNuSkE7RUNTRTtFQUNBO0FWOElGOztBU3RKQTtFQ1lFO0VBQ0E7QVY4SUY7O0FTMUpBO0VDV0U7RUFDQTtBVm1KRjs7QVM5SkE7RUNVRTtFQUNBO0FWd0pGOztBUzdKRTs7Ozs7O0VBTUU7QVRnS0o7O0FXbExBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYcUxGOztBV2xMQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBWHFMRjs7QVdsTEE7RUFDRTtBWHFMRjs7QVdsTEE7RUFDRTtBWHFMRjs7QVdsTEE7RUFDRSxXTnBCcUI7QUx5TXZCOztBWWxOQTtnRUFBQTtBQUdBO0VBQWtDO0FacU5sQzs7QVlwTkE7RUFBNEM7QVp3TjVDOztBWXZOQTtFQUFxQztBWjJOckM7O0FZMU5BO0VBQXNEO0FaOE50RDs7QVk3TkE7RUFBK0I7QVppTy9COztBWWhPQTtFQUF5QztBWm9PekM7O0FZbk9BO0VBQXlDO0FadU96Qzs7QVl0T0E7RUFBbUM7QVowT25DOztBWXpPQTtFQUFnQztBWjZPaEM7O0FZNU9BO0VBQXFDO0FaZ1ByQzs7QVkvT0E7RUFBMkM7QVptUDNDOztBWWxQQTtFQUEwQztBWnNQMUM7O0FZclBBO0VBQW1DO0FaeVBuQzs7QVl4UEE7RUFBb0M7QVo0UHBDOztBWTNQQTtFQUF5QztBWitQekM7O0FZOVBBO0VBQTBDO0Faa1ExQzs7QVlqUUE7RUFBdUM7QVpxUXZDOztBWXBRQTtFQUF3QztBWndReEM7O0FZdlFBO0VBQW1DO0FaMlFuQzs7QVkxUUE7RUFBc0M7QVo4UXRDOztBWTdRQTtFQUFtQztBWmlSbkM7O0FZaFJBO0VBQXVDO0Fab1J2Qzs7QVluUkE7RUFBc0M7QVp1UnRDOztBWXRSQTtFQUFnRTtBWjBSaEU7O0FZelJBO0VBQW1DO0FaNlJuQzs7QVk1UkE7RUFBbUM7QVpnU25DOztBWS9SQTtFQUFvQztBWm1TcEM7O0FZbFNBO0VBQXNDO0Fac1N0Qzs7QVlyU0E7RUFBOEM7QVp5UzlDOztBWXhTQTtFQUE4QztBWjRTOUM7O0FZM1NBO0VBQStDO0FaK1MvQzs7QVk5U0E7RUFBNEM7QVprVDVDOztBWWpUQTtFQUF1QztBWnFUdkM7O0FZcFRBO0VBQXVDO0Fad1R2Qzs7QVl2VEE7RUFBd0M7QVoyVHhDOztBWTFUQTtFQUFxQztBWjhUckM7O0FZN1RBO0VBQWtDO0FaaVVsQzs7QVloVUE7RUFBMEM7QVpvVTFDOztBWW5VQTtFQUFvQztBWnVVcEM7O0FZdFVBO0VBQWlDO0FaMFVqQzs7QVl6VUE7RUFBc0M7QVo2VXRDOztBWTVVQTtFQUEwQztBWmdWMUM7O0FZL1VBO0VBQWtDO0FabVZsQzs7QVlsVkE7RUFBa0M7QVpzVmxDOztBWXJWQTtFQUFzQztBWnlWdEM7O0FZeFZBO0VBQXNDO0FaNFZ0Qzs7QVkzVkE7RUFBb0M7QVorVnBDOztBWTlWQTtFQUFvQztBWmtXcEM7O0FZaldBO0VBQWtEO0FacVdsRDs7QVlwV0E7RUFBa0Q7QVp3V2xEOztBWXZXQTtFQUFtRDtBWjJXbkQ7O0FZMVdBO0VBQWdEO0FaOFdoRDs7QVk3V0E7RUFBOEM7QVppWDlDOztBWWhYQTtFQUE4QztBWm9YOUM7O0FZblhBO0VBQStDO0FadVgvQzs7QVl0WEE7RUFBNEM7QVowWDVDOztBWXpYQTtFQUF1QztBWjZYdkM7O0FZNVhBO0VBQXVDO0FaZ1l2Qzs7QVkvWEE7RUFBd0M7QVptWXhDOztBWWxZQTtFQUFxQztBWnNZckM7O0FZcllBO0VBQXVDO0FaeVl2Qzs7QVl4WUE7RUFBeUM7QVo0WXpDOztBWTNZQTtFQUF5QztBWitZekM7O0FZOVlBO0VBQXVDO0Faa1p2Qzs7QVlqWkE7RUFBd0Q7QVpxWnhEOztBWXBaQTtFQUFxQztBWndackM7O0FZdlpBO0VBQXVDO0FaMlp2Qzs7QVkxWkE7RUFBK0I7QVo4Wi9COztBWTdaQTtFQUFrQztBWmlhbEM7O0FZaGFBO0VBQXNDO0Fab2F0Qzs7QVluYUE7RUFBaUM7QVp1YWpDOztBWXRhQTtFQUFvQztBWjBhcEM7O0FZemFBO0VBQThDO0FaNmE5Qzs7QVk1YUE7RUFBeUM7QVpnYnpDOztBWS9hQTtFQUFvQztBWm1icEM7O0FZbGJBO0VBQW1DO0Fac2JuQzs7QVlyYkE7RUFBa0M7QVp5YmxDOztBWXhiQTtFQUFnQztBWjRiaEM7O0FZM2JBO0VBQWlDO0FaK2JqQzs7QVk5YkE7RUFBMEM7QVprYzFDOztBWWpjQTtFQUFzQztBWnFjdEM7O0FZcGNBO0VBQXFDO0Fad2NyQzs7QVl2Y0E7RUFBa0M7QVoyY2xDOztBWTFjQTtFQUFxQztBWjhjckM7O0FZN2NBO0VBQXNDO0FaaWR0Qzs7QVloZEE7RUFBa0M7QVpvZGxDOztBWW5kQTtFQUEwQztBWnVkMUM7O0FZdGRBO0VBQStDO0FaMGQvQzs7QVl6ZEE7RUFBZ0Q7QVo2ZGhEOztBWTVkQTtFQUFnQztBWmdlaEM7O0FZL2RBO0VBQXFDO0FabWVyQzs7QVlsZUE7RUFBcUM7QVpzZXJDOztBWXJlQTtFQUFvQztBWnllcEM7O0FZeGVBO0VBQWlDO0FaNGVqQzs7QVkzZUE7RUFBMEM7QVorZTFDOztBWTllQTtFQUE0QztBWmtmNUM7O0FZamZBO0VBQWlDO0FacWZqQzs7QVlwZkE7RUFBMEM7QVp3ZjFDOztBWXZmQTtFQUF5QztBWjJmekM7O0FZMWZBO0VBQXlDO0FaOGZ6Qzs7QVk3ZkE7RUFBNEM7QVppZ0I1Qzs7QVloZ0JBO0VBQW1EO0Fab2dCbkQ7O0FZbmdCQTtFQUF1QztBWnVnQnZDOztBWXRnQkE7RUFBZ0M7QVowZ0JoQzs7QVl6Z0JBO0VBQWlDO0FaNmdCakM7O0FZNWdCQTtFQUFvQztBWmdoQnBDOztBWS9nQkE7RUFBMkM7QVptaEIzQzs7QVlsaEJBO0VBQWlDO0Fac2hCakM7O0FZcmhCQTtFQUF1QztBWnloQnZDOztBWXhoQkE7RUFBeUM7QVo0aEJ6Qzs7QVkzaEJBO0VBQWtDO0FaK2hCbEM7O0FZOWhCQTtFQUFvQztBWmtpQnBDOztBWWppQkE7RUFBbUM7QVpxaUJuQzs7QVlwaUJBO0VBQXNDO0Fad2lCdEM7O0FZdmlCQTtFQUF1QztBWjJpQnZDOztBWTFpQkE7RUFBc0M7QVo4aUJ0Qzs7QVk3aUJBO0VBQTBDO0FaaWpCMUM7O0FZaGpCQTtFQUFzQztBWm9qQnRDOztBWW5qQkE7RUFBb0M7QVp1akJwQzs7QVl0akJBO0VBQWlDO0FaMGpCakM7O0FZempCQTtFQUFzQztBWjZqQnRDOztBWTVqQkE7RUFBdUM7QVpna0J2Qzs7QVkvakJBO0VBQW9DO0FabWtCcEM7O0FZbGtCQTtFQUEwQztBWnNrQjFDOztBWXJrQkE7RUFBa0M7QVp5a0JsQzs7QVl4a0JBO0VBQWlDO0FaNGtCakM7O0FZM2tCQTtFQUFvQztBWitrQnBDOztBWTlrQkE7RUFBc0M7QVprbEJ0Qzs7QVlqbEJBO0VBQXNDO0FacWxCdEM7O0FZcGxCQTtFQUF3QztBWndsQnhDOztBWXZsQkE7RUFBaUM7QVoybEJqQzs7QVkxbEJBO0VBQWlDO0FaOGxCakM7O0FZN2xCQTtFQUFpQztBWmltQmpDOztBWWhtQkE7RUFBaUM7QVpvbUJqQzs7QVlubUJBO0VBQWlDO0FadW1CakM7O0FZdG1CQTtFQUFpQztBWjBtQmpDOztBWXptQkE7RUFBc0M7QVo2bUJ0Qzs7QVk1bUJBO0VBQXlDO0FaZ25CekM7O0FZL21CQTtFQUFzQztBWm1uQnRDOztBWWxuQkE7RUFBd0M7QVpzbkJ4Qzs7QVlybkJBO0VBQXFDO0FaeW5CckM7O0FZeG5CQTtFQUFzQztBWjRuQnRDOztBWTNuQkE7RUFBdUM7QVorbkJ2Qzs7QVk5bkJBO0VBQXdDO0Faa29CeEM7O0FZam9CQTtFQUF5QztBWnFvQnpDOztBWXBvQkE7RUFBeUM7QVp3b0J6Qzs7QVl2b0JBO0VBQWdDO0FaMm9CaEM7O0FZMW9CQTtFQUFxQztBWjhvQnJDOztBWTdvQkE7RUFBdUM7QVppcEJ2Qzs7QVlocEJBO0VBQWtDO0Fab3BCbEM7O0FZbnBCQTtFQUFvQztBWnVwQnBDOztBWXRwQkE7RUFBa0M7QVowcEJsQzs7QVl6cEJBO0VBQXdDO0FaNnBCeEM7O0FZNXBCQTtFQUFzQztBWmdxQnRDOztBWS9wQkE7RUFBOEM7QVptcUI5Qzs7QVlscUJBO0VBQTRDO0Fac3FCNUM7O0FZcnFCQTtFQUFrQztBWnlxQmxDOztBWXhxQkE7RUFBa0M7QVo0cUJsQzs7QVkzcUJBO0VBQWdDO0FaK3FCaEM7O0FZOXFCQTtFQUFtQztBWmtyQm5DOztBWWpyQkE7RUFBZ0M7QVpxckJoQzs7QVlwckJBO0VBQXFDO0Fad3JCckM7O0FZdnJCQTtFQUFxQztBWjJyQnJDOztBWTFyQkE7RUFBcUM7QVo4ckJyQzs7QVk3ckJBO0VBQWlDO0FaaXNCakM7O0FZaHNCQTtFQUE2QztBWm9zQjdDOztBWW5zQkE7RUFBZ0M7QVp1c0JoQzs7QVl0c0JBO0VBQW9DO0FaMHNCcEM7O0FZenNCQTtFQUEwQztBWjZzQjFDOztBWTVzQkE7RUFBd0M7QVpndEJ4Qzs7QVkvc0JBO0VBQXVDO0FabXRCdkM7O0FZbHRCQTtFQUF1QztBWnN0QnZDOztBWXJ0QkE7RUFBcUM7QVp5dEJyQzs7QVl4dEJBO0VBQXlDO0FaNHRCekM7O0FZM3RCQTtFQUEyQztBWit0QjNDOztBWTl0QkE7RUFBeUM7QVprdUJ6Qzs7QVlqdUJBO0VBQTJDO0FacXVCM0M7O0FZcHVCQTtFQUEwQztBWnd1QjFDOztBWXZ1QkE7RUFBMkM7QVoydUIzQzs7QVkxdUJBO0VBQTBDO0FaOHVCMUM7O0FZN3VCQTtFQUFtQztBWml2Qm5DOztBWWh2QkE7RUFBeUM7QVpvdkJ6Qzs7QVludkJBO0VBQXVDO0FadXZCdkM7O0FZdHZCQTtFQUFnRDtBWjB2QmhEOztBWXp2QkE7RUFBdUM7QVo2dkJ2Qzs7QVk1dkJBO0VBQXFDO0FaZ3dCckM7O0FZL3ZCQTtFQUFxQztBWm13QnJDOztBWWx3QkE7RUFBZ0M7QVpzd0JoQzs7QVlyd0JBO0VBQW9DO0FaeXdCcEM7O0FZeHdCQTtFQUF3QztBWjR3QnhDOztBWTN3QkE7RUFBc0M7QVord0J0Qzs7QVk5d0JBO0VBQXFDO0Faa3hCckM7O0FZanhCQTtFQUFvQztBWnF4QnBDOztBWXB4QkE7RUFBdUM7QVp3eEJ2Qzs7QVl2eEJBO0VBQXVDO0FaMnhCdkM7O0FZMXhCQTtFQUF3QztBWjh4QnhDOztBWTd4QkE7RUFBOEM7QVppeUI5Qzs7QVloeUJBO0VBQThDO0Fab3lCOUM7O0FZbnlCQTtFQUErQztBWnV5Qi9DOztBWXR5QkE7RUFBNEM7QVoweUI1Qzs7QVl6eUJBO0VBQXFDO0FaNnlCckM7O0FZNXlCQTtFQUFtQztBWmd6Qm5DOztBWS95QkE7RUFBNEM7QVptekI1Qzs7QVlsekJBO0VBQXNDO0Fac3pCdEM7O0FZcnpCQTtFQUEwQztBWnl6QjFDOztBWXh6QkE7RUFBZ0M7QVo0ekJoQzs7QVkzekJBO0VBQTBDO0FaK3pCMUM7O0FZOXpCQTtFQUFvQztBWmswQnBDOztBWWowQkE7RUFBeUM7QVpxMEJ6Qzs7QVlwMEJBO0VBQTJDO0FadzBCM0M7O0FZdjBCQTtFQUF3QztBWjIwQnhDOztBWTEwQkE7RUFBbUM7QVo4MEJuQzs7QVk3MEJBO0VBQTBDO0FaaTFCMUM7O0FZaDFCQTtFQUFzQztBWm8xQnRDOztBWW4xQkE7RUFBc0M7QVp1MUJ0Qzs7QVl0MUJBO0VBQW9DO0FaMDFCcEM7O0FZejFCQTtFQUF1QztBWjYxQnZDOztBWTUxQkE7RUFBbUM7QVpnMkJuQzs7QVkvMUJBO0VBQXdDO0FabTJCeEM7O0FZbDJCQTtFQUFrQztBWnMyQmxDOztBWXIyQkE7RUFBdUM7QVp5MkJ2Qzs7QVl4MkJBO0VBQStDO0FaNDJCL0M7O0FZMzJCQTtFQUE2QztBWisyQjdDOztBWTkyQkE7RUFBdUM7QVprM0J2Qzs7QVlqM0JBO0VBQXNDO0FacTNCdEM7O0FZcDNCQTtFQUF1QztBWnczQnZDOztBWXYzQkE7RUFBc0M7QVoyM0J0Qzs7QVkxM0JBO0VBQWtDO0FaODNCbEM7O0FZNzNCQTtFQUF5QztBWmk0QnpDOztBWWg0QkE7RUFBeUM7QVpvNEJ6Qzs7QVluNEJBO0VBQXlDO0FadTRCekM7O0FZdDRCQTtFQUFtQztBWjA0Qm5DOztBWXo0QkE7RUFBa0M7QVo2NEJsQzs7QVk1NEJBO0VBQXlDO0FaZzVCekM7O0FZLzRCQTtFQUF3QztBWm01QnhDOztBWWw1QkE7RUFBdUM7QVpzNUJ2Qzs7QVlyNUJBO0VBQXlDO0FaeTVCekM7O0FZeDVCQTtFQUF1QztBWjQ1QnZDOztBWTM1QkE7RUFBd0M7QVorNUJ4Qzs7QVk5NUJBO0VBQXVDO0FaazZCdkM7O0FZajZCQTtFQUFnRDtBWnE2QmhEOztBWXA2QkE7RUFBZ0Q7QVp3NkJoRDs7QVl2NkJBO0VBQWlEO0FaMjZCakQ7O0FZMTZCQTtFQUE4QztBWjg2QjlDOztBWTc2QkE7RUFBeUM7QVppN0J6Qzs7QVloN0JBO0VBQXlDO0FabzdCekM7O0FZbjdCQTtFQUEwQztBWnU3QjFDOztBWXQ3QkE7RUFBdUM7QVowN0J2Qzs7QVl6N0JBO0VBQWtDO0FaNjdCbEM7O0FZNTdCQTtFQUFtQztBWmc4Qm5DOztBWS83QkE7RUFBdUM7QVptOEJ2Qzs7QVlsOEJBO0VBQW1DO0FaczhCbkM7O0FZcjhCQTtFQUFtQztBWnk4Qm5DOztBWXg4QkE7RUFBeUM7QVo0OEJ6Qzs7QVkzOEJBO0VBQWlDO0FaKzhCakM7O0FZOThCQTtFQUEyQztBWms5QjNDOztBWWo5QkE7RUFBc0M7QVpxOUJ0Qzs7QVlwOUJBO0VBQTRDO0FadzlCNUM7O0FZdjlCQTtFQUEyQztBWjI5QjNDOztBWTE5QkE7RUFBa0M7QVo4OUJsQzs7QVk3OUJBO0VBQWtDO0FaaStCbEM7O0FZaCtCQTtFQUE4QztBWm8rQjlDOztBWW4rQkE7RUFBa0M7QVp1K0JsQzs7QVl0K0JBO0VBQStDO0FaMCtCL0M7O0FZeitCQTtFQUEyQztBWjYrQjNDOztBWTUrQkE7RUFBdUM7QVpnL0J2Qzs7QVkvK0JBO0VBQTRDO0FabS9CNUM7O0FZbC9CQTtFQUF1QztBWnMvQnZDOztBWXIvQkE7RUFBZ0Q7QVp5L0JoRDs7QVl4L0JBO0VBQXNDO0FaNC9CdEM7O0FZMy9CQTtFQUEyQztBWisvQjNDOztBWTkvQkE7RUFBNkM7QVprZ0M3Qzs7QVlqZ0NBO0VBQXVDO0FacWdDdkM7O0FZcGdDQTtFQUF1QztBWndnQ3ZDOztBWXZnQ0E7RUFBdUM7QVoyZ0N2Qzs7QVkxZ0NBO0VBQXlDO0FaOGdDekM7O0FZN2dDQTtFQUFxQztBWmloQ3JDOztBWWhoQ0E7RUFBaUM7QVpvaENqQzs7QVluaENBO0VBQXdDO0FadWhDeEM7O0FZdGhDQTtFQUFvQztBWjBoQ3BDOztBWXpoQ0E7RUFBcUM7QVo2aENyQzs7QVk1aENBO0VBQW1DO0FaZ2lDbkM7O0FZL2hDQTtFQUFnQztBWm1pQ2hDOztBWWxpQ0E7RUFBaUM7QVpzaUNqQzs7QVlyaUNBO0VBQWtDO0FaeWlDbEM7O0FZeGlDQTtFQUFvQztBWjRpQ3BDOztBWTNpQ0E7RUFBb0M7QVoraUNwQzs7QVk5aUNBO0VBQXdDO0Faa2pDeEM7O0FZampDQTtFQUEyQztBWnFqQzNDOztBWXBqQ0E7RUFBeUM7QVp3akN6Qzs7QVl2akNBO0VBQTRDO0FaMmpDNUM7O0FZMWpDQTtFQUEwQztBWjhqQzFDOztBWTdqQ0E7RUFBcUM7QVppa0NyQzs7QVloa0NBO0VBQTRDO0Fab2tDNUM7O0FZbmtDQTtFQUF5QztBWnVrQ3pDOztBWXRrQ0E7RUFBb0M7QVowa0NwQzs7QVl6a0NBO0VBQXFDO0FaNmtDckM7O0FZNWtDQTtFQUF5QztBWmdsQ3pDOztBWS9rQ0E7RUFBZ0Q7QVptbENoRDs7QVlsbENBO0VBQTJDO0Fac2xDM0M7O0FZcmxDQTtFQUF1QztBWnlsQ3ZDOztBWXhsQ0E7RUFBMkM7QVo0bEMzQzs7QVkzbENBO0VBQW1DO0FaK2xDbkM7O0FZOWxDQTtFQUFtQztBWmttQ25DOztBWWptQ0E7RUFBd0M7QVpxbUN4Qzs7QVlwbUNBO0VBQWlDO0Fad21DakM7O0FZdm1DQTtFQUFzQztBWjJtQ3RDOztBWTFtQ0E7RUFBMEM7QVo4bUMxQzs7QVk3bUNBO0VBQWtDO0FaaW5DbEM7O0FZaG5DQTtFQUFtQztBWm9uQ25DOztBWW5uQ0E7RUFBNkM7QVp1bkM3Qzs7QVl0bkNBO0VBQWdEO0FaMG5DaEQ7O0FZem5DQTtFQUFnRDtBWjZuQ2hEOztBWTVuQ0E7RUFBbUQ7QVpnb0NuRDs7QVkvbkNBO0VBQW1EO0FabW9DbkQ7O0FZbG9DQTtFQUFnRDtBWnNvQ2hEOztBWXJvQ0E7RUFBZ0Q7QVp5b0NoRDs7QVl4b0NBO0VBQW9EO0FaNG9DcEQ7O0FZM29DQTtFQUFtRDtBWitvQ25EOztBWTlvQ0E7RUFBZ0Q7QVprcENoRDs7QVlqcENBO0VBQXNEO0FacXBDdEQ7O0FZcHBDQTtFQUEyRDtBWndwQzNEOztBWXZwQ0E7RUFBbUQ7QVoycENuRDs7QVkxcENBO0VBQWtEO0FaOHBDbEQ7O0FZN3BDQTtFQUF3QztBWmlxQ3hDOztBWWhxQ0E7RUFBMEM7QVpvcUMxQzs7QVlucUNBO0VBQWlDO0FadXFDakM7O0FZdHFDQTtFQUFxQztBWjBxQ3JDOztBWXpxQ0E7RUFBa0M7QVo2cUNsQzs7QVk1cUNBO0VBQXVDO0FaZ3JDdkM7O0FZL3FDQTtFQUFpQztBWm1yQ2pDOztBWWxyQ0E7RUFBa0M7QVpzckNsQzs7QVlyckNBO0VBQW1DO0FaeXJDbkM7O0FZeHJDQTtFQUFpQztBWjRyQ2pDOztBWTNyQ0E7RUFBcUM7QVorckNyQzs7QVk5ckNBO0VBQWlDO0Faa3NDakM7O0FZanNDQTtFQUFrQztBWnFzQ2xDOztBWXBzQ0E7RUFBZ0M7QVp3c0NoQzs7QVl2c0NBO0VBQXVDO0FaMnNDdkM7O0FZMXNDQTtFQUFvQztBWjhzQ3BDOztBWTdzQ0E7RUFBMkM7QVppdEMzQzs7QVlodENBO0VBQXdDO0Fab3RDeEM7O0FZbnRDQTtFQUFxQztBWnV0Q3JDOztBWXR0Q0E7RUFBcUM7QVowdENyQzs7QVl6dENBO0VBQWlDO0FaNnRDakM7O0FZNXRDQTtFQUFtQztBWmd1Q25DOztBWS90Q0E7RUFBc0M7QVptdUN0Qzs7QVlsdUNBO0VBQXFDO0Fac3VDckM7O0FZcnVDQTtFQUFzQztBWnl1Q3RDOztBWXh1Q0E7RUFBb0M7QVo0dUNwQzs7QVkzdUNBO0VBQW9DO0FaK3VDcEM7O0FZOXVDQTtFQUFnQztBWmt2Q2hDOztBWWp2Q0E7RUFBdUM7QVpxdkN2Qzs7QVlwdkNBO0VBQXlDO0Fad3ZDekM7O0FZdnZDQTtFQUFnQztBWjJ2Q2hDOztBWTF2Q0E7RUFBc0M7QVo4dkN0Qzs7QVk3dkNBO0VBQXFDO0FaaXdDckM7O0FZaHdDQTtFQUFpQztBWm93Q2pDOztBWW53Q0E7RUFBcUM7QVp1d0NyQzs7QVl0d0NBO0VBQW9DO0FaMHdDcEM7O0FZendDQTtFQUFzQztBWjZ3Q3RDOztBWTV3Q0E7RUFBc0M7QVpneEN0Qzs7QVkvd0NBO0VBQXFDO0FabXhDckM7O0FZbHhDQTtFQUFxQztBWnN4Q3JDOztBWXJ4Q0E7RUFBdUM7QVp5eEN2Qzs7QVl4eENBO0VBQXFDO0FaNHhDckM7O0FZM3hDQTtFQUFpQztBWit4Q2pDOztBWTl4Q0E7RUFBMEM7QVpreUMxQzs7QVlqeUNBO0VBQStDO0FacXlDL0M7O0FZcHlDQTtFQUF1QztBWnd5Q3ZDOztBWXZ5Q0E7RUFBb0M7QVoyeUNwQzs7QVkxeUNBO0VBQXNDO0FaOHlDdEM7O0FZN3lDQTtFQUFvQztBWml6Q3BDOztBWWh6Q0E7RUFBbUM7QVpvekNuQzs7QVluekNBO0VBQWtDO0FadXpDbEM7O0FZdHpDQTtFQUFnQztBWjB6Q2hDOztBWXp6Q0E7RUFBbUM7QVo2ekNuQzs7QVk1ekNBO0VBQW1DO0FaZzBDbkM7O0FZL3pDQTtFQUFnQztBWm0wQ2hDOztBWWwwQ0E7RUFBd0M7QVpzMEN4Qzs7QVlyMENBO0VBQWtDO0FaeTBDbEM7O0FZeDBDQTtFQUEwQztBWjQwQzFDOztBWTMwQ0E7RUFBbUM7QVorMENuQzs7QVk5MENBO0VBQXdDO0FaazFDeEM7O0FZajFDQTtFQUFzQztBWnExQ3RDOztBWXAxQ0E7RUFBdUM7QVp3MUN2Qzs7QVl2MUNBO0VBQWlDO0FaMjFDakM7O0FZMTFDQTtFQUFxQztBWjgxQ3JDOztBWTcxQ0E7RUFBMEM7QVppMkMxQzs7QVloMkNBO0VBQTZDO0FabzJDN0M7O0FZbjJDQTtFQUFtQztBWnUyQ25DOztBWXQyQ0E7RUFBeUM7QVowMkN6Qzs7QVl6MkNBO0VBQXFDO0FaNjJDckM7O0FZNTJDQTtFQUE0QztBWmczQzVDOztBWS8yQ0E7RUFBb0M7QVptM0NwQzs7QVlsM0NBO0VBQWlDO0FaczNDakM7O0FZcjNDQTtFQUEwQztBWnkzQzFDOztBWXgzQ0E7RUFBMkM7QVo0M0MzQzs7QVkzM0NBO0VBQW1DO0FaKzNDbkM7O0FZOTNDQTtFQUFxQztBWms0Q3JDOztBWWo0Q0E7RUFBcUM7QVpxNENyQzs7QVlwNENBO0VBQTBDO0FadzRDMUM7O0FZdjRDQTtFQUFvQztBWjI0Q3BDOztBWTE0Q0E7RUFBbUM7QVo4NENuQzs7QVk3NENBO0VBQXVDO0FaaTVDdkM7O0FZaDVDQTtFQUFpQztBWm81Q2pDOztBWW41Q0E7RUFBaUM7QVp1NUNqQzs7QVl0NUNBO0VBQXdDO0FaMDVDeEM7O0FZejVDQTtFQUFpQztBWjY1Q2pDOztBWTU1Q0E7RUFBZ0M7QVpnNkNoQzs7QVkvNUNBO0VBQWtDO0FabTZDbEM7O0FZbDZDQTtFQUFzQztBWnM2Q3RDOztBWXI2Q0E7RUFBdUM7QVp5NkN2Qzs7QVl4NkNBO0VBQXVDO0FaNDZDdkM7O0FZMzZDQTtFQUFpQztBWis2Q2pDOztBWTk2Q0E7RUFBa0M7QVprN0NsQzs7QVlqN0NBO0VBQW1DO0FacTdDbkM7O0FZcDdDQTtFQUFxQztBWnc3Q3JDOztBWXY3Q0E7RUFBMEM7QVoyN0MxQzs7QVkxN0NBO0VBQStDO0FaODdDL0M7O0FZNzdDQTtFQUE0QztBWmk4QzVDOztBWWg4Q0E7RUFBbUM7QVpvOENuQzs7QVluOENBO0VBQW1DO0FadThDbkM7O0FZdDhDQTtFQUFtQztBWjA4Q25DOztBWXo4Q0E7RUFBbUM7QVo2OENuQzs7QVk1OENBO0VBQXFDO0FaZzlDckM7O0FZLzhDQTtFQUFxQztBWm05Q3JDOztBWWw5Q0E7RUFBaUM7QVpzOUNqQzs7QVlyOUNBO0VBQXNDO0FaeTlDdEM7O0FZeDlDQTtFQUFxQztBWjQ5Q3JDOztBWTM5Q0E7RUFBeUM7QVorOUN6Qzs7QVk5OUNBO0VBQXdDO0FaaytDeEM7O0FZaitDQTtFQUErQztBWnErQy9DOztBWXArQ0E7RUFBaUQ7QVp3K0NqRDs7QVl2K0NBO0VBQW1DO0FaMitDbkM7O0FZMStDQTtFQUF1QztBWjgrQ3ZDOztBWTcrQ0E7RUFBOEM7QVppL0M5Qzs7QVloL0NBO0VBQXlDO0Faby9DekM7O0FZbi9DQTtFQUE4QztBWnUvQzlDOztBWXQvQ0E7RUFBcUQ7QVowL0NyRDs7QVl6L0NBO0VBQWdDO0FaNi9DaEM7O0FZNS9DQTtFQUF3QztBWmdnRHhDOztBWS8vQ0E7RUFBc0M7QVptZ0R0Qzs7QVlsZ0RBO0VBQXFDO0Fac2dEckM7O0FZcmdEQTtFQUF1QztBWnlnRHZDOztBWXhnREE7RUFBK0M7QVo0Z0QvQzs7QVkzZ0RBO0VBQTRDO0FaK2dENUM7O0FZOWdEQTtFQUFnQztBWmtoRGhDOztBWWpoREE7RUFBaUQ7QVpxaERqRDs7QVlwaERBO0VBQTBDO0Fad2hEMUM7O0FZdmhEQTtFQUF5QztBWjJoRHpDOztBWTFoREE7RUFBbUM7QVo4aERuQzs7QVk3aERBO0VBQWdDO0FaaWlEaEM7O0FZaGlEQTtFQUFvQztBWm9pRHBDOztBWW5pREE7RUFBd0M7QVp1aUR4Qzs7QVl0aURBO0VBQWtDO0FaMGlEbEM7O0FZemlEQTtFQUFtQztBWjZpRG5DOztBWTVpREE7RUFBbUM7QVpnakRuQzs7QVkvaURBO0VBQXdDO0FabWpEeEM7O0FZbGpEQTtFQUFrQztBWnNqRGxDOztBWXJqREE7RUFBaUM7QVp5akRqQzs7QVl4akRBO0VBQXFDO0FaNGpEckM7O0FZM2pEQTtFQUF5QztBWitqRHpDOztBWTlqREE7RUFBdUM7QVpra0R2Qzs7QVlqa0RBO0VBQXNDO0FacWtEdEM7O0FZcGtEQTtFQUEwQztBWndrRDFDOztBWXZrREE7RUFBcUM7QVoya0RyQzs7QVkxa0RBO0VBQTBDO0FaOGtEMUM7O0FZN2tEQTtFQUF1QztBWmlsRHZDOztBWWhsREE7RUFBd0M7QVpvbER4Qzs7QVlubERBO0VBQXVDO0FadWxEdkM7O0FZdGxEQTtFQUF3QztBWjBsRHhDOztBWXpsREE7RUFBeUM7QVo2bER6Qzs7QVk1bERBO0VBQWdEO0FaZ21EaEQ7O0FZL2xEQTtFQUF5QztBWm1tRHpDOztBWWxtREE7RUFBNkM7QVpzbUQ3Qzs7QVlybURBO0VBQXFDO0FaeW1EckM7O0FZeG1EQTtFQUE0QztBWjRtRDVDOztBWTNtREE7RUFBOEM7QVorbUQ5Qzs7QVk5bURBO0VBQTJDO0Faa25EM0M7O0FZam5EQTtFQUF3QztBWnFuRHhDOztBWXBuREE7RUFBdUM7QVp3bkR2Qzs7QVl2bkRBO0VBQXNDO0FaMm5EdEM7O0FZMW5EQTtFQUFpQztBWjhuRGpDOztBWTduREE7RUFBc0M7QVppb0R0Qzs7QVlob0RBO0VBQWlDO0Fab29EakM7O0FZbm9EQTtFQUFtQztBWnVvRG5DOztBWXRvREE7RUFBd0M7QVowb0R4Qzs7QVl6b0RBO0VBQWlDO0FaNm9EakM7O0FZNW9EQTtFQUFxQztBWmdwRHJDOztBWS9vREE7RUFBOEM7QVptcEQ5Qzs7QVlscERBO0VBQW9DO0Fac3BEcEM7O0FZcnBEQTtFQUE0QztBWnlwRDVDOztBWXhwREE7RUFBc0M7QVo0cER0Qzs7QVkzcERBO0VBQXdDO0FaK3BEeEM7O0FZOXBEQTtFQUE0QztBWmtxRDVDOztBWWpxREE7RUFBdUM7QVpxcUR2Qzs7QVlwcURBO0VBQWlDO0Fad3FEakM7O0FZdnFEQTtFQUF3QztBWjJxRHhDOztBWTFxREE7RUFBaUM7QVo4cURqQzs7QVk3cURBO0VBQTJDO0FaaXJEM0M7O0FZaHJEQTtFQUFxQztBWm9yRHJDOztBWW5yREE7RUFBa0M7QVp1ckRsQzs7QVl0ckRBO0VBQW1DO0FaMHJEbkM7O0FZenJEQTtFQUFzQztBWjZyRHRDOztBWTVyREE7RUFBb0M7QVpnc0RwQzs7QVkvckRBO0VBQWdDO0FabXNEaEM7O0FZbHNEQTtFQUFtQztBWnNzRG5DOztBWXJzREE7RUFBeUM7QVp5c0R6Qzs7QVl4c0RBO0VBQXdDO0FaNHNEeEM7O0FZM3NEQTtFQUF3QztBWitzRHhDOztBWTlzREE7RUFBaUM7QVprdERqQzs7QVlqdERBO0VBQXlDO0FacXREekM7O0FZcHREQTtFQUE2QztBWnd0RDdDOztBWXZ0REE7RUFBOEM7QVoydEQ5Qzs7QVkxdERBO0VBQW1EO0FaOHREbkQ7O0FZN3REQTtFQUFzQztBWml1RHRDOztBWWh1REE7RUFBeUM7QVpvdUR6Qzs7QVludURBO0VBQTBDO0FadXVEMUM7O0FZdHVEQTtFQUF5QztBWjB1RHpDOztBWXp1REE7RUFBNkM7QVo2dUQ3Qzs7QVk1dURBO0VBQXFDO0FaZ3ZEckM7O0FZL3VEQTtFQUFvQztBWm12RHBDOztBWWx2REE7RUFBdUM7QVpzdkR2Qzs7QVlydkRBO0VBQTJDO0FaeXZEM0M7O0FZeHZEQTtFQUFvQztBWjR2RHBDOztBWTN2REE7RUFBaUM7QVordkRqQzs7QVk5dkRBO0VBQWtDO0Faa3dEbEM7O0FZandEQTtFQUF1QztBWnF3RHZDOztBWXB3REE7RUFBb0M7QVp3d0RwQzs7QVl2d0RBO0VBQTBDO0FaMndEMUM7O0FZMXdEQTtFQUFtQztBWjh3RG5DOztBWTd3REE7RUFBOEM7QVppeEQ5Qzs7QVloeERBO0VBQTRDO0Fab3hENUM7O0FZbnhEQTtFQUFvQztBWnV4RHBDOztBWXR4REE7RUFBcUM7QVoweERyQzs7QVl6eERBO0VBQWtDO0FaNnhEbEM7O0FZNXhEQTtFQUFnQztBWmd5RGhDOztBWS94REE7RUFBdUM7QVpteUR2Qzs7QVlseURBO0VBQXVDO0Fac3lEdkM7O0FZcnlEQTtFQUErQjtBWnl5RC9COztBWXh5REE7RUFBc0M7QVo0eUR0Qzs7QVkzeURBO0VBQWtDO0FaK3lEbEM7O0FZOXlEQTtFQUFpQztBWmt6RGpDOztBWWp6REE7RUFBa0M7QVpxekRsQzs7QVlwekRBO0VBQWdDO0Fad3pEaEM7O0FZdnpEQTtFQUFvQztBWjJ6RHBDOztBWTF6REE7RUFBdUM7QVo4ekR2Qzs7QVk3ekRBO0VBQW1DO0FaaTBEbkM7O0FZaDBEQTtFQUF1QztBWm8wRHZDOztBWW4wREE7RUFBMEM7QVp1MEQxQzs7QVl0MERBO0VBQXNDO0FaMDBEdEM7O0FZejBEQTtFQUFtQztBWjYwRG5DOztBWTUwREE7RUFBbUM7QVpnMURuQzs7QVkvMERBO0VBQXlDO0FabTFEekM7O0FZbDFEQTtFQUEwQztBWnMxRDFDOztBWXIxREE7RUFBOEM7QVp5MUQ5Qzs7QVl4MURBO0VBQTBDO0FaNDFEMUM7O0FZMzFEQTtFQUFvQztBWisxRHBDOztBWTkxREE7RUFBa0M7QVprMkRsQzs7QVlqMkRBO0VBQW9DO0FacTJEcEM7O0FZcDJEQTtFQUFrQztBWncyRGxDOztBWXYyREE7RUFBeUM7QVoyMkR6Qzs7QVkxMkRBO0VBQTJDO0FaODJEM0M7O0FZNzJEQTtFQUF1QztBWmkzRHZDOztBWWgzREE7RUFBeUM7QVpvM0R6Qzs7QVluM0RBO0VBQW1DO0FadTNEbkM7O0FZdDNEQTtFQUFzQztBWjAzRHRDOztBWXozREE7RUFBc0M7QVo2M0R0Qzs7QVk1M0RBO0VBQXdDO0FaZzREeEM7O0FZLzNEQTtFQUFtQztBWm00RG5DOztBWWw0REE7RUFBeUM7QVpzNER6Qzs7QVlyNERBO0VBQXVDO0FaeTREdkM7O0FZeDREQTtFQUF3QztBWjQ0RHhDOztBWTM0REE7RUFBd0M7QVorNER4Qzs7QVk5NERBO0VBQTBDO0FaazVEMUM7O0FZajVEQTtFQUErQztBWnE1RC9DOztBWXA1REE7RUFBMEM7QVp3NUQxQzs7QVl2NURBO0VBQW9DO0FaMjVEcEM7O0FZMTVEQTtFQUEyQztBWjg1RDNDOztBWTc1REE7RUFBcUM7QVppNkRyQzs7QVloNkRBO0VBQWlDO0FabzZEakM7O0FZbjZEQTtFQUF5QztBWnU2RHpDOztBWXQ2REE7RUFBK0M7QVowNkQvQzs7QVl6NkRBO0VBQW9DO0FaNjZEcEM7O0FZNTZEQTtFQUFpQztBWmc3RGpDOztBWS82REE7RUFBcUM7QVptN0RyQzs7QVlsN0RBO0VBQXNDO0FaczdEdEM7O0FZcjdEQTtFQUE0QztBWnk3RDVDOztBWXg3REE7RUFBd0M7QVo0N0R4Qzs7QVkzN0RBO0VBQXdDO0FaKzdEeEM7O0FZOTdEQTtFQUE4QztBWms4RDlDOztBWWo4REE7RUFBdUM7QVpxOER2Qzs7QVlwOERBO0VBQXVDO0FadzhEdkM7O0FZdjhEQTtFQUF3QztBWjI4RHhDOztBWTE4REE7RUFBK0M7QVo4OEQvQzs7QVk3OERBO0VBQTZDO0FaaTlEN0M7O0FZaDlEQTtFQUFzQztBWm85RHRDOztBWW45REE7RUFBNEM7QVp1OUQ1Qzs7QVl0OURBO0VBQXVDO0FaMDlEdkM7O0FZejlEQTtFQUFnRDtBWjY5RGhEOztBWTU5REE7RUFBMEM7QVpnK0QxQzs7QVkvOURBO0VBQXFDO0FabStEckM7O0FZbCtEQTtFQUFrQztBWnMrRGxDOztBWXIrREE7RUFBb0M7QVp5K0RwQzs7QVl4K0RBO0VBQW1DO0FaNCtEbkM7O0FZMytEQTtFQUFpQztBWisrRGpDOztBWTkrREE7RUFBcUM7QVprL0RyQzs7QVlqL0RBO0VBQXdDO0FacS9EeEM7O0FZcC9EQTtFQUErQztBWncvRC9DOztBWXYvREE7RUFBdUM7QVoyL0R2Qzs7QVkxL0RBO0VBQXNDO0FaOC9EdEM7O0FZNy9EQTtFQUFtQztBWmlnRW5DOztBWWhnRUE7RUFBa0M7QVpvZ0VsQzs7QVluZ0VBO0VBQXlDO0FadWdFekM7O0FZdGdFQTtFQUErQztBWjBnRS9DOztBWXpnRUE7RUFBaUQ7QVo2Z0VqRDs7QVk1Z0VBO0VBQTZDO0FaZ2hFN0M7O0FZL2dFQTtFQUErQztBWm1oRS9DOztBWWxoRUE7RUFBd0M7QVpzaEV4Qzs7QVlyaEVBO0VBQStDO0FaeWhFL0M7O0FZeGhFQTtFQUF1QztBWjRoRXZDOztBWTNoRUE7RUFBdUM7QVoraEV2Qzs7QVk5aEVBO0VBQTRDO0Faa2lFNUM7O0FZamlFQTtFQUE0QztBWnFpRTVDOztBWXBpRUE7RUFBNkM7QVp3aUU3Qzs7QVl2aUVBO0VBQTBDO0FaMmlFMUM7O0FZMWlFQTtFQUF5QztBWjhpRXpDOztBWTdpRUE7RUFBc0M7QVppakV0Qzs7QVloakVBO0VBQTBDO0Fab2pFMUM7O0FZbmpFQTtFQUEwQztBWnVqRTFDOztBWXRqRUE7RUFBdUM7QVowakV2Qzs7QVl6akVBO0VBQWtDO0FaNmpFbEM7O0FZNWpFQTtFQUEwQztBWmdrRTFDOztBWS9qRUE7RUFBdUM7QVpta0V2Qzs7QVlsa0VBO0VBQXNDO0Fac2tFdEM7O0FZcmtFQTtFQUFnRDtBWnlrRWhEOztBWXhrRUE7RUFBNEM7QVo0a0U1Qzs7QVkza0VBO0VBQXFDO0FaK2tFckM7O0FZOWtFQTtFQUFxQztBWmtsRXJDOztBWWpsRUE7RUFBb0M7QVpxbEVwQzs7QVlwbEVBO0VBQXVDO0Fad2xFdkM7O0FZdmxFQTtFQUE0QztBWjJsRTVDOztBWTFsRUE7RUFBdUM7QVo4bEV2Qzs7QVk3bEVBO0VBQWdDO0FaaW1FaEM7O0FZaG1FQTtFQUE0QztBWm9tRTVDOztBWW5tRUE7RUFBa0Q7QVp1bUVsRDs7QVl0bUVBO0VBQTJDO0FaMG1FM0M7O0FZem1FQTtFQUE0QztBWjZtRTVDOztBWTVtRUE7RUFBb0M7QVpnbkVwQzs7QVkvbUVBO0VBQXVDO0FabW5FdkM7O0FZbG5FQTtFQUEyQztBWnNuRTNDOztBWXJuRUE7RUFBb0M7QVp5bkVwQzs7QVl4bkVBO0VBQWtDO0FaNG5FbEM7O0FZM25FQTtFQUF5QztBWituRXpDOztBWTluRUE7RUFBc0M7QVprb0V0Qzs7QVlqb0VBO0VBQXVDO0FacW9FdkM7O0FZcG9FQTtFQUF3QztBWndvRXhDOztBWXZvRUE7RUFBbUM7QVoyb0VuQzs7QVkxb0VBO0VBQWtDO0FaOG9FbEM7O0FZN29FQTtFQUFpQztBWmlwRWpDOztBWWhwRUE7RUFBMEM7QVpvcEUxQzs7QVlucEVBO0VBQW9DO0FadXBFcEM7O0FZdHBFQTtFQUFpQztBWjBwRWpDOztBWXpwRUE7RUFBd0M7QVo2cEV4Qzs7QVk1cEVBO0VBQXdDO0FaZ3FFeEM7O0FZL3BFQTtFQUFpQztBWm1xRWpDOztBWWxxRUE7RUFBa0M7QVpzcUVsQzs7QVlycUVBO0VBQXFDO0FaeXFFckM7O0FZeHFFQTtFQUFrQztBWjRxRWxDOztBWTNxRUE7RUFBdUM7QVorcUV2Qzs7QVk5cUVBO0VBQXFDO0Faa3JFckM7O0FZanJFQTtFQUF5QztBWnFyRXpDOztBWXByRUE7RUFBNEM7QVp3ckU1Qzs7QVl2ckVBO0VBQTBDO0FaMnJFMUM7O0FZMXJFQTtFQUFvQztBWjhyRXBDOztBWTdyRUE7RUFBbUM7QVppc0VuQzs7QVloc0VBO0VBQWtDO0Fab3NFbEM7O0FZbnNFQTtFQUFtQztBWnVzRW5DOztBWXRzRUE7RUFBc0M7QVowc0V0Qzs7QVl6c0VBO0VBQTBDO0FaNnNFMUM7O0FZNXNFQTtFQUEyQztBWmd0RTNDOztBWS9zRUE7RUFBNEM7QVptdEU1Qzs7QVlsdEVBO0VBQXlDO0Fac3RFekM7O0FZcnRFQTtFQUF1QztBWnl0RXZDOztBWXh0RUE7RUFBa0M7QVo0dEVsQzs7QVkzdEVBO0VBQW9DO0FaK3RFcEM7O0FZOXRFQTtFQUFrQztBWmt1RWxDOztBWWp1RUE7RUFBb0M7QVpxdUVwQzs7QVlwdUVBO0VBQXFDO0Fad3VFckM7O0FZdnVFQTtFQUFzQztBWjJ1RXRDOztBWTF1RUE7RUFBb0M7QVo4dUVwQzs7QVk3dUVBO0VBQWtDO0FaaXZFbEM7O0FZaHZFQTtFQUFxQztBWm92RXJDOztBWW52RUE7RUFBb0M7QVp1dkVwQzs7QVl0dkVBO0VBQXdDO0FaMHZFeEM7O0FZenZFQTtFQUFrQztBWjZ2RWxDOztBWTV2RUE7RUFBa0M7QVpnd0VsQzs7QVkvdkVBO0VBQWtDO0FabXdFbEM7O0FZbHdFQTtFQUFtQztBWnN3RW5DOztBWXJ3RUE7RUFBaUM7QVp5d0VqQzs7QVl4d0VBO0VBQWtDO0FaNHdFbEM7O0FZM3dFQTtFQUFtQztBWit3RW5DOztBWTl3RUE7RUFBcUM7QVpreEVyQzs7QVlqeEVBO0VBQXFDO0FacXhFckM7O0FZcHhFQTtFQUFpQztBWnd4RWpDOztBWXZ4RUE7RUFBd0M7QVoyeEV4Qzs7QVkxeEVBO0VBQXFDO0FaOHhFckM7O0FZN3hFQTtFQUFzQztBWml5RXRDOztBWWh5RUE7RUFBNkM7QVpveUU3Qzs7QVlueUVBO0VBQXFDO0FadXlFckM7O0FZdHlFQTtFQUFxQztBWjB5RXJDOztBWXp5RUE7RUFBOEM7QVo2eUU5Qzs7QVk1eUVBO0VBQXFDO0FaZ3pFckM7O0FZL3lFQTtFQUFvQztBWm16RXBDOztBWWx6RUE7RUFBbUM7QVpzekVuQzs7QVlyekVBO0VBQW9DO0FaeXpFcEM7O0FZeHpFQTtFQUFtQztBWjR6RW5DOztBWTN6RUE7RUFBd0M7QVorekV4Qzs7QVk5ekVBO0VBQWlDO0FaazBFakM7O0FZajBFQTtFQUFpQztBWnEwRWpDOztBWXAwRUE7RUFBdUM7QVp3MEV2Qzs7QVl2MEVBO0VBQW9DO0FaMjBFcEM7O0FZMTBFQTtFQUFpQztBWjgwRWpDOztBWTcwRUE7RUFBa0M7QVppMUVsQzs7QVloMUVBO0VBQWtDO0FabzFFbEM7O0FZbjFFQTtFQUFtQztBWnUxRW5DOztBWXQxRUE7RUFBMkM7QVowMUUzQzs7QVl6MUVBO0VBQStCO0FaNjFFL0I7O0FZNTFFQTtFQUFzQztBWmcyRXRDOztBWS8xRUE7RUFBcUM7QVptMkVyQzs7QVlsMkVBO0VBQWtDO0FaczJFbEM7O0FZcjJFQTtFQUFtQztBWnkyRW5DOztBWXgyRUE7RUFBZ0M7QVo0MkVoQzs7QVkzMkVBO0VBQW9DO0FaKzJFcEM7O0FZOTJFQTtFQUFxQztBWmszRXJDOztBWWozRUE7RUFBbUM7QVpxM0VuQzs7QVlwM0VBO0VBQW1DO0FadzNFbkM7O0FZdjNFQTtFQUF3QztBWjIzRXhDOztBWTEzRUE7RUFBMEM7QVo4M0UxQzs7QVk3M0VBO0VBQWlDO0FaaTRFakM7O0FZaDRFQTtFQUFzQztBWm80RXRDOztBWW40RUE7RUFBNEM7QVp1NEU1Qzs7QVl0NEVBO0VBQXNDO0FaMDRFdEM7O0FZejRFQTtFQUFtQztBWjY0RW5DOztBWTU0RUE7RUFBcUM7QVpnNUVyQzs7QVkvNEVBO0VBQXFDO0FabTVFckM7O0FZbDVFQTtFQUFtQztBWnM1RW5DOztBWXI1RUE7RUFBd0M7QVp5NUV4Qzs7QVl4NUVBO0VBQXlDO0FaNDVFekM7O0FZMzVFQTtFQUEyQztBWis1RTNDOztBWTk1RUE7RUFBb0M7QVprNkVwQzs7QVlqNkVBO0VBQW1DO0FacTZFbkM7O0FZcDZFQTtFQUEwQztBWnc2RTFDOztBWXY2RUE7RUFBa0M7QVoyNkVsQzs7QVkxNkVBO0VBQXVDO0FaODZFdkM7O0FZNzZFQTtFQUF5QztBWmk3RXpDOztBWWg3RUE7RUFBdUM7QVpvN0V2Qzs7QVluN0VBO0VBQXdDO0FadTdFeEM7O0FZdDdFQTtFQUFpQztBWjA3RWpDOztBWXo3RUE7RUFBb0M7QVo2N0VwQzs7QVk1N0VBO0VBQWtDO0FaZzhFbEM7O0FZLzdFQTtFQUFpQztBWm04RWpDOztBWWw4RUE7RUFBc0M7QVpzOEV0Qzs7QVlyOEVBO0VBQTRDO0FaeThFNUM7O0FZeDhFQTtFQUEyQztBWjQ4RTNDOztBWTM4RUE7RUFBeUM7QVorOEV6Qzs7QVk5OEVBO0VBQXNDO0FaazlFdEM7O0FZajlFQTtFQUFzQztBWnE5RXRDOztBWXA5RUE7RUFBaUM7QVp3OUVqQzs7QVl2OUVBO0VBQWlDO0FaMjlFakM7O0FZMTlFQTtFQUFxQztBWjg5RXJDOztBWTc5RUE7RUFBd0M7QVppK0V4Qzs7QVloK0VBO0VBQW1DO0FabytFbkM7O0FZbitFQTtFQUFrQztBWnUrRWxDOztBWXQrRUE7RUFBc0M7QVowK0V0Qzs7QVl6K0VBO0VBQWlDO0FaNitFakM7O0FZNStFQTtFQUFxQztBWmcvRXJDOztBWS8rRUE7RUFBb0M7QVptL0VwQzs7QVlsL0VBO0VBQW9DO0Facy9FcEM7O0FZci9FQTtFQUEyQztBWnkvRTNDOztBWXgvRUE7RUFBaUM7QVo0L0VqQzs7QVkzL0VBO0VBQXNDO0FaKy9FdEM7O0FZOS9FQTtFQUFnRDtBWmtnRmhEOztBWWpnRkE7RUFBZ0Q7QVpxZ0ZoRDs7QVlwZ0ZBO0VBQWlEO0Fad2dGakQ7O0FZdmdGQTtFQUE4QztBWjJnRjlDOztBWTFnRkE7RUFBdUM7QVo4Z0Z2Qzs7QVk3Z0ZBO0VBQXlDO0FaaWhGekM7O0FZaGhGQTtFQUFrQztBWm9oRmxDOztBWW5oRkE7RUFBd0M7QVp1aEZ4Qzs7QVl0aEZBO0VBQWlDO0FaMGhGakM7O0FZemhGQTtFQUFvQztBWjZoRnBDOztBWTVoRkE7RUFBa0M7QVpnaUZsQzs7QVkvaEZBO0VBQW1DO0FabWlGbkM7O0FZbGlGQTtFQUFzQztBWnNpRnRDOztBWXJpRkE7RUFBc0M7QVp5aUZ0Qzs7QVl4aUZBO0VBQWlDO0FaNGlGakM7O0FZM2lGQTtFQUF3QztBWitpRnhDOztBWTlpRkE7RUFBZ0M7QVprakZoQzs7QVlqakZBO0VBQXVDO0FacWpGdkM7O0FZcGpGQTtFQUEyQztBWndqRjNDOztBWXZqRkE7RUFBdUM7QVoyakZ2Qzs7QVkxakZBO0VBQTJDO0FaOGpGM0M7O0FZN2pGQTtFQUFvQztBWmlrRnBDOztBWWhrRkE7RUFBc0M7QVpva0Z0Qzs7QVlua0ZBO0VBQXFDO0FadWtGckM7O0FZdGtGQTtFQUFtQztBWjBrRm5DOztBWXprRkE7RUFBaUM7QVo2a0ZqQzs7QVk1a0ZBO0VBQXdDO0FaZ2xGeEM7O0FZL2tGQTtFQUF3QztBWm1sRnhDOztBWWxsRkE7RUFBMEM7QVpzbEYxQzs7QVlybEZBO0VBQTBDO0FaeWxGMUM7O0FZeGxGQTtFQUFpQztBWjRsRmpDOztBWTNsRkE7RUFBcUM7QVorbEZyQzs7QVk5bEZBO0VBQW1DO0Faa21GbkM7O0FZam1GQTtFQUFnQztBWnFtRmhDOztBWXBtRkE7RUFBa0M7QVp3bUZsQzs7QVl2bUZBO0VBQW9DO0FaMm1GcEM7O0FZMW1GQTtFQUFtQztBWjhtRm5DOztBWTdtRkE7RUFBcUM7QVppbkZyQzs7QVlobkZBO0VBQW1DO0Fab25GbkM7O0FZbm5GQTtFQUFrQztBWnVuRmxDOztBWXRuRkE7RUFBbUM7QVowbkZuQzs7QVl6bkZBO0VBQXFDO0FaNm5GckM7O0FZNW5GQTtFQUFnQztBWmdvRmhDOztBWS9uRkE7RUFBc0M7QVptb0Z0Qzs7QVlsb0ZBO0VBQTZDO0Fac29GN0M7O0FZcm9GQTtFQUFtQztBWnlvRm5DOztBWXhvRkE7RUFBcUM7QVo0b0ZyQzs7QVkzb0ZBO0VBQW9DO0FaK29GcEM7O0FZOW9GQTtFQUFvQztBWmtwRnBDOztBWWpwRkE7RUFBbUM7QVpxcEZuQzs7QVlwcEZBO0VBQXNDO0Fad3BGdEM7O0FZdnBGQTtFQUFzQztBWjJwRnRDOztBWTFwRkE7RUFBdUM7QVo4cEZ2Qzs7QVk3cEZBO0VBQTJDO0FaaXFGM0M7O0FZaHFGQTtFQUFpRDtBWm9xRmpEOztBWW5xRkE7RUFBNkM7QVp1cUY3Qzs7QVl0cUZBO0VBQXVDO0FaMHFGdkM7O0FZenFGQTtFQUFzQztBWjZxRnRDOztBWTVxRkE7RUFBa0M7QVpnckZsQzs7QVkvcUZBO0VBQXlDO0FabXJGekM7O0FZbHJGQTtFQUF5QztBWnNyRnpDOztBWXJyRkE7RUFBbUM7QVp5ckZuQzs7QVl4ckZBO0VBQWdDO0FaNHJGaEM7O0FZM3JGQTtFQUFxQztBWityRnJDOztBWTlyRkE7RUFBa0M7QVprc0ZsQzs7QVlqc0ZBO0VBQW1DO0FacXNGbkM7O0FZcHNGQTtFQUFtQztBWndzRm5DOztBWXZzRkE7RUFBdUM7QVoyc0Z2Qzs7QVkxc0ZBO0VBQWlDO0FaOHNGakM7O0FZN3NGQTtFQUFtQztBWml0Rm5DOztBWWh0RkE7RUFBdUM7QVpvdEZ2Qzs7QVludEZBO0VBQTJDO0FadXRGM0M7O0FZdHRGQTtFQUE0QztBWjB0RjVDOztBWXp0RkE7RUFBZ0Q7QVo2dEZoRDs7QVk1dEZBO0VBQXdDO0FaZ3VGeEM7O0FZL3RGQTtFQUE0QztBWm11RjVDOztBWWx1RkE7RUFBcUM7QVpzdUZyQzs7QVlydUZBO0VBQWlDO0FaeXVGakM7O0FZeHVGQTtFQUEwQztBWjR1RjFDOztBWTN1RkE7RUFBbUM7QVordUZuQzs7QVk5dUZBO0VBQXVDO0Faa3ZGdkM7O0FZanZGQTtFQUFxQztBWnF2RnJDOztBWXB2RkE7RUFBa0M7QVp3dkZsQzs7QVl2dkZBO0VBQTBDO0FaMnZGMUM7O0FZMXZGQTtFQUFvQztBWjh2RnBDOztBWTd2RkE7RUFBa0M7QVppd0ZsQzs7QVlod0ZBO0VBQW9DO0Fab3dGcEM7O0FZbndGQTtFQUFpQztBWnV3RmpDOztBWXR3RkE7RUFBMEM7QVowd0YxQzs7QVl6d0ZBO0VBQW1DO0FaNndGbkM7O0FZNXdGQTtFQUFzQztBWmd4RnRDOztBWS93RkE7RUFBbUM7QVpteEZuQzs7QVlseEZBO0VBQWlDO0Fac3hGakM7O0FZcnhGQTtFQUFvQztBWnl4RnBDOztBWXh4RkE7RUFBc0M7QVo0eEZ0Qzs7QVkzeEZBO0VBQTBDO0FaK3hGMUM7O0FZOXhGQTtFQUFnQztBWmt5RmhDOztBWWp5RkE7RUFBZ0M7QVpxeUZoQzs7QVlweUZBO0VBQXdDO0Fad3lGeEM7O0FZdnlGQTtFQUF5QztBWjJ5RnpDOztBWTF5RkE7RUFBMkM7QVo4eUYzQzs7QVk3eUZBO0VBQTJDO0FaaXpGM0M7O0FZaHpGQTtFQUEwQztBWm96RjFDOztBWW56RkE7RUFBaUQ7QVp1ekZqRDs7QVl0ekZBO0VBQW9DO0FaMHpGcEM7O0FZenpGQTtFQUF5QztBWjZ6RnpDOztBWTV6RkE7RUFBK0I7QVpnMEYvQjs7QVkvekZBO0VBQXFDO0FabTBGckM7O0FZbDBGQTtFQUFtQztBWnMwRm5DOztBWXIwRkE7RUFBa0M7QVp5MEZsQzs7QVl4MEZBO0VBQTBDO0FaNDBGMUM7O0FZMzBGQTtFQUFrQztBWiswRmxDOztBWTkwRkE7RUFBZ0M7QVprMUZoQzs7QVlqMUZBO0VBQWtDO0FacTFGbEM7O0FZcDFGQTtFQUFvQztBWncxRnBDOztBWXYxRkE7RUFBa0M7QVoyMUZsQzs7QVkxMUZBO0VBQXNDO0FaODFGdEM7O0FZNzFGQTtFQUFrQztBWmkyRmxDOztBWWgyRkE7RUFBd0M7QVpvMkZ4Qzs7QVluMkZBO0VBQXlDO0FadTJGekM7O0FZdDJGQTtFQUFvQztBWjAyRnBDOztBWXoyRkE7RUFBbUM7QVo2MkZuQzs7QVk1MkZBO0VBQW1DO0FaZzNGbkM7O0FZLzJGQTtFQUF3QztBWm0zRnhDOztBWWwzRkE7RUFBc0M7QVpzM0Z0Qzs7QVlyM0ZBO0VBQTBDO0FaeTNGMUM7O0FZeDNGQTtFQUFzQztBWjQzRnRDOztBWTMzRkE7RUFBb0M7QVorM0ZwQzs7QVk5M0ZBO0VBQXFDO0FaazRGckM7O0FZajRGQTtFQUEyQztBWnE0RjNDOztBWXA0RkE7RUFBa0M7QVp3NEZsQzs7QVl2NEZBO0VBQW9DO0FaMjRGcEM7O0FZMTRGQTtFQUFrQztBWjg0RmxDOztBWTc0RkE7RUFBeUM7QVppNUZ6Qzs7QVloNUZBO0VBQWdDO0FabzVGaEM7O0FZbjVGQTtFQUFtQztBWnU1Rm5DOztBWXQ1RkE7RUFBa0M7QVowNUZsQzs7QVl6NUZBO0VBQWdDO0FaNjVGaEM7O0FZNTVGQTtFQUFvQztBWmc2RnBDOztBWS81RkE7RUFBc0M7QVptNkZ0Qzs7QVlsNkZBO0VBQW9DO0FaczZGcEM7O0FZcjZGQTtFQUF1QztBWnk2RnZDOztBWXg2RkE7RUFBdUM7QVo0NkZ2Qzs7QVkzNkZBO0VBQXlDO0FaKzZGekM7O0FZOTZGQTtFQUF5QztBWms3RnpDOztBWWo3RkE7RUFBMEM7QVpxN0YxQzs7QVlwN0ZBO0VBQXlDO0FadzdGekM7O0FZdjdGQTtFQUF1QztBWjI3RnZDOztBWTE3RkE7RUFBb0M7QVo4N0ZwQzs7QVk3N0ZBO0VBQW9DO0FaaThGcEM7O0FZaDhGQTtFQUF1QztBWm84RnZDOztBWW44RkE7RUFBc0M7QVp1OEZ0Qzs7QVl0OEZBO0VBQXlDO0FaMDhGekM7O0FZejhGQTtFQUF3QztBWjY4RnhDOztBWTU4RkE7RUFBOEM7QVpnOUY5Qzs7QVkvOEZBO0VBQTZDO0FabTlGN0M7O0FZbDlGQTtFQUFrQztBWnM5RmxDOztBWXI5RkE7RUFBc0M7QVp5OUZ0Qzs7QVl4OUZBO0VBQXdDO0FaNDlGeEM7O0FZMzlGQTtFQUF5QztBWis5RnpDOztBWTk5RkE7RUFBNkM7QVprK0Y3Qzs7QVlqK0ZBO0VBQXlDO0FacStGekM7O0FZcCtGQTtFQUF3QztBWncrRnhDOztBWXYrRkE7RUFBZ0M7QVoyK0ZoQzs7QVkxK0ZBO0VBQXVDO0FaOCtGdkM7O0FZNytGQTtFQUEyQztBWmkvRjNDOztBWWgvRkE7RUFBMkM7QVpvL0YzQzs7QVluL0ZBO0VBQTBDO0FadS9GMUM7O0FZdC9GQTtFQUE4QztBWjAvRjlDOztBWXovRkE7RUFBdUM7QVo2L0Z2Qzs7QVk1L0ZBO0VBQWtDO0FaZ2dHbEM7O0FZLy9GQTtFQUFzQztBWm1nR3RDOztBWWxnR0E7RUFBd0M7QVpzZ0d4Qzs7QVlyZ0dBO0VBQTZDO0FaeWdHN0M7O0FZeGdHQTtFQUF3QztBWjRnR3hDOztBWTNnR0E7RUFBNkM7QVorZ0c3Qzs7QVk5Z0dBO0VBQWtDO0Faa2hHbEM7O0FZamhHQTtFQUEwQztBWnFoRzFDOztBWXBoR0E7RUFBNEM7QVp3aEc1Qzs7QVl2aEdBO0VBQXdDO0FaMmhHeEM7O0FZMWhHQTtFQUFpQztBWjhoR2pDOztBWTdoR0E7RUFBd0M7QVppaUd4Qzs7QVloaUdBO0VBQXdDO0Fab2lHeEM7O0FZbmlHQTtFQUFpQztBWnVpR2pDOztBWXRpR0E7RUFBaUM7QVowaUdqQzs7QVl6aUdBO0VBQXdDO0FaNmlHeEM7O0FZNWlHQTtFQUF3QztBWmdqR3hDOztBWS9pR0E7RUFBb0M7QVptakdwQzs7QVlsakdBO0VBQWlDO0Fac2pHakM7O0FZcmpHQTtFQUFtQztBWnlqR25DOztBWXhqR0E7RUFBZ0M7QVo0akdoQzs7QVkzakdBO0VBQXNDO0FaK2pHdEM7O0FZOWpHQTtFQUFpQztBWmtrR2pDOztBWWprR0E7RUFBcUM7QVpxa0dyQzs7QVlwa0dBO0VBQXVDO0Fad2tHdkM7O0FZdmtHQTtFQUFzQztBWjJrR3RDOztBWTFrR0E7RUFBaUM7QVo4a0dqQzs7QVk3a0dBO0VBQTBDO0FaaWxHMUM7O0FZaGxHQTtFQUF5QztBWm9sR3pDOztBWW5sR0E7RUFBZ0Q7QVp1bEdoRDs7QVl0bEdBO0VBQW9EO0FaMGxHcEQ7O0FZemxHQTtFQUFrQztBWjZsR2xDOztBWTVsR0E7RUFBdUM7QVpnbUd2Qzs7QVkvbEdBO0VBQXlDO0FabW1HekM7O0FZbG1HQTtFQUE0QztBWnNtRzVDOztBWXJtR0E7RUFBeUM7QVp5bUd6Qzs7QVl4bUdBO0VBQXNDO0FaNG1HdEM7O0FZM21HQTtFQUFtQztBWittR25DOztBWTltR0E7RUFBeUM7QVprbkd6Qzs7QVlqbkdBO0VBQW1DO0FacW5HbkM7O0FZcG5HQTtFQUErQjtBWnduRy9COztBWXZuR0E7RUFBbUM7QVoybkduQzs7QVkxbkdBO0VBQXFDO0FaOG5HckM7O0FZN25HQTtFQUE0QztBWmlvRzVDOztBWWhvR0E7RUFBc0M7QVpvb0d0Qzs7QVlub0dBO0VBQXNDO0FadW9HdEM7O0FZdG9HQTtFQUFrQztBWjBvR2xDOztBWXpvR0E7RUFBdUM7QVo2b0d2Qzs7QVk1b0dBO0VBQXdDO0FaZ3BHeEM7O0FZL29HQTtFQUFrQztBWm1wR2xDOztBWWxwR0E7RUFBc0M7QVpzcEd0Qzs7QVlycEdBO0VBQXNDO0FaeXBHdEM7O0FZeHBHQTtFQUEwQztBWjRwRzFDOztBWTNwR0E7RUFBb0M7QVorcEdwQzs7QVk5cEdBO0VBQW1DO0Faa3FHbkM7O0FZanFHQTtFQUF5QztBWnFxR3pDOztBWXBxR0E7RUFBb0M7QVp3cUdwQzs7QVl2cUdBO0VBQWtDO0FaMnFHbEM7O0FZMXFHQTtFQUF3QztBWjhxR3hDOztBWTdxR0E7RUFBbUM7QVppckduQzs7QVlockdBO0VBQWtDO0Fab3JHbEM7O0FZbnJHQTtFQUFvQztBWnVyR3BDOztBWXRyR0E7RUFBeUM7QVowckd6Qzs7QVl6ckdBO0VBQW9DO0FaNnJHcEM7O0FZNXJHQTtFQUFzQztBWmdzR3RDOztBWS9yR0E7RUFBbUM7QVptc0duQzs7QVlsc0dBO0VBQXlDO0Fac3NHekM7O0FZcnNHQTtFQUEwQztBWnlzRzFDOztBWXhzR0E7RUFBbUM7QVo0c0duQzs7QVkzc0dBO0VBQWlDO0FaK3NHakM7O0FZOXNHQTtFQUFxQztBWmt0R3JDOztBWWp0R0E7RUFBdUM7QVpxdEd2Qzs7QVlwdEdBO0VBQTBDO0Fad3RHMUM7O0FZdnRHQTtFQUFtQztBWjJ0R25DOztBWTF0R0E7RUFBa0M7QVo4dEdsQzs7QVk3dEdBO0VBQXNDO0FaaXVHdEM7O0FZaHVHQTtFQUFtQztBWm91R25DOztBWW51R0E7RUFBdUM7QVp1dUd2Qzs7QVl0dUdBO0VBQXlDO0FaMHVHekM7O0FZenVHQTtFQUFzQztBWjZ1R3RDOztBWTV1R0E7RUFBcUM7QVpndkdyQzs7QVkvdUdBO0VBQW9DO0FabXZHcEM7O0FZbHZHQTtFQUFnQztBWnN2R2hDOztBWXJ2R0E7RUFBbUM7QVp5dkduQzs7QVl4dkdBO0VBQWlDO0FaNHZHakM7O0FZM3ZHQTtFQUFpQztBWit2R2pDOztBWTl2R0E7RUFBa0M7QVprd0dsQzs7QVlqd0dBO0VBQW1DO0FacXdHbkM7O0FZcHdHQTtFQUF1QztBWnd3R3ZDOztBWXZ3R0E7RUFBb0M7QVoyd0dwQzs7QVkxd0dBO0VBQWtDO0FaOHdHbEM7O0FZN3dHQTtFQUFnQztBWml4R2hDOztBWWh4R0E7RUFBdUM7QVpveEd2Qzs7QVlueEdBO0VBQXVDO0FadXhHdkM7O0FZdHhHQTtFQUFrQztBWjB4R2xDOztBWXp4R0E7RUFBMkM7QVo2eEczQzs7QVk1eEdBO0VBQTZDO0FaZ3lHN0M7O0FZL3hHQTtFQUEyQztBWm15RzNDOztBWWx5R0E7RUFBb0M7QVpzeUdwQzs7QVlyeUdBO0VBQXVDO0FaeXlHdkM7O0FZeHlHQTtFQUFpQztBWjR5R2pDOztBWTN5R0E7RUFBb0M7QVoreUdwQzs7QVk5eUdBO0VBQXFDO0Faa3pHckM7O0FZanpHQTtFQUFtQztBWnF6R25DOztBWXB6R0E7RUFBdUM7QVp3ekd2Qzs7QVl2ekdBO0VBQWlDO0FaMnpHakM7O0FZMXpHQTtFQUFzQztBWjh6R3RDOztBWTd6R0E7RUFBMkM7QVppMEczQzs7QVloMEdBO0VBQWlDO0FabzBHakM7O0FZbjBHQTtFQUFtQztBWnUwR25DOztBWXQwR0E7RUFBbUM7QVowMEduQzs7QVl6MEdBO0VBQXdDO0FaNjBHeEM7O0FZNTBHQTtFQUFtQztBWmcxR25DOztBWS8wR0E7RUFBbUM7QVptMUduQzs7QVlsMUdBO0VBQW9DO0FaczFHcEM7O0FZcjFHQTtFQUFtQztBWnkxR25DOztBWXgxR0E7RUFBMEM7QVo0MUcxQzs7QVkzMUdBO0VBQTRDO0FaKzFHNUM7O0FZOTFHQTtFQUF5QztBWmsyR3pDOztBWWoyR0E7RUFBd0M7QVpxMkd4Qzs7QVlwMkdBO0VBQXdDO0FadzJHeEM7O0FZdjJHQTtFQUFxQztBWjIyR3JDOztBWTEyR0E7RUFBcUM7QVo4MkdyQzs7QVk3MkdBO0VBQW1DO0FaaTNHbkM7O0FZaDNHQTtFQUFtQztBWm8zR25DOztBWW4zR0E7RUFBeUM7QVp1M0d6Qzs7QVl0M0dBO0VBQW1DO0FaMDNHbkM7O0FZejNHQTtFQUFrQztBWjYzR2xDOztBWTUzR0E7RUFBc0M7QVpnNEd0Qzs7QVkvM0dBO0VBQTZDO0FabTRHN0M7O0FZbDRHQTtFQUF5QztBWnM0R3pDOztBWXI0R0E7RUFBd0M7QVp5NEd4Qzs7QVl4NEdBO0VBQXVDO0FaNDRHdkM7O0FZMzRHQTtFQUF5QztBWis0R3pDOztBWTk0R0E7RUFBaUM7QVprNUdqQzs7QVlqNUdBO0VBQTBDO0FacTVHMUM7O0FZcDVHQTtFQUF5QztBWnc1R3pDOztBWXY1R0E7RUFBd0M7QVoyNUd4Qzs7QVkxNUdBO0VBQW9DO0FaODVHcEM7O0FZNzVHQTtFQUF5QztBWmk2R3pDOztBWWg2R0E7RUFBNEM7QVpvNkc1Qzs7QVluNkdBO0VBQTBDO0FadTZHMUM7O0FZdDZHQTtFQUFxQztBWjA2R3JDOztBWXo2R0E7RUFBbUM7QVo2NkduQzs7QVk1NkdBO0VBQXdDO0FaZzdHeEM7O0FZLzZHQTtFQUFpQztBWm03R2pDOztBWWw3R0E7RUFBd0M7QVpzN0d4Qzs7QVlyN0dBO0VBQTBDO0FaeTdHMUM7O0FZeDdHQTtFQUF5QztBWjQ3R3pDOztBWTM3R0E7RUFBbUM7QVorN0duQzs7QVk5N0dBO0VBQXNDO0FaazhHdEM7O0FZajhHQTtFQUFxQztBWnE4R3JDOztBWXA4R0E7RUFBd0M7QVp3OEd4Qzs7QVl2OEdBO0VBQWlDO0FaMjhHakM7O0FZMThHQTtFQUFvQztBWjg4R3BDOztBWTc4R0E7RUFBb0M7QVppOUdwQzs7QVloOUdBO0VBQWlDO0FabzlHakM7O0FZbjlHQTtFQUFvQztBWnU5R3BDOztBWXQ5R0E7RUFBbUM7QVowOUduQzs7QVl6OUdBO0VBQW1DO0FaNjlHbkM7O0FZNTlHQTtFQUEwQztBWmcrRzFDOztBWS85R0E7RUFBa0M7QVptK0dsQzs7QVlsK0dBO0VBQTZDO0FacytHN0M7O0FZcitHQTtFQUFxQztBWnkrR3JDOztBWXgrR0E7RUFBa0M7QVo0K0dsQzs7QVkzK0dBO0VBQWtDO0FaKytHbEM7O0FZOStHQTtFQUF1QztBWmsvR3ZDOztBWWovR0E7RUFBa0M7QVpxL0dsQzs7QVlwL0dBO0VBQW1DO0Fady9HbkM7O0FZdi9HQTtFQUFzQztBWjIvR3RDOztBWTEvR0E7RUFBdUM7QVo4L0d2Qzs7QVk3L0dBO0VBQWtDO0FaaWdIbEM7O0FZaGdIQTtFQUF1QztBWm9nSHZDOztBWW5nSEE7RUFBdUM7QVp1Z0h2Qzs7QVl0Z0hBO0VBQWlDO0FaMGdIakM7O0FZemdIQTtFQUFvQztBWjZnSHBDOztBWTVnSEE7RUFBd0M7QVpnaEh4Qzs7QVkvZ0hBO0VBQWdDO0FabWhIaEM7O0FZbGhIQTtFQUFxQztBWnNoSHJDOztBWXJoSEE7RUFBMkM7QVp5aEgzQzs7QVl4aEhBO0VBQTRDO0FaNGhINUM7O0FZM2hIQTtFQUF5QztBWitoSHpDOztBWTloSEE7RUFBc0M7QVpraUh0Qzs7QVlqaUhBO0VBQW9DO0FacWlIcEM7O0FZcGlIQTtFQUFxQztBWndpSHJDOztBWXZpSEE7RUFBaUM7QVoyaUhqQzs7QVkxaUhBO0VBQWtDO0FaOGlIbEM7O0FZN2lIQTtFQUF3QztBWmlqSHhDOztBWWhqSEE7RUFBaUM7QVpvakhqQzs7QVluakhBO0VBQTRDO0FadWpINUM7O0FZdGpIQTtFQUFnRDtBWjBqSGhEOztBWXpqSEE7RUFBMEM7QVo2akgxQzs7QVk1akhBO0VBQThDO0FaZ2tIOUM7O0FZL2pIQTtFQUE2QztBWm1rSDdDOztBWWxrSEE7RUFBaUQ7QVpza0hqRDs7QVlya0hBO0VBQTJDO0FaeWtIM0M7O0FZeGtIQTtFQUErQztBWjRrSC9DOztBWTNrSEE7RUFBc0M7QVora0h0Qzs7QVk5a0hBO0VBQThDO0Faa2xIOUM7O0FZamxIQTtFQUFrRDtBWnFsSGxEOztBWXBsSEE7RUFBNEM7QVp3bEg1Qzs7QVl2bEhBO0VBQWdEO0FaMmxIaEQ7O0FZMWxIQTtFQUFvQztBWjhsSHBDOztBWTdsSEE7RUFBdUM7QVppbUh2Qzs7QVlobUhBO0VBQXVDO0Fab21IdkM7O0FZbm1IQTtFQUFnQztBWnVtSGhDOztBWXRtSEE7RUFBMEM7QVowbUgxQzs7QVl6bUhBO0VBQW9DO0FaNm1IcEM7O0FZNW1IQTtFQUF5QztBWmduSHpDOztBWS9tSEE7RUFBd0M7QVptbkh4Qzs7QVlsbkhBO0VBQW1DO0Fac25IbkM7O0FZcm5IQTtFQUFvQztBWnluSHBDOztBWXhuSEE7RUFBb0M7QVo0bkhwQzs7QVkzbkhBO0VBQW9DO0FaK25IcEM7O0FZOW5IQTtFQUFzQztBWmtvSHRDOztBWWpvSEE7RUFBbUM7QVpxb0huQzs7QVlwb0hBO0VBQXdDO0Fad29IeEM7O0FZdm9IQTtFQUE0QztBWjJvSDVDOztBWTFvSEE7RUFBd0M7QVo4b0h4Qzs7QVk3b0hBO0VBQTJDO0FaaXBIM0M7O0FZaHBIQTtFQUEyQztBWm9wSDNDOztBWW5wSEE7RUFBc0M7QVp1cEh0Qzs7QVl0cEhBO0VBQWtDO0FaMHBIbEM7O0FZenBIQTtFQUFpQztBWjZwSGpDOztBWTVwSEE7RUFBOEM7QVpncUg5Qzs7QVkvcEhBO0VBQXNDO0FabXFIdEM7O0FZbHFIQTtFQUEwQztBWnNxSDFDOztBWXJxSEE7RUFBMEM7QVp5cUgxQzs7QVl4cUhBO0VBQXlDO0FaNHFIekM7O0FZM3FIQTtFQUF1QztBWitxSHZDOztBWTlxSEE7RUFBa0M7QVprckhsQzs7QVlqckhBO0VBQXlDO0FacXJIekM7O0FZcHJIQTtFQUF5QztBWndySHpDOztBWXZySEE7RUFBMEM7QVoyckgxQzs7QVkxckhBO0VBQXlDO0FaOHJIekM7O0FZN3JIQTtFQUF3QztBWmlzSHhDOztBWWhzSEE7RUFBeUM7QVpvc0h6Qzs7QVluc0hBO0VBQXdDO0FadXNIeEM7O0FZdHNIQTtFQUFpQztBWjBzSGpDOztBWXpzSEE7RUFBd0M7QVo2c0h4Qzs7QVk1c0hBO0VBQXNDO0FaZ3RIdEM7O0FZL3NIQTtFQUF5QztBWm10SHpDOztBWWx0SEE7RUFBa0M7QVpzdEhsQzs7QVlydEhBO0VBQXNDO0FaeXRIdEM7O0FZeHRIQTtFQUE0QztBWjR0SDVDOztBWTN0SEE7RUFBd0M7QVordEh4Qzs7QVk5dEhBO0VBQW1DO0Faa3VIbkM7O0FZanVIQTtFQUFtQztBWnF1SG5DOztBWXB1SEE7RUFBd0M7QVp3dUh4Qzs7QVl2dUhBO0VBQTBDO0FaMnVIMUM7O0FZMXVIQTtFQUFtQztBWjh1SG5DOztBWTd1SEE7RUFBcUM7QVppdkhyQzs7QVlodkhBO0VBQXdDO0Fab3ZIeEM7O0FZbnZIQTtFQUF5QztBWnV2SHpDOztBWXR2SEE7RUFBd0M7QVowdkh4Qzs7QVl6dkhBO0VBQStDO0FaNnZIL0M7O0FZNXZIQTtFQUFzQztBWmd3SHRDOztBWS92SEE7RUFBbUM7QVptd0huQzs7QVlsd0hBO0VBQXFDO0Fac3dIckM7O0FZcndIQTtFQUE2QztBWnl3SDdDOztBWXh3SEE7RUFBZ0M7QVo0d0hoQzs7QVkzd0hBO0VBQXdDO0FaK3dIeEM7O0FZOXdIQTtFQUF3QztBWmt4SHhDOztBWWp4SEE7RUFBbUM7QVpxeEhuQzs7QVlweEhBO0VBQXFDO0Fad3hIckM7O0FZdnhIQTtFQUFpQztBWjJ4SGpDOztBWTF4SEE7RUFBdUM7QVo4eEh2Qzs7QVk3eEhBO0VBQWtDO0FaaXlIbEM7O0FZaHlIQTtFQUFvQztBWm95SHBDOztBWW55SEE7RUFBMEM7QVp1eUgxQzs7QVl0eUhBO0VBQW9DO0FaMHlIcEM7O0FZenlIQTtFQUFzQztBWjZ5SHRDOztBWTV5SEE7RUFBaUM7QVpnekhqQzs7QVkveUhBO0VBQXFDO0FabXpIckM7O0FZbHpIQTtFQUFvQztBWnN6SHBDOztBWXJ6SEE7RUFBa0M7QVp5ekhsQzs7QVl4ekhBO0VBQXlDO0FaNHpIekM7O0FZM3pIQTtFQUFtQztBWit6SG5DOztBWTl6SEE7RUFBdUM7QVprMEh2Qzs7QVlqMEhBO0VBQW9DO0FacTBIcEM7O0FZcDBIQTtFQUEyQztBWncwSDNDOztBWXYwSEE7RUFBZ0M7QVoyMEhoQzs7QVkxMEhBO0VBQWlDO0FaODBIakM7O0FZNzBIQTtFQUFpQztBWmkxSGpDOztBWWgxSEE7RUFBa0M7QVpvMUhsQzs7QVluMUhBO0VBQWlDO0FadTFIakM7O0FZdDFIQTtFQUFzQztBWjAxSHRDOztBWXoxSEE7RUFBa0M7QVo2MUhsQzs7QVk1MUhBO0VBQXVDO0FaZzJIdkM7O0FZLzFIQTtFQUFxQztBWm0ySHJDOztBWWwySEE7RUFBMkM7QVpzMkgzQzs7QVlyMkhBO0VBQTZDO0FaeTJIN0M7O0FZeDJIQTtFQUE0QztBWjQySDVDOztBWTMySEE7RUFBMEM7QVorMkgxQzs7QVk5MkhBO0VBQWtDO0FaazNIbEM7O0FZajNIQTtFQUFxQztBWnEzSHJDOztBWXAzSEE7RUFBd0M7QVp3M0h4Qzs7QVl2M0hBO0VBQXVDO0FaMjNIdkM7O0FZMTNIQTtFQUErQjtBWjgzSC9COztBWTczSEE7RUFBcUM7QVppNEhyQzs7QVloNEhBO0VBQW9DO0FabzRIcEM7O0FZbjRIQTtFQUF5QztBWnU0SHpDOztBWXQ0SEE7RUFBMEM7QVowNEgxQzs7QVl6NEhBO0VBQW9DO0FaNjRIcEM7O0FZNTRIQTtFQUFzQztBWmc1SHRDOztBWS80SEE7RUFBd0M7QVptNUh4Qzs7QVlsNUhBO0VBQThDO0FaczVIOUM7O0FZcjVIQTtFQUE2QztBWnk1SDdDOztBWXg1SEE7RUFBNkM7QVo0NUg3Qzs7QVkzNUhBO0VBQWdEO0FaKzVIaEQ7O0FZOTVIQTtFQUF1RDtBWms2SHZEOztBWWo2SEE7RUFBd0M7QVpxNkh4Qzs7QVlwNkhBO0VBQXdDO0FadzZIeEM7O0FZdjZIQTtFQUFzQztBWjI2SHRDOztBWTE2SEE7RUFBc0M7QVo4Nkh0Qzs7QVk3NkhBO0VBQXVDO0FaaTdIdkM7O0FZaDdIQTtFQUFtQztBWm83SG5DOztBWW43SEE7RUFBa0M7QVp1N0hsQzs7QVl0N0hBO0VBQXlDO0FaMDdIekM7O0FZejdIQTtFQUFpQztBWjY3SGpDOztBWTU3SEE7RUFBdUM7QVpnOEh2Qzs7QVkvN0hBO0VBQWtDO0FabThIbEM7O0FZbDhIQTtFQUF1QztBWnM4SHZDOztBWXI4SEE7RUFBc0M7QVp5OEh0Qzs7QVl4OEhBO0VBQW1DO0FaNDhIbkM7O0FZMzhIQTtFQUF5QztBWis4SHpDOztBWTk4SEE7RUFBK0M7QVprOUgvQzs7QVlqOUhBO0VBQW9DO0FacTlIcEM7O0FZcDlIQTtFQUFrQztBWnc5SGxDOztBWXY5SEE7RUFBa0M7QVoyOUhsQzs7QVkxOUhBO0VBQWtDO0FaODlIbEM7O0FZNzlIQTtFQUF1QztBWmkrSHZDOztBWWgrSEE7RUFBb0M7QVpvK0hwQzs7QVluK0hBO0VBQTZDO0FadStIN0M7O0FZdCtIQTtFQUFzQztBWjArSHRDOztBWXorSEE7RUFBMEM7QVo2K0gxQzs7QVk1K0hBO0VBQW9DO0FaZy9IcEM7O0FZLytIQTtFQUFrQztBWm0vSGxDOztBWWwvSEE7RUFBaUM7QVpzL0hqQzs7QVlyL0hBO0VBQXdDO0FaeS9IeEM7O0FZeC9IQTtFQUE0QztBWjQvSDVDOztBWTMvSEE7RUFBa0M7QVorL0hsQzs7QVk5L0hBO0VBQXNDO0Faa2dJdEM7O0FZamdJQTtFQUEwQztBWnFnSTFDOztBWXBnSUE7RUFBOEM7QVp3Z0k5Qzs7QVl2Z0lBO0VBQWlDO0FaMmdJakM7O0FZMWdJQTtFQUFtQztBWjhnSW5DOztBWTdnSUE7RUFBd0M7QVppaEl4Qzs7QVloaElBO0VBQW1DO0Fab2hJbkM7O0FZbmhJQTtFQUFrQztBWnVoSWxDOztBWXRoSUE7RUFBMEM7QVowaEkxQzs7QVl6aElBO0VBQTBDO0FaNmhJMUM7O0FZNWhJQTtFQUF5QztBWmdpSXpDOztBWS9oSUE7RUFBeUM7QVptaUl6Qzs7QVlsaUlBO0VBQW1DO0Fac2lJbkM7O0FZcmlJQTtFQUFnQztBWnlpSWhDOztBWXhpSUE7RUFBbUM7QVo0aUluQzs7QVkzaUlBO0VBQTBDO0FaK2lJMUM7O0FZOWlJQTtFQUErQjtBWmtqSS9COztBWWpqSUE7RUFBbUM7QVpxakluQzs7QVlwaklBO0VBQW9DO0Fad2pJcEM7O0FZdmpJQTtFQUEyQztBWjJqSTNDOztBWTFqSUE7RUFBa0M7QVo4aklsQzs7QVk3aklBO0VBQWlDO0FaaWtJakM7O0FZaGtJQTtFQUFtQztBWm9rSW5DOztBWW5rSUE7RUFBa0M7QVp1a0lsQzs7QVl0a0lBO0VBQW9DO0FaMGtJcEM7O0FZemtJQTtFQUFxQztBWjZrSXJDOztBWTVrSUE7RUFBMkM7QVpnbEkzQzs7QVkva0lBO0VBQXNDO0FabWxJdEM7O0FZbGxJQTtFQUFzQztBWnNsSXRDOztBWXJsSUE7RUFBaUM7QVp5bElqQzs7QVl4bElBO0VBQXFDO0FaNGxJckM7O0FZM2xJQTtFQUF3QztBWitsSXhDOztBWTlsSUE7RUFBa0M7QVprbUlsQzs7QVlqbUlBO0VBQTZDO0FacW1JN0M7O0FZcG1JQTtFQUF1QztBWndtSXZDOztBWXZtSUE7RUFBbUM7QVoybUluQzs7QVkxbUlBO0VBQW1DO0FaOG1JbkM7O0FZN21JQTtFQUF1QztBWmluSXZDOztBWWhuSUE7RUFBcUM7QVpvbklyQzs7QVlubklBO0VBQW9DO0FadW5JcEM7O0FZdG5JQTtFQUFtQztBWjBuSW5DOztBWXpuSUE7RUFBZ0M7QVo2bkloQzs7QVk1bklBO0VBQWdDO0FaZ29JaEM7O0FZL25JQTtFQUFpQztBWm1vSWpDOztBWWxvSUE7RUFBcUM7QVpzb0lyQzs7QVlyb0lBO0VBQTJDO0FaeW9JM0M7O0FZeG9JQTtFQUEyQztBWjRvSTNDOztBWTNvSUE7RUFBdUM7QVorb0l2Qzs7QVk5b0lBO0VBQXdDO0Faa3BJeEM7O0FZanBJQTtFQUF1QztBWnFwSXZDOztBWXBwSUE7RUFBcUM7QVp3cElyQzs7QVl2cElBO0VBQXNDO0FaMnBJdEM7O0FZMXBJQTtFQUF5QztBWjhwSXpDOztBWTdwSUE7RUFBMEM7QVppcUkxQzs7QVlocUlBO0VBQXlDO0Fab3FJekM7O0FZbnFJQTtFQUFzQztBWnVxSXRDOztBWXRxSUE7RUFBb0M7QVowcUlwQzs7QVl6cUlBO0VBQXVDO0FaNnFJdkM7O0FZNXFJQTtFQUF1QztBWmdySXZDOztBWS9xSUE7RUFBdUM7QVptckl2Qzs7QVlscklBO0VBQXNDO0Fac3JJdEM7O0FZcnJJQTtFQUF3QztBWnlySXhDOztBWXhySUE7RUFBd0M7QVo0ckl4Qzs7QVkzcklBO0VBQXVDO0FaK3JJdkM7O0FZOXJJQTtFQUFxQztBWmtzSXJDOztBWWpzSUE7RUFBcUM7QVpxc0lyQzs7QVlwc0lBO0VBQXVDO0Fad3NJdkM7O0FZdnNJQTtFQUFrQztBWjJzSWxDOztBWTFzSUE7RUFBc0M7QVo4c0l0Qzs7QVk3c0lBO0VBQXdDO0FaaXRJeEM7O0FZaHRJQTtFQUFpQztBWm90SWpDOztBWW50SUE7RUFBcUM7QVp1dElyQzs7QVl0dElBO0VBQTBDO0FaMHRJMUM7O0FZenRJQTtFQUFxQztBWjZ0SXJDOztBWTV0SUE7RUFBbUM7QVpndUluQzs7QVkvdElBO0VBQTBDO0FabXVJMUM7O0FZbHVJQTtFQUFrQztBWnN1SWxDOztBWXJ1SUE7RUFBeUM7QVp5dUl6Qzs7QVl4dUlBO0VBQXVDO0FaNHVJdkM7O0FZM3VJQTtFQUFpQztBWit1SWpDOztBWTl1SUE7RUFBeUM7QVprdkl6Qzs7QVlqdklBO0VBQW9DO0FacXZJcEM7O0FZcHZJQTtFQUFtQztBWnd2SW5DOztBWXZ2SUE7RUFBMEM7QVoydkkxQzs7QVkxdklBO0VBQWlDO0FaOHZJakM7O0FZN3ZJQTtFQUFrQztBWml3SWxDOztBWWh3SUE7RUFBa0M7QVpvd0lsQzs7QVlud0lBO0VBQWtDO0FadXdJbEM7O0FZdHdJQTtFQUF3QztBWjB3SXhDOztBWXp3SUE7RUFBbUM7QVo2d0luQzs7QVk1d0lBO0VBQWtDO0FaZ3hJbEM7O0FZL3dJQTtFQUF5QztBWm14SXpDOztBWWx4SUE7RUFBb0M7QVpzeElwQzs7QVlyeElBO0VBQWlDO0FaeXhJakM7O0FZeHhJQTtFQUFrQztBWjR4SWxDOztBWTN4SUE7RUFBd0M7QVoreEl4Qzs7QVk5eElBO0VBQW9DO0Faa3lJcEM7O0FZanlJQTtFQUErQjtBWnF5SS9COztBWXB5SUE7RUFBZ0M7QVp3eUloQzs7QVl2eUlBO0VBQXNDO0FaMnlJdEM7O0FZMXlJQTtFQUE0QztBWjh5STVDOztBWTd5SUE7RUFBd0M7QVppekl4Qzs7QVloeklBO0VBQXdDO0Fab3pJeEM7O0FZbnpJQTtFQUF1QztBWnV6SXZDOztBWXR6SUE7RUFBc0M7QVowekl0Qzs7QVl6eklBO0VBQXFDO0FaNnpJckM7O0FZNXpJQTtFQUF5QztBWmcwSXpDOztBWS96SUE7RUFBa0M7QVptMElsQzs7QVlsMElBO0VBQW9DO0FaczBJcEM7O0FZcjBJQTtFQUFtQztBWnkwSW5DOztBWXgwSUE7RUFBc0M7QVo0MEl0Qzs7QVkzMElBO0VBQWdEO0FaKzBJaEQ7O0FZOTBJQTtFQUFrQztBWmsxSWxDOztBWWoxSUE7RUFBd0M7QVpxMUl4Qzs7QVlwMUlBO0VBQWlDO0FadzFJakM7O0FZdjFJQTtFQUFtQztBWjIxSW5DOztBWTExSUE7RUFBa0M7QVo4MUlsQzs7QVk3MUlBO0VBQW1DO0FaaTJJbkM7O0FZaDJJQTtFQUEyQztBWm8ySTNDOztBWW4ySUE7RUFBbUM7QVp1MkluQzs7QVl0MklBO0VBQXFDO0FaMDJJckM7O0FZejJJQTtFQUE0QztBWjYySTVDOztBWTUySUE7RUFBdUM7QVpnM0l2Qzs7QVkvMklBO0VBQWtDO0FabTNJbEM7O0FZbDNJQTtFQUFpQztBWnMzSWpDOztBWXIzSUE7RUFBd0M7QVp5M0l4Qzs7QVl4M0lBO0VBQWlDO0FaNDNJakM7O0FZMzNJQTtFQUF5QztBWiszSXpDOztBWTkzSUE7RUFBNEM7QVprNEk1Qzs7QVlqNElBO0VBQTRDO0FacTRJNUM7O0FZcDRJQTtFQUEyQztBWnc0STNDOztBWXY0SUE7RUFBb0M7QVoyNElwQzs7QVkxNElBO0VBQXdDO0FaODRJeEM7O0FZNzRJQTtFQUF1QztBWmk1SXZDOztBWWg1SUE7RUFBMkM7QVpvNUkzQzs7QVluNUlBO0VBQWdDO0FadTVJaEM7O0FZdDVJQTtFQUFpRDtBWjA1SWpEOztBWXo1SUE7RUFBaUM7QVo2NUlqQzs7QVk1NUlBO0VBQWdEO0FaZzZJaEQ7O0FZLzVJQTtFQUFxQztBWm02SXJDOztBWWw2SUE7RUFBc0M7QVpzNkl0Qzs7QVlyNklBO0VBQTZDO0FaeTZJN0M7O0FZeDZJQTtFQUF1QztBWjQ2SXZDOztBWTM2SUE7RUFBdUM7QVorNkl2Qzs7QVk5NklBO0VBQW9DO0FaazdJcEM7O0FZajdJQTtFQUFvQztBWnE3SXBDOztBWXA3SUE7RUFBbUM7QVp3N0luQzs7QVl2N0lBO0VBQWtDO0FaMjdJbEM7O0FZMTdJQTtFQUFpQztBWjg3SWpDOztBWTc3SUE7RUFBaUM7QVppOElqQzs7QVloOElBO0VBQXdDO0FabzhJeEM7O0FZbjhJQTtFQUF5QztBWnU4SXpDOztBWXQ4SUE7RUFBa0M7QVowOElsQzs7QVl6OElBO0VBQW1DO0FaNjhJbkM7O0FZNThJQTtFQUFtQztBWmc5SW5DOztBWS84SUE7RUFBaUQ7QVptOUlqRDs7QVlsOUlBO0VBQWlDO0FaczlJakM7O0FZcjlJQTtFQUFpQztBWnk5SWpDOztBWXg5SUE7RUFBcUM7QVo0OUlyQzs7QVkzOUlBO0VBQXFDO0FaKzlJckM7O0FZOTlJQTtFQUFrQztBWmsrSWxDOztBWWorSUE7RUFBb0M7QVpxK0lwQzs7QVlwK0lBO0VBQTJDO0FadytJM0M7O0FZditJQTtFQUFrQztBWjIrSWxDOztBYTc1TEE7RUgwQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnU0TEY7O0FVNzNMRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBViszTEo7O0FjcDdMQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CVExxQjtFU01yQjtFQUNBO0FkcTdMRjtBYzk2TEE7RUFDRTtFQUNBO0FkZzdMRjs7QWVyOExBOzs7RUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJWTHFCO0VVTXJCO0VBQ0E7QWZzOExGO0FlLzdMQTs7RUFFRTtFQUNBO0FmaThMRjs7QWdCdjlMQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CWExxQjtFV01yQjtFQUNBO0FoQnc5TEY7QWdCajlMQTtFQUNFO0VBQ0E7QWhCbTlMRjs7QWlCeCtMQTtFQUNJO0FqQjIrTEo7O0FpQngrTEE7RUFDSTtBakIyK0xKOztBQ2gvTEE7OztFQUFBO0FDR0E7Ozs7OztFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGby9MRjs7QUcvL0xBO0VBQ0U7RUFDQTtFQUNBO0FIa2dNRjs7QUcvL0xBO0VBQ0U7QUhrZ01GOztBRy8vTEE7RUFDRTtBSGtnTUY7O0FHOS9MRTtFQUNFO0FIaWdNSjs7QUdsZ01FO0VBQ0U7QUhxZ01KOztBR3RnTUU7RUFDRTtBSHlnTUo7O0FHMWdNRTtFQUNFO0FINmdNSjs7QUc5Z01FO0VBQ0U7QUhpaE1KOztBR2xoTUU7RUFDRTtBSHFoTUo7O0FHdGhNRTtFQUNFO0FIeWhNSjs7QUcxaE1FO0VBQ0U7QUg2aE1KOztBRzloTUU7RUFDRTtBSGlpTUo7O0FHbGlNRTtFQUNFO0FIcWlNSjs7QUl2ak1BO0VBQ0U7RUFDQSxhQ09xQjtBTG1qTXZCOztBTTNqTUE7RUFDRTtFQUNBO0VBQ0E7QU44ak1GO0FNNWpNRTtFQUFPO0FOK2pNVDs7QU01ak1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsVURMcUI7RUNNckI7QU4rak1GOztBTzVrTUE7RUFDRTtFQUNBO0VBQ0E7QVAra01GOztBTzVrTUE7RUFBK0I7QVBnbE0vQjs7QU8va01BO0VBQWdDO0FQbWxNaEM7O0FPNWtNRTs7Ozs7RUFBZ0M7QVBvbE1sQztBT25sTUU7Ozs7O0VBQWlDO0FQMGxNbkM7O0FRem1NQTtFQUNFO0FSNG1NRjs7QVF6bU1BO0VBQ0U7QVI0bU1GOztBUXptTUE7RUFDRTtJQUNFO0VSNG1NRjtFUXptTUE7SUFDRTtFUjJtTUY7QUFDRjtBUzFuTUE7RUNXRTtFQUNBO0FWa25NRjs7QVM3bk1BO0VDVUU7RUFDQTtBVnVuTUY7O0FTam9NQTtFQ1NFO0VBQ0E7QVY0bk1GOztBU3BvTUE7RUNZRTtFQUNBO0FWNG5NRjs7QVN4b01BO0VDV0U7RUFDQTtBVmlvTUY7O0FTNW9NQTtFQ1VFO0VBQ0E7QVZzb01GOztBUzNvTUU7Ozs7OztFQU1FO0FUOG9NSjs7QVdocU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYbXFNRjs7QVdocU1BOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FYbXFNRjs7QVdocU1BO0VBQ0U7QVhtcU1GOztBV2hxTUE7RUFDRTtBWG1xTUY7O0FXaHFNQTtFQUNFLFdOcEJxQjtBTHVyTXZCOztBWWhzTUE7Z0VBQUE7QUFHQTtFQUFrQztBWm1zTWxDOztBWWxzTUE7RUFBNEM7QVpzc001Qzs7QVlyc01BO0VBQXFDO0FaeXNNckM7O0FZeHNNQTtFQUFzRDtBWjRzTXREOztBWTNzTUE7RUFBK0I7QVorc00vQjs7QVk5c01BO0VBQXlDO0Faa3RNekM7O0FZanRNQTtFQUF5QztBWnF0TXpDOztBWXB0TUE7RUFBbUM7QVp3dE1uQzs7QVl2dE1BO0VBQWdDO0FaMnRNaEM7O0FZMXRNQTtFQUFxQztBWjh0TXJDOztBWTd0TUE7RUFBMkM7QVppdU0zQzs7QVlodU1BO0VBQTBDO0Fab3VNMUM7O0FZbnVNQTtFQUFtQztBWnV1TW5DOztBWXR1TUE7RUFBb0M7QVowdU1wQzs7QVl6dU1BO0VBQXlDO0FaNnVNekM7O0FZNXVNQTtFQUEwQztBWmd2TTFDOztBWS91TUE7RUFBdUM7QVptdk12Qzs7QVlsdk1BO0VBQXdDO0Fac3ZNeEM7O0FZcnZNQTtFQUFtQztBWnl2TW5DOztBWXh2TUE7RUFBc0M7QVo0dk10Qzs7QVkzdk1BO0VBQW1DO0FaK3ZNbkM7O0FZOXZNQTtFQUF1QztBWmt3TXZDOztBWWp3TUE7RUFBc0M7QVpxd010Qzs7QVlwd01BO0VBQWdFO0Fad3dNaEU7O0FZdndNQTtFQUFtQztBWjJ3TW5DOztBWTF3TUE7RUFBbUM7QVo4d01uQzs7QVk3d01BO0VBQW9DO0FaaXhNcEM7O0FZaHhNQTtFQUFzQztBWm94TXRDOztBWW54TUE7RUFBOEM7QVp1eE05Qzs7QVl0eE1BO0VBQThDO0FaMHhNOUM7O0FZenhNQTtFQUErQztBWjZ4TS9DOztBWTV4TUE7RUFBNEM7QVpneU01Qzs7QVkveE1BO0VBQXVDO0FabXlNdkM7O0FZbHlNQTtFQUF1QztBWnN5TXZDOztBWXJ5TUE7RUFBd0M7QVp5eU14Qzs7QVl4eU1BO0VBQXFDO0FaNHlNckM7O0FZM3lNQTtFQUFrQztBWit5TWxDOztBWTl5TUE7RUFBMEM7QVprek0xQzs7QVlqek1BO0VBQW9DO0FacXpNcEM7O0FZcHpNQTtFQUFpQztBWnd6TWpDOztBWXZ6TUE7RUFBc0M7QVoyek10Qzs7QVkxek1BO0VBQTBDO0FaOHpNMUM7O0FZN3pNQTtFQUFrQztBWmkwTWxDOztBWWgwTUE7RUFBa0M7QVpvME1sQzs7QVluME1BO0VBQXNDO0FadTBNdEM7O0FZdDBNQTtFQUFzQztBWjAwTXRDOztBWXowTUE7RUFBb0M7QVo2ME1wQzs7QVk1ME1BO0VBQW9DO0FaZzFNcEM7O0FZLzBNQTtFQUFrRDtBWm0xTWxEOztBWWwxTUE7RUFBa0Q7QVpzMU1sRDs7QVlyMU1BO0VBQW1EO0FaeTFNbkQ7O0FZeDFNQTtFQUFnRDtBWjQxTWhEOztBWTMxTUE7RUFBOEM7QVorMU05Qzs7QVk5MU1BO0VBQThDO0FaazJNOUM7O0FZajJNQTtFQUErQztBWnEyTS9DOztBWXAyTUE7RUFBNEM7QVp3Mk01Qzs7QVl2Mk1BO0VBQXVDO0FaMjJNdkM7O0FZMTJNQTtFQUF1QztBWjgyTXZDOztBWTcyTUE7RUFBd0M7QVppM014Qzs7QVloM01BO0VBQXFDO0FabzNNckM7O0FZbjNNQTtFQUF1QztBWnUzTXZDOztBWXQzTUE7RUFBeUM7QVowM016Qzs7QVl6M01BO0VBQXlDO0FaNjNNekM7O0FZNTNNQTtFQUF1QztBWmc0TXZDOztBWS8zTUE7RUFBd0Q7QVptNE14RDs7QVlsNE1BO0VBQXFDO0FaczRNckM7O0FZcjRNQTtFQUF1QztBWnk0TXZDOztBWXg0TUE7RUFBK0I7QVo0NE0vQjs7QVkzNE1BO0VBQWtDO0FaKzRNbEM7O0FZOTRNQTtFQUFzQztBWms1TXRDOztBWWo1TUE7RUFBaUM7QVpxNU1qQzs7QVlwNU1BO0VBQW9DO0FadzVNcEM7O0FZdjVNQTtFQUE4QztBWjI1TTlDOztBWTE1TUE7RUFBeUM7QVo4NU16Qzs7QVk3NU1BO0VBQW9DO0FaaTZNcEM7O0FZaDZNQTtFQUFtQztBWm82TW5DOztBWW42TUE7RUFBa0M7QVp1Nk1sQzs7QVl0Nk1BO0VBQWdDO0FaMDZNaEM7O0FZejZNQTtFQUFpQztBWjY2TWpDOztBWTU2TUE7RUFBMEM7QVpnN00xQzs7QVkvNk1BO0VBQXNDO0FabTdNdEM7O0FZbDdNQTtFQUFxQztBWnM3TXJDOztBWXI3TUE7RUFBa0M7QVp5N01sQzs7QVl4N01BO0VBQXFDO0FaNDdNckM7O0FZMzdNQTtFQUFzQztBWis3TXRDOztBWTk3TUE7RUFBa0M7QVprOE1sQzs7QVlqOE1BO0VBQTBDO0FacThNMUM7O0FZcDhNQTtFQUErQztBWnc4TS9DOztBWXY4TUE7RUFBZ0Q7QVoyOE1oRDs7QVkxOE1BO0VBQWdDO0FaODhNaEM7O0FZNzhNQTtFQUFxQztBWmk5TXJDOztBWWg5TUE7RUFBcUM7QVpvOU1yQzs7QVluOU1BO0VBQW9DO0FadTlNcEM7O0FZdDlNQTtFQUFpQztBWjA5TWpDOztBWXo5TUE7RUFBMEM7QVo2OU0xQzs7QVk1OU1BO0VBQTRDO0FaZytNNUM7O0FZLzlNQTtFQUFpQztBWm0rTWpDOztBWWwrTUE7RUFBMEM7QVpzK00xQzs7QVlyK01BO0VBQXlDO0FaeStNekM7O0FZeCtNQTtFQUF5QztBWjQrTXpDOztBWTMrTUE7RUFBNEM7QVorK001Qzs7QVk5K01BO0VBQW1EO0Faay9NbkQ7O0FZai9NQTtFQUF1QztBWnEvTXZDOztBWXAvTUE7RUFBZ0M7QVp3L01oQzs7QVl2L01BO0VBQWlDO0FaMi9NakM7O0FZMS9NQTtFQUFvQztBWjgvTXBDOztBWTcvTUE7RUFBMkM7QVppZ04zQzs7QVloZ05BO0VBQWlDO0Fab2dOakM7O0FZbmdOQTtFQUF1QztBWnVnTnZDOztBWXRnTkE7RUFBeUM7QVowZ056Qzs7QVl6Z05BO0VBQWtDO0FaNmdObEM7O0FZNWdOQTtFQUFvQztBWmdoTnBDOztBWS9nTkE7RUFBbUM7QVptaE5uQzs7QVlsaE5BO0VBQXNDO0Fac2hOdEM7O0FZcmhOQTtFQUF1QztBWnloTnZDOztBWXhoTkE7RUFBc0M7QVo0aE50Qzs7QVkzaE5BO0VBQTBDO0FaK2hOMUM7O0FZOWhOQTtFQUFzQztBWmtpTnRDOztBWWppTkE7RUFBb0M7QVpxaU5wQzs7QVlwaU5BO0VBQWlDO0Fad2lOakM7O0FZdmlOQTtFQUFzQztBWjJpTnRDOztBWTFpTkE7RUFBdUM7QVo4aU52Qzs7QVk3aU5BO0VBQW9DO0FaaWpOcEM7O0FZaGpOQTtFQUEwQztBWm9qTjFDOztBWW5qTkE7RUFBa0M7QVp1ak5sQzs7QVl0ak5BO0VBQWlDO0FaMGpOakM7O0FZempOQTtFQUFvQztBWjZqTnBDOztBWTVqTkE7RUFBc0M7QVpna050Qzs7QVkvak5BO0VBQXNDO0FabWtOdEM7O0FZbGtOQTtFQUF3QztBWnNrTnhDOztBWXJrTkE7RUFBaUM7QVp5a05qQzs7QVl4a05BO0VBQWlDO0FaNGtOakM7O0FZM2tOQTtFQUFpQztBWitrTmpDOztBWTlrTkE7RUFBaUM7QVprbE5qQzs7QVlqbE5BO0VBQWlDO0FacWxOakM7O0FZcGxOQTtFQUFpQztBWndsTmpDOztBWXZsTkE7RUFBc0M7QVoybE50Qzs7QVkxbE5BO0VBQXlDO0FaOGxOekM7O0FZN2xOQTtFQUFzQztBWmltTnRDOztBWWhtTkE7RUFBd0M7QVpvbU54Qzs7QVlubU5BO0VBQXFDO0FadW1OckM7O0FZdG1OQTtFQUFzQztBWjBtTnRDOztBWXptTkE7RUFBdUM7QVo2bU52Qzs7QVk1bU5BO0VBQXdDO0FaZ25OeEM7O0FZL21OQTtFQUF5QztBWm1uTnpDOztBWWxuTkE7RUFBeUM7QVpzbk56Qzs7QVlybk5BO0VBQWdDO0FaeW5OaEM7O0FZeG5OQTtFQUFxQztBWjRuTnJDOztBWTNuTkE7RUFBdUM7QVorbk52Qzs7QVk5bk5BO0VBQWtDO0Faa29ObEM7O0FZam9OQTtFQUFvQztBWnFvTnBDOztBWXBvTkE7RUFBa0M7QVp3b05sQzs7QVl2b05BO0VBQXdDO0FaMm9OeEM7O0FZMW9OQTtFQUFzQztBWjhvTnRDOztBWTdvTkE7RUFBOEM7QVppcE45Qzs7QVlocE5BO0VBQTRDO0Fab3BONUM7O0FZbnBOQTtFQUFrQztBWnVwTmxDOztBWXRwTkE7RUFBa0M7QVowcE5sQzs7QVl6cE5BO0VBQWdDO0FaNnBOaEM7O0FZNXBOQTtFQUFtQztBWmdxTm5DOztBWS9wTkE7RUFBZ0M7QVptcU5oQzs7QVlscU5BO0VBQXFDO0Fac3FOckM7O0FZcnFOQTtFQUFxQztBWnlxTnJDOztBWXhxTkE7RUFBcUM7QVo0cU5yQzs7QVkzcU5BO0VBQWlDO0FaK3FOakM7O0FZOXFOQTtFQUE2QztBWmtyTjdDOztBWWpyTkE7RUFBZ0M7QVpxck5oQzs7QVlwck5BO0VBQW9DO0Fad3JOcEM7O0FZdnJOQTtFQUEwQztBWjJyTjFDOztBWTFyTkE7RUFBd0M7QVo4ck54Qzs7QVk3ck5BO0VBQXVDO0FaaXNOdkM7O0FZaHNOQTtFQUF1QztBWm9zTnZDOztBWW5zTkE7RUFBcUM7QVp1c05yQzs7QVl0c05BO0VBQXlDO0FaMHNOekM7O0FZenNOQTtFQUEyQztBWjZzTjNDOztBWTVzTkE7RUFBeUM7QVpndE56Qzs7QVkvc05BO0VBQTJDO0FabXROM0M7O0FZbHROQTtFQUEwQztBWnN0TjFDOztBWXJ0TkE7RUFBMkM7QVp5dE4zQzs7QVl4dE5BO0VBQTBDO0FaNHROMUM7O0FZM3ROQTtFQUFtQztBWit0Tm5DOztBWTl0TkE7RUFBeUM7QVprdU56Qzs7QVlqdU5BO0VBQXVDO0FacXVOdkM7O0FZcHVOQTtFQUFnRDtBWnd1TmhEOztBWXZ1TkE7RUFBdUM7QVoydU52Qzs7QVkxdU5BO0VBQXFDO0FaOHVOckM7O0FZN3VOQTtFQUFxQztBWml2TnJDOztBWWh2TkE7RUFBZ0M7QVpvdk5oQzs7QVludk5BO0VBQW9DO0FadXZOcEM7O0FZdHZOQTtFQUF3QztBWjB2TnhDOztBWXp2TkE7RUFBc0M7QVo2dk50Qzs7QVk1dk5BO0VBQXFDO0FaZ3dOckM7O0FZL3ZOQTtFQUFvQztBWm13TnBDOztBWWx3TkE7RUFBdUM7QVpzd052Qzs7QVlyd05BO0VBQXVDO0FaeXdOdkM7O0FZeHdOQTtFQUF3QztBWjR3TnhDOztBWTN3TkE7RUFBOEM7QVord045Qzs7QVk5d05BO0VBQThDO0Faa3hOOUM7O0FZanhOQTtFQUErQztBWnF4Ti9DOztBWXB4TkE7RUFBNEM7QVp3eE41Qzs7QVl2eE5BO0VBQXFDO0FaMnhOckM7O0FZMXhOQTtFQUFtQztBWjh4Tm5DOztBWTd4TkE7RUFBNEM7QVppeU41Qzs7QVloeU5BO0VBQXNDO0Fab3lOdEM7O0FZbnlOQTtFQUEwQztBWnV5TjFDOztBWXR5TkE7RUFBZ0M7QVoweU5oQzs7QVl6eU5BO0VBQTBDO0FaNnlOMUM7O0FZNXlOQTtFQUFvQztBWmd6TnBDOztBWS95TkE7RUFBeUM7QVptek56Qzs7QVlsek5BO0VBQTJDO0Fac3pOM0M7O0FZcnpOQTtFQUF3QztBWnl6TnhDOztBWXh6TkE7RUFBbUM7QVo0ek5uQzs7QVkzek5BO0VBQTBDO0FaK3pOMUM7O0FZOXpOQTtFQUFzQztBWmswTnRDOztBWWowTkE7RUFBc0M7QVpxME50Qzs7QVlwME5BO0VBQW9DO0FadzBOcEM7O0FZdjBOQTtFQUF1QztBWjIwTnZDOztBWTEwTkE7RUFBbUM7QVo4ME5uQzs7QVk3ME5BO0VBQXdDO0FaaTFOeEM7O0FZaDFOQTtFQUFrQztBWm8xTmxDOztBWW4xTkE7RUFBdUM7QVp1MU52Qzs7QVl0MU5BO0VBQStDO0FaMDFOL0M7O0FZejFOQTtFQUE2QztBWjYxTjdDOztBWTUxTkE7RUFBdUM7QVpnMk52Qzs7QVkvMU5BO0VBQXNDO0FabTJOdEM7O0FZbDJOQTtFQUF1QztBWnMyTnZDOztBWXIyTkE7RUFBc0M7QVp5Mk50Qzs7QVl4Mk5BO0VBQWtDO0FaNDJObEM7O0FZMzJOQTtFQUF5QztBWisyTnpDOztBWTkyTkE7RUFBeUM7QVprM056Qzs7QVlqM05BO0VBQXlDO0FacTNOekM7O0FZcDNOQTtFQUFtQztBWnczTm5DOztBWXYzTkE7RUFBa0M7QVoyM05sQzs7QVkxM05BO0VBQXlDO0FaODNOekM7O0FZNzNOQTtFQUF3QztBWmk0TnhDOztBWWg0TkE7RUFBdUM7QVpvNE52Qzs7QVluNE5BO0VBQXlDO0FadTROekM7O0FZdDROQTtFQUF1QztBWjA0TnZDOztBWXo0TkE7RUFBd0M7QVo2NE54Qzs7QVk1NE5BO0VBQXVDO0FaZzVOdkM7O0FZLzROQTtFQUFnRDtBWm01TmhEOztBWWw1TkE7RUFBZ0Q7QVpzNU5oRDs7QVlyNU5BO0VBQWlEO0FaeTVOakQ7O0FZeDVOQTtFQUE4QztBWjQ1TjlDOztBWTM1TkE7RUFBeUM7QVorNU56Qzs7QVk5NU5BO0VBQXlDO0FaazZOekM7O0FZajZOQTtFQUEwQztBWnE2TjFDOztBWXA2TkE7RUFBdUM7QVp3Nk52Qzs7QVl2Nk5BO0VBQWtDO0FaMjZObEM7O0FZMTZOQTtFQUFtQztBWjg2Tm5DOztBWTc2TkE7RUFBdUM7QVppN052Qzs7QVloN05BO0VBQW1DO0FabzdObkM7O0FZbjdOQTtFQUFtQztBWnU3Tm5DOztBWXQ3TkE7RUFBeUM7QVowN056Qzs7QVl6N05BO0VBQWlDO0FaNjdOakM7O0FZNTdOQTtFQUEyQztBWmc4TjNDOztBWS83TkE7RUFBc0M7QVptOE50Qzs7QVlsOE5BO0VBQTRDO0FaczhONUM7O0FZcjhOQTtFQUEyQztBWnk4TjNDOztBWXg4TkE7RUFBa0M7QVo0OE5sQzs7QVkzOE5BO0VBQWtDO0FaKzhObEM7O0FZOThOQTtFQUE4QztBWms5TjlDOztBWWo5TkE7RUFBa0M7QVpxOU5sQzs7QVlwOU5BO0VBQStDO0FadzlOL0M7O0FZdjlOQTtFQUEyQztBWjI5TjNDOztBWTE5TkE7RUFBdUM7QVo4OU52Qzs7QVk3OU5BO0VBQTRDO0FaaStONUM7O0FZaCtOQTtFQUF1QztBWm8rTnZDOztBWW4rTkE7RUFBZ0Q7QVp1K05oRDs7QVl0K05BO0VBQXNDO0FaMCtOdEM7O0FZeitOQTtFQUEyQztBWjYrTjNDOztBWTUrTkE7RUFBNkM7QVpnL043Qzs7QVkvK05BO0VBQXVDO0FabS9OdkM7O0FZbC9OQTtFQUF1QztBWnMvTnZDOztBWXIvTkE7RUFBdUM7QVp5L052Qzs7QVl4L05BO0VBQXlDO0FaNC9OekM7O0FZMy9OQTtFQUFxQztBWisvTnJDOztBWTkvTkE7RUFBaUM7QVprZ09qQzs7QVlqZ09BO0VBQXdDO0FacWdPeEM7O0FZcGdPQTtFQUFvQztBWndnT3BDOztBWXZnT0E7RUFBcUM7QVoyZ09yQzs7QVkxZ09BO0VBQW1DO0FaOGdPbkM7O0FZN2dPQTtFQUFnQztBWmloT2hDOztBWWhoT0E7RUFBaUM7QVpvaE9qQzs7QVluaE9BO0VBQWtDO0FadWhPbEM7O0FZdGhPQTtFQUFvQztBWjBoT3BDOztBWXpoT0E7RUFBb0M7QVo2aE9wQzs7QVk1aE9BO0VBQXdDO0FaZ2lPeEM7O0FZL2hPQTtFQUEyQztBWm1pTzNDOztBWWxpT0E7RUFBeUM7QVpzaU96Qzs7QVlyaU9BO0VBQTRDO0FaeWlPNUM7O0FZeGlPQTtFQUEwQztBWjRpTzFDOztBWTNpT0E7RUFBcUM7QVoraU9yQzs7QVk5aU9BO0VBQTRDO0Faa2pPNUM7O0FZampPQTtFQUF5QztBWnFqT3pDOztBWXBqT0E7RUFBb0M7QVp3ak9wQzs7QVl2ak9BO0VBQXFDO0FaMmpPckM7O0FZMWpPQTtFQUF5QztBWjhqT3pDOztBWTdqT0E7RUFBZ0Q7QVppa09oRDs7QVloa09BO0VBQTJDO0Fab2tPM0M7O0FZbmtPQTtFQUF1QztBWnVrT3ZDOztBWXRrT0E7RUFBMkM7QVowa08zQzs7QVl6a09BO0VBQW1DO0FaNmtPbkM7O0FZNWtPQTtFQUFtQztBWmdsT25DOztBWS9rT0E7RUFBd0M7QVptbE94Qzs7QVlsbE9BO0VBQWlDO0Fac2xPakM7O0FZcmxPQTtFQUFzQztBWnlsT3RDOztBWXhsT0E7RUFBMEM7QVo0bE8xQzs7QVkzbE9BO0VBQWtDO0FaK2xPbEM7O0FZOWxPQTtFQUFtQztBWmttT25DOztBWWptT0E7RUFBNkM7QVpxbU83Qzs7QVlwbU9BO0VBQWdEO0Fad21PaEQ7O0FZdm1PQTtFQUFnRDtBWjJtT2hEOztBWTFtT0E7RUFBbUQ7QVo4bU9uRDs7QVk3bU9BO0VBQW1EO0FaaW5PbkQ7O0FZaG5PQTtFQUFnRDtBWm9uT2hEOztBWW5uT0E7RUFBZ0Q7QVp1bk9oRDs7QVl0bk9BO0VBQW9EO0FaMG5PcEQ7O0FZem5PQTtFQUFtRDtBWjZuT25EOztBWTVuT0E7RUFBZ0Q7QVpnb09oRDs7QVkvbk9BO0VBQXNEO0FabW9PdEQ7O0FZbG9PQTtFQUEyRDtBWnNvTzNEOztBWXJvT0E7RUFBbUQ7QVp5b09uRDs7QVl4b09BO0VBQWtEO0FaNG9PbEQ7O0FZM29PQTtFQUF3QztBWitvT3hDOztBWTlvT0E7RUFBMEM7QVprcE8xQzs7QVlqcE9BO0VBQWlDO0FacXBPakM7O0FZcHBPQTtFQUFxQztBWndwT3JDOztBWXZwT0E7RUFBa0M7QVoycE9sQzs7QVkxcE9BO0VBQXVDO0FaOHBPdkM7O0FZN3BPQTtFQUFpQztBWmlxT2pDOztBWWhxT0E7RUFBa0M7QVpvcU9sQzs7QVlucU9BO0VBQW1DO0FadXFPbkM7O0FZdHFPQTtFQUFpQztBWjBxT2pDOztBWXpxT0E7RUFBcUM7QVo2cU9yQzs7QVk1cU9BO0VBQWlDO0FaZ3JPakM7O0FZL3FPQTtFQUFrQztBWm1yT2xDOztBWWxyT0E7RUFBZ0M7QVpzck9oQzs7QVlyck9BO0VBQXVDO0FaeXJPdkM7O0FZeHJPQTtFQUFvQztBWjRyT3BDOztBWTNyT0E7RUFBMkM7QVorck8zQzs7QVk5ck9BO0VBQXdDO0Faa3NPeEM7O0FZanNPQTtFQUFxQztBWnFzT3JDOztBWXBzT0E7RUFBcUM7QVp3c09yQzs7QVl2c09BO0VBQWlDO0FaMnNPakM7O0FZMXNPQTtFQUFtQztBWjhzT25DOztBWTdzT0E7RUFBc0M7QVppdE90Qzs7QVlodE9BO0VBQXFDO0Fab3RPckM7O0FZbnRPQTtFQUFzQztBWnV0T3RDOztBWXR0T0E7RUFBb0M7QVowdE9wQzs7QVl6dE9BO0VBQW9DO0FaNnRPcEM7O0FZNXRPQTtFQUFnQztBWmd1T2hDOztBWS90T0E7RUFBdUM7QVptdU92Qzs7QVlsdU9BO0VBQXlDO0Fac3VPekM7O0FZcnVPQTtFQUFnQztBWnl1T2hDOztBWXh1T0E7RUFBc0M7QVo0dU90Qzs7QVkzdU9BO0VBQXFDO0FaK3VPckM7O0FZOXVPQTtFQUFpQztBWmt2T2pDOztBWWp2T0E7RUFBcUM7QVpxdk9yQzs7QVlwdk9BO0VBQW9DO0Fad3ZPcEM7O0FZdnZPQTtFQUFzQztBWjJ2T3RDOztBWTF2T0E7RUFBc0M7QVo4dk90Qzs7QVk3dk9BO0VBQXFDO0FaaXdPckM7O0FZaHdPQTtFQUFxQztBWm93T3JDOztBWW53T0E7RUFBdUM7QVp1d092Qzs7QVl0d09BO0VBQXFDO0FaMHdPckM7O0FZendPQTtFQUFpQztBWjZ3T2pDOztBWTV3T0E7RUFBMEM7QVpneE8xQzs7QVkvd09BO0VBQStDO0FabXhPL0M7O0FZbHhPQTtFQUF1QztBWnN4T3ZDOztBWXJ4T0E7RUFBb0M7QVp5eE9wQzs7QVl4eE9BO0VBQXNDO0FaNHhPdEM7O0FZM3hPQTtFQUFvQztBWit4T3BDOztBWTl4T0E7RUFBbUM7QVpreU9uQzs7QVlqeU9BO0VBQWtDO0FacXlPbEM7O0FZcHlPQTtFQUFnQztBWnd5T2hDOztBWXZ5T0E7RUFBbUM7QVoyeU9uQzs7QVkxeU9BO0VBQW1DO0FaOHlPbkM7O0FZN3lPQTtFQUFnQztBWml6T2hDOztBWWh6T0E7RUFBd0M7QVpvek94Qzs7QVluek9BO0VBQWtDO0FadXpPbEM7O0FZdHpPQTtFQUEwQztBWjB6TzFDOztBWXp6T0E7RUFBbUM7QVo2ek9uQzs7QVk1ek9BO0VBQXdDO0FaZzBPeEM7O0FZL3pPQTtFQUFzQztBWm0wT3RDOztBWWwwT0E7RUFBdUM7QVpzME92Qzs7QVlyME9BO0VBQWlDO0FaeTBPakM7O0FZeDBPQTtFQUFxQztBWjQwT3JDOztBWTMwT0E7RUFBMEM7QVorME8xQzs7QVk5ME9BO0VBQTZDO0FaazFPN0M7O0FZajFPQTtFQUFtQztBWnExT25DOztBWXAxT0E7RUFBeUM7QVp3MU96Qzs7QVl2MU9BO0VBQXFDO0FaMjFPckM7O0FZMTFPQTtFQUE0QztBWjgxTzVDOztBWTcxT0E7RUFBb0M7QVppMk9wQzs7QVloMk9BO0VBQWlDO0FabzJPakM7O0FZbjJPQTtFQUEwQztBWnUyTzFDOztBWXQyT0E7RUFBMkM7QVowMk8zQzs7QVl6Mk9BO0VBQW1DO0FaNjJPbkM7O0FZNTJPQTtFQUFxQztBWmczT3JDOztBWS8yT0E7RUFBcUM7QVptM09yQzs7QVlsM09BO0VBQTBDO0FaczNPMUM7O0FZcjNPQTtFQUFvQztBWnkzT3BDOztBWXgzT0E7RUFBbUM7QVo0M09uQzs7QVkzM09BO0VBQXVDO0FaKzNPdkM7O0FZOTNPQTtFQUFpQztBWms0T2pDOztBWWo0T0E7RUFBaUM7QVpxNE9qQzs7QVlwNE9BO0VBQXdDO0FadzRPeEM7O0FZdjRPQTtFQUFpQztBWjI0T2pDOztBWTE0T0E7RUFBZ0M7QVo4NE9oQzs7QVk3NE9BO0VBQWtDO0FaaTVPbEM7O0FZaDVPQTtFQUFzQztBWm81T3RDOztBWW41T0E7RUFBdUM7QVp1NU92Qzs7QVl0NU9BO0VBQXVDO0FaMDVPdkM7O0FZejVPQTtFQUFpQztBWjY1T2pDOztBWTU1T0E7RUFBa0M7QVpnNk9sQzs7QVkvNU9BO0VBQW1DO0FabTZPbkM7O0FZbDZPQTtFQUFxQztBWnM2T3JDOztBWXI2T0E7RUFBMEM7QVp5Nk8xQzs7QVl4Nk9BO0VBQStDO0FaNDZPL0M7O0FZMzZPQTtFQUE0QztBWis2TzVDOztBWTk2T0E7RUFBbUM7QVprN09uQzs7QVlqN09BO0VBQW1DO0FacTdPbkM7O0FZcDdPQTtFQUFtQztBWnc3T25DOztBWXY3T0E7RUFBbUM7QVoyN09uQzs7QVkxN09BO0VBQXFDO0FaODdPckM7O0FZNzdPQTtFQUFxQztBWmk4T3JDOztBWWg4T0E7RUFBaUM7QVpvOE9qQzs7QVluOE9BO0VBQXNDO0FadThPdEM7O0FZdDhPQTtFQUFxQztBWjA4T3JDOztBWXo4T0E7RUFBeUM7QVo2OE96Qzs7QVk1OE9BO0VBQXdDO0FaZzlPeEM7O0FZLzhPQTtFQUErQztBWm05Ty9DOztBWWw5T0E7RUFBaUQ7QVpzOU9qRDs7QVlyOU9BO0VBQW1DO0FaeTlPbkM7O0FZeDlPQTtFQUF1QztBWjQ5T3ZDOztBWTM5T0E7RUFBOEM7QVorOU85Qzs7QVk5OU9BO0VBQXlDO0FaaytPekM7O0FZaitPQTtFQUE4QztBWnErTzlDOztBWXArT0E7RUFBcUQ7QVp3K09yRDs7QVl2K09BO0VBQWdDO0FaMitPaEM7O0FZMStPQTtFQUF3QztBWjgrT3hDOztBWTcrT0E7RUFBc0M7QVppL090Qzs7QVloL09BO0VBQXFDO0Faby9PckM7O0FZbi9PQTtFQUF1QztBWnUvT3ZDOztBWXQvT0E7RUFBK0M7QVowL08vQzs7QVl6L09BO0VBQTRDO0FaNi9PNUM7O0FZNS9PQTtFQUFnQztBWmdnUGhDOztBWS8vT0E7RUFBaUQ7QVptZ1BqRDs7QVlsZ1BBO0VBQTBDO0Fac2dQMUM7O0FZcmdQQTtFQUF5QztBWnlnUHpDOztBWXhnUEE7RUFBbUM7QVo0Z1BuQzs7QVkzZ1BBO0VBQWdDO0FaK2dQaEM7O0FZOWdQQTtFQUFvQztBWmtoUHBDOztBWWpoUEE7RUFBd0M7QVpxaFB4Qzs7QVlwaFBBO0VBQWtDO0Fad2hQbEM7O0FZdmhQQTtFQUFtQztBWjJoUG5DOztBWTFoUEE7RUFBbUM7QVo4aFBuQzs7QVk3aFBBO0VBQXdDO0FaaWlQeEM7O0FZaGlQQTtFQUFrQztBWm9pUGxDOztBWW5pUEE7RUFBaUM7QVp1aVBqQzs7QVl0aVBBO0VBQXFDO0FaMGlQckM7O0FZemlQQTtFQUF5QztBWjZpUHpDOztBWTVpUEE7RUFBdUM7QVpnalB2Qzs7QVkvaVBBO0VBQXNDO0FabWpQdEM7O0FZbGpQQTtFQUEwQztBWnNqUDFDOztBWXJqUEE7RUFBcUM7QVp5alByQzs7QVl4alBBO0VBQTBDO0FaNGpQMUM7O0FZM2pQQTtFQUF1QztBWitqUHZDOztBWTlqUEE7RUFBd0M7QVpra1B4Qzs7QVlqa1BBO0VBQXVDO0FacWtQdkM7O0FZcGtQQTtFQUF3QztBWndrUHhDOztBWXZrUEE7RUFBeUM7QVoya1B6Qzs7QVkxa1BBO0VBQWdEO0FaOGtQaEQ7O0FZN2tQQTtFQUF5QztBWmlsUHpDOztBWWhsUEE7RUFBNkM7QVpvbFA3Qzs7QVlubFBBO0VBQXFDO0FadWxQckM7O0FZdGxQQTtFQUE0QztBWjBsUDVDOztBWXpsUEE7RUFBOEM7QVo2bFA5Qzs7QVk1bFBBO0VBQTJDO0FaZ21QM0M7O0FZL2xQQTtFQUF3QztBWm1tUHhDOztBWWxtUEE7RUFBdUM7QVpzbVB2Qzs7QVlybVBBO0VBQXNDO0FaeW1QdEM7O0FZeG1QQTtFQUFpQztBWjRtUGpDOztBWTNtUEE7RUFBc0M7QVorbVB0Qzs7QVk5bVBBO0VBQWlDO0Faa25QakM7O0FZam5QQTtFQUFtQztBWnFuUG5DOztBWXBuUEE7RUFBd0M7QVp3blB4Qzs7QVl2blBBO0VBQWlDO0FaMm5QakM7O0FZMW5QQTtFQUFxQztBWjhuUHJDOztBWTduUEE7RUFBOEM7QVppb1A5Qzs7QVlob1BBO0VBQW9DO0Fab29QcEM7O0FZbm9QQTtFQUE0QztBWnVvUDVDOztBWXRvUEE7RUFBc0M7QVowb1B0Qzs7QVl6b1BBO0VBQXdDO0FaNm9QeEM7O0FZNW9QQTtFQUE0QztBWmdwUDVDOztBWS9vUEE7RUFBdUM7QVptcFB2Qzs7QVlscFBBO0VBQWlDO0Fac3BQakM7O0FZcnBQQTtFQUF3QztBWnlwUHhDOztBWXhwUEE7RUFBaUM7QVo0cFBqQzs7QVkzcFBBO0VBQTJDO0FaK3BQM0M7O0FZOXBQQTtFQUFxQztBWmtxUHJDOztBWWpxUEE7RUFBa0M7QVpxcVBsQzs7QVlwcVBBO0VBQW1DO0Fad3FQbkM7O0FZdnFQQTtFQUFzQztBWjJxUHRDOztBWTFxUEE7RUFBb0M7QVo4cVBwQzs7QVk3cVBBO0VBQWdDO0FaaXJQaEM7O0FZaHJQQTtFQUFtQztBWm9yUG5DOztBWW5yUEE7RUFBeUM7QVp1clB6Qzs7QVl0clBBO0VBQXdDO0FaMHJQeEM7O0FZenJQQTtFQUF3QztBWjZyUHhDOztBWTVyUEE7RUFBaUM7QVpnc1BqQzs7QVkvclBBO0VBQXlDO0FabXNQekM7O0FZbHNQQTtFQUE2QztBWnNzUDdDOztBWXJzUEE7RUFBOEM7QVp5c1A5Qzs7QVl4c1BBO0VBQW1EO0FaNHNQbkQ7O0FZM3NQQTtFQUFzQztBWitzUHRDOztBWTlzUEE7RUFBeUM7QVprdFB6Qzs7QVlqdFBBO0VBQTBDO0FacXRQMUM7O0FZcHRQQTtFQUF5QztBWnd0UHpDOztBWXZ0UEE7RUFBNkM7QVoydFA3Qzs7QVkxdFBBO0VBQXFDO0FaOHRQckM7O0FZN3RQQTtFQUFvQztBWml1UHBDOztBWWh1UEE7RUFBdUM7QVpvdVB2Qzs7QVludVBBO0VBQTJDO0FadXVQM0M7O0FZdHVQQTtFQUFvQztBWjB1UHBDOztBWXp1UEE7RUFBaUM7QVo2dVBqQzs7QVk1dVBBO0VBQWtDO0FaZ3ZQbEM7O0FZL3VQQTtFQUF1QztBWm12UHZDOztBWWx2UEE7RUFBb0M7QVpzdlBwQzs7QVlydlBBO0VBQTBDO0FaeXZQMUM7O0FZeHZQQTtFQUFtQztBWjR2UG5DOztBWTN2UEE7RUFBOEM7QVordlA5Qzs7QVk5dlBBO0VBQTRDO0Faa3dQNUM7O0FZandQQTtFQUFvQztBWnF3UHBDOztBWXB3UEE7RUFBcUM7QVp3d1ByQzs7QVl2d1BBO0VBQWtDO0FaMndQbEM7O0FZMXdQQTtFQUFnQztBWjh3UGhDOztBWTd3UEE7RUFBdUM7QVppeFB2Qzs7QVloeFBBO0VBQXVDO0Fab3hQdkM7O0FZbnhQQTtFQUErQjtBWnV4UC9COztBWXR4UEE7RUFBc0M7QVoweFB0Qzs7QVl6eFBBO0VBQWtDO0FaNnhQbEM7O0FZNXhQQTtFQUFpQztBWmd5UGpDOztBWS94UEE7RUFBa0M7QVpteVBsQzs7QVlseVBBO0VBQWdDO0Fac3lQaEM7O0FZcnlQQTtFQUFvQztBWnl5UHBDOztBWXh5UEE7RUFBdUM7QVo0eVB2Qzs7QVkzeVBBO0VBQW1DO0FaK3lQbkM7O0FZOXlQQTtFQUF1QztBWmt6UHZDOztBWWp6UEE7RUFBMEM7QVpxelAxQzs7QVlwelBBO0VBQXNDO0Fad3pQdEM7O0FZdnpQQTtFQUFtQztBWjJ6UG5DOztBWTF6UEE7RUFBbUM7QVo4elBuQzs7QVk3elBBO0VBQXlDO0FaaTBQekM7O0FZaDBQQTtFQUEwQztBWm8wUDFDOztBWW4wUEE7RUFBOEM7QVp1MFA5Qzs7QVl0MFBBO0VBQTBDO0FaMDBQMUM7O0FZejBQQTtFQUFvQztBWjYwUHBDOztBWTUwUEE7RUFBa0M7QVpnMVBsQzs7QVkvMFBBO0VBQW9DO0FabTFQcEM7O0FZbDFQQTtFQUFrQztBWnMxUGxDOztBWXIxUEE7RUFBeUM7QVp5MVB6Qzs7QVl4MVBBO0VBQTJDO0FaNDFQM0M7O0FZMzFQQTtFQUF1QztBWisxUHZDOztBWTkxUEE7RUFBeUM7QVprMlB6Qzs7QVlqMlBBO0VBQW1DO0FacTJQbkM7O0FZcDJQQTtFQUFzQztBWncyUHRDOztBWXYyUEE7RUFBc0M7QVoyMlB0Qzs7QVkxMlBBO0VBQXdDO0FaODJQeEM7O0FZNzJQQTtFQUFtQztBWmkzUG5DOztBWWgzUEE7RUFBeUM7QVpvM1B6Qzs7QVluM1BBO0VBQXVDO0FadTNQdkM7O0FZdDNQQTtFQUF3QztBWjAzUHhDOztBWXozUEE7RUFBd0M7QVo2M1B4Qzs7QVk1M1BBO0VBQTBDO0FaZzRQMUM7O0FZLzNQQTtFQUErQztBWm00UC9DOztBWWw0UEE7RUFBMEM7QVpzNFAxQzs7QVlyNFBBO0VBQW9DO0FaeTRQcEM7O0FZeDRQQTtFQUEyQztBWjQ0UDNDOztBWTM0UEE7RUFBcUM7QVorNFByQzs7QVk5NFBBO0VBQWlDO0FaazVQakM7O0FZajVQQTtFQUF5QztBWnE1UHpDOztBWXA1UEE7RUFBK0M7QVp3NVAvQzs7QVl2NVBBO0VBQW9DO0FaMjVQcEM7O0FZMTVQQTtFQUFpQztBWjg1UGpDOztBWTc1UEE7RUFBcUM7QVppNlByQzs7QVloNlBBO0VBQXNDO0FabzZQdEM7O0FZbjZQQTtFQUE0QztBWnU2UDVDOztBWXQ2UEE7RUFBd0M7QVowNlB4Qzs7QVl6NlBBO0VBQXdDO0FaNjZQeEM7O0FZNTZQQTtFQUE4QztBWmc3UDlDOztBWS82UEE7RUFBdUM7QVptN1B2Qzs7QVlsN1BBO0VBQXVDO0FaczdQdkM7O0FZcjdQQTtFQUF3QztBWnk3UHhDOztBWXg3UEE7RUFBK0M7QVo0N1AvQzs7QVkzN1BBO0VBQTZDO0FaKzdQN0M7O0FZOTdQQTtFQUFzQztBWms4UHRDOztBWWo4UEE7RUFBNEM7QVpxOFA1Qzs7QVlwOFBBO0VBQXVDO0FadzhQdkM7O0FZdjhQQTtFQUFnRDtBWjI4UGhEOztBWTE4UEE7RUFBMEM7QVo4OFAxQzs7QVk3OFBBO0VBQXFDO0FaaTlQckM7O0FZaDlQQTtFQUFrQztBWm85UGxDOztBWW45UEE7RUFBb0M7QVp1OVBwQzs7QVl0OVBBO0VBQW1DO0FaMDlQbkM7O0FZejlQQTtFQUFpQztBWjY5UGpDOztBWTU5UEE7RUFBcUM7QVpnK1ByQzs7QVkvOVBBO0VBQXdDO0FabStQeEM7O0FZbCtQQTtFQUErQztBWnMrUC9DOztBWXIrUEE7RUFBdUM7QVp5K1B2Qzs7QVl4K1BBO0VBQXNDO0FaNCtQdEM7O0FZMytQQTtFQUFtQztBWisrUG5DOztBWTkrUEE7RUFBa0M7QVprL1BsQzs7QVlqL1BBO0VBQXlDO0FacS9QekM7O0FZcC9QQTtFQUErQztBWncvUC9DOztBWXYvUEE7RUFBaUQ7QVoyL1BqRDs7QVkxL1BBO0VBQTZDO0FaOC9QN0M7O0FZNy9QQTtFQUErQztBWmlnUS9DOztBWWhnUUE7RUFBd0M7QVpvZ1F4Qzs7QVluZ1FBO0VBQStDO0FadWdRL0M7O0FZdGdRQTtFQUF1QztBWjBnUXZDOztBWXpnUUE7RUFBdUM7QVo2Z1F2Qzs7QVk1Z1FBO0VBQTRDO0FaZ2hRNUM7O0FZL2dRQTtFQUE0QztBWm1oUTVDOztBWWxoUUE7RUFBNkM7QVpzaFE3Qzs7QVlyaFFBO0VBQTBDO0FaeWhRMUM7O0FZeGhRQTtFQUF5QztBWjRoUXpDOztBWTNoUUE7RUFBc0M7QVoraFF0Qzs7QVk5aFFBO0VBQTBDO0Faa2lRMUM7O0FZamlRQTtFQUEwQztBWnFpUTFDOztBWXBpUUE7RUFBdUM7QVp3aVF2Qzs7QVl2aVFBO0VBQWtDO0FaMmlRbEM7O0FZMWlRQTtFQUEwQztBWjhpUTFDOztBWTdpUUE7RUFBdUM7QVppalF2Qzs7QVloalFBO0VBQXNDO0Fab2pRdEM7O0FZbmpRQTtFQUFnRDtBWnVqUWhEOztBWXRqUUE7RUFBNEM7QVowalE1Qzs7QVl6alFBO0VBQXFDO0FaNmpRckM7O0FZNWpRQTtFQUFxQztBWmdrUXJDOztBWS9qUUE7RUFBb0M7QVpta1FwQzs7QVlsa1FBO0VBQXVDO0Fac2tRdkM7O0FZcmtRQTtFQUE0QztBWnlrUTVDOztBWXhrUUE7RUFBdUM7QVo0a1F2Qzs7QVkza1FBO0VBQWdDO0FaK2tRaEM7O0FZOWtRQTtFQUE0QztBWmtsUTVDOztBWWpsUUE7RUFBa0Q7QVpxbFFsRDs7QVlwbFFBO0VBQTJDO0Fad2xRM0M7O0FZdmxRQTtFQUE0QztBWjJsUTVDOztBWTFsUUE7RUFBb0M7QVo4bFFwQzs7QVk3bFFBO0VBQXVDO0FaaW1RdkM7O0FZaG1RQTtFQUEyQztBWm9tUTNDOztBWW5tUUE7RUFBb0M7QVp1bVFwQzs7QVl0bVFBO0VBQWtDO0FaMG1RbEM7O0FZem1RQTtFQUF5QztBWjZtUXpDOztBWTVtUUE7RUFBc0M7QVpnblF0Qzs7QVkvbVFBO0VBQXVDO0FabW5RdkM7O0FZbG5RQTtFQUF3QztBWnNuUXhDOztBWXJuUUE7RUFBbUM7QVp5blFuQzs7QVl4blFBO0VBQWtDO0FaNG5RbEM7O0FZM25RQTtFQUFpQztBWituUWpDOztBWTluUUE7RUFBMEM7QVprb1ExQzs7QVlqb1FBO0VBQW9DO0FacW9RcEM7O0FZcG9RQTtFQUFpQztBWndvUWpDOztBWXZvUUE7RUFBd0M7QVoyb1F4Qzs7QVkxb1FBO0VBQXdDO0FaOG9ReEM7O0FZN29RQTtFQUFpQztBWmlwUWpDOztBWWhwUUE7RUFBa0M7QVpvcFFsQzs7QVlucFFBO0VBQXFDO0FadXBRckM7O0FZdHBRQTtFQUFrQztBWjBwUWxDOztBWXpwUUE7RUFBdUM7QVo2cFF2Qzs7QVk1cFFBO0VBQXFDO0FaZ3FRckM7O0FZL3BRQTtFQUF5QztBWm1xUXpDOztBWWxxUUE7RUFBNEM7QVpzcVE1Qzs7QVlycVFBO0VBQTBDO0FaeXFRMUM7O0FZeHFRQTtFQUFvQztBWjRxUXBDOztBWTNxUUE7RUFBbUM7QVorcVFuQzs7QVk5cVFBO0VBQWtDO0Faa3JRbEM7O0FZanJRQTtFQUFtQztBWnFyUW5DOztBWXByUUE7RUFBc0M7QVp3clF0Qzs7QVl2clFBO0VBQTBDO0FaMnJRMUM7O0FZMXJRQTtFQUEyQztBWjhyUTNDOztBWTdyUUE7RUFBNEM7QVppc1E1Qzs7QVloc1FBO0VBQXlDO0Fab3NRekM7O0FZbnNRQTtFQUF1QztBWnVzUXZDOztBWXRzUUE7RUFBa0M7QVowc1FsQzs7QVl6c1FBO0VBQW9DO0FaNnNRcEM7O0FZNXNRQTtFQUFrQztBWmd0UWxDOztBWS9zUUE7RUFBb0M7QVptdFFwQzs7QVlsdFFBO0VBQXFDO0Fac3RRckM7O0FZcnRRQTtFQUFzQztBWnl0UXRDOztBWXh0UUE7RUFBb0M7QVo0dFFwQzs7QVkzdFFBO0VBQWtDO0FaK3RRbEM7O0FZOXRRQTtFQUFxQztBWmt1UXJDOztBWWp1UUE7RUFBb0M7QVpxdVFwQzs7QVlwdVFBO0VBQXdDO0Fad3VReEM7O0FZdnVRQTtFQUFrQztBWjJ1UWxDOztBWTF1UUE7RUFBa0M7QVo4dVFsQzs7QVk3dVFBO0VBQWtDO0FaaXZRbEM7O0FZaHZRQTtFQUFtQztBWm92UW5DOztBWW52UUE7RUFBaUM7QVp1dlFqQzs7QVl0dlFBO0VBQWtDO0FaMHZRbEM7O0FZenZRQTtFQUFtQztBWjZ2UW5DOztBWTV2UUE7RUFBcUM7QVpnd1FyQzs7QVkvdlFBO0VBQXFDO0FabXdRckM7O0FZbHdRQTtFQUFpQztBWnN3UWpDOztBWXJ3UUE7RUFBd0M7QVp5d1F4Qzs7QVl4d1FBO0VBQXFDO0FaNHdRckM7O0FZM3dRQTtFQUFzQztBWit3UXRDOztBWTl3UUE7RUFBNkM7QVpreFE3Qzs7QVlqeFFBO0VBQXFDO0FacXhRckM7O0FZcHhRQTtFQUFxQztBWnd4UXJDOztBWXZ4UUE7RUFBOEM7QVoyeFE5Qzs7QVkxeFFBO0VBQXFDO0FaOHhRckM7O0FZN3hRQTtFQUFvQztBWml5UXBDOztBWWh5UUE7RUFBbUM7QVpveVFuQzs7QVlueVFBO0VBQW9DO0FadXlRcEM7O0FZdHlRQTtFQUFtQztBWjB5UW5DOztBWXp5UUE7RUFBd0M7QVo2eVF4Qzs7QVk1eVFBO0VBQWlDO0FaZ3pRakM7O0FZL3lRQTtFQUFpQztBWm16UWpDOztBWWx6UUE7RUFBdUM7QVpzelF2Qzs7QVlyelFBO0VBQW9DO0FaeXpRcEM7O0FZeHpRQTtFQUFpQztBWjR6UWpDOztBWTN6UUE7RUFBa0M7QVorelFsQzs7QVk5elFBO0VBQWtDO0FaazBRbEM7O0FZajBRQTtFQUFtQztBWnEwUW5DOztBWXAwUUE7RUFBMkM7QVp3MFEzQzs7QVl2MFFBO0VBQStCO0FaMjBRL0I7O0FZMTBRQTtFQUFzQztBWjgwUXRDOztBWTcwUUE7RUFBcUM7QVppMVFyQzs7QVloMVFBO0VBQWtDO0FabzFRbEM7O0FZbjFRQTtFQUFtQztBWnUxUW5DOztBWXQxUUE7RUFBZ0M7QVowMVFoQzs7QVl6MVFBO0VBQW9DO0FaNjFRcEM7O0FZNTFRQTtFQUFxQztBWmcyUXJDOztBWS8xUUE7RUFBbUM7QVptMlFuQzs7QVlsMlFBO0VBQW1DO0FaczJRbkM7O0FZcjJRQTtFQUF3QztBWnkyUXhDOztBWXgyUUE7RUFBMEM7QVo0MlExQzs7QVkzMlFBO0VBQWlDO0FaKzJRakM7O0FZOTJRQTtFQUFzQztBWmszUXRDOztBWWozUUE7RUFBNEM7QVpxM1E1Qzs7QVlwM1FBO0VBQXNDO0FadzNRdEM7O0FZdjNRQTtFQUFtQztBWjIzUW5DOztBWTEzUUE7RUFBcUM7QVo4M1FyQzs7QVk3M1FBO0VBQXFDO0FaaTRRckM7O0FZaDRRQTtFQUFtQztBWm80UW5DOztBWW40UUE7RUFBd0M7QVp1NFF4Qzs7QVl0NFFBO0VBQXlDO0FaMDRRekM7O0FZejRRQTtFQUEyQztBWjY0UTNDOztBWTU0UUE7RUFBb0M7QVpnNVFwQzs7QVkvNFFBO0VBQW1DO0FabTVRbkM7O0FZbDVRQTtFQUEwQztBWnM1UTFDOztBWXI1UUE7RUFBa0M7QVp5NVFsQzs7QVl4NVFBO0VBQXVDO0FaNDVRdkM7O0FZMzVRQTtFQUF5QztBWis1UXpDOztBWTk1UUE7RUFBdUM7QVprNlF2Qzs7QVlqNlFBO0VBQXdDO0FacTZReEM7O0FZcDZRQTtFQUFpQztBWnc2UWpDOztBWXY2UUE7RUFBb0M7QVoyNlFwQzs7QVkxNlFBO0VBQWtDO0FaODZRbEM7O0FZNzZRQTtFQUFpQztBWmk3UWpDOztBWWg3UUE7RUFBc0M7QVpvN1F0Qzs7QVluN1FBO0VBQTRDO0FadTdRNUM7O0FZdDdRQTtFQUEyQztBWjA3UTNDOztBWXo3UUE7RUFBeUM7QVo2N1F6Qzs7QVk1N1FBO0VBQXNDO0FaZzhRdEM7O0FZLzdRQTtFQUFzQztBWm04UXRDOztBWWw4UUE7RUFBaUM7QVpzOFFqQzs7QVlyOFFBO0VBQWlDO0FaeThRakM7O0FZeDhRQTtFQUFxQztBWjQ4UXJDOztBWTM4UUE7RUFBd0M7QVorOFF4Qzs7QVk5OFFBO0VBQW1DO0FaazlRbkM7O0FZajlRQTtFQUFrQztBWnE5UWxDOztBWXA5UUE7RUFBc0M7QVp3OVF0Qzs7QVl2OVFBO0VBQWlDO0FaMjlRakM7O0FZMTlRQTtFQUFxQztBWjg5UXJDOztBWTc5UUE7RUFBb0M7QVppK1FwQzs7QVloK1FBO0VBQW9DO0FabytRcEM7O0FZbitRQTtFQUEyQztBWnUrUTNDOztBWXQrUUE7RUFBaUM7QVowK1FqQzs7QVl6K1FBO0VBQXNDO0FaNitRdEM7O0FZNStRQTtFQUFnRDtBWmcvUWhEOztBWS8rUUE7RUFBZ0Q7QVptL1FoRDs7QVlsL1FBO0VBQWlEO0Facy9RakQ7O0FZci9RQTtFQUE4QztBWnkvUTlDOztBWXgvUUE7RUFBdUM7QVo0L1F2Qzs7QVkzL1FBO0VBQXlDO0FaKy9RekM7O0FZOS9RQTtFQUFrQztBWmtnUmxDOztBWWpnUkE7RUFBd0M7QVpxZ1J4Qzs7QVlwZ1JBO0VBQWlDO0Fad2dSakM7O0FZdmdSQTtFQUFvQztBWjJnUnBDOztBWTFnUkE7RUFBa0M7QVo4Z1JsQzs7QVk3Z1JBO0VBQW1DO0FaaWhSbkM7O0FZaGhSQTtFQUFzQztBWm9oUnRDOztBWW5oUkE7RUFBc0M7QVp1aFJ0Qzs7QVl0aFJBO0VBQWlDO0FaMGhSakM7O0FZemhSQTtFQUF3QztBWjZoUnhDOztBWTVoUkE7RUFBZ0M7QVpnaVJoQzs7QVkvaFJBO0VBQXVDO0FabWlSdkM7O0FZbGlSQTtFQUEyQztBWnNpUjNDOztBWXJpUkE7RUFBdUM7QVp5aVJ2Qzs7QVl4aVJBO0VBQTJDO0FaNGlSM0M7O0FZM2lSQTtFQUFvQztBWitpUnBDOztBWTlpUkE7RUFBc0M7QVpralJ0Qzs7QVlqalJBO0VBQXFDO0FacWpSckM7O0FZcGpSQTtFQUFtQztBWndqUm5DOztBWXZqUkE7RUFBaUM7QVoyalJqQzs7QVkxalJBO0VBQXdDO0FaOGpSeEM7O0FZN2pSQTtFQUF3QztBWmlrUnhDOztBWWhrUkE7RUFBMEM7QVpva1IxQzs7QVlua1JBO0VBQTBDO0FadWtSMUM7O0FZdGtSQTtFQUFpQztBWjBrUmpDOztBWXprUkE7RUFBcUM7QVo2a1JyQzs7QVk1a1JBO0VBQW1DO0FaZ2xSbkM7O0FZL2tSQTtFQUFnQztBWm1sUmhDOztBWWxsUkE7RUFBa0M7QVpzbFJsQzs7QVlybFJBO0VBQW9DO0FaeWxScEM7O0FZeGxSQTtFQUFtQztBWjRsUm5DOztBWTNsUkE7RUFBcUM7QVorbFJyQzs7QVk5bFJBO0VBQW1DO0Faa21SbkM7O0FZam1SQTtFQUFrQztBWnFtUmxDOztBWXBtUkE7RUFBbUM7QVp3bVJuQzs7QVl2bVJBO0VBQXFDO0FaMm1SckM7O0FZMW1SQTtFQUFnQztBWjhtUmhDOztBWTdtUkE7RUFBc0M7QVppblJ0Qzs7QVloblJBO0VBQTZDO0Fab25SN0M7O0FZbm5SQTtFQUFtQztBWnVuUm5DOztBWXRuUkE7RUFBcUM7QVowblJyQzs7QVl6blJBO0VBQW9DO0FaNm5ScEM7O0FZNW5SQTtFQUFvQztBWmdvUnBDOztBWS9uUkE7RUFBbUM7QVptb1JuQzs7QVlsb1JBO0VBQXNDO0Fac29SdEM7O0FZcm9SQTtFQUFzQztBWnlvUnRDOztBWXhvUkE7RUFBdUM7QVo0b1J2Qzs7QVkzb1JBO0VBQTJDO0FaK29SM0M7O0FZOW9SQTtFQUFpRDtBWmtwUmpEOztBWWpwUkE7RUFBNkM7QVpxcFI3Qzs7QVlwcFJBO0VBQXVDO0Fad3BSdkM7O0FZdnBSQTtFQUFzQztBWjJwUnRDOztBWTFwUkE7RUFBa0M7QVo4cFJsQzs7QVk3cFJBO0VBQXlDO0FaaXFSekM7O0FZaHFSQTtFQUF5QztBWm9xUnpDOztBWW5xUkE7RUFBbUM7QVp1cVJuQzs7QVl0cVJBO0VBQWdDO0FaMHFSaEM7O0FZenFSQTtFQUFxQztBWjZxUnJDOztBWTVxUkE7RUFBa0M7QVpnclJsQzs7QVkvcVJBO0VBQW1DO0FabXJSbkM7O0FZbHJSQTtFQUFtQztBWnNyUm5DOztBWXJyUkE7RUFBdUM7QVp5clJ2Qzs7QVl4clJBO0VBQWlDO0FaNHJSakM7O0FZM3JSQTtFQUFtQztBWityUm5DOztBWTlyUkE7RUFBdUM7QVprc1J2Qzs7QVlqc1JBO0VBQTJDO0FacXNSM0M7O0FZcHNSQTtFQUE0QztBWndzUjVDOztBWXZzUkE7RUFBZ0Q7QVoyc1JoRDs7QVkxc1JBO0VBQXdDO0FaOHNSeEM7O0FZN3NSQTtFQUE0QztBWml0UjVDOztBWWh0UkE7RUFBcUM7QVpvdFJyQzs7QVludFJBO0VBQWlDO0FadXRSakM7O0FZdHRSQTtFQUEwQztBWjB0UjFDOztBWXp0UkE7RUFBbUM7QVo2dFJuQzs7QVk1dFJBO0VBQXVDO0FaZ3VSdkM7O0FZL3RSQTtFQUFxQztBWm11UnJDOztBWWx1UkE7RUFBa0M7QVpzdVJsQzs7QVlydVJBO0VBQTBDO0FaeXVSMUM7O0FZeHVSQTtFQUFvQztBWjR1UnBDOztBWTN1UkE7RUFBa0M7QVordVJsQzs7QVk5dVJBO0VBQW9DO0Faa3ZScEM7O0FZanZSQTtFQUFpQztBWnF2UmpDOztBWXB2UkE7RUFBMEM7QVp3dlIxQzs7QVl2dlJBO0VBQW1DO0FaMnZSbkM7O0FZMXZSQTtFQUFzQztBWjh2UnRDOztBWTd2UkE7RUFBbUM7QVppd1JuQzs7QVlod1JBO0VBQWlDO0Fab3dSakM7O0FZbndSQTtFQUFvQztBWnV3UnBDOztBWXR3UkE7RUFBc0M7QVowd1J0Qzs7QVl6d1JBO0VBQTBDO0FaNndSMUM7O0FZNXdSQTtFQUFnQztBWmd4UmhDOztBWS93UkE7RUFBZ0M7QVpteFJoQzs7QVlseFJBO0VBQXdDO0Fac3hSeEM7O0FZcnhSQTtFQUF5QztBWnl4UnpDOztBWXh4UkE7RUFBMkM7QVo0eFIzQzs7QVkzeFJBO0VBQTJDO0FaK3hSM0M7O0FZOXhSQTtFQUEwQztBWmt5UjFDOztBWWp5UkE7RUFBaUQ7QVpxeVJqRDs7QVlweVJBO0VBQW9DO0Fad3lScEM7O0FZdnlSQTtFQUF5QztBWjJ5UnpDOztBWTF5UkE7RUFBK0I7QVo4eVIvQjs7QVk3eVJBO0VBQXFDO0FaaXpSckM7O0FZaHpSQTtFQUFtQztBWm96Um5DOztBWW56UkE7RUFBa0M7QVp1elJsQzs7QVl0elJBO0VBQTBDO0FaMHpSMUM7O0FZenpSQTtFQUFrQztBWjZ6UmxDOztBWTV6UkE7RUFBZ0M7QVpnMFJoQzs7QVkvelJBO0VBQWtDO0FabTBSbEM7O0FZbDBSQTtFQUFvQztBWnMwUnBDOztBWXIwUkE7RUFBa0M7QVp5MFJsQzs7QVl4MFJBO0VBQXNDO0FaNDBSdEM7O0FZMzBSQTtFQUFrQztBWiswUmxDOztBWTkwUkE7RUFBd0M7QVprMVJ4Qzs7QVlqMVJBO0VBQXlDO0FacTFSekM7O0FZcDFSQTtFQUFvQztBWncxUnBDOztBWXYxUkE7RUFBbUM7QVoyMVJuQzs7QVkxMVJBO0VBQW1DO0FaODFSbkM7O0FZNzFSQTtFQUF3QztBWmkyUnhDOztBWWgyUkE7RUFBc0M7QVpvMlJ0Qzs7QVluMlJBO0VBQTBDO0FadTJSMUM7O0FZdDJSQTtFQUFzQztBWjAyUnRDOztBWXoyUkE7RUFBb0M7QVo2MlJwQzs7QVk1MlJBO0VBQXFDO0FaZzNSckM7O0FZLzJSQTtFQUEyQztBWm0zUjNDOztBWWwzUkE7RUFBa0M7QVpzM1JsQzs7QVlyM1JBO0VBQW9DO0FaeTNScEM7O0FZeDNSQTtFQUFrQztBWjQzUmxDOztBWTMzUkE7RUFBeUM7QVorM1J6Qzs7QVk5M1JBO0VBQWdDO0FaazRSaEM7O0FZajRSQTtFQUFtQztBWnE0Um5DOztBWXA0UkE7RUFBa0M7QVp3NFJsQzs7QVl2NFJBO0VBQWdDO0FaMjRSaEM7O0FZMTRSQTtFQUFvQztBWjg0UnBDOztBWTc0UkE7RUFBc0M7QVppNVJ0Qzs7QVloNVJBO0VBQW9DO0FabzVScEM7O0FZbjVSQTtFQUF1QztBWnU1UnZDOztBWXQ1UkE7RUFBdUM7QVowNVJ2Qzs7QVl6NVJBO0VBQXlDO0FaNjVSekM7O0FZNTVSQTtFQUF5QztBWmc2UnpDOztBWS81UkE7RUFBMEM7QVptNlIxQzs7QVlsNlJBO0VBQXlDO0FaczZSekM7O0FZcjZSQTtFQUF1QztBWnk2UnZDOztBWXg2UkE7RUFBb0M7QVo0NlJwQzs7QVkzNlJBO0VBQW9DO0FaKzZScEM7O0FZOTZSQTtFQUF1QztBWms3UnZDOztBWWo3UkE7RUFBc0M7QVpxN1J0Qzs7QVlwN1JBO0VBQXlDO0FadzdSekM7O0FZdjdSQTtFQUF3QztBWjI3UnhDOztBWTE3UkE7RUFBOEM7QVo4N1I5Qzs7QVk3N1JBO0VBQTZDO0FaaThSN0M7O0FZaDhSQTtFQUFrQztBWm84UmxDOztBWW44UkE7RUFBc0M7QVp1OFJ0Qzs7QVl0OFJBO0VBQXdDO0FaMDhSeEM7O0FZejhSQTtFQUF5QztBWjY4UnpDOztBWTU4UkE7RUFBNkM7QVpnOVI3Qzs7QVkvOFJBO0VBQXlDO0FabTlSekM7O0FZbDlSQTtFQUF3QztBWnM5UnhDOztBWXI5UkE7RUFBZ0M7QVp5OVJoQzs7QVl4OVJBO0VBQXVDO0FaNDlSdkM7O0FZMzlSQTtFQUEyQztBWis5UjNDOztBWTk5UkE7RUFBMkM7QVprK1IzQzs7QVlqK1JBO0VBQTBDO0FacStSMUM7O0FZcCtSQTtFQUE4QztBWncrUjlDOztBWXYrUkE7RUFBdUM7QVoyK1J2Qzs7QVkxK1JBO0VBQWtDO0FaOCtSbEM7O0FZNytSQTtFQUFzQztBWmkvUnRDOztBWWgvUkE7RUFBd0M7QVpvL1J4Qzs7QVluL1JBO0VBQTZDO0FadS9SN0M7O0FZdC9SQTtFQUF3QztBWjAvUnhDOztBWXovUkE7RUFBNkM7QVo2L1I3Qzs7QVk1L1JBO0VBQWtDO0FaZ2dTbEM7O0FZLy9SQTtFQUEwQztBWm1nUzFDOztBWWxnU0E7RUFBNEM7QVpzZ1M1Qzs7QVlyZ1NBO0VBQXdDO0FaeWdTeEM7O0FZeGdTQTtFQUFpQztBWjRnU2pDOztBWTNnU0E7RUFBd0M7QVorZ1N4Qzs7QVk5Z1NBO0VBQXdDO0Faa2hTeEM7O0FZamhTQTtFQUFpQztBWnFoU2pDOztBWXBoU0E7RUFBaUM7QVp3aFNqQzs7QVl2aFNBO0VBQXdDO0FaMmhTeEM7O0FZMWhTQTtFQUF3QztBWjhoU3hDOztBWTdoU0E7RUFBb0M7QVppaVNwQzs7QVloaVNBO0VBQWlDO0Fab2lTakM7O0FZbmlTQTtFQUFtQztBWnVpU25DOztBWXRpU0E7RUFBZ0M7QVowaVNoQzs7QVl6aVNBO0VBQXNDO0FaNmlTdEM7O0FZNWlTQTtFQUFpQztBWmdqU2pDOztBWS9pU0E7RUFBcUM7QVptalNyQzs7QVlsalNBO0VBQXVDO0Fac2pTdkM7O0FZcmpTQTtFQUFzQztBWnlqU3RDOztBWXhqU0E7RUFBaUM7QVo0alNqQzs7QVkzalNBO0VBQTBDO0FaK2pTMUM7O0FZOWpTQTtFQUF5QztBWmtrU3pDOztBWWprU0E7RUFBZ0Q7QVpxa1NoRDs7QVlwa1NBO0VBQW9EO0Fad2tTcEQ7O0FZdmtTQTtFQUFrQztBWjJrU2xDOztBWTFrU0E7RUFBdUM7QVo4a1N2Qzs7QVk3a1NBO0VBQXlDO0FaaWxTekM7O0FZaGxTQTtFQUE0QztBWm9sUzVDOztBWW5sU0E7RUFBeUM7QVp1bFN6Qzs7QVl0bFNBO0VBQXNDO0FaMGxTdEM7O0FZemxTQTtFQUFtQztBWjZsU25DOztBWTVsU0E7RUFBeUM7QVpnbVN6Qzs7QVkvbFNBO0VBQW1DO0FabW1TbkM7O0FZbG1TQTtFQUErQjtBWnNtUy9COztBWXJtU0E7RUFBbUM7QVp5bVNuQzs7QVl4bVNBO0VBQXFDO0FaNG1TckM7O0FZM21TQTtFQUE0QztBWittUzVDOztBWTltU0E7RUFBc0M7QVprblN0Qzs7QVlqblNBO0VBQXNDO0FacW5TdEM7O0FZcG5TQTtFQUFrQztBWnduU2xDOztBWXZuU0E7RUFBdUM7QVoyblN2Qzs7QVkxblNBO0VBQXdDO0FaOG5TeEM7O0FZN25TQTtFQUFrQztBWmlvU2xDOztBWWhvU0E7RUFBc0M7QVpvb1N0Qzs7QVlub1NBO0VBQXNDO0FadW9TdEM7O0FZdG9TQTtFQUEwQztBWjBvUzFDOztBWXpvU0E7RUFBb0M7QVo2b1NwQzs7QVk1b1NBO0VBQW1DO0FaZ3BTbkM7O0FZL29TQTtFQUF5QztBWm1wU3pDOztBWWxwU0E7RUFBb0M7QVpzcFNwQzs7QVlycFNBO0VBQWtDO0FaeXBTbEM7O0FZeHBTQTtFQUF3QztBWjRwU3hDOztBWTNwU0E7RUFBbUM7QVorcFNuQzs7QVk5cFNBO0VBQWtDO0Faa3FTbEM7O0FZanFTQTtFQUFvQztBWnFxU3BDOztBWXBxU0E7RUFBeUM7QVp3cVN6Qzs7QVl2cVNBO0VBQW9DO0FaMnFTcEM7O0FZMXFTQTtFQUFzQztBWjhxU3RDOztBWTdxU0E7RUFBbUM7QVppclNuQzs7QVloclNBO0VBQXlDO0Fab3JTekM7O0FZbnJTQTtFQUEwQztBWnVyUzFDOztBWXRyU0E7RUFBbUM7QVowclNuQzs7QVl6clNBO0VBQWlDO0FaNnJTakM7O0FZNXJTQTtFQUFxQztBWmdzU3JDOztBWS9yU0E7RUFBdUM7QVptc1N2Qzs7QVlsc1NBO0VBQTBDO0Fac3NTMUM7O0FZcnNTQTtFQUFtQztBWnlzU25DOztBWXhzU0E7RUFBa0M7QVo0c1NsQzs7QVkzc1NBO0VBQXNDO0FaK3NTdEM7O0FZOXNTQTtFQUFtQztBWmt0U25DOztBWWp0U0E7RUFBdUM7QVpxdFN2Qzs7QVlwdFNBO0VBQXlDO0Fad3RTekM7O0FZdnRTQTtFQUFzQztBWjJ0U3RDOztBWTF0U0E7RUFBcUM7QVo4dFNyQzs7QVk3dFNBO0VBQW9DO0FaaXVTcEM7O0FZaHVTQTtFQUFnQztBWm91U2hDOztBWW51U0E7RUFBbUM7QVp1dVNuQzs7QVl0dVNBO0VBQWlDO0FaMHVTakM7O0FZenVTQTtFQUFpQztBWjZ1U2pDOztBWTV1U0E7RUFBa0M7QVpndlNsQzs7QVkvdVNBO0VBQW1DO0FabXZTbkM7O0FZbHZTQTtFQUF1QztBWnN2U3ZDOztBWXJ2U0E7RUFBb0M7QVp5dlNwQzs7QVl4dlNBO0VBQWtDO0FaNHZTbEM7O0FZM3ZTQTtFQUFnQztBWit2U2hDOztBWTl2U0E7RUFBdUM7QVprd1N2Qzs7QVlqd1NBO0VBQXVDO0FacXdTdkM7O0FZcHdTQTtFQUFrQztBWnd3U2xDOztBWXZ3U0E7RUFBMkM7QVoyd1MzQzs7QVkxd1NBO0VBQTZDO0FaOHdTN0M7O0FZN3dTQTtFQUEyQztBWml4UzNDOztBWWh4U0E7RUFBb0M7QVpveFNwQzs7QVlueFNBO0VBQXVDO0FadXhTdkM7O0FZdHhTQTtFQUFpQztBWjB4U2pDOztBWXp4U0E7RUFBb0M7QVo2eFNwQzs7QVk1eFNBO0VBQXFDO0FaZ3lTckM7O0FZL3hTQTtFQUFtQztBWm15U25DOztBWWx5U0E7RUFBdUM7QVpzeVN2Qzs7QVlyeVNBO0VBQWlDO0FaeXlTakM7O0FZeHlTQTtFQUFzQztBWjR5U3RDOztBWTN5U0E7RUFBMkM7QVoreVMzQzs7QVk5eVNBO0VBQWlDO0Faa3pTakM7O0FZanpTQTtFQUFtQztBWnF6U25DOztBWXB6U0E7RUFBbUM7QVp3elNuQzs7QVl2elNBO0VBQXdDO0FaMnpTeEM7O0FZMXpTQTtFQUFtQztBWjh6U25DOztBWTd6U0E7RUFBbUM7QVppMFNuQzs7QVloMFNBO0VBQW9DO0FabzBTcEM7O0FZbjBTQTtFQUFtQztBWnUwU25DOztBWXQwU0E7RUFBMEM7QVowMFMxQzs7QVl6MFNBO0VBQTRDO0FaNjBTNUM7O0FZNTBTQTtFQUF5QztBWmcxU3pDOztBWS8wU0E7RUFBd0M7QVptMVN4Qzs7QVlsMVNBO0VBQXdDO0FaczFTeEM7O0FZcjFTQTtFQUFxQztBWnkxU3JDOztBWXgxU0E7RUFBcUM7QVo0MVNyQzs7QVkzMVNBO0VBQW1DO0FaKzFTbkM7O0FZOTFTQTtFQUFtQztBWmsyU25DOztBWWoyU0E7RUFBeUM7QVpxMlN6Qzs7QVlwMlNBO0VBQW1DO0FadzJTbkM7O0FZdjJTQTtFQUFrQztBWjIyU2xDOztBWTEyU0E7RUFBc0M7QVo4MlN0Qzs7QVk3MlNBO0VBQTZDO0FaaTNTN0M7O0FZaDNTQTtFQUF5QztBWm8zU3pDOztBWW4zU0E7RUFBd0M7QVp1M1N4Qzs7QVl0M1NBO0VBQXVDO0FaMDNTdkM7O0FZejNTQTtFQUF5QztBWjYzU3pDOztBWTUzU0E7RUFBaUM7QVpnNFNqQzs7QVkvM1NBO0VBQTBDO0FabTRTMUM7O0FZbDRTQTtFQUF5QztBWnM0U3pDOztBWXI0U0E7RUFBd0M7QVp5NFN4Qzs7QVl4NFNBO0VBQW9DO0FaNDRTcEM7O0FZMzRTQTtFQUF5QztBWis0U3pDOztBWTk0U0E7RUFBNEM7QVprNVM1Qzs7QVlqNVNBO0VBQTBDO0FacTVTMUM7O0FZcDVTQTtFQUFxQztBWnc1U3JDOztBWXY1U0E7RUFBbUM7QVoyNVNuQzs7QVkxNVNBO0VBQXdDO0FaODVTeEM7O0FZNzVTQTtFQUFpQztBWmk2U2pDOztBWWg2U0E7RUFBd0M7QVpvNlN4Qzs7QVluNlNBO0VBQTBDO0FadTZTMUM7O0FZdDZTQTtFQUF5QztBWjA2U3pDOztBWXo2U0E7RUFBbUM7QVo2NlNuQzs7QVk1NlNBO0VBQXNDO0FaZzdTdEM7O0FZLzZTQTtFQUFxQztBWm03U3JDOztBWWw3U0E7RUFBd0M7QVpzN1N4Qzs7QVlyN1NBO0VBQWlDO0FaeTdTakM7O0FZeDdTQTtFQUFvQztBWjQ3U3BDOztBWTM3U0E7RUFBb0M7QVorN1NwQzs7QVk5N1NBO0VBQWlDO0FaazhTakM7O0FZajhTQTtFQUFvQztBWnE4U3BDOztBWXA4U0E7RUFBbUM7QVp3OFNuQzs7QVl2OFNBO0VBQW1DO0FaMjhTbkM7O0FZMThTQTtFQUEwQztBWjg4UzFDOztBWTc4U0E7RUFBa0M7QVppOVNsQzs7QVloOVNBO0VBQTZDO0FabzlTN0M7O0FZbjlTQTtFQUFxQztBWnU5U3JDOztBWXQ5U0E7RUFBa0M7QVowOVNsQzs7QVl6OVNBO0VBQWtDO0FaNjlTbEM7O0FZNTlTQTtFQUF1QztBWmcrU3ZDOztBWS85U0E7RUFBa0M7QVptK1NsQzs7QVlsK1NBO0VBQW1DO0FacytTbkM7O0FZcitTQTtFQUFzQztBWnkrU3RDOztBWXgrU0E7RUFBdUM7QVo0K1N2Qzs7QVkzK1NBO0VBQWtDO0FaKytTbEM7O0FZOStTQTtFQUF1QztBWmsvU3ZDOztBWWovU0E7RUFBdUM7QVpxL1N2Qzs7QVlwL1NBO0VBQWlDO0Fady9TakM7O0FZdi9TQTtFQUFvQztBWjIvU3BDOztBWTEvU0E7RUFBd0M7QVo4L1N4Qzs7QVk3L1NBO0VBQWdDO0FaaWdUaEM7O0FZaGdUQTtFQUFxQztBWm9nVHJDOztBWW5nVEE7RUFBMkM7QVp1Z1QzQzs7QVl0Z1RBO0VBQTRDO0FaMGdUNUM7O0FZemdUQTtFQUF5QztBWjZnVHpDOztBWTVnVEE7RUFBc0M7QVpnaFR0Qzs7QVkvZ1RBO0VBQW9DO0FabWhUcEM7O0FZbGhUQTtFQUFxQztBWnNoVHJDOztBWXJoVEE7RUFBaUM7QVp5aFRqQzs7QVl4aFRBO0VBQWtDO0FaNGhUbEM7O0FZM2hUQTtFQUF3QztBWitoVHhDOztBWTloVEE7RUFBaUM7QVpraVRqQzs7QVlqaVRBO0VBQTRDO0FacWlUNUM7O0FZcGlUQTtFQUFnRDtBWndpVGhEOztBWXZpVEE7RUFBMEM7QVoyaVQxQzs7QVkxaVRBO0VBQThDO0FaOGlUOUM7O0FZN2lUQTtFQUE2QztBWmlqVDdDOztBWWhqVEE7RUFBaUQ7QVpvalRqRDs7QVlualRBO0VBQTJDO0FadWpUM0M7O0FZdGpUQTtFQUErQztBWjBqVC9DOztBWXpqVEE7RUFBc0M7QVo2alR0Qzs7QVk1alRBO0VBQThDO0FaZ2tUOUM7O0FZL2pUQTtFQUFrRDtBWm1rVGxEOztBWWxrVEE7RUFBNEM7QVpza1Q1Qzs7QVlya1RBO0VBQWdEO0FaeWtUaEQ7O0FZeGtUQTtFQUFvQztBWjRrVHBDOztBWTNrVEE7RUFBdUM7QVora1R2Qzs7QVk5a1RBO0VBQXVDO0Faa2xUdkM7O0FZamxUQTtFQUFnQztBWnFsVGhDOztBWXBsVEE7RUFBMEM7QVp3bFQxQzs7QVl2bFRBO0VBQW9DO0FaMmxUcEM7O0FZMWxUQTtFQUF5QztBWjhsVHpDOztBWTdsVEE7RUFBd0M7QVppbVR4Qzs7QVlobVRBO0VBQW1DO0Fab21UbkM7O0FZbm1UQTtFQUFvQztBWnVtVHBDOztBWXRtVEE7RUFBb0M7QVowbVRwQzs7QVl6bVRBO0VBQW9DO0FaNm1UcEM7O0FZNW1UQTtFQUFzQztBWmduVHRDOztBWS9tVEE7RUFBbUM7QVptblRuQzs7QVlsblRBO0VBQXdDO0Fac25UeEM7O0FZcm5UQTtFQUE0QztBWnluVDVDOztBWXhuVEE7RUFBd0M7QVo0blR4Qzs7QVkzblRBO0VBQTJDO0FaK25UM0M7O0FZOW5UQTtFQUEyQztBWmtvVDNDOztBWWpvVEE7RUFBc0M7QVpxb1R0Qzs7QVlwb1RBO0VBQWtDO0Fad29UbEM7O0FZdm9UQTtFQUFpQztBWjJvVGpDOztBWTFvVEE7RUFBOEM7QVo4b1Q5Qzs7QVk3b1RBO0VBQXNDO0FaaXBUdEM7O0FZaHBUQTtFQUEwQztBWm9wVDFDOztBWW5wVEE7RUFBMEM7QVp1cFQxQzs7QVl0cFRBO0VBQXlDO0FaMHBUekM7O0FZenBUQTtFQUF1QztBWjZwVHZDOztBWTVwVEE7RUFBa0M7QVpncVRsQzs7QVkvcFRBO0VBQXlDO0FabXFUekM7O0FZbHFUQTtFQUF5QztBWnNxVHpDOztBWXJxVEE7RUFBMEM7QVp5cVQxQzs7QVl4cVRBO0VBQXlDO0FaNHFUekM7O0FZM3FUQTtFQUF3QztBWitxVHhDOztBWTlxVEE7RUFBeUM7QVprclR6Qzs7QVlqclRBO0VBQXdDO0FacXJUeEM7O0FZcHJUQTtFQUFpQztBWndyVGpDOztBWXZyVEE7RUFBd0M7QVoyclR4Qzs7QVkxclRBO0VBQXNDO0FaOHJUdEM7O0FZN3JUQTtFQUF5QztBWmlzVHpDOztBWWhzVEE7RUFBa0M7QVpvc1RsQzs7QVluc1RBO0VBQXNDO0FadXNUdEM7O0FZdHNUQTtFQUE0QztBWjBzVDVDOztBWXpzVEE7RUFBd0M7QVo2c1R4Qzs7QVk1c1RBO0VBQW1DO0FaZ3RUbkM7O0FZL3NUQTtFQUFtQztBWm10VG5DOztBWWx0VEE7RUFBd0M7QVpzdFR4Qzs7QVlydFRBO0VBQTBDO0FaeXRUMUM7O0FZeHRUQTtFQUFtQztBWjR0VG5DOztBWTN0VEE7RUFBcUM7QVordFRyQzs7QVk5dFRBO0VBQXdDO0Faa3VUeEM7O0FZanVUQTtFQUF5QztBWnF1VHpDOztBWXB1VEE7RUFBd0M7QVp3dVR4Qzs7QVl2dVRBO0VBQStDO0FaMnVUL0M7O0FZMXVUQTtFQUFzQztBWjh1VHRDOztBWTd1VEE7RUFBbUM7QVppdlRuQzs7QVlodlRBO0VBQXFDO0Fab3ZUckM7O0FZbnZUQTtFQUE2QztBWnV2VDdDOztBWXR2VEE7RUFBZ0M7QVowdlRoQzs7QVl6dlRBO0VBQXdDO0FaNnZUeEM7O0FZNXZUQTtFQUF3QztBWmd3VHhDOztBWS92VEE7RUFBbUM7QVptd1RuQzs7QVlsd1RBO0VBQXFDO0Fac3dUckM7O0FZcndUQTtFQUFpQztBWnl3VGpDOztBWXh3VEE7RUFBdUM7QVo0d1R2Qzs7QVkzd1RBO0VBQWtDO0FaK3dUbEM7O0FZOXdUQTtFQUFvQztBWmt4VHBDOztBWWp4VEE7RUFBMEM7QVpxeFQxQzs7QVlweFRBO0VBQW9DO0Fad3hUcEM7O0FZdnhUQTtFQUFzQztBWjJ4VHRDOztBWTF4VEE7RUFBaUM7QVo4eFRqQzs7QVk3eFRBO0VBQXFDO0FaaXlUckM7O0FZaHlUQTtFQUFvQztBWm95VHBDOztBWW55VEE7RUFBa0M7QVp1eVRsQzs7QVl0eVRBO0VBQXlDO0FaMHlUekM7O0FZenlUQTtFQUFtQztBWjZ5VG5DOztBWTV5VEE7RUFBdUM7QVpnelR2Qzs7QVkveVRBO0VBQW9DO0FabXpUcEM7O0FZbHpUQTtFQUEyQztBWnN6VDNDOztBWXJ6VEE7RUFBZ0M7QVp5elRoQzs7QVl4elRBO0VBQWlDO0FaNHpUakM7O0FZM3pUQTtFQUFpQztBWit6VGpDOztBWTl6VEE7RUFBa0M7QVprMFRsQzs7QVlqMFRBO0VBQWlDO0FacTBUakM7O0FZcDBUQTtFQUFzQztBWncwVHRDOztBWXYwVEE7RUFBa0M7QVoyMFRsQzs7QVkxMFRBO0VBQXVDO0FaODBUdkM7O0FZNzBUQTtFQUFxQztBWmkxVHJDOztBWWgxVEE7RUFBMkM7QVpvMVQzQzs7QVluMVRBO0VBQTZDO0FadTFUN0M7O0FZdDFUQTtFQUE0QztBWjAxVDVDOztBWXoxVEE7RUFBMEM7QVo2MVQxQzs7QVk1MVRBO0VBQWtDO0FaZzJUbEM7O0FZLzFUQTtFQUFxQztBWm0yVHJDOztBWWwyVEE7RUFBd0M7QVpzMlR4Qzs7QVlyMlRBO0VBQXVDO0FaeTJUdkM7O0FZeDJUQTtFQUErQjtBWjQyVC9COztBWTMyVEE7RUFBcUM7QVorMlRyQzs7QVk5MlRBO0VBQW9DO0FaazNUcEM7O0FZajNUQTtFQUF5QztBWnEzVHpDOztBWXAzVEE7RUFBMEM7QVp3M1QxQzs7QVl2M1RBO0VBQW9DO0FaMjNUcEM7O0FZMTNUQTtFQUFzQztBWjgzVHRDOztBWTczVEE7RUFBd0M7QVppNFR4Qzs7QVloNFRBO0VBQThDO0FabzRUOUM7O0FZbjRUQTtFQUE2QztBWnU0VDdDOztBWXQ0VEE7RUFBNkM7QVowNFQ3Qzs7QVl6NFRBO0VBQWdEO0FaNjRUaEQ7O0FZNTRUQTtFQUF1RDtBWmc1VHZEOztBWS80VEE7RUFBd0M7QVptNVR4Qzs7QVlsNVRBO0VBQXdDO0FaczVUeEM7O0FZcjVUQTtFQUFzQztBWnk1VHRDOztBWXg1VEE7RUFBc0M7QVo0NVR0Qzs7QVkzNVRBO0VBQXVDO0FaKzVUdkM7O0FZOTVUQTtFQUFtQztBWms2VG5DOztBWWo2VEE7RUFBa0M7QVpxNlRsQzs7QVlwNlRBO0VBQXlDO0FadzZUekM7O0FZdjZUQTtFQUFpQztBWjI2VGpDOztBWTE2VEE7RUFBdUM7QVo4NlR2Qzs7QVk3NlRBO0VBQWtDO0FaaTdUbEM7O0FZaDdUQTtFQUF1QztBWm83VHZDOztBWW43VEE7RUFBc0M7QVp1N1R0Qzs7QVl0N1RBO0VBQW1DO0FaMDdUbkM7O0FZejdUQTtFQUF5QztBWjY3VHpDOztBWTU3VEE7RUFBK0M7QVpnOFQvQzs7QVkvN1RBO0VBQW9DO0FabThUcEM7O0FZbDhUQTtFQUFrQztBWnM4VGxDOztBWXI4VEE7RUFBa0M7QVp5OFRsQzs7QVl4OFRBO0VBQWtDO0FaNDhUbEM7O0FZMzhUQTtFQUF1QztBWis4VHZDOztBWTk4VEE7RUFBb0M7QVprOVRwQzs7QVlqOVRBO0VBQTZDO0FacTlUN0M7O0FZcDlUQTtFQUFzQztBWnc5VHRDOztBWXY5VEE7RUFBMEM7QVoyOVQxQzs7QVkxOVRBO0VBQW9DO0FaODlUcEM7O0FZNzlUQTtFQUFrQztBWmkrVGxDOztBWWgrVEE7RUFBaUM7QVpvK1RqQzs7QVluK1RBO0VBQXdDO0FadStUeEM7O0FZdCtUQTtFQUE0QztBWjArVDVDOztBWXorVEE7RUFBa0M7QVo2K1RsQzs7QVk1K1RBO0VBQXNDO0FaZy9UdEM7O0FZLytUQTtFQUEwQztBWm0vVDFDOztBWWwvVEE7RUFBOEM7QVpzL1Q5Qzs7QVlyL1RBO0VBQWlDO0FaeS9UakM7O0FZeC9UQTtFQUFtQztBWjQvVG5DOztBWTMvVEE7RUFBd0M7QVorL1R4Qzs7QVk5L1RBO0VBQW1DO0Faa2dVbkM7O0FZamdVQTtFQUFrQztBWnFnVWxDOztBWXBnVUE7RUFBMEM7QVp3Z1UxQzs7QVl2Z1VBO0VBQTBDO0FaMmdVMUM7O0FZMWdVQTtFQUF5QztBWjhnVXpDOztBWTdnVUE7RUFBeUM7QVppaFV6Qzs7QVloaFVBO0VBQW1DO0Fab2hVbkM7O0FZbmhVQTtFQUFnQztBWnVoVWhDOztBWXRoVUE7RUFBbUM7QVowaFVuQzs7QVl6aFVBO0VBQTBDO0FaNmhVMUM7O0FZNWhVQTtFQUErQjtBWmdpVS9COztBWS9oVUE7RUFBbUM7QVptaVVuQzs7QVlsaVVBO0VBQW9DO0Fac2lVcEM7O0FZcmlVQTtFQUEyQztBWnlpVTNDOztBWXhpVUE7RUFBa0M7QVo0aVVsQzs7QVkzaVVBO0VBQWlDO0FaK2lVakM7O0FZOWlVQTtFQUFtQztBWmtqVW5DOztBWWpqVUE7RUFBa0M7QVpxalVsQzs7QVlwalVBO0VBQW9DO0Fad2pVcEM7O0FZdmpVQTtFQUFxQztBWjJqVXJDOztBWTFqVUE7RUFBMkM7QVo4alUzQzs7QVk3alVBO0VBQXNDO0FaaWtVdEM7O0FZaGtVQTtFQUFzQztBWm9rVXRDOztBWW5rVUE7RUFBaUM7QVp1a1VqQzs7QVl0a1VBO0VBQXFDO0FaMGtVckM7O0FZemtVQTtFQUF3QztBWjZrVXhDOztBWTVrVUE7RUFBa0M7QVpnbFVsQzs7QVkva1VBO0VBQTZDO0FabWxVN0M7O0FZbGxVQTtFQUF1QztBWnNsVXZDOztBWXJsVUE7RUFBbUM7QVp5bFVuQzs7QVl4bFVBO0VBQW1DO0FaNGxVbkM7O0FZM2xVQTtFQUF1QztBWitsVXZDOztBWTlsVUE7RUFBcUM7QVprbVVyQzs7QVlqbVVBO0VBQW9DO0FacW1VcEM7O0FZcG1VQTtFQUFtQztBWndtVW5DOztBWXZtVUE7RUFBZ0M7QVoybVVoQzs7QVkxbVVBO0VBQWdDO0FaOG1VaEM7O0FZN21VQTtFQUFpQztBWmluVWpDOztBWWhuVUE7RUFBcUM7QVpvblVyQzs7QVlublVBO0VBQTJDO0FadW5VM0M7O0FZdG5VQTtFQUEyQztBWjBuVTNDOztBWXpuVUE7RUFBdUM7QVo2blV2Qzs7QVk1blVBO0VBQXdDO0FaZ29VeEM7O0FZL25VQTtFQUF1QztBWm1vVXZDOztBWWxvVUE7RUFBcUM7QVpzb1VyQzs7QVlyb1VBO0VBQXNDO0FaeW9VdEM7O0FZeG9VQTtFQUF5QztBWjRvVXpDOztBWTNvVUE7RUFBMEM7QVorb1UxQzs7QVk5b1VBO0VBQXlDO0Faa3BVekM7O0FZanBVQTtFQUFzQztBWnFwVXRDOztBWXBwVUE7RUFBb0M7QVp3cFVwQzs7QVl2cFVBO0VBQXVDO0FaMnBVdkM7O0FZMXBVQTtFQUF1QztBWjhwVXZDOztBWTdwVUE7RUFBdUM7QVppcVV2Qzs7QVlocVVBO0VBQXNDO0Fab3FVdEM7O0FZbnFVQTtFQUF3QztBWnVxVXhDOztBWXRxVUE7RUFBd0M7QVowcVV4Qzs7QVl6cVVBO0VBQXVDO0FaNnFVdkM7O0FZNXFVQTtFQUFxQztBWmdyVXJDOztBWS9xVUE7RUFBcUM7QVptclVyQzs7QVlsclVBO0VBQXVDO0Fac3JVdkM7O0FZcnJVQTtFQUFrQztBWnlyVWxDOztBWXhyVUE7RUFBc0M7QVo0clV0Qzs7QVkzclVBO0VBQXdDO0FaK3JVeEM7O0FZOXJVQTtFQUFpQztBWmtzVWpDOztBWWpzVUE7RUFBcUM7QVpxc1VyQzs7QVlwc1VBO0VBQTBDO0Fad3NVMUM7O0FZdnNVQTtFQUFxQztBWjJzVXJDOztBWTFzVUE7RUFBbUM7QVo4c1VuQzs7QVk3c1VBO0VBQTBDO0FaaXRVMUM7O0FZaHRVQTtFQUFrQztBWm90VWxDOztBWW50VUE7RUFBeUM7QVp1dFV6Qzs7QVl0dFVBO0VBQXVDO0FaMHRVdkM7O0FZenRVQTtFQUFpQztBWjZ0VWpDOztBWTV0VUE7RUFBeUM7QVpndVV6Qzs7QVkvdFVBO0VBQW9DO0FabXVVcEM7O0FZbHVVQTtFQUFtQztBWnN1VW5DOztBWXJ1VUE7RUFBMEM7QVp5dVUxQzs7QVl4dVVBO0VBQWlDO0FaNHVVakM7O0FZM3VVQTtFQUFrQztBWit1VWxDOztBWTl1VUE7RUFBa0M7QVprdlVsQzs7QVlqdlVBO0VBQWtDO0FacXZVbEM7O0FZcHZVQTtFQUF3QztBWnd2VXhDOztBWXZ2VUE7RUFBbUM7QVoydlVuQzs7QVkxdlVBO0VBQWtDO0FaOHZVbEM7O0FZN3ZVQTtFQUF5QztBWml3VXpDOztBWWh3VUE7RUFBb0M7QVpvd1VwQzs7QVlud1VBO0VBQWlDO0FadXdVakM7O0FZdHdVQTtFQUFrQztBWjB3VWxDOztBWXp3VUE7RUFBd0M7QVo2d1V4Qzs7QVk1d1VBO0VBQW9DO0FaZ3hVcEM7O0FZL3dVQTtFQUErQjtBWm14VS9COztBWWx4VUE7RUFBZ0M7QVpzeFVoQzs7QVlyeFVBO0VBQXNDO0FaeXhVdEM7O0FZeHhVQTtFQUE0QztBWjR4VTVDOztBWTN4VUE7RUFBd0M7QVoreFV4Qzs7QVk5eFVBO0VBQXdDO0Faa3lVeEM7O0FZanlVQTtFQUF1QztBWnF5VXZDOztBWXB5VUE7RUFBc0M7QVp3eVV0Qzs7QVl2eVVBO0VBQXFDO0FaMnlVckM7O0FZMXlVQTtFQUF5QztBWjh5VXpDOztBWTd5VUE7RUFBa0M7QVppelVsQzs7QVloelVBO0VBQW9DO0Fab3pVcEM7O0FZbnpVQTtFQUFtQztBWnV6VW5DOztBWXR6VUE7RUFBc0M7QVowelV0Qzs7QVl6elVBO0VBQWdEO0FaNnpVaEQ7O0FZNXpVQTtFQUFrQztBWmcwVWxDOztBWS96VUE7RUFBd0M7QVptMFV4Qzs7QVlsMFVBO0VBQWlDO0FaczBVakM7O0FZcjBVQTtFQUFtQztBWnkwVW5DOztBWXgwVUE7RUFBa0M7QVo0MFVsQzs7QVkzMFVBO0VBQW1DO0FaKzBVbkM7O0FZOTBVQTtFQUEyQztBWmsxVTNDOztBWWoxVUE7RUFBbUM7QVpxMVVuQzs7QVlwMVVBO0VBQXFDO0FadzFVckM7O0FZdjFVQTtFQUE0QztBWjIxVTVDOztBWTExVUE7RUFBdUM7QVo4MVV2Qzs7QVk3MVVBO0VBQWtDO0FaaTJVbEM7O0FZaDJVQTtFQUFpQztBWm8yVWpDOztBWW4yVUE7RUFBd0M7QVp1MlV4Qzs7QVl0MlVBO0VBQWlDO0FaMDJVakM7O0FZejJVQTtFQUF5QztBWjYyVXpDOztBWTUyVUE7RUFBNEM7QVpnM1U1Qzs7QVkvMlVBO0VBQTRDO0FabTNVNUM7O0FZbDNVQTtFQUEyQztBWnMzVTNDOztBWXIzVUE7RUFBb0M7QVp5M1VwQzs7QVl4M1VBO0VBQXdDO0FaNDNVeEM7O0FZMzNVQTtFQUF1QztBWiszVXZDOztBWTkzVUE7RUFBMkM7QVprNFUzQzs7QVlqNFVBO0VBQWdDO0FacTRVaEM7O0FZcDRVQTtFQUFpRDtBWnc0VWpEOztBWXY0VUE7RUFBaUM7QVoyNFVqQzs7QVkxNFVBO0VBQWdEO0FaODRVaEQ7O0FZNzRVQTtFQUFxQztBWmk1VXJDOztBWWg1VUE7RUFBc0M7QVpvNVV0Qzs7QVluNVVBO0VBQTZDO0FadTVVN0M7O0FZdDVVQTtFQUF1QztBWjA1VXZDOztBWXo1VUE7RUFBdUM7QVo2NVV2Qzs7QVk1NVVBO0VBQW9DO0FaZzZVcEM7O0FZLzVVQTtFQUFvQztBWm02VXBDOztBWWw2VUE7RUFBbUM7QVpzNlVuQzs7QVlyNlVBO0VBQWtDO0FaeTZVbEM7O0FZeDZVQTtFQUFpQztBWjQ2VWpDOztBWTM2VUE7RUFBaUM7QVorNlVqQzs7QVk5NlVBO0VBQXdDO0FaazdVeEM7O0FZajdVQTtFQUF5QztBWnE3VXpDOztBWXA3VUE7RUFBa0M7QVp3N1VsQzs7QVl2N1VBO0VBQW1DO0FaMjdVbkM7O0FZMTdVQTtFQUFtQztBWjg3VW5DOztBWTc3VUE7RUFBaUQ7QVppOFVqRDs7QVloOFVBO0VBQWlDO0FabzhVakM7O0FZbjhVQTtFQUFpQztBWnU4VWpDOztBWXQ4VUE7RUFBcUM7QVowOFVyQzs7QVl6OFVBO0VBQXFDO0FaNjhVckM7O0FZNThVQTtFQUFrQztBWmc5VWxDOztBWS84VUE7RUFBb0M7QVptOVVwQzs7QVlsOVVBO0VBQTJDO0FaczlVM0M7O0FZcjlVQTtFQUFrQztBWnk5VWxDOztBYTM0WEE7RUgwQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnEzWEY7O0FVMzJYRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjYyWEo7O0FjbDZYQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CVExxQjtFU01yQjtFQUNBO0FkbTZYRjtBYzU1WEE7RUFDRTtFQUNBO0FkODVYRjs7QWVuN1hBOzs7RUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJWTHFCO0VVTXJCO0VBQ0E7QWZvN1hGO0FlNzZYQTs7RUFFRTtFQUNBO0FmKzZYRjs7QWdCcjhYQTs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1CWExxQjtFV01yQjtFQUNBO0FoQnM4WEY7QWdCLzdYQTtFQUNFO0VBQ0E7QWhCaThYRjs7QWtCdDlYQTs7Ozs7RUFBQTtBQ0FBO0VBR0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUtGO0VBQ0E7QW5CMCtYRjs7QW9CeitYQTs7O0VBR0U7QXBCNCtYRjs7QW9CeitYQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQjQrWEY7O0FvQnQrWEE7RUFDRTtBcEJ5K1hGOztBb0IvOVhBO0VBQ0U7RUFDQSxpQ0MzQ3VCO0VDZ0xuQjtFRm5JSixnQkcrTzRCO0VIOU81QixnQkM1Q2lCO0VENkNqQixjR25DUztFSG9DVDtFQUNBLHlCQ3BEUTtBckJzaFlWOztBb0J0OVhBO0VBQ0U7QXBCeTlYRjs7QW9CaDlYQTtFQUNFO0VBQ0E7RUFDQTtBcEJtOVhGOztBb0J0OFhBO0VBQ0U7RUFDQSxxQkdpTjRCO0F2Qnd2WDlCOztBb0JsOFhBO0VBQ0U7RUFDQSxtQkdvRjBCO0F2QmkzWDVCOztBb0IxN1hBOztFQUVFO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0FwQjY3WEY7O0FvQjE3WEE7RUFDRTtFQUNBO0VBQ0E7QXBCNjdYRjs7QW9CMTdYQTs7O0VBR0U7RUFDQTtBcEI2N1hGOztBb0IxN1hBOzs7O0VBSUU7QXBCNjdYRjs7QW9CMTdYQTtFQUNFLGdCR2tKNEI7QXZCMnlYOUI7O0FvQjE3WEE7RUFDRTtFQUNBO0FwQjY3WEY7O0FvQjE3WEE7RUFDRTtBcEI2N1hGOztBb0IxN1hBOztFQUVFLG1CR3FJNEI7QXZCd3pYOUI7O0FvQjE3WEE7RUVJSTtBdEIwN1hKOztBb0JyN1hBOztFQUVFO0VFUEU7RUZTRjtFQUNBO0FwQnc3WEY7O0FvQnI3WEE7RUFBTTtBcEJ5N1hOOztBb0J4N1hBO0VBQU07QXBCNDdYTjs7QW9CcjdYQTtFQUNFLGNHWHdDO0VIWXhDLHFCR1h3QztFSFl4QztBcEJ3N1hGO0F3QnhtWUU7RUptTEUsY0dkc0M7RUhldEMsMEJHZHNDO0F2QnM4WDFDOztBb0IvNlhBO0VBQ0U7RUFDQTtBcEJrN1hGO0F3QmpuWUU7RUprTUU7RUFDQTtBcEJrN1hKOztBb0J6NlhBOzs7O0VBSUUsaUdHMEQ0QjtFRGxIMUI7QXRCcStYSjs7QW9CejZYQTtFQUVFO0VBRUE7RUFFQTtFQUdBO0FwQnU2WEY7O0FvQi81WEE7RUFFRTtBcEJpNlhGOztBb0J6NVhBO0VBQ0U7RUFDQTtBcEI0NVhGOztBb0J6NVhBO0VBR0U7RUFDQTtBcEIwNVhGOztBb0JsNVhBO0VBQ0U7QXBCcTVYRjs7QW9CbDVYQTtFQUNFLG9CRzhFNEI7RUg3RTVCLHVCRzZFNEI7RUg1RTVCLGNHdFFTO0VIdVFUO0VBQ0E7QXBCcTVYRjs7QW9COTRYQTtFQUVFO0VBQ0E7QXBCZzVYRjs7QW9CeDRYQTtFQUVFO0VBQ0EscUJHNEpzQztBdkI4dVh4Qzs7QW9CcDRYQTtFQUVFO0FwQnM0WEY7O0FvQjkzWEE7RUFDRTtBcEJpNFhGOztBb0I5M1hBOzs7OztFQUtFO0VBQ0E7RUVoS0U7RUZrS0Y7QXBCaTRYRjs7QW9COTNYQTs7RUFFRTtBcEJpNFhGOztBb0I5M1hBOztFQUVFO0FwQmk0WEY7O0FvQjMzWEE7RUFDRTtBcEI4M1hGOztBb0J4M1hBO0VBQ0U7QXBCMjNYRjs7QW9CcDNYQTs7OztFQUlFO0FwQnUzWEY7O0FvQjkyWEk7Ozs7RUFDRTtBcEJvM1hOOztBb0I5MlhBOzs7O0VBSUU7RUFDQTtBcEJpM1hGOztBb0I5MlhBOztFQUVFO0VBQ0E7QXBCaTNYRjs7QW9CNzJYQTtFQUNFO0VBRUE7QXBCKzJYRjs7QW9CNTJYQTtFQU1FO0VBRUE7RUFDQTtFQUNBO0FwQnkyWEY7O0FvQnAyWEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFOU9JO0VGZ1BKO0VBQ0E7RUFDQTtBcEJ1MlhGOztBb0JwMlhBO0VBQ0U7QXBCdTJYRjs7QW9CbjJYQTs7RUFFRTtBcEJzMlhGOztBb0JuMlhBO0VBS0U7RUFDQTtBcEJrMlhGOztBb0IzMVhBO0VBQ0U7QXBCODFYRjs7QW9CdDFYQTtFQUNFO0VBQ0E7QXBCeTFYRjs7QW9CbDFYQTtFQUNFO0FwQnExWEY7O0FvQmwxWEE7RUFDRTtFQUNBO0FwQnExWEY7O0FvQmwxWEE7RUFDRTtBcEJxMVhGOztBb0JoMVhBO0VBQ0U7QXBCbTFYRjs7QXlCL3lZQTs7RUFFRSxxQkZzUzRCO0VFcFM1QixnQkZzUzRCO0VFclM1QixnQkZzUzRCO0F2QjJnWTlCOztBeUI3eVlBO0VIcUtNO0F0QjRvWU47O0F5Qmh6WUE7RUhvS007QXRCZ3BZTjs7QXlCbnpZQTtFSG1LTTtBdEJvcFlOOztBeUJ0ellBO0VIa0tNO0F0QndwWU47O0F5Qnp6WUE7RUhpS007QXRCNHBZTjs7QXlCNXpZQTtFSGdLTTtBdEJncVlOOztBeUI5ellBO0VIOEpNO0VHNUpKLGdCRndTNEI7QXZCeWhZOUI7O0F5Qjd6WUE7RUh3Sk07RUd0SkosZ0JGMlI0QjtFRTFSNUIsZ0JGa1I0QjtBdkI4aVk5Qjs7QXlCOXpZQTtFSG1KTTtFR2pKSixnQkZ1UjRCO0VFdFI1QixnQkY2UTRCO0F2Qm9qWTlCOztBeUIvellBO0VIOElNO0VHNUlKLGdCRm1SNEI7RUVsUjVCLGdCRndRNEI7QXZCMGpZOUI7O0F5QmgwWUE7RUh5SU07RUd2SUosZ0JGK1E0QjtFRTlRNUIsZ0JGbVE0QjtBdkJna1k5Qjs7QXlCM3pZQTtFQUNFLGdCRmdGTztFRS9FUCxtQkYrRU87RUU5RVA7RUFDQTtBekI4ellGOztBeUJ0ellBOztFSGtHSTtFRy9GRixnQkYyTjRCO0F2QjhsWTlCOztBeUJ0ellBOztFQUVFLGNGbVE0QjtFRWxRNUIseUJGMlE0QjtBdkI4aVk5Qjs7QXlCanpZQTtFQy9FRTtFQUNBO0ExQm80WUY7O0F5Qmp6WUE7RUNwRkU7RUFDQTtBMUJ5NFlGOztBeUJuellBO0VBQ0U7QXpCc3pZRjtBeUJwellFO0VBQ0Usb0JGcVAwQjtBdkJpa1k5Qjs7QXlCNXlZQTtFSDJESTtFR3pERjtBekIreVlGOztBeUIzeVlBO0VBQ0UsbUJGdUJPO0VENkNIO0F0QjJ1WU47O0F5QjN5WUE7RUFDRTtFSCtDRTtFRzdDRixjRjFHUztBdkJ3NVlYO0F5QjV5WUU7RUFDRTtBekI4eVlKOztBMkJqNllBO0VDSUU7RUFHQTtBNUIrNVlGOztBMkJoNllBO0VBQ0UsZ0JKcWdDa0M7RUlwZ0NsQyx5Qk5kUTtFTWVSO0VFRUU7RURQRjtFQUdBO0E1Qnc2WUY7O0EyQjE1WUE7RUFFRTtBM0I0NVlGOztBMkJ6NVlBO0VBQ0U7RUFDQTtBM0I0NVlGOztBMkJ6NVlBO0VMOEhJO0VLNUhGLGNKM0JTO0F2QnU3WVg7O0E4Qm44WUE7RVJtS0k7RVFqS0YsY1RTSztFU1JMO0E5QnM4WUY7QThCbjhZRTtFQUNFO0E5QnE4WUo7O0E4Qmg4WUE7RUFDRTtFUnNKRTtFUXBKRixXUFRTO0VPVVQseUJQRFM7RU1FUDtBN0JtOFlKO0E4Qmg4WUU7RUFDRTtFUjhJQTtFUTVJQSxnQlB5UTBCO0F2QnlyWTlCOztBOEI1N1lBO0VBQ0U7RVJxSUU7RVFuSUYsY1BqQlM7QXZCZzlZWDtBOEI1N1lFO0VSZ0lFO0VROUhBO0VBQ0E7QTlCODdZSjs7QThCejdZQTtFQUNFLGlCUGlrQ2tDO0VPaGtDbEM7QTlCNDdZRjs7QStCcCtZRTs7Ozs7O0VDREE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEM4K1lGOztBaUMzN1lJO0VGekNFO0lBQ0UsZ0JSOExlO0V2QjB5WXJCO0FBQ0Y7QWlDajhZSTtFRnpDRTtJQUNFLGdCUjhMZTtFdkIreVlyQjtBQUNGO0FpQ3Q4WUk7RUZ6Q0U7SUFDRSxnQlI4TGU7RXZCb3pZckI7QUFDRjtBaUMzOFlJO0VGekNFO0lBQ0UsaUJSOExlO0V2Qnl6WXJCO0FBQ0Y7QStCNTlZRTtFQ25DQTtFQUNBO0VBQ0E7RUFDQTtBaENrZ1pGOztBK0I1OVlFO0VBQ0U7RUFDQTtBL0IrOVlKO0ErQjc5WUk7O0VBRUU7RUFDQTtBL0IrOVlOOztBa0NyaFpFOzs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEM2aFpKOztBa0N2Z1pNO0VBQ0U7RUFDQTtFQUNBO0FsQzBnWlI7O0FnQzkrWUU7RUFDRTtFQUNBO0FoQ2kvWUo7O0FnQ24vWUU7RUFDRTtFQUNBO0FoQ3MvWUo7O0FnQ3gvWUU7RUFDRTtFQUNBO0FoQzIvWUo7O0FnQzcvWUU7RUFDRTtFQUNBO0FoQ2dnWko7O0FnQ2xnWkU7RUFDRTtFQUNBO0FoQ3FnWko7O0FnQ3ZnWkU7RUFDRTtFQUNBO0FoQzBnWko7O0FrQzdoWk07RUZDSjtFQUNBO0VBQ0E7QWhDZ2laRjs7QWtDN2haVTtFRmJSO0VBSUE7QWhDMmlaRjs7QWtDbGlaVTtFRmJSO0VBSUE7QWhDZ2paRjs7QWtDdmlaVTtFRmJSO0VBSUE7QWhDcWpaRjs7QWtDNWlaVTtFRmJSO0VBSUE7QWhDMGpaRjs7QWtDampaVTtFRmJSO0VBSUE7QWhDK2paRjs7QWtDdGpaVTtFRmJSO0VBSUE7QWhDb2taRjs7QWtDM2paVTtFRmJSO0VBSUE7QWhDeWtaRjs7QWtDaGtaVTtFRmJSO0VBSUE7QWhDOGtaRjs7QWtDcmtaVTtFRmJSO0VBSUE7QWhDbWxaRjs7QWtDMWtaVTtFRmJSO0VBSUE7QWhDd2xaRjs7QWtDL2taVTtFRmJSO0VBSUE7QWhDNmxaRjs7QWtDcGxaVTtFRmJSO0VBSUE7QWhDa21aRjs7QWtDbmxaTTtFQUF3QjtBbEN1bFo5Qjs7QWtDcmxaTTtFQUF1QjtBbEN5bFo3Qjs7QWtDdGxaUTtFQUF3QixRQURiO0FsQzJsWm5COztBa0MxbFpRO0VBQXdCLFFBRGI7QWxDK2xabkI7O0FrQzlsWlE7RUFBd0IsUUFEYjtBbENtbVpuQjs7QWtDbG1aUTtFQUF3QixRQURiO0FsQ3VtWm5COztBa0N0bVpRO0VBQXdCLFFBRGI7QWxDMm1abkI7O0FrQzFtWlE7RUFBd0IsUUFEYjtBbEMrbVpuQjs7QWtDOW1aUTtFQUF3QixRQURiO0FsQ21uWm5COztBa0NsblpRO0VBQXdCLFFBRGI7QWxDdW5abkI7O0FrQ3RuWlE7RUFBd0IsUUFEYjtBbEMyblpuQjs7QWtDMW5aUTtFQUF3QixRQURiO0FsQytuWm5COztBa0M5blpRO0VBQXdCLFNBRGI7QWxDbW9abkI7O0FrQ2xvWlE7RUFBd0IsU0FEYjtBbEN1b1puQjs7QWtDdG9aUTtFQUF3QixTQURiO0FsQzJvWm5COztBa0Nub1pZO0VGaEJWO0FoQ3VwWkY7O0FrQ3ZvWlk7RUZoQlY7QWhDMnBaRjs7QWtDM29aWTtFRmhCVjtBaEMrcFpGOztBa0Mvb1pZO0VGaEJWO0FoQ21xWkY7O0FrQ25wWlk7RUZoQlY7QWhDdXFaRjs7QWtDdnBaWTtFRmhCVjtBaEMycVpGOztBa0MzcFpZO0VGaEJWO0FoQytxWkY7O0FrQy9wWlk7RUZoQlY7QWhDbXJaRjs7QWtDbnFaWTtFRmhCVjtBaEN1clpGOztBa0N2cVpZO0VGaEJWO0FoQzJyWkY7O0FrQzNxWlk7RUZoQlY7QWhDK3JaRjs7QWlDMXJaSTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTtFbEN5dFpOOztFZ0M3clpBO0lBQ0U7SUFDQTtFaENnc1pGOztFZ0Nsc1pBO0lBQ0U7SUFDQTtFaENxc1pGOztFZ0N2c1pBO0lBQ0U7SUFDQTtFaEMwc1pGOztFZ0M1c1pBO0lBQ0U7SUFDQTtFaEMrc1pGOztFZ0NqdFpBO0lBQ0U7SUFDQTtFaENvdFpGOztFZ0N0dFpBO0lBQ0U7SUFDQTtFaEN5dFpGOztFa0M1dVpJO0lGQ0o7SUFDQTtJQUNBO0VoQyt1WkE7O0VrQzV1WlE7SUZiUjtJQUlBO0VoQzB2WkE7O0VrQ2p2WlE7SUZiUjtJQUlBO0VoQyt2WkE7O0VrQ3R2WlE7SUZiUjtJQUlBO0VoQ293WkE7O0VrQzN2WlE7SUZiUjtJQUlBO0VoQ3l3WkE7O0VrQ2h3WlE7SUZiUjtJQUlBO0VoQzh3WkE7O0VrQ3J3WlE7SUZiUjtJQUlBO0VoQ214WkE7O0VrQzF3WlE7SUZiUjtJQUlBO0VoQ3d4WkE7O0VrQy93WlE7SUZiUjtJQUlBO0VoQzZ4WkE7O0VrQ3B4WlE7SUZiUjtJQUlBO0VoQ2t5WkE7O0VrQ3p4WlE7SUZiUjtJQUlBO0VoQ3V5WkE7O0VrQzl4WlE7SUZiUjtJQUlBO0VoQzR5WkE7O0VrQ255WlE7SUZiUjtJQUlBO0VoQ2l6WkE7O0VrQ2x5Wkk7SUFBd0I7RWxDc3laNUI7O0VrQ3B5Wkk7SUFBdUI7RWxDd3laM0I7O0VrQ3J5Wk07SUFBd0IsUUFEYjtFbEMweVpqQjs7RWtDenlaTTtJQUF3QixRQURiO0VsQzh5WmpCOztFa0M3eVpNO0lBQXdCLFFBRGI7RWxDa3paakI7O0VrQ2p6Wk07SUFBd0IsUUFEYjtFbENzelpqQjs7RWtDcnpaTTtJQUF3QixRQURiO0VsQzB6WmpCOztFa0N6elpNO0lBQXdCLFFBRGI7RWxDOHpaakI7O0VrQzd6Wk07SUFBd0IsUUFEYjtFbENrMFpqQjs7RWtDajBaTTtJQUF3QixRQURiO0VsQ3MwWmpCOztFa0NyMFpNO0lBQXdCLFFBRGI7RWxDMDBaakI7O0VrQ3owWk07SUFBd0IsUUFEYjtFbEM4MFpqQjs7RWtDNzBaTTtJQUF3QixTQURiO0VsQ2sxWmpCOztFa0NqMVpNO0lBQXdCLFNBRGI7RWxDczFaakI7O0VrQ3IxWk07SUFBd0IsU0FEYjtFbEMwMVpqQjs7RWtDbDFaVTtJRmhCVjtFaENzMlpBOztFa0N0MVpVO0lGaEJWO0VoQzAyWkE7O0VrQzExWlU7SUZoQlY7RWhDODJaQTs7RWtDOTFaVTtJRmhCVjtFaENrM1pBOztFa0NsMlpVO0lGaEJWO0VoQ3MzWkE7O0VrQ3QyWlU7SUZoQlY7RWhDMDNaQTs7RWtDMTJaVTtJRmhCVjtFaEM4M1pBOztFa0M5MlpVO0lGaEJWO0VoQ2s0WkE7O0VrQ2wzWlU7SUZoQlY7RWhDczRaQTs7RWtDdDNaVTtJRmhCVjtFaEMwNFpBOztFa0MxM1pVO0lGaEJWO0VoQzg0WkE7O0VrQzkzWlU7SUZoQlY7RWhDazVaQTtBQUNGO0FpQzk0Wkk7RUMzQkU7SUFDRTtJQUNBO0lBQ0E7RWxDNDZaTjs7RWdDaDVaQTtJQUNFO0lBQ0E7RWhDbTVaRjs7RWdDcjVaQTtJQUNFO0lBQ0E7RWhDdzVaRjs7RWdDMTVaQTtJQUNFO0lBQ0E7RWhDNjVaRjs7RWdDLzVaQTtJQUNFO0lBQ0E7RWhDazZaRjs7RWdDcDZaQTtJQUNFO0lBQ0E7RWhDdTZaRjs7RWdDejZaQTtJQUNFO0lBQ0E7RWhDNDZaRjs7RWtDLzdaSTtJRkNKO0lBQ0E7SUFDQTtFaENrOFpBOztFa0MvN1pRO0lGYlI7SUFJQTtFaEM2OFpBOztFa0NwOFpRO0lGYlI7SUFJQTtFaENrOVpBOztFa0N6OFpRO0lGYlI7SUFJQTtFaEN1OVpBOztFa0M5OFpRO0lGYlI7SUFJQTtFaEM0OVpBOztFa0NuOVpRO0lGYlI7SUFJQTtFaENpK1pBOztFa0N4OVpRO0lGYlI7SUFJQTtFaENzK1pBOztFa0M3OVpRO0lGYlI7SUFJQTtFaEMyK1pBOztFa0NsK1pRO0lGYlI7SUFJQTtFaENnL1pBOztFa0N2K1pRO0lGYlI7SUFJQTtFaENxL1pBOztFa0M1K1pRO0lGYlI7SUFJQTtFaEMwL1pBOztFa0NqL1pRO0lGYlI7SUFJQTtFaEMrL1pBOztFa0N0L1pRO0lGYlI7SUFJQTtFaENvZ2FBOztFa0NyL1pJO0lBQXdCO0VsQ3kvWjVCOztFa0N2L1pJO0lBQXVCO0VsQzIvWjNCOztFa0N4L1pNO0lBQXdCLFFBRGI7RWxDNi9aakI7O0VrQzUvWk07SUFBd0IsUUFEYjtFbENpZ2FqQjs7RWtDaGdhTTtJQUF3QixRQURiO0VsQ3FnYWpCOztFa0NwZ2FNO0lBQXdCLFFBRGI7RWxDeWdhakI7O0VrQ3hnYU07SUFBd0IsUUFEYjtFbEM2Z2FqQjs7RWtDNWdhTTtJQUF3QixRQURiO0VsQ2loYWpCOztFa0NoaGFNO0lBQXdCLFFBRGI7RWxDcWhhakI7O0VrQ3BoYU07SUFBd0IsUUFEYjtFbEN5aGFqQjs7RWtDeGhhTTtJQUF3QixRQURiO0VsQzZoYWpCOztFa0M1aGFNO0lBQXdCLFFBRGI7RWxDaWlhakI7O0VrQ2hpYU07SUFBd0IsU0FEYjtFbENxaWFqQjs7RWtDcGlhTTtJQUF3QixTQURiO0VsQ3lpYWpCOztFa0N4aWFNO0lBQXdCLFNBRGI7RWxDNmlhakI7O0VrQ3JpYVU7SUZoQlY7RWhDeWphQTs7RWtDemlhVTtJRmhCVjtFaEM2amFBOztFa0M3aWFVO0lGaEJWO0VoQ2lrYUE7O0VrQ2pqYVU7SUZoQlY7RWhDcWthQTs7RWtDcmphVTtJRmhCVjtFaEN5a2FBOztFa0N6amFVO0lGaEJWO0VoQzZrYUE7O0VrQzdqYVU7SUZoQlY7RWhDaWxhQTs7RWtDamthVTtJRmhCVjtFaENxbGFBOztFa0Nya2FVO0lGaEJWO0VoQ3lsYUE7O0VrQ3prYVU7SUZoQlY7RWhDNmxhQTs7RWtDN2thVTtJRmhCVjtFaENpbWFBOztFa0NqbGFVO0lGaEJWO0VoQ3FtYUE7QUFDRjtBaUNqbWFJO0VDM0JFO0lBQ0U7SUFDQTtJQUNBO0VsQytuYU47O0VnQ25tYUE7SUFDRTtJQUNBO0VoQ3NtYUY7O0VnQ3htYUE7SUFDRTtJQUNBO0VoQzJtYUY7O0VnQzdtYUE7SUFDRTtJQUNBO0VoQ2duYUY7O0VnQ2xuYUE7SUFDRTtJQUNBO0VoQ3FuYUY7O0VnQ3ZuYUE7SUFDRTtJQUNBO0VoQzBuYUY7O0VnQzVuYUE7SUFDRTtJQUNBO0VoQytuYUY7O0VrQ2xwYUk7SUZDSjtJQUNBO0lBQ0E7RWhDcXBhQTs7RWtDbHBhUTtJRmJSO0lBSUE7RWhDZ3FhQTs7RWtDdnBhUTtJRmJSO0lBSUE7RWhDcXFhQTs7RWtDNXBhUTtJRmJSO0lBSUE7RWhDMHFhQTs7RWtDanFhUTtJRmJSO0lBSUE7RWhDK3FhQTs7RWtDdHFhUTtJRmJSO0lBSUE7RWhDb3JhQTs7RWtDM3FhUTtJRmJSO0lBSUE7RWhDeXJhQTs7RWtDaHJhUTtJRmJSO0lBSUE7RWhDOHJhQTs7RWtDcnJhUTtJRmJSO0lBSUE7RWhDbXNhQTs7RWtDMXJhUTtJRmJSO0lBSUE7RWhDd3NhQTs7RWtDL3JhUTtJRmJSO0lBSUE7RWhDNnNhQTs7RWtDcHNhUTtJRmJSO0lBSUE7RWhDa3RhQTs7RWtDenNhUTtJRmJSO0lBSUE7RWhDdXRhQTs7RWtDeHNhSTtJQUF3QjtFbEM0c2E1Qjs7RWtDMXNhSTtJQUF1QjtFbEM4c2EzQjs7RWtDM3NhTTtJQUF3QixRQURiO0VsQ2d0YWpCOztFa0Mvc2FNO0lBQXdCLFFBRGI7RWxDb3RhakI7O0VrQ250YU07SUFBd0IsUUFEYjtFbEN3dGFqQjs7RWtDdnRhTTtJQUF3QixRQURiO0VsQzR0YWpCOztFa0MzdGFNO0lBQXdCLFFBRGI7RWxDZ3VhakI7O0VrQy90YU07SUFBd0IsUUFEYjtFbENvdWFqQjs7RWtDbnVhTTtJQUF3QixRQURiO0VsQ3d1YWpCOztFa0N2dWFNO0lBQXdCLFFBRGI7RWxDNHVhakI7O0VrQzN1YU07SUFBd0IsUUFEYjtFbENndmFqQjs7RWtDL3VhTTtJQUF3QixRQURiO0VsQ292YWpCOztFa0NudmFNO0lBQXdCLFNBRGI7RWxDd3ZhakI7O0VrQ3Z2YU07SUFBd0IsU0FEYjtFbEM0dmFqQjs7RWtDM3ZhTTtJQUF3QixTQURiO0VsQ2d3YWpCOztFa0N4dmFVO0lGaEJWO0VoQzR3YUE7O0VrQzV2YVU7SUZoQlY7RWhDZ3hhQTs7RWtDaHdhVTtJRmhCVjtFaENveGFBOztFa0Nwd2FVO0lGaEJWO0VoQ3d4YUE7O0VrQ3h3YVU7SUZoQlY7RWhDNHhhQTs7RWtDNXdhVTtJRmhCVjtFaENneWFBOztFa0NoeGFVO0lGaEJWO0VoQ295YUE7O0VrQ3B4YVU7SUZoQlY7RWhDd3lhQTs7RWtDeHhhVTtJRmhCVjtFaEM0eWFBOztFa0M1eGFVO0lGaEJWO0VoQ2d6YUE7O0VrQ2h5YVU7SUZoQlY7RWhDb3phQTs7RWtDcHlhVTtJRmhCVjtFaEN3emFBO0FBQ0Y7QWlDcHphSTtFQzNCRTtJQUNFO0lBQ0E7SUFDQTtFbENrMWFOOztFZ0N0emFBO0lBQ0U7SUFDQTtFaEN5emFGOztFZ0MzemFBO0lBQ0U7SUFDQTtFaEM4emFGOztFZ0NoMGFBO0lBQ0U7SUFDQTtFaENtMGFGOztFZ0NyMGFBO0lBQ0U7SUFDQTtFaEN3MGFGOztFZ0MxMGFBO0lBQ0U7SUFDQTtFaEM2MGFGOztFZ0MvMGFBO0lBQ0U7SUFDQTtFaENrMWFGOztFa0NyMmFJO0lGQ0o7SUFDQTtJQUNBO0VoQ3cyYUE7O0VrQ3IyYVE7SUZiUjtJQUlBO0VoQ20zYUE7O0VrQzEyYVE7SUZiUjtJQUlBO0VoQ3czYUE7O0VrQy8yYVE7SUZiUjtJQUlBO0VoQzYzYUE7O0VrQ3AzYVE7SUZiUjtJQUlBO0VoQ2s0YUE7O0VrQ3ozYVE7SUZiUjtJQUlBO0VoQ3U0YUE7O0VrQzkzYVE7SUZiUjtJQUlBO0VoQzQ0YUE7O0VrQ240YVE7SUZiUjtJQUlBO0VoQ2k1YUE7O0VrQ3g0YVE7SUZiUjtJQUlBO0VoQ3M1YUE7O0VrQzc0YVE7SUZiUjtJQUlBO0VoQzI1YUE7O0VrQ2w1YVE7SUZiUjtJQUlBO0VoQ2c2YUE7O0VrQ3Y1YVE7SUZiUjtJQUlBO0VoQ3E2YUE7O0VrQzU1YVE7SUZiUjtJQUlBO0VoQzA2YUE7O0VrQzM1YUk7SUFBd0I7RWxDKzVhNUI7O0VrQzc1YUk7SUFBdUI7RWxDaTZhM0I7O0VrQzk1YU07SUFBd0IsUUFEYjtFbENtNmFqQjs7RWtDbDZhTTtJQUF3QixRQURiO0VsQ3U2YWpCOztFa0N0NmFNO0lBQXdCLFFBRGI7RWxDMjZhakI7O0VrQzE2YU07SUFBd0IsUUFEYjtFbEMrNmFqQjs7RWtDOTZhTTtJQUF3QixRQURiO0VsQ203YWpCOztFa0NsN2FNO0lBQXdCLFFBRGI7RWxDdTdhakI7O0VrQ3Q3YU07SUFBd0IsUUFEYjtFbEMyN2FqQjs7RWtDMTdhTTtJQUF3QixRQURiO0VsQys3YWpCOztFa0M5N2FNO0lBQXdCLFFBRGI7RWxDbThhakI7O0VrQ2w4YU07SUFBd0IsUUFEYjtFbEN1OGFqQjs7RWtDdDhhTTtJQUF3QixTQURiO0VsQzI4YWpCOztFa0MxOGFNO0lBQXdCLFNBRGI7RWxDKzhhakI7O0VrQzk4YU07SUFBd0IsU0FEYjtFbENtOWFqQjs7RWtDMzhhVTtJRmhCVjtFaEMrOWFBOztFa0MvOGFVO0lGaEJWO0VoQ20rYUE7O0VrQ245YVU7SUZoQlY7RWhDdSthQTs7RWtDdjlhVTtJRmhCVjtFaEMyK2FBOztFa0MzOWFVO0lGaEJWO0VoQysrYUE7O0VrQy85YVU7SUZoQlY7RWhDbS9hQTs7RWtDbithVTtJRmhCVjtFaEN1L2FBOztFa0N2K2FVO0lGaEJWO0VoQzIvYUE7O0VrQzMrYVU7SUZoQlY7RWhDKy9hQTs7RWtDLythVTtJRmhCVjtFaENtZ2JBOztFa0NuL2FVO0lGaEJWO0VoQ3VnYkE7O0VrQ3YvYVU7SUZoQlY7RWhDMmdiQTtBQUNGO0FtQy9qYkE7RUFDRTtFQUNBLG1CWmlJTztFWWhJUCxjWlNTO0F2QndqYlg7QW1DOWpiRTs7RUFFRSxnQlptVjBCO0VZbFYxQjtFQUNBO0FuQ2drYko7QW1DN2piRTtFQUNFO0VBQ0E7QW5DK2piSjtBbUM1amJFO0VBQ0U7QW5DOGpiSjs7QW1DcGpiRTs7RUFFRSxlWjZUMEI7QXZCMHZhOUI7O0FtQzlpYkE7RUFDRTtBbkNpamJGO0FtQy9pYkU7O0VBRUU7QW5DaWpiSjtBbUM3aWJJOztFQUVFO0FuQytpYk47O0FtQ3ppYkU7Ozs7RUFJRTtBbkM0aWJKOztBbUNuaWJFO0VBQ0UscUNaeVIwQjtBdkI2d2E5Qjs7QXdCcm1iRTtFVzJFSSxjWnZFSztFWXdFTCxzQ1o4UXdCO0F2Qmd4YTlCOztBb0NobmJJOzs7RUFHRSx5QkQyRitCO0FuQ3doYnJDO0FvQy9tYk07Ozs7RUFJRSxxQkRtRnlFO0FuQzhoYmpGOztBd0J0bmJFO0VZaUJNLHlCQUplO0FwQzZtYnZCO0FvQ3ZtYlE7O0VBRUUseUJBUmE7QXBDaW5idkI7O0FvQ3BvYkk7OztFQUdFLHlCRDJGK0I7QW5DNGlickM7QW9Dbm9iTTs7OztFQUlFLHFCRG1GeUU7QW5Da2piakY7O0F3QjFvYkU7RVlpQk0seUJBSmU7QXBDaW9idkI7QW9DM25iUTs7RUFFRSx5QkFSYTtBcENxb2J2Qjs7QW9DeHBiSTs7O0VBR0UseUJEMkYrQjtBbkNna2JyQztBb0N2cGJNOzs7O0VBSUUscUJEbUZ5RTtBbkNza2JqRjs7QXdCOXBiRTtFWWlCTSx5QkFKZTtBcENxcGJ2QjtBb0Mvb2JROztFQUVFLHlCQVJhO0FwQ3lwYnZCOztBb0M1cWJJOzs7RUFHRSx5QkQyRitCO0FuQ29sYnJDO0FvQzNxYk07Ozs7RUFJRSxxQkRtRnlFO0FuQzBsYmpGOztBd0JscmJFO0VZaUJNLHlCQUplO0FwQ3lxYnZCO0FvQ25xYlE7O0VBRUUseUJBUmE7QXBDNnFidkI7O0FvQ2hzYkk7OztFQUdFLHlCRDJGK0I7QW5Dd21ickM7QW9DL3JiTTs7OztFQUlFLHFCRG1GeUU7QW5DOG1iakY7O0F3QnRzYkU7RVlpQk0seUJBSmU7QXBDNnJidkI7QW9DdnJiUTs7RUFFRSx5QkFSYTtBcENpc2J2Qjs7QW9DcHRiSTs7O0VBR0UseUJEMkYrQjtBbkM0bmJyQztBb0NudGJNOzs7O0VBSUUscUJEbUZ5RTtBbkNrb2JqRjs7QXdCMXRiRTtFWWlCTSx5QkFKZTtBcENpdGJ2QjtBb0Mzc2JROztFQUVFLHlCQVJhO0FwQ3F0YnZCOztBb0N4dWJJOzs7RUFHRSx5QkQyRitCO0FuQ2dwYnJDO0FvQ3Z1Yk07Ozs7RUFJRSxxQkRtRnlFO0FuQ3NwYmpGOztBd0I5dWJFO0VZaUJNLHlCQUplO0FwQ3F1YnZCO0FvQy90YlE7O0VBRUUseUJBUmE7QXBDeXVidkI7O0FvQzV2Ykk7OztFQUdFLHlCRDJGK0I7QW5Db3FickM7QW9DM3ZiTTs7OztFQUlFLHFCRG1GeUU7QW5DMHFiakY7O0F3Qmx3YkU7RVlpQk0seUJBSmU7QXBDeXZidkI7QW9DbnZiUTs7RUFFRSx5QkFSYTtBcEM2dmJ2Qjs7QW9DaHhiSTs7O0VBR0Usc0NiNlZ3QjtBdkJzN2E5Qjs7QXdCaHhiRTtFWWlCTSxzQ0FKZTtBcEN1d2J2QjtBb0Nqd2JROztFQUVFLHNDQVJhO0FwQzJ3YnZCOztBbUNucmJJO0VBQ0UsV1ozR0s7RVk0R0wseUJacEdLO0VZcUdMLHFCWmlRd0I7QXZCcTdhOUI7QW1DanJiSTtFQUNFLGNaNUdLO0VZNkdMLHlCWmxISztFWW1ITCxxQlpsSEs7QXZCcXliWDs7QW1DOXFiQTtFQUNFLFdaM0hTO0VZNEhULHlCWnBIUztBdkJxeWJYO0FtQy9xYkU7OztFQUdFLHFCWjZPMEI7QXZCbzhhOUI7QW1DOXFiRTtFQUNFO0FuQ2dyYko7QW1DNXFiSTtFQUNFLDJDWmlPd0I7QXZCNjhhOUI7QXdCbnpiRTtFVzRJTSxXWmpKRztFWWtKSCw0Q1oyTnNCO0F2Qis4YTlCOztBaUMxdmJJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RW5DNHBiTjtFbUN6cGJNO0lBQ0U7RW5DMnBiUjtBQUNGO0FpQ3R3Ykk7RUVpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFbkN1cWJOO0VtQ3BxYk07SUFDRTtFbkNzcWJSO0FBQ0Y7QWlDanhiSTtFRWlHQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0VuQ2tyYk47RW1DL3FiTTtJQUNFO0VuQ2lyYlI7QUFDRjtBaUM1eGJJO0VFaUdBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7RW5DNnJiTjtFbUMxcmJNO0lBQ0U7RW5DNHJiUjtBQUNGO0FtQ3RzYkk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBbkN1c2JSO0FtQ3BzYlE7RUFDRTtBbkNzc2JWOztBcUNuM2JBO0VBQ0U7RUFDQTtFQUNBLG1DZDJlc0M7RWMxZXRDO0VmMEtJO0VldktKLGdCZG1SNEI7RWNsUjVCLGdCaEJSaUI7RWdCU2pCLGNkRFM7RWNFVCxzQmRUUztFY1VUO0VBQ0E7RVJBRTtFU0ZFLHdFRFFKO0FyQ2kzYkY7QXNDcjNiTTtFRGROO0lDZVE7RXRDdzNiTjtBQUNGO0FxQ24zYkU7RUFDRTtFQUNBO0FyQ3EzYko7QXVDcjRiRTtFQUNFO0VBQ0Esc0JoQlJPO0VnQlNQLHFCaEJzZG9DO0VnQnJkcEM7RUFLRSxpRGhCcVh3QjtBdkI4Z2I5QjtBcUNyM2JFO0VBQ0UsY2R4Qk87RWMwQlA7QXJDczNiSjtBcUN6M2JFO0VBQ0UsY2R4Qk87RWMwQlA7QXJDczNiSjtBcUM5MmJFO0VBRUUseUJkeENPO0VjMENQO0FyQzgyYko7O0FxQ3QyYkU7Ozs7RUFDRTtLQUFBO1VBQUE7QXJDNDJiSjs7QXFDdDJiRTtFQUNFO0VBQ0E7QXJDeTJiSjtBcUN0MmJFO0VBTUUsY2QvRE87RWNnRVAsc0JkdkVPO0F2QjA2Ylg7O0FxQzkxYkE7O0VBRUU7RUFDQTtBckNpMmJGOztBcUN2MWJBO0VBQ0U7RUFDQTtFQUNBO0VmaUVFO0VlL0RGLGdCaEIvRmlCO0FyQnk3Ym5COztBcUN2MWJBO0VBQ0U7RUFDQTtFZjBFSTtFZXhFSixnQmQ2SDRCO0F2QjZ0YjlCOztBcUN2MWJBO0VBQ0U7RUFDQTtFZm1FSTtFZWpFSixnQmR1SDRCO0F2Qm11YjlCOztBcUNqMWJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWZvREk7RWVsREosZ0JoQjVIaUI7RWdCNkhqQixjZG5IUztFY29IVDtFQUNBO0VBQ0E7QXJDbzFiRjtBcUNsMWJFO0VBRUU7RUFDQTtBckNtMWJKOztBcUN2MGJBO0VBQ0Usa0NkNlZzQztFYzVWdEM7RWYyQkk7RWV6QkosZ0JkK0U0QjtFTXhOMUI7QTdCbzliSjs7QXFDdjBiQTtFQUNFLGdDZHNWc0M7RWNyVnRDO0VmbUJJO0VlakJKLGdCZHNFNEI7RU12TjFCO0E3QjQ5Yko7O0FxQ3IwYkU7RUFFRTtBckN1MGJKOztBcUNuMGJBO0VBQ0U7QXJDczBiRjs7QXFDOXpiQTtFQUNFLG1CZDJVc0M7QXZCcy9heEM7O0FxQzl6YkE7RUFDRTtFQUNBLG1CZDRUc0M7QXZCcWdieEM7O0FxQ3p6YkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckM0emJGO0FxQzF6YkU7O0VBRUU7RUFDQTtBckM0emJKOztBcUNuemJBO0VBQ0U7RUFDQTtFQUNBLHFCZGlTc0M7QXZCcWhieEM7O0FxQ256YkE7RUFDRTtFQUNBLGtCZDZSc0M7RWM1UnRDO0FyQ3N6YkY7QXFDbnpiRTtFQUVFLGNkek5PO0F2QjZnY1g7O0FxQ2h6YkE7RUFDRTtBckNtemJGOztBcUNoemJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EscUJkOFFzQztBdkJxaWJ4QztBcUNoemJFO0VBQ0U7RUFDQTtFQUNBLHVCZHlRb0M7RWN4UXBDO0FyQ2t6Yko7O0F1Qy8vYkU7RUFDRTtFQUNBO0VBQ0EsbUJoQjJjb0M7RUR0VnBDO0VpQm5IQSxjRnFOcUM7QXJDNnliekM7O0F1Qy8vYkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqQndIRTtFaUJ0SEYsZ0JsQnhEZTtFa0J5RGY7RUFDQTtFVjlDQTtBN0JpamNKO0F1QzkvYkk7RUFFRTtBdkMrL2JOOztBdUMxL2JJOzs7O0VBRUU7QXZDKy9iTjs7QXVDN2ljSTtFQW9ERSxxQkZrTG1DO0VFL0tqQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QzIvYlI7QXVDeC9iTTtFQUNFLHFCRnVLaUM7RUV0S2pDO0F2QzAvYlI7O0F1QzFqY0k7RUF5RUk7RUFDQTtBdkNxL2JSOztBdUMvamNJO0VBbUZJLG9DaEI2WGdDO0VnQjVYaEM7QXZDZy9iUjs7QXVDcGtjSTtFQTJGRSxxQkYySW1DO0VFeElqQztFQUNBO0F2QzIrYlI7QXVDeCtiTTtFQUNFLHFCRm1JaUM7RUVsSWpDO0F2QzArYlI7O0F1Q24rYk07RUFDRSxjRjBIaUM7QXJDNDJiekM7QXVDbitiTTs7O0VBRUU7QXZDcytiUjs7QXVDLzliTTtFQUNFLGNGNkdpQztBckNxM2J6QztBdUNoK2JRO0VBQ0UscUJGMEcrQjtBckN3M2J6QztBdUM3OWJRO0VBQ0U7RUM1Sk4seUJENkoyQjtBdkMrOWIvQjtBdUMxOWJRO0VBQ0U7QXZDNDliVjtBdUN6OWJRO0VBQ0UscUJBVnFCO0F2Q3ErYi9COztBdUNsOWJNO0VBQ0UscUJBcEJ1QjtBdkN5K2IvQjtBdUNqOWJRO0VBQ0UscUJBekJxQjtFQTBCckI7QXZDbTliVjs7QXVDcG1jRTtFQUNFO0VBQ0E7RUFDQSxtQmhCMmNvQztFRHRWcEM7RWlCbkhBLGNGcU5xQztBckNrNWJ6Qzs7QXVDcG1jRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWpCd0hFO0VpQnRIRixnQmxCeERlO0VrQnlEZjtFQUNBO0VWOUNBO0E3QnNwY0o7QXVDbm1jSTtFQUVFO0F2Q29tY047O0F1Qy9sY0k7Ozs7RUFFRTtBdkNvbWNOOztBdUNscGNJO0VBb0RFLHFCRmtMbUM7RUUvS2pDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDZ21jUjtBdUM3bGNNO0VBQ0UscUJGdUtpQztFRXRLakM7QXZDK2xjUjs7QXVDL3BjSTtFQXlFSTtFQUNBO0F2QzBsY1I7O0F1Q3BxY0k7RUFtRkksb0NoQjZYZ0M7RWdCNVhoQztBdkNxbGNSOztBdUN6cWNJO0VBMkZFLHFCRjJJbUM7RUV4SWpDO0VBQ0E7QXZDZ2xjUjtBdUM3a2NNO0VBQ0UscUJGbUlpQztFRWxJakM7QXZDK2tjUjs7QXVDeGtjTTtFQUNFLGNGMEhpQztBckNpOWJ6QztBdUN4a2NNOzs7RUFFRTtBdkMya2NSOztBdUNwa2NNO0VBQ0UsY0Y2R2lDO0FyQzA5YnpDO0F1Q3JrY1E7RUFDRSxxQkYwRytCO0FyQzY5YnpDO0F1Q2xrY1E7RUFDRTtFQzVKTix5QkQ2SjJCO0F2Q29rYy9CO0F1Qy9qY1E7RUFDRTtBdkNpa2NWO0F1QzlqY1E7RUFDRSxxQkFWcUI7QXZDMGtjL0I7O0F1Q3ZqY007RUFDRSxxQkFwQnVCO0F2QzhrYy9CO0F1Q3RqY1E7RUFDRSxxQkF6QnFCO0VBMEJyQjtBdkN3amNWOztBcUNuK2JBO0VBQ0U7RUFDQTtFQUNBO0FyQ3MrYkY7QXFDaitiRTtFQUNFO0FyQ20rYko7QWlDbHNjSTtFSW9PQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VyQ2krYko7RXFDNzliRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXJDKzliSjtFcUMzOWJFO0lBQ0U7SUFDQTtJQUNBO0VyQzY5Yko7RXFDejliRTtJQUNFO0VyQzI5Yko7RXFDeDliRTs7SUFFRTtFckMwOWJKO0VxQ3I5YkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyQ3U5Yko7RXFDcjliRTtJQUNFO0lBQ0E7SUFDQTtJQUNBLHFCZGdMa0M7SWMvS2xDO0VyQ3U5Yko7RXFDcDliRTtJQUNFO0lBQ0E7RXJDczliSjtFcUNwOWJFO0lBQ0U7RXJDczliSjtBQUNGOztBeUN4eWNBO0VBQ0U7RUFFQSxnQmxCdVI0QjtFa0J0UjVCLGNsQk1TO0VrQkxUO0VBR0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBO0VDdUZBO0VwQjRFSTtFb0IxRUosZ0JyQnBHaUI7RVFZZjtFU0ZFLHFJR0dKO0F6QzJ5Y0Y7QXNDMXljTTtFR2ROO0lIZVE7RXRDNnljTjtBQUNGO0F3QnZ6Y0U7RWlCVUUsY2xCTk87RWtCT1A7QXpDZ3pjSjtBeUM3eWNFO0VBRUU7RUFDQSxpRGxCOFcwQjtBdkJnOGI5QjtBeUMxeWNFO0VBRUUsYWxCa1owQjtBdkJ5NWI5QjtBeUN2eWNFO0VBQ0U7QXpDeXljSjtBeUMzeGNBOztFQUVFO0F6QzZ4Y0Y7O0F5Q3B4Y0U7RUMzREE7RUZBRSx5QmpCc0VXO0VtQnBFYixxQm5Cb0VhO0F2Qit3Y2Y7QXdCLzBjRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QTFDMjFjekc7QTBDLzBjRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUM0MGNOO0EwQ3YwY0U7RUFFRTtFQUNBLHlCbkIwQ1c7RW1CekNYLHFCbkJ5Q1c7QXZCK3hjZjtBMENqMGNFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0ExQzIyYzdMO0EwQzV6Y0k7RUFLSTtBMUMwemNSOztBeUNsemNFO0VDM0RBO0VGQUUseUJqQnNFVztFbUJwRWIscUJuQm9FYTtBdkI2eWNmO0F3QjcyY0U7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0ExQ3kzY3pHO0EwQzcyY0U7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFDMDJjTjtBMENyMmNFO0VBRUU7RUFDQSx5Qm5CMENXO0VtQnpDWCxxQm5CeUNXO0F2QjZ6Y2Y7QTBDLzFjRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBMUN5NGM3TDtBMEMxMWNJO0VBS0k7QTFDdzFjUjs7QXlDaDFjRTtFQzNEQTtFRkFFLHlCakJzRVc7RW1CcEViLHFCbkJvRWE7QXZCMjBjZjtBd0IzNGNFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBMUN1NWN6RztBMEMzNGNFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExQ3c0Y047QTBDbjRjRTtFQUVFO0VBQ0EseUJuQjBDVztFbUJ6Q1gscUJuQnlDVztBdkIyMWNmO0EwQzczY0U7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QTFDdTZjN0w7QTBDeDNjSTtFQUtJO0ExQ3MzY1I7O0F5QzkyY0U7RUMzREE7RUZBRSx5QmpCc0VXO0VtQnBFYixxQm5Cb0VhO0F2QnkyY2Y7QXdCejZjRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QTFDcTdjekc7QTBDejZjRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUNzNmNOO0EwQ2o2Y0U7RUFFRTtFQUNBLHlCbkIwQ1c7RW1CekNYLHFCbkJ5Q1c7QXZCeTNjZjtBMEMzNWNFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0ExQ3E4YzdMO0EwQ3Q1Y0k7RUFLSTtBMUNvNWNSOztBeUM1NGNFO0VDM0RBO0VGQUUseUJqQnNFVztFbUJwRWIscUJuQm9FYTtBdkJ1NGNmO0F3QnY4Y0U7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0ExQ205Y3pHO0EwQ3Y4Y0U7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFDbzhjTjtBMEMvN2NFO0VBRUU7RUFDQSx5Qm5CMENXO0VtQnpDWCxxQm5CeUNXO0F2QnU1Y2Y7QTBDejdjRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBMUNtK2M3TDtBMENwN2NJO0VBS0k7QTFDazdjUjs7QXlDMTZjRTtFQzNEQTtFRkFFLHlCakJzRVc7RW1CcEViLHFCbkJvRWE7QXZCcTZjZjtBd0JyK2NFO0VrQkFFO0VGTkEseUJFRDJEO0VBUzNELHFCQVRxRztBMUNpL2N6RztBMENyK2NFO0VBRUU7RUZiQSx5QkVEMkQ7RUFnQjNELHFCQWhCcUc7RUFxQm5HO0ExQ2srY047QTBDNzljRTtFQUVFO0VBQ0EseUJuQjBDVztFbUJ6Q1gscUJuQnlDVztBdkJxN2NmO0EwQ3Y5Y0U7RUFHRTtFQUNBLHlCQXpDK0k7RUE2Qy9JLHFCQTdDeUw7QTFDaWdkN0w7QTBDbDljSTtFQUtJO0ExQ2c5Y1I7O0F5Q3g4Y0U7RUMzREE7RUZBRSx5QmpCc0VXO0VtQnBFYixxQm5Cb0VhO0F2Qm04Y2Y7QXdCbmdkRTtFa0JBRTtFRk5BLHlCRUQyRDtFQVMzRCxxQkFUcUc7QTFDK2dkekc7QTBDbmdkRTtFQUVFO0VGYkEseUJFRDJEO0VBZ0IzRCxxQkFoQnFHO0VBcUJuRztBMUNnZ2ROO0EwQzMvY0U7RUFFRTtFQUNBLHlCbkIwQ1c7RW1CekNYLHFCbkJ5Q1c7QXZCbTljZjtBMENyL2NFO0VBR0U7RUFDQSx5QkF6QytJO0VBNkMvSSxxQkE3Q3lMO0ExQytoZDdMO0EwQ2gvY0k7RUFLSTtBMUM4K2NSOztBeUN0K2NFO0VDM0RBO0VGQUUseUJqQnNFVztFbUJwRWIscUJuQm9FYTtBdkJpK2NmO0F3QmppZEU7RWtCQUU7RUZOQSx5QkVEMkQ7RUFTM0QscUJBVHFHO0ExQzZpZHpHO0EwQ2ppZEU7RUFFRTtFRmJBLHlCRUQyRDtFQWdCM0QscUJBaEJxRztFQXFCbkc7QTFDOGhkTjtBMEN6aGRFO0VBRUU7RUFDQSx5Qm5CMENXO0VtQnpDWCxxQm5CeUNXO0F2QmkvY2Y7QTBDbmhkRTtFQUdFO0VBQ0EseUJBekMrSTtFQTZDL0kscUJBN0N5TDtBMUM2amQ3TDtBMEM5Z2RJO0VBS0k7QTFDNGdkUjs7QXlDOS9jRTtFQ1BBLGNuQllhO0VtQlhiLHFCbkJXYTtBdkI4L2NmO0F3QjlqZEU7RWtCd0RFLFdBTGdEO0VBTWhELHlCbkJPVztFbUJOWCxxQm5CTVc7QXZCbWdkZjtBMEN0Z2RFO0VBRUU7QTFDdWdkSjtBMENwZ2RFO0VBRUUsY25CSlc7RW1CS1g7QTFDcWdkSjtBMENsZ2RFO0VBR0U7RUFDQSx5Qm5CWlc7RW1CYVgscUJuQmJXO0F2QitnZGY7QTBDaGdkSTtFQUtJO0ExQzgvY1I7O0F5Q3ZoZEU7RUNQQSxjbkJZYTtFbUJYYixxQm5CV2E7QXZCdWhkZjtBd0J2bGRFO0VrQndERSxXQUxnRDtFQU1oRCx5Qm5CT1c7RW1CTlgscUJuQk1XO0F2QjRoZGY7QTBDL2hkRTtFQUVFO0ExQ2dpZEo7QTBDN2hkRTtFQUVFLGNuQkpXO0VtQktYO0ExQzhoZEo7QTBDM2hkRTtFQUdFO0VBQ0EseUJuQlpXO0VtQmFYLHFCbkJiVztBdkJ3aWRmO0EwQ3poZEk7RUFLSTtBMUN1aGRSOztBeUNoamRFO0VDUEEsY25CWWE7RW1CWGIscUJuQldhO0F2QmdqZGY7QXdCaG5kRTtFa0J3REUsV0FMZ0Q7RUFNaEQseUJuQk9XO0VtQk5YLHFCbkJNVztBdkJxamRmO0EwQ3hqZEU7RUFFRTtBMUN5amRKO0EwQ3RqZEU7RUFFRSxjbkJKVztFbUJLWDtBMUN1amRKO0EwQ3BqZEU7RUFHRTtFQUNBLHlCbkJaVztFbUJhWCxxQm5CYlc7QXZCaWtkZjtBMENsamRJO0VBS0k7QTFDZ2pkUjs7QXlDemtkRTtFQ1BBLGNuQllhO0VtQlhiLHFCbkJXYTtBdkJ5a2RmO0F3QnpvZEU7RWtCd0RFLGNBTGdEO0VBTWhELHlCbkJPVztFbUJOWCxxQm5CTVc7QXZCOGtkZjtBMENqbGRFO0VBRUU7QTFDa2xkSjtBMEMva2RFO0VBRUUsY25CSlc7RW1CS1g7QTFDZ2xkSjtBMEM3a2RFO0VBR0U7RUFDQSx5Qm5CWlc7RW1CYVgscUJuQmJXO0F2QjBsZGY7QTBDM2tkSTtFQUtJO0ExQ3lrZFI7O0F5Q2xtZEU7RUNQQSxjbkJZYTtFbUJYYixxQm5CV2E7QXZCa21kZjtBd0JscWRFO0VrQndERSxjQUxnRDtFQU1oRCx5Qm5CT1c7RW1CTlgscUJuQk1XO0F2QnVtZGY7QTBDMW1kRTtFQUVFO0ExQzJtZEo7QTBDeG1kRTtFQUVFLGNuQkpXO0VtQktYO0ExQ3ltZEo7QTBDdG1kRTtFQUdFO0VBQ0EseUJuQlpXO0VtQmFYLHFCbkJiVztBdkJtbmRmO0EwQ3BtZEk7RUFLSTtBMUNrbWRSOztBeUMzbmRFO0VDUEEsY25CWWE7RW1CWGIscUJuQldhO0F2QjJuZGY7QXdCM3JkRTtFa0J3REUsV0FMZ0Q7RUFNaEQseUJuQk9XO0VtQk5YLHFCbkJNVztBdkJnb2RmO0EwQ25vZEU7RUFFRTtBMUNvb2RKO0EwQ2pvZEU7RUFFRSxjbkJKVztFbUJLWDtBMUNrb2RKO0EwQy9uZEU7RUFHRTtFQUNBLHlCbkJaVztFbUJhWCxxQm5CYlc7QXZCNG9kZjtBMEM3bmRJO0VBS0k7QTFDMm5kUjs7QXlDcHBkRTtFQ1BBLGNuQllhO0VtQlhiLHFCbkJXYTtBdkJvcGRmO0F3QnB0ZEU7RWtCd0RFLGNBTGdEO0VBTWhELHlCbkJPVztFbUJOWCxxQm5CTVc7QXZCeXBkZjtBMEM1cGRFO0VBRUU7QTFDNnBkSjtBMEMxcGRFO0VBRUUsY25CSlc7RW1CS1g7QTFDMnBkSjtBMEN4cGRFO0VBR0U7RUFDQSx5Qm5CWlc7RW1CYVgscUJuQmJXO0F2QnFxZGY7QTBDdHBkSTtFQUtJO0ExQ29wZFI7O0F5QzdxZEU7RUNQQSxjbkJZYTtFbUJYYixxQm5CV2E7QXZCNnFkZjtBd0I3dWRFO0VrQndERSxXQUxnRDtFQU1oRCx5Qm5CT1c7RW1CTlgscUJuQk1XO0F2QmtyZGY7QTBDcnJkRTtFQUVFO0ExQ3NyZEo7QTBDbnJkRTtFQUVFLGNuQkpXO0VtQktYO0ExQ29yZEo7QTBDanJkRTtFQUdFO0VBQ0EseUJuQlpXO0VtQmFYLHFCbkJiVztBdkI4cmRmO0EwQy9xZEk7RUFLSTtBMUM2cWRSOztBeUMzcmRBO0VBQ0UsZ0JsQjZNNEI7RWtCNU01QixjbEIyRndDO0VrQjFGeEMscUJsQjJGd0M7QXZCbW1kMUM7QXdCdndkRTtFaUI0RUUsY2xCeUZzQztFa0J4RnRDLDBCbEJ5RnNDO0F2QnFtZDFDO0F5QzNyZEU7RUFFRSwwQmxCb0ZzQztBdkJ3bWQxQztBeUN6cmRFO0VBRUUsY2xCdEZPO0VrQnVGUDtBekMwcmRKOztBeUMvcWRBO0VDUEU7RXBCNEVJO0VvQjFFSixnQm5CK0g0QjtFTXZOMUI7QTdCbXhkSjs7QXlDbHJkQTtFQ1hFO0VwQjRFSTtFb0IxRUosZ0JuQmdJNEI7RU14TjFCO0E3QjB4ZEo7O0F5Q2hyZEE7RUFDRTtFQUNBO0F6Q21yZEY7QXlDaHJkRTtFQUNFLGtCbEJ3VDBCO0F2QjAzYzlCOztBeUMxcWRFOzs7RUFDRTtBekMrcWRKOztBMkMxemRBO0VMZ0JNLGdDS2ZKO0EzQzZ6ZEY7QXNDMXlkTTtFS3BCTjtJTHFCUTtFdEM2eWROO0FBQ0Y7QTJDaDBkRTtFQUNFO0EzQ2swZEo7O0EyQzd6ZEU7RUFDRTtBM0NnMGRKOztBMkM1emRBO0VBQ0U7RUFDQTtFQUNBO0VMREksNkJLRUo7QTNDK3pkRjtBc0M3emRNO0VLTk47SUxPUTtFdENnMGROO0FBQ0Y7QTJDbDBkRTtFQUNFO0VBQ0E7RUxORSw0QktPRjtBM0NvMGRKO0FzQ3YwZE07RUtBSjtJTENNO0V0QzAwZE47QUFDRjs7QTRDLzFkQTs7OztFQUlFO0E1Q2syZEY7O0E0Qy8xZEE7RUFDRTtBNUNrMmRGO0E2QzkwZEk7RUFDRTtFQUNBLG9CdEIrTndCO0VzQjlOeEIsdUJ0QjZOd0I7RXNCNU54QjtFQWhDSjtFQUNBO0VBQ0E7RUFDQTtBN0NpM2RGO0E2QzV6ZEk7RUFDRTtBN0M4emROOztBNEN4MmRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYXJCeXBCa0M7RXFCeHBCbEM7RUFDQTtFQUNBLGdCckJpdUJrQztFcUJodUJsQztFQUNBO0V0QjJKSTtFc0J6SkosY3JCWFM7RXFCWVQ7RUFDQTtFQUNBLHNCckJ2QlM7RXFCd0JUO0VBQ0E7RWZkRTtBN0IwM2RKOztBNENuMmRJO0VBQ0U7RUFDQTtBNUNzMmROOztBNENuMmRJO0VBQ0U7RUFDQTtBNUNzMmROOztBaUMxMWRJO0VXbkJBO0lBQ0U7SUFDQTtFNUNpM2RKOztFNEM5MmRFO0lBQ0U7SUFDQTtFNUNpM2RKO0FBQ0Y7QWlDdDJkSTtFV25CQTtJQUNFO0lBQ0E7RTVDNDNkSjs7RTRDejNkRTtJQUNFO0lBQ0E7RTVDNDNkSjtBQUNGO0FpQ2ozZEk7RVduQkE7SUFDRTtJQUNBO0U1Q3U0ZEo7O0U0Q3A0ZEU7SUFDRTtJQUNBO0U1Q3U0ZEo7QUFDRjtBaUM1M2RJO0VXbkJBO0lBQ0U7SUFDQTtFNUNrNWRKOztFNEMvNGRFO0lBQ0U7SUFDQTtFNUNrNWRKO0FBQ0Y7QTRDMzRkRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHVCckIrckJnQztBdkI4c2NwQztBNkM1NmRJO0VBQ0U7RUFDQSxvQnRCK053QjtFc0I5TnhCLHVCdEI2TndCO0VzQjVOeEI7RUF6Qko7RUFDQTtFQUNBO0VBQ0E7QTdDdzhkRjtBNkMxNWRJO0VBQ0U7QTdDNDVkTjs7QTRDajVkRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUJyQmlyQmdDO0F2Qm11Y3BDO0E2Q2o4ZEk7RUFDRTtFQUNBLG9CdEIrTndCO0VzQjlOeEIsdUJ0QjZOd0I7RXNCNU54QjtFQWxCSjtFQUNBO0VBQ0E7RUFDQTtBN0NzOWRGO0E2Qy82ZEk7RUFDRTtBN0NpN2ROO0E0QzU1ZEk7RUFDRTtBNUM4NWROOztBNEN4NWRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQnJCZ3FCZ0M7QXZCMnZjcEM7QTZDejlkSTtFQUNFO0VBQ0Esb0J0QitOd0I7RXNCOU54Qix1QnRCNk53QjtFc0I1TnhCO0E3QzI5ZE47QTZDaDlkTTtFQUNFO0E3Q2s5ZFI7QTZDLzhkTTtFQUNFO0VBQ0EscUJ0QjRNc0I7RXNCM010Qix1QnRCME1zQjtFc0J6TXRCO0VBOUJOO0VBQ0E7RUFDQTtBN0NnL2RGO0E2Qy84ZEk7RUFDRTtBN0NpOWROO0E0QzM2ZEk7RUFDRTtBNUM2NmROOztBNENyNmRFO0VBSUU7RUFDQTtBNUNxNmRKOztBNENoNmRBO0VFOUdFO0VBQ0E7RUFDQTtFQUNBO0E5Q2toZUY7O0E0Q2g2ZEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCckJpSzRCO0VxQmhLNUIsY3JCaEhTO0VxQmlIVDtFQUVBO0VBQ0E7RUFDQTtBNUNrNmRGO0F3QnZoZUU7RW9Cb0lFLGNyQm9uQmdDO0VxQm5uQmhDO0VKL0lBLHlCakJHTztBdkJtaWVYO0E0Q241ZEU7RUFFRSxXckJwSk87RXFCcUpQO0VKdEpBLHlCakJvUDBCO0F2QnV6ZDlCO0E0Q2o1ZEU7RUFFRSxjckJ0Sk87RXFCdUpQO0VBQ0E7QTVDazVkSjs7QTRDMTRkQTtFQUNFO0E1QzY0ZEY7O0E0Q3o0ZEE7RUFDRTtFQUNBLHNCckJpbUJrQztFcUJobUJsQztFdEJBSTtFc0JFSixjckJ6S1M7RXFCMEtUO0E1QzQ0ZEY7O0E0Q3g0ZEE7RUFDRTtFQUNBO0VBQ0EsY3JCOUtTO0F2QnlqZVg7O0ErQ3RrZUE7O0VBRUU7RUFDQTtFQUNBO0EvQ3lrZUY7QStDdmtlRTs7RUFDRTtFQUNBO0EvQzBrZUo7QXdCemtlRTs7RXVCSUk7QS9DeWtlTjtBK0N2a2VJOzs7O0VBR0U7QS9DMGtlTjs7QStDcGtlQTtFQUNFO0VBQ0E7RUFDQTtBL0N1a2VGO0ErQ3JrZUU7RUFDRTtBL0N1a2VKOztBK0Nqa2VFOztFQUVFO0EvQ29rZUo7QStDaGtlRTs7RWxCWEU7RUFDQTtBN0Ira2VKO0ErQ2hrZUU7O0VsQkZFO0VBQ0E7QTdCc2tlSjs7QStDbmplQTtFQUNFO0VBQ0E7QS9Dc2plRjtBK0NwamVFO0VBR0U7QS9Db2plSjtBK0NqamVFO0VBQ0U7QS9DbWplSjs7QStDL2llQTtFQUNFO0VBQ0E7QS9Da2plRjs7QStDL2llQTtFQUNFO0VBQ0E7QS9Da2plRjs7QStDOWhlQTtFQUNFO0VBQ0E7RUFDQTtBL0NpaWVGO0ErQy9oZUU7O0VBRUU7QS9DaWllSjtBK0M5aGVFOztFQUVFO0EvQ2dpZUo7QStDNWhlRTs7RWxCckZFO0VBQ0E7QTdCcW5lSjtBK0M1aGVFOztFbEJ4R0U7RUFDQTtBN0J3b2VKOztBK0M3Z2VFOztFQUVFO0EvQ2doZUo7QStDOWdlSTs7OztFQUVFO0VBQ0E7RUFDQTtBL0NraGVOOztBZ0QzcWVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQ4cWVGO0FnRDVxZUU7Ozs7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRDhxZUo7QWdENXFlSTs7Ozs7Ozs7Ozs7O0VBR0U7QWhEdXJlTjtBZ0RscmVFOzs7RUFHRTtBaERvcmVKO0FnRGhyZUU7RUFDRTtBaERrcmVKO0FnRDdxZUk7O0VuQklBO0VBQ0E7QTdCNnFlSjtBZ0Q3cWVFO0VBQ0U7RUFDQTtBaEQrcWVKO0FnRDdxZUk7RW5CbkJBO0VBQ0E7QTdCbXNlSjtBZ0QvcWVJO0VuQlBBO0VBQ0E7QTdCeXJlSjtBZ0QvcWVJOzs7O0VuQnpCQTtFQUNBO0E3QjhzZUo7QWdEN3FlSTs7OztFbkJsQ0E7RUFDQTtBN0JxdGVKOztBZ0RwcWVBOztFQUVFO0FoRHVxZUY7QWdEbHFlRTs7RUFDRTtFQUNBO0FoRHFxZUo7QWdEbnFlSTs7RUFDRTtBaERzcWVOO0FnRGxxZUU7Ozs7Ozs7O0VBSUU7QWhEd3FlSjs7QWdEcHFlQTtFQUF1QjtBaER3cWV2Qjs7QWdEdnFlQTtFQUFzQjtBaEQycWV0Qjs7QWdEbnFlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0UxQjJESTtFMEJ6REosZ0J6QnFLNEI7RXlCcEs1QixnQjNCdEhpQjtFMkJ1SGpCLGN6Qi9HUztFeUJnSFQ7RUFDQTtFQUNBLHlCekJ2SFM7RXlCd0hUO0VuQi9HRTtBN0JzeGVKO0FnRG5xZUU7O0VBRUU7QWhEcXFlSjs7QWdEM3BlQTs7RUFFRSxnQ3pCbVdzQztBdkIyemR4Qzs7QWdEM3BlQTs7Ozs7O0VBTUU7RTFCd0JJO0UwQnRCSixnQnpCMkU0QjtFTXZOMUI7QTdCMnllSjs7QWdEM3BlQTs7RUFFRSxrQ3pCaVZzQztBdkI2MGR4Qzs7QWdEM3BlQTs7Ozs7O0VBTUU7RTFCT0k7RTBCTEosZ0J6QjJENEI7RU14TjFCO0E3QjR6ZUo7O0FnRDNwZUE7O0VBRUU7QWhEOHBlRjs7QWdEbnBlQTs7Ozs7Ozs7RW5COUpJO0VBQ0E7QTdCNHplSjs7QWdEcHBlQTs7Ozs7O0VuQjNKSTtFQUNBO0E3Qnd6ZUo7O0FpRGgyZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtBakRtMmVGOztBaURoMmVBO0VBQ0U7RUFDQSxrQjFCeWZzQztBdkIwMmR4Qzs7QWlEaDJlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFcxQnFmc0M7RTBCcGZ0QztFQUNBO0FqRG0yZUY7QWlEajJlRTtFQUNFLFcxQnpCTztFMEIwQlAscUIxQnlOMEI7RWlCcFAxQix5QmpCb1AwQjtBdkIyb2U5QjtBaUQvMWVFO0VBS0ksaUQxQmdXd0I7QXZCNi9kOUI7QWlEejFlRTtFQUNFLHFCMUJzYm9DO0F2QnE2ZHhDO0FpRHgxZUU7RUFDRSxXMUI3Q087RTBCOENQLHlCMUJrZjRDO0UwQmpmNUMscUIxQmlmNEM7QXZCeTJkaEQ7QWlEbjFlSTtFQUNFLGMxQmpESztBdkJzNGVYO0FpRG4xZU07RUFDRSx5QjFCeERHO0F2QjY0ZVg7O0FpRDMwZUE7RUFDRTtFQUNBO0VBRUE7QWpENjBlRjtBaUR6MGVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXMUJ3Ym9DO0UwQnZicEMsWTFCdWJvQztFMEJ0YnBDO0VBQ0E7RUFDQSxzQjFCckZPO0UwQnNGUDtBakQyMGVKO0FpRHQwZUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFcxQnlhb0M7RTBCeGFwQyxZMUJ3YW9DO0UwQnZhcEM7RUFDQTtBakR3MGVKOztBaUQ5emVFO0VwQmxHRTtBN0JvNmVKO0FpRDd6ZUk7RUFDRTtBakQremVOO0FpRDF6ZUk7RUFDRSxxQjFCMEh3QjtFaUJwUDFCLHlCakJvUDBCO0F2Qm1zZTlCO0FpRHp6ZUk7RUFDRTtBakQyemVOO0FpRHR6ZUk7RVRwSUEseUNqQnloQjRDO0F2Qm82ZGhEO0FpRHR6ZUk7RVR2SUEseUNqQnloQjRDO0F2QnU2ZGhEOztBaUQ5eWVFO0VBRUUsa0IxQjBaNEM7QXZCczVkaEQ7QWlENXllSTtFQUNFO0FqRDh5ZU47QWlEenllSTtFVDlKQSx5Q2pCeWhCNEM7QXZCaTdkaEQ7O0FpRGp5ZUE7RUFDRTtBakRveWVGO0FpRGp5ZUk7RUFDRTtFQUNBLGMxQmtZMEM7RTBCalkxQztFQUVBLHFCMUJnWTBDO0F2Qms2ZGhEO0FpRC94ZUk7RUFDRTtFQUNBO0VBQ0EsdUIxQjJYMEM7RTBCMVgxQyx3QjFCMFgwQztFMEJ6WDFDLHlCMUJwTEs7RTBCc0xMLHFCMUJzWDBDO0VleGlCMUMseUlXbUxBO0FqRGd5ZU47QXNDLzhlTTtFV3VLRjtJWHRLSTtFdENrOWVOO0FBQ0Y7QWlEaHllSTtFQUNFLHNCMUJsTUs7RTBCbU1MO0FqRGt5ZU47QWlEN3hlSTtFVHpNQSx5Q2pCeWhCNEM7QXZCZzlkaEQ7O0FpRG54ZUE7RUFDRTtFQUNBO0VBQ0EsbUMxQnFSc0M7RTBCcFJ0QztFM0I1Q0k7RTJCK0NKLGdCMUI2RDRCO0UwQjVENUIsZ0I1QjlOaUI7RTRCK05qQixjMUJ2TlM7RTBCd05UO0VBQ0E7RUFDQTtFcEJ0TkU7RW9CeU5GO0tBQUE7VUFBQTtBakRveGVGO0FpRGx4ZUU7RUFDRSxxQjFCd1BvQztFMEJ2UHBDO0VBS0UsaUQxQm1XOEI7QXZCNjZkcEM7QWlEN3dlSTtFQU1FLGMxQi9PSztFMEJnUEwsc0IxQnZQSztBdkJpZ2ZYO0FpRHR3ZUU7RUFFRTtFQUNBLHNCMUIrSDBCO0UwQjlIMUI7QWpEdXdlSjtBaURwd2VFO0VBQ0UsYzFCN1BPO0UwQjhQUCx5QjFCbFFPO0F2QndnZlg7QWlEbHdlRTtFQUNFO0FqRG93ZUo7QWlEaHdlRTtFQUNFO0VBQ0E7QWpEa3dlSjs7QWlEOXZlQTtFQUNFLGtDMUIwTnNDO0UwQnpOdEMsb0IxQmlINEI7RTBCaEg1Qix1QjFCZ0g0QjtFMEIvRzVCLG9CMUJnSDRCO0VEMU54QjtBdEI0MmVOOztBaUQ5dmVBO0VBQ0UsZ0MxQm1Oc0M7RTBCbE50QyxtQjFCOEc0QjtFMEI3RzVCLHNCMUI2RzRCO0UwQjVHNUIsa0IxQjZHNEI7RUQvTnhCO0F0Qm8zZU47O0FpRHp2ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQzFCaU1zQztFMEJoTXRDO0FqRDR2ZUY7O0FpRHp2ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtQzFCeUxzQztFMEJ4THRDO0VBQ0E7RUFDQTtBakQ0dmVGO0FpRDF2ZUU7RUFDRSxxQjFCcUtvQztFMEJwS3BDLGlEMUJ5RTBCO0F2Qm1yZTlCO0FpRHh2ZUU7RUFFRSx5QjFCL1RPO0F2QndqZlg7QWlEcnZlSTtFQUNFLGlCMUIyVGE7QXZCNDdkbkI7QWlEbnZlRTtFQUNFO0FqRHF2ZUo7O0FpRGp2ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUMxQndKc0M7RTBCdkp0QztFQUNBO0VBRUEsZ0IxQmhFNEI7RTBCaUU1QixnQjVCM1ZpQjtFNEI0VmpCLGMxQnBWUztFMEJxVlQsc0IxQjVWUztFMEI2VlQ7RXBCbFZFO0E3QnNrZko7QWlEaHZlRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZCMUJpSW9DO0UwQmhJcEM7RUFDQSxnQjVCM1dlO0U0QjRXZixjMUJwV087RTBCcVdQO0VUN1dBLHlCakJHTztFMEI0V1A7RXBCbldBO0E3QnNsZko7O0FpRHh1ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtBakQydWVGO0FpRHp1ZUU7RUFDRTtBakQydWVKO0FpRHZ1ZUk7RUFBMEIsb0UxQm9PZTtBdkJzZ2U3QztBaUR6dWVJO0VBQTBCLG9FMUJtT2U7QXZCeWdlN0M7QWlEM3VlSTtFQUEwQixvRTFCa09lO0F2QjRnZTdDO0FpRDN1ZUU7RUFDRTtBakQ2dWVKO0FpRDF1ZUU7RUFDRSxXMUJvTnlDO0UwQm5OekMsWTFCbU55QztFMEJsTnpDO0VUbFpBLHlCakJvUDBCO0UwQmdLMUIsUzFCbU55QztFTTNsQnpDO0VTRkUsb0hXNllGO0VYN1lFLDRHVzZZRjtFQUNBO1VBQUE7QWpEMnVlSjtBc0NybmZNO0VXaVlKO0lYaFlNO0lBQUE7RXRDd25mTjtBQUNGO0FpRDl1ZUk7RVQxWkEseUJqQjRtQnlDO0F2QitoZTdDO0FpRDV1ZUU7RUFDRSxXMUI2TGdDO0UwQjVMaEMsYzFCNkxnQztFMEI1TGhDO0VBQ0EsZTFCNExnQztFMEIzTGhDLHlCMUJoYU87RTBCaWFQO0VwQnpaQTtBN0J3b2ZKO0FpRDF1ZUU7RUFDRSxXMUJ5THlDO0UwQnhMekMsWTFCd0x5QztFaUJwbUJ6Qyx5QmpCb1AwQjtFMEIwTDFCLFMxQnlMeUM7RU0zbEJ6QztFU0ZFLGlIV3VhRjtFWHZhRSw0R1d1YUY7RUFDQTtPQUFBO0FqRDJ1ZUo7QXNDL29mTTtFVzRaSjtJWDNaTTtJQUFBO0V0Q2twZk47QUFDRjtBaUQ5dWVJO0VUcGJBLHlCakI0bUJ5QztBdkJ5amU3QztBaUQ1dWVFO0VBQ0UsVzFCbUtnQztFMEJsS2hDLGMxQm1LZ0M7RTBCbEtoQztFQUNBLGUxQmtLZ0M7RTBCaktoQyx5QjFCMWJPO0UwQjJiUDtFcEJuYkE7QTdCa3FmSjtBaUQxdWVFO0VBQ0UsVzFCK0p5QztFMEI5SnpDLFkxQjhKeUM7RTBCN0p6QztFQUNBLG9CMUJyRTBCO0UwQnNFMUIsbUIxQnRFMEI7RWlCblkxQix5QmpCb1AwQjtFMEJ1TjFCLFMxQjRKeUM7RU0zbEJ6QztFU0ZFLGdIV29jRjtFWHBjRSw0R1dvY0Y7RUFDQTtBakQydWVKO0FzQzVxZk07RVdzYko7SVhyYk07SUFBQTtFdEMrcWZOO0FBQ0Y7QWlEOXVlSTtFVGpkQSx5QmpCNG1CeUM7QXZCc2xlN0M7QWlENXVlRTtFQUNFLFcxQnNJZ0M7RTBCckloQyxjMUJzSWdDO0UwQnJJaEM7RUFDQSxlMUJxSWdDO0UwQnBJaEM7RUFDQTtFQUNBO0FqRDh1ZUo7QWlEMXVlRTtFQUNFLHlCMUI5ZE87RU1RUDtBN0Jtc2ZKO0FpRHp1ZUU7RUFDRTtFQUNBLHlCMUJwZU87RU1RUDtBN0J3c2ZKO0FpRHZ1ZUk7RUFDRSx5QjFCeGVLO0F2Qml0Zlg7QWlEdHVlSTtFQUNFO0FqRHd1ZU47QWlEcnVlSTtFQUNFLHlCMUJoZks7QXZCdXRmWDtBaURwdWVJO0VBQ0U7QWpEc3VlTjtBaURudWVJO0VBQ0UseUIxQnhmSztBdkI2dGZYOztBaURodWVBOzs7RVh6Zk0sNEdXNGZKO0FqRG11ZUY7QXNDM3RmTTtFV3FmTjs7O0lYcGZRO0V0Q2d1Zk47QUFDRjs7QWtEanZmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEb3ZmRjs7QWtEanZmQTtFQUNFO0VBQ0E7QWxEb3ZmRjtBd0JudmZFO0UwQkdFO0FsRG12Zko7QWtEL3VmRTtFQUNFLGMzQlhPO0UyQllQO0VBQ0E7QWxEaXZmSjs7QWtEenVmQTtFQUNFO0FsRDR1ZkY7QWtEMXVmRTtFQUNFO0VBQ0E7RUFDQTtFckJiQTtFQUNBO0E3QjB2Zko7QXdCdHdmRTtFMEI2Qkk7RUFDQSxxQzNCaXBCOEI7QXZCMmxlcEM7QWtEenVmSTtFQUNFLGMzQnJDSztFMkJzQ0w7RUFDQTtBbEQydWZOO0FrRHZ1ZkU7O0VBRUUsYzNCNUNPO0UyQjZDUCx5QjdCMURNO0U2QjJETixxQzNCc29CZ0M7QXZCbW1lcEM7QWtEdHVmRTtFQUVFO0VyQnRDQTtFQUNBO0E3Qjh3Zko7O0FrRDd0ZkU7RUFDRTtFQUNBO0VyQjdEQTtBN0I4eGZKO0FrRDd0ZkU7O0VBRUUsVzNCOUVPO0UyQitFUCx5QjNCb0swQjtBdkIyamY5Qjs7QWtEcnRmRTs7RUFFRTtFQUNBO0FsRHd0Zko7O0FrRG50ZkU7O0VBRUU7RUFDQTtFQUNBO0FsRHN0Zko7O0FrRDVzZkU7RUFDRTtBbEQrc2ZKO0FrRDdzZkU7RUFDRTtBbEQrc2ZKOztBbUR4emZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRDJ6ZkY7QW1EdnpmRTs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5EOHpmSjtBbUQxeWZBO0VBQ0U7RUFDQSxvQjVCa3FCa0M7RTRCanFCbEMsdUI1QmlxQmtDO0U0QmhxQmxDLGtCNUJnRk87RUQ2Q0g7RTZCM0hKO0VBQ0E7QW5ENHlmRjtBd0J0MWZFO0UyQjZDRTtBbkQ0eWZKOztBbURueWZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkRzeWZGO0FtRHB5ZkU7RUFDRTtFQUNBO0FuRHN5Zko7QW1EbnlmRTtFQUNFO0VBQ0E7QW5EcXlmSjs7QW1ENXhmQTtFQUNFO0VBQ0EsbUI1QnlsQmtDO0U0QnhsQmxDLHNCNUJ3bEJrQztBdkJ1c2VwQzs7QW1EbnhmQTtFQUNFO0VBQ0E7RUFHQTtBbkRveGZGOztBbURoeGZBO0VBQ0U7RTdCOERJO0U2QjVESjtFQUNBO0VBQ0E7RXRCeEdFO0E3QjQzZko7QXdCOTNmRTtFMkI4R0U7QW5EbXhmSjs7QW1EN3dmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkRneGZGOztBbUQ3d2ZBO0VBQ0UsZ0I1QmdsQmtDO0U0Qi9rQmxDO0FuRGd4ZkY7O0FpQ3QxZkk7RWtCa0ZJOzs7Ozs7SUFDRTtJQUNBO0VuRDZ3ZlI7QUFDRjtBaUMvMmZJO0VrQjZGQTtJQW9CSTtJQUNBO0VuRGt3Zk47RW1EaHdmTTtJQUNFO0VuRGt3ZlI7RW1EaHdmUTtJQUNFO0VuRGt3ZlY7RW1EL3ZmUTtJQUNFLHFCNUJ5aEJ3QjtJNEJ4aEJ4QixvQjVCd2hCd0I7RXZCeXVlbEM7RW1ENXZmTTs7Ozs7O0lBQ0U7RW5EbXdmUjtFbURydmZNO0lBQ0U7RW5EdXZmUjtFbURwdmZNO0lBQ0U7SUFHQTtFbkRvdmZSO0VtRGp2Zk07SUFDRTtFbkRtdmZSO0FBQ0Y7QWlDcDRmSTtFa0JrRkk7Ozs7OztJQUNFO0lBQ0E7RW5EMHpmUjtBQUNGO0FpQzU1Zkk7RWtCNkZBO0lBb0JJO0lBQ0E7RW5EK3lmTjtFbUQ3eWZNO0lBQ0U7RW5EK3lmUjtFbUQ3eWZRO0lBQ0U7RW5EK3lmVjtFbUQ1eWZRO0lBQ0UscUI1QnloQndCO0k0QnhoQnhCLG9CNUJ3aEJ3QjtFdkJzeGVsQztFbUR6eWZNOzs7Ozs7SUFDRTtFbkRnemZSO0VtRGx5Zk07SUFDRTtFbkRveWZSO0VtRGp5Zk07SUFDRTtJQUdBO0VuRGl5ZlI7RW1EOXhmTTtJQUNFO0VuRGd5ZlI7QUFDRjtBaUNqN2ZJO0VrQmtGSTs7Ozs7O0lBQ0U7SUFDQTtFbkR1MmZSO0FBQ0Y7QWlDejhmSTtFa0I2RkE7SUFvQkk7SUFDQTtFbkQ0MWZOO0VtRDExZk07SUFDRTtFbkQ0MWZSO0VtRDExZlE7SUFDRTtFbkQ0MWZWO0VtRHoxZlE7SUFDRSxxQjVCeWhCd0I7STRCeGhCeEIsb0I1QndoQndCO0V2Qm0wZWxDO0VtRHQxZk07Ozs7OztJQUNFO0VuRDYxZlI7RW1ELzBmTTtJQUNFO0VuRGkxZlI7RW1EOTBmTTtJQUNFO0lBR0E7RW5EODBmUjtFbUQzMGZNO0lBQ0U7RW5ENjBmUjtBQUNGO0FpQzk5Zkk7RWtCa0ZJOzs7Ozs7SUFDRTtJQUNBO0VuRG81ZlI7QUFDRjtBaUN0L2ZJO0VrQjZGQTtJQW9CSTtJQUNBO0VuRHk0Zk47RW1EdjRmTTtJQUNFO0VuRHk0ZlI7RW1EdjRmUTtJQUNFO0VuRHk0ZlY7RW1EdDRmUTtJQUNFLHFCNUJ5aEJ3QjtJNEJ4aEJ4QixvQjVCd2hCd0I7RXZCZzNlbEM7RW1EbjRmTTs7Ozs7O0lBQ0U7RW5EMDRmUjtFbUQ1M2ZNO0lBQ0U7RW5EODNmUjtFbUQzM2ZNO0lBQ0U7SUFHQTtFbkQyM2ZSO0VtRHgzZk07SUFDRTtFbkQwM2ZSO0FBQ0Y7QW1EMzdmSTtFQW9CSTtFQUNBO0FuRDA2ZlI7QW1ENzdmUTs7Ozs7O0VBQ0U7RUFDQTtBbkRvOGZWO0FtRGo3ZlE7RUFDRTtBbkRtN2ZWO0FtRGo3ZlU7RUFDRTtBbkRtN2ZaO0FtRGg3ZlU7RUFDRSxxQjVCeWhCd0I7RTRCeGhCeEIsb0I1QndoQndCO0F2QjA1ZXBDO0FtRDc2ZlE7Ozs7OztFQUNFO0FuRG83ZlY7QW1EdDZmUTtFQUNFO0FuRHc2ZlY7QW1EcjZmUTtFQUNFO0VBR0E7QW5EcTZmVjtBbURsNmZRO0VBQ0U7QW5EbzZmVjs7QW1EdDVmRTtFQUNFLHlCNUJpZ0JnQztBdkJ3NWVwQztBd0JqbmdCRTtFMkIyTkkseUI1QjhmOEI7QXZCMjVlcEM7QW1EcDVmSTtFQUNFLHlCNUJzZjhCO0F2Qmc2ZXBDO0F3QnZuZ0JFO0UyQm9PTSx5QjVCb2Y0QjtBdkJrNmVwQztBbURuNWZNO0VBQ0UseUI1QmtmNEI7QXZCbTZlcEM7QW1EajVmSTs7OztFQUlFLHlCNUJ5ZThCO0F2QjA2ZXBDO0FtRC80ZkU7RUFDRSx5QjVCa2VnQztFNEJqZWhDLGdDNUJzZWdDO0F2QjI2ZXBDO0FtRDk0ZkU7RUFDRTtBbkRnNWZKO0FtRDc0ZkU7RUFDRSx5QjVCeWRnQztBdkJzN2VwQztBbUQ5NGZJO0VBQ0UseUI1QnlkOEI7QXZCdTdlcEM7QXdCaHBnQkU7RTJCbVFNLHlCNUJzZDRCO0F2QjA3ZXBDOztBbUR4NGZFO0VBQ0UsVzVCclJPO0F2QmdxZ0JYO0F3QnZwZ0JFO0UyQitRSSxXNUJ4Uks7QXZCbXFnQlg7QW1EdDRmSTtFQUNFLCtCNUIyYjhCO0F2QjY4ZXBDO0F3QjdwZ0JFO0UyQndSTSxnQzVCeWI0QjtBdkIrOGVwQztBbURyNGZNO0VBQ0UsZ0M1QnViNEI7QXZCZzllcEM7QW1EbjRmSTs7OztFQUlFLFc1QjdTSztBdkJrcmdCWDtBbURqNGZFO0VBQ0UsK0I1QnVhZ0M7RTRCdGFoQyxzQzVCMmFnQztBdkJ3OWVwQztBbURoNGZFO0VBQ0U7QW5EazRmSjtBbUQvM2ZFO0VBQ0UsK0I1QjhaZ0M7QXZCbStlcEM7QW1EaDRmSTtFQUNFLFc1QjdUSztBdkIrcmdCWDtBd0J0cmdCRTtFMkJ1VE0sVzVCaFVHO0F2QmtzZ0JYOztBb0Ryc2dCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxzQjdCSlM7RTZCS1Q7RUFDQTtFdkJLRTtBN0Jtc2dCSjtBb0Ryc2dCRTtFQUNFO0VBQ0E7QXBEdXNnQko7QW9EcHNnQkU7RUFDRTtFQUNBO0FwRHNzZ0JKO0FvRHBzZ0JJO0VBQ0U7RXZCQ0Y7RUFDQTtBN0Jzc2dCSjtBb0Rwc2dCSTtFQUNFO0V2QlVGO0VBQ0E7QTdCNnJnQko7QW9EanNnQkU7O0VBRUU7QXBEbXNnQko7O0FvRC9yZ0JBO0VBR0U7RUFHQTtFQUNBLGdCN0JneEJrQztBdkI4NmVwQzs7QW9EMXJnQkE7RUFDRSxzQjdCMHdCa0M7QXZCbTdlcEM7O0FvRDFyZ0JBO0VBQ0U7RUFDQTtBcEQ2cmdCRjs7QW9EMXJnQkE7RUFDRTtBcEQ2cmdCRjs7QXdCbHZnQkU7RTRCMERFO0FwRDRyZ0JKO0FvRHpyZ0JFO0VBQ0Usb0I3Qnl2QmdDO0F2Qms4ZXBDOztBb0RucmdCQTtFQUNFO0VBQ0E7RUFFQSxxQzdCa3ZCa0M7RTZCanZCbEM7QXBEcXJnQkY7QW9EbnJnQkU7RXZCdkVFO0E3QjZ2Z0JKOztBb0RqcmdCQTtFQUNFO0VBRUEscUM3QnV1QmtDO0U2QnR1QmxDO0FwRG1yZ0JGO0FvRGpyZ0JFO0V2QmxGRTtBN0Jzd2dCSjs7QW9EMXFnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEQ2cWdCRjs7QW9EMXFnQkE7RUFDRTtFQUNBO0FwRDZxZ0JGOztBb0R6cWdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQjdCNnNCa0M7RU01ekJoQztBN0I0eGdCSjs7QW9EenFnQkE7OztFQUdFO0VBQ0E7QXBENHFnQkY7O0FvRHpxZ0JBOztFdkJqSEk7RUFDQTtBN0IreGdCSjs7QW9EMXFnQkE7O0V2QnhHSTtFQUNBO0E3QnV4Z0JKOztBb0R2cWdCRTtFQUNFLG1CN0JxckJnQztBdkJxL2VwQztBaUN6d2dCSTtFbUI2Rko7SUFNSTtJQUNBO0lBQ0E7SUFDQTtFcEQwcWdCRjtFb0R4cWdCRTtJQUVFO0lBQ0Esa0I3QnlxQjhCO0k2QnhxQjlCO0lBQ0EsaUI3QnVxQjhCO0V2QmtnZmxDO0FBQ0Y7O0FvRDdwZ0JFO0VBQ0UsbUI3QnlwQmdDO0F2QnVnZnBDO0FpQzN4Z0JJO0VtQnVISjtJQVFJO0lBQ0E7RXBEZ3FnQkY7RW9EN3BnQkU7SUFFRTtJQUNBO0VwRDhwZ0JKO0VvRDVwZ0JJO0lBQ0U7SUFDQTtFcEQ4cGdCTjtFb0R6cGdCTTtJdkJ6S0o7SUFDQTtFN0JxMGdCRjtFb0QxcGdCUTs7SUFHRTtFcEQycGdCVjtFb0R6cGdCUTs7SUFHRTtFcEQwcGdCVjtFb0R0cGdCTTtJdkIxS0o7SUFDQTtFN0JtMGdCRjtFb0R2cGdCUTs7SUFHRTtFcER3cGdCVjtFb0R0cGdCUTs7SUFHRTtFcER1cGdCVjtBQUNGOztBb0Qxb2dCRTtFQUNFLHNCN0I4a0JnQztBdkIramZwQztBaUNyMGdCSTtFbUJzTEo7SUFNSSxvQjdCMmxCZ0M7UzZCM2xCaEMsZTdCMmxCZ0M7STZCMWxCaEMsd0I3QjJsQmdDO1M2QjNsQmhDLG1CN0IybEJnQztJNkIxbEJoQztJQUNBO0VwRDZvZ0JGO0VvRDNvZ0JFO0lBQ0U7SUFDQTtFcEQ2b2dCSjtBQUNGOztBb0Rwb2dCQTtFQUNFO0FwRHVvZ0JGO0FvRHJvZ0JFO0VBQ0U7QXBEdW9nQko7QW9Ecm9nQkk7RUFDRTtFdkJ2T0Y7RUFDQTtBN0IrMmdCSjtBb0Ryb2dCSTtFdkJ6UEE7RUFDQTtBN0JpNGdCSjtBb0Ryb2dCSTtFdkJ0UUE7RXVCd1FFO0FwRHVvZ0JOOztBcURqNmdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLG1COUJxaUNrQztFOEJuaUNsQztFQUNBLHlCOUJFUztFTVNQO0E3Qnk1Z0JKOztBcUQ5NWdCRTtFQUNFLG9COUJ5aENnQztBdkJ3NGVwQztBcUQvNWdCSTtFQUNFO0VBQ0EscUI5QnFoQzhCO0U4QnBoQzlCLGM5Qk5LO0U4Qk9MO0FyRGk2Z0JOO0FxRHY1Z0JFO0VBQ0U7QXJEeTVnQko7QXFEdDVnQkU7RUFDRTtBckR3NWdCSjtBcURyNWdCRTtFQUNFLGM5QjFCTztBdkJpN2dCWDs7QXNEOTdnQkE7RUFDRTtFNUJHQTtFQUNBO0VHYUU7QTdCbTdnQko7O0FzRC83Z0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQi9Cb3hCa0M7RStCbnhCbEMsYy9CbUt3QztFK0JqS3hDLHNCL0JQUztFK0JRVDtBdERpOGdCRjtBc0QvN2dCRTtFQUNFO0VBQ0EsYy9COEpzQztFK0I3SnRDO0VBQ0EseUIvQlpPO0UrQmFQLHFCL0JaTztBdkI2OGdCWDtBc0Q5N2dCRTtFQUNFO0VBQ0EsVS9CNHdCZ0M7RStCM3dCaEMsaUQvQitXMEI7QXZCaWxnQjlCOztBc0QxN2dCSTtFQUNFO0V6QmFGO0VBQ0E7QTdCaTdnQko7QXNEMTdnQkk7RXpCTkE7RUFDQTtBN0JtOGdCSjtBc0R6N2dCRTtFQUNFO0VBQ0EsVy9CeENPO0UrQnlDUCx5Qi9CME0wQjtFK0J6TTFCLHFCL0J5TTBCO0F2Qmt2Z0I5QjtBc0R4N2dCRTtFQUNFLGMvQnhDTztFK0J5Q1A7RUFFQTtFQUNBLHNCL0JsRE87RStCbURQLHFCL0JoRE87QXZCeStnQlg7O0F1RGgvZ0JFO0VBQ0U7RWpDZ0xFO0VpQzlLRixnQmhDbU8wQjtBdkJneGdCOUI7QXVEOStnQk07RTFCcUNGO0VBQ0E7QTdCNDhnQko7QXVENytnQk07RTFCa0JGO0VBQ0E7QTdCODlnQko7O0F1RDkvZ0JFO0VBQ0U7RWpDZ0xFO0VpQzlLRixnQmhDb08wQjtBdkI2eGdCOUI7QXVENS9nQk07RTFCcUNGO0VBQ0E7QTdCMDlnQko7QXVEMy9nQk07RTFCa0JGO0VBQ0E7QTdCNCtnQko7O0F3RDFnaEJBO0VBQ0U7RUFDQTtFbEM2SkU7RWtDM0pGLGdCakN3UjRCO0VpQ3ZSNUI7RUFDQTtFQUNBO0VBQ0E7RTNCS0U7RVNGRSxxSWtCREo7QXhENmdoQkY7QXNDeGdoQk07RWtCZk47SWxCZ0JRO0V0QzJnaEJOO0FBQ0Y7QXdCamhoQkU7RWdDR0k7QXhEaWhoQk47O0F3RDVnaEJFO0VBQ0U7QXhEK2doQko7O0F3RDFnaEJBO0VBQ0U7RUFDQTtBeEQ2Z2hCRjs7QXdEdGdoQkE7RUFDRSxvQmpDaTRCa0M7RWlDaDRCbEMsbUJqQ2c0QmtDO0VNdjVCaEM7QTdCaWloQko7O0F3RGpnaEJFO0VDakRBO0VBQ0EseUJsQzBFYTtBdkI0K2dCZjtBd0J4aWhCRTtFaUNWSTtFQUNBO0F6RHFqaEJOO0F5RGxqaEJJO0VBRUU7RUFDQTtBekRtamhCTjs7QXdEOWdoQkU7RUNqREE7RUFDQSx5QmxDMEVhO0F2QnkvZ0JmO0F3QnJqaEJFO0VpQ1ZJO0VBQ0E7QXpEa2toQk47QXlEL2poQkk7RUFFRTtFQUNBO0F6RGdraEJOOztBd0QzaGhCRTtFQ2pEQTtFQUNBLHlCbEMwRWE7QXZCc2doQmY7QXdCbGtoQkU7RWlDVkk7RUFDQTtBekQra2hCTjtBeUQ1a2hCSTtFQUVFO0VBQ0E7QXpENmtoQk47O0F3RHhpaEJFO0VDakRBO0VBQ0EseUJsQzBFYTtBdkJtaGhCZjtBd0Iva2hCRTtFaUNWSTtFQUNBO0F6RDRsaEJOO0F5RHpsaEJJO0VBRUU7RUFDQTtBekQwbGhCTjs7QXdEcmpoQkU7RUNqREE7RUFDQSx5QmxDMEVhO0F2QmdpaEJmO0F3QjVsaEJFO0VpQ1ZJO0VBQ0E7QXpEeW1oQk47QXlEdG1oQkk7RUFFRTtFQUNBO0F6RHVtaEJOOztBd0Rsa2hCRTtFQ2pEQTtFQUNBLHlCbEMwRWE7QXZCNmloQmY7QXdCem1oQkU7RWlDVkk7RUFDQTtBekRzbmhCTjtBeURubmhCSTtFQUVFO0VBQ0E7QXpEb25oQk47O0F3RC9raEJFO0VDakRBO0VBQ0EseUJsQzBFYTtBdkIwamhCZjtBd0J0bmhCRTtFaUNWSTtFQUNBO0F6RG1vaEJOO0F5RGhvaEJJO0VBRUU7RUFDQTtBekRpb2hCTjs7QXdENWxoQkU7RUNqREE7RUFDQSx5QmxDMEVhO0F2QnVraEJmO0F3Qm5vaEJFO0VpQ1ZJO0VBQ0E7QXpEZ3BoQk47QXlEN29oQkk7RUFFRTtFQUNBO0F6RDhvaEJOOztBMEQzcGhCQTtFQUNFO0VBQ0EsbUJuQ3l6QmtDO0VtQ3Z6QmxDLHlCbkNLUztFTVNQO0E3QmdwaEJKO0FpQ3RtaEJJO0V5QjVESjtJQVFJO0UxRDhwaEJGO0FBQ0Y7O0EwRDNwaEJBO0VBQ0U7RUFDQTtFN0JJRTtBN0IycGhCSjs7QTJEenFoQkE7RUFDRTtFQUNBO0VBQ0EsbUJwQ3k5QmtDO0VvQ3g5QmxDO0U5QlVFO0E3Qm1xaEJKOztBMkR4cWhCQTtFQUVFO0EzRDBxaEJGOztBMkR0cWhCQTtFQUNFLGdCcEM2UTRCO0F2QjQ1Z0I5Qjs7QTJEanFoQkE7RUFDRTtBM0RvcWhCRjtBMkRqcWhCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0RtcWhCSjs7QTJEenBoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEOHBoQnZFO0E0RDFzaEJFO0VBQ0U7QTVENHNoQko7QTREenNoQkU7RUFDRTtBNUQyc2hCSjs7QTJEcnFoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEMHFoQnZFO0E0RHR0aEJFO0VBQ0U7QTVEd3RoQko7QTREcnRoQkU7RUFDRTtBNUR1dGhCSjs7QTJEanJoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEc3JoQnZFO0E0RGx1aEJFO0VBQ0U7QTVEb3VoQko7QTREanVoQkU7RUFDRTtBNURtdWhCSjs7QTJEN3JoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEa3NoQnZFO0E0RDl1aEJFO0VBQ0U7QTVEZ3ZoQko7QTREN3VoQkU7RUFDRTtBNUQrdWhCSjs7QTJEenNoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEOHNoQnZFO0E0RDF2aEJFO0VBQ0U7QTVENHZoQko7QTREenZoQkU7RUFDRTtBNUQydmhCSjs7QTJEcnRoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEMHRoQnZFO0E0RHR3aEJFO0VBQ0U7QTVEd3doQko7QTREcndoQkU7RUFDRTtBNUR1d2hCSjs7QTJEanVoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEc3VoQnZFO0E0RGx4aEJFO0VBQ0U7QTVEb3hoQko7QTREanhoQkU7RUFDRTtBNURteGhCSjs7QTJEN3VoQkU7RUMvQ0EsY0RnRHFIO0VuQjNDbkgseUJtQjJDdUI7RUM5Q3pCLHFCRDhDcUU7QTNEa3ZoQnZFO0E0RDl4aEJFO0VBQ0U7QTVEZ3loQko7QTREN3hoQkU7RUFDRTtBNUQreGhCSjs7QTZEdnloQkU7RUFDRTtJQUFPO0U3RDJ5aEJUO0U2RDF5aEJFO0lBQUs7RTdENnloQlA7QUFDRjtBNkQxeWhCQTtFQUNFO0VBQ0EsWXRDaytCa0M7RXNDaitCbEM7RUFDQTtFdkN3S0k7RXVDdEtKLHlCdENMUztFTVNQO0E3Qnl5aEJKOztBNkR4eWhCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV3RDakJTO0VzQ2tCVDtFQUNBO0VBQ0EseUJ0Q3U5QmtDO0VlbCtCOUIsMkJ1QllKO0E3RDJ5aEJGO0FzQ256aEJNO0V1QkROO0l2QkVRO0V0Q3N6aEJOO0FBQ0Y7O0E2RDd5aEJBO0VyQllFO0VxQlZBO0E3RGd6aEJGOztBNkQ1eWhCRTtFQUNFO0E3RCt5aEJKO0E2RDV5aEJNO0VBSko7SUFLTTtFN0QreWhCTjtBQUNGOztBOEQxMWhCQTtFQUNFO0VBQ0E7QTlENjFoQkY7O0E4RDExaEJBO0VBQ0U7QTlENjFoQkY7O0ErRC8xaEJBO0VBQ0U7RUFDQTtFQUdBO0VBQ0E7RWxDUUU7QTdCeTFoQko7O0ErRHYxaEJBO0VBQ0U7RUFDQSxjeENSUztFd0NTVDtBL0QwMWhCRjtBd0JqMmhCRTtFdUNXRTtFQUNBLGN4Q2RPO0V3Q2VQO0VBQ0EseUJ4Q3RCTztBdkIrMmhCWDtBK0R0MWhCRTtFQUNFLGN4Q2xCTztFd0NtQlAseUJ4QzFCTztBdkJrM2hCWDs7QStELzBoQkE7RUFDRTtFQUNBO0VBQ0E7RUFHQSxzQnhDM0NTO0V3QzRDVDtBL0RnMWhCRjtBK0Q5MGhCRTtFbEMxQkU7RUFDQTtBN0IyMmhCSjtBK0Q5MGhCRTtFbENoQkU7RUFDQTtBN0JpMmhCSjtBK0Q5MGhCRTtFQUVFLGN4Q2xETztFd0NtRFA7RUFDQSxzQnhDMURPO0F2Qnk0aEJYO0ErRDMwaEJFO0VBQ0U7RUFDQSxXeENoRU87RXdDaUVQLHlCeENrTDBCO0V3Q2pMMUIscUJ4Q2lMMEI7QXZCNHBoQjlCO0ErRDEwaEJFO0VBQ0U7QS9ENDBoQko7QStEMTBoQkk7RUFDRTtFQUNBLHFCeEMySndCO0F2QmlyaEI5Qjs7QStEOXpoQkk7RUFDRTtBL0RpMGhCTjtBK0Q5emhCUTtFbEMxQko7RUFaQTtBN0J3MmhCSjtBK0Q3emhCUTtFbEMzQ0o7RUFZQTtBN0JnMmhCSjtBK0Q1emhCUTtFQUNFO0EvRDh6aEJWO0ErRDN6aEJRO0VBQ0UscUJ4QzBIb0I7RXdDekhwQjtBL0Q2emhCVjtBK0QzemhCVTtFQUNFO0VBQ0Esc0J4Q3FIa0I7QXZCd3NoQjlCOztBaUN4M2hCSTtFOEJtQ0E7SUFDRTtFL0R5MWhCSjtFK0R0MWhCTTtJbEMxQko7SUFaQTtFN0JnNGhCRjtFK0RyMWhCTTtJbEMzQ0o7SUFZQTtFN0J3M2hCRjtFK0RwMWhCTTtJQUNFO0UvRHMxaEJSO0UrRG4xaEJNO0lBQ0UscUJ4QzBIb0I7SXdDekhwQjtFL0RxMWhCUjtFK0RuMWhCUTtJQUNFO0lBQ0Esc0J4Q3FIa0I7RXZCZ3VoQjVCO0FBQ0Y7QWlDajVoQkk7RThCbUNBO0lBQ0U7RS9EaTNoQko7RStEOTJoQk07SWxDMUJKO0lBWkE7RTdCdzVoQkY7RStENzJoQk07SWxDM0NKO0lBWUE7RTdCZzVoQkY7RStENTJoQk07SUFDRTtFL0Q4MmhCUjtFK0QzMmhCTTtJQUNFLHFCeEMwSG9CO0l3Q3pIcEI7RS9ENjJoQlI7RStEMzJoQlE7SUFDRTtJQUNBLHNCeENxSGtCO0V2Qnd2aEI1QjtBQUNGO0FpQ3o2aEJJO0U4Qm1DQTtJQUNFO0UvRHk0aEJKO0UrRHQ0aEJNO0lsQzFCSjtJQVpBO0U3Qmc3aEJGO0UrRHI0aEJNO0lsQzNDSjtJQVlBO0U3Qnc2aEJGO0UrRHA0aEJNO0lBQ0U7RS9EczRoQlI7RStEbjRoQk07SUFDRSxxQnhDMEhvQjtJd0N6SHBCO0UvRHE0aEJSO0UrRG40aEJRO0lBQ0U7SUFDQSxzQnhDcUhrQjtFdkJneGhCNUI7QUFDRjtBaUNqOGhCSTtFOEJtQ0E7SUFDRTtFL0RpNmhCSjtFK0Q5NWhCTTtJbEMxQko7SUFaQTtFN0J3OGhCRjtFK0Q3NWhCTTtJbEMzQ0o7SUFZQTtFN0JnOGhCRjtFK0Q1NWhCTTtJQUNFO0UvRDg1aEJSO0UrRDM1aEJNO0lBQ0UscUJ4QzBIb0I7SXdDekhwQjtFL0Q2NWhCUjtFK0QzNWhCUTtJQUNFO0lBQ0Esc0J4Q3FIa0I7RXZCd3loQjVCO0FBQ0Y7QStEaDVoQkE7RWxDbkhJO0E3QnNnaUJKO0ErRGg1aEJFO0VBQ0U7QS9EazVoQko7QStEaDVoQkk7RUFDRTtBL0RrNWhCTjs7QWdFM2hpQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EMjRoQjNDO0F3Qm5oaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFNmhpQlI7QWdFMWhpQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRG81aEIxRTs7QWdFemlpQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EeTVoQjNDO0F3QmppaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFMmlpQlI7QWdFeGlpQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRGs2aEIxRTs7QWdFdmppQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EdTZoQjNDO0F3Qi9paUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFeWppQlI7QWdFdGppQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRGc3aEIxRTs7QWdFcmtpQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EcTdoQjNDO0F3QjdqaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFdWtpQlI7QWdFcGtpQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRDg3aEIxRTs7QWdFbmxpQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EbThoQjNDO0F3QjNraUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFcWxpQlI7QWdFbGxpQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRDQ4aEIxRTs7QWdFam1pQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EaTloQjNDO0F3QnpsaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFbW1pQlI7QWdFaG1pQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRDA5aEIxRTs7QWdFL21pQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9EKzloQjNDO0F3QnZtaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFaW5pQlI7QWdFOW1pQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRHcraEIxRTs7QWdFN25pQkU7RUFDRSxjRG9Kc0U7RUNuSnRFLHlCRG1KdUM7QS9ENitoQjNDO0F3QnJuaUJFO0V3Q1BNLGNEK0lrRTtFQzlJbEU7QWhFK25pQlI7QWdFNW5pQk07RUFDRSxXekNQRztFeUNRSCx5QkR5SWtFO0VDeElsRSxxQkR3SWtFO0EvRHMvaEIxRTs7QWlFOW9pQkE7RUFDRTtFM0NtTEk7RTJDakxKLGdCMUM4UjRCO0UwQzdSNUI7RUFDQSxXMUNZUztFMENYVCx5QjFDeWxDa0M7RTBDeGxDbEM7QWpFaXBpQkY7QXdCNW9pQkU7RXlDREUsVzFDTU87RTBDTFA7QWpFZ3BpQko7QXdCNW9pQkU7RXlDQ0k7QWpFOG9pQk47O0FpRW5vaUJBO0VBQ0U7RUFDQTtFQUNBO0FqRXNvaUJGOztBaUVob2lCQTtFQUNFO0FqRW1vaUJGOztBa0V6cWlCQTtFQUdFLGlCM0MyNEJrQztFMkMxNEJsQyxnQjNDMDRCa0M7RUQxdEI5QjtFNEM3S0osMkMzQzQ0QmtDO0UyQzM0QmxDO0VBQ0E7RUFDQSxnRDNDNjRCa0M7RTJDNTRCbEM7RXJDT0U7QTdCbXFpQko7QWtFdnFpQkU7RUFDRSxzQjNDZzRCZ0M7QXZCeXlnQnBDO0FrRXRxaUJFO0VBQ0U7QWxFd3FpQko7QWtFcnFpQkU7RUFDRTtFQUNBO0FsRXVxaUJKO0FrRXBxaUJFO0VBQ0U7QWxFc3FpQko7O0FrRWxxaUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYzNDdkJTO0UyQ3dCVCwyQzNDcTNCa0M7RTJDcDNCbEM7RUFDQTtFckNaRTtFQUNBO0E3QmtyaUJKOztBa0VucWlCQTtFQUNFLGdCM0NtMkJrQztBdkJtMGdCcEM7O0FtRTVzaUJBO0VBRUU7QW5FOHNpQkY7QW1FNXNpQkU7RUFDRTtFQUNBO0FuRThzaUJKOztBbUV6c2lCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGE1QzRwQmtDO0U0QzNwQmxDO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QW5FMHNpQkY7O0FtRW5zaUJBO0VBQ0U7RUFDQTtFQUNBLGM1Q2k1QmtDO0U0Qy80QmxDO0FuRXFzaUJGO0FtRWxzaUJFO0U3QjNCSSxtQzZCNEJGO0VBQ0EsOEI1Q3U2QmdDO0F2QjZ4Z0JwQztBc0M3dGlCTTtFNkJ1Qko7STdCdEJNO0V0Q2d1aUJOO0FBQ0Y7QW1FdnNpQkU7RUFDRSxlNUNxNkJnQztBdkJveWdCcEM7QW1FcnNpQkU7RUFDRSxzQjVDazZCZ0M7QXZCcXlnQnBDOztBbUVuc2lCQTtFQUNFO0VBQ0E7QW5Fc3NpQkY7QW1FcHNpQkU7RUFDRTtFQUNBO0FuRXNzaUJKO0FtRW5zaUJFOztFQUVFO0FuRXFzaUJKO0FtRWxzaUJFO0VBQ0U7QW5Fb3NpQko7O0FtRWhzaUJBO0VBQ0U7RUFDQTtFQUNBO0FuRW1zaUJGO0FtRWhzaUJFO0VBQ0U7RUFDQTtFQUNBO0VBQUE7RUFDQTtBbkVrc2lCSjtBbUU5cmlCRTtFQUNFO0VBQ0E7RUFDQTtBbkVnc2lCSjtBbUU5cmlCSTtFQUNFO0FuRWdzaUJOO0FtRTdyaUJJO0VBQ0U7QW5FK3JpQk47O0FtRXpyaUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBLHNCNUMzR1M7RTRDNEdUO0VBQ0E7RXRDbEdFO0VzQ3NHRjtBbkV3cmlCRjs7QW1FcHJpQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhNUNnakJrQztFNEMvaUJsQztFQUNBO0VBQ0Esc0I1Q2xIUztBdkJ5eWlCWDtBbUVwcmlCRTtFQUFTO0FuRXVyaUJYO0FtRXRyaUJFO0VBQVMsWTVDK3pCeUI7QXZCMDNnQnBDOztBbUVwcmlCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGtCNUM2ekJrQztFNEM1ekJsQztFdEN0SEU7RUFDQTtBN0I4eWlCSjtBbUV0cmlCRTtFQUNFLGtCNUN3ekJnQztFNEN0ekJoQztBbkV1cmlCSjs7QW1FbHJpQkE7RUFDRTtFQUNBLGdCOUN4SmlCO0FyQjYwaUJuQjs7QW1FaHJpQkE7RUFDRTtFQUdBO0VBQ0EsYTVDMHdCa0M7QXZCdTZnQnBDOztBbUU3cWlCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdEN6SUU7RUFDQTtBN0IwemlCSjtBbUU1cWlCRTtFQUNFO0FuRThxaUJKOztBbUV6cWlCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5FNHFpQkY7O0FpQ256aUJJO0VrQzZJRjtJQUNFLGdCNUN1d0JnQztJNEN0d0JoQztFbkUwcWlCRjs7RW1FdnFpQkE7SUFDRTtFbkUwcWlCRjtFbUV4cWlCRTtJQUNFO0VuRTBxaUJKOztFbUV0cWlCQTtJQUNFO0VuRXlxaUJGO0VtRXZxaUJFO0lBQ0U7SUFDQTtJQUFBO0VuRXlxaUJKOztFbUVqcWlCQTtJQUFZLGdCNUMrdUJzQjtFdkJzN2dCbEM7QUFDRjtBaUM3MGlCSTtFa0MyS0Y7O0lBRUUsZ0I1Q3V1QmdDO0V2Qjg3Z0JsQztBQUNGO0FpQ24xaUJJO0VrQ2tMRjtJQUFZLGlCNUNpdUJzQjtFdkJvOGdCbEM7QUFDRjtBb0VuNWlCQTtFQUNFO0VBQ0EsYTdDZ3JCa0M7RTZDL3FCbEM7RUFDQSxTN0M2MUJrQztFOENqMkJsQyxpQ2hER3VCO0VnRER2QjtFQUNBLGdCOUM0UjRCO0U4QzNSNUIsZ0JoRENpQjtFZ0RBakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9DcUtJO0U4Q3pLSjtFQUNBO0FwRSs1aUJGO0FvRTc1aUJFO0VBQVMsWTdDaTFCeUI7QXZCK2toQnBDO0FvRTk1aUJFO0VBQ0U7RUFDQTtFQUNBLGE3Q2kxQmdDO0U2Q2gxQmhDLGM3Q2kxQmdDO0F2QitraEJwQztBb0U5NWlCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwRWc2aUJOOztBb0UzNWlCQTtFQUNFO0FwRTg1aUJGO0FvRTU1aUJFO0VBQ0U7QXBFODVpQko7QW9FNTVpQkk7RUFDRTtFQUNBO0VBQ0Esc0I3Q3ZCSztBdkJxN2lCWDs7QW9FejVpQkE7RUFDRTtBcEU0NWlCRjtBb0UxNWlCRTtFQUNFO0VBQ0EsYTdDbXpCZ0M7RTZDbHpCaEMsYzdDaXpCZ0M7QXZCMm1oQnBDO0FvRTE1aUJJO0VBQ0U7RUFDQTtFQUNBLHdCN0N2Q0s7QXZCbThpQlg7O0FvRXY1aUJBO0VBQ0U7QXBFMDVpQkY7QW9FeDVpQkU7RUFDRTtBcEUwNWlCSjtBb0V4NWlCSTtFQUNFO0VBQ0E7RUFDQSx5QjdDckRLO0F2Qis4aUJYOztBb0VyNWlCQTtFQUNFO0FwRXc1aUJGO0FvRXQ1aUJFO0VBQ0U7RUFDQSxhN0NxeEJnQztFNkNweEJoQyxjN0NteEJnQztBdkJxb2hCcEM7QW9FdDVpQkk7RUFDRTtFQUNBO0VBQ0EsdUI3Q3JFSztBdkI2OWlCWDs7QW9FbjRpQkE7RUFDRSxnQjdDK3VCa0M7RTZDOXVCbEM7RUFDQSxXN0N2R1M7RTZDd0dUO0VBQ0Esc0I3Qy9GUztFTUNQO0E3QnEraUJKOztBc0V2L2lCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGEvQzhxQmtDO0UrQzdxQmxDO0VBQ0EsZ0IvQysyQmtDO0U4Q3AzQmxDLGlDaERHdUI7RWdERHZCO0VBQ0EsZ0I5QzRSNEI7RThDM1I1QixnQmhEQ2lCO0VnREFqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0NxS0k7RWdEeEtKO0VBQ0Esc0IvQ05TO0UrQ09UO0VBQ0E7RXpDR0U7QTdCa2dqQko7QXNFamdqQkU7RUFDRTtFQUNBO0VBQ0EsVy9DKzJCZ0M7RStDOTJCaEMsYy9DKzJCZ0M7RStDOTJCaEM7QXRFbWdqQko7QXNFamdqQkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RWtnakJOOztBc0U3L2lCQTtFQUNFLHFCL0NnMkJrQztBdkJncWhCcEM7QXNFOS9pQkU7RUFDRTtBdEVnZ2pCSjtBc0U5L2lCSTtFQUNFO0VBQ0E7RUFDQSxxQy9DMjFCOEI7QXZCcXFoQnBDO0FzRTcvaUJJO0VBQ0UsVy9DMEx3QjtFK0N6THhCO0VBQ0Esc0IvQzdDSztBdkI0aWpCWDs7QXNFMS9pQkE7RUFDRSxtQi9DNDBCa0M7QXZCaXJoQnBDO0FzRTMvaUJFO0VBQ0U7RUFDQSxhL0N3MEJnQztFK0N2MEJoQyxZL0NzMEJnQztFK0NyMEJoQztBdEU2L2lCSjtBc0UzL2lCSTtFQUNFO0VBQ0E7RUFDQSx1Qy9DbzBCOEI7QXZCeXJoQnBDO0FzRTEvaUJJO0VBQ0UsUy9DbUt3QjtFK0NsS3hCO0VBQ0Esd0IvQ3BFSztBdkJna2pCWDs7QXNFdi9pQkE7RUFDRSxrQi9DcXpCa0M7QXZCcXNoQnBDO0FzRXgvaUJFO0VBQ0U7QXRFMC9pQko7QXNFeC9pQkk7RUFDRTtFQUNBO0VBQ0Esd0MvQ2d6QjhCO0F2QjBzaEJwQztBc0V2L2lCSTtFQUNFLFEvQytJd0I7RStDOUl4QjtFQUNBLHlCL0N4Rks7QXZCaWxqQlg7QXNFcC9pQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFcvQzR4QmdDO0UrQzN4QmhDO0VBQ0E7RUFDQTtBdEVzL2lCSjs7QXNFbC9pQkE7RUFDRSxvQi9DcXhCa0M7QXZCZ3VoQnBDO0FzRW4vaUJFO0VBQ0U7RUFDQSxhL0NpeEJnQztFK0NoeEJoQyxZL0Mrd0JnQztFK0M5d0JoQztBdEVxL2lCSjtBc0VuL2lCSTtFQUNFO0VBQ0E7RUFDQSxzQy9DNndCOEI7QXZCd3VoQnBDO0FzRWwvaUJJO0VBQ0UsVS9DNEd3QjtFK0MzR3hCO0VBQ0EsdUIvQzNISztBdkIrbWpCWDs7QXNFOTlpQkE7RUFDRTtFQUNBO0VoRDBCSTtFZ0R2QkoseUIvQyt0QmtDO0UrQzl0QmxDO0V6Q25JRTtFQUNBO0E3Qm9takJKO0FzRS85aUJFO0VBQ0U7QXRFaStpQko7O0FzRTc5aUJBO0VBQ0U7RUFDQSxjL0N4SlM7QXZCd25qQlg7O0F1RTNuakJBO0VBQ0U7QXZFOG5qQkY7O0F1RTNuakJBO0VBQ0U7QXZFOG5qQkY7O0F1RTNuakJBO0VBQ0U7RUFDQTtFQUNBO0F2RThuakJGO0F3RXJwakJFO0VBQ0U7RUFDQTtFQUNBO0F4RXVwakJKOztBdUUvbmpCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakNsQkksc0NpQ21CSjtBdkVrb2pCRjtBc0NqcGpCTTtFaUNRTjtJakNQUTtFdENvcGpCTjtBQUNGOztBdUVwb2pCQTs7O0VBR0U7QXZFdW9qQkY7O0F1RXBvakJBOztFQUVFO0F2RXVvakJGOztBdUVwb2pCQTs7RUFFRTtBdkV1b2pCRjs7QXVFOW5qQkU7RUFDRTtFQUNBO0VBQ0E7QXZFaW9qQko7QXVFOW5qQkU7OztFQUdFO0VBQ0E7QXZFZ29qQko7QXVFN25qQkU7O0VBRUU7RUFDQTtFakM1REUsMkJpQzZERjtBdkUrbmpCSjtBc0N4cmpCTTtFaUNxREo7O0lqQ3BETTtFdEM0cmpCTjtBQUNGOztBdUU1bmpCQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLFVoRHM5Qm1DO0VnRHI5Qm5DO0VBQ0EsV2hEM0ZTO0VnRDRGVDtFQUNBO0VBQ0E7RUFDQSxZaERpOUJtQztFZXZpQy9CLDhCaUN1Rko7QXZFOG5qQkY7QXNDanRqQk07RWlDa0VOOztJakNqRVE7RXRDcXRqQk47QUFDRjtBd0IzdGpCRTs7O0UrQzJGRSxXaERwR087RWdEcUdQO0VBQ0E7RUFDQSxZaEQwOEJpQztBdkIycmhCckM7O0F1RWxvakJBO0VBQ0U7QXZFcW9qQkY7O0F1RWhvakJBO0VBQ0U7QXZFbW9qQkY7O0F1RTVuakJBOztFQUVFO0VBQ0EsV2hEbThCbUM7RWdEbDhCbkMsWWhEazhCbUM7RWdEajhCbkM7QXZFK25qQkY7O0F1RTduakJBO0VBQ0U7QXZFZ29qQkY7O0F1RTluakJBO0VBQ0U7QXZFaW9qQkY7O0F1RXhuakJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBLGlCaER5NUJtQztFZ0R4NUJuQyxnQmhEdzVCbUM7RWdEdjVCbkM7QXZFMG5qQkY7QXVFeG5qQkU7RUFDRTtFQUNBO0VBQ0EsV2hEdTVCaUM7RWdEdDVCakMsV2hEdTVCaUM7RWdEdDVCakMsaUJoRHc1QmlDO0VnRHY1QmpDLGdCaER1NUJpQztFZ0R0NUJqQztFQUNBO0VBQ0Esc0JoRG5LTztFZ0RvS1A7RUFFQTtFQUNBO0VBQ0E7RWpDL0pFLDZCaUNnS0Y7QXZFeW5qQko7QXNDcnhqQk07RWlDNklKO0lqQzVJTTtFdEN3eGpCTjtBQUNGO0F1RTNuakJFO0VBQ0U7QXZFNm5qQko7O0F1RXBuakJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXaEQ5TFM7RWdEK0xUO0F2RXVuakJGOztBeUV6empCQTtFQUNFO0lBQUs7RXpFNnpqQkw7QUFDRjtBeUUzempCQTtFQUNFO0VBQ0EsV2xEc2tDd0I7RWtEcmtDeEIsWWxEcWtDd0I7RWtEcGtDeEIsd0JsRHNrQ3dCO0VrRHJrQ3hCO0VBQ0E7RUFFQTtFQUNBO0F6RTR6akJGOztBeUV6empCQTtFQUNFLFdsRGdrQ3dCO0VrRC9qQ3hCLFlsRCtqQ3dCO0VrRDlqQ3hCLG1CbERna0N3QjtBdkI0dmhCMUI7O0F5RXJ6akJBO0VBQ0U7SUFDRTtFekV3empCRjtFeUV0empCQTtJQUNFO0lBQ0E7RXpFd3pqQkY7QUFDRjtBeUVyempCQTtFQUNFO0VBQ0EsV2xEc2lDd0I7RWtEcmlDeEIsWWxEcWlDd0I7RWtEcGlDeEIsd0JsRHNpQ3dCO0VrRHJpQ3hCO0VBRUE7RUFDQTtFQUNBO0F6RXN6akJGOztBeUVuempCQTtFQUNFLFdsRGdpQ3dCO0VrRC9oQ3hCLFlsRCtoQ3dCO0F2QnV4aEIxQjs7QXlFbHpqQkU7RUFDRTs7SUFFRTtFekVxempCSjtBQUNGO0EwRWozakJBO0VBQXFCO0ExRW8zakJyQjs7QTBFbjNqQkE7RUFBcUI7QTFFdTNqQnJCOztBMEV0M2pCQTtFQUFxQjtBMUUwM2pCckI7O0EwRXozakJBO0VBQXFCO0ExRTYzakJyQjs7QTBFNTNqQkE7RUFBcUI7QTFFZzRqQnJCOztBMEUvM2pCQTtFQUFxQjtBMUVtNGpCckI7O0EyRXI0akJFO0VBQ0U7QTNFdzRqQko7O0F3QjkzakJFOzs7RW1ETEk7QTNFeTRqQk47O0EyRS80akJFO0VBQ0U7QTNFazVqQko7O0F3Qng0akJFOzs7RW1ETEk7QTNFbTVqQk47O0EyRXo1akJFO0VBQ0U7QTNFNDVqQko7O0F3Qmw1akJFOzs7RW1ETEk7QTNFNjVqQk47O0EyRW42akJFO0VBQ0U7QTNFczZqQko7O0F3QjU1akJFOzs7RW1ETEk7QTNFdTZqQk47O0EyRTc2akJFO0VBQ0U7QTNFZzdqQko7O0F3QnQ2akJFOzs7RW1ETEk7QTNFaTdqQk47O0EyRXY3akJFO0VBQ0U7QTNFMDdqQko7O0F3Qmg3akJFOzs7RW1ETEk7QTNFMjdqQk47O0EyRWo4akJFO0VBQ0U7QTNFbzhqQko7O0F3QjE3akJFOzs7RW1ETEk7QTNFcThqQk47O0EyRTM4akJFO0VBQ0U7QTNFODhqQko7O0F3QnA4akJFOzs7RW1ETEk7QTNFKzhqQk47O0E0RTk4akJBO0VBQ0U7QTVFaTlqQkY7O0E0RTk4akJBO0VBQ0U7QTVFaTlqQkY7O0E2RTU5akJBO0VBQWtCO0E3RWcrakJsQjs7QTZFLzlqQkE7RUFBa0I7QTdFbStqQmxCOztBNkVsK2pCQTtFQUFrQjtBN0VzK2pCbEI7O0E2RXIrakJBO0VBQWtCO0E3RXkrakJsQjs7QTZFeCtqQkE7RUFBa0I7QTdFNCtqQmxCOztBNkUxK2pCQTtFQUFtQjtBN0U4K2pCbkI7O0E2RTcrakJBO0VBQW1CO0E3RWkvakJuQjs7QTZFaC9qQkE7RUFBbUI7QTdFby9qQm5COztBNkVuL2pCQTtFQUFtQjtBN0V1L2pCbkI7O0E2RXQvakJBO0VBQW1CO0E3RTAvakJuQjs7QTZFdi9qQkU7RUFDRTtBN0UwL2pCSjs7QTZFMy9qQkU7RUFDRTtBN0U4L2pCSjs7QTZFLy9qQkU7RUFDRTtBN0VrZ2tCSjs7QTZFbmdrQkU7RUFDRTtBN0VzZ2tCSjs7QTZFdmdrQkU7RUFDRTtBN0UwZ2tCSjs7QTZFM2drQkU7RUFDRTtBN0U4Z2tCSjs7QTZFL2drQkU7RUFDRTtBN0VraGtCSjs7QTZFbmhrQkU7RUFDRTtBN0VzaGtCSjs7QTZFbGhrQkE7RUFDRTtBN0VxaGtCRjs7QTZFOWdrQkE7RUFDRTtBN0VpaGtCRjs7QTZFOWdrQkE7RUFDRTtBN0VpaGtCRjs7QTZFOWdrQkE7RUFDRTtFQUNBO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0VBQ0E7QTdFaWhrQkY7O0E2RTlna0JBO0VBQ0U7RUFDQTtBN0VpaGtCRjs7QTZFOWdrQkE7RUFDRTtFQUNBO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0E3RWloa0JGOztBNkU5Z2tCQTtFQUNFO0E3RWloa0JGOztBd0V6bGtCRTtFQUNFO0VBQ0E7RUFDQTtBeEU0bGtCSjs7QThFcmxrQk07RUFBd0I7QTlFeWxrQjlCOztBOEV6bGtCTTtFQUF3QjtBOUU2bGtCOUI7O0E4RTdsa0JNO0VBQXdCO0E5RWlta0I5Qjs7QThFam1rQk07RUFBd0I7QTlFcW1rQjlCOztBOEVybWtCTTtFQUF3QjtBOUV5bWtCOUI7O0E4RXpta0JNO0VBQXdCO0E5RTZta0I5Qjs7QThFN21rQk07RUFBd0I7QTlFaW5rQjlCOztBOEVqbmtCTTtFQUF3QjtBOUVxbmtCOUI7O0E4RXJua0JNO0VBQXdCO0E5RXlua0I5Qjs7QWlDeGtrQkk7RTZDakRFO0lBQXdCO0U5RThua0I1Qjs7RThFOW5rQkk7SUFBd0I7RTlFa29rQjVCOztFOEVsb2tCSTtJQUF3QjtFOUVzb2tCNUI7O0U4RXRva0JJO0lBQXdCO0U5RTBva0I1Qjs7RThFMW9rQkk7SUFBd0I7RTlFOG9rQjVCOztFOEU5b2tCSTtJQUF3QjtFOUVrcGtCNUI7O0U4RWxwa0JJO0lBQXdCO0U5RXNwa0I1Qjs7RThFdHBrQkk7SUFBd0I7RTlFMHBrQjVCOztFOEUxcGtCSTtJQUF3QjtFOUU4cGtCNUI7QUFDRjtBaUM5bWtCSTtFNkNqREU7SUFBd0I7RTlFbXFrQjVCOztFOEVucWtCSTtJQUF3QjtFOUV1cWtCNUI7O0U4RXZxa0JJO0lBQXdCO0U5RTJxa0I1Qjs7RThFM3FrQkk7SUFBd0I7RTlFK3FrQjVCOztFOEUvcWtCSTtJQUF3QjtFOUVtcmtCNUI7O0U4RW5ya0JJO0lBQXdCO0U5RXVya0I1Qjs7RThFdnJrQkk7SUFBd0I7RTlFMnJrQjVCOztFOEUzcmtCSTtJQUF3QjtFOUUrcmtCNUI7O0U4RS9ya0JJO0lBQXdCO0U5RW1za0I1QjtBQUNGO0FpQ25wa0JJO0U2Q2pERTtJQUF3QjtFOUV3c2tCNUI7O0U4RXhza0JJO0lBQXdCO0U5RTRza0I1Qjs7RThFNXNrQkk7SUFBd0I7RTlFZ3RrQjVCOztFOEVodGtCSTtJQUF3QjtFOUVvdGtCNUI7O0U4RXB0a0JJO0lBQXdCO0U5RXd0a0I1Qjs7RThFeHRrQkk7SUFBd0I7RTlFNHRrQjVCOztFOEU1dGtCSTtJQUF3QjtFOUVndWtCNUI7O0U4RWh1a0JJO0lBQXdCO0U5RW91a0I1Qjs7RThFcHVrQkk7SUFBd0I7RTlFd3VrQjVCO0FBQ0Y7QWlDeHJrQkk7RTZDakRFO0lBQXdCO0U5RTZ1a0I1Qjs7RThFN3VrQkk7SUFBd0I7RTlFaXZrQjVCOztFOEVqdmtCSTtJQUF3QjtFOUVxdmtCNUI7O0U4RXJ2a0JJO0lBQXdCO0U5RXl2a0I1Qjs7RThFenZrQkk7SUFBd0I7RTlFNnZrQjVCOztFOEU3dmtCSTtJQUF3QjtFOUVpd2tCNUI7O0U4RWp3a0JJO0lBQXdCO0U5RXF3a0I1Qjs7RThFcndrQkk7SUFBd0I7RTlFeXdrQjVCOztFOEV6d2tCSTtJQUF3QjtFOUU2d2tCNUI7QUFDRjtBOEVwd2tCQTtFQUVJO0lBQXFCO0U5RXN3a0J2Qjs7RThFdHdrQkU7SUFBcUI7RTlFMHdrQnZCOztFOEUxd2tCRTtJQUFxQjtFOUU4d2tCdkI7O0U4RTl3a0JFO0lBQXFCO0U5RWt4a0J2Qjs7RThFbHhrQkU7SUFBcUI7RTlFc3hrQnZCOztFOEV0eGtCRTtJQUFxQjtFOUUweGtCdkI7O0U4RTF4a0JFO0lBQXFCO0U5RTh4a0J2Qjs7RThFOXhrQkU7SUFBcUI7RTlFa3lrQnZCOztFOEVseWtCRTtJQUFxQjtFOUVzeWtCdkI7QUFDRjtBK0U1emtCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FOHprQkY7QStFNXprQkU7RUFDRTtFQUNBO0EvRTh6a0JKO0ErRTN6a0JFOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRTZ6a0JKOztBK0VwemtCSTtFQUNFO0EvRXV6a0JOOztBK0V4emtCSTtFQUNFO0EvRTJ6a0JOOztBK0U1emtCSTtFQUNFO0EvRSt6a0JOOztBK0VoMGtCSTtFQUNFO0EvRW0wa0JOOztBZ0Y1MWtCSTtFQUFnQztBaEZnMmtCcEM7O0FnRi8xa0JJO0VBQWdDO0FoRm0ya0JwQzs7QWdGbDJrQkk7RUFBZ0M7QWhGczJrQnBDOztBZ0ZyMmtCSTtFQUFnQztBaEZ5MmtCcEM7O0FnRnYya0JJO0VBQThCO0FoRjIya0JsQzs7QWdGMTJrQkk7RUFBOEI7QWhGODJrQmxDOztBZ0Y3MmtCSTtFQUE4QjtBaEZpM2tCbEM7O0FnRmgza0JJO0VBQThCO0FoRm8za0JsQzs7QWdGbjNrQkk7RUFBOEI7QWhGdTNrQmxDOztBZ0Z0M2tCSTtFQUE4QjtBaEYwM2tCbEM7O0FnRnoza0JJO0VBQThCO0FoRjYza0JsQzs7QWdGNTNrQkk7RUFBOEI7QWhGZzRrQmxDOztBZ0Y5M2tCSTtFQUFvQztBaEZrNGtCeEM7O0FnRmo0a0JJO0VBQW9DO0FoRnE0a0J4Qzs7QWdGcDRrQkk7RUFBb0M7QWhGdzRrQnhDOztBZ0Z2NGtCSTtFQUFvQztBaEYyNGtCeEM7O0FnRjE0a0JJO0VBQW9DO0FoRjg0a0J4Qzs7QWdGNTRrQkk7RUFBaUM7QWhGZzVrQnJDOztBZ0YvNGtCSTtFQUFpQztBaEZtNWtCckM7O0FnRmw1a0JJO0VBQWlDO0FoRnM1a0JyQzs7QWdGcjVrQkk7RUFBaUM7QWhGeTVrQnJDOztBZ0Z4NWtCSTtFQUFpQztBaEY0NWtCckM7O0FnRjE1a0JJO0VBQWtDO0FoRjg1a0J0Qzs7QWdGNzVrQkk7RUFBa0M7QWhGaTZrQnRDOztBZ0ZoNmtCSTtFQUFrQztBaEZvNmtCdEM7O0FnRm42a0JJO0VBQWtDO0FoRnU2a0J0Qzs7QWdGdDZrQkk7RUFBa0M7QWhGMDZrQnRDOztBZ0Z6NmtCSTtFQUFrQztBaEY2NmtCdEM7O0FnRjM2a0JJO0VBQWdDO0FoRis2a0JwQzs7QWdGOTZrQkk7RUFBZ0M7QWhGazdrQnBDOztBZ0ZqN2tCSTtFQUFnQztBaEZxN2tCcEM7O0FnRnA3a0JJO0VBQWdDO0FoRnc3a0JwQzs7QWdGdjdrQkk7RUFBZ0M7QWhGMjdrQnBDOztBZ0YxN2tCSTtFQUFnQztBaEY4N2tCcEM7O0FpQ2w3a0JJO0UrQ2xEQTtJQUFnQztFaEZ5K2tCbEM7O0VnRngra0JFO0lBQWdDO0VoRjQra0JsQzs7RWdGMytrQkU7SUFBZ0M7RWhGKytrQmxDOztFZ0Y5K2tCRTtJQUFnQztFaEZrL2tCbEM7O0VnRmgva0JFO0lBQThCO0VoRm8va0JoQzs7RWdGbi9rQkU7SUFBOEI7RWhGdS9rQmhDOztFZ0Z0L2tCRTtJQUE4QjtFaEYwL2tCaEM7O0VnRnova0JFO0lBQThCO0VoRjYva0JoQzs7RWdGNS9rQkU7SUFBOEI7RWhGZ2dsQmhDOztFZ0YvL2tCRTtJQUE4QjtFaEZtZ2xCaEM7O0VnRmxnbEJFO0lBQThCO0VoRnNnbEJoQzs7RWdGcmdsQkU7SUFBOEI7RWhGeWdsQmhDOztFZ0Z2Z2xCRTtJQUFvQztFaEYyZ2xCdEM7O0VnRjFnbEJFO0lBQW9DO0VoRjhnbEJ0Qzs7RWdGN2dsQkU7SUFBb0M7RWhGaWhsQnRDOztFZ0ZoaGxCRTtJQUFvQztFaEZvaGxCdEM7O0VnRm5obEJFO0lBQW9DO0VoRnVobEJ0Qzs7RWdGcmhsQkU7SUFBaUM7RWhGeWhsQm5DOztFZ0Z4aGxCRTtJQUFpQztFaEY0aGxCbkM7O0VnRjNobEJFO0lBQWlDO0VoRitobEJuQzs7RWdGOWhsQkU7SUFBaUM7RWhGa2lsQm5DOztFZ0ZqaWxCRTtJQUFpQztFaEZxaWxCbkM7O0VnRm5pbEJFO0lBQWtDO0VoRnVpbEJwQzs7RWdGdGlsQkU7SUFBa0M7RWhGMGlsQnBDOztFZ0Z6aWxCRTtJQUFrQztFaEY2aWxCcEM7O0VnRjVpbEJFO0lBQWtDO0VoRmdqbEJwQzs7RWdGL2lsQkU7SUFBa0M7RWhGbWpsQnBDOztFZ0ZsamxCRTtJQUFrQztFaEZzamxCcEM7O0VnRnBqbEJFO0lBQWdDO0VoRndqbEJsQzs7RWdGdmpsQkU7SUFBZ0M7RWhGMmpsQmxDOztFZ0YxamxCRTtJQUFnQztFaEY4amxCbEM7O0VnRjdqbEJFO0lBQWdDO0VoRmlrbEJsQzs7RWdGaGtsQkU7SUFBZ0M7RWhGb2tsQmxDOztFZ0Zua2xCRTtJQUFnQztFaEZ1a2xCbEM7QUFDRjtBaUM1amxCSTtFK0NsREE7SUFBZ0M7RWhGa25sQmxDOztFZ0ZqbmxCRTtJQUFnQztFaEZxbmxCbEM7O0VnRnBubEJFO0lBQWdDO0VoRndubEJsQzs7RWdGdm5sQkU7SUFBZ0M7RWhGMm5sQmxDOztFZ0Z6bmxCRTtJQUE4QjtFaEY2bmxCaEM7O0VnRjVubEJFO0lBQThCO0VoRmdvbEJoQzs7RWdGL25sQkU7SUFBOEI7RWhGbW9sQmhDOztFZ0Zsb2xCRTtJQUE4QjtFaEZzb2xCaEM7O0VnRnJvbEJFO0lBQThCO0VoRnlvbEJoQzs7RWdGeG9sQkU7SUFBOEI7RWhGNG9sQmhDOztFZ0Yzb2xCRTtJQUE4QjtFaEYrb2xCaEM7O0VnRjlvbEJFO0lBQThCO0VoRmtwbEJoQzs7RWdGaHBsQkU7SUFBb0M7RWhGb3BsQnRDOztFZ0ZucGxCRTtJQUFvQztFaEZ1cGxCdEM7O0VnRnRwbEJFO0lBQW9DO0VoRjBwbEJ0Qzs7RWdGenBsQkU7SUFBb0M7RWhGNnBsQnRDOztFZ0Y1cGxCRTtJQUFvQztFaEZncWxCdEM7O0VnRjlwbEJFO0lBQWlDO0VoRmtxbEJuQzs7RWdGanFsQkU7SUFBaUM7RWhGcXFsQm5DOztFZ0ZwcWxCRTtJQUFpQztFaEZ3cWxCbkM7O0VnRnZxbEJFO0lBQWlDO0VoRjJxbEJuQzs7RWdGMXFsQkU7SUFBaUM7RWhGOHFsQm5DOztFZ0Y1cWxCRTtJQUFrQztFaEZncmxCcEM7O0VnRi9xbEJFO0lBQWtDO0VoRm1ybEJwQzs7RWdGbHJsQkU7SUFBa0M7RWhGc3JsQnBDOztFZ0ZycmxCRTtJQUFrQztFaEZ5cmxCcEM7O0VnRnhybEJFO0lBQWtDO0VoRjRybEJwQzs7RWdGM3JsQkU7SUFBa0M7RWhGK3JsQnBDOztFZ0Y3cmxCRTtJQUFnQztFaEZpc2xCbEM7O0VnRmhzbEJFO0lBQWdDO0VoRm9zbEJsQzs7RWdGbnNsQkU7SUFBZ0M7RWhGdXNsQmxDOztFZ0Z0c2xCRTtJQUFnQztFaEYwc2xCbEM7O0VnRnpzbEJFO0lBQWdDO0VoRjZzbEJsQzs7RWdGNXNsQkU7SUFBZ0M7RWhGZ3RsQmxDO0FBQ0Y7QWlDcnNsQkk7RStDbERBO0lBQWdDO0VoRjJ2bEJsQzs7RWdGMXZsQkU7SUFBZ0M7RWhGOHZsQmxDOztFZ0Y3dmxCRTtJQUFnQztFaEZpd2xCbEM7O0VnRmh3bEJFO0lBQWdDO0VoRm93bEJsQzs7RWdGbHdsQkU7SUFBOEI7RWhGc3dsQmhDOztFZ0Zyd2xCRTtJQUE4QjtFaEZ5d2xCaEM7O0VnRnh3bEJFO0lBQThCO0VoRjR3bEJoQzs7RWdGM3dsQkU7SUFBOEI7RWhGK3dsQmhDOztFZ0Y5d2xCRTtJQUE4QjtFaEZreGxCaEM7O0VnRmp4bEJFO0lBQThCO0VoRnF4bEJoQzs7RWdGcHhsQkU7SUFBOEI7RWhGd3hsQmhDOztFZ0Z2eGxCRTtJQUE4QjtFaEYyeGxCaEM7O0VnRnp4bEJFO0lBQW9DO0VoRjZ4bEJ0Qzs7RWdGNXhsQkU7SUFBb0M7RWhGZ3lsQnRDOztFZ0YveGxCRTtJQUFvQztFaEZteWxCdEM7O0VnRmx5bEJFO0lBQW9DO0VoRnN5bEJ0Qzs7RWdGcnlsQkU7SUFBb0M7RWhGeXlsQnRDOztFZ0Z2eWxCRTtJQUFpQztFaEYyeWxCbkM7O0VnRjF5bEJFO0lBQWlDO0VoRjh5bEJuQzs7RWdGN3lsQkU7SUFBaUM7RWhGaXpsQm5DOztFZ0ZoemxCRTtJQUFpQztFaEZvemxCbkM7O0VnRm56bEJFO0lBQWlDO0VoRnV6bEJuQzs7RWdGcnpsQkU7SUFBa0M7RWhGeXpsQnBDOztFZ0Z4emxCRTtJQUFrQztFaEY0emxCcEM7O0VnRjN6bEJFO0lBQWtDO0VoRit6bEJwQzs7RWdGOXpsQkU7SUFBa0M7RWhGazBsQnBDOztFZ0ZqMGxCRTtJQUFrQztFaEZxMGxCcEM7O0VnRnAwbEJFO0lBQWtDO0VoRncwbEJwQzs7RWdGdDBsQkU7SUFBZ0M7RWhGMDBsQmxDOztFZ0Z6MGxCRTtJQUFnQztFaEY2MGxCbEM7O0VnRjUwbEJFO0lBQWdDO0VoRmcxbEJsQzs7RWdGLzBsQkU7SUFBZ0M7RWhGbTFsQmxDOztFZ0ZsMWxCRTtJQUFnQztFaEZzMWxCbEM7O0VnRnIxbEJFO0lBQWdDO0VoRnkxbEJsQztBQUNGO0FpQzkwbEJJO0UrQ2xEQTtJQUFnQztFaEZvNGxCbEM7O0VnRm40bEJFO0lBQWdDO0VoRnU0bEJsQzs7RWdGdDRsQkU7SUFBZ0M7RWhGMDRsQmxDOztFZ0Z6NGxCRTtJQUFnQztFaEY2NGxCbEM7O0VnRjM0bEJFO0lBQThCO0VoRis0bEJoQzs7RWdGOTRsQkU7SUFBOEI7RWhGazVsQmhDOztFZ0ZqNWxCRTtJQUE4QjtFaEZxNWxCaEM7O0VnRnA1bEJFO0lBQThCO0VoRnc1bEJoQzs7RWdGdjVsQkU7SUFBOEI7RWhGMjVsQmhDOztFZ0YxNWxCRTtJQUE4QjtFaEY4NWxCaEM7O0VnRjc1bEJFO0lBQThCO0VoRmk2bEJoQzs7RWdGaDZsQkU7SUFBOEI7RWhGbzZsQmhDOztFZ0ZsNmxCRTtJQUFvQztFaEZzNmxCdEM7O0VnRnI2bEJFO0lBQW9DO0VoRnk2bEJ0Qzs7RWdGeDZsQkU7SUFBb0M7RWhGNDZsQnRDOztFZ0YzNmxCRTtJQUFvQztFaEYrNmxCdEM7O0VnRjk2bEJFO0lBQW9DO0VoRms3bEJ0Qzs7RWdGaDdsQkU7SUFBaUM7RWhGbzdsQm5DOztFZ0ZuN2xCRTtJQUFpQztFaEZ1N2xCbkM7O0VnRnQ3bEJFO0lBQWlDO0VoRjA3bEJuQzs7RWdGejdsQkU7SUFBaUM7RWhGNjdsQm5DOztFZ0Y1N2xCRTtJQUFpQztFaEZnOGxCbkM7O0VnRjk3bEJFO0lBQWtDO0VoRms4bEJwQzs7RWdGajhsQkU7SUFBa0M7RWhGcThsQnBDOztFZ0ZwOGxCRTtJQUFrQztFaEZ3OGxCcEM7O0VnRnY4bEJFO0lBQWtDO0VoRjI4bEJwQzs7RWdGMThsQkU7SUFBa0M7RWhGODhsQnBDOztFZ0Y3OGxCRTtJQUFrQztFaEZpOWxCcEM7O0VnRi84bEJFO0lBQWdDO0VoRm05bEJsQzs7RWdGbDlsQkU7SUFBZ0M7RWhGczlsQmxDOztFZ0ZyOWxCRTtJQUFnQztFaEZ5OWxCbEM7O0VnRng5bEJFO0lBQWdDO0VoRjQ5bEJsQzs7RWdGMzlsQkU7SUFBZ0M7RWhGKzlsQmxDOztFZ0Y5OWxCRTtJQUFnQztFaEZrK2xCbEM7QUFDRjtBaUY3Z21CSTtFQUF3QjtBakZnaG1CNUI7O0FpRi9nbUJJO0VBQXdCO0FqRm1obUI1Qjs7QWlGbGhtQkk7RUFBd0I7QWpGc2htQjVCOztBaUNsK2xCSTtFZ0R0REE7SUFBd0I7RWpGNmhtQjFCOztFaUY1aG1CRTtJQUF3QjtFakZnaW1CMUI7O0VpRi9obUJFO0lBQXdCO0VqRm1pbUIxQjtBQUNGO0FpQ2gvbEJJO0VnRHREQTtJQUF3QjtFakYwaW1CMUI7O0VpRnppbUJFO0lBQXdCO0VqRjZpbUIxQjs7RWlGNWltQkU7SUFBd0I7RWpGZ2ptQjFCO0FBQ0Y7QWlDNy9sQkk7RWdEdERBO0lBQXdCO0VqRnVqbUIxQjs7RWlGdGptQkU7SUFBd0I7RWpGMGptQjFCOztFaUZ6am1CRTtJQUF3QjtFakY2am1CMUI7QUFDRjtBaUMxZ21CSTtFZ0R0REE7SUFBd0I7RWpGb2ttQjFCOztFaUZua21CRTtJQUF3QjtFakZ1a21CMUI7O0VpRnRrbUJFO0lBQXdCO0VqRjBrbUIxQjtBQUNGO0FrRmhsbUJFO0VBQXlCO0tBQUE7VUFBQTtBbEZtbG1CM0I7O0FrRm5sbUJFO0VBQXlCO0tBQUE7VUFBQTtBbEZ1bG1CM0I7O0FrRnZsbUJFO0VBQXlCO0tBQUE7VUFBQTtBbEYybG1CM0I7O0FtRjNsbUJFO0VBQXNCO0FuRitsbUJ4Qjs7QW1GL2xtQkU7RUFBc0I7QW5GbW1tQnhCOztBb0ZsbW1CRTtFQUF5QjtBcEZzbW1CM0I7O0FvRnRtbUJFO0VBQXlCO0FwRjBtbUIzQjs7QW9GMW1tQkU7RUFBeUI7QXBGOG1tQjNCOztBb0Y5bW1CRTtFQUF5QjtBcEZrbm1CM0I7O0FvRmxubUJFO0VBQXlCO0FwRnNubUIzQjs7QW9Gam5tQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGE3RGlxQmtDO0F2Qm05a0JwQzs7QW9Gam5tQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGE3RHlwQmtDO0F2QjI5a0JwQzs7QW9GaG5tQkU7RUFERjtJQUVJO0lBQ0E7SUFDQSxhN0RpcEJnQztFdkJtK2tCbEM7QUFDRjs7QXFGOW9tQkE7RUNFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRGZ3BtQkY7O0FzRnRvbUJFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RndvbUJKOztBdUZycW1CQTtFQUFhO0F2RnlxbUJiOztBdUZ4cW1CQTtFQUFVO0F2RjRxbUJWOztBdUYzcW1CQTtFQUFhO0F2RitxbUJiOztBdUY5cW1CQTtFQUFlO0F2RmtybUJmOztBd0Zqcm1CSTtFQUF1QjtBeEZxcm1CM0I7O0F3RnJybUJJO0VBQXVCO0F4RnlybUIzQjs7QXdGenJtQkk7RUFBdUI7QXhGNnJtQjNCOztBd0Y3cm1CSTtFQUF1QjtBeEZpc21CM0I7O0F3RmpzbUJJO0VBQXVCO0F4RnFzbUIzQjs7QXdGcnNtQkk7RUFBdUI7QXhGeXNtQjNCOztBd0Z6c21CSTtFQUF1QjtBeEY2c21CM0I7O0F3RjdzbUJJO0VBQXVCO0F4Rml0bUIzQjs7QXdGanRtQkk7RUFBdUI7QXhGcXRtQjNCOztBd0ZydG1CSTtFQUF1QjtBeEZ5dG1CM0I7O0F3RnJ0bUJBO0VBQVU7QXhGeXRtQlY7O0F3Rnh0bUJBO0VBQVU7QXhGNHRtQlY7O0F3Rnh0bUJBO0VBQWM7QXhGNHRtQmQ7O0F3RjN0bUJBO0VBQWM7QXhGK3RtQmQ7O0F3Rjd0bUJBO0VBQVU7QXhGaXVtQlY7O0F3Rmh1bUJBO0VBQVU7QXhGb3VtQlY7O0F5Rjd1bUJRO0VBQWdDO0F6Rml2bUJ4Qzs7QXlGaHZtQlE7O0VBRUU7QXpGbXZtQlY7O0F5Rmp2bUJROztFQUVFO0F6Rm92bUJWOztBeUZsdm1CUTs7RUFFRTtBekZxdm1CVjs7QXlGbnZtQlE7O0VBRUU7QXpGc3ZtQlY7O0F5RnJ3bUJRO0VBQWdDO0F6Rnl3bUJ4Qzs7QXlGeHdtQlE7O0VBRUU7QXpGMndtQlY7O0F5Rnp3bUJROztFQUVFO0F6RjR3bUJWOztBeUYxd21CUTs7RUFFRTtBekY2d21CVjs7QXlGM3dtQlE7O0VBRUU7QXpGOHdtQlY7O0F5Rjd4bUJRO0VBQWdDO0F6Rml5bUJ4Qzs7QXlGaHltQlE7O0VBRUU7QXpGbXltQlY7O0F5Rmp5bUJROztFQUVFO0F6Rm95bUJWOztBeUZseW1CUTs7RUFFRTtBekZxeW1CVjs7QXlGbnltQlE7O0VBRUU7QXpGc3ltQlY7O0F5RnJ6bUJRO0VBQWdDO0F6Rnl6bUJ4Qzs7QXlGeHptQlE7O0VBRUU7QXpGMnptQlY7O0F5Rnp6bUJROztFQUVFO0F6RjR6bUJWOztBeUYxem1CUTs7RUFFRTtBekY2em1CVjs7QXlGM3ptQlE7O0VBRUU7QXpGOHptQlY7O0F5RjcwbUJRO0VBQWdDO0F6RmkxbUJ4Qzs7QXlGaDFtQlE7O0VBRUU7QXpGbTFtQlY7O0F5RmoxbUJROztFQUVFO0F6Rm8xbUJWOztBeUZsMW1CUTs7RUFFRTtBekZxMW1CVjs7QXlGbjFtQlE7O0VBRUU7QXpGczFtQlY7O0F5RnIybUJRO0VBQWdDO0F6RnkybUJ4Qzs7QXlGeDJtQlE7O0VBRUU7QXpGMjJtQlY7O0F5RnoybUJROztFQUVFO0F6RjQybUJWOztBeUYxMm1CUTs7RUFFRTtBekY2Mm1CVjs7QXlGMzJtQlE7O0VBRUU7QXpGODJtQlY7O0F5RjczbUJRO0VBQWdDO0F6Rmk0bUJ4Qzs7QXlGaDRtQlE7O0VBRUU7QXpGbTRtQlY7O0F5Rmo0bUJROztFQUVFO0F6Rm80bUJWOztBeUZsNG1CUTs7RUFFRTtBekZxNG1CVjs7QXlGbjRtQlE7O0VBRUU7QXpGczRtQlY7O0F5RnI1bUJRO0VBQWdDO0F6Rnk1bUJ4Qzs7QXlGeDVtQlE7O0VBRUU7QXpGMjVtQlY7O0F5Rno1bUJROztFQUVFO0F6RjQ1bUJWOztBeUYxNW1CUTs7RUFFRTtBekY2NW1CVjs7QXlGMzVtQlE7O0VBRUU7QXpGODVtQlY7O0F5Rjc2bUJRO0VBQWdDO0F6Rmk3bUJ4Qzs7QXlGaDdtQlE7O0VBRUU7QXpGbTdtQlY7O0F5Rmo3bUJROztFQUVFO0F6Rm83bUJWOztBeUZsN21CUTs7RUFFRTtBekZxN21CVjs7QXlGbjdtQlE7O0VBRUU7QXpGczdtQlY7O0F5RnI4bUJRO0VBQWdDO0F6Rnk4bUJ4Qzs7QXlGeDhtQlE7O0VBRUU7QXpGMjhtQlY7O0F5Rno4bUJROztFQUVFO0F6RjQ4bUJWOztBeUYxOG1CUTs7RUFFRTtBekY2OG1CVjs7QXlGMzhtQlE7O0VBRUU7QXpGODhtQlY7O0F5Rjc5bUJRO0VBQWdDO0F6RmkrbUJ4Qzs7QXlGaCttQlE7O0VBRUU7QXpGbSttQlY7O0F5RmorbUJROztFQUVFO0F6Rm8rbUJWOztBeUZsK21CUTs7RUFFRTtBekZxK21CVjs7QXlGbittQlE7O0VBRUU7QXpGcyttQlY7O0F5RnIvbUJRO0VBQWdDO0F6RnkvbUJ4Qzs7QXlGeC9tQlE7O0VBRUU7QXpGMi9tQlY7O0F5RnovbUJROztFQUVFO0F6RjQvbUJWOztBeUYxL21CUTs7RUFFRTtBekY2L21CVjs7QXlGMy9tQlE7O0VBRUU7QXpGOC9tQlY7O0F5RnQvbUJRO0VBQXdCO0F6RjAvbUJoQzs7QXlGei9tQlE7O0VBRUU7QXpGNC9tQlY7O0F5RjEvbUJROztFQUVFO0F6RjYvbUJWOztBeUYzL21CUTs7RUFFRTtBekY4L21CVjs7QXlGNS9tQlE7O0VBRUU7QXpGKy9tQlY7O0F5RjlnbkJRO0VBQXdCO0F6RmtobkJoQzs7QXlGamhuQlE7O0VBRUU7QXpGb2huQlY7O0F5RmxobkJROztFQUVFO0F6RnFobkJWOztBeUZuaG5CUTs7RUFFRTtBekZzaG5CVjs7QXlGcGhuQlE7O0VBRUU7QXpGdWhuQlY7O0F5RnRpbkJRO0VBQXdCO0F6RjBpbkJoQzs7QXlGemluQlE7O0VBRUU7QXpGNGluQlY7O0F5RjFpbkJROztFQUVFO0F6RjZpbkJWOztBeUYzaW5CUTs7RUFFRTtBekY4aW5CVjs7QXlGNWluQlE7O0VBRUU7QXpGK2luQlY7O0F5RjlqbkJRO0VBQXdCO0F6RmtrbkJoQzs7QXlGamtuQlE7O0VBRUU7QXpGb2tuQlY7O0F5RmxrbkJROztFQUVFO0F6RnFrbkJWOztBeUZua25CUTs7RUFFRTtBekZza25CVjs7QXlGcGtuQlE7O0VBRUU7QXpGdWtuQlY7O0F5RnRsbkJRO0VBQXdCO0F6RjBsbkJoQzs7QXlGemxuQlE7O0VBRUU7QXpGNGxuQlY7O0F5RjFsbkJROztFQUVFO0F6RjZsbkJWOztBeUYzbG5CUTs7RUFFRTtBekY4bG5CVjs7QXlGNWxuQlE7O0VBRUU7QXpGK2xuQlY7O0F5RnpsbkJJO0VBQW1CO0F6RjZsbkJ2Qjs7QXlGNWxuQkk7O0VBRUU7QXpGK2xuQk47O0F5RjdsbkJJOztFQUVFO0F6RmdtbkJOOztBeUY5bG5CSTs7RUFFRTtBekZpbW5CTjs7QXlGL2xuQkk7O0VBRUU7QXpGa21uQk47O0FpQzNtbkJJO0V3RGxESTtJQUFnQztFekZrcW5CdEM7O0V5RmpxbkJNOztJQUVFO0V6Rm9xbkJSOztFeUZscW5CTTs7SUFFRTtFekZxcW5CUjs7RXlGbnFuQk07O0lBRUU7RXpGc3FuQlI7O0V5RnBxbkJNOztJQUVFO0V6RnVxbkJSOztFeUZ0cm5CTTtJQUFnQztFekYwcm5CdEM7O0V5RnpybkJNOztJQUVFO0V6RjRybkJSOztFeUYxcm5CTTs7SUFFRTtFekY2cm5CUjs7RXlGM3JuQk07O0lBRUU7RXpGOHJuQlI7O0V5RjVybkJNOztJQUVFO0V6RitybkJSOztFeUY5c25CTTtJQUFnQztFekZrdG5CdEM7O0V5Rmp0bkJNOztJQUVFO0V6Rm90bkJSOztFeUZsdG5CTTs7SUFFRTtFekZxdG5CUjs7RXlGbnRuQk07O0lBRUU7RXpGc3RuQlI7O0V5RnB0bkJNOztJQUVFO0V6RnV0bkJSOztFeUZ0dW5CTTtJQUFnQztFekYwdW5CdEM7O0V5Rnp1bkJNOztJQUVFO0V6RjR1bkJSOztFeUYxdW5CTTs7SUFFRTtFekY2dW5CUjs7RXlGM3VuQk07O0lBRUU7RXpGOHVuQlI7O0V5RjV1bkJNOztJQUVFO0V6Rit1bkJSOztFeUY5dm5CTTtJQUFnQztFekZrd25CdEM7O0V5Rmp3bkJNOztJQUVFO0V6Rm93bkJSOztFeUZsd25CTTs7SUFFRTtFekZxd25CUjs7RXlGbnduQk07O0lBRUU7RXpGc3duQlI7O0V5RnB3bkJNOztJQUVFO0V6RnV3bkJSOztFeUZ0eG5CTTtJQUFnQztFekYweG5CdEM7O0V5Rnp4bkJNOztJQUVFO0V6RjR4bkJSOztFeUYxeG5CTTs7SUFFRTtFekY2eG5CUjs7RXlGM3huQk07O0lBRUU7RXpGOHhuQlI7O0V5RjV4bkJNOztJQUVFO0V6Rit4bkJSOztFeUY5eW5CTTtJQUFnQztFekZrem5CdEM7O0V5Rmp6bkJNOztJQUVFO0V6Rm96bkJSOztFeUZsem5CTTs7SUFFRTtFekZxem5CUjs7RXlGbnpuQk07O0lBRUU7RXpGc3puQlI7O0V5RnB6bkJNOztJQUVFO0V6RnV6bkJSOztFeUZ0MG5CTTtJQUFnQztFekYwMG5CdEM7O0V5RnowbkJNOztJQUVFO0V6RjQwbkJSOztFeUYxMG5CTTs7SUFFRTtFekY2MG5CUjs7RXlGMzBuQk07O0lBRUU7RXpGODBuQlI7O0V5RjUwbkJNOztJQUVFO0V6RiswbkJSOztFeUY5MW5CTTtJQUFnQztFekZrMm5CdEM7O0V5RmoybkJNOztJQUVFO0V6Rm8ybkJSOztFeUZsMm5CTTs7SUFFRTtFekZxMm5CUjs7RXlGbjJuQk07O0lBRUU7RXpGczJuQlI7O0V5RnAybkJNOztJQUVFO0V6RnUybkJSOztFeUZ0M25CTTtJQUFnQztFekYwM25CdEM7O0V5RnozbkJNOztJQUVFO0V6RjQzbkJSOztFeUYxM25CTTs7SUFFRTtFekY2M25CUjs7RXlGMzNuQk07O0lBRUU7RXpGODNuQlI7O0V5RjUzbkJNOztJQUVFO0V6RiszbkJSOztFeUY5NG5CTTtJQUFnQztFekZrNW5CdEM7O0V5Rmo1bkJNOztJQUVFO0V6Rm81bkJSOztFeUZsNW5CTTs7SUFFRTtFekZxNW5CUjs7RXlGbjVuQk07O0lBRUU7RXpGczVuQlI7O0V5RnA1bkJNOztJQUVFO0V6RnU1bkJSOztFeUZ0Nm5CTTtJQUFnQztFekYwNm5CdEM7O0V5Rno2bkJNOztJQUVFO0V6RjQ2bkJSOztFeUYxNm5CTTs7SUFFRTtFekY2Nm5CUjs7RXlGMzZuQk07O0lBRUU7RXpGODZuQlI7O0V5RjU2bkJNOztJQUVFO0V6Ris2bkJSOztFeUZ2Nm5CTTtJQUF3QjtFekYyNm5COUI7O0V5RjE2bkJNOztJQUVFO0V6RjY2bkJSOztFeUYzNm5CTTs7SUFFRTtFekY4Nm5CUjs7RXlGNTZuQk07O0lBRUU7RXpGKzZuQlI7O0V5Rjc2bkJNOztJQUVFO0V6Rmc3bkJSOztFeUYvN25CTTtJQUF3QjtFekZtOG5COUI7O0V5Rmw4bkJNOztJQUVFO0V6RnE4bkJSOztFeUZuOG5CTTs7SUFFRTtFekZzOG5CUjs7RXlGcDhuQk07O0lBRUU7RXpGdThuQlI7O0V5RnI4bkJNOztJQUVFO0V6Rnc4bkJSOztFeUZ2OW5CTTtJQUF3QjtFekYyOW5COUI7O0V5RjE5bkJNOztJQUVFO0V6RjY5bkJSOztFeUYzOW5CTTs7SUFFRTtFekY4OW5CUjs7RXlGNTluQk07O0lBRUU7RXpGKzluQlI7O0V5Rjc5bkJNOztJQUVFO0V6RmcrbkJSOztFeUYvK25CTTtJQUF3QjtFekZtL25COUI7O0V5RmwvbkJNOztJQUVFO0V6RnEvbkJSOztFeUZuL25CTTs7SUFFRTtFekZzL25CUjs7RXlGcC9uQk07O0lBRUU7RXpGdS9uQlI7O0V5RnIvbkJNOztJQUVFO0V6RncvbkJSOztFeUZ2Z29CTTtJQUF3QjtFekYyZ29COUI7O0V5RjFnb0JNOztJQUVFO0V6RjZnb0JSOztFeUYzZ29CTTs7SUFFRTtFekY4Z29CUjs7RXlGNWdvQk07O0lBRUU7RXpGK2dvQlI7O0V5Rjdnb0JNOztJQUVFO0V6Rmdob0JSOztFeUYxZ29CRTtJQUFtQjtFekY4Z29CckI7O0V5Rjdnb0JFOztJQUVFO0V6Rmdob0JKOztFeUY5Z29CRTs7SUFFRTtFekZpaG9CSjs7RXlGL2dvQkU7O0lBRUU7RXpGa2hvQko7O0V5Rmhob0JFOztJQUVFO0V6Rm1ob0JKO0FBQ0Y7QWlDN2hvQkk7RXdEbERJO0lBQWdDO0V6Rm1sb0J0Qzs7RXlGbGxvQk07O0lBRUU7RXpGcWxvQlI7O0V5Rm5sb0JNOztJQUVFO0V6RnNsb0JSOztFeUZwbG9CTTs7SUFFRTtFekZ1bG9CUjs7RXlGcmxvQk07O0lBRUU7RXpGd2xvQlI7O0V5RnZtb0JNO0lBQWdDO0V6RjJtb0J0Qzs7RXlGMW1vQk07O0lBRUU7RXpGNm1vQlI7O0V5RjNtb0JNOztJQUVFO0V6Rjhtb0JSOztFeUY1bW9CTTs7SUFFRTtFekYrbW9CUjs7RXlGN21vQk07O0lBRUU7RXpGZ25vQlI7O0V5Ri9ub0JNO0lBQWdDO0V6Rm1vb0J0Qzs7RXlGbG9vQk07O0lBRUU7RXpGcW9vQlI7O0V5Rm5vb0JNOztJQUVFO0V6RnNvb0JSOztFeUZwb29CTTs7SUFFRTtFekZ1b29CUjs7RXlGcm9vQk07O0lBRUU7RXpGd29vQlI7O0V5RnZwb0JNO0lBQWdDO0V6RjJwb0J0Qzs7RXlGMXBvQk07O0lBRUU7RXpGNnBvQlI7O0V5RjNwb0JNOztJQUVFO0V6Rjhwb0JSOztFeUY1cG9CTTs7SUFFRTtFekYrcG9CUjs7RXlGN3BvQk07O0lBRUU7RXpGZ3FvQlI7O0V5Ri9xb0JNO0lBQWdDO0V6Rm1yb0J0Qzs7RXlGbHJvQk07O0lBRUU7RXpGcXJvQlI7O0V5Rm5yb0JNOztJQUVFO0V6RnNyb0JSOztFeUZwcm9CTTs7SUFFRTtFekZ1cm9CUjs7RXlGcnJvQk07O0lBRUU7RXpGd3JvQlI7O0V5RnZzb0JNO0lBQWdDO0V6RjJzb0J0Qzs7RXlGMXNvQk07O0lBRUU7RXpGNnNvQlI7O0V5RjNzb0JNOztJQUVFO0V6Rjhzb0JSOztFeUY1c29CTTs7SUFFRTtFekYrc29CUjs7RXlGN3NvQk07O0lBRUU7RXpGZ3RvQlI7O0V5Ri90b0JNO0lBQWdDO0V6Rm11b0J0Qzs7RXlGbHVvQk07O0lBRUU7RXpGcXVvQlI7O0V5Rm51b0JNOztJQUVFO0V6RnN1b0JSOztFeUZwdW9CTTs7SUFFRTtFekZ1dW9CUjs7RXlGcnVvQk07O0lBRUU7RXpGd3VvQlI7O0V5RnZ2b0JNO0lBQWdDO0V6RjJ2b0J0Qzs7RXlGMXZvQk07O0lBRUU7RXpGNnZvQlI7O0V5RjN2b0JNOztJQUVFO0V6Rjh2b0JSOztFeUY1dm9CTTs7SUFFRTtFekYrdm9CUjs7RXlGN3ZvQk07O0lBRUU7RXpGZ3dvQlI7O0V5Ri93b0JNO0lBQWdDO0V6Rm14b0J0Qzs7RXlGbHhvQk07O0lBRUU7RXpGcXhvQlI7O0V5Rm54b0JNOztJQUVFO0V6RnN4b0JSOztFeUZweG9CTTs7SUFFRTtFekZ1eG9CUjs7RXlGcnhvQk07O0lBRUU7RXpGd3hvQlI7O0V5RnZ5b0JNO0lBQWdDO0V6RjJ5b0J0Qzs7RXlGMXlvQk07O0lBRUU7RXpGNnlvQlI7O0V5RjN5b0JNOztJQUVFO0V6Rjh5b0JSOztFeUY1eW9CTTs7SUFFRTtFekYreW9CUjs7RXlGN3lvQk07O0lBRUU7RXpGZ3pvQlI7O0V5Ri96b0JNO0lBQWdDO0V6Rm0wb0J0Qzs7RXlGbDBvQk07O0lBRUU7RXpGcTBvQlI7O0V5Rm4wb0JNOztJQUVFO0V6RnMwb0JSOztFeUZwMG9CTTs7SUFFRTtFekZ1MG9CUjs7RXlGcjBvQk07O0lBRUU7RXpGdzBvQlI7O0V5RnYxb0JNO0lBQWdDO0V6RjIxb0J0Qzs7RXlGMTFvQk07O0lBRUU7RXpGNjFvQlI7O0V5RjMxb0JNOztJQUVFO0V6Rjgxb0JSOztFeUY1MW9CTTs7SUFFRTtFekYrMW9CUjs7RXlGNzFvQk07O0lBRUU7RXpGZzJvQlI7O0V5Rngxb0JNO0lBQXdCO0V6RjQxb0I5Qjs7RXlGMzFvQk07O0lBRUU7RXpGODFvQlI7O0V5RjUxb0JNOztJQUVFO0V6Risxb0JSOztFeUY3MW9CTTs7SUFFRTtFekZnMm9CUjs7RXlGOTFvQk07O0lBRUU7RXpGaTJvQlI7O0V5Rmgzb0JNO0lBQXdCO0V6Rm8zb0I5Qjs7RXlGbjNvQk07O0lBRUU7RXpGczNvQlI7O0V5RnAzb0JNOztJQUVFO0V6RnUzb0JSOztFeUZyM29CTTs7SUFFRTtFekZ3M29CUjs7RXlGdDNvQk07O0lBRUU7RXpGeTNvQlI7O0V5Rng0b0JNO0lBQXdCO0V6RjQ0b0I5Qjs7RXlGMzRvQk07O0lBRUU7RXpGODRvQlI7O0V5RjU0b0JNOztJQUVFO0V6Ris0b0JSOztFeUY3NG9CTTs7SUFFRTtFekZnNW9CUjs7RXlGOTRvQk07O0lBRUU7RXpGaTVvQlI7O0V5Rmg2b0JNO0lBQXdCO0V6Rm82b0I5Qjs7RXlGbjZvQk07O0lBRUU7RXpGczZvQlI7O0V5RnA2b0JNOztJQUVFO0V6RnU2b0JSOztFeUZyNm9CTTs7SUFFRTtFekZ3Nm9CUjs7RXlGdDZvQk07O0lBRUU7RXpGeTZvQlI7O0V5Rng3b0JNO0lBQXdCO0V6RjQ3b0I5Qjs7RXlGMzdvQk07O0lBRUU7RXpGODdvQlI7O0V5RjU3b0JNOztJQUVFO0V6Ris3b0JSOztFeUY3N29CTTs7SUFFRTtFekZnOG9CUjs7RXlGOTdvQk07O0lBRUU7RXpGaThvQlI7O0V5RjM3b0JFO0lBQW1CO0V6Ris3b0JyQjs7RXlGOTdvQkU7O0lBRUU7RXpGaThvQko7O0V5Ri83b0JFOztJQUVFO0V6Rms4b0JKOztFeUZoOG9CRTs7SUFFRTtFekZtOG9CSjs7RXlGajhvQkU7O0lBRUU7RXpGbzhvQko7QUFDRjtBaUM5OG9CSTtFd0RsREk7SUFBZ0M7RXpGb2dwQnRDOztFeUZuZ3BCTTs7SUFFRTtFekZzZ3BCUjs7RXlGcGdwQk07O0lBRUU7RXpGdWdwQlI7O0V5RnJncEJNOztJQUVFO0V6RndncEJSOztFeUZ0Z3BCTTs7SUFFRTtFekZ5Z3BCUjs7RXlGeGhwQk07SUFBZ0M7RXpGNGhwQnRDOztFeUYzaHBCTTs7SUFFRTtFekY4aHBCUjs7RXlGNWhwQk07O0lBRUU7RXpGK2hwQlI7O0V5RjdocEJNOztJQUVFO0V6RmdpcEJSOztFeUY5aHBCTTs7SUFFRTtFekZpaXBCUjs7RXlGaGpwQk07SUFBZ0M7RXpGb2pwQnRDOztFeUZuanBCTTs7SUFFRTtFekZzanBCUjs7RXlGcGpwQk07O0lBRUU7RXpGdWpwQlI7O0V5RnJqcEJNOztJQUVFO0V6RndqcEJSOztFeUZ0anBCTTs7SUFFRTtFekZ5anBCUjs7RXlGeGtwQk07SUFBZ0M7RXpGNGtwQnRDOztFeUYza3BCTTs7SUFFRTtFekY4a3BCUjs7RXlGNWtwQk07O0lBRUU7RXpGK2twQlI7O0V5RjdrcEJNOztJQUVFO0V6RmdscEJSOztFeUY5a3BCTTs7SUFFRTtFekZpbHBCUjs7RXlGaG1wQk07SUFBZ0M7RXpGb21wQnRDOztFeUZubXBCTTs7SUFFRTtFekZzbXBCUjs7RXlGcG1wQk07O0lBRUU7RXpGdW1wQlI7O0V5RnJtcEJNOztJQUVFO0V6RndtcEJSOztFeUZ0bXBCTTs7SUFFRTtFekZ5bXBCUjs7RXlGeG5wQk07SUFBZ0M7RXpGNG5wQnRDOztFeUYzbnBCTTs7SUFFRTtFekY4bnBCUjs7RXlGNW5wQk07O0lBRUU7RXpGK25wQlI7O0V5RjducEJNOztJQUVFO0V6RmdvcEJSOztFeUY5bnBCTTs7SUFFRTtFekZpb3BCUjs7RXlGaHBwQk07SUFBZ0M7RXpGb3BwQnRDOztFeUZucHBCTTs7SUFFRTtFekZzcHBCUjs7RXlGcHBwQk07O0lBRUU7RXpGdXBwQlI7O0V5RnJwcEJNOztJQUVFO0V6RndwcEJSOztFeUZ0cHBCTTs7SUFFRTtFekZ5cHBCUjs7RXlGeHFwQk07SUFBZ0M7RXpGNHFwQnRDOztFeUYzcXBCTTs7SUFFRTtFekY4cXBCUjs7RXlGNXFwQk07O0lBRUU7RXpGK3FwQlI7O0V5RjdxcEJNOztJQUVFO0V6RmdycEJSOztFeUY5cXBCTTs7SUFFRTtFekZpcnBCUjs7RXlGaHNwQk07SUFBZ0M7RXpGb3NwQnRDOztFeUZuc3BCTTs7SUFFRTtFekZzc3BCUjs7RXlGcHNwQk07O0lBRUU7RXpGdXNwQlI7O0V5RnJzcEJNOztJQUVFO0V6RndzcEJSOztFeUZ0c3BCTTs7SUFFRTtFekZ5c3BCUjs7RXlGeHRwQk07SUFBZ0M7RXpGNHRwQnRDOztFeUYzdHBCTTs7SUFFRTtFekY4dHBCUjs7RXlGNXRwQk07O0lBRUU7RXpGK3RwQlI7O0V5Rjd0cEJNOztJQUVFO0V6Rmd1cEJSOztFeUY5dHBCTTs7SUFFRTtFekZpdXBCUjs7RXlGaHZwQk07SUFBZ0M7RXpGb3ZwQnRDOztFeUZudnBCTTs7SUFFRTtFekZzdnBCUjs7RXlGcHZwQk07O0lBRUU7RXpGdXZwQlI7O0V5RnJ2cEJNOztJQUVFO0V6Rnd2cEJSOztFeUZ0dnBCTTs7SUFFRTtFekZ5dnBCUjs7RXlGeHdwQk07SUFBZ0M7RXpGNHdwQnRDOztFeUYzd3BCTTs7SUFFRTtFekY4d3BCUjs7RXlGNXdwQk07O0lBRUU7RXpGK3dwQlI7O0V5Rjd3cEJNOztJQUVFO0V6Rmd4cEJSOztFeUY5d3BCTTs7SUFFRTtFekZpeHBCUjs7RXlGendwQk07SUFBd0I7RXpGNndwQjlCOztFeUY1d3BCTTs7SUFFRTtFekYrd3BCUjs7RXlGN3dwQk07O0lBRUU7RXpGZ3hwQlI7O0V5Rjl3cEJNOztJQUVFO0V6Rml4cEJSOztFeUYvd3BCTTs7SUFFRTtFekZreHBCUjs7RXlGanlwQk07SUFBd0I7RXpGcXlwQjlCOztFeUZweXBCTTs7SUFFRTtFekZ1eXBCUjs7RXlGcnlwQk07O0lBRUU7RXpGd3lwQlI7O0V5RnR5cEJNOztJQUVFO0V6Rnl5cEJSOztFeUZ2eXBCTTs7SUFFRTtFekYweXBCUjs7RXlGenpwQk07SUFBd0I7RXpGNnpwQjlCOztFeUY1enBCTTs7SUFFRTtFekYrenBCUjs7RXlGN3pwQk07O0lBRUU7RXpGZzBwQlI7O0V5Rjl6cEJNOztJQUVFO0V6RmkwcEJSOztFeUYvenBCTTs7SUFFRTtFekZrMHBCUjs7RXlGajFwQk07SUFBd0I7RXpGcTFwQjlCOztFeUZwMXBCTTs7SUFFRTtFekZ1MXBCUjs7RXlGcjFwQk07O0lBRUU7RXpGdzFwQlI7O0V5RnQxcEJNOztJQUVFO0V6RnkxcEJSOztFeUZ2MXBCTTs7SUFFRTtFekYwMXBCUjs7RXlGejJwQk07SUFBd0I7RXpGNjJwQjlCOztFeUY1MnBCTTs7SUFFRTtFekYrMnBCUjs7RXlGNzJwQk07O0lBRUU7RXpGZzNwQlI7O0V5RjkycEJNOztJQUVFO0V6RmkzcEJSOztFeUYvMnBCTTs7SUFFRTtFekZrM3BCUjs7RXlGNTJwQkU7SUFBbUI7RXpGZzNwQnJCOztFeUYvMnBCRTs7SUFFRTtFekZrM3BCSjs7RXlGaDNwQkU7O0lBRUU7RXpGbTNwQko7O0V5RmozcEJFOztJQUVFO0V6Rm8zcEJKOztFeUZsM3BCRTs7SUFFRTtFekZxM3BCSjtBQUNGO0FpQy8zcEJJO0V3RGxESTtJQUFnQztFekZxN3BCdEM7O0V5RnA3cEJNOztJQUVFO0V6RnU3cEJSOztFeUZyN3BCTTs7SUFFRTtFekZ3N3BCUjs7RXlGdDdwQk07O0lBRUU7RXpGeTdwQlI7O0V5RnY3cEJNOztJQUVFO0V6RjA3cEJSOztFeUZ6OHBCTTtJQUFnQztFekY2OHBCdEM7O0V5RjU4cEJNOztJQUVFO0V6Ris4cEJSOztFeUY3OHBCTTs7SUFFRTtFekZnOXBCUjs7RXlGOThwQk07O0lBRUU7RXpGaTlwQlI7O0V5Ri84cEJNOztJQUVFO0V6Rms5cEJSOztFeUZqK3BCTTtJQUFnQztFekZxK3BCdEM7O0V5RnArcEJNOztJQUVFO0V6RnUrcEJSOztFeUZyK3BCTTs7SUFFRTtFekZ3K3BCUjs7RXlGdCtwQk07O0lBRUU7RXpGeStwQlI7O0V5RnYrcEJNOztJQUVFO0V6RjArcEJSOztFeUZ6L3BCTTtJQUFnQztFekY2L3BCdEM7O0V5RjUvcEJNOztJQUVFO0V6RisvcEJSOztFeUY3L3BCTTs7SUFFRTtFekZnZ3FCUjs7RXlGOS9wQk07O0lBRUU7RXpGaWdxQlI7O0V5Ri8vcEJNOztJQUVFO0V6RmtncUJSOztFeUZqaHFCTTtJQUFnQztFekZxaHFCdEM7O0V5RnBocUJNOztJQUVFO0V6RnVocUJSOztFeUZyaHFCTTs7SUFFRTtFekZ3aHFCUjs7RXlGdGhxQk07O0lBRUU7RXpGeWhxQlI7O0V5RnZocUJNOztJQUVFO0V6RjBocUJSOztFeUZ6aXFCTTtJQUFnQztFekY2aXFCdEM7O0V5RjVpcUJNOztJQUVFO0V6RitpcUJSOztFeUY3aXFCTTs7SUFFRTtFekZnanFCUjs7RXlGOWlxQk07O0lBRUU7RXpGaWpxQlI7O0V5Ri9pcUJNOztJQUVFO0V6RmtqcUJSOztFeUZqa3FCTTtJQUFnQztFekZxa3FCdEM7O0V5RnBrcUJNOztJQUVFO0V6RnVrcUJSOztFeUZya3FCTTs7SUFFRTtFekZ3a3FCUjs7RXlGdGtxQk07O0lBRUU7RXpGeWtxQlI7O0V5RnZrcUJNOztJQUVFO0V6RjBrcUJSOztFeUZ6bHFCTTtJQUFnQztFekY2bHFCdEM7O0V5RjVscUJNOztJQUVFO0V6RitscUJSOztFeUY3bHFCTTs7SUFFRTtFekZnbXFCUjs7RXlGOWxxQk07O0lBRUU7RXpGaW1xQlI7O0V5Ri9scUJNOztJQUVFO0V6RmttcUJSOztFeUZqbnFCTTtJQUFnQztFekZxbnFCdEM7O0V5RnBucUJNOztJQUVFO0V6RnVucUJSOztFeUZybnFCTTs7SUFFRTtFekZ3bnFCUjs7RXlGdG5xQk07O0lBRUU7RXpGeW5xQlI7O0V5RnZucUJNOztJQUVFO0V6RjBucUJSOztFeUZ6b3FCTTtJQUFnQztFekY2b3FCdEM7O0V5RjVvcUJNOztJQUVFO0V6RitvcUJSOztFeUY3b3FCTTs7SUFFRTtFekZncHFCUjs7RXlGOW9xQk07O0lBRUU7RXpGaXBxQlI7O0V5Ri9vcUJNOztJQUVFO0V6RmtwcUJSOztFeUZqcXFCTTtJQUFnQztFekZxcXFCdEM7O0V5RnBxcUJNOztJQUVFO0V6RnVxcUJSOztFeUZycXFCTTs7SUFFRTtFekZ3cXFCUjs7RXlGdHFxQk07O0lBRUU7RXpGeXFxQlI7O0V5RnZxcUJNOztJQUVFO0V6RjBxcUJSOztFeUZ6cnFCTTtJQUFnQztFekY2cnFCdEM7O0V5RjVycUJNOztJQUVFO0V6RitycUJSOztFeUY3cnFCTTs7SUFFRTtFekZnc3FCUjs7RXlGOXJxQk07O0lBRUU7RXpGaXNxQlI7O0V5Ri9ycUJNOztJQUVFO0V6RmtzcUJSOztFeUYxcnFCTTtJQUF3QjtFekY4cnFCOUI7O0V5RjdycUJNOztJQUVFO0V6RmdzcUJSOztFeUY5cnFCTTs7SUFFRTtFekZpc3FCUjs7RXlGL3JxQk07O0lBRUU7RXpGa3NxQlI7O0V5RmhzcUJNOztJQUVFO0V6Rm1zcUJSOztFeUZsdHFCTTtJQUF3QjtFekZzdHFCOUI7O0V5RnJ0cUJNOztJQUVFO0V6Rnd0cUJSOztFeUZ0dHFCTTs7SUFFRTtFekZ5dHFCUjs7RXlGdnRxQk07O0lBRUU7RXpGMHRxQlI7O0V5Rnh0cUJNOztJQUVFO0V6RjJ0cUJSOztFeUYxdXFCTTtJQUF3QjtFekY4dXFCOUI7O0V5Rjd1cUJNOztJQUVFO0V6Rmd2cUJSOztFeUY5dXFCTTs7SUFFRTtFekZpdnFCUjs7RXlGL3VxQk07O0lBRUU7RXpGa3ZxQlI7O0V5Rmh2cUJNOztJQUVFO0V6Rm12cUJSOztFeUZsd3FCTTtJQUF3QjtFekZzd3FCOUI7O0V5RnJ3cUJNOztJQUVFO0V6Rnd3cUJSOztFeUZ0d3FCTTs7SUFFRTtFekZ5d3FCUjs7RXlGdndxQk07O0lBRUU7RXpGMHdxQlI7O0V5Rnh3cUJNOztJQUVFO0V6RjJ3cUJSOztFeUYxeHFCTTtJQUF3QjtFekY4eHFCOUI7O0V5Rjd4cUJNOztJQUVFO0V6Rmd5cUJSOztFeUY5eHFCTTs7SUFFRTtFekZpeXFCUjs7RXlGL3hxQk07O0lBRUU7RXpGa3lxQlI7O0V5Rmh5cUJNOztJQUVFO0V6Rm15cUJSOztFeUY3eHFCRTtJQUFtQjtFekZpeXFCckI7O0V5Rmh5cUJFOztJQUVFO0V6Rm15cUJKOztFeUZqeXFCRTs7SUFFRTtFekZveXFCSjs7RXlGbHlxQkU7O0lBRUU7RXpGcXlxQko7O0V5Rm55cUJFOztJQUVFO0V6RnN5cUJKO0FBQ0Y7QTBGdjJxQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7QTFGdTJxQko7O0EyRmozcUJBO0VBQWtCO0EzRnEzcUJsQjs7QTJGajNxQkE7RUFBaUI7QTNGcTNxQmpCOztBMkZwM3FCQTtFQUFpQjtBM0Z3M3FCakI7O0EyRnYzcUJBO0VBQWlCO0EzRjIzcUJqQjs7QTJGMTNxQkE7RUNURTtFQUNBO0VBQ0E7QTVGdTRxQkY7O0EyRngzcUJJO0VBQXdCO0EzRjQzcUI1Qjs7QTJGMzNxQkk7RUFBd0I7QTNGKzNxQjVCOztBMkY5M3FCSTtFQUF3QjtBM0ZrNHFCNUI7O0FpQzcxcUJJO0UwRHZDQTtJQUF3QjtFM0Z5NHFCMUI7O0UyRng0cUJFO0lBQXdCO0UzRjQ0cUIxQjs7RTJGMzRxQkU7SUFBd0I7RTNGKzRxQjFCO0FBQ0Y7QWlDMzJxQkk7RTBEdkNBO0lBQXdCO0UzRnM1cUIxQjs7RTJGcjVxQkU7SUFBd0I7RTNGeTVxQjFCOztFMkZ4NXFCRTtJQUF3QjtFM0Y0NXFCMUI7QUFDRjtBaUN4M3FCSTtFMER2Q0E7SUFBd0I7RTNGbTZxQjFCOztFMkZsNnFCRTtJQUF3QjtFM0ZzNnFCMUI7O0UyRnI2cUJFO0lBQXdCO0UzRnk2cUIxQjtBQUNGO0FpQ3I0cUJJO0UwRHZDQTtJQUF3QjtFM0ZnN3FCMUI7O0UyRi82cUJFO0lBQXdCO0UzRm03cUIxQjs7RTJGbDdxQkU7SUFBd0I7RTNGczdxQjFCO0FBQ0Y7QTJGajdxQkE7RUFBbUI7QTNGbzdxQm5COztBMkZuN3FCQTtFQUFtQjtBM0Z1N3FCbkI7O0EyRnQ3cUJBO0VBQW1CO0EzRjA3cUJuQjs7QTJGdDdxQkE7RUFBdUI7QTNGMDdxQnZCOztBMkZ6N3FCQTtFQUF1QjtBM0Y2N3FCdkI7O0EyRjU3cUJBO0VBQXVCO0EzRmc4cUJ2Qjs7QTJGLzdxQkE7RUFBdUI7QTNGbThxQnZCOztBMkZsOHFCQTtFQUF1QjtBM0ZzOHFCdkI7O0EyRnI4cUJBO0VBQXVCO0EzRnk4cUJ2Qjs7QTJGcjhxQkE7RUFBYztBM0Z5OHFCZDs7QTZGaC9xQkU7RUFDRTtBN0ZtL3FCSjs7QXdCeitxQkU7RXFFTE07QTdGay9xQlI7O0E2RngvcUJFO0VBQ0U7QTdGMi9xQko7O0F3QmovcUJFO0VxRUxNO0E3RjAvcUJSOztBNkZoZ3JCRTtFQUNFO0E3Rm1nckJKOztBd0J6L3FCRTtFcUVMTTtBN0ZrZ3JCUjs7QTZGeGdyQkU7RUFDRTtBN0YyZ3JCSjs7QXdCamdyQkU7RXFFTE07QTdGMGdyQlI7O0E2RmhockJFO0VBQ0U7QTdGbWhyQko7O0F3QnpnckJFO0VxRUxNO0E3RmtockJSOztBNkZ4aHJCRTtFQUNFO0E3RjJockJKOztBd0JqaHJCRTtFcUVMTTtBN0YwaHJCUjs7QTZGaGlyQkU7RUFDRTtBN0ZtaXJCSjs7QXdCemhyQkU7RXFFTE07QTdGa2lyQlI7O0E2RnhpckJFO0VBQ0U7QTdGMmlyQko7O0F3QmppckJFO0VxRUxNO0E3RjBpckJSOztBMkZuZ3JCQTtFQUFhO0EzRnVnckJiOztBMkZ0Z3JCQTtFQUFjO0EzRjBnckJkOztBMkZ4Z3JCQTtFQUFpQjtBM0Y0Z3JCakI7O0EyRjNnckJBO0VBQWlCO0EzRitnckJqQjs7QTJGM2dyQkE7RUd2REU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZza3JCRjs7QTJGL2dyQkE7RUFBd0I7QTNGbWhyQnhCOztBMkZqaHJCQTtFQUNFO0VBQ0E7QTNGb2hyQkY7O0EyRi9nckJBO0VBQWM7QTNGbWhyQmQ7O0ErRnBsckJBO0VBQ0U7QS9GdWxyQkY7O0ErRnBsckJBO0VBQ0U7QS9GdWxyQkY7O0FnR3ZsckJFO0VBQ0U7OztJQUtFO0lBRUE7RWhHdWxyQko7O0VnR25sckJJO0lBQ0U7RWhHc2xyQk47O0VnRzdrckJFO0lBQ0U7RWhHZ2xyQko7O0VnR2xrckJFO0lBQ0U7RWhHcWtyQko7O0VnR25rckJFOztJQUVFO0lBQ0E7RWhHc2tyQko7O0VnR25rckJFOztJQUVFO0VoR3NrckJKOztFZ0dua3JCRTs7O0lBR0U7SUFDQTtFaEdza3JCSjs7RWdHbmtyQkU7O0lBRUU7RWhHc2tyQko7O0VnRzlqckJFO0lBQ0UsUXpFMmlDOEI7RXZCc2hwQmxDO0VnRy9qckJFO0lBQ0U7RWhHaWtyQko7O0VnRy9qckJFO0lBQ0U7RWhHa2tyQko7O0VnRzlqckJFO0lBQ0U7RWhHaWtyQko7O0VnRy9qckJFO0lBQ0U7RWhHa2tyQko7O0VnRy9qckJFO0lBQ0U7RWhHa2tyQko7RWdHaGtyQkk7O0lBRUU7RWhHa2tyQk47O0VnRzdqckJJOztJQUVFO0VoR2drckJOOztFZ0c1anJCRTtJQUNFO0VoRytqckJKO0VnRzdqckJJOzs7O0lBSUUscUJ6RTlHRztFdkI2cXJCVDs7RWdHM2pyQkU7SUFDRTtJQUNBLHFCekVwSEs7RXZCa3JyQlQ7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2ZvbnRhd2Vzb21lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19jb3JlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19sYXJnZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2ZpeGVkLXdpZHRoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2xpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX2JvcmRlcmVkLXB1bGxlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fYW5pbWF0ZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19zdGFja2VkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL19pY29ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fc2NyZWVuLXJlYWRlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3NvbGlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kcy5zY3NzIiwid2VicGFjazovLy8uL19nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fanVtYm90cm9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wcm9ncmVzcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3NwaW5uZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2ludGVyYWN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19vdmVyZmxvdy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zY3JlZW5yZWFkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TnVuaXRvXCIpO1xuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU51bml0b1wiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU51bml0b1wiKTtcbi5mYSxcbi5mYXMsXG4uZmFyLFxuLmZhbCxcbi5mYWQsXG4uZmFiIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmEtbGcge1xuICBmb250LXNpemU6IDEuMzMzMzMzMzMzM2VtO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDY2N2VtO1xufVxuXG4uZmEteHMge1xuICBmb250LXNpemU6IDAuNzVlbTtcbn1cblxuLmZhLXNtIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG4uZmEtMXgge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmZhLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi5mYS0zeCB7XG4gIGZvbnQtc2l6ZTogM2VtO1xufVxuXG4uZmEtNHgge1xuICBmb250LXNpemU6IDRlbTtcbn1cblxuLmZhLTV4IHtcbiAgZm9udC1zaXplOiA1ZW07XG59XG5cbi5mYS02eCB7XG4gIGZvbnQtc2l6ZTogNmVtO1xufVxuXG4uZmEtN3gge1xuICBmb250LXNpemU6IDdlbTtcbn1cblxuLmZhLTh4IHtcbiAgZm9udC1zaXplOiA4ZW07XG59XG5cbi5mYS05eCB7XG4gIGZvbnQtc2l6ZTogOWVtO1xufVxuXG4uZmEtMTB4IHtcbiAgZm9udC1zaXplOiAxMGVtO1xufVxuXG4uZmEtZncge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxLjI1ZW07XG59XG5cbi5mYS11bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDIuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4uZmEtdWwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZhLWxpIHtcbiAgbGVmdDogLTJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uZmEtYm9yZGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xZW07XG4gIHBhZGRpbmc6IDAuMmVtIDAuMjVlbSAwLjE1ZW07XG59XG5cbi5mYS1wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZhLXB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5mYS5mYS1wdWxsLWxlZnQsXG4uZmFzLmZhLXB1bGwtbGVmdCxcbi5mYXIuZmEtcHVsbC1sZWZ0LFxuLmZhbC5mYS1wdWxsLWxlZnQsXG4uZmFiLmZhLXB1bGwtbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG59XG4uZmEuZmEtcHVsbC1yaWdodCxcbi5mYXMuZmEtcHVsbC1yaWdodCxcbi5mYXIuZmEtcHVsbC1yaWdodCxcbi5mYWwuZmEtcHVsbC1yaWdodCxcbi5mYWIuZmEtcHVsbC1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cblxuLmZhLXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uZmEtcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4uZmEtcm90YXRlLTkwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5mYS1yb3RhdGUtMTgwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uZmEtcm90YXRlLTI3MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MylcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cblxuLmZhLWZsaXAtaG9yaXpvbnRhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuXG4uZmEtZmxpcC1ib3RoLCAuZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XG59XG5cbjpyb290IC5mYS1yb3RhdGUtOTAsXG46cm9vdCAuZmEtcm90YXRlLTE4MCxcbjpyb290IC5mYS1yb3RhdGUtMjcwLFxuOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC5mYS1mbGlwLXZlcnRpY2FsLFxuOnJvb3QgLmZhLWZsaXAtYm90aCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuLmZhLXN0YWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMi41ZW07XG59XG5cbi5mYS1zdGFjay0xeCxcbi5mYS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZhLXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5mYS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uZmEtaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbnJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG4uZmEtNTAwcHg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvia5cIjtcbn1cblxuLmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NqFwiO1xufVxuXG4uZmEtYWNjdXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjalcIjtcbn1cblxuLmZhLWFjcXVpc2l0aW9ucy1pbmNvcnBvcmF0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmq9cIjtcbn1cblxuLmZhLWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mBXCI7XG59XG5cbi5mYS1hZGRyZXNzLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirlcIjtcbn1cblxuLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ku1wiO1xufVxuXG4uZmEtYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GCXCI7XG59XG5cbi5mYS1hZG46YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbBcIjtcbn1cblxuLmZhLWFkdmVyc2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742qXCI7XG59XG5cbi5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Nq1wiO1xufVxuXG4uZmEtYWlyLWZyZXNoZW5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XkFwiO1xufVxuXG4uZmEtYWlyYm5iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C0XCI7XG59XG5cbi5mYS1hbGdvbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742sXCI7XG59XG5cbi5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLdcIjtcbn1cblxuLmZhLWFsaWduLWp1c3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLlcIjtcbn1cblxuLmZhLWFsaWduLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLZcIjtcbn1cblxuLmZhLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C4XCI7XG59XG5cbi5mYS1hbGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmYJcIjtcbn1cblxuLmZhLWFsbGVyZ2llczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RoVwiO1xufVxuXG4uZmEtYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mwXCI7XG59XG5cbi5mYS1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CsXCI7XG59XG5cbi5mYS1hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7lcIjtcbn1cblxuLmZhLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qjXCI7XG59XG5cbi5mYS1hbWlsaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvja1cIjtcbn1cblxuLmZhLWFuY2hvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EvVwiO1xufVxuXG4uZmEtYW5kcm9pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fu1wiO1xufVxuXG4uZmEtYW5nZWxsaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iJXCI7XG59XG5cbi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eg1wiO1xufVxuXG4uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIBcIjtcbn1cblxuLmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EgVwiO1xufVxuXG4uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SCXCI7XG59XG5cbi5mYS1hbmdsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SHXCI7XG59XG5cbi5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SEXCI7XG59XG5cbi5mYS1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EhVwiO1xufVxuXG4uZmEtYW5nbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIZcIjtcbn1cblxuLmZhLWFuZ3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WWXCI7XG59XG5cbi5mYS1hbmdyeWNyZWF0aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742uXCI7XG59XG5cbi5mYS1hbmd1bGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CgXCI7XG59XG5cbi5mYS1hbmtoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mEXCI7XG59XG5cbi5mYS1hcHAtc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvja9cIjtcbn1cblxuLmZhLWFwcC1zdG9yZS1pb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjbBcIjtcbn1cblxuLmZhLWFwcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742xXCI7XG59XG5cbi5mYS1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FuVwiO1xufVxuXG4uZmEtYXBwbGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eRXCI7XG59XG5cbi5mYS1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJVcIjtcbn1cblxuLmZhLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhodcIjtcbn1cblxuLmZhLWFyY2h3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZdcIjtcbn1cblxuLmZhLWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NmFwiO1xufVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742ZXCI7XG59XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742aXCI7XG59XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742bXCI7XG59XG5cbi5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Cq1wiO1xufVxuXG4uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqhcIjtcbn1cblxuLmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CqVwiO1xufVxuXG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KqXCI7XG59XG5cbi5mYS1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GjXCI7XG59XG5cbi5mYS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GgXCI7XG59XG5cbi5mYS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BoVwiO1xufVxuXG4uZmEtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaJcIjtcbn1cblxuLmZhLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgrJcIjtcbn1cblxuLmZhLWFycm93cy1hbHQtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Mt1wiO1xufVxuXG4uZmEtYXJyb3dzLWFsdC12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74y4XCI7XG59XG5cbi5mYS1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7526XCI7XG59XG5cbi5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqJcIjtcbn1cblxuLmZhLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GpXCI7XG59XG5cbi5mYS1hc3ltbWV0cmlrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742yXCI7XG59XG5cbi5mYS1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HulwiO1xufVxuXG4uZmEtYXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZhcIjtcbn1cblxuLmZhLWF0bGFzc2lhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+du1wiO1xufVxuXG4uZmEtYXRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XklwiO1xufVxuXG4uZmEtYXVkaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ns1wiO1xufVxuXG4uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvip5cIjtcbn1cblxuLmZhLWF1dG9wcmVmaXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QnFwiO1xufVxuXG4uZmEtYXZpYW5leDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NtFwiO1xufVxuXG4uZmEtYXZpYXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ChXCI7XG59XG5cbi5mYS1hd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VmVwiO1xufVxuXG4uZmEtYXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7421XCI7XG59XG5cbi5mYS1iYWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7528XCI7XG59XG5cbi5mYS1iYWJ5LWNhcnJpYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7529XCI7XG59XG5cbi5mYS1iYWNrc3BhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZpcIjtcbn1cblxuLmZhLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GKXCI7XG59XG5cbi5mYS1iYWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fpVwiO1xufVxuXG4uZmEtYmFjdGVyaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZlcIjtcbn1cblxuLmZhLWJhY3Rlcml1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BmlwiO1xufVxuXG4uZmEtYmFoYWk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmaZcIjtcbn1cblxuLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviY5cIjtcbn1cblxuLmZhLWJhbGFuY2Utc2NhbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UlVwiO1xufVxuXG4uZmEtYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UllwiO1xufVxuXG4uZmEtYmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GeXCI7XG59XG5cbi5mYS1iYW5kLWFpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RolwiO1xufVxuXG4uZmEtYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5VcIjtcbn1cblxuLmZhLWJhcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKpcIjtcbn1cblxuLmZhLWJhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4lcIjtcbn1cblxuLmZhLWJhc2ViYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLNcIjtcbn1cblxuLmZhLWJhc2tldGJhbGwtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QtFwiO1xufVxuXG4uZmEtYmF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LjVwiO1xufVxuXG4uZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JhFwiO1xufVxuXG4uZmEtYmF0dGVyeS1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mAXCI7XG59XG5cbi5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYJcIjtcbn1cblxuLmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jg1wiO1xufVxuXG4uZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JgVwiO1xufVxuXG4uZmEtYmF0dGxlLW5ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gtVwiO1xufVxuXG4uZmEtYmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i2XCI7XG59XG5cbi5mYS1iZWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O8XCI7XG59XG5cbi5mYS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a0XCI7XG59XG5cbi5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GtVwiO1xufVxuXG4uZmEtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ds1wiO1xufVxuXG4uZmEtYmVsbC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HtlwiO1xufVxuXG4uZmEtYmV6aWVyLWN1cnZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WbXCI7XG59XG5cbi5mYS1iaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zh1wiO1xufVxuXG4uZmEtYmljeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IhlwiO1xufVxuXG4uZmEtYmlraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76GKXCI7XG59XG5cbi5mYS1iaW1vYmplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjbhcIjtcbn1cblxuLmZhLWJpbm9jdWxhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6VcIjtcbn1cblxuLmZhLWJpb2hhemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+egFwiO1xufVxuXG4uZmEtYmlydGhkYXktY2FrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HvVwiO1xufVxuXG4uZmEtYml0YnVja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WxXCI7XG59XG5cbi5mYS1iaXRjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7425XCI7XG59XG5cbi5mYS1iaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7426XCI7XG59XG5cbi5mYS1ibGFjay10aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvib5cIjtcbn1cblxuLmZhLWJsYWNrYmVycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjbtcIjtcbn1cblxuLmZhLWJsZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJdcIjtcbn1cblxuLmZhLWJsZW5kZXItcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmrZcIjtcbn1cblxuLmZhLWJsaW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qdXCI7XG59XG5cbi5mYS1ibG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756BXCI7XG59XG5cbi5mYS1ibG9nZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7428XCI7XG59XG5cbi5mYS1ibG9nZ2VyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjb1cIjtcbn1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Kk1wiO1xufVxuXG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipRcIjtcbn1cblxuLmZhLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLJcIjtcbn1cblxuLmZhLWJvbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6dcIjtcbn1cblxuLmZhLWJvbWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6JcIjtcbn1cblxuLmZhLWJvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl5dcIjtcbn1cblxuLmZhLWJvbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZxcIjtcbn1cblxuLmZhLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgK1cIjtcbn1cblxuLmZhLWJvb2stZGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+at1wiO1xufVxuXG4uZmEtYm9vay1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+mXCI7XG59XG5cbi5mYS1ib29rLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJhcIjtcbn1cblxuLmZhLWJvb2stcmVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eaXCI7XG59XG5cbi5mYS1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ArlwiO1xufVxuXG4uZmEtYm9vdHN0cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C2XCI7XG59XG5cbi5mYS1ib3JkZXItYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76GMXCI7XG59XG5cbi5mYS1ib3JkZXItbm9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hkFwiO1xufVxuXG4uZmEtYm9yZGVyLXN0eWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76GTXCI7XG59XG5cbi5mYS1ib3dsaW5nLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLZcIjtcbn1cblxuLmZhLWJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RplwiO1xufVxuXG4uZmEtYm94LW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvkp5cIjtcbn1cblxuLmZhLWJveC10aXNzdWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZtcIjtcbn1cblxuLmZhLWJveGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GoXCI7XG59XG5cbi5mYS1icmFpbGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qhXCI7XG59XG5cbi5mYS1icmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XnFwiO1xufVxuXG4uZmEtYnJlYWQtc2xpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn6xcIjtcbn1cblxuLmZhLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CsVwiO1xufVxuXG4uZmEtYnJpZWZjYXNlLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkalcIjtcbn1cblxuLmZhLWJyb2FkY2FzdC10b3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UmVwiO1xufVxuXG4uZmEtYnJvb206YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJpcIjtcbn1cblxuLmZhLWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WdXCI7XG59XG5cbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZpcIjtcbn1cblxuLmZhLWJ1ZmZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gt1wiO1xufVxuXG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aIXCI7XG59XG5cbi5mYS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GrVwiO1xufVxuXG4uZmEtYnVsbGhvcm46YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqFcIjtcbn1cblxuLmZhLWJ1bGxzZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WAXCI7XG59XG5cbi5mYS1idXJuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GqXCI7XG59XG5cbi5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742/XCI7XG59XG5cbi5mYS1idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviIdcIjtcbn1cblxuLmZhLWJ1cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZ5cIjtcbn1cblxuLmZhLWJ1c2luZXNzLXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmYpcIjtcbn1cblxuLmZhLWJ1eS1uLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KmXCI7XG59XG5cbi5mYS1idXlzZWxsYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iNXCI7XG59XG5cbi5mYS1jYWxjdWxhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74esXCI7XG59XG5cbi5mYS1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Es1wiO1xufVxuXG4uZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GzXCI7XG59XG5cbi5mYS1jYWxlbmRhci1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JtFwiO1xufVxuXG4uZmEtY2FsZW5kYXItZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756DXCI7XG59XG5cbi5mYS1jYWxlbmRhci1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JslwiO1xufVxuXG4uZmEtY2FsZW5kYXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JsVwiO1xufVxuXG4uZmEtY2FsZW5kYXItdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibNcIjtcbn1cblxuLmZhLWNhbGVuZGFyLXdlZWs6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnoRcIjtcbn1cblxuLmZhLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AsFwiO1xufVxuXG4uZmEtY2FtZXJhLXJldHJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KDXCI7XG59XG5cbi5mYS1jYW1wZ3JvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75q7XCI7XG59XG5cbi5mYS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756FXCI7XG59XG5cbi5mYS1jYW5keS1jYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756GXCI7XG59XG5cbi5mYS1jYW5uYWJpczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vn1wiO1xufVxuXG4uZmEtY2Fwc3VsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkatcIjtcbn1cblxuLmZhLWNhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GuVwiO1xufVxuXG4uZmEtY2FyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XnlwiO1xufVxuXG4uZmEtY2FyLWJhdHRlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl59cIjtcbn1cblxuLmZhLWNhci1jcmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XoVwiO1xufVxuXG4uZmEtY2FyLXNpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl6RcIjtcbn1cblxuLmZhLWNhcmF2YW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvo79cIjtcbn1cblxuLmZhLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5dcIjtcbn1cblxuLmZhLWNhcmV0LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5lcIjtcbn1cblxuLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OaXCI7XG59XG5cbi5mYS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FkFwiO1xufVxuXG4uZmEtY2FyZXQtc3F1YXJlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpFcIjtcbn1cblxuLmZhLWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FklwiO1xufVxuXG4uZmEtY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WRXCI7XG59XG5cbi5mYS1jYXJldC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DmFwiO1xufVxuXG4uZmEtY2Fycm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756HXCI7XG59XG5cbi5mYS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLviJhcIjtcbn1cblxuLmZhLWNhcnQtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Il1wiO1xufVxuXG4uZmEtY2FzaC1yZWdpc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eiFwiO1xufVxuXG4uZmEtY2F0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75q+XCI7XG59XG5cbi5mYS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CtXCI7XG59XG5cbi5mYS1jYy1hbWV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ezXCI7XG59XG5cbi5mYS1jYy1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJZcIjtcbn1cblxuLmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mMXCI7XG59XG5cbi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HslwiO1xufVxuXG4uZmEtY2MtamNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mLXCI7XG59XG5cbi5mYS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74exXCI7XG59XG5cbi5mYS1jYy1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7RcIjtcbn1cblxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HtVwiO1xufVxuXG4uZmEtY2MtdmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HsFwiO1xufVxuXG4uZmEtY2VudGVyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OgFwiO1xufVxuXG4uZmEtY2VudG9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756JXCI7XG59XG5cbi5mYS1jZXJ0aWZpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Co1wiO1xufVxuXG4uZmEtY2hhaXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm4BcIjtcbn1cblxuLmZhLWNoYWxrYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJtcIjtcbn1cblxuLmZhLWNoYWxrYm9hcmQtdGVhY2hlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UnFwiO1xufVxuXG4uZmEtY2hhcmdpbmctc3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Xp1wiO1xufVxuXG4uZmEtY2hhcnQtYXJlYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HvlwiO1xufVxuXG4uZmEtY2hhcnQtYmFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KAXCI7XG59XG5cbi5mYS1jaGFydC1saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iBXCI7XG59XG5cbi5mYS1jaGFydC1waWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviIBcIjtcbn1cblxuLmZhLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CMXCI7XG59XG5cbi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZhcIjtcbn1cblxuLmZhLWNoZWNrLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VoFwiO1xufVxuXG4uZmEtY2hlY2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WKXCI7XG59XG5cbi5mYS1jaGVlc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn69cIjtcbn1cblxuLmZhLWNoZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75C5XCI7XG59XG5cbi5mYS1jaGVzcy1iaXNob3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLpcIjtcbn1cblxuLmZhLWNoZXNzLWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75C8XCI7XG59XG5cbi5mYS1jaGVzcy1raW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75C/XCI7XG59XG5cbi5mYS1jaGVzcy1rbmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkYFcIjtcbn1cblxuLmZhLWNoZXNzLXBhd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvkYNcIjtcbn1cblxuLmZhLWNoZXNzLXF1ZWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GFXCI7XG59XG5cbi5mYS1jaGVzcy1yb29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GHXCI7XG59XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S6XCI7XG59XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S3XCI7XG59XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EuFwiO1xufVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLlcIjtcbn1cblxuLmZhLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BuFwiO1xufVxuXG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GTXCI7XG59XG5cbi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GUXCI7XG59XG5cbi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G3XCI7XG59XG5cbi5mYS1jaGlsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GrlwiO1xufVxuXG4uZmEtY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74moXCI7XG59XG5cbi5mYS1jaHJvbWVjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C4XCI7XG59XG5cbi5mYS1jaHVyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJ1cIjtcbn1cblxuLmZhLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EkVwiO1xufVxuXG4uZmEtY2lyY2xlLW5vdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eOXCI7XG59XG5cbi5mYS1jaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mPXCI7XG59XG5cbi5mYS1jbGluaWMtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fslwiO1xufVxuXG4uZmEtY2xpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yoXCI7XG59XG5cbi5mYS1jbGlwYm9hcmQtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkaxcIjtcbn1cblxuLmZhLWNsaXBib2FyZC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GtXCI7XG59XG5cbi5mYS1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Al1wiO1xufVxuXG4uZmEtY2xvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviY1cIjtcbn1cblxuLmZhLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iKXCI7XG59XG5cbi5mYS1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DglwiO1xufVxuXG4uZmEtY2xvdWQtZG93bmxvYWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746BXCI7XG59XG5cbi5mYS1jbG91ZC1tZWF0YmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cu1wiO1xufVxuXG4uZmEtY2xvdWQtbW9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bg1wiO1xufVxuXG4uZmEtY2xvdWQtbW9vbi1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75y8XCI7XG59XG5cbi5mYS1jbG91ZC1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75y9XCI7XG59XG5cbi5mYS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752AXCI7XG59XG5cbi5mYS1jbG91ZC1zdW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvm4RcIjtcbn1cblxuLmZhLWNsb3VkLXN1bi1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752DXCI7XG59XG5cbi5mYS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746CXCI7XG59XG5cbi5mYS1jbG91ZGZsYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG9XCI7XG59XG5cbi5mYS1jbG91ZHNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746DXCI7XG59XG5cbi5mYS1jbG91ZHNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746EXCI7XG59XG5cbi5mYS1jbG91ZHZlcnNpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjoVcIjtcbn1cblxuLmZhLWNvY2t0YWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WhXCI7XG59XG5cbi5mYS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ShXCI7XG59XG5cbi5mYS1jb2RlLWJyYW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EplwiO1xufVxuXG4uZmEtY29kZXBlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hi1wiO1xufVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioRcIjtcbn1cblxuLmZhLWNvZmZlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DtFwiO1xufVxuXG4uZmEtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CTXCI7XG59XG5cbi5mYS1jb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KFXCI7XG59XG5cbi5mYS1jb2luczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UnlwiO1xufVxuXG4uZmEtY29sdW1uczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dm1wiO1xufVxuXG4uZmEtY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BtVwiO1xufVxuXG4uZmEtY29tbWVudC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibpcIjtcbn1cblxuLmZhLWNvbW1lbnQtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mRXCI7XG59XG5cbi5mYS1jb21tZW50LWRvdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkq1cIjtcbn1cblxuLmZhLWNvbW1lbnQtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ftVwiO1xufVxuXG4uZmEtY29tbWVudC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ss1wiO1xufVxuXG4uZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoZcIjtcbn1cblxuLmZhLWNvbW1lbnRzLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zk1wiO1xufVxuXG4uZmEtY29tcGFjdC1kaXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SfXCI7XG59XG5cbi5mYS1jb21wYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WOXCI7XG59XG5cbi5mYS1jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BplwiO1xufVxuXG4uZmEtY29tcHJlc3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CiXCI7XG59XG5cbi5mYS1jb21wcmVzcy1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756MXCI7XG59XG5cbi5mYS1jb25jaWVyZ2UtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VolwiO1xufVxuXG4uZmEtY29uZmx1ZW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ejVwiO1xufVxuXG4uZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLviI5cIjtcbn1cblxuLmZhLWNvbnRhbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JrVwiO1xufVxuXG4uZmEtY29va2llOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WjXCI7XG59XG5cbi5mYS1jb29raWUtYml0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VpFwiO1xufVxuXG4uZmEtY29weTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DhVwiO1xufVxuXG4uZmEtY29weXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e5XCI7XG59XG5cbi5mYS1jb3R0b24tYnVyZWF1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KeXCI7XG59XG5cbi5mYS1jb3VjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SuFwiO1xufVxuXG4uZmEtY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746IXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74meXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OnXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OoXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OpXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OqXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OrXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OsXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TrVwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TrlwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tr1wiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TsFwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OxXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OyXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXplcm86YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7NcIjtcbn1cblxuLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KdXCI7XG59XG5cbi5mYS1jcml0aWNhbC1yb2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uJXCI7XG59XG5cbi5mYS1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SlXCI7XG59XG5cbi5mYS1jcm9wLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VpVwiO1xufVxuXG4uZmEtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmZRcIjtcbn1cblxuLmZhLWNyb3NzaGFpcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZtcIjtcbn1cblxuLmZhLWNyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKBcIjtcbn1cblxuLmZhLWNyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ShXCI7XG59XG5cbi5mYS1jcnV0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn7dcIjtcbn1cblxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLxcIjtcbn1cblxuLmZhLWNzczMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746LXCI7XG59XG5cbi5mYS1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ayXCI7XG59XG5cbi5mYS1jdWJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gs1wiO1xufVxuXG4uZmEtY3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OEXCI7XG59XG5cbi5mYS1jdXR0bGVmaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746MXCI7XG59XG5cbi5mYS1kLWFuZC1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746NXCI7XG59XG5cbi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bilwiO1xufVxuXG4uZmEtZGFpbHltb3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLugZJcIjtcbn1cblxuLmZhLWRhc2hjdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iQXCI7XG59XG5cbi5mYS1kYXRhYmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HgFwiO1xufVxuXG4uZmEtZGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KpFwiO1xufVxuXG4uZmEtZGVlemVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG3XCI7XG59XG5cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqVcIjtcbn1cblxuLmZhLWRlbW9jcmF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752HXCI7XG59XG5cbi5mYS1kZXBsb3lkb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjo5cIjtcbn1cblxuLmZhLWRlc2twcm86YmVmb3JlIHtcbiAgY29udGVudDogXCLvjo9cIjtcbn1cblxuLmZhLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIhcIjtcbn1cblxuLmZhLWRldjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bjFwiO1xufVxuXG4uZmEtZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GvVwiO1xufVxuXG4uZmEtZGhhcm1hY2hha3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mVXCI7XG59XG5cbi5mYS1kaGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpBcIjtcbn1cblxuLmZhLWRpYWdub3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RsFwiO1xufVxuXG4uZmEtZGlhc3BvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpFcIjtcbn1cblxuLmZhLWRpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKJcIjtcbn1cblxuLmZhLWRpY2UtZDIwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uPXCI7XG59XG5cbi5mYS1kaWNlLWQ2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uRXCI7XG59XG5cbi5mYS1kaWNlLWZpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKNcIjtcbn1cblxuLmZhLWRpY2UtZm91cjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UpFwiO1xufVxuXG4uZmEtZGljZS1vbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKVcIjtcbn1cblxuLmZhLWRpY2Utc2l4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SmXCI7XG59XG5cbi5mYS1kaWNlLXRocmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SnXCI7XG59XG5cbi5mYS1kaWNlLXR3bzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UqFwiO1xufVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GplwiO1xufVxuXG4uZmEtZGlnaXRhbC1vY2VhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OkVwiO1xufVxuXG4uZmEtZGlnaXRhbC10YWNob2dyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WmXCI7XG59XG5cbi5mYS1kaXJlY3Rpb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75erXCI7XG59XG5cbi5mYS1kaXNjb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746SXCI7XG59XG5cbi5mYS1kaXNjb3Vyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjpNcIjtcbn1cblxuLmZhLWRpc2Vhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn7pcIjtcbn1cblxuLmZhLWRpdmlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UqVwiO1xufVxuXG4uZmEtZGl6enk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvladcIjtcbn1cblxuLmZhLWRuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RsVwiO1xufVxuXG4uZmEtZG9jaHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746UXCI7XG59XG5cbi5mYS1kb2NrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjpVcIjtcbn1cblxuLmZhLWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bk1wiO1xufVxuXG4uZmEtZG9sbGFyLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZVcIjtcbn1cblxuLmZhLWRvbGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GyXCI7XG59XG5cbi5mYS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75G0XCI7XG59XG5cbi5mYS1kb25hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkrlcIjtcbn1cblxuLmZhLWRvb3ItY2xvc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SqXCI7XG59XG5cbi5mYS1kb29yLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKtcIjtcbn1cblxuLmZhLWRvdC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpJcIjtcbn1cblxuLmZhLWRvdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkrpcIjtcbn1cblxuLmZhLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CZXCI7XG59XG5cbi5mYS1kcmFmdDJkaWdpdGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746WXCI7XG59XG5cbi5mYS1kcmFmdGluZy1jb21wYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WoXCI7XG59XG5cbi5mYS1kcmFnb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvm5VcIjtcbn1cblxuLmZhLWRyYXctcG9seWdvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XrlwiO1xufVxuXG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhb1cIjtcbn1cblxuLmZhLWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ol1wiO1xufVxuXG4uZmEtZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fq1wiO1xufVxuXG4uZmEtZHJ1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VqVwiO1xufVxuXG4uZmEtZHJ1bS1zdGVlbHBhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VqlwiO1xufVxuXG4uZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm5dcIjtcbn1cblxuLmZhLWRydXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GqVwiO1xufVxuXG4uZmEtZHVtYmJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkYtcIjtcbn1cblxuLmZhLWR1bXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756TXCI7XG59XG5cbi5mYS1kdW1wc3Rlci1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756UXCI7XG59XG5cbi5mYS1kdW5nZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uZXCI7XG59XG5cbi5mYS1keWFsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjplcIjtcbn1cblxuLmZhLWVhcmx5YmlyZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjppcIjtcbn1cblxuLmZhLWViYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7RcIjtcbn1cblxuLmZhLWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioJcIjtcbn1cblxuLmZhLWVkZ2UtbGVnYWN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG4XCI7XG59XG5cbi5mYS1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GEXCI7XG59XG5cbi5mYS1lZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn7tcIjtcbn1cblxuLmZhLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GSXCI7XG59XG5cbi5mYS1lbGVtZW50b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLBcIjtcbn1cblxuLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYFcIjtcbn1cblxuLmZhLWVsbGlwc2lzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYJcIjtcbn1cblxuLmZhLWVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCLvl7FcIjtcbn1cblxuLmZhLWVtYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CjXCI7XG59XG5cbi5mYS1lbXBpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5FcIjtcbn1cblxuLmZhLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OgXCI7XG59XG5cbi5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q2XCI7XG59XG5cbi5mYS1lbnZlbG9wZS1vcGVuLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmZhcIjtcbn1cblxuLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GmVwiO1xufVxuXG4uZmEtZW52aXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qZXCI7XG59XG5cbi5mYS1lcXVhbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKxcIjtcbn1cblxuLmZhLWVyYXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ErVwiO1xufVxuXG4uZmEtZXJsYW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746dXCI7XG59XG5cbi5mYS1ldGhlcmV1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QrlwiO1xufVxuXG4uZmEtZXRoZXJuZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpZcIjtcbn1cblxuLmZhLWV0c3k6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5dcIjtcbn1cblxuLmZhLWV1cm8tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fk1wiO1xufVxuXG4uZmEtZXZlcm5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLlcIjtcbn1cblxuLmZhLWV4Y2hhbmdlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NolwiO1xufVxuXG4uZmEtZXhjbGFtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKpcIjtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BqlwiO1xufVxuXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbFcIjtcbn1cblxuLmZhLWV4cGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BpVwiO1xufVxuXG4uZmEtZXhwYW5kLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QpFwiO1xufVxuXG4uZmEtZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjJ5cIjtcbn1cblxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IvlwiO1xufVxuXG4uZmEtZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjZ1cIjtcbn1cblxuLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NoFwiO1xufVxuXG4uZmEtZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GuXCI7XG59XG5cbi5mYS1leWUtZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hu1wiO1xufVxuXG4uZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GwXCI7XG59XG5cbi5mYS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmlwiO1xufVxuXG4uZmEtZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OnlwiO1xufVxuXG4uZmEtZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746fXCI7XG59XG5cbi5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoJcIjtcbn1cblxuLmZhLWZhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ho1wiO1xufVxuXG4uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm5xcIjtcbn1cblxuLmZhLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYlcIjtcbn1cblxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BkFwiO1xufVxuXG4uZmEtZmF1Y2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCFXCI7XG59XG5cbi5mYS1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqxcIjtcbn1cblxuLmZhLWZlYXRoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlK1cIjtcbn1cblxuLmZhLWZlYXRoZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WrXCI7XG59XG5cbi5mYS1mZWRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+el1wiO1xufVxuXG4uZmEtZmVkb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756YXCI7XG59XG5cbi5mYS1mZW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoJcIjtcbn1cblxuLmZhLWZpZ2h0ZXItamV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O7XCI7XG59XG5cbi5mYS1maWdtYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+emVwiO1xufVxuXG4uZmEtZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fm1wiO1xufVxuXG4uZmEtZmlsZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbn1cblxuLmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhlwiO1xufVxuXG4uZmEtZmlsZS1hdWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hh1wiO1xufVxuXG4uZmEtZmlsZS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eJXCI7XG59XG5cbi5mYS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WsXCI7XG59XG5cbi5mYS1maWxlLWNzdjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bnVwiO1xufVxuXG4uZmEtZmlsZS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VrVwiO1xufVxuXG4uZmEtZmlsZS1leGNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hg1wiO1xufVxuXG4uZmEtZmlsZS1leHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvla5cIjtcbn1cblxuLmZhLWZpbGUtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4VcIjtcbn1cblxuLmZhLWZpbGUtaW1wb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WvXCI7XG59XG5cbi5mYS1maWxlLWludm9pY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbBcIjtcbn1cblxuLmZhLWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbFcIjtcbn1cblxuLmZhLWZpbGUtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Rt1wiO1xufVxuXG4uZmEtZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RuFwiO1xufVxuXG4uZmEtZmlsZS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4FcIjtcbn1cblxuLmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhFwiO1xufVxuXG4uZmEtZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbJcIjtcbn1cblxuLmZhLWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WzXCI7XG59XG5cbi5mYS1maWxlLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VtFwiO1xufVxuXG4uZmEtZmlsZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HiFwiO1xufVxuXG4uZmEtZmlsZS13b3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eCXCI7XG59XG5cbi5mYS1maWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W1XCI7XG59XG5cbi5mYS1maWxsLWRyaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbZcIjtcbn1cblxuLmZhLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIhcIjtcbn1cblxuLmZhLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CsFwiO1xufVxuXG4uZmEtZmluZ2VycHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbdcIjtcbn1cblxuLmZhLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvga1cIjtcbn1cblxuLmZhLWZpcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+kXCI7XG59XG5cbi5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EtFwiO1xufVxuXG4uZmEtZmlyZWZveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JqVwiO1xufVxuXG4uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCHXCI7XG59XG5cbi5mYS1maXJzdC1haWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkblcIjtcbn1cblxuLmZhLWZpcnN0LW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qwXCI7XG59XG5cbi5mYS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIpcIjtcbn1cblxuLmZhLWZpcnN0ZHJhZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqFcIjtcbn1cblxuLmZhLWZpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbhcIjtcbn1cblxuLmZhLWZpc3QtcmFpc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ueXCI7XG59XG5cbi5mYS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CkXCI7XG59XG5cbi5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EnlwiO1xufVxuXG4uZmEtZmxhZy11c2E6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnY1cIjtcbn1cblxuLmZhLWZsYXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ODXCI7XG59XG5cbi5mYS1mbGlja3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvha5cIjtcbn1cblxuLmZhLWZsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RjVwiO1xufVxuXG4uZmEtZmx1c2hlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VuVwiO1xufVxuXG4uZmEtZmx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CXXCI7XG59XG5cbi5mYS1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbtcIjtcbn1cblxuLmZhLWZvbGRlci1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZnVwiO1xufVxuXG4uZmEtZm9sZGVyLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbxcIjtcbn1cblxuLmZhLWZvbGRlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75meXCI7XG59XG5cbi5mYS1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CxXCI7XG59XG5cbi5mYS1mb250LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirRcIjtcbn1cblxuLmZhLWZvbnQtYXdlc29tZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjZxcIjtcbn1cblxuLmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ClXCI7XG59XG5cbi5mYS1mb250LWF3ZXNvbWUtbG9nby1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OmXCI7XG59XG5cbi5mYS1mb250aWNvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioBcIjtcbn1cblxuLmZhLWZvbnRpY29ucy1maTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OolwiO1xufVxuXG4uZmEtZm9vdGJhbGwtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RjlwiO1xufVxuXG4uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qGXCI7XG59XG5cbi5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746jXCI7XG59XG5cbi5mYS1mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IkVwiO1xufVxuXG4uZmEtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BjlwiO1xufVxuXG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GgFwiO1xufVxuXG4uZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4VcIjtcbn1cblxuLmZhLWZyZWVic2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqRcIjtcbn1cblxuLmZhLWZyb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlK5cIjtcbn1cblxuLmZhLWZyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SZXCI7XG59XG5cbi5mYS1mcm93bi1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W6XCI7XG59XG5cbi5mYS1mdWxjcnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SLXCI7XG59XG5cbi5mYS1mdW5uZWwtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75miXCI7XG59XG5cbi5mYS1mdXRib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6NcIjtcbn1cblxuLmZhLWdhbGFjdGljLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SMXCI7XG59XG5cbi5mYS1nYWxhY3RpYy1zZW5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlI1cIjtcbn1cblxuLmZhLWdhbWVwYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJtcIjtcbn1cblxuLmZhLWdhcy1wdW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SvXCI7XG59XG5cbi5mYS1nYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Do1wiO1xufVxuXG4uZmEtZ2VtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746lXCI7XG59XG5cbi5mYS1nZW5kZXJsZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74itXCI7XG59XG5cbi5mYS1nZXQtcG9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mlXCI7XG59XG5cbi5mYS1nZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JoFwiO1xufVxuXG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mhXCI7XG59XG5cbi5mYS1naG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bolwiO1xufVxuXG4uZmEtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bq1wiO1xufVxuXG4uZmEtZ2lmdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpxcIjtcbn1cblxuLmZhLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hk1wiO1xufVxuXG4uZmEtZ2l0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hgVwiO1xufVxuXG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HklwiO1xufVxuXG4uZmEtZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KbXCI7XG59XG5cbi5mYS1naXRodWItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74STXCI7XG59XG5cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KSXCI7XG59XG5cbi5mYS1naXRrcmFrZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqZcIjtcbn1cblxuLmZhLWdpdGxhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KllwiO1xufVxuXG4uZmEtZ2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CmXCI7XG59XG5cbi5mYS1nbGFzcy1jaGVlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnp9cIjtcbn1cblxuLmZhLWdsYXNzLW1hcnRpbmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIBcIjtcbn1cblxuLmZhLWdsYXNzLW1hcnRpbmktYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W7XCI7XG59XG5cbi5mYS1nbGFzcy13aGlza2V5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756gXCI7XG59XG5cbi5mYS1nbGFzc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SwXCI7XG59XG5cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KpVwiO1xufVxuXG4uZmEtZ2xpZGUtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KplwiO1xufVxuXG4uZmEtZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqxcIjtcbn1cblxuLmZhLWdsb2JlLWFmcmljYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VvFwiO1xufVxuXG4uZmEtZ2xvYmUtYW1lcmljYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlb1cIjtcbn1cblxuLmZhLWdsb2JlLWFzaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlb5cIjtcbn1cblxuLmZhLWdsb2JlLWV1cm9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eolwiO1xufVxuXG4uZmEtZ29mb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746nXCI7XG59XG5cbi5mYS1nb2xmLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZBcIjtcbn1cblxuLmZhLWdvb2RyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OqFwiO1xufVxuXG4uZmEtZ29vZHJlYWRzLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqlcIjtcbn1cblxuLmZhLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GoFwiO1xufVxuXG4uZmEtZ29vZ2xlLWRyaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746qXCI7XG59XG5cbi5mYS1nb29nbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG5XCI7XG59XG5cbi5mYS1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Oq1wiO1xufVxuXG4uZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirNcIjtcbn1cblxuLmZhLWdvb2dsZS1wbHVzLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5VcIjtcbn1cblxuLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DlFwiO1xufVxuXG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HrlwiO1xufVxuXG4uZmEtZ29wdXJhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZpFwiO1xufVxuXG4uZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhp1cIjtcbn1cblxuLmZhLWdyYXRpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aEXCI7XG59XG5cbi5mYS1ncmF2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uWXCI7XG59XG5cbi5mYS1ncmVhdGVyLXRoYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLFcIjtcbn1cblxuLmZhLWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UslwiO1xufVxuXG4uZmEtZ3JpbWFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vv1wiO1xufVxuXG4uZmEtZ3JpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WgFwiO1xufVxuXG4uZmEtZ3Jpbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvloFcIjtcbn1cblxuLmZhLWdyaW4tYmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WglwiO1xufVxuXG4uZmEtZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aDXCI7XG59XG5cbi5mYS1ncmluLWhlYXJ0czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WhFwiO1xufVxuXG4uZmEtZ3Jpbi1zcXVpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvloVcIjtcbn1cblxuLmZhLWdyaW4tc3F1aW50LXRlYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aGXCI7XG59XG5cbi5mYS1ncmluLXN0YXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aHXCI7XG59XG5cbi5mYS1ncmluLXRlYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aIXCI7XG59XG5cbi5mYS1ncmluLXRvbmd1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WiVwiO1xufVxuXG4uZmEtZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aKXCI7XG59XG5cbi5mYS1ncmluLXRvbmd1ZS13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aLXCI7XG59XG5cbi5mYS1ncmluLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvloxcIjtcbn1cblxuLmZhLWdyaXAtaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WjVwiO1xufVxuXG4uZmEtZ3JpcC1saW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+epFwiO1xufVxuXG4uZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+epVwiO1xufVxuXG4uZmEtZ3JpcC12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WjlwiO1xufVxuXG4uZmEtZ3JpcGZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqxcIjtcbn1cblxuLmZhLWdydW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746tXCI7XG59XG5cbi5mYS1ndWlsZGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG+XCI7XG59XG5cbi5mYS1ndWl0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqZcIjtcbn1cblxuLmZhLWd1bHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjq5cIjtcbn1cblxuLmZhLWgtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O9XCI7XG59XG5cbi5mYS1oYWNrZXItbmV3czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HlFwiO1xufVxuXG4uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746vXCI7XG59XG5cbi5mYS1oYWNrZXJyYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75e3XCI7XG59XG5cbi5mYS1oYW1idXJnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoIVcIjtcbn1cblxuLmZhLWhhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bo1wiO1xufVxuXG4uZmEtaGFtc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmaVcIjtcbn1cblxuLmZhLWhhbmQtaG9sZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SvVwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75K+XCI7XG59XG5cbi5mYS1oYW5kLWhvbGRpbmctbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BnFwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TgFwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nLXdhdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OBXCI7XG59XG5cbi5mYS1oYW5kLWxpemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JmFwiO1xufVxuXG4uZmEtaGFuZC1taWRkbGUtZmluZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CGXCI7XG59XG5cbi5mYS1oYW5kLXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mWXCI7XG59XG5cbi5mYS1oYW5kLXBlYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mbXCI7XG59XG5cbi5mYS1oYW5kLXBvaW50LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqdcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CpVwiO1xufVxuXG4uZmEtaGFuZC1wb2ludC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CpFwiO1xufVxuXG4uZmEtaGFuZC1wb2ludC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CplwiO1xufVxuXG4uZmEtaGFuZC1wb2ludGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74maXCI7XG59XG5cbi5mYS1oYW5kLXJvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZVcIjtcbn1cblxuLmZhLWhhbmQtc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZdcIjtcbn1cblxuLmZhLWhhbmQtc3BhcmtsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZ1cIjtcbn1cblxuLmZhLWhhbmQtc3BvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZlcIjtcbn1cblxuLmZhLWhhbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OCXCI7XG59XG5cbi5mYS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OEXCI7XG59XG5cbi5mYS1oYW5kcy13YXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGeXCI7XG59XG5cbi5mYS1oYW5kc2hha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirVcIjtcbn1cblxuLmZhLWhhbmRzaGFrZS1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZ9cIjtcbn1cblxuLmZhLWhhbmRzaGFrZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BoFwiO1xufVxuXG4uZmEtaGFudWtpYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm6ZcIjtcbn1cblxuLmZhLWhhcmQtaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CHXCI7XG59XG5cbi5mYS1oYXNodGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qSXCI7XG59XG5cbi5mYS1oYXQtY293Ym95OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76OAXCI7XG59XG5cbi5mYS1oYXQtY293Ym95LXNpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo4FcIjtcbn1cblxuLmZhLWhhdC13aXphcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm6hcIjtcbn1cblxuLmZhLWhkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CoFwiO1xufVxuXG4uZmEtaGVhZC1zaWRlLWNvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGhXCI7XG59XG5cbi5mYS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaJcIjtcbn1cblxuLmZhLWhlYWQtc2lkZS1tYXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGjXCI7XG59XG5cbi5mYS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaRcIjtcbn1cblxuLmZhLWhlYWRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5xcIjtcbn1cblxuLmZhLWhlYWRwaG9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKVcIjtcbn1cblxuLmZhLWhlYWRwaG9uZXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aPXCI7XG59XG5cbi5mYS1oZWFkc2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aQXCI7XG59XG5cbi5mYS1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AhFwiO1xufVxuXG4uZmEtaGVhcnQtYnJva2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756pXCI7XG59XG5cbi5mYS1oZWFydGJlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJ5cIjtcbn1cblxuLmZhLWhlbGljb3B0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLNcIjtcbn1cblxuLmZhLWhpZ2hsaWdodGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aRXCI7XG59XG5cbi5mYS1oaWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm6xcIjtcbn1cblxuLmZhLWhpcHBvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75utXCI7XG59XG5cbi5mYS1oaXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GSXCI7XG59XG5cbi5mYS1oaXJlLWEtaGVscGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746wXCI7XG59XG5cbi5mYS1oaXN0b3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eaXCI7XG59XG5cbi5mYS1oaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG/XCI7XG59XG5cbi5mYS1ob2NrZXktcHVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Rk1wiO1xufVxuXG4uZmEtaG9sbHktYmVycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqpcIjtcbn1cblxuLmZhLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJVcIjtcbn1cblxuLmZhLWhvb2xpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CnXCI7XG59XG5cbi5mYS1ob3JuYmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WklwiO1xufVxuXG4uZmEtaG9yc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm7BcIjtcbn1cblxuLmZhLWhvcnNlLWhlYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqtcIjtcbn1cblxuLmZhLWhvc3BpdGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O4XCI7XG59XG5cbi5mYS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkb1cIjtcbn1cblxuLmZhLWhvc3BpdGFsLXN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RvlwiO1xufVxuXG4uZmEtaG9zcGl0YWwtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gjVwiO1xufVxuXG4uZmEtaG90LXR1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wk1wiO1xufVxuXG4uZmEtaG90ZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CPXCI7XG59XG5cbi5mYS1ob3RlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WlFwiO1xufVxuXG4uZmEtaG90amFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746xXCI7XG59XG5cbi5mYS1ob3VyZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZRcIjtcbn1cblxuLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZNcIjtcbn1cblxuLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mSXCI7XG59XG5cbi5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZFcIjtcbn1cblxuLmZhLWhvdXNlLWRhbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bsVwiO1xufVxuXG4uZmEtaG91c2UtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BpVwiO1xufVxuXG4uZmEtaG91eno6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibxcIjtcbn1cblxuLmZhLWhyeXZuaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm7JcIjtcbn1cblxuLmZhLWh0bWw1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S7XCI7XG59XG5cbi5mYS1odWJzcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746yXCI7XG59XG5cbi5mYS1pLWN1cnNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JhlwiO1xufVxuXG4uZmEtaWNlLWNyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CQXCI7XG59XG5cbi5mYS1pY2ljbGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756tXCI7XG59XG5cbi5mYS1pY29uczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hrVwiO1xufVxuXG4uZmEtaWQtYmFkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4FcIjtcbn1cblxuLmZhLWlkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4JcIjtcbn1cblxuLmZhLWlkLWNhcmQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75G/XCI7XG59XG5cbi5mYS1pZGVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Ak1wiO1xufVxuXG4uZmEtaWdsb286YmVmb3JlIHtcbiAgY29udGVudDogXCLvnq5cIjtcbn1cblxuLmZhLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C+XCI7XG59XG5cbi5mYS1pbWFnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjIJcIjtcbn1cblxuLmZhLWltZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5hcIjtcbn1cblxuLmZhLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CcXCI7XG59XG5cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLxcIjtcbn1cblxuLmZhLWluZHVzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m1XCI7XG59XG5cbi5mYS1pbmZpbml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UtFwiO1xufVxuXG4uZmEtaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EqVwiO1xufVxuXG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZpcIjtcbn1cblxuLmZhLWlubm9zb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKAXCI7XG59XG5cbi5mYS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvha1cIjtcbn1cblxuLmZhLWluc3RhZ3JhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZVcIjtcbn1cblxuLmZhLWluc3RhbG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKBXCI7XG59XG5cbi5mYS1pbnRlcmNvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+er1wiO1xufVxuXG4uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviatcIjtcbn1cblxuLmZhLWludmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756wXCI7XG59XG5cbi5mYS1pb3hob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iIXCI7XG59XG5cbi5mYS1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLNcIjtcbn1cblxuLmZhLWl0Y2gtaW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLpcIjtcbn1cblxuLmZhLWl0dW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OtFwiO1xufVxuXG4uZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrVcIjtcbn1cblxuLmZhLWphdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk6RcIjtcbn1cblxuLmZhLWplZGk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmalcIjtcbn1cblxuLmZhLWplZGktb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlI5cIjtcbn1cblxuLmZhLWplbmtpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrZcIjtcbn1cblxuLmZhLWppcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrFcIjtcbn1cblxuLmZhLWpvZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7463XCI7XG59XG5cbi5mYS1qb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WlVwiO1xufVxuXG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aqXCI7XG59XG5cbi5mYS1qb3VybmFsLXdoaWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZqlwiO1xufVxuXG4uZmEtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrhcIjtcbn1cblxuLmZhLWpzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OuVwiO1xufVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4xcIjtcbn1cblxuLmZhLWthYWJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mrXCI7XG59XG5cbi5mYS1rYWdnbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl7pcIjtcbn1cblxuLmZhLWtleTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ChFwiO1xufVxuXG4uZmEta2V5YmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TtVwiO1xufVxuXG4uZmEta2V5Ym9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJxcIjtcbn1cblxuLmZhLWtleWNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OulwiO1xufVxuXG4uZmEta2hhbmRhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mtXCI7XG59XG5cbi5mYS1raWNrc3RhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ou1wiO1xufVxuXG4uZmEta2lja3N0YXJ0ZXItazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OvFwiO1xufVxuXG4uZmEta2lzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WllwiO1xufVxuXG4uZmEta2lzcy1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aXXCI7XG59XG5cbi5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlphcIjtcbn1cblxuLmZhLWtpd2ktYmlyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UtVwiO1xufVxuXG4uZmEta29ydnVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CvXCI7XG59XG5cbi5mYS1sYW5kbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zr1wiO1xufVxuXG4uZmEtbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqtcIjtcbn1cblxuLmZhLWxhcHRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EiVwiO1xufVxuXG4uZmEtbGFwdG9wLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl7xcIjtcbn1cblxuLmZhLWxhcHRvcC1ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BplwiO1xufVxuXG4uZmEtbGFwdG9wLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoJJcIjtcbn1cblxuLmZhLWxhcmF2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjr1cIjtcbn1cblxuLmZhLWxhc3RmbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IglwiO1xufVxuXG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ig1wiO1xufVxuXG4uZmEtbGF1Z2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlplcIjtcbn1cblxuLmZhLWxhdWdoLWJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvlppcIjtcbn1cblxuLmZhLWxhdWdoLXNxdWludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wm1wiO1xufVxuXG4uZmEtbGF1Z2gtd2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WnFwiO1xufVxuXG4uZmEtbGF5ZXItZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl71cIjtcbn1cblxuLmZhLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaxcIjtcbn1cblxuLmZhLWxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJJcIjtcbn1cblxuLmZhLWxlbW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KUXCI7XG59XG5cbi5mYS1sZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CdXCI7XG59XG5cbi5mYS1sZXNzLXRoYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLZcIjtcbn1cblxuLmZhLWxlc3MtdGhhbi1lcXVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ut1wiO1xufVxuXG4uZmEtbGV2ZWwtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjr5cIjtcbn1cblxuLmZhLWxldmVsLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ov1wiO1xufVxuXG4uZmEtbGlmZS1yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eNXCI7XG59XG5cbi5mYS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6tcIjtcbn1cblxuLmZhLWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4BcIjtcbn1cblxuLmZhLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4FcIjtcbn1cblxuLmZhLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KMXCI7XG59XG5cbi5mYS1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoVwiO1xufVxuXG4uZmEtbGlub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q4XCI7XG59XG5cbi5mYS1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FvFwiO1xufVxuXG4uZmEtbGlyYS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aVXCI7XG59XG5cbi5mYS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C6XCI7XG59XG5cbi5mYS1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AolwiO1xufVxuXG4uZmEtbGlzdC1vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Di1wiO1xufVxuXG4uZmEtbGlzdC11bDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DilwiO1xufVxuXG4uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKRcIjtcbn1cblxuLmZhLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKNcIjtcbn1cblxuLmZhLWxvY2stb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PgVwiO1xufVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MiVwiO1xufVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MilwiO1xufVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjItcIjtcbn1cblxuLmZhLWxvbmctYXJyb3ctYWx0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yMXCI7XG59XG5cbi5mYS1sb3ctdmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qoXCI7XG59XG5cbi5mYS1sdWdnYWdlLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlp1cIjtcbn1cblxuLmZhLWx1bmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iEXCI7XG59XG5cbi5mYS1sdW5ncy12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bp1wiO1xufVxuXG4uZmEtbHlmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pg1wiO1xufVxuXG4uZmEtbWFnZW50bzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PhFwiO1xufVxuXG4uZmEtbWFnaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5BcIjtcbn1cblxuLmZhLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BtlwiO1xufVxuXG4uZmEtbWFpbC1idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m0XCI7XG59XG5cbi5mYS1tYWlsY2hpbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlp5cIjtcbn1cblxuLmZhLW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoNcIjtcbn1cblxuLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SPXCI7XG59XG5cbi5mYS1tYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLviblcIjtcbn1cblxuLmZhLW1hcC1tYXJrZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlp9cIjtcbn1cblxuLmZhLW1hcC1tYXJrZWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75agXCI7XG59XG5cbi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GBXCI7XG59XG5cbi5mYS1tYXAtbWFya2VyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PhVwiO1xufVxuXG4uZmEtbWFwLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JtlwiO1xufVxuXG4uZmEtbWFwLXNpZ25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m3XCI7XG59XG5cbi5mYS1tYXJrZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Yj1wiO1xufVxuXG4uZmEtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ahXCI7XG59XG5cbi5mYS1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iiXCI7XG59XG5cbi5mYS1tYXJzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ip1wiO1xufVxuXG4uZmEtbWFycy1zdHJva2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKlcIjtcbn1cblxuLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKtcIjtcbn1cblxuLmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKpcIjtcbn1cblxuLmZhLW1hc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm7pcIjtcbn1cblxuLmZhLW1hc3RvZG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O2XCI7XG59XG5cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLZcIjtcbn1cblxuLmZhLW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+jilwiO1xufVxuXG4uZmEtbWVkYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlqJcIjtcbn1cblxuLmZhLW1lZGFwcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4ZcIjtcbn1cblxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IulwiO1xufVxuXG4uZmEtbWVkaXVtLW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4dcIjtcbn1cblxuLmZhLW1lZGtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DulwiO1xufVxuXG4uZmEtbWVkcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4hcIjtcbn1cblxuLmZhLW1lZXR1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LoFwiO1xufVxuXG4uZmEtbWVnYXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlqNcIjtcbn1cblxuLmZhLW1laDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EmlwiO1xufVxuXG4uZmEtbWVoLWJsYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75akXCI7XG59XG5cbi5mYS1tZWgtcm9sbGluZy1leWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75alXCI7XG59XG5cbi5mYS1tZW1vcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLhcIjtcbn1cblxuLmZhLW1lbmRlbGV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756zXCI7XG59XG5cbi5mYS1tZW5vcmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m2XCI7XG59XG5cbi5mYS1tZXJjdXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ijXCI7XG59XG5cbi5mYS1tZXRlb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZNcIjtcbn1cblxuLmZhLW1pY3JvYmxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AmlwiO1xufVxuXG4uZmEtbWljcm9jaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ubXCI7XG59XG5cbi5mYS1taWNyb3Bob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SwXCI7XG59XG5cbi5mYS1taWNyb3Bob25lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PiVwiO1xufVxuXG4uZmEtbWljcm9waG9uZS1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLlcIjtcbn1cblxuLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLFcIjtcbn1cblxuLmZhLW1pY3Jvc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmJBcIjtcbn1cblxuLmZhLW1pY3Jvc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PilwiO1xufVxuXG4uZmEtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgahcIjtcbn1cblxuLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BllwiO1xufVxuXG4uZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WGXCI7XG59XG5cbi5mYS1taXR0ZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrVcIjtcbn1cblxuLmZhLW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pi1wiO1xufVxuXG4uZmEtbWl4Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviolcIjtcbn1cblxuLmZhLW1peGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGWXCI7XG59XG5cbi5mYS1taXp1bmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4xcIjtcbn1cblxuLmZhLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ei1wiO1xufVxuXG4uZmEtbW9iaWxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PjVwiO1xufVxuXG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KhVwiO1xufVxuXG4uZmEtbW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+QXCI7XG59XG5cbi5mYS1tb25leS1iaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OWXCI7XG59XG5cbi5mYS1tb25leS1iaWxsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PkVwiO1xufVxuXG4uZmEtbW9uZXktYmlsbC13YXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S6XCI7XG59XG5cbi5mYS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S7XCI7XG59XG5cbi5mYS1tb25leS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UvFwiO1xufVxuXG4uZmEtbW9uZXktY2hlY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S9XCI7XG59XG5cbi5mYS1tb251bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WplwiO1xufVxuXG4uZmEtbW9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GhlwiO1xufVxuXG4uZmEtbW9ydGFyLXBlc3RsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wp1wiO1xufVxuXG4uZmEtbW9zcXVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m4XCI7XG59XG5cbi5mYS1tb3RvcmN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74icXCI7XG59XG5cbi5mYS1tb3VudGFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bvFwiO1xufVxuXG4uZmEtbW91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo4xcIjtcbn1cblxuLmZhLW1vdXNlLXBvaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYVcIjtcbn1cblxuLmZhLW11Zy1ob3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrZcIjtcbn1cblxuLmZhLW11c2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CBXCI7XG59XG5cbi5mYS1uYXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+SXCI7XG59XG5cbi5mYS1uZW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iSXCI7XG59XG5cbi5mYS1uZXR3b3JrLXdpcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75u/XCI7XG59XG5cbi5mYS1uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKxcIjtcbn1cblxuLmZhLW5ld3NwYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HqlwiO1xufVxuXG4uZmEtbmltYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aoXCI7XG59XG5cbi5mYS1ub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CZXCI7XG59XG5cbi5mYS1ub2RlLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+TXCI7XG59XG5cbi5mYS1ub3QtZXF1YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlL5cIjtcbn1cblxuLmZhLW5vdGVzLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkoFcIjtcbn1cblxuLmZhLW5wbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PlFwiO1xufVxuXG4uZmEtbnM4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+VXCI7XG59XG5cbi5mYS1udXRyaXRpb25peDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PllwiO1xufVxuXG4uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mHXCI7XG59XG5cbi5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JiFwiO1xufVxuXG4uZmEtb2N0b3B1cy1kZXBsb3k6YmVmb3JlIHtcbiAgY29udGVudDogXCLugoJcIjtcbn1cblxuLmZhLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCLviaNcIjtcbn1cblxuLmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mkXCI7XG59XG5cbi5mYS1vaWwtY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iTXCI7XG59XG5cbi5mYS1vbGQtcmVwdWJsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJBcIjtcbn1cblxuLmZhLW9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m5XCI7XG59XG5cbi5mYS1vcGVuY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IvVwiO1xufVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74abXCI7XG59XG5cbi5mYS1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JqlwiO1xufVxuXG4uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IvFwiO1xufVxuXG4uZmEtb3JjaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo5JcIjtcbn1cblxuLmZhLW9zaTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QmlwiO1xufVxuXG4uZmEtb3R0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnIBcIjtcbn1cblxuLmZhLW91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLtcIjtcbn1cblxuLmZhLXBhZ2U0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+XXCI7XG59XG5cbi5mYS1wYWdlbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoxcIjtcbn1cblxuLmZhLXBhZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CVXCI7XG59XG5cbi5mYS1wYWludC1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HvFwiO1xufVxuXG4uZmEtcGFpbnQtcm9sbGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aqXCI7XG59XG5cbi5mYS1wYWxldHRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S/XCI7XG59XG5cbi5mYS1wYWxmZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5hcIjtcbn1cblxuLmZhLXBhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SglwiO1xufVxuXG4uZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5hcIjtcbn1cblxuLmZhLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DhlwiO1xufVxuXG4uZmEtcGFyYWNodXRlLWJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TjVwiO1xufVxuXG4uZmEtcGFyYWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74edXCI7XG59XG5cbi5mYS1wYXJraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WAXCI7XG59XG5cbi5mYS1wYXNzcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wq1wiO1xufVxuXG4uZmEtcGFzdGFmYXJpYW5pc206YmVmb3JlIHtcbiAgY29udGVudDogXCLvmbtcIjtcbn1cblxuLmZhLXBhc3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OqXCI7XG59XG5cbi5mYS1wYXRyZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+ZXCI7XG59XG5cbi5mYS1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BjFwiO1xufVxuXG4uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qLXCI7XG59XG5cbi5mYS1wYXc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrBcIjtcbn1cblxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HrVwiO1xufVxuXG4uZmEtcGVhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmbxcIjtcbn1cblxuLmZhLXBlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MhFwiO1xufVxuXG4uZmEtcGVuLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MhVwiO1xufVxuXG4uZmEtcGVuLWZhbmN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75asXCI7XG59XG5cbi5mYS1wZW4tbmliOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75atXCI7XG59XG5cbi5mYS1wZW4tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WLXCI7XG59XG5cbi5mYS1wZW5jaWwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yDXCI7XG59XG5cbi5mYS1wZW5jaWwtcnVsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlq5cIjtcbn1cblxuLmZhLXBlbm55LWFyY2FkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+chFwiO1xufVxuXG4uZmEtcGVvcGxlLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BqFwiO1xufVxuXG4uZmEtcGVvcGxlLWNhcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OOXCI7XG59XG5cbi5mYS1wZXBwZXItaG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CWXCI7XG59XG5cbi5mYS1wZXJieXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKDXCI7XG59XG5cbi5mYS1wZXJjZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qVXCI7XG59XG5cbi5mYS1wZXJjZW50YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WBXCI7XG59XG5cbi5mYS1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5pcIjtcbn1cblxuLmZhLXBlcnNvbi1ib290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dllwiO1xufVxuXG4uZmEtcGhhYnJpY2F0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5tcIjtcbn1cblxuLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+cXCI7XG59XG5cbi5mYS1waG9lbml4LXNxdWFkcm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SRXCI7XG59XG5cbi5mYS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ClVwiO1xufVxuXG4uZmEtcGhvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G5XCI7XG59XG5cbi5mYS1waG9uZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PnVwiO1xufVxuXG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KYXCI7XG59XG5cbi5mYS1waG9uZS1zcXVhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G7XCI7XG59XG5cbi5mYS1waG9uZS12b2x1bWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqBcIjtcbn1cblxuLmZhLXBob3RvLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G8XCI7XG59XG5cbi5mYS1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZdcIjtcbn1cblxuLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviq5cIjtcbn1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aoXCI7XG59XG5cbi5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TpVwiO1xufVxuXG4uZmEtcGllZC1waXBlci1wcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gp1wiO1xufVxuXG4uZmEtcGllZC1waXBlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJ5cIjtcbn1cblxuLmZhLXBpZ2d5LWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5NcIjtcbn1cblxuLmZhLXBpbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KEXCI7XG59XG5cbi5mYS1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5JcIjtcbn1cblxuLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ixXCI7XG59XG5cbi5mYS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OTXCI7XG59XG5cbi5mYS1waXp6YS1zbGljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gmFwiO1xufVxuXG4uZmEtcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zv1wiO1xufVxuXG4uZmEtcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbJcIjtcbn1cblxuLmZhLXBsYW5lLWFycml2YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlq9cIjtcbn1cblxuLmZhLXBsYW5lLWRlcGFydHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WsFwiO1xufVxuXG4uZmEtcGxhbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugalcIjtcbn1cblxuLmZhLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYtcIjtcbn1cblxuLmZhLXBsYXktY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WEXCI7XG59XG5cbi5mYS1wbGF5c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pn1wiO1xufVxuXG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HplwiO1xufVxuXG4uZmEtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bp1wiO1xufVxuXG4uZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZVcIjtcbn1cblxuLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O+XCI7XG59XG5cbi5mYS1wb2RjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uOXCI7XG59XG5cbi5mYS1wb2xsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qBXCI7XG59XG5cbi5mYS1wb2xsLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmoJcIjtcbn1cblxuLmZhLXBvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LvlwiO1xufVxuXG4uZmEtcG9vLXN0b3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752aXCI7XG59XG5cbi5mYS1wb29wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iZXCI7XG59XG5cbi5mYS1wb3J0cmFpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PoFwiO1xufVxuXG4uZmEtcG91bmQtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FlFwiO1xufVxuXG4uZmEtcG93ZXItb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CRXCI7XG59XG5cbi5mYS1wcmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qDXCI7XG59XG5cbi5mYS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qEXCI7XG59XG5cbi5mYS1wcmVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrFcIjtcbn1cblxuLmZhLXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkoVcIjtcbn1cblxuLmZhLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KGXCI7XG59XG5cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ar1wiO1xufVxuXG4uZmEtcHJvY2VkdXJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Sh1wiO1xufVxuXG4uZmEtcHJvZHVjdC1odW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qIXCI7XG59XG5cbi5mYS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYJcIjtcbn1cblxuLmZhLXB1bXAtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BqlwiO1xufVxuXG4uZmEtcHVtcC1zb2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGrXCI7XG59XG5cbi5mYS1wdXNoZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6FcIjtcbn1cblxuLmZhLXB1enpsZS1waWVjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ErlwiO1xufVxuXG4uZmEtcHl0aG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+iXCI7XG59XG5cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HllwiO1xufVxuXG4uZmEtcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CpXCI7XG59XG5cbi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EqFwiO1xufVxuXG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GZXCI7XG59XG5cbi5mYS1xdWlkZGl0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZhcIjtcbn1cblxuLmZhLXF1aW5zY2FwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RmVwiO1xufVxuXG4uZmEtcXVvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4RcIjtcbn1cblxuLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhI1cIjtcbn1cblxuLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SOXCI7XG59XG5cbi5mYS1xdXJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ah1wiO1xufVxuXG4uZmEtci1wcm9qZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O3XCI7XG59XG5cbi5mYS1yYWRpYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrlcIjtcbn1cblxuLmZhLXJhZGlhdGlvbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrpcIjtcbn1cblxuLmZhLXJhaW5ib3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZtcIjtcbn1cblxuLmZhLXJhbmRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BtFwiO1xufVxuXG4uZmEtcmFzcGJlcnJ5LXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7567XCI7XG59XG5cbi5mYS1yYXZlbHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uZXCI7XG59XG5cbi5mYS1yZWFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Qm1wiO1xufVxuXG4uZmEtcmVhY3RldXJvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZ1cIjtcbn1cblxuLmZhLXJlYWRtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TlVwiO1xufVxuXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5BcIjtcbn1cblxuLmZhLXJlY2VpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYNcIjtcbn1cblxuLmZhLXJlY29yZC12aW55bDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+jmVwiO1xufVxuXG4uZmEtcmVjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GuFwiO1xufVxuXG4uZmEtcmVkLXJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+jXCI7XG59XG5cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqFcIjtcbn1cblxuLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KgVwiO1xufVxuXG4uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GolwiO1xufVxuXG4uZmEtcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7568XCI7XG59XG5cbi5mYS1yZWRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CeXCI7XG59XG5cbi5mYS1yZWRvLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LuVwiO1xufVxuXG4uZmEtcmVnaXN0ZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JnVwiO1xufVxuXG4uZmEtcmVtb3ZlLWZvcm1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hvVwiO1xufVxuXG4uZmEtcmVucmVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aLXCI7XG59XG5cbi5mYS1yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PpVwiO1xufVxuXG4uZmEtcmVwbHktYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SiXCI7XG59XG5cbi5mYS1yZXBseWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6ZcIjtcbn1cblxuLmZhLXJlcHVibGljYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZ5cIjtcbn1cblxuLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TuFwiO1xufVxuXG4uZmEtcmVzb2x2aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+nXCI7XG59XG5cbi5mYS1yZXN0cm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+evVwiO1xufVxuXG4uZmEtcmV0d2VldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BuVwiO1xufVxuXG4uZmEtcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ayXCI7XG59XG5cbi5mYS1yaWJib246YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5ZcIjtcbn1cblxuLmZhLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnItcIjtcbn1cblxuLmZhLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJhcIjtcbn1cblxuLmZhLXJvYm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WEXCI7XG59XG5cbi5mYS1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLVcIjtcbn1cblxuLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6hcIjtcbn1cblxuLmZhLXJvY2tybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6lcIjtcbn1cblxuLmZhLXJvdXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OXXCI7XG59XG5cbi5mYS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgp5cIjtcbn1cblxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYNcIjtcbn1cblxuLmZhLXJ1YmxlLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZhcIjtcbn1cblxuLmZhLXJ1bGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WFXCI7XG59XG5cbi5mYS1ydWxlci1jb21iaW5lZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VhlwiO1xufVxuXG4uZmEtcnVsZXItaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vh1wiO1xufVxuXG4uZmEtcnVsZXItdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYhcIjtcbn1cblxuLmZhLXJ1bm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnIxcIjtcbn1cblxuLmZhLXJ1cGVlLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZZcIjtcbn1cblxuLmZhLXJ1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbpcIjtcbn1cblxuLmZhLXNhZC1jcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrNcIjtcbn1cblxuLmZhLXNhZC10ZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a0XCI7XG59XG5cbi5mYS1zYWZhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLviadcIjtcbn1cblxuLmZhLXNhbGVzZm9yY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLtcIjtcbn1cblxuLmZhLXNhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJ5cIjtcbn1cblxuLmZhLXNhdGVsbGl0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ev1wiO1xufVxuXG4uZmEtc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4BcIjtcbn1cblxuLmZhLXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4dcIjtcbn1cblxuLmZhLXNjaGxpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PqlwiO1xufVxuXG4uZmEtc2Nob29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WJXCI7XG59XG5cbi5mYS1zY3Jld2RyaXZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VilwiO1xufVxuXG4uZmEtc2NyaWJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qKXCI7XG59XG5cbi5mYS1zY3JvbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnI5cIjtcbn1cblxuLmZhLXNkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4JcIjtcbn1cblxuLmZhLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AglwiO1xufVxuXG4uZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+aiFwiO1xufVxuXG4uZmEtc2VhcmNoLWxvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qJXCI7XG59XG5cbi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJBcIjtcbn1cblxuLmZhLXNlYXJjaC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74COXCI7XG59XG5cbi5mYS1zZWFyY2hlbmdpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pq1wiO1xufVxuXG4uZmEtc2VlZGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5hcIjtcbn1cblxuLmZhLXNlbGxjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uaXCI7XG59XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJNcIjtcbn1cblxuLmZhLXNlcnZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Is1wiO1xufVxuXG4uZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+sXCI7XG59XG5cbi5mYS1zaGFwZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmJ9cIjtcbn1cblxuLmZhLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GkXCI7XG59XG5cbi5mYS1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6BcIjtcbn1cblxuLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6FcIjtcbn1cblxuLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FjVwiO1xufVxuXG4uZmEtc2hla2VsLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLviItcIjtcbn1cblxuLmZhLXNoaWVsZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj61cIjtcbn1cblxuLmZhLXNoaWVsZC12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BrFwiO1xufVxuXG4uZmEtc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ImlwiO1xufVxuXG4uZmEtc2hpcHBpbmctZmFzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Si1wiO1xufVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iUXCI7XG59XG5cbi5mYS1zaG9lLXByaW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vi1wiO1xufVxuXG4uZmEtc2hvcGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bl1wiO1xufVxuXG4uZmEtc2hvcHBpbmctYmFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qQXCI7XG59XG5cbi5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipFcIjtcbn1cblxuLmZhLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbpcIjtcbn1cblxuLmZhLXNob3B3YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a1XCI7XG59XG5cbi5mYS1zaG93ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4xcIjtcbn1cblxuLmZhLXNodXR0bGUtdmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a2XCI7XG59XG5cbi5mYS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OZXCI7XG59XG5cbi5mYS1zaWduLWluLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LtlwiO1xufVxuXG4uZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Kp1wiO1xufVxuXG4uZmEtc2lnbi1vdXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74u1XCI7XG59XG5cbi5mYS1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJJcIjtcbn1cblxuLmZhLXNpZ25hdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wt1wiO1xufVxuXG4uZmEtc2ltLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4RcIjtcbn1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iVXCI7XG59XG5cbi5mYS1zaW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGtXCI7XG59XG5cbi5mYS1zaXN0cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+uXCI7XG59XG5cbi5mYS1zaXRlbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OoXCI7XG59XG5cbi5mYS1zaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SSXCI7XG59XG5cbi5mYS1za2F0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+FXCI7XG59XG5cbi5mYS1za2V0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4ZcIjtcbn1cblxuLmZhLXNraWluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fiVwiO1xufVxuXG4uZmEtc2tpaW5nLW5vcmRpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+filwiO1xufVxuXG4uZmEtc2t1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYxcIjtcbn1cblxuLmZhLXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnJRcIjtcbn1cblxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iWXCI7XG59XG5cbi5mYS1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FvlwiO1xufVxuXG4uZmEtc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhphcIjtcbn1cblxuLmZhLXNsYWNrLWhhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj69cIjtcbn1cblxuLmZhLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yVXCI7XG59XG5cbi5mYS1zbGVpZ2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4xcIjtcbn1cblxuLmZhLXNsaWRlcnMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HnlwiO1xufVxuXG4uZmEtc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hp1wiO1xufVxuXG4uZmEtc21pbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJhcIjtcbn1cblxuLmZhLXNtaWxlLWJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrhcIjtcbn1cblxuLmZhLXNtaWxlLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5pcIjtcbn1cblxuLmZhLXNtb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZ9cIjtcbn1cblxuLmZhLXNtb2tpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvko1cIjtcbn1cblxuLmZhLXNtb2tpbmctYmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WNXCI7XG59XG5cbi5mYS1zbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn41cIjtcbn1cblxuLmZhLXNuYXBjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qrXCI7XG59XG5cbi5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KrFwiO1xufVxuXG4uZmEtc25hcGNoYXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qtXCI7XG59XG5cbi5mYS1zbm93Ym9hcmRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn45cIjtcbn1cblxuLmZhLXNub3dmbGFrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LnFwiO1xufVxuXG4uZmEtc25vd21hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fkFwiO1xufVxuXG4uZmEtc25vd3Bsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn5JcIjtcbn1cblxuLmZhLXNvYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLuga5cIjtcbn1cblxuLmZhLXNvY2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qWXCI7XG59XG5cbi5mYS1zb2xhci1wYW5lbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WulwiO1xufVxuXG4uZmEtc29ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DnFwiO1xufVxuXG4uZmEtc29ydC1hbHBoYS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WdXCI7XG59XG5cbi5mYS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KBXCI7XG59XG5cbi5mYS1zb3J0LWFscGhhLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WeXCI7XG59XG5cbi5mYS1zb3J0LWFscGhhLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+iglwiO1xufVxuXG4uZmEtc29ydC1hbW91bnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FoFwiO1xufVxuXG4uZmEtc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvooRcIjtcbn1cblxuLmZhLXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WhXCI7XG59XG5cbi5mYS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvooVcIjtcbn1cblxuLmZhLXNvcnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DnVwiO1xufVxuXG4uZmEtc29ydC1udW1lcmljLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaJcIjtcbn1cblxuLmZhLXNvcnQtbnVtZXJpYy1kb3duLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ihlwiO1xufVxuXG4uZmEtc29ydC1udW1lcmljLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WjXCI7XG59XG5cbi5mYS1zb3J0LW51bWVyaWMtdXAtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KHXCI7XG59XG5cbi5mYS1zb3J0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OeXCI7XG59XG5cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a+XCI7XG59XG5cbi5mYS1zb3VyY2V0cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+TXCI7XG59XG5cbi5mYS1zcGE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrtcIjtcbn1cblxuLmZhLXNwYWNlLXNodXR0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpdcIjtcbn1cblxuLmZhLXNwZWFrYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj7NcIjtcbn1cblxuLmZhLXNwZWFrZXItZGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gvFwiO1xufVxuXG4uZmEtc3BlbGwtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvopFcIjtcbn1cblxuLmZhLXNwaWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cl1wiO1xufVxuXG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EkFwiO1xufVxuXG4uZmEtc3Bsb3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WvFwiO1xufVxuXG4uZmEtc3BvdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GvFwiO1xufVxuXG4uZmEtc3ByYXktY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a9XCI7XG59XG5cbi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4hcIjtcbn1cblxuLmZhLXNxdWFyZS1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GcXCI7XG59XG5cbi5mYS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmphcIjtcbn1cblxuLmZhLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a+XCI7XG59XG5cbi5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GjVwiO1xufVxuXG4uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaxcIjtcbn1cblxuLmZhLXN0YWNrcGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hglwiO1xufVxuXG4uZmEtc3RhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlr9cIjtcbn1cblxuLmZhLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIVcIjtcbn1cblxuLmZhLXN0YXItYW5kLWNyZXNjZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qZXCI7XG59XG5cbi5mYS1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgolcIjtcbn1cblxuLmZhLXN0YXItaGFsZi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4BcIjtcbn1cblxuLmZhLXN0YXItb2YtZGF2aWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmppcIjtcbn1cblxuLmZhLXN0YXItb2YtbGlmZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YoVwiO1xufVxuXG4uZmEtc3RheWxpbmtlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PtVwiO1xufVxuXG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrZcIjtcbn1cblxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gt1wiO1xufVxuXG4uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+2XCI7XG59XG5cbi5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GIXCI7XG59XG5cbi5mYS1zdGVwLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZFcIjtcbn1cblxuLmZhLXN0ZXRob3Njb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OxXCI7XG59XG5cbi5mYS1zdGlja2VyLW11bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj7dcIjtcbn1cblxuLmZhLXN0aWNreS1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mJXCI7XG59XG5cbi5mYS1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GNXCI7XG59XG5cbi5mYS1zdG9wLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KjVwiO1xufVxuXG4uZmEtc3RvcHdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uyXCI7XG59XG5cbi5mYS1zdG9wd2F0Y2gtMjA6YmVmb3JlIHtcbiAgY29udGVudDogXCLuga9cIjtcbn1cblxuLmZhLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WOXCI7XG59XG5cbi5mYS1zdG9yZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlY9cIjtcbn1cblxuLmZhLXN0b3JlLWFsdC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BsFwiO1xufVxuXG4uZmEtc3RvcmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbFcIjtcbn1cblxuLmZhLXN0cmF2YTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QqFwiO1xufVxuXG4uZmEtc3RyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WQXCI7XG59XG5cbi5mYS1zdHJlZXQtdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+InVwiO1xufVxuXG4uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DjFwiO1xufVxuXG4uZmEtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CpXCI7XG59XG5cbi5mYS1zdHJpcGUtczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QqlwiO1xufVxuXG4uZmEtc3Ryb29wd2FmZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZFcIjtcbn1cblxuLmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PuFwiO1xufVxuXG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqRcIjtcbn1cblxuLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Go1wiO1xufVxuXG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SsXCI7XG59XG5cbi5mYS1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLlcIjtcbn1cblxuLmZhLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OyXCI7XG59XG5cbi5mYS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eBXCI7XG59XG5cbi5mYS1zdW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoVcIjtcbn1cblxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74udXCI7XG59XG5cbi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eq1wiO1xufVxuXG4uZmEtc3VwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+5XCI7XG59XG5cbi5mYS1zdXJwcmlzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XglwiO1xufVxuXG4uZmEtc3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fllwiO1xufVxuXG4uZmEtc3dhdGNoYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Xg1wiO1xufVxuXG4uZmEtc3dpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo6FcIjtcbn1cblxuLmZhLXN3aW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4RcIjtcbn1cblxuLmZhLXN3aW1taW5nLXBvb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4VcIjtcbn1cblxuLmZhLXN5bWZvbnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoL1cIjtcbn1cblxuLmZhLXN5bmFnb2d1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+am1wiO1xufVxuXG4uZmEtc3luYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AoVwiO1xufVxuXG4uZmEtc3luYy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi7FcIjtcbn1cblxuLmZhLXN5cmluZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvko5cIjtcbn1cblxuLmZhLXRhYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OOXCI7XG59XG5cbi5mYS10YWJsZS10ZW5uaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZ1cIjtcbn1cblxuLmZhLXRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EilwiO1xufVxuXG4uZmEtdGFibGV0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PulwiO1xufVxuXG4uZmEtdGFibGV0czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SkFwiO1xufVxuXG4uZmEtdGFjaG9tZXRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj71cIjtcbn1cblxuLmZhLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Aq1wiO1xufVxuXG4uZmEtdGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ArFwiO1xufVxuXG4uZmEtdGFwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tm1wiO1xufVxuXG4uZmEtdGFza3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgq5cIjtcbn1cblxuLmZhLXRheGk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrpcIjtcbn1cblxuLmZhLXRlYW1zcGVhazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TuVwiO1xufVxuXG4uZmEtdGVldGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmK5cIjtcbn1cblxuLmZhLXRlZXRoLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvmK9cIjtcbn1cblxuLmZhLXRlbGVncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uGXCI7XG59XG5cbi5mYS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PvlwiO1xufVxuXG4uZmEtdGVtcGVyYXR1cmUtaGlnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dqVwiO1xufVxuXG4uZmEtdGVtcGVyYXR1cmUtbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752rXCI7XG59XG5cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eVXCI7XG59XG5cbi5mYS10ZW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fl1wiO1xufVxuXG4uZmEtdGVybWluYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKBcIjtcbn1cblxuLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C0XCI7XG59XG5cbi5mYS10ZXh0LXdpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C1XCI7XG59XG5cbi5mYS10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AilwiO1xufVxuXG4uZmEtdGgtbGFyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIlcIjtcbn1cblxuLmZhLXRoLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgItcIjtcbn1cblxuLmZhLXRoZS1yZWQteWV0aTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+anVwiO1xufVxuXG4uZmEtdGhlYXRlci1tYXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YsFwiO1xufVxuXG4uZmEtdGhlbWVjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XhlwiO1xufVxuXG4uZmEtdGhlbWVpc2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qyXCI7XG59XG5cbi5mYS10aGVybW9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SkVwiO1xufVxuXG4uZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4tcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4dcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4lcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4pcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uIXCI7XG59XG5cbi5mYS10aGluay1wZWFrczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+csVwiO1xufVxuXG4uZmEtdGh1bWJzLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaVcIjtcbn1cblxuLmZhLXRodW1icy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FpFwiO1xufVxuXG4uZmEtdGh1bWJ0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KNXCI7XG59XG5cbi5mYS10aWNrZXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+/XCI7XG59XG5cbi5mYS10aWt0b2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbtcIjtcbn1cblxuLmZhLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CNXCI7XG59XG5cbi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZdcIjtcbn1cblxuLmZhLXRpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYNcIjtcbn1cblxuLmZhLXRpbnQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4dcIjtcbn1cblxuLmZhLXRpcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eIXCI7XG59XG5cbi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iEXCI7XG59XG5cbi5mYS10b2dnbGUtb246YmVmb3JlIHtcbiAgY29udGVudDogXCLviIVcIjtcbn1cblxuLmZhLXRvaWxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fmFwiO1xufVxuXG4uZmEtdG9pbGV0LXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yeXCI7XG59XG5cbi5mYS10b2lsZXQtcGFwZXItc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbJcIjtcbn1cblxuLmZhLXRvb2xib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZJcIjtcbn1cblxuLmZhLXRvb2xzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+ZXCI7XG59XG5cbi5mYS10b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XiVwiO1xufVxuXG4uZmEtdG9yYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmqBcIjtcbn1cblxuLmZhLXRvcmlpLWdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmqFcIjtcbn1cblxuLmZhLXRyYWN0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnKJcIjtcbn1cblxuLmZhLXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJNcIjtcbn1cblxuLmZhLXRyYWRlbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JnFwiO1xufVxuXG4uZmEtdHJhZmZpYy1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Yt1wiO1xufVxuXG4uZmEtdHJhaWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BgVwiO1xufVxuXG4uZmEtdHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLviLhcIjtcbn1cblxuLmZhLXRyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvn5pcIjtcbn1cblxuLmZhLXRyYW5zZ2VuZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ikXCI7XG59XG5cbi5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKVcIjtcbn1cblxuLmZhLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e4XCI7XG59XG5cbi5mYS10cmFzaC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi61cIjtcbn1cblxuLmZhLXRyYXNoLXJlc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoKlcIjtcbn1cblxuLmZhLXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CqXCI7XG59XG5cbi5mYS10cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a7XCI7XG59XG5cbi5mYS10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoFcIjtcbn1cblxuLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74miXCI7XG59XG5cbi5mYS10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpFcIjtcbn1cblxuLmZhLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ORXCI7XG59XG5cbi5mYS10cnVjay1sb2FkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OeXCI7XG59XG5cbi5mYS10cnVjay1tb25zdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75i7XCI7XG59XG5cbi5mYS10cnVjay1tb3Zpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk59cIjtcbn1cblxuLmZhLXRydWNrLXBpY2t1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YvFwiO1xufVxuXG4uZmEtdHNoaXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WTXCI7XG59XG5cbi5mYS10dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6RcIjtcbn1cblxuLmZhLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fs1wiO1xufVxuXG4uZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FtFwiO1xufVxuXG4uZmEtdHY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviaxcIjtcbn1cblxuLmZhLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HqFwiO1xufVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmVwiO1xufVxuXG4uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoFcIjtcbn1cblxuLmZhLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CrXCI7XG59XG5cbi5mYS11YmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CCXCI7XG59XG5cbi5mYS11YnVudHU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn59cIjtcbn1cblxuLmZhLXVpa2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CDXCI7XG59XG5cbi5mYS11bWJyYWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76OoXCI7XG59XG5cbi5mYS11bWJyZWxsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DqVwiO1xufVxuXG4uZmEtdW1icmVsbGEtYmVhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4pcIjtcbn1cblxuLmZhLXVuY2hhcnRlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ChFwiO1xufVxuXG4uZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ONXCI7XG59XG5cbi5mYS11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OiXCI7XG59XG5cbi5mYS11bmRvLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LqlwiO1xufVxuXG4uZmEtdW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIRcIjtcbn1cblxuLmZhLXVuaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGJXCI7XG59XG5cbi5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qaXCI7XG59XG5cbi5mYS11bml2ZXJzaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74acXCI7XG59XG5cbi5mYS11bmxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKdcIjtcbn1cblxuLmZhLXVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CnFwiO1xufVxuXG4uZmEtdW5sb2NrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EvlwiO1xufVxuXG4uZmEtdW5zcGxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbxcIjtcbn1cblxuLmZhLXVudGFwcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIVcIjtcbn1cblxuLmZhLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ck1wiO1xufVxuXG4uZmEtdXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+gXCI7XG59XG5cbi5mYS11c2I6YmVmb3JlIHtcbiAgY29udGVudDogXCLviodcIjtcbn1cblxuLmZhLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIdcIjtcbn1cblxuLmZhLXVzZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CGXCI7XG59XG5cbi5mYS11c2VyLWFsdC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TulwiO1xufVxuXG4uZmEtdXNlci1hc3Ryb25hdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7tcIjtcbn1cblxuLmZhLXVzZXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7xcIjtcbn1cblxuLmZhLXVzZXItY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q9XCI7XG59XG5cbi5mYS11c2VyLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O9XCI7XG59XG5cbi5mYS11c2VyLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TvlwiO1xufVxuXG4uZmEtdXNlci1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O/XCI7XG59XG5cbi5mYS11c2VyLWZyaWVuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIBcIjtcbn1cblxuLmZhLXVzZXItZ3JhZHVhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIFcIjtcbn1cblxuLmZhLXVzZXItaW5qdXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cqFwiO1xufVxuXG4uZmEtdXNlci1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SCXCI7XG59XG5cbi5mYS11c2VyLW1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OwXCI7XG59XG5cbi5mYS11c2VyLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SDXCI7XG59XG5cbi5mYS11c2VyLW5pbmphOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SEXCI7XG59XG5cbi5mYS11c2VyLW51cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CvXCI7XG59XG5cbi5mYS11c2VyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLRcIjtcbn1cblxuLmZhLXVzZXItc2VjcmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ibXCI7XG59XG5cbi5mYS11c2VyLXNoaWVsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UhVwiO1xufVxuXG4uZmEtdXNlci1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UhlwiO1xufVxuXG4uZmEtdXNlci10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIdcIjtcbn1cblxuLmZhLXVzZXItdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SIXCI7XG59XG5cbi5mYS11c2VyLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i1XCI7XG59XG5cbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DgFwiO1xufVxuXG4uZmEtdXNlcnMtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SJXCI7XG59XG5cbi5mYS11c2Vycy1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bs1wiO1xufVxuXG4uZmEtdXNwczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+foVwiO1xufVxuXG4uZmEtdXNzdW5uYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIdcIjtcbn1cblxuLmZhLXV0ZW5zaWwtc3Bvb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvi6VcIjtcbn1cblxuLmZhLXV0ZW5zaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74unXCI7XG59XG5cbi5mYS12YWFkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIhcIjtcbn1cblxuLmZhLXZlY3Rvci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4tcIjtcbn1cblxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ihXCI7XG59XG5cbi5mYS12ZW51cy1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKZcIjtcbn1cblxuLmZhLXZlbnVzLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKhcIjtcbn1cblxuLmZhLXZlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLugoVcIjtcbn1cblxuLmZhLXZlc3QtcGF0Y2hlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ChlwiO1xufVxuXG4uZmEtdmlhY29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+It1wiO1xufVxuXG4uZmEtdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qpXCI7XG59XG5cbi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qqXCI7XG59XG5cbi5mYS12aWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KSXCI7XG59XG5cbi5mYS12aWFsczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Sk1wiO1xufVxuXG4uZmEtdmliZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIlcIjtcbn1cblxuLmZhLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C9XCI7XG59XG5cbi5mYS12aWRlby1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TolwiO1xufVxuXG4uZmEtdmloYXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qnXCI7XG59XG5cbi5mYS12aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QilwiO1xufVxuXG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aUXCI7XG59XG5cbi5mYS12aW1lby12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m9XCI7XG59XG5cbi5mYS12aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eKXCI7XG59XG5cbi5mYS12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BtFwiO1xufVxuXG4uZmEtdmlydXMtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbVcIjtcbn1cblxuLmZhLXZpcnVzZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbZcIjtcbn1cblxuLmZhLXZrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aJXCI7XG59XG5cbi5mYS12bnY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkItcIjtcbn1cblxuLmZhLXZvaWNlbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+il1wiO1xufVxuXG4uZmEtdm9sbGV5YmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GfXCI7XG59XG5cbi5mYS12b2x1bWUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ap1wiO1xufVxuXG4uZmEtdm9sdW1lLW11dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmqlcIjtcbn1cblxuLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKZcIjtcbn1cblxuLmZhLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AqFwiO1xufVxuXG4uZmEtdm90ZS15ZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnbJcIjtcbn1cblxuLmZhLXZyLWNhcmRib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cqVwiO1xufVxuXG4uZmEtdnVlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJ9cIjtcbn1cblxuLmZhLXdhbGtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZRcIjtcbn1cblxuLmZhLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VlVwiO1xufVxuXG4uZmEtd2FyZWhvdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KUXCI7XG59XG5cbi5mYS13YXRjaG1hbi1tb25pdG9yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKHXCI7XG59XG5cbi5mYS13YXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ds1wiO1xufVxuXG4uZmEtd2F2ZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoL5cIjtcbn1cblxuLmZhLXdhemU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoL9cIjtcbn1cblxuLmZhLXdlZWJseTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XjFwiO1xufVxuXG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhopcIjtcbn1cblxuLmZhLXdlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SllwiO1xufVxuXG4uZmEtd2VpZ2h0LWhhbmdpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl41cIjtcbn1cblxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hl1wiO1xufVxuXG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLJcIjtcbn1cblxuLmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QjFwiO1xufVxuXG4uZmEtd2hlZWxjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gk1wiO1xufVxuXG4uZmEtd2htY3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkI1cIjtcbn1cblxuLmZhLXdpZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6tcIjtcbn1cblxuLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mmXCI7XG59XG5cbi5mYS13aW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yuXCI7XG59XG5cbi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJBcIjtcbn1cblxuLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LkFwiO1xufVxuXG4uZmEtd2luZG93LW1pbmltaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uRXCI7XG59XG5cbi5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LklwiO1xufVxuXG4uZmEtd2luZG93czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FulwiO1xufVxuXG4uZmEtd2luZS1ib3R0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnK9cIjtcbn1cblxuLmZhLXdpbmUtZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk6NcIjtcbn1cblxuLmZhLXdpbmUtZ2xhc3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eOXCI7XG59XG5cbi5mYS13aXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl49cIjtcbn1cblxuLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ywXCI7XG59XG5cbi5mYS13b2R1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKIXCI7XG59XG5cbi5mYS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SUXCI7XG59XG5cbi5mYS13b24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FmVwiO1xufVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aaXCI7XG59XG5cbi5mYS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CRXCI7XG59XG5cbi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qXXCI7XG59XG5cbi5mYS13cGV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ueXCI7XG59XG5cbi5mYS13cGZvcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qYXCI7XG59XG5cbi5mYS13cHJlc3NyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+kXCI7XG59XG5cbi5mYS13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgq1cIjtcbn1cblxuLmZhLXgtcmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KXXCI7XG59XG5cbi5mYS14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CSXCI7XG59XG5cbi5mYS14aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WoXCI7XG59XG5cbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FqVwiO1xufVxuXG4uZmEteS1jb21iaW5hdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i7XCI7XG59XG5cbi5mYS15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GnlwiO1xufVxuXG4uZmEteWFtbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76GAXCI7XG59XG5cbi5mYS15YW5kZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJNcIjtcbn1cblxuLmZhLXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CUXCI7XG59XG5cbi5mYS15YXJuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+jXCI7XG59XG5cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74epXCI7XG59XG5cbi5mYS15ZW4tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fl1wiO1xufVxuXG4uZmEteWluLXlhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmq1cIjtcbn1cblxuLmZhLXlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qxXCI7XG59XG5cbi5mYS15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WnXCI7XG59XG5cbi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QsVwiO1xufVxuXG4uZmEtemhpaHU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmL9cIjtcbn1cblxuLnNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLmZhciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLmZhLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBCcmFuZHNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZVwiKSBmb3JtYXQoXCJzdmdcIik7XG59XG4uZmFiIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgQnJhbmRzXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbiNicmVhZGNydW1icyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG59XG5cbi5hbGVydC5oZWFkZXItbWVzc2FnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbi5mYSxcbi5mYXMsXG4uZmFyLFxuLmZhbCxcbi5mYWQsXG4uZmFiIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmEtbGcge1xuICBmb250LXNpemU6IDEuMzMzMzMzMzMzM2VtO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMDY2N2VtO1xufVxuXG4uZmEteHMge1xuICBmb250LXNpemU6IDAuNzVlbTtcbn1cblxuLmZhLXNtIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG4uZmEtMXgge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmZhLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi5mYS0zeCB7XG4gIGZvbnQtc2l6ZTogM2VtO1xufVxuXG4uZmEtNHgge1xuICBmb250LXNpemU6IDRlbTtcbn1cblxuLmZhLTV4IHtcbiAgZm9udC1zaXplOiA1ZW07XG59XG5cbi5mYS02eCB7XG4gIGZvbnQtc2l6ZTogNmVtO1xufVxuXG4uZmEtN3gge1xuICBmb250LXNpemU6IDdlbTtcbn1cblxuLmZhLTh4IHtcbiAgZm9udC1zaXplOiA4ZW07XG59XG5cbi5mYS05eCB7XG4gIGZvbnQtc2l6ZTogOWVtO1xufVxuXG4uZmEtMTB4IHtcbiAgZm9udC1zaXplOiAxMGVtO1xufVxuXG4uZmEtZncge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxLjI1ZW07XG59XG5cbi5mYS11bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDIuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4uZmEtdWwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZhLWxpIHtcbiAgbGVmdDogLTJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uZmEtYm9yZGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xZW07XG4gIHBhZGRpbmc6IDAuMmVtIDAuMjVlbSAwLjE1ZW07XG59XG5cbi5mYS1wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZhLXB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5mYS5mYS1wdWxsLWxlZnQsXG4uZmFzLmZhLXB1bGwtbGVmdCxcbi5mYXIuZmEtcHVsbC1sZWZ0LFxuLmZhbC5mYS1wdWxsLWxlZnQsXG4uZmFiLmZhLXB1bGwtbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogMC4zZW07XG59XG4uZmEuZmEtcHVsbC1yaWdodCxcbi5mYXMuZmEtcHVsbC1yaWdodCxcbi5mYXIuZmEtcHVsbC1yaWdodCxcbi5mYWwuZmEtcHVsbC1yaWdodCxcbi5mYWIuZmEtcHVsbC1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cblxuLmZhLXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uZmEtcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4uZmEtcm90YXRlLTkwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5mYS1yb3RhdGUtMTgwIHtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uZmEtcm90YXRlLTI3MCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MylcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cblxuLmZhLWZsaXAtaG9yaXpvbnRhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuXG4uZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuXG4uZmEtZmxpcC1ib3RoLCAuZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWwge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKVwiO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XG59XG5cbjpyb290IC5mYS1yb3RhdGUtOTAsXG46cm9vdCAuZmEtcm90YXRlLTE4MCxcbjpyb290IC5mYS1yb3RhdGUtMjcwLFxuOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC5mYS1mbGlwLXZlcnRpY2FsLFxuOnJvb3QgLmZhLWZsaXAtYm90aCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuLmZhLXN0YWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMi41ZW07XG59XG5cbi5mYS1zdGFjay0xeCxcbi5mYS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZhLXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5mYS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uZmEtaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbnJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG4uZmEtNTAwcHg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvia5cIjtcbn1cblxuLmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NqFwiO1xufVxuXG4uZmEtYWNjdXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjalcIjtcbn1cblxuLmZhLWFjcXVpc2l0aW9ucy1pbmNvcnBvcmF0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmq9cIjtcbn1cblxuLmZhLWFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mBXCI7XG59XG5cbi5mYS1hZGRyZXNzLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirlcIjtcbn1cblxuLmZhLWFkZHJlc3MtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ku1wiO1xufVxuXG4uZmEtYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GCXCI7XG59XG5cbi5mYS1hZG46YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbBcIjtcbn1cblxuLmZhLWFkdmVyc2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742qXCI7XG59XG5cbi5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Nq1wiO1xufVxuXG4uZmEtYWlyLWZyZXNoZW5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XkFwiO1xufVxuXG4uZmEtYWlyYm5iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C0XCI7XG59XG5cbi5mYS1hbGdvbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742sXCI7XG59XG5cbi5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLdcIjtcbn1cblxuLmZhLWFsaWduLWp1c3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLlcIjtcbn1cblxuLmZhLWFsaWduLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLZcIjtcbn1cblxuLmZhLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C4XCI7XG59XG5cbi5mYS1hbGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmYJcIjtcbn1cblxuLmZhLWFsbGVyZ2llczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RoVwiO1xufVxuXG4uZmEtYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mwXCI7XG59XG5cbi5mYS1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CsXCI7XG59XG5cbi5mYS1hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg7lcIjtcbn1cblxuLmZhLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qjXCI7XG59XG5cbi5mYS1hbWlsaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvja1cIjtcbn1cblxuLmZhLWFuY2hvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EvVwiO1xufVxuXG4uZmEtYW5kcm9pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fu1wiO1xufVxuXG4uZmEtYW5nZWxsaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iJXCI7XG59XG5cbi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eg1wiO1xufVxuXG4uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIBcIjtcbn1cblxuLmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EgVwiO1xufVxuXG4uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SCXCI7XG59XG5cbi5mYS1hbmdsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SHXCI7XG59XG5cbi5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SEXCI7XG59XG5cbi5mYS1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EhVwiO1xufVxuXG4uZmEtYW5nbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIZcIjtcbn1cblxuLmZhLWFuZ3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WWXCI7XG59XG5cbi5mYS1hbmdyeWNyZWF0aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742uXCI7XG59XG5cbi5mYS1hbmd1bGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CgXCI7XG59XG5cbi5mYS1hbmtoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mEXCI7XG59XG5cbi5mYS1hcHAtc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvja9cIjtcbn1cblxuLmZhLWFwcC1zdG9yZS1pb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjbBcIjtcbn1cblxuLmZhLWFwcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742xXCI7XG59XG5cbi5mYS1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FuVwiO1xufVxuXG4uZmEtYXBwbGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eRXCI7XG59XG5cbi5mYS1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJVcIjtcbn1cblxuLmZhLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhodcIjtcbn1cblxuLmZhLWFyY2h3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZdcIjtcbn1cblxuLmZhLWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NmFwiO1xufVxuXG4uZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742ZXCI7XG59XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742aXCI7XG59XG5cbi5mYS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742bXCI7XG59XG5cbi5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Cq1wiO1xufVxuXG4uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqhcIjtcbn1cblxuLmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CqVwiO1xufVxuXG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KqXCI7XG59XG5cbi5mYS1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GjXCI7XG59XG5cbi5mYS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GgXCI7XG59XG5cbi5mYS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BoVwiO1xufVxuXG4uZmEtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaJcIjtcbn1cblxuLmZhLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgrJcIjtcbn1cblxuLmZhLWFycm93cy1hbHQtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Mt1wiO1xufVxuXG4uZmEtYXJyb3dzLWFsdC12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74y4XCI7XG59XG5cbi5mYS1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7526XCI7XG59XG5cbi5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqJcIjtcbn1cblxuLmZhLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GpXCI7XG59XG5cbi5mYS1hc3ltbWV0cmlrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742yXCI7XG59XG5cbi5mYS1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HulwiO1xufVxuXG4uZmEtYXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZhcIjtcbn1cblxuLmZhLWF0bGFzc2lhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+du1wiO1xufVxuXG4uZmEtYXRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XklwiO1xufVxuXG4uZmEtYXVkaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ns1wiO1xufVxuXG4uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvip5cIjtcbn1cblxuLmZhLWF1dG9wcmVmaXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QnFwiO1xufVxuXG4uZmEtYXZpYW5leDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NtFwiO1xufVxuXG4uZmEtYXZpYXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ChXCI7XG59XG5cbi5mYS1hd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VmVwiO1xufVxuXG4uZmEtYXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7421XCI7XG59XG5cbi5mYS1iYWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7528XCI7XG59XG5cbi5mYS1iYWJ5LWNhcnJpYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7529XCI7XG59XG5cbi5mYS1iYWNrc3BhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZpcIjtcbn1cblxuLmZhLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GKXCI7XG59XG5cbi5mYS1iYWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fpVwiO1xufVxuXG4uZmEtYmFjdGVyaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZlcIjtcbn1cblxuLmZhLWJhY3Rlcml1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BmlwiO1xufVxuXG4uZmEtYmFoYWk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmaZcIjtcbn1cblxuLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviY5cIjtcbn1cblxuLmZhLWJhbGFuY2Utc2NhbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UlVwiO1xufVxuXG4uZmEtYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UllwiO1xufVxuXG4uZmEtYmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GeXCI7XG59XG5cbi5mYS1iYW5kLWFpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RolwiO1xufVxuXG4uZmEtYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5VcIjtcbn1cblxuLmZhLWJhcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKpcIjtcbn1cblxuLmZhLWJhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4lcIjtcbn1cblxuLmZhLWJhc2ViYWxsLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLNcIjtcbn1cblxuLmZhLWJhc2tldGJhbGwtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QtFwiO1xufVxuXG4uZmEtYmF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LjVwiO1xufVxuXG4uZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JhFwiO1xufVxuXG4uZmEtYmF0dGVyeS1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mAXCI7XG59XG5cbi5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYJcIjtcbn1cblxuLmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Jg1wiO1xufVxuXG4uZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JgVwiO1xufVxuXG4uZmEtYmF0dGxlLW5ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gtVwiO1xufVxuXG4uZmEtYmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i2XCI7XG59XG5cbi5mYS1iZWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O8XCI7XG59XG5cbi5mYS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a0XCI7XG59XG5cbi5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GtVwiO1xufVxuXG4uZmEtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ds1wiO1xufVxuXG4uZmEtYmVsbC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HtlwiO1xufVxuXG4uZmEtYmV6aWVyLWN1cnZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WbXCI7XG59XG5cbi5mYS1iaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zh1wiO1xufVxuXG4uZmEtYmljeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IhlwiO1xufVxuXG4uZmEtYmlraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76GKXCI7XG59XG5cbi5mYS1iaW1vYmplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjbhcIjtcbn1cblxuLmZhLWJpbm9jdWxhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6VcIjtcbn1cblxuLmZhLWJpb2hhemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+egFwiO1xufVxuXG4uZmEtYmlydGhkYXktY2FrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HvVwiO1xufVxuXG4uZmEtYml0YnVja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WxXCI7XG59XG5cbi5mYS1iaXRjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7425XCI7XG59XG5cbi5mYS1iaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7426XCI7XG59XG5cbi5mYS1ibGFjay10aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvib5cIjtcbn1cblxuLmZhLWJsYWNrYmVycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjbtcIjtcbn1cblxuLmZhLWJsZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJdcIjtcbn1cblxuLmZhLWJsZW5kZXItcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmrZcIjtcbn1cblxuLmZhLWJsaW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qdXCI7XG59XG5cbi5mYS1ibG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756BXCI7XG59XG5cbi5mYS1ibG9nZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7428XCI7XG59XG5cbi5mYS1ibG9nZ2VyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjb1cIjtcbn1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Kk1wiO1xufVxuXG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipRcIjtcbn1cblxuLmZhLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLJcIjtcbn1cblxuLmZhLWJvbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6dcIjtcbn1cblxuLmZhLWJvbWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6JcIjtcbn1cblxuLmZhLWJvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl5dcIjtcbn1cblxuLmZhLWJvbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZxcIjtcbn1cblxuLmZhLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgK1cIjtcbn1cblxuLmZhLWJvb2stZGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+at1wiO1xufVxuXG4uZmEtYm9vay1tZWRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+mXCI7XG59XG5cbi5mYS1ib29rLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJhcIjtcbn1cblxuLmZhLWJvb2stcmVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eaXCI7XG59XG5cbi5mYS1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ArlwiO1xufVxuXG4uZmEtYm9vdHN0cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C2XCI7XG59XG5cbi5mYS1ib3JkZXItYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76GMXCI7XG59XG5cbi5mYS1ib3JkZXItbm9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hkFwiO1xufVxuXG4uZmEtYm9yZGVyLXN0eWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76GTXCI7XG59XG5cbi5mYS1ib3dsaW5nLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLZcIjtcbn1cblxuLmZhLWJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RplwiO1xufVxuXG4uZmEtYm94LW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvkp5cIjtcbn1cblxuLmZhLWJveC10aXNzdWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZtcIjtcbn1cblxuLmZhLWJveGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GoXCI7XG59XG5cbi5mYS1icmFpbGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qhXCI7XG59XG5cbi5mYS1icmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XnFwiO1xufVxuXG4uZmEtYnJlYWQtc2xpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn6xcIjtcbn1cblxuLmZhLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CsVwiO1xufVxuXG4uZmEtYnJpZWZjYXNlLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkalcIjtcbn1cblxuLmZhLWJyb2FkY2FzdC10b3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UmVwiO1xufVxuXG4uZmEtYnJvb206YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJpcIjtcbn1cblxuLmZhLWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WdXCI7XG59XG5cbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZpcIjtcbn1cblxuLmZhLWJ1ZmZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gt1wiO1xufVxuXG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aIXCI7XG59XG5cbi5mYS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GrVwiO1xufVxuXG4uZmEtYnVsbGhvcm46YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqFcIjtcbn1cblxuLmZhLWJ1bGxzZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WAXCI7XG59XG5cbi5mYS1idXJuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GqXCI7XG59XG5cbi5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi742/XCI7XG59XG5cbi5mYS1idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviIdcIjtcbn1cblxuLmZhLWJ1cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZ5cIjtcbn1cblxuLmZhLWJ1c2luZXNzLXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmYpcIjtcbn1cblxuLmZhLWJ1eS1uLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KmXCI7XG59XG5cbi5mYS1idXlzZWxsYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iNXCI7XG59XG5cbi5mYS1jYWxjdWxhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74esXCI7XG59XG5cbi5mYS1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Es1wiO1xufVxuXG4uZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GzXCI7XG59XG5cbi5mYS1jYWxlbmRhci1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JtFwiO1xufVxuXG4uZmEtY2FsZW5kYXItZGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756DXCI7XG59XG5cbi5mYS1jYWxlbmRhci1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JslwiO1xufVxuXG4uZmEtY2FsZW5kYXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JsVwiO1xufVxuXG4uZmEtY2FsZW5kYXItdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibNcIjtcbn1cblxuLmZhLWNhbGVuZGFyLXdlZWs6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnoRcIjtcbn1cblxuLmZhLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AsFwiO1xufVxuXG4uZmEtY2FtZXJhLXJldHJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KDXCI7XG59XG5cbi5mYS1jYW1wZ3JvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75q7XCI7XG59XG5cbi5mYS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756FXCI7XG59XG5cbi5mYS1jYW5keS1jYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756GXCI7XG59XG5cbi5mYS1jYW5uYWJpczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vn1wiO1xufVxuXG4uZmEtY2Fwc3VsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkatcIjtcbn1cblxuLmZhLWNhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GuVwiO1xufVxuXG4uZmEtY2FyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XnlwiO1xufVxuXG4uZmEtY2FyLWJhdHRlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl59cIjtcbn1cblxuLmZhLWNhci1jcmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XoVwiO1xufVxuXG4uZmEtY2FyLXNpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl6RcIjtcbn1cblxuLmZhLWNhcmF2YW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvo79cIjtcbn1cblxuLmZhLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5dcIjtcbn1cblxuLmZhLWNhcmV0LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5lcIjtcbn1cblxuLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OaXCI7XG59XG5cbi5mYS1jYXJldC1zcXVhcmUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FkFwiO1xufVxuXG4uZmEtY2FyZXQtc3F1YXJlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpFcIjtcbn1cblxuLmZhLWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FklwiO1xufVxuXG4uZmEtY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WRXCI7XG59XG5cbi5mYS1jYXJldC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DmFwiO1xufVxuXG4uZmEtY2Fycm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756HXCI7XG59XG5cbi5mYS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLviJhcIjtcbn1cblxuLmZhLWNhcnQtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Il1wiO1xufVxuXG4uZmEtY2FzaC1yZWdpc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eiFwiO1xufVxuXG4uZmEtY2F0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75q+XCI7XG59XG5cbi5mYS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CtXCI7XG59XG5cbi5mYS1jYy1hbWV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ezXCI7XG59XG5cbi5mYS1jYy1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJZcIjtcbn1cblxuLmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mMXCI7XG59XG5cbi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HslwiO1xufVxuXG4uZmEtY2MtamNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mLXCI7XG59XG5cbi5mYS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74exXCI7XG59XG5cbi5mYS1jYy1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh7RcIjtcbn1cblxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HtVwiO1xufVxuXG4uZmEtY2MtdmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HsFwiO1xufVxuXG4uZmEtY2VudGVyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OgFwiO1xufVxuXG4uZmEtY2VudG9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756JXCI7XG59XG5cbi5mYS1jZXJ0aWZpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Co1wiO1xufVxuXG4uZmEtY2hhaXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm4BcIjtcbn1cblxuLmZhLWNoYWxrYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJtcIjtcbn1cblxuLmZhLWNoYWxrYm9hcmQtdGVhY2hlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UnFwiO1xufVxuXG4uZmEtY2hhcmdpbmctc3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Xp1wiO1xufVxuXG4uZmEtY2hhcnQtYXJlYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HvlwiO1xufVxuXG4uZmEtY2hhcnQtYmFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KAXCI7XG59XG5cbi5mYS1jaGFydC1saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iBXCI7XG59XG5cbi5mYS1jaGFydC1waWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviIBcIjtcbn1cblxuLmZhLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CMXCI7XG59XG5cbi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZhcIjtcbn1cblxuLmZhLWNoZWNrLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VoFwiO1xufVxuXG4uZmEtY2hlY2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WKXCI7XG59XG5cbi5mYS1jaGVlc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn69cIjtcbn1cblxuLmZhLWNoZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75C5XCI7XG59XG5cbi5mYS1jaGVzcy1iaXNob3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLpcIjtcbn1cblxuLmZhLWNoZXNzLWJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75C8XCI7XG59XG5cbi5mYS1jaGVzcy1raW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75C/XCI7XG59XG5cbi5mYS1jaGVzcy1rbmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkYFcIjtcbn1cblxuLmZhLWNoZXNzLXBhd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvkYNcIjtcbn1cblxuLmZhLWNoZXNzLXF1ZWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GFXCI7XG59XG5cbi5mYS1jaGVzcy1yb29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GHXCI7XG59XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S6XCI7XG59XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S3XCI7XG59XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EuFwiO1xufVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLlcIjtcbn1cblxuLmZhLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BuFwiO1xufVxuXG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GTXCI7XG59XG5cbi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GUXCI7XG59XG5cbi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74G3XCI7XG59XG5cbi5mYS1jaGlsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GrlwiO1xufVxuXG4uZmEtY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74moXCI7XG59XG5cbi5mYS1jaHJvbWVjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76C4XCI7XG59XG5cbi5mYS1jaHVyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJ1cIjtcbn1cblxuLmZhLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EkVwiO1xufVxuXG4uZmEtY2lyY2xlLW5vdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eOXCI7XG59XG5cbi5mYS1jaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mPXCI7XG59XG5cbi5mYS1jbGluaWMtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fslwiO1xufVxuXG4uZmEtY2xpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yoXCI7XG59XG5cbi5mYS1jbGlwYm9hcmQtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkaxcIjtcbn1cblxuLmZhLWNsaXBib2FyZC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GtXCI7XG59XG5cbi5mYS1jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Al1wiO1xufVxuXG4uZmEtY2xvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviY1cIjtcbn1cblxuLmZhLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iKXCI7XG59XG5cbi5mYS1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DglwiO1xufVxuXG4uZmEtY2xvdWQtZG93bmxvYWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746BXCI7XG59XG5cbi5mYS1jbG91ZC1tZWF0YmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cu1wiO1xufVxuXG4uZmEtY2xvdWQtbW9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bg1wiO1xufVxuXG4uZmEtY2xvdWQtbW9vbi1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75y8XCI7XG59XG5cbi5mYS1jbG91ZC1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75y9XCI7XG59XG5cbi5mYS1jbG91ZC1zaG93ZXJzLWhlYXZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752AXCI7XG59XG5cbi5mYS1jbG91ZC1zdW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvm4RcIjtcbn1cblxuLmZhLWNsb3VkLXN1bi1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752DXCI7XG59XG5cbi5mYS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746CXCI7XG59XG5cbi5mYS1jbG91ZGZsYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG9XCI7XG59XG5cbi5mYS1jbG91ZHNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746DXCI7XG59XG5cbi5mYS1jbG91ZHNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746EXCI7XG59XG5cbi5mYS1jbG91ZHZlcnNpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjoVcIjtcbn1cblxuLmZhLWNvY2t0YWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WhXCI7XG59XG5cbi5mYS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ShXCI7XG59XG5cbi5mYS1jb2RlLWJyYW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EplwiO1xufVxuXG4uZmEtY29kZXBlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hi1wiO1xufVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioRcIjtcbn1cblxuLmZhLWNvZmZlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DtFwiO1xufVxuXG4uZmEtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CTXCI7XG59XG5cbi5mYS1jb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KFXCI7XG59XG5cbi5mYS1jb2luczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UnlwiO1xufVxuXG4uZmEtY29sdW1uczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dm1wiO1xufVxuXG4uZmEtY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BtVwiO1xufVxuXG4uZmEtY29tbWVudC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibpcIjtcbn1cblxuLmZhLWNvbW1lbnQtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mRXCI7XG59XG5cbi5mYS1jb21tZW50LWRvdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkq1cIjtcbn1cblxuLmZhLWNvbW1lbnQtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ftVwiO1xufVxuXG4uZmEtY29tbWVudC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ss1wiO1xufVxuXG4uZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoZcIjtcbn1cblxuLmZhLWNvbW1lbnRzLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zk1wiO1xufVxuXG4uZmEtY29tcGFjdC1kaXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SfXCI7XG59XG5cbi5mYS1jb21wYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WOXCI7XG59XG5cbi5mYS1jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BplwiO1xufVxuXG4uZmEtY29tcHJlc3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CiXCI7XG59XG5cbi5mYS1jb21wcmVzcy1hcnJvd3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756MXCI7XG59XG5cbi5mYS1jb25jaWVyZ2UtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VolwiO1xufVxuXG4uZmEtY29uZmx1ZW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ejVwiO1xufVxuXG4uZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLviI5cIjtcbn1cblxuLmZhLWNvbnRhbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JrVwiO1xufVxuXG4uZmEtY29va2llOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WjXCI7XG59XG5cbi5mYS1jb29raWUtYml0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VpFwiO1xufVxuXG4uZmEtY29weTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DhVwiO1xufVxuXG4uZmEtY29weXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e5XCI7XG59XG5cbi5mYS1jb3R0b24tYnVyZWF1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KeXCI7XG59XG5cbi5mYS1jb3VjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SuFwiO1xufVxuXG4uZmEtY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746IXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74meXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OnXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OoXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OpXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OqXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OrXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OsXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TrVwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TrlwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tr1wiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TsFwiO1xufVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OxXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OyXCI7XG59XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXplcm86YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7NcIjtcbn1cblxuLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KdXCI7XG59XG5cbi5mYS1jcml0aWNhbC1yb2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uJXCI7XG59XG5cbi5mYS1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SlXCI7XG59XG5cbi5mYS1jcm9wLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VpVwiO1xufVxuXG4uZmEtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmZRcIjtcbn1cblxuLmZhLWNyb3NzaGFpcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZtcIjtcbn1cblxuLmZhLWNyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKBcIjtcbn1cblxuLmZhLWNyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ShXCI7XG59XG5cbi5mYS1jcnV0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn7dcIjtcbn1cblxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLxcIjtcbn1cblxuLmZhLWNzczMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746LXCI7XG59XG5cbi5mYS1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ayXCI7XG59XG5cbi5mYS1jdWJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gs1wiO1xufVxuXG4uZmEtY3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OEXCI7XG59XG5cbi5mYS1jdXR0bGVmaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746MXCI7XG59XG5cbi5mYS1kLWFuZC1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746NXCI7XG59XG5cbi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bilwiO1xufVxuXG4uZmEtZGFpbHltb3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLugZJcIjtcbn1cblxuLmZhLWRhc2hjdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iQXCI7XG59XG5cbi5mYS1kYXRhYmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HgFwiO1xufVxuXG4uZmEtZGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KpFwiO1xufVxuXG4uZmEtZGVlemVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG3XCI7XG59XG5cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqVcIjtcbn1cblxuLmZhLWRlbW9jcmF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752HXCI7XG59XG5cbi5mYS1kZXBsb3lkb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjo5cIjtcbn1cblxuLmZhLWRlc2twcm86YmVmb3JlIHtcbiAgY29udGVudDogXCLvjo9cIjtcbn1cblxuLmZhLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhIhcIjtcbn1cblxuLmZhLWRldjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bjFwiO1xufVxuXG4uZmEtZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GvVwiO1xufVxuXG4uZmEtZGhhcm1hY2hha3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mVXCI7XG59XG5cbi5mYS1kaGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpBcIjtcbn1cblxuLmZhLWRpYWdub3NlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RsFwiO1xufVxuXG4uZmEtZGlhc3BvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpFcIjtcbn1cblxuLmZhLWRpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKJcIjtcbn1cblxuLmZhLWRpY2UtZDIwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uPXCI7XG59XG5cbi5mYS1kaWNlLWQ2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uRXCI7XG59XG5cbi5mYS1kaWNlLWZpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKNcIjtcbn1cblxuLmZhLWRpY2UtZm91cjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UpFwiO1xufVxuXG4uZmEtZGljZS1vbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKVcIjtcbn1cblxuLmZhLWRpY2Utc2l4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SmXCI7XG59XG5cbi5mYS1kaWNlLXRocmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SnXCI7XG59XG5cbi5mYS1kaWNlLXR3bzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UqFwiO1xufVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GplwiO1xufVxuXG4uZmEtZGlnaXRhbC1vY2VhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OkVwiO1xufVxuXG4uZmEtZGlnaXRhbC10YWNob2dyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WmXCI7XG59XG5cbi5mYS1kaXJlY3Rpb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75erXCI7XG59XG5cbi5mYS1kaXNjb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746SXCI7XG59XG5cbi5mYS1kaXNjb3Vyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjpNcIjtcbn1cblxuLmZhLWRpc2Vhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn7pcIjtcbn1cblxuLmZhLWRpdmlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UqVwiO1xufVxuXG4uZmEtZGl6enk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvladcIjtcbn1cblxuLmZhLWRuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RsVwiO1xufVxuXG4uZmEtZG9jaHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746UXCI7XG59XG5cbi5mYS1kb2NrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjpVcIjtcbn1cblxuLmZhLWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bk1wiO1xufVxuXG4uZmEtZG9sbGFyLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZVcIjtcbn1cblxuLmZhLWRvbGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GyXCI7XG59XG5cbi5mYS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75G0XCI7XG59XG5cbi5mYS1kb25hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkrlcIjtcbn1cblxuLmZhLWRvb3ItY2xvc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SqXCI7XG59XG5cbi5mYS1kb29yLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKtcIjtcbn1cblxuLmZhLWRvdC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpJcIjtcbn1cblxuLmZhLWRvdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkrpcIjtcbn1cblxuLmZhLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CZXCI7XG59XG5cbi5mYS1kcmFmdDJkaWdpdGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746WXCI7XG59XG5cbi5mYS1kcmFmdGluZy1jb21wYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WoXCI7XG59XG5cbi5mYS1kcmFnb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvm5VcIjtcbn1cblxuLmZhLWRyYXctcG9seWdvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XrlwiO1xufVxuXG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhb1cIjtcbn1cblxuLmZhLWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ol1wiO1xufVxuXG4uZmEtZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fq1wiO1xufVxuXG4uZmEtZHJ1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VqVwiO1xufVxuXG4uZmEtZHJ1bS1zdGVlbHBhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VqlwiO1xufVxuXG4uZmEtZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm5dcIjtcbn1cblxuLmZhLWRydXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GqVwiO1xufVxuXG4uZmEtZHVtYmJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkYtcIjtcbn1cblxuLmZhLWR1bXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756TXCI7XG59XG5cbi5mYS1kdW1wc3Rlci1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756UXCI7XG59XG5cbi5mYS1kdW5nZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75uZXCI7XG59XG5cbi5mYS1keWFsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjplcIjtcbn1cblxuLmZhLWVhcmx5YmlyZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjppcIjtcbn1cblxuLmZhLWViYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7RcIjtcbn1cblxuLmZhLWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioJcIjtcbn1cblxuLmZhLWVkZ2UtbGVnYWN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG4XCI7XG59XG5cbi5mYS1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GEXCI7XG59XG5cbi5mYS1lZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn7tcIjtcbn1cblxuLmZhLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GSXCI7XG59XG5cbi5mYS1lbGVtZW50b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkLBcIjtcbn1cblxuLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYFcIjtcbn1cblxuLmZhLWVsbGlwc2lzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYJcIjtcbn1cblxuLmZhLWVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCLvl7FcIjtcbn1cblxuLmZhLWVtYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CjXCI7XG59XG5cbi5mYS1lbXBpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5FcIjtcbn1cblxuLmZhLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OgXCI7XG59XG5cbi5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q2XCI7XG59XG5cbi5mYS1lbnZlbG9wZS1vcGVuLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmZhcIjtcbn1cblxuLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GmVwiO1xufVxuXG4uZmEtZW52aXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qZXCI7XG59XG5cbi5mYS1lcXVhbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlKxcIjtcbn1cblxuLmZhLWVyYXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ErVwiO1xufVxuXG4uZmEtZXJsYW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746dXCI7XG59XG5cbi5mYS1ldGhlcmV1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QrlwiO1xufVxuXG4uZmEtZXRoZXJuZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpZcIjtcbn1cblxuLmZhLWV0c3k6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5dcIjtcbn1cblxuLmZhLWV1cm8tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fk1wiO1xufVxuXG4uZmEtZXZlcm5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLlcIjtcbn1cblxuLmZhLWV4Y2hhbmdlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NolwiO1xufVxuXG4uZmEtZXhjbGFtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKpcIjtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BqlwiO1xufVxuXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbFcIjtcbn1cblxuLmZhLWV4cGFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BpVwiO1xufVxuXG4uZmEtZXhwYW5kLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QpFwiO1xufVxuXG4uZmEtZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjJ5cIjtcbn1cblxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IvlwiO1xufVxuXG4uZmEtZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjZ1cIjtcbn1cblxuLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+NoFwiO1xufVxuXG4uZmEtZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GuXCI7XG59XG5cbi5mYS1leWUtZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hu1wiO1xufVxuXG4uZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GwXCI7XG59XG5cbi5mYS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmlwiO1xufVxuXG4uZmEtZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OnlwiO1xufVxuXG4uZmEtZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746fXCI7XG59XG5cbi5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoJcIjtcbn1cblxuLmZhLWZhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ho1wiO1xufVxuXG4uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm5xcIjtcbn1cblxuLmZhLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYlcIjtcbn1cblxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BkFwiO1xufVxuXG4uZmEtZmF1Y2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCFXCI7XG59XG5cbi5mYS1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqxcIjtcbn1cblxuLmZhLWZlYXRoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlK1cIjtcbn1cblxuLmZhLWZlYXRoZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WrXCI7XG59XG5cbi5mYS1mZWRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+el1wiO1xufVxuXG4uZmEtZmVkb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756YXCI7XG59XG5cbi5mYS1mZW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoJcIjtcbn1cblxuLmZhLWZpZ2h0ZXItamV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O7XCI7XG59XG5cbi5mYS1maWdtYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+emVwiO1xufVxuXG4uZmEtZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fm1wiO1xufVxuXG4uZmEtZmlsZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbn1cblxuLmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhlwiO1xufVxuXG4uZmEtZmlsZS1hdWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hh1wiO1xufVxuXG4uZmEtZmlsZS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eJXCI7XG59XG5cbi5mYS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WsXCI7XG59XG5cbi5mYS1maWxlLWNzdjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bnVwiO1xufVxuXG4uZmEtZmlsZS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VrVwiO1xufVxuXG4uZmEtZmlsZS1leGNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hg1wiO1xufVxuXG4uZmEtZmlsZS1leHBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvla5cIjtcbn1cblxuLmZhLWZpbGUtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4VcIjtcbn1cblxuLmZhLWZpbGUtaW1wb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WvXCI7XG59XG5cbi5mYS1maWxlLWludm9pY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbBcIjtcbn1cblxuLmZhLWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbFcIjtcbn1cblxuLmZhLWZpbGUtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Rt1wiO1xufVxuXG4uZmEtZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RuFwiO1xufVxuXG4uZmEtZmlsZS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4FcIjtcbn1cblxuLmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhFwiO1xufVxuXG4uZmEtZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbJcIjtcbn1cblxuLmZhLWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WzXCI7XG59XG5cbi5mYS1maWxlLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VtFwiO1xufVxuXG4uZmEtZmlsZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HiFwiO1xufVxuXG4uZmEtZmlsZS13b3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eCXCI7XG59XG5cbi5mYS1maWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W1XCI7XG59XG5cbi5mYS1maWxsLWRyaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbZcIjtcbn1cblxuLmZhLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIhcIjtcbn1cblxuLmZhLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CsFwiO1xufVxuXG4uZmEtZmluZ2VycHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbdcIjtcbn1cblxuLmZhLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvga1cIjtcbn1cblxuLmZhLWZpcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+kXCI7XG59XG5cbi5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EtFwiO1xufVxuXG4uZmEtZmlyZWZveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JqVwiO1xufVxuXG4uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oCHXCI7XG59XG5cbi5mYS1maXJzdC1haWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkblcIjtcbn1cblxuLmZhLWZpcnN0LW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qwXCI7XG59XG5cbi5mYS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIpcIjtcbn1cblxuLmZhLWZpcnN0ZHJhZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqFcIjtcbn1cblxuLmZhLWZpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlbhcIjtcbn1cblxuLmZhLWZpc3QtcmFpc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ueXCI7XG59XG5cbi5mYS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CkXCI7XG59XG5cbi5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EnlwiO1xufVxuXG4uZmEtZmxhZy11c2E6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnY1cIjtcbn1cblxuLmZhLWZsYXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ODXCI7XG59XG5cbi5mYS1mbGlja3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvha5cIjtcbn1cblxuLmZhLWZsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RjVwiO1xufVxuXG4uZmEtZmx1c2hlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VuVwiO1xufVxuXG4uZmEtZmx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CXXCI7XG59XG5cbi5mYS1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbtcIjtcbn1cblxuLmZhLWZvbGRlci1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZnVwiO1xufVxuXG4uZmEtZm9sZGVyLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbxcIjtcbn1cblxuLmZhLWZvbGRlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75meXCI7XG59XG5cbi5mYS1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CxXCI7XG59XG5cbi5mYS1mb250LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirRcIjtcbn1cblxuLmZhLWZvbnQtYXdlc29tZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjZxcIjtcbn1cblxuLmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ClXCI7XG59XG5cbi5mYS1mb250LWF3ZXNvbWUtbG9nby1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OmXCI7XG59XG5cbi5mYS1mb250aWNvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvioBcIjtcbn1cblxuLmZhLWZvbnRpY29ucy1maTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OolwiO1xufVxuXG4uZmEtZm9vdGJhbGwtYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RjlwiO1xufVxuXG4uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qGXCI7XG59XG5cbi5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746jXCI7XG59XG5cbi5mYS1mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IkVwiO1xufVxuXG4uZmEtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BjlwiO1xufVxuXG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GgFwiO1xufVxuXG4uZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4VcIjtcbn1cblxuLmZhLWZyZWVic2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqRcIjtcbn1cblxuLmZhLWZyb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlK5cIjtcbn1cblxuLmZhLWZyb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SZXCI7XG59XG5cbi5mYS1mcm93bi1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W6XCI7XG59XG5cbi5mYS1mdWxjcnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SLXCI7XG59XG5cbi5mYS1mdW5uZWwtZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75miXCI7XG59XG5cbi5mYS1mdXRib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6NcIjtcbn1cblxuLmZhLWdhbGFjdGljLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SMXCI7XG59XG5cbi5mYS1nYWxhY3RpYy1zZW5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlI1cIjtcbn1cblxuLmZhLWdhbWVwYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJtcIjtcbn1cblxuLmZhLWdhcy1wdW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SvXCI7XG59XG5cbi5mYS1nYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Do1wiO1xufVxuXG4uZmEtZ2VtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746lXCI7XG59XG5cbi5mYS1nZW5kZXJsZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74itXCI7XG59XG5cbi5mYS1nZXQtcG9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mlXCI7XG59XG5cbi5mYS1nZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JoFwiO1xufVxuXG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mhXCI7XG59XG5cbi5mYS1naG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bolwiO1xufVxuXG4uZmEtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bq1wiO1xufVxuXG4uZmEtZ2lmdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnpxcIjtcbn1cblxuLmZhLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hk1wiO1xufVxuXG4uZmEtZ2l0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hgVwiO1xufVxuXG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HklwiO1xufVxuXG4uZmEtZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KbXCI7XG59XG5cbi5mYS1naXRodWItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74STXCI7XG59XG5cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KSXCI7XG59XG5cbi5mYS1naXRrcmFrZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqZcIjtcbn1cblxuLmZhLWdpdGxhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KllwiO1xufVxuXG4uZmEtZ2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CmXCI7XG59XG5cbi5mYS1nbGFzcy1jaGVlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnp9cIjtcbn1cblxuLmZhLWdsYXNzLW1hcnRpbmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIBcIjtcbn1cblxuLmZhLWdsYXNzLW1hcnRpbmktYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75W7XCI7XG59XG5cbi5mYS1nbGFzcy13aGlza2V5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756gXCI7XG59XG5cbi5mYS1nbGFzc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SwXCI7XG59XG5cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KpVwiO1xufVxuXG4uZmEtZ2xpZGUtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KplwiO1xufVxuXG4uZmEtZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqxcIjtcbn1cblxuLmZhLWdsb2JlLWFmcmljYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VvFwiO1xufVxuXG4uZmEtZ2xvYmUtYW1lcmljYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlb1cIjtcbn1cblxuLmZhLWdsb2JlLWFzaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlb5cIjtcbn1cblxuLmZhLWdsb2JlLWV1cm9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+eolwiO1xufVxuXG4uZmEtZ29mb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746nXCI7XG59XG5cbi5mYS1nb2xmLWJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZBcIjtcbn1cblxuLmZhLWdvb2RyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OqFwiO1xufVxuXG4uZmEtZ29vZHJlYWRzLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqlcIjtcbn1cblxuLmZhLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GoFwiO1xufVxuXG4uZmEtZ29vZ2xlLWRyaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746qXCI7XG59XG5cbi5mYS1nb29nbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG5XCI7XG59XG5cbi5mYS1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Oq1wiO1xufVxuXG4uZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirNcIjtcbn1cblxuLmZhLWdvb2dsZS1wbHVzLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5VcIjtcbn1cblxuLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DlFwiO1xufVxuXG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HrlwiO1xufVxuXG4uZmEtZ29wdXJhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZpFwiO1xufVxuXG4uZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhp1cIjtcbn1cblxuLmZhLWdyYXRpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aEXCI7XG59XG5cbi5mYS1ncmF2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uWXCI7XG59XG5cbi5mYS1ncmVhdGVyLXRoYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLFcIjtcbn1cblxuLmZhLWdyZWF0ZXItdGhhbi1lcXVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UslwiO1xufVxuXG4uZmEtZ3JpbWFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vv1wiO1xufVxuXG4uZmEtZ3JpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WgFwiO1xufVxuXG4uZmEtZ3Jpbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvloFcIjtcbn1cblxuLmZhLWdyaW4tYmVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WglwiO1xufVxuXG4uZmEtZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aDXCI7XG59XG5cbi5mYS1ncmluLWhlYXJ0czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WhFwiO1xufVxuXG4uZmEtZ3Jpbi1zcXVpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvloVcIjtcbn1cblxuLmZhLWdyaW4tc3F1aW50LXRlYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aGXCI7XG59XG5cbi5mYS1ncmluLXN0YXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aHXCI7XG59XG5cbi5mYS1ncmluLXRlYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aIXCI7XG59XG5cbi5mYS1ncmluLXRvbmd1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WiVwiO1xufVxuXG4uZmEtZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aKXCI7XG59XG5cbi5mYS1ncmluLXRvbmd1ZS13aW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aLXCI7XG59XG5cbi5mYS1ncmluLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvloxcIjtcbn1cblxuLmZhLWdyaXAtaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WjVwiO1xufVxuXG4uZmEtZ3JpcC1saW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+epFwiO1xufVxuXG4uZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+epVwiO1xufVxuXG4uZmEtZ3JpcC12ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WjlwiO1xufVxuXG4uZmEtZ3JpcGZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjqxcIjtcbn1cblxuLmZhLWdydW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746tXCI7XG59XG5cbi5mYS1ndWlsZGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG+XCI7XG59XG5cbi5mYS1ndWl0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqZcIjtcbn1cblxuLmZhLWd1bHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjq5cIjtcbn1cblxuLmZhLWgtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O9XCI7XG59XG5cbi5mYS1oYWNrZXItbmV3czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HlFwiO1xufVxuXG4uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746vXCI7XG59XG5cbi5mYS1oYWNrZXJyYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75e3XCI7XG59XG5cbi5mYS1oYW1idXJnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoIVcIjtcbn1cblxuLmZhLWhhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bo1wiO1xufVxuXG4uZmEtaGFtc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmaVcIjtcbn1cblxuLmZhLWhhbmQtaG9sZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SvVwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75K+XCI7XG59XG5cbi5mYS1oYW5kLWhvbGRpbmctbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BnFwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TgFwiO1xufVxuXG4uZmEtaGFuZC1ob2xkaW5nLXdhdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OBXCI7XG59XG5cbi5mYS1oYW5kLWxpemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JmFwiO1xufVxuXG4uZmEtaGFuZC1taWRkbGUtZmluZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CGXCI7XG59XG5cbi5mYS1oYW5kLXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mWXCI7XG59XG5cbi5mYS1oYW5kLXBlYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mbXCI7XG59XG5cbi5mYS1oYW5kLXBvaW50LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvgqdcIjtcbn1cblxuLmZhLWhhbmQtcG9pbnQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CpVwiO1xufVxuXG4uZmEtaGFuZC1wb2ludC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CpFwiO1xufVxuXG4uZmEtaGFuZC1wb2ludC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CplwiO1xufVxuXG4uZmEtaGFuZC1wb2ludGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74maXCI7XG59XG5cbi5mYS1oYW5kLXJvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZVcIjtcbn1cblxuLmZhLWhhbmQtc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZdcIjtcbn1cblxuLmZhLWhhbmQtc3BhcmtsZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZ1cIjtcbn1cblxuLmZhLWhhbmQtc3BvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZlcIjtcbn1cblxuLmZhLWhhbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OCXCI7XG59XG5cbi5mYS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OEXCI7XG59XG5cbi5mYS1oYW5kcy13YXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGeXCI7XG59XG5cbi5mYS1oYW5kc2hha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvirVcIjtcbn1cblxuLmZhLWhhbmRzaGFrZS1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZ9cIjtcbn1cblxuLmZhLWhhbmRzaGFrZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BoFwiO1xufVxuXG4uZmEtaGFudWtpYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm6ZcIjtcbn1cblxuLmZhLWhhcmQtaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CHXCI7XG59XG5cbi5mYS1oYXNodGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qSXCI7XG59XG5cbi5mYS1oYXQtY293Ym95OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76OAXCI7XG59XG5cbi5mYS1oYXQtY293Ym95LXNpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo4FcIjtcbn1cblxuLmZhLWhhdC13aXphcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm6hcIjtcbn1cblxuLmZhLWhkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CoFwiO1xufVxuXG4uZmEtaGVhZC1zaWRlLWNvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGhXCI7XG59XG5cbi5mYS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaJcIjtcbn1cblxuLmZhLWhlYWQtc2lkZS1tYXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGjXCI7XG59XG5cbi5mYS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugaRcIjtcbn1cblxuLmZhLWhlYWRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5xcIjtcbn1cblxuLmZhLWhlYWRwaG9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKVcIjtcbn1cblxuLmZhLWhlYWRwaG9uZXMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aPXCI7XG59XG5cbi5mYS1oZWFkc2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aQXCI7XG59XG5cbi5mYS1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AhFwiO1xufVxuXG4uZmEtaGVhcnQtYnJva2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756pXCI7XG59XG5cbi5mYS1oZWFydGJlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJ5cIjtcbn1cblxuLmZhLWhlbGljb3B0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLNcIjtcbn1cblxuLmZhLWhpZ2hsaWdodGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aRXCI7XG59XG5cbi5mYS1oaWtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm6xcIjtcbn1cblxuLmZhLWhpcHBvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75utXCI7XG59XG5cbi5mYS1oaXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GSXCI7XG59XG5cbi5mYS1oaXJlLWEtaGVscGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746wXCI7XG59XG5cbi5mYS1oaXN0b3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eaXCI7XG59XG5cbi5mYS1oaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oG/XCI7XG59XG5cbi5mYS1ob2NrZXktcHVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Rk1wiO1xufVxuXG4uZmEtaG9sbHktYmVycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqpcIjtcbn1cblxuLmZhLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJVcIjtcbn1cblxuLmZhLWhvb2xpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CnXCI7XG59XG5cbi5mYS1ob3JuYmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WklwiO1xufVxuXG4uZmEtaG9yc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm7BcIjtcbn1cblxuLmZhLWhvcnNlLWhlYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnqtcIjtcbn1cblxuLmZhLWhvc3BpdGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O4XCI7XG59XG5cbi5mYS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkb1cIjtcbn1cblxuLmZhLWhvc3BpdGFsLXN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RvlwiO1xufVxuXG4uZmEtaG9zcGl0YWwtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gjVwiO1xufVxuXG4uZmEtaG90LXR1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wk1wiO1xufVxuXG4uZmEtaG90ZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CPXCI7XG59XG5cbi5mYS1ob3RlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WlFwiO1xufVxuXG4uZmEtaG90amFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746xXCI7XG59XG5cbi5mYS1ob3VyZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZRcIjtcbn1cblxuLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZNcIjtcbn1cblxuLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mSXCI7XG59XG5cbi5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviZFcIjtcbn1cblxuLmZhLWhvdXNlLWRhbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bsVwiO1xufVxuXG4uZmEtaG91c2UtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BpVwiO1xufVxuXG4uZmEtaG91eno6YmVmb3JlIHtcbiAgY29udGVudDogXCLvibxcIjtcbn1cblxuLmZhLWhyeXZuaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm7JcIjtcbn1cblxuLmZhLWh0bWw1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74S7XCI7XG59XG5cbi5mYS1odWJzcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi746yXCI7XG59XG5cbi5mYS1pLWN1cnNvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JhlwiO1xufVxuXG4uZmEtaWNlLWNyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CQXCI7XG59XG5cbi5mYS1pY2ljbGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756tXCI7XG59XG5cbi5mYS1pY29uczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hrVwiO1xufVxuXG4uZmEtaWQtYmFkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4FcIjtcbn1cblxuLmZhLWlkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4JcIjtcbn1cblxuLmZhLWlkLWNhcmQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75G/XCI7XG59XG5cbi5mYS1pZGVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Ak1wiO1xufVxuXG4uZmEtaWdsb286YmVmb3JlIHtcbiAgY29udGVudDogXCLvnq5cIjtcbn1cblxuLmZhLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C+XCI7XG59XG5cbi5mYS1pbWFnZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjIJcIjtcbn1cblxuLmZhLWltZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi5hcIjtcbn1cblxuLmZhLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CcXCI7XG59XG5cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLxcIjtcbn1cblxuLmZhLWluZHVzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m1XCI7XG59XG5cbi5mYS1pbmZpbml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UtFwiO1xufVxuXG4uZmEtaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EqVwiO1xufVxuXG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZpcIjtcbn1cblxuLmZhLWlubm9zb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKAXCI7XG59XG5cbi5mYS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvha1cIjtcbn1cblxuLmZhLWluc3RhZ3JhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugZVcIjtcbn1cblxuLmZhLWluc3RhbG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKBXCI7XG59XG5cbi5mYS1pbnRlcmNvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+er1wiO1xufVxuXG4uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviatcIjtcbn1cblxuLmZhLWludmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756wXCI7XG59XG5cbi5mYS1pb3hob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iIXCI7XG59XG5cbi5mYS1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLNcIjtcbn1cblxuLmZhLWl0Y2gtaW86YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLpcIjtcbn1cblxuLmZhLWl0dW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OtFwiO1xufVxuXG4uZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrVcIjtcbn1cblxuLmZhLWphdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk6RcIjtcbn1cblxuLmZhLWplZGk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmalcIjtcbn1cblxuLmZhLWplZGktb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlI5cIjtcbn1cblxuLmZhLWplbmtpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrZcIjtcbn1cblxuLmZhLWppcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrFcIjtcbn1cblxuLmZhLWpvZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7463XCI7XG59XG5cbi5mYS1qb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WlVwiO1xufVxuXG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aqXCI7XG59XG5cbi5mYS1qb3VybmFsLXdoaWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ZqlwiO1xufVxuXG4uZmEtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjrhcIjtcbn1cblxuLmZhLWpzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OuVwiO1xufVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4xcIjtcbn1cblxuLmZhLWthYWJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mrXCI7XG59XG5cbi5mYS1rYWdnbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl7pcIjtcbn1cblxuLmZhLWtleTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ChFwiO1xufVxuXG4uZmEta2V5YmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TtVwiO1xufVxuXG4uZmEta2V5Ym9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJxcIjtcbn1cblxuLmZhLWtleWNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OulwiO1xufVxuXG4uZmEta2hhbmRhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75mtXCI7XG59XG5cbi5mYS1raWNrc3RhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ou1wiO1xufVxuXG4uZmEta2lja3N0YXJ0ZXItazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+OvFwiO1xufVxuXG4uZmEta2lzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WllwiO1xufVxuXG4uZmEta2lzcy1iZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aXXCI7XG59XG5cbi5mYS1raXNzLXdpbmstaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlphcIjtcbn1cblxuLmZhLWtpd2ktYmlyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UtVwiO1xufVxuXG4uZmEta29ydnVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CvXCI7XG59XG5cbi5mYS1sYW5kbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zr1wiO1xufVxuXG4uZmEtbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqtcIjtcbn1cblxuLmZhLWxhcHRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EiVwiO1xufVxuXG4uZmEtbGFwdG9wLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl7xcIjtcbn1cblxuLmZhLWxhcHRvcC1ob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BplwiO1xufVxuXG4uZmEtbGFwdG9wLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoJJcIjtcbn1cblxuLmZhLWxhcmF2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjr1cIjtcbn1cblxuLmZhLWxhc3RmbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IglwiO1xufVxuXG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ig1wiO1xufVxuXG4uZmEtbGF1Z2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlplcIjtcbn1cblxuLmZhLWxhdWdoLWJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvlppcIjtcbn1cblxuLmZhLWxhdWdoLXNxdWludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wm1wiO1xufVxuXG4uZmEtbGF1Z2gtd2luazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WnFwiO1xufVxuXG4uZmEtbGF5ZXItZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl71cIjtcbn1cblxuLmZhLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgaxcIjtcbn1cblxuLmZhLWxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJJcIjtcbn1cblxuLmZhLWxlbW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KUXCI7XG59XG5cbi5mYS1sZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CdXCI7XG59XG5cbi5mYS1sZXNzLXRoYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLZcIjtcbn1cblxuLmZhLWxlc3MtdGhhbi1lcXVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ut1wiO1xufVxuXG4uZmEtbGV2ZWwtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjr5cIjtcbn1cblxuLmZhLWxldmVsLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ov1wiO1xufVxuXG4uZmEtbGlmZS1yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eNXCI7XG59XG5cbi5mYS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6tcIjtcbn1cblxuLmZhLWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4BcIjtcbn1cblxuLmZhLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4FcIjtcbn1cblxuLmZhLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KMXCI7XG59XG5cbi5mYS1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoVwiO1xufVxuXG4uZmEtbGlub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q4XCI7XG59XG5cbi5mYS1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FvFwiO1xufVxuXG4uZmEtbGlyYS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aVXCI7XG59XG5cbi5mYS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C6XCI7XG59XG5cbi5mYS1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AolwiO1xufVxuXG4uZmEtbGlzdC1vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Di1wiO1xufVxuXG4uZmEtbGlzdC11bDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DilwiO1xufVxuXG4uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKRcIjtcbn1cblxuLmZhLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKNcIjtcbn1cblxuLmZhLWxvY2stb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PgVwiO1xufVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MiVwiO1xufVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MilwiO1xufVxuXG4uZmEtbG9uZy1hcnJvdy1hbHQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjItcIjtcbn1cblxuLmZhLWxvbmctYXJyb3ctYWx0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yMXCI7XG59XG5cbi5mYS1sb3ctdmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qoXCI7XG59XG5cbi5mYS1sdWdnYWdlLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlp1cIjtcbn1cblxuLmZhLWx1bmdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iEXCI7XG59XG5cbi5mYS1sdW5ncy12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bp1wiO1xufVxuXG4uZmEtbHlmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pg1wiO1xufVxuXG4uZmEtbWFnZW50bzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PhFwiO1xufVxuXG4uZmEtbWFnaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5BcIjtcbn1cblxuLmZhLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BtlwiO1xufVxuXG4uZmEtbWFpbC1idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m0XCI7XG59XG5cbi5mYS1tYWlsY2hpbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlp5cIjtcbn1cblxuLmZhLW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoNcIjtcbn1cblxuLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SPXCI7XG59XG5cbi5mYS1tYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLviblcIjtcbn1cblxuLmZhLW1hcC1tYXJrZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlp9cIjtcbn1cblxuLmZhLW1hcC1tYXJrZWQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75agXCI7XG59XG5cbi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GBXCI7XG59XG5cbi5mYS1tYXAtbWFya2VyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PhVwiO1xufVxuXG4uZmEtbWFwLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JtlwiO1xufVxuXG4uZmEtbWFwLXNpZ25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m3XCI7XG59XG5cbi5mYS1tYXJrZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Yj1wiO1xufVxuXG4uZmEtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ahXCI7XG59XG5cbi5mYS1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iiXCI7XG59XG5cbi5mYS1tYXJzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ip1wiO1xufVxuXG4uZmEtbWFycy1zdHJva2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKlcIjtcbn1cblxuLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKtcIjtcbn1cblxuLmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKpcIjtcbn1cblxuLmZhLW1hc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvm7pcIjtcbn1cblxuLmZhLW1hc3RvZG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O2XCI7XG59XG5cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLZcIjtcbn1cblxuLmZhLW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+jilwiO1xufVxuXG4uZmEtbWVkYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlqJcIjtcbn1cblxuLmZhLW1lZGFwcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4ZcIjtcbn1cblxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IulwiO1xufVxuXG4uZmEtbWVkaXVtLW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4dcIjtcbn1cblxuLmZhLW1lZGtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DulwiO1xufVxuXG4uZmEtbWVkcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4hcIjtcbn1cblxuLmZhLW1lZXR1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LoFwiO1xufVxuXG4uZmEtbWVnYXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlqNcIjtcbn1cblxuLmZhLW1laDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EmlwiO1xufVxuXG4uZmEtbWVoLWJsYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75akXCI7XG59XG5cbi5mYS1tZWgtcm9sbGluZy1leWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75alXCI7XG59XG5cbi5mYS1tZW1vcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLhcIjtcbn1cblxuLmZhLW1lbmRlbGV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi756zXCI7XG59XG5cbi5mYS1tZW5vcmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m2XCI7XG59XG5cbi5mYS1tZXJjdXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ijXCI7XG59XG5cbi5mYS1tZXRlb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZNcIjtcbn1cblxuLmZhLW1pY3JvYmxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6AmlwiO1xufVxuXG4uZmEtbWljcm9jaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ubXCI7XG59XG5cbi5mYS1taWNyb3Bob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SwXCI7XG59XG5cbi5mYS1taWNyb3Bob25lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PiVwiO1xufVxuXG4uZmEtbWljcm9waG9uZS1hbHQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlLlcIjtcbn1cblxuLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLFcIjtcbn1cblxuLmZhLW1pY3Jvc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmJBcIjtcbn1cblxuLmZhLW1pY3Jvc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PilwiO1xufVxuXG4uZmEtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgahcIjtcbn1cblxuLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BllwiO1xufVxuXG4uZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WGXCI7XG59XG5cbi5mYS1taXR0ZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrVcIjtcbn1cblxuLmZhLW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pi1wiO1xufVxuXG4uZmEtbWl4Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviolcIjtcbn1cblxuLmZhLW1peGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGWXCI7XG59XG5cbi5mYS1taXp1bmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj4xcIjtcbn1cblxuLmZhLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ei1wiO1xufVxuXG4uZmEtbW9iaWxlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PjVwiO1xufVxuXG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KhVwiO1xufVxuXG4uZmEtbW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+QXCI7XG59XG5cbi5mYS1tb25leS1iaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OWXCI7XG59XG5cbi5mYS1tb25leS1iaWxsLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PkVwiO1xufVxuXG4uZmEtbW9uZXktYmlsbC13YXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S6XCI7XG59XG5cbi5mYS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S7XCI7XG59XG5cbi5mYS1tb25leS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UvFwiO1xufVxuXG4uZmEtbW9uZXktY2hlY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S9XCI7XG59XG5cbi5mYS1tb251bWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WplwiO1xufVxuXG4uZmEtbW9vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GhlwiO1xufVxuXG4uZmEtbW9ydGFyLXBlc3RsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wp1wiO1xufVxuXG4uZmEtbW9zcXVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m4XCI7XG59XG5cbi5mYS1tb3RvcmN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74icXCI7XG59XG5cbi5mYS1tb3VudGFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+bvFwiO1xufVxuXG4uZmEtbW91c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo4xcIjtcbn1cblxuLmZhLW1vdXNlLXBvaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviYVcIjtcbn1cblxuLmZhLW11Zy1ob3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrZcIjtcbn1cblxuLmZhLW11c2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CBXCI7XG59XG5cbi5mYS1uYXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+SXCI7XG59XG5cbi5mYS1uZW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iSXCI7XG59XG5cbi5mYS1uZXR3b3JrLXdpcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75u/XCI7XG59XG5cbi5mYS1uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKxcIjtcbn1cblxuLmZhLW5ld3NwYXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HqlwiO1xufVxuXG4uZmEtbmltYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aoXCI7XG59XG5cbi5mYS1ub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CZXCI7XG59XG5cbi5mYS1ub2RlLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+TXCI7XG59XG5cbi5mYS1ub3QtZXF1YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlL5cIjtcbn1cblxuLmZhLW5vdGVzLW1lZGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkoFcIjtcbn1cblxuLmZhLW5wbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PlFwiO1xufVxuXG4uZmEtbnM4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+VXCI7XG59XG5cbi5mYS1udXRyaXRpb25peDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PllwiO1xufVxuXG4uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mHXCI7XG59XG5cbi5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JiFwiO1xufVxuXG4uZmEtb2N0b3B1cy1kZXBsb3k6YmVmb3JlIHtcbiAgY29udGVudDogXCLugoJcIjtcbn1cblxuLmZhLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCLviaNcIjtcbn1cblxuLmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mkXCI7XG59XG5cbi5mYS1vaWwtY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iTXCI7XG59XG5cbi5mYS1vbGQtcmVwdWJsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJBcIjtcbn1cblxuLmZhLW9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75m5XCI7XG59XG5cbi5mYS1vcGVuY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IvVwiO1xufVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74abXCI7XG59XG5cbi5mYS1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JqlwiO1xufVxuXG4uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+IvFwiO1xufVxuXG4uZmEtb3JjaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo5JcIjtcbn1cblxuLmZhLW9zaTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QmlwiO1xufVxuXG4uZmEtb3R0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnIBcIjtcbn1cblxuLmZhLW91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgLtcIjtcbn1cblxuLmZhLXBhZ2U0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+XXCI7XG59XG5cbi5mYS1wYWdlbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoxcIjtcbn1cblxuLmZhLXBhZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CVXCI7XG59XG5cbi5mYS1wYWludC1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HvFwiO1xufVxuXG4uZmEtcGFpbnQtcm9sbGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75aqXCI7XG59XG5cbi5mYS1wYWxldHRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75S/XCI7XG59XG5cbi5mYS1wYWxmZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5hcIjtcbn1cblxuLmZhLXBhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SglwiO1xufVxuXG4uZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5hcIjtcbn1cblxuLmZhLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DhlwiO1xufVxuXG4uZmEtcGFyYWNodXRlLWJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TjVwiO1xufVxuXG4uZmEtcGFyYWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74edXCI7XG59XG5cbi5mYS1wYXJraW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WAXCI7XG59XG5cbi5mYS1wYXNzcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wq1wiO1xufVxuXG4uZmEtcGFzdGFmYXJpYW5pc206YmVmb3JlIHtcbiAgY29udGVudDogXCLvmbtcIjtcbn1cblxuLmZhLXBhc3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OqXCI7XG59XG5cbi5mYS1wYXRyZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+ZXCI7XG59XG5cbi5mYS1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BjFwiO1xufVxuXG4uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qLXCI7XG59XG5cbi5mYS1wYXc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrBcIjtcbn1cblxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HrVwiO1xufVxuXG4uZmEtcGVhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmbxcIjtcbn1cblxuLmZhLXBlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MhFwiO1xufVxuXG4uZmEtcGVuLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MhVwiO1xufVxuXG4uZmEtcGVuLWZhbmN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75asXCI7XG59XG5cbi5mYS1wZW4tbmliOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75atXCI7XG59XG5cbi5mYS1wZW4tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WLXCI7XG59XG5cbi5mYS1wZW5jaWwtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yDXCI7XG59XG5cbi5mYS1wZW5jaWwtcnVsZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlq5cIjtcbn1cblxuLmZhLXBlbm55LWFyY2FkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+chFwiO1xufVxuXG4uZmEtcGVvcGxlLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BqFwiO1xufVxuXG4uZmEtcGVvcGxlLWNhcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OOXCI7XG59XG5cbi5mYS1wZXBwZXItaG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CWXCI7XG59XG5cbi5mYS1wZXJieXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKDXCI7XG59XG5cbi5mYS1wZXJjZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qVXCI7XG59XG5cbi5mYS1wZXJjZW50YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WBXCI7XG59XG5cbi5mYS1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5pcIjtcbn1cblxuLmZhLXBlcnNvbi1ib290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dllwiO1xufVxuXG4uZmEtcGhhYnJpY2F0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj5tcIjtcbn1cblxuLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+cXCI7XG59XG5cbi5mYS1waG9lbml4LXNxdWFkcm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SRXCI7XG59XG5cbi5mYS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ClVwiO1xufVxuXG4uZmEtcGhvbmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G5XCI7XG59XG5cbi5mYS1waG9uZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PnVwiO1xufVxuXG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KYXCI7XG59XG5cbi5mYS1waG9uZS1zcXVhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G7XCI7XG59XG5cbi5mYS1waG9uZS12b2x1bWU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviqBcIjtcbn1cblxuLmZhLXBob3RvLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G8XCI7XG59XG5cbi5mYS1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZdcIjtcbn1cblxuLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLviq5cIjtcbn1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aoXCI7XG59XG5cbi5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TpVwiO1xufVxuXG4uZmEtcGllZC1waXBlci1wcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gp1wiO1xufVxuXG4uZmEtcGllZC1waXBlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLugJ5cIjtcbn1cblxuLmZhLXBpZ2d5LWJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5NcIjtcbn1cblxuLmZhLXBpbGxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KEXCI7XG59XG5cbi5mYS1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5JcIjtcbn1cblxuLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ixXCI7XG59XG5cbi5mYS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OTXCI7XG59XG5cbi5mYS1waXp6YS1zbGljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gmFwiO1xufVxuXG4uZmEtcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Zv1wiO1xufVxuXG4uZmEtcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbJcIjtcbn1cblxuLmZhLXBsYW5lLWFycml2YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlq9cIjtcbn1cblxuLmZhLXBsYW5lLWRlcGFydHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WsFwiO1xufVxuXG4uZmEtcGxhbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugalcIjtcbn1cblxuLmZhLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYtcIjtcbn1cblxuLmZhLXBsYXktY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WEXCI7XG59XG5cbi5mYS1wbGF5c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pn1wiO1xufVxuXG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HplwiO1xufVxuXG4uZmEtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bp1wiO1xufVxuXG4uZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZVcIjtcbn1cblxuLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74O+XCI7XG59XG5cbi5mYS1wb2RjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uOXCI7XG59XG5cbi5mYS1wb2xsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qBXCI7XG59XG5cbi5mYS1wb2xsLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmoJcIjtcbn1cblxuLmZhLXBvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LvlwiO1xufVxuXG4uZmEtcG9vLXN0b3JtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752aXCI7XG59XG5cbi5mYS1wb29wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75iZXCI7XG59XG5cbi5mYS1wb3J0cmFpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PoFwiO1xufVxuXG4uZmEtcG91bmQtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FlFwiO1xufVxuXG4uZmEtcG93ZXItb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CRXCI7XG59XG5cbi5mYS1wcmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qDXCI7XG59XG5cbi5mYS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qEXCI7XG59XG5cbi5mYS1wcmVzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrFcIjtcbn1cblxuLmZhLXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkoVcIjtcbn1cblxuLmZhLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KGXCI7XG59XG5cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ar1wiO1xufVxuXG4uZmEtcHJvY2VkdXJlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Sh1wiO1xufVxuXG4uZmEtcHJvZHVjdC1odW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qIXCI7XG59XG5cbi5mYS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYJcIjtcbn1cblxuLmZhLXB1bXAtbWVkaWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BqlwiO1xufVxuXG4uZmEtcHVtcC1zb2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGrXCI7XG59XG5cbi5mYS1wdXNoZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6FcIjtcbn1cblxuLmZhLXB1enpsZS1waWVjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ErlwiO1xufVxuXG4uZmEtcHl0aG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+iXCI7XG59XG5cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HllwiO1xufVxuXG4uZmEtcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CpXCI7XG59XG5cbi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EqFwiO1xufVxuXG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GZXCI7XG59XG5cbi5mYS1xdWlkZGl0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZhcIjtcbn1cblxuLmZhLXF1aW5zY2FwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+RmVwiO1xufVxuXG4uZmEtcXVvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4RcIjtcbn1cblxuLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhI1cIjtcbn1cblxuLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SOXCI7XG59XG5cbi5mYS1xdXJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ah1wiO1xufVxuXG4uZmEtci1wcm9qZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O3XCI7XG59XG5cbi5mYS1yYWRpYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrlcIjtcbn1cblxuLmZhLXJhZGlhdGlvbi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnrpcIjtcbn1cblxuLmZhLXJhaW5ib3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZtcIjtcbn1cblxuLmZhLXJhbmRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BtFwiO1xufVxuXG4uZmEtcmFzcGJlcnJ5LXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7567XCI7XG59XG5cbi5mYS1yYXZlbHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uZXCI7XG59XG5cbi5mYS1yZWFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Qm1wiO1xufVxuXG4uZmEtcmVhY3RldXJvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZ1cIjtcbn1cblxuLmZhLXJlYWRtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TlVwiO1xufVxuXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh5BcIjtcbn1cblxuLmZhLXJlY2VpcHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYNcIjtcbn1cblxuLmZhLXJlY29yZC12aW55bDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+jmVwiO1xufVxuXG4uZmEtcmVjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GuFwiO1xufVxuXG4uZmEtcmVkLXJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+jXCI7XG59XG5cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqFcIjtcbn1cblxuLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KgVwiO1xufVxuXG4uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GolwiO1xufVxuXG4uZmEtcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7568XCI7XG59XG5cbi5mYS1yZWRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CeXCI7XG59XG5cbi5mYS1yZWRvLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LuVwiO1xufVxuXG4uZmEtcmVnaXN0ZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JnVwiO1xufVxuXG4uZmEtcmVtb3ZlLWZvcm1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hvVwiO1xufVxuXG4uZmEtcmVucmVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aLXCI7XG59XG5cbi5mYS1yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PpVwiO1xufVxuXG4uZmEtcmVwbHktYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SiXCI7XG59XG5cbi5mYS1yZXBseWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6ZcIjtcbn1cblxuLmZhLXJlcHVibGljYW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZ5cIjtcbn1cblxuLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TuFwiO1xufVxuXG4uZmEtcmVzb2x2aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+nXCI7XG59XG5cbi5mYS1yZXN0cm9vbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+evVwiO1xufVxuXG4uZmEtcmV0d2VldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BuVwiO1xufVxuXG4uZmEtcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ayXCI7XG59XG5cbi5mYS1yaWJib246YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5ZcIjtcbn1cblxuLmZhLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnItcIjtcbn1cblxuLmZhLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJhcIjtcbn1cblxuLmZhLXJvYm90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WEXCI7XG59XG5cbi5mYS1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhLVcIjtcbn1cblxuLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6hcIjtcbn1cblxuLmZhLXJvY2tybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj6lcIjtcbn1cblxuLmZhLXJvdXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OXXCI7XG59XG5cbi5mYS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgp5cIjtcbn1cblxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhYNcIjtcbn1cblxuLmZhLXJ1YmxlLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZhcIjtcbn1cblxuLmZhLXJ1bGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WFXCI7XG59XG5cbi5mYS1ydWxlci1jb21iaW5lZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VhlwiO1xufVxuXG4uZmEtcnVsZXItaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vh1wiO1xufVxuXG4uZmEtcnVsZXItdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYhcIjtcbn1cblxuLmZhLXJ1bm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnIxcIjtcbn1cblxuLmZhLXJ1cGVlLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZZcIjtcbn1cblxuLmZhLXJ1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbpcIjtcbn1cblxuLmZhLXNhZC1jcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrNcIjtcbn1cblxuLmZhLXNhZC10ZWFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a0XCI7XG59XG5cbi5mYS1zYWZhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLviadcIjtcbn1cblxuLmZhLXNhbGVzZm9yY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoLtcIjtcbn1cblxuLmZhLXNhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJ5cIjtcbn1cblxuLmZhLXNhdGVsbGl0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ev1wiO1xufVxuXG4uZmEtc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4BcIjtcbn1cblxuLmZhLXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4dcIjtcbn1cblxuLmZhLXNjaGxpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PqlwiO1xufVxuXG4uZmEtc2Nob29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WJXCI7XG59XG5cbi5mYS1zY3Jld2RyaXZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VilwiO1xufVxuXG4uZmEtc2NyaWJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qKXCI7XG59XG5cbi5mYS1zY3JvbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnI5cIjtcbn1cblxuLmZhLXNkLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4JcIjtcbn1cblxuLmZhLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AglwiO1xufVxuXG4uZmEtc2VhcmNoLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+aiFwiO1xufVxuXG4uZmEtc2VhcmNoLWxvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qJXCI7XG59XG5cbi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJBcIjtcbn1cblxuLmZhLXNlYXJjaC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74COXCI7XG59XG5cbi5mYS1zZWFyY2hlbmdpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Pq1wiO1xufVxuXG4uZmEtc2VlZGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5hcIjtcbn1cblxuLmZhLXNlbGxjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uaXCI7XG59XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCLviJNcIjtcbn1cblxuLmZhLXNlcnZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Is1wiO1xufVxuXG4uZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+sXCI7XG59XG5cbi5mYS1zaGFwZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmJ9cIjtcbn1cblxuLmZhLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GkXCI7XG59XG5cbi5mYS1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6BcIjtcbn1cblxuLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6FcIjtcbn1cblxuLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FjVwiO1xufVxuXG4uZmEtc2hla2VsLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCLviItcIjtcbn1cblxuLmZhLXNoaWVsZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj61cIjtcbn1cblxuLmZhLXNoaWVsZC12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BrFwiO1xufVxuXG4uZmEtc2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ImlwiO1xufVxuXG4uZmEtc2hpcHBpbmctZmFzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Si1wiO1xufVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iUXCI7XG59XG5cbi5mYS1zaG9lLXByaW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Vi1wiO1xufVxuXG4uZmEtc2hvcGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bl1wiO1xufVxuXG4uZmEtc2hvcHBpbmctYmFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qQXCI7XG59XG5cbi5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipFcIjtcbn1cblxuLmZhLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgbpcIjtcbn1cblxuLmZhLXNob3B3YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a1XCI7XG59XG5cbi5mYS1zaG93ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4xcIjtcbn1cblxuLmZhLXNodXR0bGUtdmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a2XCI7XG59XG5cbi5mYS1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OZXCI7XG59XG5cbi5mYS1zaWduLWluLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LtlwiO1xufVxuXG4uZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Kp1wiO1xufVxuXG4uZmEtc2lnbi1vdXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74u1XCI7XG59XG5cbi5mYS1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgJJcIjtcbn1cblxuLmZhLXNpZ25hdHVyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Wt1wiO1xufVxuXG4uZmEtc2ltLWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4RcIjtcbn1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iVXCI7XG59XG5cbi5mYS1zaW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGtXCI7XG59XG5cbi5mYS1zaXN0cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+uXCI7XG59XG5cbi5mYS1zaXRlbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OoXCI7XG59XG5cbi5mYS1zaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SSXCI7XG59XG5cbi5mYS1za2F0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+FXCI7XG59XG5cbi5mYS1za2V0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4ZcIjtcbn1cblxuLmZhLXNraWluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fiVwiO1xufVxuXG4uZmEtc2tpaW5nLW5vcmRpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+filwiO1xufVxuXG4uZmEtc2t1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlYxcIjtcbn1cblxuLmZhLXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnJRcIjtcbn1cblxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iWXCI7XG59XG5cbi5mYS1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FvlwiO1xufVxuXG4uZmEtc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhphcIjtcbn1cblxuLmZhLXNsYWNrLWhhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj69cIjtcbn1cblxuLmZhLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yVXCI7XG59XG5cbi5mYS1zbGVpZ2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn4xcIjtcbn1cblxuLmZhLXNsaWRlcnMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HnlwiO1xufVxuXG4uZmEtc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hp1wiO1xufVxuXG4uZmEtc21pbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJhcIjtcbn1cblxuLmZhLXNtaWxlLWJlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrhcIjtcbn1cblxuLmZhLXNtaWxlLXdpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk5pcIjtcbn1cblxuLmZhLXNtb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnZ9cIjtcbn1cblxuLmZhLXNtb2tpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvko1cIjtcbn1cblxuLmZhLXNtb2tpbmctYmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WNXCI7XG59XG5cbi5mYS1zbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn41cIjtcbn1cblxuLmZhLXNuYXBjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qrXCI7XG59XG5cbi5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KrFwiO1xufVxuXG4uZmEtc25hcGNoYXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qtXCI7XG59XG5cbi5mYS1zbm93Ym9hcmRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn45cIjtcbn1cblxuLmZhLXNub3dmbGFrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LnFwiO1xufVxuXG4uZmEtc25vd21hbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fkFwiO1xufVxuXG4uZmEtc25vd3Bsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn5JcIjtcbn1cblxuLmZhLXNvYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLuga5cIjtcbn1cblxuLmZhLXNvY2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qWXCI7XG59XG5cbi5mYS1zb2xhci1wYW5lbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WulwiO1xufVxuXG4uZmEtc29ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DnFwiO1xufVxuXG4uZmEtc29ydC1hbHBoYS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WdXCI7XG59XG5cbi5mYS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KBXCI7XG59XG5cbi5mYS1zb3J0LWFscGhhLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WeXCI7XG59XG5cbi5mYS1zb3J0LWFscGhhLXVwLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+iglwiO1xufVxuXG4uZmEtc29ydC1hbW91bnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FoFwiO1xufVxuXG4uZmEtc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvooRcIjtcbn1cblxuLmZhLXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WhXCI7XG59XG5cbi5mYS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvooVcIjtcbn1cblxuLmZhLXNvcnQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DnVwiO1xufVxuXG4uZmEtc29ydC1udW1lcmljLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaJcIjtcbn1cblxuLmZhLXNvcnQtbnVtZXJpYy1kb3duLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ihlwiO1xufVxuXG4uZmEtc29ydC1udW1lcmljLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WjXCI7XG59XG5cbi5mYS1zb3J0LW51bWVyaWMtdXAtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76KHXCI7XG59XG5cbi5mYS1zb3J0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OeXCI7XG59XG5cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a+XCI7XG59XG5cbi5mYS1zb3VyY2V0cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+TXCI7XG59XG5cbi5mYS1zcGE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlrtcIjtcbn1cblxuLmZhLXNwYWNlLXNodXR0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhpdcIjtcbn1cblxuLmZhLXNwZWFrYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj7NcIjtcbn1cblxuLmZhLXNwZWFrZXItZGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+gvFwiO1xufVxuXG4uZmEtc3BlbGwtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvopFcIjtcbn1cblxuLmZhLXNwaWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cl1wiO1xufVxuXG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EkFwiO1xufVxuXG4uZmEtc3Bsb3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+WvFwiO1xufVxuXG4uZmEtc3BvdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GvFwiO1xufVxuXG4uZmEtc3ByYXktY2FuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a9XCI7XG59XG5cbi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvg4hcIjtcbn1cblxuLmZhLXNxdWFyZS1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GcXCI7XG59XG5cbi5mYS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmphcIjtcbn1cblxuLmZhLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75a+XCI7XG59XG5cbi5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GjVwiO1xufVxuXG4uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaxcIjtcbn1cblxuLmZhLXN0YWNrcGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+hglwiO1xufVxuXG4uZmEtc3RhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlr9cIjtcbn1cblxuLmZhLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIVcIjtcbn1cblxuLmZhLXN0YXItYW5kLWNyZXNjZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qZXCI7XG59XG5cbi5mYS1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgolcIjtcbn1cblxuLmZhLXN0YXItaGFsZi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4BcIjtcbn1cblxuLmZhLXN0YXItb2YtZGF2aWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmppcIjtcbn1cblxuLmZhLXN0YXItb2YtbGlmZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YoVwiO1xufVxuXG4uZmEtc3RheWxpbmtlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PtVwiO1xufVxuXG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrZcIjtcbn1cblxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gt1wiO1xufVxuXG4uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+2XCI7XG59XG5cbi5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GIXCI7XG59XG5cbi5mYS1zdGVwLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZFcIjtcbn1cblxuLmZhLXN0ZXRob3Njb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OxXCI7XG59XG5cbi5mYS1zdGlja2VyLW11bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj7dcIjtcbn1cblxuLmZhLXN0aWNreS1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mJXCI7XG59XG5cbi5mYS1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GNXCI7XG59XG5cbi5mYS1zdG9wLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KjVwiO1xufVxuXG4uZmEtc3RvcHdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uyXCI7XG59XG5cbi5mYS1zdG9wd2F0Y2gtMjA6YmVmb3JlIHtcbiAgY29udGVudDogXCLuga9cIjtcbn1cblxuLmZhLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WOXCI7XG59XG5cbi5mYS1zdG9yZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlY9cIjtcbn1cblxuLmZhLXN0b3JlLWFsdC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BsFwiO1xufVxuXG4uZmEtc3RvcmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbFcIjtcbn1cblxuLmZhLXN0cmF2YTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QqFwiO1xufVxuXG4uZmEtc3RyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WQXCI7XG59XG5cbi5mYS1zdHJlZXQtdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+InVwiO1xufVxuXG4uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DjFwiO1xufVxuXG4uZmEtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CpXCI7XG59XG5cbi5mYS1zdHJpcGUtczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QqlwiO1xufVxuXG4uZmEtc3Ryb29wd2FmZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZFcIjtcbn1cblxuLmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PuFwiO1xufVxuXG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhqRcIjtcbn1cblxuLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Go1wiO1xufVxuXG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SsXCI7XG59XG5cbi5mYS1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLlcIjtcbn1cblxuLmZhLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OyXCI7XG59XG5cbi5mYS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eBXCI7XG59XG5cbi5mYS1zdW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoVcIjtcbn1cblxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74udXCI7XG59XG5cbi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Eq1wiO1xufVxuXG4uZmEtc3VwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+5XCI7XG59XG5cbi5mYS1zdXJwcmlzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XglwiO1xufVxuXG4uZmEtc3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fllwiO1xufVxuXG4uZmEtc3dhdGNoYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Xg1wiO1xufVxuXG4uZmEtc3dpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvo6FcIjtcbn1cblxuLmZhLXN3aW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4RcIjtcbn1cblxuLmZhLXN3aW1taW5nLXBvb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4VcIjtcbn1cblxuLmZhLXN5bWZvbnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoL1cIjtcbn1cblxuLmZhLXN5bmFnb2d1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+am1wiO1xufVxuXG4uZmEtc3luYzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AoVwiO1xufVxuXG4uZmEtc3luYy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi7FcIjtcbn1cblxuLmZhLXN5cmluZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvko5cIjtcbn1cblxuLmZhLXRhYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OOXCI7XG59XG5cbi5mYS10YWJsZS10ZW5uaXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkZ1cIjtcbn1cblxuLmZhLXRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EilwiO1xufVxuXG4uZmEtdGFibGV0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PulwiO1xufVxuXG4uZmEtdGFibGV0czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SkFwiO1xufVxuXG4uZmEtdGFjaG9tZXRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvj71cIjtcbn1cblxuLmZhLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Aq1wiO1xufVxuXG4uZmEtdGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ArFwiO1xufVxuXG4uZmEtdGFwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Tm1wiO1xufVxuXG4uZmEtdGFza3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgq5cIjtcbn1cblxuLmZhLXRheGk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhrpcIjtcbn1cblxuLmZhLXRlYW1zcGVhazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TuVwiO1xufVxuXG4uZmEtdGVldGg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmK5cIjtcbn1cblxuLmZhLXRlZXRoLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvmK9cIjtcbn1cblxuLmZhLXRlbGVncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uGXCI7XG59XG5cbi5mYS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+PvlwiO1xufVxuXG4uZmEtdGVtcGVyYXR1cmUtaGlnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+dqVwiO1xufVxuXG4uZmEtdGVtcGVyYXR1cmUtbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi752rXCI7XG59XG5cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eVXCI7XG59XG5cbi5mYS10ZW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fl1wiO1xufVxuXG4uZmEtdGVybWluYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKBcIjtcbn1cblxuLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C0XCI7XG59XG5cbi5mYS10ZXh0LXdpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C1XCI7XG59XG5cbi5mYS10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AilwiO1xufVxuXG4uZmEtdGgtbGFyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIlcIjtcbn1cblxuLmZhLXRoLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgItcIjtcbn1cblxuLmZhLXRoZS1yZWQteWV0aTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+anVwiO1xufVxuXG4uZmEtdGhlYXRlci1tYXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YsFwiO1xufVxuXG4uZmEtdGhlbWVjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XhlwiO1xufVxuXG4uZmEtdGhlbWVpc2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qyXCI7XG59XG5cbi5mYS10aGVybW9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SkVwiO1xufVxuXG4uZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4tcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4dcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4lcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi4pcIjtcbn1cblxuLmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uIXCI7XG59XG5cbi5mYS10aGluay1wZWFrczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+csVwiO1xufVxuXG4uZmEtdGh1bWJzLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvhaVcIjtcbn1cblxuLmZhLXRodW1icy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FpFwiO1xufVxuXG4uZmEtdGh1bWJ0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74KNXCI7XG59XG5cbi5mYS10aWNrZXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+/XCI7XG59XG5cbi5mYS10aWt0b2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbtcIjtcbn1cblxuLmZhLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CNXCI7XG59XG5cbi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZdcIjtcbn1cblxuLmZhLXRpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYNcIjtcbn1cblxuLmZhLXRpbnQtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4dcIjtcbn1cblxuLmZhLXRpcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eIXCI7XG59XG5cbi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74iEXCI7XG59XG5cbi5mYS10b2dnbGUtb246YmVmb3JlIHtcbiAgY29udGVudDogXCLviIVcIjtcbn1cblxuLmZhLXRvaWxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+fmFwiO1xufVxuXG4uZmEtdG9pbGV0LXBhcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yeXCI7XG59XG5cbi5mYS10b2lsZXQtcGFwZXItc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbJcIjtcbn1cblxuLmZhLXRvb2xib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZJcIjtcbn1cblxuLmZhLXRvb2xzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+ZXCI7XG59XG5cbi5mYS10b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XiVwiO1xufVxuXG4uZmEtdG9yYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmqBcIjtcbn1cblxuLmZhLXRvcmlpLWdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmqFcIjtcbn1cblxuLmZhLXRyYWN0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnKJcIjtcbn1cblxuLmZhLXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvlJNcIjtcbn1cblxuLmZhLXRyYWRlbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+JnFwiO1xufVxuXG4uZmEtdHJhZmZpYy1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Yt1wiO1xufVxuXG4uZmEtdHJhaWxlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BgVwiO1xufVxuXG4uZmEtdHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLviLhcIjtcbn1cblxuLmZhLXRyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvn5pcIjtcbn1cblxuLmZhLXRyYW5zZ2VuZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ikXCI7XG59XG5cbi5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKVcIjtcbn1cblxuLmZhLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74e4XCI7XG59XG5cbi5mYS10cmFzaC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvi61cIjtcbn1cblxuLmZhLXRyYXNoLXJlc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoKlcIjtcbn1cblxuLmZhLXRyYXNoLXJlc3RvcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CqXCI7XG59XG5cbi5mYS10cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74a7XCI7XG59XG5cbi5mYS10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhoFcIjtcbn1cblxuLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74miXCI7XG59XG5cbi5mYS10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgpFcIjtcbn1cblxuLmZhLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ORXCI7XG59XG5cbi5mYS10cnVjay1sb2FkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75OeXCI7XG59XG5cbi5mYS10cnVjay1tb25zdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75i7XCI7XG59XG5cbi5mYS10cnVjay1tb3Zpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk59cIjtcbn1cblxuLmZhLXRydWNrLXBpY2t1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+YvFwiO1xufVxuXG4uZmEtdHNoaXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75WTXCI7XG59XG5cbi5mYS10dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6RcIjtcbn1cblxuLmZhLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fs1wiO1xufVxuXG4uZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FtFwiO1xufVxuXG4uZmEtdHY6YmVmb3JlIHtcbiAgY29udGVudDogXCLviaxcIjtcbn1cblxuLmZhLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HqFwiO1xufVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CmVwiO1xufVxuXG4uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgoFcIjtcbn1cblxuLmZhLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CrXCI7XG59XG5cbi5mYS11YmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CCXCI7XG59XG5cbi5mYS11YnVudHU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvn59cIjtcbn1cblxuLmZhLXVpa2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CDXCI7XG59XG5cbi5mYS11bWJyYWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76OoXCI7XG59XG5cbi5mYS11bWJyZWxsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DqVwiO1xufVxuXG4uZmEtdW1icmVsbGEtYmVhY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4pcIjtcbn1cblxuLmZhLXVuY2hhcnRlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ChFwiO1xufVxuXG4uZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ONXCI7XG59XG5cbi5mYS11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OiXCI7XG59XG5cbi5mYS11bmRvLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LqlwiO1xufVxuXG4uZmEtdW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIRcIjtcbn1cblxuLmZhLXVuaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oGJXCI7XG59XG5cbi5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qaXCI7XG59XG5cbi5mYS11bml2ZXJzaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74acXCI7XG59XG5cbi5mYS11bmxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhKdcIjtcbn1cblxuLmZhLXVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+CnFwiO1xufVxuXG4uZmEtdW5sb2NrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EvlwiO1xufVxuXG4uZmEtdW5zcGxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbxcIjtcbn1cblxuLmZhLXVudGFwcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIVcIjtcbn1cblxuLmZhLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ck1wiO1xufVxuXG4uZmEtdXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+gXCI7XG59XG5cbi5mYS11c2I6YmVmb3JlIHtcbiAgY29udGVudDogXCLviodcIjtcbn1cblxuLmZhLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIdcIjtcbn1cblxuLmZhLXVzZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CGXCI7XG59XG5cbi5mYS11c2VyLWFsdC1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TulwiO1xufVxuXG4uZmEtdXNlci1hc3Ryb25hdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7tcIjtcbn1cblxuLmZhLXVzZXItY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk7xcIjtcbn1cblxuLmZhLXVzZXItY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74q9XCI7XG59XG5cbi5mYS11c2VyLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O9XCI7XG59XG5cbi5mYS11c2VyLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TvlwiO1xufVxuXG4uZmEtdXNlci1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75O/XCI7XG59XG5cbi5mYS11c2VyLWZyaWVuZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIBcIjtcbn1cblxuLmZhLXVzZXItZ3JhZHVhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIFcIjtcbn1cblxuLmZhLXVzZXItaW5qdXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cqFwiO1xufVxuXG4uZmEtdXNlci1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SCXCI7XG59XG5cbi5mYS11c2VyLW1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OwXCI7XG59XG5cbi5mYS11c2VyLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SDXCI7XG59XG5cbi5mYS11c2VyLW5pbmphOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SEXCI7XG59XG5cbi5mYS11c2VyLW51cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76CvXCI7XG59XG5cbi5mYS11c2VyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLRcIjtcbn1cblxuLmZhLXVzZXItc2VjcmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ibXCI7XG59XG5cbi5mYS11c2VyLXNoaWVsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UhVwiO1xufVxuXG4uZmEtdXNlci1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+UhlwiO1xufVxuXG4uZmEtdXNlci10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlIdcIjtcbn1cblxuLmZhLXVzZXItdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SIXCI7XG59XG5cbi5mYS11c2VyLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i1XCI7XG59XG5cbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DgFwiO1xufVxuXG4uZmEtdXNlcnMtY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SJXCI7XG59XG5cbi5mYS11c2Vycy1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6Bs1wiO1xufVxuXG4uZmEtdXNwczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+foVwiO1xufVxuXG4uZmEtdXNzdW5uYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIdcIjtcbn1cblxuLmZhLXV0ZW5zaWwtc3Bvb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvi6VcIjtcbn1cblxuLmZhLXV0ZW5zaWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74unXCI7XG59XG5cbi5mYS12YWFkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIhcIjtcbn1cblxuLmZhLXZlY3Rvci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl4tcIjtcbn1cblxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ihXCI7XG59XG5cbi5mYS12ZW51cy1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKZcIjtcbn1cblxuLmZhLXZlbnVzLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCLviKhcIjtcbn1cblxuLmZhLXZlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLugoVcIjtcbn1cblxuLmZhLXZlc3QtcGF0Y2hlczpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ChlwiO1xufVxuXG4uZmEtdmlhY29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+It1wiO1xufVxuXG4uZmEtdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qpXCI7XG59XG5cbi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qqXCI7XG59XG5cbi5mYS12aWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KSXCI7XG59XG5cbi5mYS12aWFsczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Sk1wiO1xufVxuXG4uZmEtdmliZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkIlcIjtcbn1cblxuLmZhLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74C9XCI7XG59XG5cbi5mYS12aWRlby1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+TolwiO1xufVxuXG4uZmEtdmloYXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75qnXCI7XG59XG5cbi5mYS12aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QilwiO1xufVxuXG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aUXCI7XG59XG5cbi5mYS12aW1lby12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74m9XCI7XG59XG5cbi5mYS12aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eKXCI7XG59XG5cbi5mYS12aXJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6BtFwiO1xufVxuXG4uZmEtdmlydXMtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbVcIjtcbn1cblxuLmZhLXZpcnVzZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLugbZcIjtcbn1cblxuLmZhLXZrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aJXCI7XG59XG5cbi5mYS12bnY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkItcIjtcbn1cblxuLmZhLXZvaWNlbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+il1wiO1xufVxuXG4uZmEtdm9sbGV5YmFsbC1iYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75GfXCI7XG59XG5cbi5mYS12b2x1bWUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ap1wiO1xufVxuXG4uZmEtdm9sdW1lLW11dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmqlcIjtcbn1cblxuLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKZcIjtcbn1cblxuLmZhLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AqFwiO1xufVxuXG4uZmEtdm90ZS15ZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnbJcIjtcbn1cblxuLmZhLXZyLWNhcmRib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+cqVwiO1xufVxuXG4uZmEtdnVlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJ9cIjtcbn1cblxuLmZhLXdhbGtpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvlZRcIjtcbn1cblxuLmZhLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+VlVwiO1xufVxuXG4uZmEtd2FyZWhvdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KUXCI7XG59XG5cbi5mYS13YXRjaG1hbi1tb25pdG9yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKHXCI7XG59XG5cbi5mYS13YXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+ds1wiO1xufVxuXG4uZmEtd2F2ZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoL5cIjtcbn1cblxuLmZhLXdhemU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvoL9cIjtcbn1cblxuLmZhLXdlZWJseTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+XjFwiO1xufVxuXG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCLvhopcIjtcbn1cblxuLmZhLXdlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+SllwiO1xufVxuXG4uZmEtd2VpZ2h0LWhhbmdpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl41cIjtcbn1cblxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hl1wiO1xufVxuXG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCLviLJcIjtcbn1cblxuLmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QjFwiO1xufVxuXG4uZmEtd2hlZWxjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Gk1wiO1xufVxuXG4uZmEtd2htY3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkI1cIjtcbn1cblxuLmZhLXdpZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvh6tcIjtcbn1cblxuLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74mmXCI7XG59XG5cbi5mYS13aW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75yuXCI7XG59XG5cbi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJBcIjtcbn1cblxuLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LkFwiO1xufVxuXG4uZmEtd2luZG93LW1pbmltaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74uRXCI7XG59XG5cbi5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+LklwiO1xufVxuXG4uZmEtd2luZG93czpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FulwiO1xufVxuXG4uZmEtd2luZS1ib3R0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvnK9cIjtcbn1cblxuLmZhLXdpbmUtZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvk6NcIjtcbn1cblxuLmZhLXdpbmUtZ2xhc3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75eOXCI7XG59XG5cbi5mYS13aXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvl49cIjtcbn1cblxuLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75ywXCI7XG59XG5cbi5mYS13b2R1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7oKIXCI7XG59XG5cbi5mYS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75SUXCI7XG59XG5cbi5mYS13b24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FmVwiO1xufVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74aaXCI7XG59XG5cbi5mYS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CRXCI7XG59XG5cbi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qXXCI7XG59XG5cbi5mYS13cGV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74ueXCI7XG59XG5cbi5mYS13cGZvcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qYXCI7XG59XG5cbi5mYS13cHJlc3NyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74+kXCI7XG59XG5cbi5mYS13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgq1cIjtcbn1cblxuLmZhLXgtcmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75KXXCI7XG59XG5cbi5mYS14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CSXCI7XG59XG5cbi5mYS14aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WoXCI7XG59XG5cbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FqVwiO1xufVxuXG4uZmEteS1jb21iaW5hdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74i7XCI7XG59XG5cbi5mYS15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIu+GnlwiO1xufVxuXG4uZmEteWFtbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76GAXCI7XG59XG5cbi5mYS15YW5kZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCLvkJNcIjtcbn1cblxuLmZhLXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75CUXCI7XG59XG5cbi5mYS15YXJuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75+jXCI7XG59XG5cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74epXCI7XG59XG5cbi5mYS15ZW4tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fl1wiO1xufVxuXG4uZmEteWluLXlhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmq1cIjtcbn1cblxuLmZhLXlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qxXCI7XG59XG5cbi5mYS15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WnXCI7XG59XG5cbi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+QsVwiO1xufVxuXG4uZmEtemhpaHU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvmL9cIjtcbn1cblxuLnNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLmZhciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWVcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLmZhLFxuLmZhcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA1LjE1LjMgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBCcmFuZHNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZVwiKSBmb3JtYXQoXCJzdmdcIik7XG59XG4uZmFiIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgQnJhbmRzXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG46cm9vdCB7XG4gIC0tYmx1ZTogIzM0OTBkYztcbiAgLS1pbmRpZ286ICM2NTc0Y2Q7XG4gIC0tcHVycGxlOiAjOTU2MWUyO1xuICAtLXBpbms6ICNmNjZkOWI7XG4gIC0tcmVkOiAjZTMzNDJmO1xuICAtLW9yYW5nZTogI2Y2OTkzZjtcbiAgLS15ZWxsb3c6ICNmZmVkNGE7XG4gIC0tZ3JlZW46ICMzOGMxNzI7XG4gIC0tdGVhbDogIzRkYzBiNTtcbiAgLS1jeWFuOiAjNmNiMmViO1xuICAtLXdoaXRlOiAjZmZmO1xuICAtLWdyYXk6ICM2Yzc1N2Q7XG4gIC0tZ3JheS1kYXJrOiAjMzQzYTQwO1xuICAtLXByaW1hcnk6ICMzNDkwZGM7XG4gIC0tc2Vjb25kYXJ5OiAjNmM3NTdkO1xuICAtLXN1Y2Nlc3M6ICMzOGMxNzI7XG4gIC0taW5mbzogIzZjYjJlYjtcbiAgLS13YXJuaW5nOiAjZmZlZDRhO1xuICAtLWRhbmdlcjogI2UzMzQyZjtcbiAgLS1saWdodDogI2Y4ZjlmYTtcbiAgLS1kYXJrOiAjMzQzYTQwO1xuICAtLWJyZWFrcG9pbnQteHM6IDA7XG4gIC0tYnJlYWtwb2ludC1zbTogNTc2cHg7XG4gIC0tYnJlYWtwb2ludC1tZDogNzY4cHg7XG4gIC0tYnJlYWtwb2ludC1sZzogOTkycHg7XG4gIC0tYnJlYWtwb2ludC14bDogMTIwMHB4O1xuICAtLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7XG59XG5cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbn1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuYSB7XG4gIGNvbG9yOiAjMzQ5MGRjO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMWQ2OGE3O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxucHJlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbnN2ZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50O1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5bcm9sZT1idXR0b25dIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLFxuW3R5cGU9YnV0dG9uXTpub3QoOmRpc2FibGVkKSxcblt0eXBlPXJlc2V0XTpub3QoOmRpc2FibGVkKSxcblt0eXBlPXN1Ym1pdF06bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXJhZGlvXSxcbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbn1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjU3NXJlbTtcbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4zNXJlbTtcbn1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiA2cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiA1LjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6IDQuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmRpc3BsYXktNCB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzO1xufVxuXG4ubGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmxpc3QtaW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5saXN0LWlubGluZS1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cbi5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJTCoFwiO1xufVxuXG4uaW1nLWZsdWlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5maWd1cmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNmM3NTdkO1xufVxuXG5jb2RlIHtcbiAgZm9udC1zaXplOiA4Ny41JTtcbiAgY29sb3I6ICNmNjZkOWI7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbmEgPiBjb2RlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gIGZvbnQtc2l6ZTogODcuNSU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNTI5O1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG59XG5rYmQga2JkIHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4Ny41JTtcbiAgY29sb3I6ICMyMTI1Mjk7XG59XG5wcmUgY29kZSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbn1cblxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogMzQwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQsXG4uY29udGFpbmVyLXhsLFxuLmNvbnRhaW5lci1sZyxcbi5jb250YWluZXItbWQsXG4uY29udGFpbmVyLXNtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb250YWluZXItc20sIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbnRhaW5lci1sZywgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFpbmVyLXhsLCAuY29udGFpbmVyLWxnLCAuY29udGFpbmVyLW1kLCAuY29udGFpbmVyLXNtLCAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcbiAgfVxufVxuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuXG4ubm8tZ3V0dGVycyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ubm8tZ3V0dGVycyA+IC5jb2wsXG4ubm8tZ3V0dGVycyA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jb2wteGwsXG4uY29sLXhsLWF1dG8sIC5jb2wteGwtMTIsIC5jb2wteGwtMTEsIC5jb2wteGwtMTAsIC5jb2wteGwtOSwgLmNvbC14bC04LCAuY29sLXhsLTcsIC5jb2wteGwtNiwgLmNvbC14bC01LCAuY29sLXhsLTQsIC5jb2wteGwtMywgLmNvbC14bC0yLCAuY29sLXhsLTEsIC5jb2wtbGcsXG4uY29sLWxnLWF1dG8sIC5jb2wtbGctMTIsIC5jb2wtbGctMTEsIC5jb2wtbGctMTAsIC5jb2wtbGctOSwgLmNvbC1sZy04LCAuY29sLWxnLTcsIC5jb2wtbGctNiwgLmNvbC1sZy01LCAuY29sLWxnLTQsIC5jb2wtbGctMywgLmNvbC1sZy0yLCAuY29sLWxnLTEsIC5jb2wtbWQsXG4uY29sLW1kLWF1dG8sIC5jb2wtbWQtMTIsIC5jb2wtbWQtMTEsIC5jb2wtbWQtMTAsIC5jb2wtbWQtOSwgLmNvbC1tZC04LCAuY29sLW1kLTcsIC5jb2wtbWQtNiwgLmNvbC1tZC01LCAuY29sLW1kLTQsIC5jb2wtbWQtMywgLmNvbC1tZC0yLCAuY29sLW1kLTEsIC5jb2wtc20sXG4uY29sLXNtLWF1dG8sIC5jb2wtc20tMTIsIC5jb2wtc20tMTEsIC5jb2wtc20tMTAsIC5jb2wtc20tOSwgLmNvbC1zbS04LCAuY29sLXNtLTcsIC5jb2wtc20tNiwgLmNvbC1zbS01LCAuY29sLXNtLTQsIC5jb2wtc20tMywgLmNvbC1zbS0yLCAuY29sLXNtLTEsIC5jb2wsXG4uY29sLWF1dG8sIC5jb2wtMTIsIC5jb2wtMTEsIC5jb2wtMTAsIC5jb2wtOSwgLmNvbC04LCAuY29sLTcsIC5jb2wtNiwgLmNvbC01LCAuY29sLTQsIC5jb2wtMywgLmNvbC0yLCAuY29sLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5jb2wge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnJvdy1jb2xzLTEgPiAqIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnJvdy1jb2xzLTIgPiAqIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5yb3ctY29scy0zID4gKiB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnJvdy1jb2xzLTQgPiAqIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5yb3ctY29scy01ID4gKiB7XG4gIGZsZXg6IDAgMCAyMCU7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4ucm93LWNvbHMtNiA+ICoge1xuICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wtYXV0byB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29sLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMzMzMyU7XG59XG5cbi5jb2wtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjY2NjclO1xufVxuXG4uY29sLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLmNvbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG5cbi5jb2wtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjY2NjclO1xufVxuXG4uY29sLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmNvbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMyU7XG59XG5cbi5jb2wtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjY2NjclO1xufVxuXG4uY29sLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTtcbn1cblxuLmNvbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMzMzMlO1xufVxuXG4uY29sLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NyU7XG59XG5cbi5jb2wtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ub3JkZXItZmlyc3Qge1xuICBvcmRlcjogLTE7XG59XG5cbi5vcmRlci1sYXN0IHtcbiAgb3JkZXI6IDEzO1xufVxuXG4ub3JkZXItMCB7XG4gIG9yZGVyOiAwO1xufVxuXG4ub3JkZXItMSB7XG4gIG9yZGVyOiAxO1xufVxuXG4ub3JkZXItMiB7XG4gIG9yZGVyOiAyO1xufVxuXG4ub3JkZXItMyB7XG4gIG9yZGVyOiAzO1xufVxuXG4ub3JkZXItNCB7XG4gIG9yZGVyOiA0O1xufVxuXG4ub3JkZXItNSB7XG4gIG9yZGVyOiA1O1xufVxuXG4ub3JkZXItNiB7XG4gIG9yZGVyOiA2O1xufVxuXG4ub3JkZXItNyB7XG4gIG9yZGVyOiA3O1xufVxuXG4ub3JkZXItOCB7XG4gIG9yZGVyOiA4O1xufVxuXG4ub3JkZXItOSB7XG4gIG9yZGVyOiA5O1xufVxuXG4ub3JkZXItMTAge1xuICBvcmRlcjogMTA7XG59XG5cbi5vcmRlci0xMSB7XG4gIG9yZGVyOiAxMTtcbn1cblxuLm9yZGVyLTEyIHtcbiAgb3JkZXI6IDEyO1xufVxuXG4ub2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG59XG5cbi5vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XG59XG5cbi5vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG59XG5cbi5vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XG59XG5cbi5vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG59XG5cbi5vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XG59XG5cbi5vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xufVxuXG4ub2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb2wtc20ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS0xID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXNtLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLXNtLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS00ID4gKiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS01ID4gKiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1zbS02ID4gKiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb2wtc20tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXNtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sLXNtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cblxuICAuY29sLXNtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXNtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cblxuICAuY29sLXNtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1zbS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtc20tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5vcmRlci1zbS1maXJzdCB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG5cbiAgLm9yZGVyLXNtLWxhc3Qge1xuICAgIG9yZGVyOiAxMztcbiAgfVxuXG4gIC5vcmRlci1zbS0wIHtcbiAgICBvcmRlcjogMDtcbiAgfVxuXG4gIC5vcmRlci1zbS0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuXG4gIC5vcmRlci1zbS0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuXG4gIC5vcmRlci1zbS0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuXG4gIC5vcmRlci1zbS00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuXG4gIC5vcmRlci1zbS01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuXG4gIC5vcmRlci1zbS02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxuXG4gIC5vcmRlci1zbS03IHtcbiAgICBvcmRlcjogNztcbiAgfVxuXG4gIC5vcmRlci1zbS04IHtcbiAgICBvcmRlcjogODtcbiAgfVxuXG4gIC5vcmRlci1zbS05IHtcbiAgICBvcmRlcjogOTtcbiAgfVxuXG4gIC5vcmRlci1zbS0xMCB7XG4gICAgb3JkZXI6IDEwO1xuICB9XG5cbiAgLm9yZGVyLXNtLTExIHtcbiAgICBvcmRlcjogMTE7XG4gIH1cblxuICAub3JkZXItc20tMTIge1xuICAgIG9yZGVyOiAxMjtcbiAgfVxuXG4gIC5vZmZzZXQtc20tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAub2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuXG4gIC5vZmZzZXQtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXNtLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC1tZCB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLW1kLTEgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucm93LWNvbHMtbWQtMiA+ICoge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cblxuICAucm93LWNvbHMtbWQtMyA+ICoge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG5cbiAgLnJvdy1jb2xzLW1kLTQgPiAqIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG5cbiAgLnJvdy1jb2xzLW1kLTUgPiAqIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG5cbiAgLnJvdy1jb2xzLW1kLTYgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtYXV0byB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbC1tZC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbWQtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuXG4gIC5jb2wtbWQtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbWQtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5jb2wtbWQtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbWQtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuXG4gIC5jb2wtbWQtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuXG4gIC5jb2wtbWQtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cblxuICAuY29sLW1kLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1tZC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm9yZGVyLW1kLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7XG4gIH1cblxuICAub3JkZXItbWQtbGFzdCB7XG4gICAgb3JkZXI6IDEzO1xuICB9XG5cbiAgLm9yZGVyLW1kLTAge1xuICAgIG9yZGVyOiAwO1xuICB9XG5cbiAgLm9yZGVyLW1kLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG5cbiAgLm9yZGVyLW1kLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgLm9yZGVyLW1kLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG5cbiAgLm9yZGVyLW1kLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG5cbiAgLm9yZGVyLW1kLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG5cbiAgLm9yZGVyLW1kLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG5cbiAgLm9yZGVyLW1kLTcge1xuICAgIG9yZGVyOiA3O1xuICB9XG5cbiAgLm9yZGVyLW1kLTgge1xuICAgIG9yZGVyOiA4O1xuICB9XG5cbiAgLm9yZGVyLW1kLTkge1xuICAgIG9yZGVyOiA5O1xuICB9XG5cbiAgLm9yZGVyLW1kLTEwIHtcbiAgICBvcmRlcjogMTA7XG4gIH1cblxuICAub3JkZXItbWQtMTEge1xuICAgIG9yZGVyOiAxMTtcbiAgfVxuXG4gIC5vcmRlci1tZC0xMiB7XG4gICAgb3JkZXI6IDEyO1xuICB9XG5cbiAgLm9mZnNldC1tZC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1tZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG5cbiAgLm9mZnNldC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1tZC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG5cbiAgLm9mZnNldC1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1tZC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xuICB9XG5cbiAgLm9mZnNldC1tZC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG5cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5vZmZzZXQtbWQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLWxnIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucm93LWNvbHMtbGctMSA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy0yID4gKiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5yb3ctY29scy1sZy0zID4gKiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAucm93LWNvbHMtbGctNCA+ICoge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAucm93LWNvbHMtbGctNSA+ICoge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cblxuICAucm93LWNvbHMtbGctNiA+ICoge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29sLWxnLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1sZy0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG5cbiAgLmNvbC1sZy00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1sZy01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC1sZy03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC1sZy05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG5cbiAgLmNvbC1sZy0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wtbGctMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLWxnLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAub3JkZXItbGctZmlyc3Qge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuXG4gIC5vcmRlci1sZy1sYXN0IHtcbiAgICBvcmRlcjogMTM7XG4gIH1cblxuICAub3JkZXItbGctMCB7XG4gICAgb3JkZXI6IDA7XG4gIH1cblxuICAub3JkZXItbGctMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cblxuICAub3JkZXItbGctMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICAub3JkZXItbGctMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cblxuICAub3JkZXItbGctNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cblxuICAub3JkZXItbGctNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cblxuICAub3JkZXItbGctNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cblxuICAub3JkZXItbGctNyB7XG4gICAgb3JkZXI6IDc7XG4gIH1cblxuICAub3JkZXItbGctOCB7XG4gICAgb3JkZXI6IDg7XG4gIH1cblxuICAub3JkZXItbGctOSB7XG4gICAgb3JkZXI6IDk7XG4gIH1cblxuICAub3JkZXItbGctMTAge1xuICAgIG9yZGVyOiAxMDtcbiAgfVxuXG4gIC5vcmRlci1sZy0xMSB7XG4gICAgb3JkZXI6IDExO1xuICB9XG5cbiAgLm9yZGVyLWxnLTEyIHtcbiAgICBvcmRlcjogMTI7XG4gIH1cblxuICAub2Zmc2V0LWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLm9mZnNldC1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cblxuICAub2Zmc2V0LWxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC1sZy0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sLXhsIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucm93LWNvbHMteGwtMSA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3ctY29scy14bC0yID4gKiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuXG4gIC5yb3ctY29scy14bC0zID4gKiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cblxuICAucm93LWNvbHMteGwtNCA+ICoge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cblxuICAucm93LWNvbHMteGwtNSA+ICoge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cblxuICAucm93LWNvbHMteGwtNiA+ICoge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29sLXhsLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG5cbiAgLmNvbC14bC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bC01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgLmNvbC14bC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMzMzMlO1xuICB9XG5cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG5cbiAgLmNvbC14bC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG5cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuXG4gIC5jb2wteGwtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cblxuICAuY29sLXhsLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAub3JkZXIteGwtZmlyc3Qge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuXG4gIC5vcmRlci14bC1sYXN0IHtcbiAgICBvcmRlcjogMTM7XG4gIH1cblxuICAub3JkZXIteGwtMCB7XG4gICAgb3JkZXI6IDA7XG4gIH1cblxuICAub3JkZXIteGwtMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cblxuICAub3JkZXIteGwtMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICAub3JkZXIteGwtMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cblxuICAub3JkZXIteGwtNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cblxuICAub3JkZXIteGwtNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cblxuICAub3JkZXIteGwtNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cblxuICAub3JkZXIteGwtNyB7XG4gICAgb3JkZXI6IDc7XG4gIH1cblxuICAub3JkZXIteGwtOCB7XG4gICAgb3JkZXI6IDg7XG4gIH1cblxuICAub3JkZXIteGwtOSB7XG4gICAgb3JkZXI6IDk7XG4gIH1cblxuICAub3JkZXIteGwtMTAge1xuICAgIG9yZGVyOiAxMDtcbiAgfVxuXG4gIC5vcmRlci14bC0xMSB7XG4gICAgb3JkZXI6IDExO1xuICB9XG5cbiAgLm9yZGVyLXhsLTEyIHtcbiAgICBvcmRlcjogMTI7XG4gIH1cblxuICAub2Zmc2V0LXhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLm9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cblxuICAub2Zmc2V0LXhsLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlO1xuICB9XG5cbiAgLm9mZnNldC14bC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTtcbiAgfVxufVxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGNvbG9yOiAjMjEyNTI5O1xufVxuLnRhYmxlIHRoLFxuLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTY7XG59XG4udGFibGUgdGhlYWQgdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RlZTJlNjtcbn1cbi50YWJsZSB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZWUyZTY7XG59XG5cbi50YWJsZS1zbSB0aCxcbi50YWJsZS1zbSB0ZCB7XG4gIHBhZGRpbmc6IDAuM3JlbTtcbn1cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbn1cbi50YWJsZS1ib3JkZXJlZCB0aCxcbi50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG59XG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGgsXG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHRoLFxuLnRhYmxlLWJvcmRlcmxlc3MgdGQsXG4udGFibGUtYm9yZGVybGVzcyB0aGVhZCB0aCxcbi50YWJsZS1ib3JkZXJsZXNzIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXI6IDA7XG59XG5cbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG5cbi50YWJsZS1wcmltYXJ5LFxuLnRhYmxlLXByaW1hcnkgPiB0aCxcbi50YWJsZS1wcmltYXJ5ID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZlMGY1O1xufVxuLnRhYmxlLXByaW1hcnkgdGgsXG4udGFibGUtcHJpbWFyeSB0ZCxcbi50YWJsZS1wcmltYXJ5IHRoZWFkIHRoLFxuLnRhYmxlLXByaW1hcnkgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogIzk1YzVlZDtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwZDRmMTtcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBkNGYxO1xufVxuXG4udGFibGUtc2Vjb25kYXJ5LFxuLnRhYmxlLXNlY29uZGFyeSA+IHRoLFxuLnRhYmxlLXNlY29uZGFyeSA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkYjtcbn1cbi50YWJsZS1zZWNvbmRhcnkgdGgsXG4udGFibGUtc2Vjb25kYXJ5IHRkLFxuLnRhYmxlLXNlY29uZGFyeSB0aGVhZCB0aCxcbi50YWJsZS1zZWNvbmRhcnkgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogI2IzYjdiYjtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmO1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmO1xufVxuXG4udGFibGUtc3VjY2Vzcyxcbi50YWJsZS1zdWNjZXNzID4gdGgsXG4udGFibGUtc3VjY2VzcyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3ZWVkODtcbn1cbi50YWJsZS1zdWNjZXNzIHRoLFxuLnRhYmxlLXN1Y2Nlc3MgdGQsXG4udGFibGUtc3VjY2VzcyB0aGVhZCB0aCxcbi50YWJsZS1zdWNjZXNzIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICM5OGRmYjY7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2U4Y2E7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZThjYTtcbn1cblxuLnRhYmxlLWluZm8sXG4udGFibGUtaW5mbyA+IHRoLFxuLnRhYmxlLWluZm8gPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmU5Zjk7XG59XG4udGFibGUtaW5mbyB0aCxcbi50YWJsZS1pbmZvIHRkLFxuLnRhYmxlLWluZm8gdGhlYWQgdGgsXG4udGFibGUtaW5mbyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjYjNkN2Y1O1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBkZGY2O1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMGRkZjY7XG59XG5cbi50YWJsZS13YXJuaW5nLFxuLnRhYmxlLXdhcm5pbmcgPiB0aCxcbi50YWJsZS13YXJuaW5nID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYWNjO1xufVxuLnRhYmxlLXdhcm5pbmcgdGgsXG4udGFibGUtd2FybmluZyB0ZCxcbi50YWJsZS13YXJuaW5nIHRoZWFkIHRoLFxuLnRhYmxlLXdhcm5pbmcgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjZhMTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjhiMztcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOGIzO1xufVxuXG4udGFibGUtZGFuZ2VyLFxuLnRhYmxlLWRhbmdlciA+IHRoLFxuLnRhYmxlLWRhbmdlciA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3YzZjNTtcbn1cbi50YWJsZS1kYW5nZXIgdGgsXG4udGFibGUtZGFuZ2VyIHRkLFxuLnRhYmxlLWRhbmdlciB0aGVhZCB0aCxcbi50YWJsZS1kYW5nZXIgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogI2YwOTU5Mztcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRiMGFmO1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRiMGFmO1xufVxuXG4udGFibGUtbGlnaHQsXG4udGFibGUtbGlnaHQgPiB0aCxcbi50YWJsZS1saWdodCA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZTtcbn1cbi50YWJsZS1saWdodCB0aCxcbi50YWJsZS1saWdodCB0ZCxcbi50YWJsZS1saWdodCB0aGVhZCB0aCxcbi50YWJsZS1saWdodCB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmJmY2ZjO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNjtcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7XG59XG5cbi50YWJsZS1kYXJrLFxuLnRhYmxlLWRhcmsgPiB0aCxcbi50YWJsZS1kYXJrID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhO1xufVxuLnRhYmxlLWRhcmsgdGgsXG4udGFibGUtZGFyayB0ZCxcbi50YWJsZS1kYXJrIHRoZWFkIHRoLFxuLnRhYmxlLWRhcmsgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogIzk1OTk5Yztcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTtcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlO1xufVxuXG4udGFibGUtYWN0aXZlLFxuLnRhYmxlLWFjdGl2ZSA+IHRoLFxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufVxuXG4udGFibGUgLnRoZWFkLWRhcmsgdGgge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgYm9yZGVyLWNvbG9yOiAjNDU0ZDU1O1xufVxuLnRhYmxlIC50aGVhZC1saWdodCB0aCB7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXItY29sb3I6ICNkZWUyZTY7XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG59XG4udGFibGUtZGFyayB0aCxcbi50YWJsZS1kYXJrIHRkLFxuLnRhYmxlLWRhcmsgdGhlYWQgdGgge1xuICBib3JkZXItY29sb3I6ICM0NTRkNTU7XG59XG4udGFibGUtZGFyay50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMDtcbn1cbi50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG59XG4udGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDc1KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS1zbSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUtbWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLW1kID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS14bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUteGwgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMS42ZW0gKyAwLjc1cmVtICsgMnB4KTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZm9ybS1jb250cm9sOjotbXMtZXhwYW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjYTFjYmVmO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgMTQ0LCAyMjAsIDAuMjUpO1xufVxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgb3BhY2l0eTogMTtcbn1cbi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgb3BhY2l0eTogMTtcbn1cblxuaW5wdXRbdHlwZT1kYXRlXS5mb3JtLWNvbnRyb2wsXG5pbnB1dFt0eXBlPXRpbWVdLmZvcm0tY29udHJvbCxcbmlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLmZvcm0tY29udHJvbCxcbmlucHV0W3R5cGU9bW9udGhdLmZvcm0tY29udHJvbCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2w6LW1vei1mb2N1c3Jpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgMCAjNDk1MDU3O1xufVxuc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMzc1cmVtICsgMXB4KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4zNzVyZW0gKyAxcHgpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuNXJlbSArIDFweCk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSArIDFweCk7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKyAxcHgpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjI1cmVtICsgMXB4KTtcbiAgZm9udC1zaXplOiAwLjc4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDFweCAwO1xufVxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLXNtLCAuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sW3NpemVdLCBzZWxlY3QuZm9ybS1jb250cm9sW211bHRpcGxlXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cblxuLmZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xufVxuLmZvcm0tcm93ID4gLmNvbCxcbi5mb3JtLXJvdyA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4uZm9ybS1jaGVjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IDAuM3JlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xufVxuLmZvcm0tY2hlY2staW5wdXRbZGlzYWJsZWRdIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi52YWxpZC1mZWVkYmFjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGNvbG9yOiAjMzhjMTcyO1xufVxuXG4udmFsaWQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC43ODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NiwgMTkzLCAxMTQsIDAuOSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4uZm9ybS1yb3cgPiAuY29sID4gLnZhbGlkLXRvb2x0aXAsIC5mb3JtLXJvdyA+IFtjbGFzcyo9Y29sLV0gPiAudmFsaWQtdG9vbHRpcCB7XG4gIGxlZnQ6IDVweDtcbn1cblxuLndhcy12YWxpZGF0ZWQgOnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLFxuLndhcy12YWxpZGF0ZWQgOnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsXG4uaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4uaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzhjMTcyO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEuNmVtICsgMC43NXJlbSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMzOGMxNzInIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNhbGMoMC40ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuOGVtICsgMC4zNzVyZW0pIGNhbGMoMC44ZW0gKyAwLjM3NXJlbSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzhjMTcyO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1NiwgMTkzLCAxMTQsIDAuMjUpO1xufVxuXG4ud2FzLXZhbGlkYXRlZCBzZWxlY3QuZm9ybS1jb250cm9sOnZhbGlkLCBzZWxlY3QuZm9ybS1jb250cm9sLmlzLXZhbGlkIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjVyZW0gY2VudGVyO1xufVxuXG4ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6dmFsaWQsIHRleHRhcmVhLmZvcm0tY29udHJvbC5pcy12YWxpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS42ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoMC40ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC40ZW0gKyAwLjE4NzVyZW0pO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZCwgLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQge1xuICBib3JkZXItY29sb3I6ICMzOGMxNzI7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC43NWVtICsgMi4zMTI1cmVtKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSByaWdodCAwLjc1cmVtIGNlbnRlci84cHggMTBweCBuby1yZXBlYXQsICNmZmYgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMzOGMxNzInIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2VcIikgY2VudGVyIHJpZ2h0IDEuNzVyZW0vY2FsYygwLjhlbSArIDAuMzc1cmVtKSBjYWxjKDAuOGVtICsgMC4zNzVyZW0pIG5vLXJlcGVhdDtcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkOmZvY3VzLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzM4YzE3MjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTYsIDE5MywgMTE0LCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCwgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAjMzhjMTcyO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC1mZWVkYmFjayxcbi5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogIzM4YzE3Mjtcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzM4YzE3Mjtcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM1Y2QwOGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2QwOGQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1NiwgMTkzLCAxMTQsIDAuMjUpO1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzM4YzE3Mjtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICBib3JkZXItY29sb3I6ICMzOGMxNzI7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzM4YzE3MjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTYsIDE5MywgMTE0LCAwLjI1KTtcbn1cblxuLmludmFsaWQtZmVlZGJhY2sge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogI2UzMzQyZjtcbn1cblxuLmludmFsaWQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gIGZvbnQtc2l6ZTogMC43ODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjcsIDUyLCA0NywgMC45KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5mb3JtLXJvdyA+IC5jb2wgPiAuaW52YWxpZC10b29sdGlwLCAuZm9ybS1yb3cgPiBbY2xhc3MqPWNvbC1dID4gLmludmFsaWQtdG9vbHRpcCB7XG4gIGxlZnQ6IDVweDtcbn1cblxuLndhcy12YWxpZGF0ZWQgOmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCxcbi5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4uaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBib3JkZXItY29sb3I6ICNlMzM0MmY7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS42ZW0gKyAwLjc1cmVtKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyUyM2UzMzQyZicgdmlld0JveD0nMCAwIDEyIDEyJyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2UzMzQyZicgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuNGVtICsgMC4xODc1cmVtKSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY2FsYygwLjhlbSArIDAuMzc1cmVtKSBjYWxjKDAuOGVtICsgMC4zNzVyZW0pO1xufVxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNlMzM0MmY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyNywgNTIsIDQ3LCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgc2VsZWN0LmZvcm0tY29udHJvbDppbnZhbGlkLCBzZWxlY3QuZm9ybS1jb250cm9sLmlzLWludmFsaWQge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuNXJlbSBjZW50ZXI7XG59XG5cbi53YXMtdmFsaWRhdGVkIHRleHRhcmVhLmZvcm0tY29udHJvbDppbnZhbGlkLCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMS42ZW0gKyAwLjc1cmVtKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNhbGMoMC40ZW0gKyAwLjE4NzVyZW0pIHJpZ2h0IGNhbGMoMC40ZW0gKyAwLjE4NzVyZW0pO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkLCAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTMzNDJmO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNzVlbSArIDIuMzEyNXJlbSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2VcIikgcmlnaHQgMC43NXJlbSBjZW50ZXIvOHB4IDEwcHggbm8tcmVwZWF0LCAjZmZmIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZTMzNDJmJyB2aWV3Qm94PScwIDAgMTIgMTInJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZTMzNDJmJyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2VcIikgY2VudGVyIHJpZ2h0IDEuNzVyZW0vY2FsYygwLjhlbSArIDAuMzc1cmVtKSBjYWxjKDAuOGVtICsgMC4zNzVyZW0pIG5vLXJlcGVhdDtcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMsIC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNlMzM0MmY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyNywgNTIsIDQ3LCAwLjI1KTtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICBjb2xvcjogI2UzMzQyZjtcbn1cbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjayxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssXG4uZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogI2UzMzQyZjtcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICNlMzM0MmY7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2U5NjA1YztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5NjA1Yztcbn1cbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjcsIDUyLCA0NywgMC4yNSk7XG59XG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2UzMzQyZjtcbn1cblxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTMzNDJmO1xufVxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTMzNDJmO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjcsIDUyLCA0NywgMC4yNSk7XG59XG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZm9ybS1pbmxpbmUgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCxcbi5mb3JtLWlubGluZSAuY3VzdG9tLXNlbGVjdCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5mb3JtLWlubGluZSAuY3VzdG9tLWNvbnRyb2wge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5idG4ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5idG46aG92ZXIge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJ0bjpmb2N1cywgLmJ0bi5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCAxNDQsIDIyMCwgMC4yNSk7XG59XG4uYnRuLmRpc2FibGVkLCAuYnRuOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC42NTtcbn1cbi5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5hLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xuICBib3JkZXItY29sb3I6ICMzNDkwZGM7XG59XG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyN2RjNztcbiAgYm9yZGVyLWNvbG9yOiAjMjE3NmJkO1xufVxuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyN2RjNztcbiAgYm9yZGVyLWNvbG9yOiAjMjE3NmJkO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MiwgMTYxLCAyMjUsIDAuNSk7XG59XG4uYnRuLXByaW1hcnkuZGlzYWJsZWQsIC5idG4tcHJpbWFyeTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xuICBib3JkZXItY29sb3I6ICMzNDkwZGM7XG59XG4uYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxNzZiZDtcbiAgYm9yZGVyLWNvbG9yOiAjMWY2ZmIyO1xufVxuLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoODIsIDE2MSwgMjI1LCAwLjUpO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG59XG4uYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWE2MjY4O1xuICBib3JkZXItY29sb3I6ICM1NDViNjI7XG59XG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnkuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODtcbiAgYm9yZGVyLWNvbG9yOiAjNTQ1YjYyO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMzAsIDEzOCwgMTQ1LCAwLjUpO1xufVxuLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQsIC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDtcbn1cbi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyO1xuICBib3JkZXItY29sb3I6ICM0ZTU1NWI7XG59XG4uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMzAsIDEzOCwgMTQ1LCAwLjUpO1xufVxuXG4uYnRuLXN1Y2Nlc3Mge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4YzE3MjtcbiAgYm9yZGVyLWNvbG9yOiAjMzhjMTcyO1xufVxuLmJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmEzNjA7XG4gIGJvcmRlci1jb2xvcjogIzJkOTk1Yjtcbn1cbi5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZmEzNjA7XG4gIGJvcmRlci1jb2xvcjogIzJkOTk1YjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoODYsIDIwMiwgMTM1LCAwLjUpO1xufVxuLmJ0bi1zdWNjZXNzLmRpc2FibGVkLCAuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4YzE3MjtcbiAgYm9yZGVyLWNvbG9yOiAjMzhjMTcyO1xufVxuLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDk5NWI7XG4gIGJvcmRlci1jb2xvcjogIzJhOTA1NTtcbn1cbi5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDg2LCAyMDIsIDEzNSwgMC41KTtcbn1cblxuLmJ0bi1pbmZvIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Y2IyZWI7XG4gIGJvcmRlci1jb2xvcjogIzZjYjJlYjtcbn1cbi5idG4taW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFhMGU2O1xuICBib3JkZXItY29sb3I6ICMzZjlhZTU7XG59XG4uYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGFhMGU2O1xuICBib3JkZXItY29sb3I6ICMzZjlhZTU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDk3LCAxNTcsIDIwNiwgMC41KTtcbn1cbi5idG4taW5mby5kaXNhYmxlZCwgLmJ0bi1pbmZvOmRpc2FibGVkIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Y2IyZWI7XG4gIGJvcmRlci1jb2xvcjogIzZjYjJlYjtcbn1cbi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y5YWU1O1xuICBib3JkZXItY29sb3I6ICMzNDk1ZTM7XG59XG4uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg5NywgMTU3LCAyMDYsIDAuNSk7XG59XG5cbi5idG4td2FybmluZyB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDRhO1xuICBib3JkZXItY29sb3I6ICNmZmVkNGE7XG59XG4uYnRuLXdhcm5pbmc6aG92ZXIge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTkyNDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZlODE3O1xufVxuLmJ0bi13YXJuaW5nOmZvY3VzLCAuYnRuLXdhcm5pbmcuZm9jdXMge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTkyNDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZlODE3O1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjIsIDIwNywgNjksIDAuNSk7XG59XG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4td2FybmluZzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDRhO1xuICBib3JkZXItY29sb3I6ICNmZmVkNGE7XG59XG4uYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTgxNztcbiAgYm9yZGVyLWNvbG9yOiAjZmZlNzBhO1xufVxuLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIyLCAyMDcsIDY5LCAwLjUpO1xufVxuXG4uYnRuLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMzNDJmO1xuICBib3JkZXItY29sb3I6ICNlMzM0MmY7XG59XG4uYnRuLWRhbmdlcjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAyMTFjO1xuICBib3JkZXItY29sb3I6ICNjNTFmMWE7XG59XG4uYnRuLWRhbmdlcjpmb2N1cywgLmJ0bi1kYW5nZXIuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwMjExYztcbiAgYm9yZGVyLWNvbG9yOiAjYzUxZjFhO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMzEsIDgyLCA3OCwgMC41KTtcbn1cbi5idG4tZGFuZ2VyLmRpc2FibGVkLCAuYnRuLWRhbmdlcjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMzNDJmO1xuICBib3JkZXItY29sb3I6ICNlMzM0MmY7XG59XG4uYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M1MWYxYTtcbiAgYm9yZGVyLWNvbG9yOiAjYjkxZDE5O1xufVxuLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMxLCA4MiwgNzgsIDAuNSk7XG59XG5cbi5idG4tbGlnaHQge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xufVxuLmJ0bi1saWdodDpob3ZlciB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlNmVhO1xuICBib3JkZXItY29sb3I6ICNkYWUwZTU7XG59XG4uYnRuLWxpZ2h0OmZvY3VzLCAuYnRuLWxpZ2h0LmZvY3VzIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmU2ZWE7XG4gIGJvcmRlci1jb2xvcjogI2RhZTBlNTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjE2LCAyMTcsIDIxOSwgMC41KTtcbn1cbi5idG4tbGlnaHQuZGlzYWJsZWQsIC5idG4tbGlnaHQ6ZGlzYWJsZWQge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhO1xufVxuLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tbGlnaHQuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTU7XG4gIGJvcmRlci1jb2xvcjogI2QzZDlkZjtcbn1cbi5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIxNiwgMjE3LCAyMTksIDAuNSk7XG59XG5cbi5idG4tZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG4uYnRuLWRhcms6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjcyYjtcbiAgYm9yZGVyLWNvbG9yOiAjMWQyMTI0O1xufVxuLmJ0bi1kYXJrOmZvY3VzLCAuYnRuLWRhcmsuZm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjcyYjtcbiAgYm9yZGVyLWNvbG9yOiAjMWQyMTI0O1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg4MiwgODgsIDkzLCAwLjUpO1xufVxuLmJ0bi1kYXJrLmRpc2FibGVkLCAuYnRuLWRhcms6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwO1xufVxuLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQ7XG4gIGJvcmRlci1jb2xvcjogIzE3MWExZDtcbn1cbi5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDgyLCA4OCwgOTMsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgY29sb3I6ICMzNDkwZGM7XG4gIGJvcmRlci1jb2xvcjogIzM0OTBkYztcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDkwZGM7XG4gIGJvcmRlci1jb2xvcjogIzM0OTBkYztcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCAxNDQsIDIyMCwgMC41KTtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjMzQ5MGRjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xuICBib3JkZXItY29sb3I6ICMzNDkwZGM7XG59XG4uYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgMTQ0LCAyMjAsIDAuNSk7XG59XG5cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkO1xufVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcbn1cbi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcbiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkO1xufVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzM4YzE3MjtcbiAgYm9yZGVyLWNvbG9yOiAjMzhjMTcyO1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4YzE3MjtcbiAgYm9yZGVyLWNvbG9yOiAjMzhjMTcyO1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTYsIDE5MywgMTE0LCAwLjUpO1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkIHtcbiAgY29sb3I6ICMzOGMxNzI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOGMxNzI7XG4gIGJvcmRlci1jb2xvcjogIzM4YzE3Mjtcbn1cbi5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDU2LCAxOTMsIDExNCwgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBjb2xvcjogIzZjYjJlYjtcbiAgYm9yZGVyLWNvbG9yOiAjNmNiMmViO1xufVxuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjYjJlYjtcbiAgYm9yZGVyLWNvbG9yOiAjNmNiMmViO1xufVxuLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxNzgsIDIzNSwgMC41KTtcbn1cbi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNmNiMmViO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmNiMmViO1xuICBib3JkZXItY29sb3I6ICM2Y2IyZWI7XG59XG4uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDE3OCwgMjM1LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gIGNvbG9yOiAjZmZlZDRhO1xuICBib3JkZXItY29sb3I6ICNmZmVkNGE7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZzpob3ZlciB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDRhO1xuICBib3JkZXItY29sb3I6ICNmZmVkNGE7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZzpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDIzNywgNzQsIDAuNSk7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQge1xuICBjb2xvcjogI2ZmZWQ0YTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQ0YTtcbiAgYm9yZGVyLWNvbG9yOiAjZmZlZDRhO1xufVxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAyMzcsIDc0LCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtZGFuZ2VyIHtcbiAgY29sb3I6ICNlMzM0MmY7XG4gIGJvcmRlci1jb2xvcjogI2UzMzQyZjtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzMzQyZjtcbiAgYm9yZGVyLWNvbG9yOiAjZTMzNDJmO1xufVxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyNywgNTIsIDQ3LCAwLjUpO1xufVxuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLWRhbmdlcjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZTMzNDJmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTMzNDJmO1xuICBib3JkZXItY29sb3I6ICNlMzM0MmY7XG59XG4uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjcsIDUyLCA0NywgMC41KTtcbn1cblxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcbiAgY29sb3I6ICNmOGY5ZmE7XG4gIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbn1cbi5idG4tb3V0bGluZS1saWdodDpob3ZlciB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG4uYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXMsIC5idG4tb3V0bGluZS1saWdodC5mb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7XG59XG4uYnRuLW91dGxpbmUtbGlnaHQuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1saWdodDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZjhmOWZhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICBib3JkZXItY29sb3I6ICNmOGY5ZmE7XG59XG4uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xufVxuXG4uYnRuLW91dGxpbmUtZGFyayB7XG4gIGNvbG9yOiAjMzQzYTQwO1xuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG4uYnRuLW91dGxpbmUtZGFyazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICBib3JkZXItY29sb3I6ICMzNDNhNDA7XG59XG4uYnRuLW91dGxpbmUtZGFyazpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcmsuZm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xufVxuLmJ0bi1vdXRsaW5lLWRhcmsuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1kYXJrOmRpc2FibGVkIHtcbiAgY29sb3I6ICMzNDNhNDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MDtcbn1cbi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7XG59XG5cbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMzQ5MGRjO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYnRuLWxpbms6aG92ZXIge1xuICBjb2xvcjogIzFkNjhhNztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluay5mb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmJ0bi1saW5rOmRpc2FibGVkLCAuYnRuLWxpbmsuZGlzYWJsZWQge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5idG4tbGcsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbn1cblxuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1yZXNldF0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1idXR0b25dLmJ0bi1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZmFkZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmZhZGUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5mYWRlOm5vdCguc2hvdykge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY29sbGFwc2U6bm90KC5zaG93KSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjM1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNvbGxhcHNpbmcge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jb2xsYXBzaW5nLndpZHRoIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zNXMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jb2xsYXBzaW5nLndpZHRoIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC41cmVtIDA7XG4gIG1hcmdpbjogMC4xMjVyZW0gMCAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5kcm9wZG93bi1tZW51LXNtLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudS1zbS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5kcm9wZG93bi1tZW51LW1kLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudS1tZC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5kcm9wZG93bi1tZW51LWxnLWxlZnQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudS1sZy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZHJvcGRvd24tbWVudS14bC1sZWZ0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUteGwtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07XG59XG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkO1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5kcm9wcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMC4xMjVyZW07XG59XG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNTVlbTtcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7XG59XG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5kcm9wbGVmdCAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMC4xMjVyZW07XG59XG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogMC4yNTVlbTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjU1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG59XG4uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePXRvcF0sIC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1yaWdodF0sIC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1ib3R0b21dLCAuZHJvcGRvd24tbWVudVt4LXBsYWNlbWVudF49bGVmdF0ge1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xufVxuXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWVjZWY7XG59XG5cbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1cmVtIDEuNXJlbTtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5kcm9wZG93bi1pdGVtOmZvY3VzIHtcbiAgY29sb3I6ICMxNjE4MWI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cbi5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0OTBkYztcbn1cbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjYWRiNWJkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzg3NXJlbTtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC4yNXJlbSAxLjVyZW07XG4gIGNvbG9yOiAjMjEyNTI5O1xufVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIge1xuICB6LWluZGV4OiAxO1xufVxuLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsIC5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSwgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjphY3RpdmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi5hY3RpdmUge1xuICB6LWluZGV4OiAxO1xufVxuXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNTYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjU2MjVyZW07XG59XG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwgLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwgLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmJlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5idG4tZ3JvdXAtc20gPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtO1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0biBpbnB1dFt0eXBlPXJhZGlvXSxcbi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSxcbi5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1yYWRpb10sXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgd2lkdGg6IDElO1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLWZpbGUsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCArIC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQgKyAuY3VzdG9tLWZpbGUsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuY3VzdG9tLWZpbGUsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUgKyAuY3VzdG9tLWZpbGUge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICB6LWluZGV4OiAzO1xufVxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gIHotaW5kZXg6IDQ7XG59XG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuZm9ybS1jb250cm9sOm50aC1sYXN0LWNoaWxkKG4rMyksXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuY3VzdG9tLXNlbGVjdDpudGgtbGFzdC1jaGlsZChuKzMpLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4rMykgLmN1c3RvbS1maWxlLWxhYmVsLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4rMykgLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4sXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuOmZvY3VzLFxuLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuOmZvY3VzIHtcbiAgei1pbmRleDogMztcbn1cbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4gKyAuYnRuLFxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0bixcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5idG4sXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4uaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dFt0eXBlPXJhZGlvXSxcbi5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgMnB4KTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6IGNhbGMoMS41ZW0gKyAwLjVyZW0gKyAycHgpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4ge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwOm5vdCguaGFzLXZhbGlkYXRpb24pID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAuaGFzLXZhbGlkYXRpb24gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm50aC1sYXN0LWNoaWxkKG4rMykgPiAuYnRuLFxuLmlucHV0LWdyb3VwLmhhcy12YWxpZGF0aW9uID4gLmlucHV0LWdyb3VwLWFwcGVuZDpudGgtbGFzdC1jaGlsZChuKzMpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5jdXN0b20tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuNDRyZW07XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMS4yMnJlbTtcbiAgb3BhY2l0eTogMDtcbn1cbi5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjMzQ5MGRjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xufVxuLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgMTQ0LCAyMjAsIDAuMjUpO1xufVxuLmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2ExY2JlZjtcbn1cbi5jdXN0b20tY29udHJvbC1pbnB1dDpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlM2Y2O1xuICBib3JkZXItY29sb3I6ICNjY2UzZjY7XG59XG4uY3VzdG9tLWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cbi5jdXN0b20tY29udHJvbC1pbnB1dFtkaXNhYmxlZF0gfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjIycmVtO1xuICBsZWZ0OiAtMS41cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZGI1YmQ7XG59XG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMjJyZW07XG4gIGxlZnQ6IC0xLjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiA1MCUvNTAlIDUwJSBuby1yZXBlYXQ7XG59XG5cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2bDIuOTc0IDIuOTlMOCAyLjE5M3onLyUzZSUzYy9zdmclM2VcIik7XG59XG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMzNDkwZGM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDkwZGM7XG59XG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc0JyB2aWV3Qm94PScwIDAgNCA0JyUzZSUzY3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTIsIDE0NCwgMjIwLCAwLjUpO1xufVxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MiwgMTQ0LCAyMjAsIDAuNSk7XG59XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MiwgMTQ0LCAyMjAsIDAuNSk7XG59XG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtO1xufVxuLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICBsZWZ0OiAtMi4yNXJlbTtcbiAgd2lkdGg6IDEuNzVyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbn1cbi5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoMC4yMnJlbSArIDJweCk7XG4gIGxlZnQ6IGNhbGMoLTIuMjVyZW0gKyAycHgpO1xuICB3aWR0aDogY2FsYygxcmVtIC0gNHB4KTtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gLSA0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNzVyZW0pO1xufVxuLmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTIsIDE0NCwgMjIwLCAwLjUpO1xufVxuXG4uY3VzdG9tLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxLjZlbSArIDAuNzVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAxLjc1cmVtIDAuMzc1cmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNScgdmlld0JveD0nMCAwIDQgNSclM2UlM2NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNlJTNjL3N2ZyUzZVwiKSByaWdodCAwLjc1cmVtIGNlbnRlci84cHggMTBweCBuby1yZXBlYXQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uY3VzdG9tLXNlbGVjdDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2ExY2JlZjtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDE0NCwgMjIwLCAwLjI1KTtcbn1cbi5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5jdXN0b20tc2VsZWN0W211bHRpcGxlXSwgLmN1c3RvbS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4uY3VzdG9tLXNlbGVjdDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xufVxuLmN1c3RvbS1zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmN1c3RvbS1zZWxlY3Q6LW1vei1mb2N1c3Jpbmcge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgMCAjNDk1MDU3O1xufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIDJweCk7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43ODc1cmVtO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIDFyZW0gKyAycHgpO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEuNmVtICsgMC43NXJlbSArIDJweCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxLjZlbSArIDAuNzVyZW0gKyAycHgpO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG59XG4uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICBib3JkZXItY29sb3I6ICNhMWNiZWY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCAxNDQsIDIyMCwgMC4yNSk7XG59XG4uY3VzdG9tLWZpbGUtaW5wdXRbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xufVxuLmN1c3RvbS1maWxlLWlucHV0OmxhbmcoZW4pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG59XG4uY3VzdG9tLWZpbGUtaW5wdXQgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1icm93c2UpO1xufVxuXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogY2FsYygxLjZlbSArIDAuNzVyZW0gKyAycHgpO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogY2FsYygxLjZlbSArIDAuNzVyZW0pO1xuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgY29udGVudDogXCJCcm93c2VcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLWxlZnQ6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC4yNXJlbSAwLjI1cmVtIDA7XG59XG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLmN1c3RvbS1yYW5nZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uY3VzdG9tLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZjhmYWZjLCAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgMTQ0LCAyMjAsIDAuMjUpO1xufVxuLmN1c3RvbS1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZjhmYWZjLCAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgMTQ0LCAyMjAsIDAuMjUpO1xufVxuLmN1c3RvbS1yYW5nZTpmb2N1czo6LW1zLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmOGZhZmMsIDAgMCAwIDAuMnJlbSByZ2JhKDUyLCAxNDQsIDIyMCwgMC4yNSk7XG59XG4uY3VzdG9tLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiAwO1xufVxuLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0OTBkYztcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuLmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZTNmNjtcbn1cbi5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZTNmNjtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjJyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDkwZGM7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uY3VzdG9tLXJhbmdlOjotbXMtdGh1bWI6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjZTNmNjtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tcy10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAuNXJlbTtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTJlNjtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbn1cbi5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2O1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkO1xufVxuLmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbn1cbi5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uY3VzdG9tLXJhbmdlOmRpc2FibGVkOjotbXMtdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsXG4uY3VzdG9tLWZpbGUtbGFiZWwsXG4uY3VzdG9tLXNlbGVjdCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbn1cbi5uYXYtbGluazpob3ZlciwgLm5hdi1saW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuLm5hdi10YWJzIC5uYXYtbGluayB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG59XG4ubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVyLCAubmF2LXRhYnMgLm5hdi1saW5rOmZvY3VzIHtcbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICBib3JkZXItY29sb3I6ICNlOWVjZWYgI2U5ZWNlZiAjZGVlMmU2O1xufVxuLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjNmM3NTdkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjO1xuICBib3JkZXItY29sb3I6ICNkZWUyZTYgI2RlZTJlNiAjZjhmYWZjO1xufVxuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdi1waWxscyAuc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xufVxuXG4ubmF2LWZpbGwgPiAubmF2LWxpbmssXG4ubmF2LWZpbGwgLm5hdi1pdGVtIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5hdi1qdXN0aWZpZWQgPiAubmF2LWxpbmssXG4ubmF2LWp1c3RpZmllZCAubmF2LWl0ZW0ge1xuICBmbGV4LWJhc2lzOiAwO1xuICBmbGV4LWdyb3c6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xufVxuLm5hdmJhciAuY29udGFpbmVyLFxuLm5hdmJhciAuY29udGFpbmVyLWZsdWlkLFxuLm5hdmJhciAuY29udGFpbmVyLXNtLFxuLm5hdmJhciAuY29udGFpbmVyLW1kLFxuLm5hdmJhciAuY29udGFpbmVyLWxnLFxuLm5hdmJhciAuY29udGFpbmVyLXhsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ubmF2YmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogMC4zMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMzJyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi5uYXZiYXItdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLm5hdmJhci10b2dnbGVyOmhvdmVyLCAubmF2YmFyLXRvZ2dsZXI6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IDUwJS8xMDAlIDEwMCUgbm8tcmVwZWF0O1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiA3NXZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1Ljk4cHgpIHtcbiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWZsdWlkLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLXNtLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWxnLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLXhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXNtIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWZsdWlkLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLXNtLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWxnLFxuLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLXhsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLW5hdi1zY3JvbGwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCxcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1tZCxcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1sZyxcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci14bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLWV4cGFuZC1tZCB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCxcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1tZCxcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1sZyxcbi5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci14bCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIsXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItc20sXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItbWQsXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIteGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdmJhci1leHBhbmQtbGcge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIsXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItc20sXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItbWQsXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXIteGwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lcixcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1mbHVpZCxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1zbSxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1tZCxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci1sZyxcbi5uYXZiYXItZXhwYW5kLXhsID4gLmNvbnRhaW5lci14bCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm5hdmJhci1leHBhbmQteGwge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItc20sXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItbWQsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItbGcsXG4ubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXIteGwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbiAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci10b2dnbGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ubmF2YmFyLWV4cGFuZCB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWZsdWlkLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXNtLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWxnLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXhsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWZsdWlkLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXNtLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLW1kLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWxnLFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLXhsIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdi1zY3JvbGwge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2Uge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MCwgMCwgMCwgMC41JTI5JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGEge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG5cbi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5zaG93ID4gLm5hdi1saW5rLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MjU1LCAyNTUsIDI1NSwgMC41JTI5JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi5uYXZiYXItZGFyayAubmF2YmFyLXRleHQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4uY2FyZCA+IGhyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5jYXJkID4gLmxpc3QtZ3JvdXAge1xuICBib3JkZXItdG9wOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuLmNhcmQgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG59XG4uY2FyZCA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuLmNhcmQgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi5jYXJkLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLTAuMzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG4uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCkgMCAwO1xufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbn1cbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KTtcbn1cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xufVxuXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG59XG5cbi5jYXJkLWRlY2sgLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWRlY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgfVxuICAuY2FyZC1kZWNrIC5jYXJkIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLmNhcmQtZ3JvdXAgPiAuY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNhcmQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkIHtcbiAgICBmbGV4OiAxIDAgMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkICsgLmNhcmQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4uY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaGVhZGVyIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSxcbi5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4uY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWhlYWRlciB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sXG4uY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxufVxuXG4uY2FyZC1jb2x1bW5zIC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogMS4yNXJlbTtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcbiAgfVxuICAuY2FyZC1jb2x1bW5zIC5jYXJkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmFjY29yZGlvbiB7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbn1cbi5hY2NvcmRpb24gPiAuY2FyZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYWNjb3JkaW9uID4gLmNhcmQ6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uYWNjb3JkaW9uID4gLmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLmFjY29yZGlvbiA+IC5jYXJkID4gLmNhcmQtaGVhZGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbn1cblxuLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cbi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgY29udGVudDogXCIvXCI7XG59XG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYnJlYWRjcnVtYi1pdGVtICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogIzM0OTBkYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbn1cbi5wYWdlLWxpbms6aG92ZXIge1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogIzFkNjhhNztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBib3JkZXItY29sb3I6ICNkZWUyZTY7XG59XG4ucGFnZS1saW5rOmZvY3VzIHtcbiAgei1pbmRleDogMztcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDE0NCwgMjIwLCAwLjI1KTtcbn1cblxuLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG59XG4ucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbn1cbi5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICB6LWluZGV4OiAzO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0OTBkYztcbiAgYm9yZGVyLWNvbG9yOiAjMzQ5MGRjO1xufVxuLnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2RlZTJlNjtcbn1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtbGluayB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjNyZW07XG59XG4ucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjNyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjNyZW07XG59XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjJyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMnJlbTtcbn1cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMnJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC40ZW07XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYmFkZ2Uge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbmEuYmFkZ2U6aG92ZXIsIGEuYmFkZ2U6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5iYWRnZTplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC42ZW07XG4gIHBhZGRpbmctbGVmdDogMC42ZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwcmVtO1xufVxuXG4uYmFkZ2UtcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xufVxuYS5iYWRnZS1wcmltYXJ5OmhvdmVyLCBhLmJhZGdlLXByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxNzZiZDtcbn1cbmEuYmFkZ2UtcHJpbWFyeTpmb2N1cywgYS5iYWRnZS1wcmltYXJ5LmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDE0NCwgMjIwLCAwLjUpO1xufVxuXG4uYmFkZ2Utc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7XG59XG5hLmJhZGdlLXNlY29uZGFyeTpob3ZlciwgYS5iYWRnZS1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NWI2Mjtcbn1cbmEuYmFkZ2Utc2Vjb25kYXJ5OmZvY3VzLCBhLmJhZGdlLXNlY29uZGFyeS5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7XG59XG5cbi5iYWRnZS1zdWNjZXNzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOGMxNzI7XG59XG5hLmJhZGdlLXN1Y2Nlc3M6aG92ZXIsIGEuYmFkZ2Utc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ5OTViO1xufVxuYS5iYWRnZS1zdWNjZXNzOmZvY3VzLCBhLmJhZGdlLXN1Y2Nlc3MuZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1NiwgMTkzLCAxMTQsIDAuNSk7XG59XG5cbi5iYWRnZS1pbmZvIHtcbiAgY29sb3I6ICMyMTI1Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Y2IyZWI7XG59XG5hLmJhZGdlLWluZm86aG92ZXIsIGEuYmFkZ2UtaW5mbzpmb2N1cyB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y5YWU1O1xufVxuYS5iYWRnZS1pbmZvOmZvY3VzLCBhLmJhZGdlLWluZm8uZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDE3OCwgMjM1LCAwLjUpO1xufVxuXG4uYmFkZ2Utd2FybmluZyB7XG4gIGNvbG9yOiAjMjEyNTI5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDRhO1xufVxuYS5iYWRnZS13YXJuaW5nOmhvdmVyLCBhLmJhZGdlLXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTgxNztcbn1cbmEuYmFkZ2Utd2FybmluZzpmb2N1cywgYS5iYWRnZS13YXJuaW5nLmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAyMzcsIDc0LCAwLjUpO1xufVxuXG4uYmFkZ2UtZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMzM0MmY7XG59XG5hLmJhZGdlLWRhbmdlcjpob3ZlciwgYS5iYWRnZS1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M1MWYxYTtcbn1cbmEuYmFkZ2UtZGFuZ2VyOmZvY3VzLCBhLmJhZGdlLWRhbmdlci5mb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyNywgNTIsIDQ3LCAwLjUpO1xufVxuXG4uYmFkZ2UtbGlnaHQge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbn1cbmEuYmFkZ2UtbGlnaHQ6aG92ZXIsIGEuYmFkZ2UtbGlnaHQ6Zm9jdXMge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTtcbn1cbmEuYmFkZ2UtbGlnaHQ6Zm9jdXMsIGEuYmFkZ2UtbGlnaHQuZm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xufVxuXG4uYmFkZ2UtZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xufVxuYS5iYWRnZS1kYXJrOmhvdmVyLCBhLmJhZGdlLWRhcms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNDtcbn1cbmEuYmFkZ2UtZGFyazpmb2N1cywgYS5iYWRnZS1kYXJrLmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTtcbn1cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5qdW1ib3Ryb24ge1xuICAgIHBhZGRpbmc6IDRyZW0gMnJlbTtcbiAgfVxufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5hbGVydC1oZWFkaW5nIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogMy44NXJlbTtcbn1cbi5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5hbGVydC1wcmltYXJ5IHtcbiAgY29sb3I6ICMxYjRiNzI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmU5Zjg7XG4gIGJvcmRlci1jb2xvcjogI2M2ZTBmNTtcbn1cbi5hbGVydC1wcmltYXJ5IGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2IwZDRmMTtcbn1cbi5hbGVydC1wcmltYXJ5IC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICMxMTMwNDk7XG59XG5cbi5hbGVydC1zZWNvbmRhcnkge1xuICBjb2xvcjogIzM4M2Q0MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTNlNTtcbiAgYm9yZGVyLWNvbG9yOiAjZDZkOGRiO1xufVxuLmFsZXJ0LXNlY29uZGFyeSBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjOGNiY2Y7XG59XG4uYWxlcnQtc2Vjb25kYXJ5IC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICMyMDIzMjY7XG59XG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgY29sb3I6ICMxZDY0M2I7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkN2YzZTM7XG4gIGJvcmRlci1jb2xvcjogI2M3ZWVkODtcbn1cbi5hbGVydC1zdWNjZXNzIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2IzZThjYTtcbn1cbi5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICMxMjNjMjQ7XG59XG5cbi5hbGVydC1pbmZvIHtcbiAgY29sb3I6ICMzODVkN2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmYwZmI7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZTlmOTtcbn1cbi5hbGVydC1pbmZvIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2MwZGRmNjtcbn1cbi5hbGVydC1pbmZvIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICMyODQyNTc7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgY29sb3I6ICM4NTdiMjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZiZGI7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmFjYztcbn1cbi5hbGVydC13YXJuaW5nIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjhiMztcbn1cbi5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICM1ZDU2MWI7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICBjb2xvcjogIzc2MWIxODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZDZkNTtcbiAgYm9yZGVyLWNvbG9yOiAjZjdjNmM1O1xufVxuLmFsZXJ0LWRhbmdlciBociB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmNGIwYWY7XG59XG4uYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICM0YzExMGY7XG59XG5cbi5hbGVydC1saWdodCB7XG4gIGNvbG9yOiAjODE4MTgyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItY29sb3I6ICNmZGZkZmU7XG59XG4uYWxlcnQtbGlnaHQgaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZWNlY2Y2O1xufVxuLmFsZXJ0LWxpZ2h0IC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICM2ODY4Njg7XG59XG5cbi5hbGVydC1kYXJrIHtcbiAgY29sb3I6ICMxYjFlMjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZDk7XG4gIGJvcmRlci1jb2xvcjogI2M2YzhjYTtcbn1cbi5hbGVydC1kYXJrIGhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2I5YmJiZTtcbn1cbi5hbGVydC1kYXJrIC5hbGVydC1saW5rIHtcbiAgY29sb3I6ICMwNDA1MDU7XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcmVtIDA7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMDtcbiAgZm9udC1zaXplOiAwLjY3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbn1cblxuLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gIGFuaW1hdGlvbjogMXMgbGluZWFyIGluZmluaXRlIHByb2dyZXNzLWJhci1zdHJpcGVzO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnByb2dyZXNzLWJhci1hbmltYXRlZCB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzQ5NTA1NztcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG59XG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjphY3RpdmUge1xuICBjb2xvcjogIzIxMjUyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG59XG4ubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG59XG4ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbn1cbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIC5saXN0LWdyb3VwLWl0ZW06ZGlzYWJsZWQge1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ5MGRjO1xuICBib3JkZXItY29sb3I6ICMzNDkwZGM7XG59XG4ubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG4ubGlzdC1ncm91cC1pdGVtICsgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG59XG5cbi5saXN0LWdyb3VwLWhvcml6b250YWwge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5saXN0LWdyb3VwLWhvcml6b250YWwgPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbi5saXN0LWdyb3VwLWhvcml6b250YWwgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ubGlzdC1ncm91cC1ob3Jpem9udGFsID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xufVxuLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtc20gPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbWQgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwtbGcgPiAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnID4gLmxpc3QtZ3JvdXAtaXRlbSArIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5saXN0LWdyb3VwLWhvcml6b250YWwteGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuICAubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsID4gLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbiAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bCA+IC5saXN0LWdyb3VwLWl0ZW0gKyAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgfVxufVxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmxpc3QtZ3JvdXAtZmx1c2ggPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLmxpc3QtZ3JvdXAtZmx1c2ggPiAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkge1xuICBjb2xvcjogIzFiNGI3MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2ZTBmNTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMWI0YjcyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBkNGYxO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjRiNzI7XG4gIGJvcmRlci1jb2xvcjogIzFiNGI3Mjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkge1xuICBjb2xvcjogIzM4M2Q0MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkYjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzM4M2Q0MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODNkNDE7XG4gIGJvcmRlci1jb2xvcjogIzM4M2Q0MTtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgY29sb3I6ICMxZDY0M2I7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjN2VlZDg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzFkNjQzYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZThjYTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ2NDNiO1xuICBib3JkZXItY29sb3I6ICMxZDY0M2I7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7XG4gIGNvbG9yOiAjMzg1ZDdhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZlOWY5O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcbiAgY29sb3I6ICMzODVkN2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMGRkZjY7XG59XG4ubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NWQ3YTtcbiAgYm9yZGVyLWNvbG9yOiAjMzg1ZDdhO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogIzg1N2IyNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmFjYztcbn1cbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjODU3YjI2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOGIzO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NTdiMjY7XG4gIGJvcmRlci1jb2xvcjogIzg1N2IyNjtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xuICBjb2xvcjogIzc2MWIxODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3YzZjNTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzc2MWIxODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YjBhZjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NjFiMTg7XG4gIGJvcmRlci1jb2xvcjogIzc2MWIxODtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodCB7XG4gIGNvbG9yOiAjODE4MTgyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZlO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzgxODE4MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNjtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgxODE4MjtcbiAgYm9yZGVyLWNvbG9yOiAjODE4MTgyO1xufVxuXG4ubGlzdC1ncm91cC1pdGVtLWRhcmsge1xuICBjb2xvcjogIzFiMWUyMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M2YzhjYTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMWIxZTIxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlO1xufVxuLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYjFlMjE7XG4gIGJvcmRlci1jb2xvcjogIzFiMWUyMTtcbn1cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEuMzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgb3BhY2l0eTogMC41O1xufVxuLmNsb3NlOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpob3ZlciwgLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzIHtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udG9hc3Qge1xuICBmbGV4LWJhc2lzOiAzNTBweDtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC43NXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4udG9hc3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4udG9hc3Quc2hvd2luZyB7XG4gIG9wYWNpdHk6IDE7XG59XG4udG9hc3Quc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xufVxuLnRvYXN0LmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG5cbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDAuNXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MHB4KTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4ubW9kYWwubW9kYWwtc3RhdGljIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbn1cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxcmVtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtaGVhZGVyLFxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1mb290ZXIge1xuICBmbGV4LXNocmluazogMDtcbn1cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtYm9keSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbn1cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxcmVtKTtcbiAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgY29udGVudDogXCJcIjtcbn1cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSAubW9kYWwtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgb3V0bGluZTogMDtcbn1cblxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbn1cbi5tb2RhbC1iYWNrZHJvcC5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5tb2RhbC1iYWNrZHJvcC5zaG93IHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RlZTJlNjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xufVxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gIG1hcmdpbjogLTFyZW0gLTFyZW0gLTFyZW0gYXV0bztcbn1cblxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNjtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpO1xufVxuLm1vZGFsLWZvb3RlciA+ICoge1xuICBtYXJnaW46IDAuMjVyZW07XG59XG5cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXJnaW46IDEuNzVyZW0gYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTtcbiAgfVxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzLjVyZW0pO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTtcbiAgfVxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkOjpiZWZvcmUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDMuNXJlbSk7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgfVxuXG4gIC5tb2RhbC1zbSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tb2RhbC1sZyxcbi5tb2RhbC14bCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubW9kYWwteGwge1xuICAgIG1heC13aWR0aDogMTE0MHB4O1xuICB9XG59XG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBmb250LXNpemU6IDAuNzg3NXJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xufVxuLnRvb2x0aXAuc2hvdyB7XG4gIG9wYWNpdHk6IDAuOTtcbn1cbi50b29sdGlwIC5hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjhyZW07XG4gIGhlaWdodDogMC40cmVtO1xufVxuLnRvb2x0aXAgLmFycm93OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi5icy10b29sdGlwLXRvcCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSB7XG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xufVxuLmJzLXRvb2x0aXAtdG9wIC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3cge1xuICBib3R0b206IDA7XG59XG4uYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuXG4uYnMtdG9vbHRpcC1yaWdodCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIHtcbiAgcGFkZGluZzogMCAwLjRyZW07XG59XG4uYnMtdG9vbHRpcC1yaWdodCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3cge1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMC40cmVtO1xuICBoZWlnaHQ6IDAuOHJlbTtcbn1cbi5icy10b29sdGlwLXJpZ2h0IC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUge1xuICByaWdodDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMC40cmVtIDAuNHJlbSAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7XG59XG5cbi5icy10b29sdGlwLWJvdHRvbSwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSB7XG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xufVxuLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdywgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3cge1xuICB0b3A6IDA7XG59XG4uYnMtdG9vbHRpcC1ib3R0b20gLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjpiZWZvcmUge1xuICBib3R0b206IDA7XG4gIGJvcmRlci13aWR0aDogMCAwLjRyZW0gMC40cmVtO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwO1xufVxuXG4uYnMtdG9vbHRpcC1sZWZ0LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSB7XG4gIHBhZGRpbmc6IDAgMC40cmVtO1xufVxuLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdyB7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMC40cmVtO1xuICBoZWlnaHQ6IDAuOHJlbTtcbn1cbi5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMCAwLjRyZW0gMC40cmVtO1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDtcbn1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA2MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMjc2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgZm9udC1zaXplOiAwLjc4NzVyZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG59XG4ucG9wb3ZlciAuYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbjogMCAwLjNyZW07XG59XG4ucG9wb3ZlciAuYXJyb3c6OmJlZm9yZSwgLnBvcG92ZXIgLmFycm93OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi5icy1wb3BvdmVyLXRvcCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSA+IC5hcnJvdyB7XG4gIGJvdHRvbTogY2FsYygtMC41cmVtIC0gMXB4KTtcbn1cbi5icy1wb3BvdmVyLXRvcCA+IC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdID4gLmFycm93OjpiZWZvcmUge1xuICBib3R0b206IDA7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwO1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLmJzLXBvcG92ZXItdG9wID4gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSA+IC5hcnJvdzo6YWZ0ZXIge1xuICBib3R0b206IDFweDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG59XG5cbi5icy1wb3BvdmVyLXJpZ2h0LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0ge1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuLmJzLXBvcG92ZXItcmlnaHQgPiAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSA+IC5hcnJvdyB7XG4gIGxlZnQ6IGNhbGMoLTAuNXJlbSAtIDFweCk7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwLjNyZW0gMDtcbn1cbi5icy1wb3BvdmVyLXJpZ2h0ID4gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSA+IC5hcnJvdzo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uYnMtcG9wb3Zlci1yaWdodCA+IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSA+IC5hcnJvdzo6YWZ0ZXIge1xuICBsZWZ0OiAxcHg7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAuNXJlbSAwLjVyZW0gMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20sIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG4uYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gPiAuYXJyb3cge1xuICB0b3A6IGNhbGMoLTAuNXJlbSAtIDFweCk7XG59XG4uYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSA+IC5hcnJvdzo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uYnMtcG9wb3Zlci1ib3R0b20gPiAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dID4gLmFycm93OjphZnRlciB7XG4gIHRvcDogMXB4O1xuICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG59XG4uYnMtcG9wb3Zlci1ib3R0b20gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y3ZjdmNztcbn1cblxuLmJzLXBvcG92ZXItbGVmdCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cbi5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdID4gLmFycm93IHtcbiAgcmlnaHQ6IGNhbGMoLTAuNXJlbSAtIDFweCk7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwLjNyZW0gMDtcbn1cbi5icy1wb3BvdmVyLWxlZnQgPiAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gPiAuYXJyb3c6OmJlZm9yZSB7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItd2lkdGg6IDAuNXJlbSAwIDAuNXJlbSAwLjVyZW07XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLmJzLXBvcG92ZXItbGVmdCA+IC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdID4gLmFycm93OjphZnRlciB7XG4gIHJpZ2h0OiAxcHg7XG4gIGJvcmRlci13aWR0aDogMC41cmVtIDAgMC41cmVtIDAuNXJlbTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG59XG5cbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4zcmVtIC0gMXB4KTtcbn1cbi5wb3BvdmVyLWhlYWRlcjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgY29sb3I6ICMyMTI1Mjk7XG59XG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmNhcm91c2VsLWlubmVyOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLWxlZnQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAxO1xufVxuLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsXG4uY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIDAuNnM7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbi5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTUlO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXIsIC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kOiA1MCUvMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNUw0LjI1IDRsMi41LTIuNUw1LjI1IDB6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNUwzLjc1IDRsLTIuNSAyLjVMMi43NSA4bDQtNC00LTR6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMTUlO1xuICBtYXJnaW4tbGVmdDogMTUlO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNSU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogMTUlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuICBib3JkZXI6IDAuMjVlbSBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiAwLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ib3JkZXI7XG59XG5cbi5zcGlubmVyLWJvcmRlci1zbSB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGJvcmRlci13aWR0aDogMC4yZW07XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiAwLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNwaW5uZXItYm9yZGVyLFxuLnNwaW5uZXItZ3JvdyB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICB9XG59XG4uYWxpZ24tYmFzZWxpbmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXRleHQtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi10ZXh0LXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50O1xufVxuXG4uYmctcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDkwZGMgIWltcG9ydGFudDtcbn1cblxuYS5iZy1wcmltYXJ5OmhvdmVyLCBhLmJnLXByaW1hcnk6Zm9jdXMsXG5idXR0b24uYmctcHJpbWFyeTpob3ZlcixcbmJ1dHRvbi5iZy1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxNzZiZCAhaW1wb3J0YW50O1xufVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xufVxuXG5hLmJnLXNlY29uZGFyeTpob3ZlciwgYS5iZy1zZWNvbmRhcnk6Zm9jdXMsXG5idXR0b24uYmctc2Vjb25kYXJ5OmhvdmVyLFxuYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjIgIWltcG9ydGFudDtcbn1cblxuLmJnLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzhjMTcyICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctc3VjY2Vzczpob3ZlciwgYS5iZy1zdWNjZXNzOmZvY3VzLFxuYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXIsXG5idXR0b24uYmctc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDk5NWIgIWltcG9ydGFudDtcbn1cblxuLmJnLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmNiMmViICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctaW5mbzpob3ZlciwgYS5iZy1pbmZvOmZvY3VzLFxuYnV0dG9uLmJnLWluZm86aG92ZXIsXG5idXR0b24uYmctaW5mbzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZjlhZTUgIWltcG9ydGFudDtcbn1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZDRhICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctd2FybmluZzpob3ZlciwgYS5iZy13YXJuaW5nOmZvY3VzLFxuYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXIsXG5idXR0b24uYmctd2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU4MTcgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMzM0MmYgIWltcG9ydGFudDtcbn1cblxuYS5iZy1kYW5nZXI6aG92ZXIsIGEuYmctZGFuZ2VyOmZvY3VzLFxuYnV0dG9uLmJnLWRhbmdlcjpob3ZlcixcbmJ1dHRvbi5iZy1kYW5nZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzUxZjFhICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDtcbn1cblxuYS5iZy1saWdodDpob3ZlciwgYS5iZy1saWdodDpmb2N1cyxcbmJ1dHRvbi5iZy1saWdodDpob3ZlcixcbmJ1dHRvbi5iZy1saWdodDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWUwZTUgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwICFpbXBvcnRhbnQ7XG59XG5cbmEuYmctZGFyazpob3ZlciwgYS5iZy1kYXJrOmZvY3VzLFxuYnV0dG9uLmJnLWRhcms6aG92ZXIsXG5idXR0b24uYmctZGFyazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQgIWltcG9ydGFudDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYmctdHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRvcCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcmlnaHQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1sZWZ0IHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItMCB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXRvcC0wIHtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXJpZ2h0LTAge1xuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ib3R0b20tMCB7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1sZWZ0LTAge1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICMzNDkwZGMgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zZWNvbmRhcnkge1xuICBib3JkZXItY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzhjMTcyICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogIzZjYjJlYiAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNmZmVkNGEgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYW5nZXIge1xuICBib3JkZXItY29sb3I6ICNlMzM0MmYgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1saWdodCB7XG4gIGJvcmRlci1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhcmsge1xuICBib3JkZXItY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5kLW5vbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZC10YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5kLXRhYmxlLXJvdyB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xufVxuXG4uZC10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xufVxuXG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uZC1pbmxpbmUtZmxleCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZC1zbS1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1zbS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20taW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20tdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1zbS10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20tdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20tZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtc20taW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZC1tZC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1tZC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLW1kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1tZC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbWQtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZC1sZy1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1sZy1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1sZy10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtbGctaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmQteGwtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteGwtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC14bC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQteGwtdGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXhsLWlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kLXByaW50LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtcHJpbnQtdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZC1wcmludC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtcHJpbnQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtcHJpbnQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmQtcHJpbnQtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5lbWJlZC1yZXNwb25zaXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZW1iZWQtcmVzcG9uc2l2ZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLFxuLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsXG4uZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4uZW1iZWQtcmVzcG9uc2l2ZSB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA0Mi44NTcxNDI4NiU7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5OjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogNzUlO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbn1cblxuLmZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtbm93cmFwIHtcbiAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtZmlsbCB7XG4gIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4LWdyb3ctMCB7XG4gIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1ncm93LTEge1xuICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbn1cblxuLmZsZXgtc2hyaW5rLTAge1xuICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1zaHJpbmstMSB7XG4gIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1zdGFydCB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtZW5kIHtcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWNvbnRlbnQtY2VudGVyIHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWJldHdlZW4ge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1jb250ZW50LWFyb3VuZCB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tY29udGVudC1zdHJldGNoIHtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1hdXRvIHtcbiAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24tc2VsZi1zdGFydCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtZW5kIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtY2VudGVyIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5hbGlnbi1zZWxmLWJhc2VsaW5lIHtcbiAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5mbGV4LXNtLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1zbS1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXNtLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtc20tc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXNtLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1zbS1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1zbS1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXNtLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtc20tc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXNtLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXNtLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1zbS1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtc20tYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtc20tc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXNtLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXNtLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1zbS1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbGV4LW1kLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1tZC1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LW1kLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbWQtc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LW1kLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1tZC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLW1kLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbWQtc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LW1kLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1tZC1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1tZC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbWQtYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbWQtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLW1kLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLW1kLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mbGV4LWxnLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC1sZy1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LWxnLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgtbGctc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LWxnLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LWxnLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1sZy1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1sZy1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLWxnLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWl0ZW1zLWxnLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbGctc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LWxnLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LWxnLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC1sZy1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbGctYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYtbGctc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLWxnLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi1sZy1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmxleC14bC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtd3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsZXgteGwtZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxleC14bC1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbGV4LXhsLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14bC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXhsLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14bC1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmp1c3RpZnktY29udGVudC14bC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMteGwtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMteGwtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14bC1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1pdGVtcy14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24taXRlbXMteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXhsLXN0YXJ0IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14bC1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tY29udGVudC14bC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbiB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLWNvbnRlbnQteGwtYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1jb250ZW50LXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXhsLWF1dG8ge1xuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14bC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14bC1jZW50ZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFsaWduLXNlbGYteGwtYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWxpZ24tc2VsZi14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5mbG9hdC1zbS1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXNtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsb2F0LW1kLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtbWQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LW1kLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxvYXQtbGctbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1sZy1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtbGctbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmxvYXQteGwtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC14bC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnVzZXItc2VsZWN0LWFsbCB7XG4gIHVzZXItc2VsZWN0OiBhbGwgIWltcG9ydGFudDtcbn1cblxuLnVzZXItc2VsZWN0LWF1dG8ge1xuICB1c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udXNlci1zZWxlY3Qtbm9uZSB7XG4gIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1hdXRvIHtcbiAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbn1cblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDtcbn1cblxuQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gIC5zdGlja3ktdG9wIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDIwO1xuICB9XG59XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsIC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4uc2hhZG93LXNtIHtcbiAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSkgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdy1sZyB7XG4gIGJveC1zaGFkb3c6IDAgMXJlbSAzcmVtIHJnYmEoMCwgMCwgMCwgMC4xNzUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3ctbm9uZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnctMjUge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi53LTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4udy03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLnctYXV0byB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5oLTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDtcbn1cblxuLmgtNTAge1xuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uaC03NSB7XG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi5oLTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uaC1hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tdy0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLm1oLTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLm1pbi12dy0xMDAge1xuICBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG59XG5cbi5taW4tdmgtMTAwIHtcbiAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLnZ3LTEwMCB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xufVxuXG4udmgtMTAwIHtcbiAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xufVxuXG4ubS0wIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0wLFxuLm15LTAge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tci0wLFxuLm14LTAge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1iLTAsXG4ubXktMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm1sLTAsXG4ubXgtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tLTEge1xuICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTEsXG4ubXktMSB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLTEsXG4ubXgtMSB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWItMSxcbi5teS0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtMSxcbi5teC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tMiB7XG4gIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC0yLFxuLm15LTIge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLTIsXG4ubXgtMiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0yLFxuLm15LTIge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLTIsXG4ubXgtMiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tMyB7XG4gIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXQtMyxcbi5teS0zIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItMyxcbi5teC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi0zLFxuLm15LTMge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tbC0zLFxuLm14LTMge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS00IHtcbiAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm10LTQsXG4ubXktNCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubXItNCxcbi5teC00IHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTQsXG4ubXktNCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWwtNCxcbi5teC00IHtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubS01IHtcbiAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC01LFxuLm15LTUge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci01LFxuLm14LTUge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLTUsXG4ubXktNSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLTUsXG4ubXgtNSB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wLTAge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wdC0wLFxuLnB5LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ucHItMCxcbi5weC0wIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ucGItMCxcbi5weS0wIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnBsLTAsXG4ucHgtMCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ucC0xIHtcbiAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMSxcbi5weS0xIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnByLTEsXG4ucHgtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTEsXG4ucHktMSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wbC0xLFxuLnB4LTEge1xuICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtMiB7XG4gIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMixcbi5weS0yIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHItMixcbi5weC0yIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi0yLFxuLnB5LTIge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wbC0yLFxuLnB4LTIge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC0zIHtcbiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtMyxcbi5weS0zIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnByLTMsXG4ucHgtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTMsXG4ucHktMyB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wbC0zLFxuLnB4LTMge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnAtNCB7XG4gIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtNCxcbi5weS00IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucHItNCxcbi5weC00IHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYi00LFxuLnB5LTQge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wbC00LFxuLnB4LTQge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucC01IHtcbiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucHQtNSxcbi5weS01IHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnByLTUsXG4ucHgtNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBiLTUsXG4ucHktNSB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wbC01LFxuLnB4LTUge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tbjEge1xuICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1uMSxcbi5teS1uMSB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci1uMSxcbi5teC1uMSB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLW4xLFxuLm15LW4xIHtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLW4xLFxuLm14LW4xIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLW4yIHtcbiAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1uMixcbi5teS1uMiB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLW4yLFxuLm14LW4yIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1uMixcbi5teS1uMiB7XG4gIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLW4yLFxuLm14LW4yIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tbjMge1xuICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1uMyxcbi5teS1uMyB7XG4gIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci1uMyxcbi5teC1uMyB7XG4gIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLW4zLFxuLm15LW4zIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLW4zLFxuLm14LW4zIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLW40IHtcbiAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1uNCxcbi5teS1uNCB7XG4gIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1yLW40LFxuLm14LW40IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYi1uNCxcbi5teS1uNCB7XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLW40LFxuLm14LW40IHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm0tbjUge1xuICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tdC1uNSxcbi5teS1uNSB7XG4gIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tci1uNSxcbi5teC1uNSB7XG4gIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1iLW41LFxuLm15LW41IHtcbiAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1sLW41LFxuLm14LW41IHtcbiAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tLWF1dG8ge1xuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm10LWF1dG8sXG4ubXktYXV0byB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLm1yLWF1dG8sXG4ubXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubWItYXV0byxcbi5teS1hdXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ubWwtYXV0byxcbi5teC1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tLXNtLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLTAsXG4ubXktc20tMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLTAsXG4ubXgtc20tMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tMCxcbi5teS1zbS0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tMCxcbi5teC1zbS0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tc20tMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tMSxcbi5teS1zbS0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItc20tMSxcbi5teC1zbS0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS0xLFxuLm15LXNtLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1zbS0xLFxuLm14LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLTIsXG4ubXktc20tMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItc20tMixcbi5teC1zbS0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLTIsXG4ubXktc20tMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tMixcbi5teC1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1zbS0zLFxuLm15LXNtLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1zbS0zLFxuLm14LXNtLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLTMsXG4ubXktc20tMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXNtLTMsXG4ubXgtc20tMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tNCxcbi5teS1zbS00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1zbS00LFxuLm14LXNtLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tNCxcbi5teS1zbS00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1zbS00LFxuLm14LXNtLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXNtLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLTUsXG4ubXktc20tNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLTUsXG4ubXgtc20tNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tNSxcbi5teS1zbS01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tNSxcbi5teC1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtc20tMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LXNtLTAsXG4ucHktc20tMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1zbS0wLFxuLnB4LXNtLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1zbS0wLFxuLnB5LXNtLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtc20tMCxcbi5weC1zbS0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXNtLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1zbS0xLFxuLnB5LXNtLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItc20tMSxcbi5weC1zbS0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItc20tMSxcbi5weS1zbS0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXNtLTEsXG4ucHgtc20tMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1zbS0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1zbS0yLFxuLnB5LXNtLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1zbS0yLFxuLnB4LXNtLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXNtLTIsXG4ucHktc20tMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXNtLTIsXG4ucHgtc20tMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXNtLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1zbS0zLFxuLnB5LXNtLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItc20tMyxcbi5weC1zbS0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItc20tMyxcbi5weS1zbS0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXNtLTMsXG4ucHgtc20tMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1zbS00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1zbS00LFxuLnB5LXNtLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1zbS00LFxuLnB4LXNtLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXNtLTQsXG4ucHktc20tNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXNtLTQsXG4ucHgtc20tNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXNtLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1zbS01LFxuLnB5LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItc20tNSxcbi5weC1zbS01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItc20tNSxcbi5weS1zbS01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXNtLTUsXG4ucHgtc20tNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uMSB7XG4gICAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW4xLFxuLm15LXNtLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLW4xLFxuLm14LXNtLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjEsXG4ubXktc20tbjEge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tbjEsXG4ubXgtc20tbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tc20tbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW4yLFxuLm15LXNtLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItc20tbjIsXG4ubXgtc20tbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLW4yLFxuLm15LXNtLW4yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tbjIsXG4ubXgtc20tbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uMyB7XG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW4zLFxuLm15LXNtLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLW4zLFxuLm14LXNtLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjMsXG4ubXktc20tbjMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tbjMsXG4ubXgtc20tbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tc20tbjQge1xuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW40LFxuLm15LXNtLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItc20tbjQsXG4ubXgtc20tbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXNtLW40LFxuLm15LXNtLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tbjQsXG4ubXgtc20tbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1zbS1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXNtLW41LFxuLm15LXNtLW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXNtLW41LFxuLm14LXNtLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItc20tbjUsXG4ubXktc20tbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtc20tbjUsXG4ubXgtc20tbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tc20tYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtc20tYXV0byxcbi5teS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItc20tYXV0byxcbi5teC1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1zbS1hdXRvLFxuLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1zbS1hdXRvLFxuLm14LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubS1tZC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC0wLFxuLm15LW1kLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1tZC0wLFxuLm14LW1kLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLTAsXG4ubXktbWQtMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLTAsXG4ubXgtbWQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLTEsXG4ubXktbWQtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLTEsXG4ubXgtbWQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbWQtMSxcbi5teS1tZC0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbWQtMSxcbi5teC1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC0yLFxuLm15LW1kLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLTIsXG4ubXgtbWQtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC0yLFxuLm15LW1kLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLTIsXG4ubXgtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbWQtMyxcbi5teS1tZC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbWQtMyxcbi5teC1tZC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC0zLFxuLm15LW1kLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1tZC0zLFxuLm14LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLTQsXG4ubXktbWQtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbWQtNCxcbi5teC1tZC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLTQsXG4ubXktbWQtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbWQtNCxcbi5teC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1tZC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC01LFxuLm15LW1kLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1tZC01LFxuLm14LW1kLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLTUsXG4ubXktbWQtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLTUsXG4ubXgtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLW1kLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC1tZC0wLFxuLnB5LW1kLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItbWQtMCxcbi5weC1tZC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbWQtMCxcbi5weS1tZC0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLW1kLTAsXG4ucHgtbWQtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1tZC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtMSxcbi5weS1tZC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLW1kLTEsXG4ucHgtbWQtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLW1kLTEsXG4ucHktbWQtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1tZC0xLFxuLnB4LW1kLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbWQtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtMixcbi5weS1tZC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItbWQtMixcbi5weC1tZC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1tZC0yLFxuLnB5LW1kLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1tZC0yLFxuLnB4LW1kLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1tZC0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtMyxcbi5weS1tZC0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLW1kLTMsXG4ucHgtbWQtMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLW1kLTMsXG4ucHktbWQtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1tZC0zLFxuLnB4LW1kLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbWQtNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtNCxcbi5weS1tZC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItbWQtNCxcbi5weC1tZC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1tZC00LFxuLnB5LW1kLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1tZC00LFxuLnB4LW1kLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1tZC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbWQtNSxcbi5weS1tZC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLW1kLTUsXG4ucHgtbWQtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLW1kLTUsXG4ucHktbWQtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1tZC01LFxuLnB4LW1kLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC1uMSxcbi5teS1tZC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1tZC1uMSxcbi5teC1tZC1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLW4xLFxuLm15LW1kLW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLW4xLFxuLm14LW1kLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC1uMixcbi5teS1tZC1uMiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLW4yLFxuLm14LW1kLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uMixcbi5teS1tZC1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLW4yLFxuLm14LW1kLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC1uMyxcbi5teS1tZC1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1tZC1uMyxcbi5teC1tZC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLW4zLFxuLm15LW1kLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLW4zLFxuLm14LW1kLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC1uNCxcbi5teS1tZC1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLW40LFxuLm14LW1kLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1tZC1uNCxcbi5teS1tZC1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLW40LFxuLm14LW1kLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbWQtbjUge1xuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1tZC1uNSxcbi5teS1tZC1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1tZC1uNSxcbi5teC1tZC1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLW1kLW41LFxuLm15LW1kLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLW1kLW41LFxuLm14LW1kLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLW1kLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LW1kLWF1dG8sXG4ubXktbWQtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLW1kLWF1dG8sXG4ubXgtbWQtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbWQtYXV0byxcbi5teS1tZC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbWQtYXV0byxcbi5teC1tZC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm0tbGctMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctMCxcbi5teS1sZy0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctMCxcbi5teC1sZy0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy0wLFxuLm15LWxnLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy0wLFxuLm14LWxnLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy0xLFxuLm15LWxnLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy0xLFxuLm14LWxnLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLTEsXG4ubXktbGctMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLWxnLTEsXG4ubXgtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctMixcbi5teS1sZy0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy0yLFxuLm14LWxnLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctMixcbi5teS1sZy0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy0yLFxuLm14LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LWxnLTMsXG4ubXktbGctMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLWxnLTMsXG4ubXgtbGctMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctMyxcbi5teS1sZy0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtbGctMyxcbi5teC1sZy0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy00LFxuLm15LWxnLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLWxnLTQsXG4ubXgtbGctNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy00LFxuLm15LWxnLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLWxnLTQsXG4ubXgtbGctNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0tbGctNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctNSxcbi5teS1sZy01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctNSxcbi5teC1sZy01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy01LFxuLm15LWxnLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy01LFxuLm14LWxnLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC1sZy0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtbGctMCxcbi5weS1sZy0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLWxnLTAsXG4ucHgtbGctMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLWxnLTAsXG4ucHktbGctMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC1sZy0wLFxuLnB4LWxnLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbGctMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTEsXG4ucHktbGctMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1sZy0xLFxuLnB4LWxnLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1sZy0xLFxuLnB5LWxnLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbGctMSxcbi5weC1sZy0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLWxnLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTIsXG4ucHktbGctMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLWxnLTIsXG4ucHgtbGctMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbGctMixcbi5weS1sZy0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbGctMixcbi5weC1sZy0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbGctMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTMsXG4ucHktbGctMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1sZy0zLFxuLnB4LWxnLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1sZy0zLFxuLnB5LWxnLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbGctMyxcbi5weC1sZy0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLWxnLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTQsXG4ucHktbGctNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLWxnLTQsXG4ucHgtbGctNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItbGctNCxcbi5weS1sZy00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbGctNCxcbi5weC1sZy00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAtbGctNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LWxnLTUsXG4ucHktbGctNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci1sZy01LFxuLnB4LWxnLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi1sZy01LFxuLnB5LWxnLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtbGctNSxcbi5weC1sZy01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctbjEsXG4ubXktbGctbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctbjEsXG4ubXgtbGctbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy1uMSxcbi5teS1sZy1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy1uMSxcbi5teC1sZy1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctbjIsXG4ubXktbGctbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy1uMixcbi5teC1sZy1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctbjIsXG4ubXktbGctbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy1uMixcbi5teC1sZy1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctbjMsXG4ubXktbGctbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctbjMsXG4ubXgtbGctbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy1uMyxcbi5teS1sZy1uMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy1uMyxcbi5teC1sZy1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctbjQsXG4ubXktbGctbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy1uNCxcbi5teC1sZy1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItbGctbjQsXG4ubXktbGctbjQge1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy1uNCxcbi5teC1sZy1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLWxnLW41IHtcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtbGctbjUsXG4ubXktbGctbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItbGctbjUsXG4ubXgtbGctbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi1sZy1uNSxcbi5teS1sZy1uNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC1sZy1uNSxcbi5teC1sZy1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS1sZy1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC1sZy1hdXRvLFxuLm15LWxnLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci1sZy1hdXRvLFxuLm14LWxnLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLWxnLWF1dG8sXG4ubXktbGctYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLWxnLWF1dG8sXG4ubXgtbGctYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubS14bC0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC0wLFxuLm15LXhsLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC0wLFxuLm14LXhsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLTAsXG4ubXkteGwtMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLTAsXG4ubXgteGwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXhsLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLTEsXG4ubXkteGwtMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXhsLTEsXG4ubXgteGwtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtMSxcbi5teS14bC0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteGwtMSxcbi5teC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC0yLFxuLm15LXhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXhsLTIsXG4ubXgteGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC0yLFxuLm15LXhsLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLTIsXG4ubXgteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQteGwtMyxcbi5teS14bC0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteGwtMyxcbi5teC14bC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC0zLFxuLm15LXhsLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC14bC0zLFxuLm14LXhsLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLTQsXG4ubXkteGwtNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXIteGwtNCxcbi5teC14bC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLTQsXG4ubXkteGwtNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteGwtNCxcbi5teC14bC00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubS14bC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC01LFxuLm15LXhsLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC01LFxuLm14LXhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLTUsXG4ubXkteGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLTUsXG4ubXgteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wLXhsLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC14bC0wLFxuLnB5LXhsLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHIteGwtMCxcbi5weC14bC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGIteGwtMCxcbi5weS14bC0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLXhsLTAsXG4ucHgteGwtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14bC0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteGwtMSxcbi5weS14bC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLXhsLTEsXG4ucHgteGwtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXhsLTEsXG4ucHkteGwtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC14bC0xLFxuLnB4LXhsLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteGwtMixcbi5weS14bC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHIteGwtMixcbi5weC14bC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi14bC0yLFxuLnB5LXhsLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC14bC0yLFxuLnB4LXhsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14bC0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteGwtMyxcbi5weS14bC0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLXhsLTMsXG4ucHgteGwtMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXhsLTMsXG4ucHkteGwtMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC14bC0zLFxuLnB4LXhsLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnAteGwtNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteGwtNCxcbi5weS14bC00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHIteGwtNCxcbi5weC14bC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi14bC00LFxuLnB5LXhsLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC14bC00LFxuLnB4LXhsLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucC14bC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQteGwtNSxcbi5weS14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLXhsLTUsXG4ucHgteGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLXhsLTUsXG4ucHkteGwtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC14bC01LFxuLnB4LXhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uMSxcbi5teS14bC1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC1uMSxcbi5teC14bC1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW4xLFxuLm15LXhsLW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLW4xLFxuLm14LXhsLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXhsLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uMixcbi5teS14bC1uMiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXhsLW4yLFxuLm14LXhsLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC1uMixcbi5teS14bC1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLW4yLFxuLm14LXhsLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uMyxcbi5teS14bC1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC1uMyxcbi5teC14bC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW4zLFxuLm15LXhsLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLW4zLFxuLm14LXhsLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXhsLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uNCxcbi5teS14bC1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXhsLW40LFxuLm14LXhsLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi14bC1uNCxcbi5teS14bC1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLW40LFxuLm14LXhsLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm0teGwtbjUge1xuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC14bC1uNSxcbi5teS14bC1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci14bC1uNSxcbi5teC14bC1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLXhsLW41LFxuLm15LXhsLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLXhsLW41LFxuLm14LXhsLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tLXhsLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LXhsLWF1dG8sXG4ubXkteGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLXhsLWF1dG8sXG4ubXgteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWIteGwtYXV0byxcbi5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwteGwtYXV0byxcbi5teC14bC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4uc3RyZXRjaGVkLWxpbms6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4udGV4dC1tb25vc3BhY2Uge1xuICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAudGV4dC1zbS1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1zbS1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LXNtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGV4dC1tZC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1tZC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGV4dC1sZy1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC1sZy1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQteGwtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRleHQteGwtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dC14bC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXdlaWdodC1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIge1xuICBmb250LXdlaWdodDogbGlnaHRlciAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13ZWlnaHQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2VpZ2h0LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXIgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMzQ5MGRjICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1wcmltYXJ5OmhvdmVyLCBhLnRleHQtcHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjMWQ2OGE3ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1zZWNvbmRhcnk6aG92ZXIsIGEudGV4dC1zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogIzQ5NGY1NCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMzOGMxNzIgIWltcG9ydGFudDtcbn1cblxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsIGEudGV4dC1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICMyNzg2NGYgIWltcG9ydGFudDtcbn1cblxuLnRleHQtaW5mbyB7XG4gIGNvbG9yOiAjNmNiMmViICFpbXBvcnRhbnQ7XG59XG5cbmEudGV4dC1pbmZvOmhvdmVyLCBhLnRleHQtaW5mbzpmb2N1cyB7XG4gIGNvbG9yOiAjMjk4ZmUyICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZmZWQ0YSAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtd2FybmluZzpob3ZlciwgYS50ZXh0LXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogI2ZkZTMwMCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2UzMzQyZiAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtZGFuZ2VyOmhvdmVyLCBhLnRleHQtZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNhZTFjMTcgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGlnaHQge1xuICBjb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtbGlnaHQ6aG92ZXIsIGEudGV4dC1saWdodDpmb2N1cyB7XG4gIGNvbG9yOiAjY2JkM2RhICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWRhcmsge1xuICBjb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50O1xufVxuXG5hLnRleHQtZGFyazpob3ZlciwgYS50ZXh0LWRhcms6Zm9jdXMge1xuICBjb2xvcjogIzEyMTQxNiAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ib2R5IHtcbiAgY29sb3I6ICMyMTI1MjkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjay01MCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2hpdGUtNTAge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLnRleHQtZGVjb3JhdGlvbi1ub25lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcmVzZXQge1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYTpub3QoLmJ0bikge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cblxuICBwcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICB9XG5cbiAgcHJlLFxuYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FkYjViZDtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICB0cixcbmltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgcCxcbmgyLFxuaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG5cbiAgaDIsXG5oMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cblxuICBAcGFnZSB7XG4gICAgc2l6ZTogYTM7XG4gIH1cbiAgYm9keSB7XG4gICAgbWluLXdpZHRoOiA5OTJweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWluLXdpZHRoOiA5OTJweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgfVxuXG4gIC50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuICB9XG4gIC50YWJsZSB0ZCxcbi50YWJsZSB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxuLnRhYmxlLWJvcmRlcmVkIHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGFibGUtZGFyayB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLnRhYmxlLWRhcmsgdGgsXG4udGFibGUtZGFyayB0ZCxcbi50YWJsZS1kYXJrIHRoZWFkIHRoLFxuLnRhYmxlLWRhcmsgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xuICB9XG5cbiAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTY7XG4gIH1cbn0iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMTUuMyBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqL1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICdjb3JlJztcbkBpbXBvcnQgJ2xhcmdlcic7XG5AaW1wb3J0ICdmaXhlZC13aWR0aCc7XG5AaW1wb3J0ICdsaXN0JztcbkBpbXBvcnQgJ2JvcmRlcmVkLXB1bGxlZCc7XG5AaW1wb3J0ICdhbmltYXRlZCc7XG5AaW1wb3J0ICdyb3RhdGVkLWZsaXBwZWQnO1xuQGltcG9ydCAnc3RhY2tlZCc7XG5AaW1wb3J0ICdpY29ucyc7XG5AaW1wb3J0ICdzY3JlZW4tcmVhZGVyJztcbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0sXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFkLFxuLmZhYiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuJWZhLWljb24ge1xuICBAaW5jbHVkZSBmYS1pY29uO1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lclxuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXhzIHtcbiAgZm9udC1zaXplOiAuNzVlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtIHtcbiAgZm9udC1zaXplOiAuODc1ZW07XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAuI3skZmEtY3NzLXByZWZpeH0tI3skaX14IHtcbiAgICBmb250LXNpemU6ICRpICogMWVtO1xuICB9XG59XG4iLCIvLyBGaXhlZCBXaWR0aCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWZ3LXdpZHRoO1xufVxuIiwiLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmEtZm9udC1wYXRoOiAgICAgICAgIFwiLi4vd2ViZm9udHNcIiAhZGVmYXVsdDtcbiRmYS1mb250LXNpemUtYmFzZTogICAgMTZweCAhZGVmYXVsdDtcbiRmYS1mb250LWRpc3BsYXk6ICAgICAgYmxvY2sgIWRlZmF1bHQ7XG4kZmEtY3NzLXByZWZpeDogICAgICAgIGZhICFkZWZhdWx0O1xuJGZhLXZlcnNpb246ICAgICAgICAgICBcIjUuMTUuM1wiICFkZWZhdWx0O1xuJGZhLWJvcmRlci1jb2xvcjogICAgICAjZWVlICFkZWZhdWx0O1xuJGZhLWludmVyc2U6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZmEtZnctd2lkdGg6ICAgICAgICAgICgyMGVtIC8gMTYpO1xuJGZhLXByaW1hcnktb3BhY2l0eTogICAxICFkZWZhdWx0O1xuJGZhLXNlY29uZGFyeS1vcGFjaXR5OiAuNCAhZGVmYXVsdDtcblxuLy8gQ29udmVuaWVuY2UgZnVuY3Rpb24gdXNlZCB0byBzZXQgY29udGVudCBwcm9wZXJ0eVxuQGZ1bmN0aW9uIGZhLWNvbnRlbnQoJGZhLXZhcikge1xuICBAcmV0dXJuIHVucXVvdGUoXCJcXFwiI3sgJGZhLXZhciB9XFxcIlwiKTtcbn1cblxuJGZhLXZhci01MDBweDogXFxmMjZlO1xuJGZhLXZhci1hY2Nlc3NpYmxlLWljb246IFxcZjM2ODtcbiRmYS12YXItYWNjdXNvZnQ6IFxcZjM2OTtcbiRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDogXFxmNmFmO1xuJGZhLXZhci1hZDogXFxmNjQxO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFxcZjJiOTtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLWFkanVzdDogXFxmMDQyO1xuJGZhLXZhci1hZG46IFxcZjE3MDtcbiRmYS12YXItYWR2ZXJzYWw6IFxcZjM2YTtcbiRmYS12YXItYWZmaWxpYXRldGhlbWU6IFxcZjM2YjtcbiRmYS12YXItYWlyLWZyZXNoZW5lcjogXFxmNWQwO1xuJGZhLXZhci1haXJibmI6IFxcZjgzNDtcbiRmYS12YXItYWxnb2xpYTogXFxmMzZjO1xuJGZhLXZhci1hbGlnbi1jZW50ZXI6IFxcZjAzNztcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXFxmMDM5O1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcXGYwMzY7XG4kZmEtdmFyLWFsaWduLXJpZ2h0OiBcXGYwMzg7XG4kZmEtdmFyLWFsaXBheTogXFxmNjQyO1xuJGZhLXZhci1hbGxlcmdpZXM6IFxcZjQ2MTtcbiRmYS12YXItYW1hem9uOiBcXGYyNzA7XG4kZmEtdmFyLWFtYXpvbi1wYXk6IFxcZjQyYztcbiRmYS12YXItYW1idWxhbmNlOiBcXGYwZjk7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWFtaWxpYTogXFxmMzZkO1xuJGZhLXZhci1hbmNob3I6IFxcZjEzZDtcbiRmYS12YXItYW5kcm9pZDogXFxmMTdiO1xuJGZhLXZhci1hbmdlbGxpc3Q6IFxcZjIwOTtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFxcZjEwMztcbiRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ6IFxcZjEwMDtcbiRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OiBcXGYxMDE7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXFxmMTAyO1xuJGZhLXZhci1hbmdsZS1kb3duOiBcXGYxMDc7XG4kZmEtdmFyLWFuZ2xlLWxlZnQ6IFxcZjEwNDtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFxcZjEwNTtcbiRmYS12YXItYW5nbGUtdXA6IFxcZjEwNjtcbiRmYS12YXItYW5ncnk6IFxcZjU1NjtcbiRmYS12YXItYW5ncnljcmVhdGl2ZTogXFxmMzZlO1xuJGZhLXZhci1hbmd1bGFyOiBcXGY0MjA7XG4kZmEtdmFyLWFua2g6IFxcZjY0NDtcbiRmYS12YXItYXBwLXN0b3JlOiBcXGYzNmY7XG4kZmEtdmFyLWFwcC1zdG9yZS1pb3M6IFxcZjM3MDtcbiRmYS12YXItYXBwZXI6IFxcZjM3MTtcbiRmYS12YXItYXBwbGU6IFxcZjE3OTtcbiRmYS12YXItYXBwbGUtYWx0OiBcXGY1ZDE7XG4kZmEtdmFyLWFwcGxlLXBheTogXFxmNDE1O1xuJGZhLXZhci1hcmNoaXZlOiBcXGYxODc7XG4kZmEtdmFyLWFyY2h3YXk6IFxcZjU1NztcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duOiBcXGYzNTg7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdDogXFxmMzU5O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OiBcXGYzNWE7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXA6IFxcZjM1YjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFxcZjBhYjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFxcZjBhODtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXFxmMGFhO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcXGYwNjM7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFxcZjA2MDtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFxcZjA2MTtcbiRmYS12YXItYXJyb3ctdXA6IFxcZjA2MjtcbiRmYS12YXItYXJyb3dzLWFsdDogXFxmMGIyO1xuJGZhLXZhci1hcnJvd3MtYWx0LWg6IFxcZjMzNztcbiRmYS12YXItYXJyb3dzLWFsdC12OiBcXGYzMzg7XG4kZmEtdmFyLWFydHN0YXRpb246IFxcZjc3YTtcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcXGYyYTI7XG4kZmEtdmFyLWFzdGVyaXNrOiBcXGYwNjk7XG4kZmEtdmFyLWFzeW1tZXRyaWs6IFxcZjM3MjtcbiRmYS12YXItYXQ6IFxcZjFmYTtcbiRmYS12YXItYXRsYXM6IFxcZjU1ODtcbiRmYS12YXItYXRsYXNzaWFuOiBcXGY3N2I7XG4kZmEtdmFyLWF0b206IFxcZjVkMjtcbiRmYS12YXItYXVkaWJsZTogXFxmMzczO1xuJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbjogXFxmMjllO1xuJGZhLXZhci1hdXRvcHJlZml4ZXI6IFxcZjQxYztcbiRmYS12YXItYXZpYW5leDogXFxmMzc0O1xuJGZhLXZhci1hdmlhdG86IFxcZjQyMTtcbiRmYS12YXItYXdhcmQ6IFxcZjU1OTtcbiRmYS12YXItYXdzOiBcXGYzNzU7XG4kZmEtdmFyLWJhYnk6IFxcZjc3YztcbiRmYS12YXItYmFieS1jYXJyaWFnZTogXFxmNzdkO1xuJGZhLXZhci1iYWNrc3BhY2U6IFxcZjU1YTtcbiRmYS12YXItYmFja3dhcmQ6IFxcZjA0YTtcbiRmYS12YXItYmFjb246IFxcZjdlNTtcbiRmYS12YXItYmFjdGVyaWE6IFxcZTA1OTtcbiRmYS12YXItYmFjdGVyaXVtOiBcXGUwNWE7XG4kZmEtdmFyLWJhaGFpOiBcXGY2NjY7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFxcZjI0ZTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0OiBcXGY1MTU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQ6IFxcZjUxNjtcbiRmYS12YXItYmFuOiBcXGYwNWU7XG4kZmEtdmFyLWJhbmQtYWlkOiBcXGY0NjI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcXGYyZDU7XG4kZmEtdmFyLWJhcmNvZGU6IFxcZjAyYTtcbiRmYS12YXItYmFyczogXFxmMGM5O1xuJGZhLXZhci1iYXNlYmFsbC1iYWxsOiBcXGY0MzM7XG4kZmEtdmFyLWJhc2tldGJhbGwtYmFsbDogXFxmNDM0O1xuJGZhLXZhci1iYXRoOiBcXGYyY2Q7XG4kZmEtdmFyLWJhdHRlcnktZW1wdHk6IFxcZjI0NDtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcXGYyNDA7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXFxmMjQyO1xuJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI6IFxcZjI0MztcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXFxmMjQxO1xuJGZhLXZhci1iYXR0bGUtbmV0OiBcXGY4MzU7XG4kZmEtdmFyLWJlZDogXFxmMjM2O1xuJGZhLXZhci1iZWVyOiBcXGYwZmM7XG4kZmEtdmFyLWJlaGFuY2U6IFxcZjFiNDtcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFxcZjFiNTtcbiRmYS12YXItYmVsbDogXFxmMGYzO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcXGYxZjY7XG4kZmEtdmFyLWJlemllci1jdXJ2ZTogXFxmNTViO1xuJGZhLXZhci1iaWJsZTogXFxmNjQ3O1xuJGZhLXZhci1iaWN5Y2xlOiBcXGYyMDY7XG4kZmEtdmFyLWJpa2luZzogXFxmODRhO1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWJsZW5kZXI6IFxcZjUxNztcbiRmYS12YXItYmxlbmRlci1waG9uZTogXFxmNmI2O1xuJGZhLXZhci1ibGluZDogXFxmMjlkO1xuJGZhLXZhci1ibG9nOiBcXGY3ODE7XG4kZmEtdmFyLWJsb2dnZXI6IFxcZjM3YztcbiRmYS12YXItYmxvZ2dlci1iOiBcXGYzN2Q7XG4kZmEtdmFyLWJsdWV0b290aDogXFxmMjkzO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXFxmMjk0O1xuJGZhLXZhci1ib2xkOiBcXGYwMzI7XG4kZmEtdmFyLWJvbHQ6IFxcZjBlNztcbiRmYS12YXItYm9tYjogXFxmMWUyO1xuJGZhLXZhci1ib25lOiBcXGY1ZDc7XG4kZmEtdmFyLWJvbmc6IFxcZjU1YztcbiRmYS12YXItYm9vazogXFxmMDJkO1xuJGZhLXZhci1ib29rLWRlYWQ6IFxcZjZiNztcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rbWFyazogXFxmMDJlO1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItYm9yZGVyLWFsbDogXFxmODRjO1xuJGZhLXZhci1ib3JkZXItbm9uZTogXFxmODUwO1xuJGZhLXZhci1ib3JkZXItc3R5bGU6IFxcZjg1MztcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJveDogXFxmNDY2O1xuJGZhLXZhci1ib3gtb3BlbjogXFxmNDllO1xuJGZhLXZhci1ib3gtdGlzc3VlOiBcXGUwNWI7XG4kZmEtdmFyLWJveGVzOiBcXGY0Njg7XG4kZmEtdmFyLWJyYWlsbGU6IFxcZjJhMTtcbiRmYS12YXItYnJhaW46IFxcZjVkYztcbiRmYS12YXItYnJlYWQtc2xpY2U6IFxcZjdlYztcbiRmYS12YXItYnJpZWZjYXNlOiBcXGYwYjE7XG4kZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsOiBcXGY0Njk7XG4kZmEtdmFyLWJyb2FkY2FzdC10b3dlcjogXFxmNTE5O1xuJGZhLXZhci1icm9vbTogXFxmNTFhO1xuJGZhLXZhci1icnVzaDogXFxmNTVkO1xuJGZhLXZhci1idGM6IFxcZjE1YTtcbiRmYS12YXItYnVmZmVyOiBcXGY4Mzc7XG4kZmEtdmFyLWJ1ZzogXFxmMTg4O1xuJGZhLXZhci1idWlsZGluZzogXFxmMWFkO1xuJGZhLXZhci1idWxsaG9ybjogXFxmMGExO1xuJGZhLXZhci1idWxsc2V5ZTogXFxmMTQwO1xuJGZhLXZhci1idXJuOiBcXGY0NmE7XG4kZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGU6IFxcZjM3ZjtcbiRmYS12YXItYnVzOiBcXGYyMDc7XG4kZmEtdmFyLWJ1cy1hbHQ6IFxcZjU1ZTtcbiRmYS12YXItYnVzaW5lc3MtdGltZTogXFxmNjRhO1xuJGZhLXZhci1idXktbi1sYXJnZTogXFxmOGE2O1xuJGZhLXZhci1idXlzZWxsYWRzOiBcXGYyMGQ7XG4kZmEtdmFyLWNhbGN1bGF0b3I6IFxcZjFlYztcbiRmYS12YXItY2FsZW5kYXI6IFxcZjEzMztcbiRmYS12YXItY2FsZW5kYXItYWx0OiBcXGYwNzM7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrOiBcXGYyNzQ7XG4kZmEtdmFyLWNhbGVuZGFyLWRheTogXFxmNzgzO1xuJGZhLXZhci1jYWxlbmRhci1taW51czogXFxmMjcyO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzOiBcXGYyNzE7XG4kZmEtdmFyLWNhbGVuZGFyLXRpbWVzOiBcXGYyNzM7XG4kZmEtdmFyLWNhbGVuZGFyLXdlZWs6IFxcZjc4NDtcbiRmYS12YXItY2FtZXJhOiBcXGYwMzA7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXFxmMDgzO1xuJGZhLXZhci1jYW1wZ3JvdW5kOiBcXGY2YmI7XG4kZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWY6IFxcZjc4NTtcbiRmYS12YXItY2FuZHktY2FuZTogXFxmNzg2O1xuJGZhLXZhci1jYW5uYWJpczogXFxmNTVmO1xuJGZhLXZhci1jYXBzdWxlczogXFxmNDZiO1xuJGZhLXZhci1jYXI6IFxcZjFiOTtcbiRmYS12YXItY2FyLWFsdDogXFxmNWRlO1xuJGZhLXZhci1jYXItYmF0dGVyeTogXFxmNWRmO1xuJGZhLXZhci1jYXItY3Jhc2g6IFxcZjVlMTtcbiRmYS12YXItY2FyLXNpZGU6IFxcZjVlNDtcbiRmYS12YXItY2FyYXZhbjogXFxmOGZmO1xuJGZhLXZhci1jYXJldC1kb3duOiBcXGYwZDc7XG4kZmEtdmFyLWNhcmV0LWxlZnQ6IFxcZjBkOTtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFxcZjBkYTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWRvd246IFxcZjE1MDtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQ6IFxcZjE5MTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0OiBcXGYxNTI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS11cDogXFxmMTUxO1xuJGZhLXZhci1jYXJldC11cDogXFxmMGQ4O1xuJGZhLXZhci1jYXJyb3Q6IFxcZjc4NztcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcXGYyMTg7XG4kZmEtdmFyLWNhcnQtcGx1czogXFxmMjE3O1xuJGZhLXZhci1jYXNoLXJlZ2lzdGVyOiBcXGY3ODg7XG4kZmEtdmFyLWNhdDogXFxmNmJlO1xuJGZhLXZhci1jYy1hbWF6b24tcGF5OiBcXGY0MmQ7XG4kZmEtdmFyLWNjLWFtZXg6IFxcZjFmMztcbiRmYS12YXItY2MtYXBwbGUtcGF5OiBcXGY0MTY7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcXGYyNGM7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcXGYxZjI7XG4kZmEtdmFyLWNjLWpjYjogXFxmMjRiO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcXGYxZjE7XG4kZmEtdmFyLWNjLXBheXBhbDogXFxmMWY0O1xuJGZhLXZhci1jYy1zdHJpcGU6IFxcZjFmNTtcbiRmYS12YXItY2MtdmlzYTogXFxmMWYwO1xuJGZhLXZhci1jZW50ZXJjb2RlOiBcXGYzODA7XG4kZmEtdmFyLWNlbnRvczogXFxmNzg5O1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXFxmMGEzO1xuJGZhLXZhci1jaGFpcjogXFxmNmMwO1xuJGZhLXZhci1jaGFsa2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcjogXFxmNTFjO1xuJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uOiBcXGY1ZTc7XG4kZmEtdmFyLWNoYXJ0LWFyZWE6IFxcZjFmZTtcbiRmYS12YXItY2hhcnQtYmFyOiBcXGYwODA7XG4kZmEtdmFyLWNoYXJ0LWxpbmU6IFxcZjIwMTtcbiRmYS12YXItY2hhcnQtcGllOiBcXGYyMDA7XG4kZmEtdmFyLWNoZWNrOiBcXGYwMGM7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXFxmMDU4O1xuJGZhLXZhci1jaGVjay1kb3VibGU6IFxcZjU2MDtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcXGYxNGE7XG4kZmEtdmFyLWNoZWVzZTogXFxmN2VmO1xuJGZhLXZhci1jaGVzczogXFxmNDM5O1xuJGZhLXZhci1jaGVzcy1iaXNob3A6IFxcZjQzYTtcbiRmYS12YXItY2hlc3MtYm9hcmQ6IFxcZjQzYztcbiRmYS12YXItY2hlc3Mta2luZzogXFxmNDNmO1xuJGZhLXZhci1jaGVzcy1rbmlnaHQ6IFxcZjQ0MTtcbiRmYS12YXItY2hlc3MtcGF3bjogXFxmNDQzO1xuJGZhLXZhci1jaGVzcy1xdWVlbjogXFxmNDQ1O1xuJGZhLXZhci1jaGVzcy1yb29rOiBcXGY0NDc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFxcZjEzYTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXFxmMTM3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXFxmMTM5O1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFxcZjA3ODtcbiRmYS12YXItY2hldnJvbi1sZWZ0OiBcXGYwNTM7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFxcZjA1NDtcbiRmYS12YXItY2hldnJvbi11cDogXFxmMDc3O1xuJGZhLXZhci1jaGlsZDogXFxmMWFlO1xuJGZhLXZhci1jaHJvbWU6IFxcZjI2ODtcbiRmYS12YXItY2hyb21lY2FzdDogXFxmODM4O1xuJGZhLXZhci1jaHVyY2g6IFxcZjUxZDtcbiRmYS12YXItY2lyY2xlOiBcXGYxMTE7XG4kZmEtdmFyLWNpcmNsZS1ub3RjaDogXFxmMWNlO1xuJGZhLXZhci1jaXR5OiBcXGY2NGY7XG4kZmEtdmFyLWNsaW5pYy1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLWNsaXBib2FyZDogXFxmMzI4O1xuJGZhLXZhci1jbGlwYm9hcmQtY2hlY2s6IFxcZjQ2YztcbiRmYS12YXItY2xpcGJvYXJkLWxpc3Q6IFxcZjQ2ZDtcbiRmYS12YXItY2xvY2s6IFxcZjAxNztcbiRmYS12YXItY2xvbmU6IFxcZjI0ZDtcbiRmYS12YXItY2xvc2VkLWNhcHRpb25pbmc6IFxcZjIwYTtcbiRmYS12YXItY2xvdWQ6IFxcZjBjMjtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0OiBcXGYzODE7XG4kZmEtdmFyLWNsb3VkLW1lYXRiYWxsOiBcXGY3M2I7XG4kZmEtdmFyLWNsb3VkLW1vb246IFxcZjZjMztcbiRmYS12YXItY2xvdWQtbW9vbi1yYWluOiBcXGY3M2M7XG4kZmEtdmFyLWNsb3VkLXJhaW46IFxcZjczZDtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eTogXFxmNzQwO1xuJGZhLXZhci1jbG91ZC1zdW46IFxcZjZjNDtcbiRmYS12YXItY2xvdWQtc3VuLXJhaW46IFxcZjc0MztcbiRmYS12YXItY2xvdWQtdXBsb2FkLWFsdDogXFxmMzgyO1xuJGZhLXZhci1jbG91ZGZsYXJlOiBcXGUwN2Q7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItY29ja3RhaWw6IFxcZjU2MTtcbiRmYS12YXItY29kZTogXFxmMTIxO1xuJGZhLXZhci1jb2RlLWJyYW5jaDogXFxmMTI2O1xuJGZhLXZhci1jb2RlcGVuOiBcXGYxY2I7XG4kZmEtdmFyLWNvZGllcGllOiBcXGYyODQ7XG4kZmEtdmFyLWNvZmZlZTogXFxmMGY0O1xuJGZhLXZhci1jb2c6IFxcZjAxMztcbiRmYS12YXItY29nczogXFxmMDg1O1xuJGZhLXZhci1jb2luczogXFxmNTFlO1xuJGZhLXZhci1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWNvbW1lbnQ6IFxcZjA3NTtcbiRmYS12YXItY29tbWVudC1hbHQ6IFxcZjI3YTtcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnQtbWVkaWNhbDogXFxmN2Y1O1xuJGZhLXZhci1jb21tZW50LXNsYXNoOiBcXGY0YjM7XG4kZmEtdmFyLWNvbW1lbnRzOiBcXGYwODY7XG4kZmEtdmFyLWNvbW1lbnRzLWRvbGxhcjogXFxmNjUzO1xuJGZhLXZhci1jb21wYWN0LWRpc2M6IFxcZjUxZjtcbiRmYS12YXItY29tcGFzczogXFxmMTRlO1xuJGZhLXZhci1jb21wcmVzczogXFxmMDY2O1xuJGZhLXZhci1jb21wcmVzcy1hbHQ6IFxcZjQyMjtcbiRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdDogXFxmNzhjO1xuJGZhLXZhci1jb25jaWVyZ2UtYmVsbDogXFxmNTYyO1xuJGZhLXZhci1jb25mbHVlbmNlOiBcXGY3OGQ7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcXGYyMGU7XG4kZmEtdmFyLWNvbnRhbzogXFxmMjZkO1xuJGZhLXZhci1jb29raWU6IFxcZjU2MztcbiRmYS12YXItY29va2llLWJpdGU6IFxcZjU2NDtcbiRmYS12YXItY29weTogXFxmMGM1O1xuJGZhLXZhci1jb3B5cmlnaHQ6IFxcZjFmOTtcbiRmYS12YXItY290dG9uLWJ1cmVhdTogXFxmODllO1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jcGFuZWw6IFxcZjM4ODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXFxmMjVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5OiBcXGY0ZTc7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmM6IFxcZjRlODtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldTogXFxmNGU5O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOiBcXGY0ZWE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQ6IFxcZjRlYjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZDogXFxmNGVjO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDogXFxmNGVkO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OiBcXGY0ZWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2E6IFxcZjRlZjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzogXFxmNGYwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6IFxcZjRmMTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZTogXFxmNGYyO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm86IFxcZjRmMztcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFxcZjA5ZDtcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1jcm9wOiBcXGYxMjU7XG4kZmEtdmFyLWNyb3AtYWx0OiBcXGY1NjU7XG4kZmEtdmFyLWNyb3NzOiBcXGY2NTQ7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFxcZjA1YjtcbiRmYS12YXItY3JvdzogXFxmNTIwO1xuJGZhLXZhci1jcm93bjogXFxmNTIxO1xuJGZhLXZhci1jcnV0Y2g6IFxcZjdmNztcbiRmYS12YXItY3NzMzogXFxmMTNjO1xuJGZhLXZhci1jc3MzLWFsdDogXFxmMzhiO1xuJGZhLXZhci1jdWJlOiBcXGYxYjI7XG4kZmEtdmFyLWN1YmVzOiBcXGYxYjM7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItZGFpbHltb3Rpb246IFxcZTA1MjtcbiRmYS12YXItZGFzaGN1YmU6IFxcZjIxMDtcbiRmYS12YXItZGF0YWJhc2U6IFxcZjFjMDtcbiRmYS12YXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWV6ZXI6IFxcZTA3NztcbiRmYS12YXItZGVsaWNpb3VzOiBcXGYxYTU7XG4kZmEtdmFyLWRlbW9jcmF0OiBcXGY3NDc7XG4kZmEtdmFyLWRlcGxveWRvZzogXFxmMzhlO1xuJGZhLXZhci1kZXNrcHJvOiBcXGYzOGY7XG4kZmEtdmFyLWRlc2t0b3A6IFxcZjEwODtcbiRmYS12YXItZGV2OiBcXGY2Y2M7XG4kZmEtdmFyLWRldmlhbnRhcnQ6IFxcZjFiZDtcbiRmYS12YXItZGhhcm1hY2hha3JhOiBcXGY2NTU7XG4kZmEtdmFyLWRobDogXFxmNzkwO1xuJGZhLXZhci1kaWFnbm9zZXM6IFxcZjQ3MDtcbiRmYS12YXItZGlhc3BvcmE6IFxcZjc5MTtcbiRmYS12YXItZGljZTogXFxmNTIyO1xuJGZhLXZhci1kaWNlLWQyMDogXFxmNmNmO1xuJGZhLXZhci1kaWNlLWQ2OiBcXGY2ZDE7XG4kZmEtdmFyLWRpY2UtZml2ZTogXFxmNTIzO1xuJGZhLXZhci1kaWNlLWZvdXI6IFxcZjUyNDtcbiRmYS12YXItZGljZS1vbmU6IFxcZjUyNTtcbiRmYS12YXItZGljZS1zaXg6IFxcZjUyNjtcbiRmYS12YXItZGljZS10aHJlZTogXFxmNTI3O1xuJGZhLXZhci1kaWNlLXR3bzogXFxmNTI4O1xuJGZhLXZhci1kaWdnOiBcXGYxYTY7XG4kZmEtdmFyLWRpZ2l0YWwtb2NlYW46IFxcZjM5MTtcbiRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoOiBcXGY1NjY7XG4kZmEtdmFyLWRpcmVjdGlvbnM6IFxcZjVlYjtcbiRmYS12YXItZGlzY29yZDogXFxmMzkyO1xuJGZhLXZhci1kaXNjb3Vyc2U6IFxcZjM5MztcbiRmYS12YXItZGlzZWFzZTogXFxmN2ZhO1xuJGZhLXZhci1kaXZpZGU6IFxcZjUyOTtcbiRmYS12YXItZGl6enk6IFxcZjU2NztcbiRmYS12YXItZG5hOiBcXGY0NzE7XG4kZmEtdmFyLWRvY2h1YjogXFxmMzk0O1xuJGZhLXZhci1kb2NrZXI6IFxcZjM5NTtcbiRmYS12YXItZG9nOiBcXGY2ZDM7XG4kZmEtdmFyLWRvbGxhci1zaWduOiBcXGYxNTU7XG4kZmEtdmFyLWRvbGx5OiBcXGY0NzI7XG4kZmEtdmFyLWRvbGx5LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItZG9uYXRlOiBcXGY0Yjk7XG4kZmEtdmFyLWRvb3ItY2xvc2VkOiBcXGY1MmE7XG4kZmEtdmFyLWRvb3Itb3BlbjogXFxmNTJiO1xuJGZhLXZhci1kb3QtY2lyY2xlOiBcXGYxOTI7XG4kZmEtdmFyLWRvdmU6IFxcZjRiYTtcbiRmYS12YXItZG93bmxvYWQ6IFxcZjAxOTtcbiRmYS12YXItZHJhZnQyZGlnaXRhbDogXFxmMzk2O1xuJGZhLXZhci1kcmFmdGluZy1jb21wYXNzOiBcXGY1Njg7XG4kZmEtdmFyLWRyYWdvbjogXFxmNmQ1O1xuJGZhLXZhci1kcmF3LXBvbHlnb246IFxcZjVlZTtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWRyb3Bib3g6IFxcZjE2YjtcbiRmYS12YXItZHJ1bTogXFxmNTY5O1xuJGZhLXZhci1kcnVtLXN0ZWVscGFuOiBcXGY1NmE7XG4kZmEtdmFyLWRydW1zdGljay1iaXRlOiBcXGY2ZDc7XG4kZmEtdmFyLWRydXBhbDogXFxmMWE5O1xuJGZhLXZhci1kdW1iYmVsbDogXFxmNDRiO1xuJGZhLXZhci1kdW1wc3RlcjogXFxmNzkzO1xuJGZhLXZhci1kdW1wc3Rlci1maXJlOiBcXGY3OTQ7XG4kZmEtdmFyLWR1bmdlb246IFxcZjZkOTtcbiRmYS12YXItZHlhbG9nOiBcXGYzOTk7XG4kZmEtdmFyLWVhcmx5YmlyZHM6IFxcZjM5YTtcbiRmYS12YXItZWJheTogXFxmNGY0O1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLWVkZ2UtbGVnYWN5OiBcXGUwNzg7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWVqZWN0OiBcXGYwNTI7XG4kZmEtdmFyLWVsZW1lbnRvcjogXFxmNDMwO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcXGYxNDE7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFxcZjE0MjtcbiRmYS12YXItZWxsbzogXFxmNWYxO1xuJGZhLXZhci1lbWJlcjogXFxmNDIzO1xuJGZhLXZhci1lbXBpcmU6IFxcZjFkMTtcbiRmYS12YXItZW52ZWxvcGU6IFxcZjBlMDtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXFxmMmI2O1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQ6IFxcZjY1ODtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcXGYxOTk7XG4kZmEtdmFyLWVudmlyYTogXFxmMjk5O1xuJGZhLXZhci1lcXVhbHM6IFxcZjUyYztcbiRmYS12YXItZXJhc2VyOiBcXGYxMmQ7XG4kZmEtdmFyLWVybGFuZzogXFxmMzlkO1xuJGZhLXZhci1ldGhlcmV1bTogXFxmNDJlO1xuJGZhLXZhci1ldGhlcm5ldDogXFxmNzk2O1xuJGZhLXZhci1ldHN5OiBcXGYyZDc7XG4kZmEtdmFyLWV1cm8tc2lnbjogXFxmMTUzO1xuJGZhLXZhci1ldmVybm90ZTogXFxmODM5O1xuJGZhLXZhci1leGNoYW5nZS1hbHQ6IFxcZjM2MjtcbiRmYS12YXItZXhjbGFtYXRpb246IFxcZjEyYTtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcXGYwNmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1leHBhbmQtYWx0OiBcXGY0MjQ7XG4kZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0OiBcXGYzMWU7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXFxmMjNlO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdDogXFxmMzVkO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6IFxcZjM2MDtcbiRmYS12YXItZXllOiBcXGYwNmU7XG4kZmEtdmFyLWV5ZS1kcm9wcGVyOiBcXGYxZmI7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXFxmMDcwO1xuJGZhLXZhci1mYWNlYm9vazogXFxmMDlhO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcXGYzOWU7XG4kZmEtdmFyLWZhY2Vib29rLW1lc3NlbmdlcjogXFxmMzlmO1xuJGZhLXZhci1mYWNlYm9vay1zcXVhcmU6IFxcZjA4MjtcbiRmYS12YXItZmFuOiBcXGY4NjM7XG4kZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOiBcXGY2ZGM7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFxcZjA0OTtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcXGYwNTA7XG4kZmEtdmFyLWZhdWNldDogXFxlMDA1O1xuJGZhLXZhci1mYXg6IFxcZjFhYztcbiRmYS12YXItZmVhdGhlcjogXFxmNTJkO1xuJGZhLXZhci1mZWF0aGVyLWFsdDogXFxmNTZiO1xuJGZhLXZhci1mZWRleDogXFxmNzk3O1xuJGZhLXZhci1mZWRvcmE6IFxcZjc5ODtcbiRmYS12YXItZmVtYWxlOiBcXGYxODI7XG4kZmEtdmFyLWZpZ2h0ZXItamV0OiBcXGYwZmI7XG4kZmEtdmFyLWZpZ21hOiBcXGY3OTk7XG4kZmEtdmFyLWZpbGU6IFxcZjE1YjtcbiRmYS12YXItZmlsZS1hbHQ6IFxcZjE1YztcbiRmYS12YXItZmlsZS1hcmNoaXZlOiBcXGYxYzY7XG4kZmEtdmFyLWZpbGUtYXVkaW86IFxcZjFjNztcbiRmYS12YXItZmlsZS1jb2RlOiBcXGYxYzk7XG4kZmEtdmFyLWZpbGUtY29udHJhY3Q6IFxcZjU2YztcbiRmYS12YXItZmlsZS1jc3Y6IFxcZjZkZDtcbiRmYS12YXItZmlsZS1kb3dubG9hZDogXFxmNTZkO1xuJGZhLXZhci1maWxlLWV4Y2VsOiBcXGYxYzM7XG4kZmEtdmFyLWZpbGUtZXhwb3J0OiBcXGY1NmU7XG4kZmEtdmFyLWZpbGUtaW1hZ2U6IFxcZjFjNTtcbiRmYS12YXItZmlsZS1pbXBvcnQ6IFxcZjU2ZjtcbiRmYS12YXItZmlsZS1pbnZvaWNlOiBcXGY1NzA7XG4kZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXI6IFxcZjU3MTtcbiRmYS12YXItZmlsZS1tZWRpY2FsOiBcXGY0Nzc7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQ6IFxcZjQ3ODtcbiRmYS12YXItZmlsZS1wZGY6IFxcZjFjMTtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50OiBcXGYxYzQ7XG4kZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uOiBcXGY1NzI7XG4kZmEtdmFyLWZpbGUtc2lnbmF0dXJlOiBcXGY1NzM7XG4kZmEtdmFyLWZpbGUtdXBsb2FkOiBcXGY1NzQ7XG4kZmEtdmFyLWZpbGUtdmlkZW86IFxcZjFjODtcbiRmYS12YXItZmlsZS13b3JkOiBcXGYxYzI7XG4kZmEtdmFyLWZpbGw6IFxcZjU3NTtcbiRmYS12YXItZmlsbC1kcmlwOiBcXGY1NzY7XG4kZmEtdmFyLWZpbG06IFxcZjAwODtcbiRmYS12YXItZmlsdGVyOiBcXGYwYjA7XG4kZmEtdmFyLWZpbmdlcnByaW50OiBcXGY1Nzc7XG4kZmEtdmFyLWZpcmU6IFxcZjA2ZDtcbiRmYS12YXItZmlyZS1hbHQ6IFxcZjdlNDtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFxcZjEzNDtcbiRmYS12YXItZmlyZWZveDogXFxmMjY5O1xuJGZhLXZhci1maXJlZm94LWJyb3dzZXI6IFxcZTAwNztcbiRmYS12YXItZmlyc3QtYWlkOiBcXGY0Nzk7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcXGYyYjA7XG4kZmEtdmFyLWZpcnN0LW9yZGVyLWFsdDogXFxmNTBhO1xuJGZhLXZhci1maXJzdGRyYWZ0OiBcXGYzYTE7XG4kZmEtdmFyLWZpc2g6IFxcZjU3ODtcbiRmYS12YXItZmlzdC1yYWlzZWQ6IFxcZjZkZTtcbiRmYS12YXItZmxhZzogXFxmMDI0O1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXFxmMTFlO1xuJGZhLXZhci1mbGFnLXVzYTogXFxmNzRkO1xuJGZhLXZhci1mbGFzazogXFxmMGMzO1xuJGZhLXZhci1mbGlja3I6IFxcZjE2ZTtcbiRmYS12YXItZmxpcGJvYXJkOiBcXGY0NGQ7XG4kZmEtdmFyLWZsdXNoZWQ6IFxcZjU3OTtcbiRmYS12YXItZmx5OiBcXGY0MTc7XG4kZmEtdmFyLWZvbGRlcjogXFxmMDdiO1xuJGZhLXZhci1mb2xkZXItbWludXM6IFxcZjY1ZDtcbiRmYS12YXItZm9sZGVyLW9wZW46IFxcZjA3YztcbiRmYS12YXItZm9sZGVyLXBsdXM6IFxcZjY1ZTtcbiRmYS12YXItZm9udDogXFxmMDMxO1xuJGZhLXZhci1mb250LWF3ZXNvbWU6IFxcZjJiNDtcbiRmYS12YXItZm9udC1hd2Vzb21lLWFsdDogXFxmMzVjO1xuJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZzogXFxmNDI1O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsOiBcXGY0ZTY7XG4kZmEtdmFyLWZvbnRpY29uczogXFxmMjgwO1xuJGZhLXZhci1mb250aWNvbnMtZmk6IFxcZjNhMjtcbiRmYS12YXItZm9vdGJhbGwtYmFsbDogXFxmNDRlO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFxcZjI4NjtcbiRmYS12YXItZm9ydC1hd2Vzb21lLWFsdDogXFxmM2EzO1xuJGZhLXZhci1mb3J1bWJlZTogXFxmMjExO1xuJGZhLXZhci1mb3J3YXJkOiBcXGYwNGU7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFxcZjE4MDtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFxcZjJjNTtcbiRmYS12YXItZnJlZWJzZDogXFxmM2E0O1xuJGZhLXZhci1mcm9nOiBcXGY1MmU7XG4kZmEtdmFyLWZyb3duOiBcXGYxMTk7XG4kZmEtdmFyLWZyb3duLW9wZW46IFxcZjU3YTtcbiRmYS12YXItZnVsY3J1bTogXFxmNTBiO1xuJGZhLXZhci1mdW5uZWwtZG9sbGFyOiBcXGY2NjI7XG4kZmEtdmFyLWZ1dGJvbDogXFxmMWUzO1xuJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYzogXFxmNTBjO1xuJGZhLXZhci1nYWxhY3RpYy1zZW5hdGU6IFxcZjUwZDtcbiRmYS12YXItZ2FtZXBhZDogXFxmMTFiO1xuJGZhLXZhci1nYXMtcHVtcDogXFxmNTJmO1xuJGZhLXZhci1nYXZlbDogXFxmMGUzO1xuJGZhLXZhci1nZW06IFxcZjNhNTtcbiRmYS12YXItZ2VuZGVybGVzczogXFxmMjJkO1xuJGZhLXZhci1nZXQtcG9ja2V0OiBcXGYyNjU7XG4kZmEtdmFyLWdnOiBcXGYyNjA7XG4kZmEtdmFyLWdnLWNpcmNsZTogXFxmMjYxO1xuJGZhLXZhci1naG9zdDogXFxmNmUyO1xuJGZhLXZhci1naWZ0OiBcXGYwNmI7XG4kZmEtdmFyLWdpZnRzOiBcXGY3OWM7XG4kZmEtdmFyLWdpdDogXFxmMWQzO1xuJGZhLXZhci1naXQtYWx0OiBcXGY4NDE7XG4kZmEtdmFyLWdpdC1zcXVhcmU6IFxcZjFkMjtcbiRmYS12YXItZ2l0aHViOiBcXGYwOWI7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFxcZjExMztcbiRmYS12YXItZ2l0aHViLXNxdWFyZTogXFxmMDkyO1xuJGZhLXZhci1naXRrcmFrZW46IFxcZjNhNjtcbiRmYS12YXItZ2l0bGFiOiBcXGYyOTY7XG4kZmEtdmFyLWdpdHRlcjogXFxmNDI2O1xuJGZhLXZhci1nbGFzcy1jaGVlcnM6IFxcZjc5ZjtcbiRmYS12YXItZ2xhc3MtbWFydGluaTogXFxmMDAwO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdDogXFxmNTdiO1xuJGZhLXZhci1nbGFzcy13aGlza2V5OiBcXGY3YTA7XG4kZmEtdmFyLWdsYXNzZXM6IFxcZjUzMDtcbiRmYS12YXItZ2xpZGU6IFxcZjJhNTtcbiRmYS12YXItZ2xpZGUtZzogXFxmMmE2O1xuJGZhLXZhci1nbG9iZTogXFxmMGFjO1xuJGZhLXZhci1nbG9iZS1hZnJpY2E6IFxcZjU3YztcbiRmYS12YXItZ2xvYmUtYW1lcmljYXM6IFxcZjU3ZDtcbiRmYS12YXItZ2xvYmUtYXNpYTogXFxmNTdlO1xuJGZhLXZhci1nbG9iZS1ldXJvcGU6IFxcZjdhMjtcbiRmYS12YXItZ29mb3JlOiBcXGYzYTc7XG4kZmEtdmFyLWdvbGYtYmFsbDogXFxmNDUwO1xuJGZhLXZhci1nb29kcmVhZHM6IFxcZjNhODtcbiRmYS12YXItZ29vZHJlYWRzLWc6IFxcZjNhOTtcbiRmYS12YXItZ29vZ2xlOiBcXGYxYTA7XG4kZmEtdmFyLWdvb2dsZS1kcml2ZTogXFxmM2FhO1xuJGZhLXZhci1nb29nbGUtcGF5OiBcXGUwNzk7XG4kZmEtdmFyLWdvb2dsZS1wbGF5OiBcXGYzYWI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcXGYyYjM7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWc6IFxcZjBkNTtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcXGYwZDQ7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFxcZjFlZTtcbiRmYS12YXItZ29wdXJhbTogXFxmNjY0O1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXFxmMTlkO1xuJGZhLXZhci1ncmF0aXBheTogXFxmMTg0O1xuJGZhLXZhci1ncmF2OiBcXGYyZDY7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbjogXFxmNTMxO1xuJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWw6IFxcZjUzMjtcbiRmYS12YXItZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWdyaW4tYWx0OiBcXGY1ODE7XG4kZmEtdmFyLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1ncmlwLWhvcml6b250YWw6IFxcZjU4ZDtcbiRmYS12YXItZ3JpcC1saW5lczogXFxmN2E0O1xuJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsOiBcXGY3YTU7XG4kZmEtdmFyLWdyaXAtdmVydGljYWw6IFxcZjU4ZTtcbiRmYS12YXItZ3JpcGZpcmU6IFxcZjNhYztcbiRmYS12YXItZ3J1bnQ6IFxcZjNhZDtcbiRmYS12YXItZ3VpbGRlZDogXFxlMDdlO1xuJGZhLXZhci1ndWl0YXI6IFxcZjdhNjtcbiRmYS12YXItZ3VscDogXFxmM2FlO1xuJGZhLXZhci1oLXNxdWFyZTogXFxmMGZkO1xuJGZhLXZhci1oYWNrZXItbmV3czogXFxmMWQ0O1xuJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmU6IFxcZjNhZjtcbiRmYS12YXItaGFja2VycmFuazogXFxmNWY3O1xuJGZhLXZhci1oYW1idXJnZXI6IFxcZjgwNTtcbiRmYS12YXItaGFtbWVyOiBcXGY2ZTM7XG4kZmEtdmFyLWhhbXNhOiBcXGY2NjU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZzogXFxmNGJkO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQ6IFxcZjRiZTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWw6IFxcZTA1YztcbiRmYS12YXItaGFuZC1ob2xkaW5nLXVzZDogXFxmNGMwO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXI6IFxcZjRjMTtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZC1zcGFya2xlczogXFxlMDVkO1xuJGZhLXZhci1oYW5kLXNwb2NrOiBcXGYyNTk7XG4kZmEtdmFyLWhhbmRzOiBcXGY0YzI7XG4kZmEtdmFyLWhhbmRzLWhlbHBpbmc6IFxcZjRjNDtcbiRmYS12YXItaGFuZHMtd2FzaDogXFxlMDVlO1xuJGZhLXZhci1oYW5kc2hha2U6IFxcZjJiNTtcbiRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1oYW5kc2hha2Utc2xhc2g6IFxcZTA2MDtcbiRmYS12YXItaGFudWtpYWg6IFxcZjZlNjtcbiRmYS12YXItaGFyZC1oYXQ6IFxcZjgwNztcbiRmYS12YXItaGFzaHRhZzogXFxmMjkyO1xuJGZhLXZhci1oYXQtY293Ym95OiBcXGY4YzA7XG4kZmEtdmFyLWhhdC1jb3dib3ktc2lkZTogXFxmOGMxO1xuJGZhLXZhci1oYXQtd2l6YXJkOiBcXGY2ZTg7XG4kZmEtdmFyLWhkZDogXFxmMGEwO1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2g6IFxcZTA2MTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoOiBcXGUwNjI7XG4kZmEtdmFyLWhlYWQtc2lkZS1tYXNrOiBcXGUwNjM7XG4kZmEtdmFyLWhlYWQtc2lkZS12aXJ1czogXFxlMDY0O1xuJGZhLXZhci1oZWFkaW5nOiBcXGYxZGM7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFxcZjAyNTtcbiRmYS12YXItaGVhZHBob25lcy1hbHQ6IFxcZjU4ZjtcbiRmYS12YXItaGVhZHNldDogXFxmNTkwO1xuJGZhLXZhci1oZWFydDogXFxmMDA0O1xuJGZhLXZhci1oZWFydC1icm9rZW46IFxcZjdhOTtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLWhlbGljb3B0ZXI6IFxcZjUzMztcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWhpdmU6IFxcZTA3ZjtcbiRmYS12YXItaG9ja2V5LXB1Y2s6IFxcZjQ1MztcbiRmYS12YXItaG9sbHktYmVycnk6IFxcZjdhYTtcbiRmYS12YXItaG9tZTogXFxmMDE1O1xuJGZhLXZhci1ob29saTogXFxmNDI3O1xuJGZhLXZhci1ob3JuYmlsbDogXFxmNTkyO1xuJGZhLXZhci1ob3JzZTogXFxmNmYwO1xuJGZhLXZhci1ob3JzZS1oZWFkOiBcXGY3YWI7XG4kZmEtdmFyLWhvc3BpdGFsOiBcXGYwZjg7XG4kZmEtdmFyLWhvc3BpdGFsLWFsdDogXFxmNDdkO1xuJGZhLXZhci1ob3NwaXRhbC1zeW1ib2w6IFxcZjQ3ZTtcbiRmYS12YXItaG9zcGl0YWwtdXNlcjogXFxmODBkO1xuJGZhLXZhci1ob3QtdHViOiBcXGY1OTM7XG4kZmEtdmFyLWhvdGRvZzogXFxmODBmO1xuJGZhLXZhci1ob3RlbDogXFxmNTk0O1xuJGZhLXZhci1ob3RqYXI6IFxcZjNiMTtcbiRmYS12YXItaG91cmdsYXNzOiBcXGYyNTQ7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFxcZjI1MztcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFxcZjI1MjtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcXGYyNTE7XG4kZmEtdmFyLWhvdXNlLWRhbWFnZTogXFxmNmYxO1xuJGZhLXZhci1ob3VzZS11c2VyOiBcXGUwNjU7XG4kZmEtdmFyLWhvdXp6OiBcXGYyN2M7XG4kZmEtdmFyLWhyeXZuaWE6IFxcZjZmMjtcbiRmYS12YXItaHRtbDU6IFxcZjEzYjtcbiRmYS12YXItaHVic3BvdDogXFxmM2IyO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaWNpY2xlczogXFxmN2FkO1xuJGZhLXZhci1pY29uczogXFxmODZkO1xuJGZhLXZhci1pZC1iYWRnZTogXFxmMmMxO1xuJGZhLXZhci1pZC1jYXJkOiBcXGYyYzI7XG4kZmEtdmFyLWlkLWNhcmQtYWx0OiBcXGY0N2Y7XG4kZmEtdmFyLWlkZWFsOiBcXGUwMTM7XG4kZmEtdmFyLWlnbG9vOiBcXGY3YWU7XG4kZmEtdmFyLWltYWdlOiBcXGYwM2U7XG4kZmEtdmFyLWltYWdlczogXFxmMzAyO1xuJGZhLXZhci1pbWRiOiBcXGYyZDg7XG4kZmEtdmFyLWluYm94OiBcXGYwMWM7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1pbmZpbml0eTogXFxmNTM0O1xuJGZhLXZhci1pbmZvOiBcXGYxMjk7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcXGYwNWE7XG4kZmEtdmFyLWlubm9zb2Z0OiBcXGUwODA7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlOiBcXGUwNTU7XG4kZmEtdmFyLWluc3RhbG9kOiBcXGUwODE7XG4kZmEtdmFyLWludGVyY29tOiBcXGY3YWY7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcXGYyNmI7XG4kZmEtdmFyLWludmlzaW9uOiBcXGY3YjA7XG4kZmEtdmFyLWlveGhvc3Q6IFxcZjIwODtcbiRmYS12YXItaXRhbGljOiBcXGYwMzM7XG4kZmEtdmFyLWl0Y2gtaW86IFxcZjgzYTtcbiRmYS12YXItaXR1bmVzOiBcXGYzYjQ7XG4kZmEtdmFyLWl0dW5lcy1ub3RlOiBcXGYzYjU7XG4kZmEtdmFyLWphdmE6IFxcZjRlNDtcbiRmYS12YXItamVkaTogXFxmNjY5O1xuJGZhLXZhci1qZWRpLW9yZGVyOiBcXGY1MGU7XG4kZmEtdmFyLWplbmtpbnM6IFxcZjNiNjtcbiRmYS12YXItamlyYTogXFxmN2IxO1xuJGZhLXZhci1qb2dldDogXFxmM2I3O1xuJGZhLXZhci1qb2ludDogXFxmNTk1O1xuJGZhLXZhci1qb29tbGE6IFxcZjFhYTtcbiRmYS12YXItam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItanM6IFxcZjNiODtcbiRmYS12YXItanMtc3F1YXJlOiBcXGYzYjk7XG4kZmEtdmFyLWpzZmlkZGxlOiBcXGYxY2M7XG4kZmEtdmFyLWthYWJhOiBcXGY2NmI7XG4kZmEtdmFyLWthZ2dsZTogXFxmNWZhO1xuJGZhLXZhci1rZXk6IFxcZjA4NDtcbiRmYS12YXIta2V5YmFzZTogXFxmNGY1O1xuJGZhLXZhci1rZXlib2FyZDogXFxmMTFjO1xuJGZhLXZhci1rZXljZG46IFxcZjNiYTtcbiRmYS12YXIta2hhbmRhOiBcXGY2NmQ7XG4kZmEtdmFyLWtpY2tzdGFydGVyOiBcXGYzYmI7XG4kZmEtdmFyLWtpY2tzdGFydGVyLWs6IFxcZjNiYztcbiRmYS12YXIta2lzczogXFxmNTk2O1xuJGZhLXZhci1raXNzLWJlYW06IFxcZjU5NztcbiRmYS12YXIta2lzcy13aW5rLWhlYXJ0OiBcXGY1OTg7XG4kZmEtdmFyLWtpd2ktYmlyZDogXFxmNTM1O1xuJGZhLXZhci1rb3J2dWU6IFxcZjQyZjtcbiRmYS12YXItbGFuZG1hcms6IFxcZjY2ZjtcbiRmYS12YXItbGFuZ3VhZ2U6IFxcZjFhYjtcbiRmYS12YXItbGFwdG9wOiBcXGYxMDk7XG4kZmEtdmFyLWxhcHRvcC1jb2RlOiBcXGY1ZmM7XG4kZmEtdmFyLWxhcHRvcC1ob3VzZTogXFxlMDY2O1xuJGZhLXZhci1sYXB0b3AtbWVkaWNhbDogXFxmODEyO1xuJGZhLXZhci1sYXJhdmVsOiBcXGYzYmQ7XG4kZmEtdmFyLWxhc3RmbTogXFxmMjAyO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcXGYyMDM7XG4kZmEtdmFyLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItbGF5ZXItZ3JvdXA6IFxcZjVmZDtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1sZWFucHViOiBcXGYyMTI7XG4kZmEtdmFyLWxlbW9uOiBcXGYwOTQ7XG4kZmEtdmFyLWxlc3M6IFxcZjQxZDtcbiRmYS12YXItbGVzcy10aGFuOiBcXGY1MzY7XG4kZmEtdmFyLWxlc3MtdGhhbi1lcXVhbDogXFxmNTM3O1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1saW5lOiBcXGYzYzA7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWxpcmEtc2lnbjogXFxmMTk1O1xuJGZhLXZhci1saXN0OiBcXGYwM2E7XG4kZmEtdmFyLWxpc3QtYWx0OiBcXGYwMjI7XG4kZmEtdmFyLWxpc3Qtb2w6IFxcZjBjYjtcbiRmYS12YXItbGlzdC11bDogXFxmMGNhO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXFxmMTI0O1xuJGZhLXZhci1sb2NrOiBcXGYwMjM7XG4kZmEtdmFyLWxvY2stb3BlbjogXFxmM2MxO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duOiBcXGYzMDk7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQ6IFxcZjMwYTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQ6IFxcZjMwYjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXA6IFxcZjMwYztcbiRmYS12YXItbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1sdWdnYWdlLWNhcnQ6IFxcZjU5ZDtcbiRmYS12YXItbHVuZ3M6IFxcZjYwNDtcbiRmYS12YXItbHVuZ3MtdmlydXM6IFxcZTA2NztcbiRmYS12YXItbHlmdDogXFxmM2MzO1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbGNoaW1wOiBcXGY1OWU7XG4kZmEtdmFyLW1hbGU6IFxcZjE4MztcbiRmYS12YXItbWFuZGFsb3JpYW46IFxcZjUwZjtcbiRmYS12YXItbWFwOiBcXGYyNzk7XG4kZmEtdmFyLW1hcC1tYXJrZWQ6IFxcZjU5ZjtcbiRmYS12YXItbWFwLW1hcmtlZC1hbHQ6IFxcZjVhMDtcbiRmYS12YXItbWFwLW1hcmtlcjogXFxmMDQxO1xuJGZhLXZhci1tYXAtbWFya2VyLWFsdDogXFxmM2M1O1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItbWRiOiBcXGY4Y2E7XG4kZmEtdmFyLW1lZGFsOiBcXGY1YTI7XG4kZmEtdmFyLW1lZGFwcHM6IFxcZjNjNjtcbiRmYS12YXItbWVkaXVtOiBcXGYyM2E7XG4kZmEtdmFyLW1lZGl1bS1tOiBcXGYzYzc7XG4kZmEtdmFyLW1lZGtpdDogXFxmMGZhO1xuJGZhLXZhci1tZWRydDogXFxmM2M4O1xuJGZhLXZhci1tZWV0dXA6IFxcZjJlMDtcbiRmYS12YXItbWVnYXBvcnQ6IFxcZjVhMztcbiRmYS12YXItbWVoOiBcXGYxMWE7XG4kZmEtdmFyLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1tZWgtcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW1lbW9yeTogXFxmNTM4O1xuJGZhLXZhci1tZW5kZWxleTogXFxmN2IzO1xuJGZhLXZhci1tZW5vcmFoOiBcXGY2NzY7XG4kZmEtdmFyLW1lcmN1cnk6IFxcZjIyMztcbiRmYS12YXItbWV0ZW9yOiBcXGY3NTM7XG4kZmEtdmFyLW1pY3JvYmxvZzogXFxlMDFhO1xuJGZhLXZhci1taWNyb2NoaXA6IFxcZjJkYjtcbiRmYS12YXItbWljcm9waG9uZTogXFxmMTMwO1xuJGZhLXZhci1taWNyb3Bob25lLWFsdDogXFxmM2M5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcXGYxMzE7XG4kZmEtdmFyLW1pY3Jvc2NvcGU6IFxcZjYxMDtcbiRmYS12YXItbWljcm9zb2Z0OiBcXGYzY2E7XG4kZmEtdmFyLW1pbnVzOiBcXGYwNjg7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXFxmMDU2O1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFxcZjE0NjtcbiRmYS12YXItbWl0dGVuOiBcXGY3YjU7XG4kZmEtdmFyLW1peDogXFxmM2NiO1xuJGZhLXZhci1taXhjbG91ZDogXFxmMjg5O1xuJGZhLXZhci1taXhlcjogXFxlMDU2O1xuJGZhLXZhci1taXp1bmk6IFxcZjNjYztcbiRmYS12YXItbW9iaWxlOiBcXGYxMGI7XG4kZmEtdmFyLW1vYmlsZS1hbHQ6IFxcZjNjZDtcbiRmYS12YXItbW9keDogXFxmMjg1O1xuJGZhLXZhci1tb25lcm86IFxcZjNkMDtcbiRmYS12YXItbW9uZXktYmlsbDogXFxmMGQ2O1xuJGZhLXZhci1tb25leS1iaWxsLWFsdDogXFxmM2QxO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmU6IFxcZjUzYTtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdDogXFxmNTNiO1xuJGZhLXZhci1tb25leS1jaGVjazogXFxmNTNjO1xuJGZhLXZhci1tb25leS1jaGVjay1hbHQ6IFxcZjUzZDtcbiRmYS12YXItbW9udW1lbnQ6IFxcZjVhNjtcbiRmYS12YXItbW9vbjogXFxmMTg2O1xuJGZhLXZhci1tb3J0YXItcGVzdGxlOiBcXGY1YTc7XG4kZmEtdmFyLW1vc3F1ZTogXFxmNjc4O1xuJGZhLXZhci1tb3RvcmN5Y2xlOiBcXGYyMWM7XG4kZmEtdmFyLW1vdW50YWluOiBcXGY2ZmM7XG4kZmEtdmFyLW1vdXNlOiBcXGY4Y2M7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbXVnLWhvdDogXFxmN2I2O1xuJGZhLXZhci1tdXNpYzogXFxmMDAxO1xuJGZhLXZhci1uYXBzdGVyOiBcXGYzZDI7XG4kZmEtdmFyLW5lb3M6IFxcZjYxMjtcbiRmYS12YXItbmV0d29yay13aXJlZDogXFxmNmZmO1xuJGZhLXZhci1uZXV0ZXI6IFxcZjIyYztcbiRmYS12YXItbmV3c3BhcGVyOiBcXGYxZWE7XG4kZmEtdmFyLW5pbWJscjogXFxmNWE4O1xuJGZhLXZhci1ub2RlOiBcXGY0MTk7XG4kZmEtdmFyLW5vZGUtanM6IFxcZjNkMztcbiRmYS12YXItbm90LWVxdWFsOiBcXGY1M2U7XG4kZmEtdmFyLW5vdGVzLW1lZGljYWw6IFxcZjQ4MTtcbiRmYS12YXItbnBtOiBcXGYzZDQ7XG4kZmEtdmFyLW5zODogXFxmM2Q1O1xuJGZhLXZhci1udXRyaXRpb25peDogXFxmM2Q2O1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFxcZjI0NztcbiRmYS12YXItb2JqZWN0LXVuZ3JvdXA6IFxcZjI0ODtcbiRmYS12YXItb2N0b3B1cy1kZXBsb3k6IFxcZTA4MjtcbiRmYS12YXItb2Rub2tsYXNzbmlraTogXFxmMjYzO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXFxmMjY0O1xuJGZhLXZhci1vaWwtY2FuOiBcXGY2MTM7XG4kZmEtdmFyLW9sZC1yZXB1YmxpYzogXFxmNTEwO1xuJGZhLXZhci1vbTogXFxmNjc5O1xuJGZhLXZhci1vcGVuY2FydDogXFxmMjNkO1xuJGZhLXZhci1vcGVuaWQ6IFxcZjE5YjtcbiRmYS12YXItb3BlcmE6IFxcZjI2YTtcbiRmYS12YXItb3B0aW4tbW9uc3RlcjogXFxmMjNjO1xuJGZhLXZhci1vcmNpZDogXFxmOGQyO1xuJGZhLXZhci1vc2k6IFxcZjQxYTtcbiRmYS12YXItb3R0ZXI6IFxcZjcwMDtcbiRmYS12YXItb3V0ZGVudDogXFxmMDNiO1xuJGZhLXZhci1wYWdlNDogXFxmM2Q3O1xuJGZhLXZhci1wYWdlbGluZXM6IFxcZjE4YztcbiRmYS12YXItcGFnZXI6IFxcZjgxNTtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFxcZjFmYztcbiRmYS12YXItcGFpbnQtcm9sbGVyOiBcXGY1YWE7XG4kZmEtdmFyLXBhbGV0dGU6IFxcZjUzZjtcbiRmYS12YXItcGFsZmVkOiBcXGYzZDg7XG4kZmEtdmFyLXBhbGxldDogXFxmNDgyO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXFxmMWQ4O1xuJGZhLXZhci1wYXBlcmNsaXA6IFxcZjBjNjtcbiRmYS12YXItcGFyYWNodXRlLWJveDogXFxmNGNkO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFxcZjFkZDtcbiRmYS12YXItcGFya2luZzogXFxmNTQwO1xuJGZhLXZhci1wYXNzcG9ydDogXFxmNWFiO1xuJGZhLXZhci1wYXN0YWZhcmlhbmlzbTogXFxmNjdiO1xuJGZhLXZhci1wYXN0ZTogXFxmMGVhO1xuJGZhLXZhci1wYXRyZW9uOiBcXGYzZDk7XG4kZmEtdmFyLXBhdXNlOiBcXGYwNGM7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZTogXFxmMjhiO1xuJGZhLXZhci1wYXc6IFxcZjFiMDtcbiRmYS12YXItcGF5cGFsOiBcXGYxZWQ7XG4kZmEtdmFyLXBlYWNlOiBcXGY2N2M7XG4kZmEtdmFyLXBlbjogXFxmMzA0O1xuJGZhLXZhci1wZW4tYWx0OiBcXGYzMDU7XG4kZmEtdmFyLXBlbi1mYW5jeTogXFxmNWFjO1xuJGZhLXZhci1wZW4tbmliOiBcXGY1YWQ7XG4kZmEtdmFyLXBlbi1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItcGVuY2lsLWFsdDogXFxmMzAzO1xuJGZhLXZhci1wZW5jaWwtcnVsZXI6IFxcZjVhZTtcbiRmYS12YXItcGVubnktYXJjYWRlOiBcXGY3MDQ7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3M6IFxcZTA2ODtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItcGVyYnl0ZTogXFxlMDgzO1xuJGZhLXZhci1wZXJjZW50OiBcXGYyOTU7XG4kZmEtdmFyLXBlcmNlbnRhZ2U6IFxcZjU0MTtcbiRmYS12YXItcGVyaXNjb3BlOiBcXGYzZGE7XG4kZmEtdmFyLXBlcnNvbi1ib290aDogXFxmNzU2O1xuJGZhLXZhci1waGFicmljYXRvcjogXFxmM2RiO1xuJGZhLXZhci1waG9lbml4LWZyYW1ld29yazogXFxmM2RjO1xuJGZhLXZhci1waG9lbml4LXNxdWFkcm9uOiBcXGY1MTE7XG4kZmEtdmFyLXBob25lOiBcXGYwOTU7XG4kZmEtdmFyLXBob25lLWFsdDogXFxmODc5O1xuJGZhLXZhci1waG9uZS1zbGFzaDogXFxmM2RkO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFxcZjA5ODtcbiRmYS12YXItcGhvbmUtc3F1YXJlLWFsdDogXFxmODdiO1xuJGZhLXZhci1waG9uZS12b2x1bWU6IFxcZjJhMDtcbiRmYS12YXItcGhvdG8tdmlkZW86IFxcZjg3YztcbiRmYS12YXItcGhwOiBcXGY0NTc7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFxcZjJhZTtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFxcZjFhODtcbiRmYS12YXItcGllZC1waXBlci1oYXQ6IFxcZjRlNTtcbiRmYS12YXItcGllZC1waXBlci1wcDogXFxmMWE3O1xuJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZTogXFxlMDFlO1xuJGZhLXZhci1waWdneS1iYW5rOiBcXGY0ZDM7XG4kZmEtdmFyLXBpbGxzOiBcXGY0ODQ7XG4kZmEtdmFyLXBpbnRlcmVzdDogXFxmMGQyO1xuJGZhLXZhci1waW50ZXJlc3QtcDogXFxmMjMxO1xuJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOiBcXGYwZDM7XG4kZmEtdmFyLXBpenphLXNsaWNlOiBcXGY4MTg7XG4kZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXA6IFxcZjY3ZjtcbiRmYS12YXItcGxhbmU6IFxcZjA3MjtcbiRmYS12YXItcGxhbmUtYXJyaXZhbDogXFxmNWFmO1xuJGZhLXZhci1wbGFuZS1kZXBhcnR1cmU6IFxcZjViMDtcbiRmYS12YXItcGxhbmUtc2xhc2g6IFxcZTA2OTtcbiRmYS12YXItcGxheTogXFxmMDRiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXFxmMTQ0O1xuJGZhLXZhci1wbGF5c3RhdGlvbjogXFxmM2RmO1xuJGZhLXZhci1wbHVnOiBcXGYxZTY7XG4kZmEtdmFyLXBsdXM6IFxcZjA2NztcbiRmYS12YXItcGx1cy1jaXJjbGU6IFxcZjA1NTtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFxcZjBmZTtcbiRmYS12YXItcG9kY2FzdDogXFxmMmNlO1xuJGZhLXZhci1wb2xsOiBcXGY2ODE7XG4kZmEtdmFyLXBvbGwtaDogXFxmNjgyO1xuJGZhLXZhci1wb286IFxcZjJmZTtcbiRmYS12YXItcG9vLXN0b3JtOiBcXGY3NWE7XG4kZmEtdmFyLXBvb3A6IFxcZjYxOTtcbiRmYS12YXItcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItcG91bmQtc2lnbjogXFxmMTU0O1xuJGZhLXZhci1wb3dlci1vZmY6IFxcZjAxMTtcbiRmYS12YXItcHJheTogXFxmNjgzO1xuJGZhLXZhci1wcmF5aW5nLWhhbmRzOiBcXGY2ODQ7XG4kZmEtdmFyLXByZXNjcmlwdGlvbjogXFxmNWIxO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlOiBcXGY0ODU7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OiBcXGY0ODY7XG4kZmEtdmFyLXByaW50OiBcXGYwMmY7XG4kZmEtdmFyLXByb2NlZHVyZXM6IFxcZjQ4NztcbiRmYS12YXItcHJvZHVjdC1odW50OiBcXGYyODg7XG4kZmEtdmFyLXByb2plY3QtZGlhZ3JhbTogXFxmNTQyO1xuJGZhLXZhci1wdW1wLW1lZGljYWw6IFxcZTA2YTtcbiRmYS12YXItcHVtcC1zb2FwOiBcXGUwNmI7XG4kZmEtdmFyLXB1c2hlZDogXFxmM2UxO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFxcZjEyZTtcbiRmYS12YXItcHl0aG9uOiBcXGYzZTI7XG4kZmEtdmFyLXFxOiBcXGYxZDY7XG4kZmEtdmFyLXFyY29kZTogXFxmMDI5O1xuJGZhLXZhci1xdWVzdGlvbjogXFxmMTI4O1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFxcZjA1OTtcbiRmYS12YXItcXVpZGRpdGNoOiBcXGY0NTg7XG4kZmEtdmFyLXF1aW5zY2FwZTogXFxmNDU5O1xuJGZhLXZhci1xdW9yYTogXFxmMmM0O1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcXGYxMGQ7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcXGYxMGU7XG4kZmEtdmFyLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLXItcHJvamVjdDogXFxmNGY3O1xuJGZhLXZhci1yYWRpYXRpb246IFxcZjdiOTtcbiRmYS12YXItcmFkaWF0aW9uLWFsdDogXFxmN2JhO1xuJGZhLXZhci1yYWluYm93OiBcXGY3NWI7XG4kZmEtdmFyLXJhbmRvbTogXFxmMDc0O1xuJGZhLXZhci1yYXNwYmVycnktcGk6IFxcZjdiYjtcbiRmYS12YXItcmF2ZWxyeTogXFxmMmQ5O1xuJGZhLXZhci1yZWFjdDogXFxmNDFiO1xuJGZhLXZhci1yZWFjdGV1cm9wZTogXFxmNzVkO1xuJGZhLXZhci1yZWFkbWU6IFxcZjRkNTtcbiRmYS12YXItcmViZWw6IFxcZjFkMDtcbiRmYS12YXItcmVjZWlwdDogXFxmNTQzO1xuJGZhLXZhci1yZWNvcmQtdmlueWw6IFxcZjhkOTtcbiRmYS12YXItcmVjeWNsZTogXFxmMWI4O1xuJGZhLXZhci1yZWQtcml2ZXI6IFxcZjNlMztcbiRmYS12YXItcmVkZGl0OiBcXGYxYTE7XG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXFxmMjgxO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcXGYxYTI7XG4kZmEtdmFyLXJlZGhhdDogXFxmN2JjO1xuJGZhLXZhci1yZWRvOiBcXGYwMWU7XG4kZmEtdmFyLXJlZG8tYWx0OiBcXGYyZjk7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFxcZjI1ZDtcbiRmYS12YXItcmVtb3ZlLWZvcm1hdDogXFxmODdkO1xuJGZhLXZhci1yZW5yZW46IFxcZjE4YjtcbiRmYS12YXItcmVwbHk6IFxcZjNlNTtcbiRmYS12YXItcmVwbHktYWxsOiBcXGYxMjI7XG4kZmEtdmFyLXJlcGx5ZDogXFxmM2U2O1xuJGZhLXZhci1yZXB1YmxpY2FuOiBcXGY3NWU7XG4kZmEtdmFyLXJlc2VhcmNoZ2F0ZTogXFxmNGY4O1xuJGZhLXZhci1yZXNvbHZpbmc6IFxcZjNlNztcbiRmYS12YXItcmVzdHJvb206IFxcZjdiZDtcbiRmYS12YXItcmV0d2VldDogXFxmMDc5O1xuJGZhLXZhci1yZXY6IFxcZjViMjtcbiRmYS12YXItcmliYm9uOiBcXGY0ZDY7XG4kZmEtdmFyLXJpbmc6IFxcZjcwYjtcbiRmYS12YXItcm9hZDogXFxmMDE4O1xuJGZhLXZhci1yb2JvdDogXFxmNTQ0O1xuJGZhLXZhci1yb2NrZXQ6IFxcZjEzNTtcbiRmYS12YXItcm9ja2V0Y2hhdDogXFxmM2U4O1xuJGZhLXZhci1yb2Nrcm1zOiBcXGYzZTk7XG4kZmEtdmFyLXJvdXRlOiBcXGY0ZDc7XG4kZmEtdmFyLXJzczogXFxmMDllO1xuJGZhLXZhci1yc3Mtc3F1YXJlOiBcXGYxNDM7XG4kZmEtdmFyLXJ1YmxlLXNpZ246IFxcZjE1ODtcbiRmYS12YXItcnVsZXI6IFxcZjU0NTtcbiRmYS12YXItcnVsZXItY29tYmluZWQ6IFxcZjU0NjtcbiRmYS12YXItcnVsZXItaG9yaXpvbnRhbDogXFxmNTQ3O1xuJGZhLXZhci1ydWxlci12ZXJ0aWNhbDogXFxmNTQ4O1xuJGZhLXZhci1ydW5uaW5nOiBcXGY3MGM7XG4kZmEtdmFyLXJ1cGVlLXNpZ246IFxcZjE1NjtcbiRmYS12YXItcnVzdDogXFxlMDdhO1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLXNhdmU6IFxcZjBjNztcbiRmYS12YXItc2NobGl4OiBcXGYzZWE7XG4kZmEtdmFyLXNjaG9vbDogXFxmNTQ5O1xuJGZhLXZhci1zY3Jld2RyaXZlcjogXFxmNTRhO1xuJGZhLXZhci1zY3JpYmQ6IFxcZjI4YTtcbiRmYS12YXItc2Nyb2xsOiBcXGY3MGU7XG4kZmEtdmFyLXNkLWNhcmQ6IFxcZjdjMjtcbiRmYS12YXItc2VhcmNoOiBcXGYwMDI7XG4kZmEtdmFyLXNlYXJjaC1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItc2VhcmNoLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXFxmMDEwO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXFxmMDBlO1xuJGZhLXZhci1zZWFyY2hlbmdpbjogXFxmM2ViO1xuJGZhLXZhci1zZWVkbGluZzogXFxmNGQ4O1xuJGZhLXZhci1zZWxsY2FzdDogXFxmMmRhO1xuJGZhLXZhci1zZWxsc3k6IFxcZjIxMztcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItc2hhcmUtYWx0OiBcXGYxZTA7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFxcZjFlMTtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLXNoZWtlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLXNoaWVsZC1hbHQ6IFxcZjNlZDtcbiRmYS12YXItc2hpZWxkLXZpcnVzOiBcXGUwNmM7XG4kZmEtdmFyLXNoaXA6IFxcZjIxYTtcbiRmYS12YXItc2hpcHBpbmctZmFzdDogXFxmNDhiO1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFxcZjIxNDtcbiRmYS12YXItc2hvZS1wcmludHM6IFxcZjU0YjtcbiRmYS12YXItc2hvcGlmeTogXFxlMDU3O1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFxcZjI5MDtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcXGYyOTE7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFxcZjA3YTtcbiRmYS12YXItc2hvcHdhcmU6IFxcZjViNTtcbiRmYS12YXItc2hvd2VyOiBcXGYyY2M7XG4kZmEtdmFyLXNodXR0bGUtdmFuOiBcXGY1YjY7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItc2lnbi1pbi1hbHQ6IFxcZjJmNjtcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXFxmMmE3O1xuJGZhLXZhci1zaWduLW91dC1hbHQ6IFxcZjJmNTtcbiRmYS12YXItc2lnbmFsOiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1zaW5rOiBcXGUwNmQ7XG4kZmEtdmFyLXNpc3RyaXg6IFxcZjNlZTtcbiRmYS12YXItc2l0ZW1hcDogXFxmMGU4O1xuJGZhLXZhci1zaXRoOiBcXGY1MTI7XG4kZmEtdmFyLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItc2tldGNoOiBcXGY3YzY7XG4kZmEtdmFyLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLXNrdWxsOiBcXGY1NGM7XG4kZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXM6IFxcZjcxNDtcbiRmYS12YXItc2t5YXRsYXM6IFxcZjIxNjtcbiRmYS12YXItc2t5cGU6IFxcZjE3ZTtcbiRmYS12YXItc2xhY2s6IFxcZjE5ODtcbiRmYS12YXItc2xhY2staGFzaDogXFxmM2VmO1xuJGZhLXZhci1zbGFzaDogXFxmNzE1O1xuJGZhLXZhci1zbGVpZ2g6IFxcZjdjYztcbiRmYS12YXItc2xpZGVycy1oOiBcXGYxZGU7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFxcZjFlNztcbiRmYS12YXItc21pbGU6IFxcZjExODtcbiRmYS12YXItc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1zbWlsZS13aW5rOiBcXGY0ZGE7XG4kZmEtdmFyLXNtb2c6IFxcZjc1ZjtcbiRmYS12YXItc21va2luZzogXFxmNDhkO1xuJGZhLXZhci1zbW9raW5nLWJhbjogXFxmNTRkO1xuJGZhLXZhci1zbXM6IFxcZjdjZDtcbiRmYS12YXItc25hcGNoYXQ6IFxcZjJhYjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFxcZjJhYztcbiRmYS12YXItc25hcGNoYXQtc3F1YXJlOiBcXGYyYWQ7XG4kZmEtdmFyLXNub3dib2FyZGluZzogXFxmN2NlO1xuJGZhLXZhci1zbm93Zmxha2U6IFxcZjJkYztcbiRmYS12YXItc25vd21hbjogXFxmN2QwO1xuJGZhLXZhci1zbm93cGxvdzogXFxmN2QyO1xuJGZhLXZhci1zb2FwOiBcXGUwNmU7XG4kZmEtdmFyLXNvY2tzOiBcXGY2OTY7XG4kZmEtdmFyLXNvbGFyLXBhbmVsOiBcXGY1YmE7XG4kZmEtdmFyLXNvcnQ6IFxcZjBkYztcbiRmYS12YXItc29ydC1hbHBoYS1kb3duOiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQ6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdDogXFxmODgyO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0OiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdDogXFxmODg1O1xuJGZhLXZhci1zb3J0LWRvd246IFxcZjBkZDtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd246IFxcZjE2MjtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0OiBcXGY4ODY7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cDogXFxmMTYzO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0OiBcXGY4ODc7XG4kZmEtdmFyLXNvcnQtdXA6IFxcZjBkZTtcbiRmYS12YXItc291bmRjbG91ZDogXFxmMWJlO1xuJGZhLXZhci1zb3VyY2V0cmVlOiBcXGY3ZDM7XG4kZmEtdmFyLXNwYTogXFxmNWJiO1xuJGZhLXZhci1zcGFjZS1zaHV0dGxlOiBcXGYxOTc7XG4kZmEtdmFyLXNwZWFrYXA6IFxcZjNmMztcbiRmYS12YXItc3BlYWtlci1kZWNrOiBcXGY4M2M7XG4kZmEtdmFyLXNwZWxsLWNoZWNrOiBcXGY4OTE7XG4kZmEtdmFyLXNwaWRlcjogXFxmNzE3O1xuJGZhLXZhci1zcGlubmVyOiBcXGYxMTA7XG4kZmEtdmFyLXNwbG90Y2g6IFxcZjViYztcbiRmYS12YXItc3BvdGlmeTogXFxmMWJjO1xuJGZhLXZhci1zcHJheS1jYW46IFxcZjViZDtcbiRmYS12YXItc3F1YXJlOiBcXGYwYzg7XG4kZmEtdmFyLXNxdWFyZS1mdWxsOiBcXGY0NWM7XG4kZmEtdmFyLXNxdWFyZS1yb290LWFsdDogXFxmNjk4O1xuJGZhLXZhci1zcXVhcmVzcGFjZTogXFxmNWJlO1xuJGZhLXZhci1zdGFjay1leGNoYW5nZTogXFxmMThkO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXFxmMTZjO1xuJGZhLXZhci1zdGFja3BhdGg6IFxcZjg0MjtcbiRmYS12YXItc3RhbXA6IFxcZjViZjtcbiRmYS12YXItc3RhcjogXFxmMDA1O1xuJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudDogXFxmNjk5O1xuJGZhLXZhci1zdGFyLWhhbGY6IFxcZjA4OTtcbiRmYS12YXItc3Rhci1oYWxmLWFsdDogXFxmNWMwO1xuJGZhLXZhci1zdGFyLW9mLWRhdmlkOiBcXGY2OWE7XG4kZmEtdmFyLXN0YXItb2YtbGlmZTogXFxmNjIxO1xuJGZhLXZhci1zdGF5bGlua2VkOiBcXGYzZjU7XG4kZmEtdmFyLXN0ZWFtOiBcXGYxYjY7XG4kZmEtdmFyLXN0ZWFtLXNxdWFyZTogXFxmMWI3O1xuJGZhLXZhci1zdGVhbS1zeW1ib2w6IFxcZjNmNjtcbiRmYS12YXItc3RlcC1iYWNrd2FyZDogXFxmMDQ4O1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFxcZjA1MTtcbiRmYS12YXItc3RldGhvc2NvcGU6IFxcZjBmMTtcbiRmYS12YXItc3RpY2tlci1tdWxlOiBcXGYzZjc7XG4kZmEtdmFyLXN0aWNreS1ub3RlOiBcXGYyNDk7XG4kZmEtdmFyLXN0b3A6IFxcZjA0ZDtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFxcZjI4ZDtcbiRmYS12YXItc3RvcHdhdGNoOiBcXGYyZjI7XG4kZmEtdmFyLXN0b3B3YXRjaC0yMDogXFxlMDZmO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItc3RvcmUtYWx0LXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXN0b3JlLXNsYXNoOiBcXGUwNzE7XG4kZmEtdmFyLXN0cmF2YTogXFxmNDI4O1xuJGZhLXZhci1zdHJlYW06IFxcZjU1MDtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFxcZjIxZDtcbiRmYS12YXItc3RyaWtldGhyb3VnaDogXFxmMGNjO1xuJGZhLXZhci1zdHJpcGU6IFxcZjQyOTtcbiRmYS12YXItc3RyaXBlLXM6IFxcZjQyYTtcbiRmYS12YXItc3Ryb29wd2FmZWw6IFxcZjU1MTtcbiRmYS12YXItc3R1ZGlvdmluYXJpOiBcXGYzZjg7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcXGYxYTQ7XG4kZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTogXFxmMWEzO1xuJGZhLXZhci1zdWJzY3JpcHQ6IFxcZjEyYztcbiRmYS12YXItc3Vid2F5OiBcXGYyMzk7XG4kZmEtdmFyLXN1aXRjYXNlOiBcXGYwZjI7XG4kZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmc6IFxcZjVjMTtcbiRmYS12YXItc3VuOiBcXGYxODU7XG4kZmEtdmFyLXN1cGVycG93ZXJzOiBcXGYyZGQ7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcXGYxMmI7XG4kZmEtdmFyLXN1cHBsZTogXFxmM2Y5O1xuJGZhLXZhci1zdXJwcmlzZTogXFxmNWMyO1xuJGZhLXZhci1zdXNlOiBcXGY3ZDY7XG4kZmEtdmFyLXN3YXRjaGJvb2s6IFxcZjVjMztcbiRmYS12YXItc3dpZnQ6IFxcZjhlMTtcbiRmYS12YXItc3dpbW1lcjogXFxmNWM0O1xuJGZhLXZhci1zd2ltbWluZy1wb29sOiBcXGY1YzU7XG4kZmEtdmFyLXN5bWZvbnk6IFxcZjgzZDtcbiRmYS12YXItc3luYWdvZ3VlOiBcXGY2OWI7XG4kZmEtdmFyLXN5bmM6IFxcZjAyMTtcbiRmYS12YXItc3luYy1hbHQ6IFxcZjJmMTtcbiRmYS12YXItc3lyaW5nZTogXFxmNDhlO1xuJGZhLXZhci10YWJsZTogXFxmMGNlO1xuJGZhLXZhci10YWJsZS10ZW5uaXM6IFxcZjQ1ZDtcbiRmYS12YXItdGFibGV0OiBcXGYxMGE7XG4kZmEtdmFyLXRhYmxldC1hbHQ6IFxcZjNmYTtcbiRmYS12YXItdGFibGV0czogXFxmNDkwO1xuJGZhLXZhci10YWNob21ldGVyLWFsdDogXFxmM2ZkO1xuJGZhLXZhci10YWc6IFxcZjAyYjtcbiRmYS12YXItdGFnczogXFxmMDJjO1xuJGZhLXZhci10YXBlOiBcXGY0ZGI7XG4kZmEtdmFyLXRhc2tzOiBcXGYwYWU7XG4kZmEtdmFyLXRheGk6IFxcZjFiYTtcbiRmYS12YXItdGVhbXNwZWFrOiBcXGY0Zjk7XG4kZmEtdmFyLXRlZXRoOiBcXGY2MmU7XG4kZmEtdmFyLXRlZXRoLW9wZW46IFxcZjYyZjtcbiRmYS12YXItdGVsZWdyYW06IFxcZjJjNjtcbiRmYS12YXItdGVsZWdyYW0tcGxhbmU6IFxcZjNmZTtcbiRmYS12YXItdGVtcGVyYXR1cmUtaGlnaDogXFxmNzY5O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1sb3c6IFxcZjc2YjtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXFxmMWQ1O1xuJGZhLXZhci10ZW5nZTogXFxmN2Q3O1xuJGZhLXZhci10ZXJtaW5hbDogXFxmMTIwO1xuJGZhLXZhci10ZXh0LWhlaWdodDogXFxmMDM0O1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcXGYwMzU7XG4kZmEtdmFyLXRoOiBcXGYwMGE7XG4kZmEtdmFyLXRoLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLXRoLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItdGhlLXJlZC15ZXRpOiBcXGY2OWQ7XG4kZmEtdmFyLXRoZWF0ZXItbWFza3M6IFxcZjYzMDtcbiRmYS12YXItdGhlbWVjbzogXFxmNWM2O1xuJGZhLXZhci10aGVtZWlzbGU6IFxcZjJiMjtcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFxcZjQ5MTtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItdGhpbmstcGVha3M6IFxcZjczMTtcbiRmYS12YXItdGh1bWJzLWRvd246IFxcZjE2NTtcbiRmYS12YXItdGh1bWJzLXVwOiBcXGYxNjQ7XG4kZmEtdmFyLXRodW1idGFjazogXFxmMDhkO1xuJGZhLXZhci10aWNrZXQtYWx0OiBcXGYzZmY7XG4kZmEtdmFyLXRpa3RvazogXFxlMDdiO1xuJGZhLXZhci10aW1lczogXFxmMDBkO1xuJGZhLXZhci10aW1lcy1jaXJjbGU6IFxcZjA1NztcbiRmYS12YXItdGludDogXFxmMDQzO1xuJGZhLXZhci10aW50LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLXRpcmVkOiBcXGY1Yzg7XG4kZmEtdmFyLXRvZ2dsZS1vZmY6IFxcZjIwNDtcbiRmYS12YXItdG9nZ2xlLW9uOiBcXGYyMDU7XG4kZmEtdmFyLXRvaWxldDogXFxmN2Q4O1xuJGZhLXZhci10b2lsZXQtcGFwZXI6IFxcZjcxZTtcbiRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoOiBcXGUwNzI7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItdG9yaWktZ2F0ZTogXFxmNmExO1xuJGZhLXZhci10cmFjdG9yOiBcXGY3MjI7XG4kZmEtdmFyLXRyYWRlLWZlZGVyYXRpb246IFxcZjUxMztcbiRmYS12YXItdHJhZGVtYXJrOiBcXGYyNWM7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQ6IFxcZjYzNztcbiRmYS12YXItdHJhaWxlcjogXFxlMDQxO1xuJGZhLXZhci10cmFpbjogXFxmMjM4O1xuJGZhLXZhci10cmFtOiBcXGY3ZGE7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcXGYyMjQ7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXFxmMjI1O1xuJGZhLXZhci10cmFzaDogXFxmMWY4O1xuJGZhLXZhci10cmFzaC1hbHQ6IFxcZjJlZDtcbiRmYS12YXItdHJhc2gtcmVzdG9yZTogXFxmODI5O1xuJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdDogXFxmODJhO1xuJGZhLXZhci10cmVlOiBcXGYxYmI7XG4kZmEtdmFyLXRyZWxsbzogXFxmMTgxO1xuJGZhLXZhci10cmlwYWR2aXNvcjogXFxmMjYyO1xuJGZhLXZhci10cm9waHk6IFxcZjA5MTtcbiRmYS12YXItdHJ1Y2s6IFxcZjBkMTtcbiRmYS12YXItdHJ1Y2stbG9hZGluZzogXFxmNGRlO1xuJGZhLXZhci10cnVjay1tb25zdGVyOiBcXGY2M2I7XG4kZmEtdmFyLXRydWNrLW1vdmluZzogXFxmNGRmO1xuJGZhLXZhci10cnVjay1waWNrdXA6IFxcZjYzYztcbiRmYS12YXItdHNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLXR0eTogXFxmMWU0O1xuJGZhLXZhci10dW1ibHI6IFxcZjE3MztcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXFxmMTc0O1xuJGZhLXZhci10djogXFxmMjZjO1xuJGZhLXZhci10d2l0Y2g6IFxcZjFlODtcbiRmYS12YXItdHdpdHRlcjogXFxmMDk5O1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXFxmMDgxO1xuJGZhLXZhci10eXBvMzogXFxmNDJiO1xuJGZhLXZhci11YmVyOiBcXGY0MDI7XG4kZmEtdmFyLXVidW50dTogXFxmN2RmO1xuJGZhLXZhci11aWtpdDogXFxmNDAzO1xuJGZhLXZhci11bWJyYWNvOiBcXGY4ZTg7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLXVuY2hhcnRlZDogXFxlMDg0O1xuJGZhLXZhci11bmRlcmxpbmU6IFxcZjBjZDtcbiRmYS12YXItdW5kbzogXFxmMGUyO1xuJGZhLXZhci11bmRvLWFsdDogXFxmMmVhO1xuJGZhLXZhci11bmlyZWdpc3RyeTogXFxmNDA0O1xuJGZhLXZhci11bml0eTogXFxlMDQ5O1xuJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzOiBcXGYyOWE7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFxcZjE5YztcbiRmYS12YXItdW5saW5rOiBcXGYxMjc7XG4kZmEtdmFyLXVubG9jazogXFxmMDljO1xuJGZhLXZhci11bmxvY2stYWx0OiBcXGYxM2U7XG4kZmEtdmFyLXVuc3BsYXNoOiBcXGUwN2M7XG4kZmEtdmFyLXVudGFwcGQ6IFxcZjQwNTtcbiRmYS12YXItdXBsb2FkOiBcXGYwOTM7XG4kZmEtdmFyLXVwczogXFxmN2UwO1xuJGZhLXZhci11c2I6IFxcZjI4NztcbiRmYS12YXItdXNlcjogXFxmMDA3O1xuJGZhLXZhci11c2VyLWFsdDogXFxmNDA2O1xuJGZhLXZhci11c2VyLWFsdC1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci11c2VyLWFzdHJvbmF1dDogXFxmNGZiO1xuJGZhLXZhci11c2VyLWNoZWNrOiBcXGY0ZmM7XG4kZmEtdmFyLXVzZXItY2lyY2xlOiBcXGYyYmQ7XG4kZmEtdmFyLXVzZXItY2xvY2s6IFxcZjRmZDtcbiRmYS12YXItdXNlci1jb2c6IFxcZjRmZTtcbiRmYS12YXItdXNlci1lZGl0OiBcXGY0ZmY7XG4kZmEtdmFyLXVzZXItZnJpZW5kczogXFxmNTAwO1xuJGZhLXZhci11c2VyLWdyYWR1YXRlOiBcXGY1MDE7XG4kZmEtdmFyLXVzZXItaW5qdXJlZDogXFxmNzI4O1xuJGZhLXZhci11c2VyLWxvY2s6IFxcZjUwMjtcbiRmYS12YXItdXNlci1tZDogXFxmMGYwO1xuJGZhLXZhci11c2VyLW1pbnVzOiBcXGY1MDM7XG4kZmEtdmFyLXVzZXItbmluamE6IFxcZjUwNDtcbiRmYS12YXItdXNlci1udXJzZTogXFxmODJmO1xuJGZhLXZhci11c2VyLXBsdXM6IFxcZjIzNDtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFxcZjIxYjtcbiRmYS12YXItdXNlci1zaGllbGQ6IFxcZjUwNTtcbiRmYS12YXItdXNlci1zbGFzaDogXFxmNTA2O1xuJGZhLXZhci11c2VyLXRhZzogXFxmNTA3O1xuJGZhLXZhci11c2VyLXRpZTogXFxmNTA4O1xuJGZhLXZhci11c2VyLXRpbWVzOiBcXGYyMzU7XG4kZmEtdmFyLXVzZXJzOiBcXGYwYzA7XG4kZmEtdmFyLXVzZXJzLWNvZzogXFxmNTA5O1xuJGZhLXZhci11c2Vycy1zbGFzaDogXFxlMDczO1xuJGZhLXZhci11c3BzOiBcXGY3ZTE7XG4kZmEtdmFyLXVzc3VubmFoOiBcXGY0MDc7XG4kZmEtdmFyLXV0ZW5zaWwtc3Bvb246IFxcZjJlNTtcbiRmYS12YXItdXRlbnNpbHM6IFxcZjJlNztcbiRmYS12YXItdmFhZGluOiBcXGY0MDg7XG4kZmEtdmFyLXZlY3Rvci1zcXVhcmU6IFxcZjVjYjtcbiRmYS12YXItdmVudXM6IFxcZjIyMTtcbiRmYS12YXItdmVudXMtZG91YmxlOiBcXGYyMjY7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFxcZjIyODtcbiRmYS12YXItdmVzdDogXFxlMDg1O1xuJGZhLXZhci12ZXN0LXBhdGNoZXM6IFxcZTA4NjtcbiRmYS12YXItdmlhY29pbjogXFxmMjM3O1xuJGZhLXZhci12aWFkZW86IFxcZjJhOTtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXFxmMmFhO1xuJGZhLXZhci12aWFsOiBcXGY0OTI7XG4kZmEtdmFyLXZpYWxzOiBcXGY0OTM7XG4kZmEtdmFyLXZpYmVyOiBcXGY0MDk7XG4kZmEtdmFyLXZpZGVvOiBcXGYwM2Q7XG4kZmEtdmFyLXZpZGVvLXNsYXNoOiBcXGY0ZTI7XG4kZmEtdmFyLXZpaGFyYTogXFxmNmE3O1xuJGZhLXZhci12aW1lbzogXFxmNDBhO1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFxcZjE5NDtcbiRmYS12YXItdmltZW8tdjogXFxmMjdkO1xuJGZhLXZhci12aW5lOiBcXGYxY2E7XG4kZmEtdmFyLXZpcnVzOiBcXGUwNzQ7XG4kZmEtdmFyLXZpcnVzLXNsYXNoOiBcXGUwNzU7XG4kZmEtdmFyLXZpcnVzZXM6IFxcZTA3NjtcbiRmYS12YXItdms6IFxcZjE4OTtcbiRmYS12YXItdm52OiBcXGY0MGI7XG4kZmEtdmFyLXZvaWNlbWFpbDogXFxmODk3O1xuJGZhLXZhci12b2xsZXliYWxsLWJhbGw6IFxcZjQ1ZjtcbiRmYS12YXItdm9sdW1lLWRvd246IFxcZjAyNztcbiRmYS12YXItdm9sdW1lLW11dGU6IFxcZjZhOTtcbiRmYS12YXItdm9sdW1lLW9mZjogXFxmMDI2O1xuJGZhLXZhci12b2x1bWUtdXA6IFxcZjAyODtcbiRmYS12YXItdm90ZS15ZWE6IFxcZjc3MjtcbiRmYS12YXItdnItY2FyZGJvYXJkOiBcXGY3Mjk7XG4kZmEtdmFyLXZ1ZWpzOiBcXGY0MWY7XG4kZmEtdmFyLXdhbGtpbmc6IFxcZjU1NDtcbiRmYS12YXItd2FsbGV0OiBcXGY1NTU7XG4kZmEtdmFyLXdhcmVob3VzZTogXFxmNDk0O1xuJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nOiBcXGUwODc7XG4kZmEtdmFyLXdhdGVyOiBcXGY3NzM7XG4kZmEtdmFyLXdhdmUtc3F1YXJlOiBcXGY4M2U7XG4kZmEtdmFyLXdhemU6IFxcZjgzZjtcbiRmYS12YXItd2VlYmx5OiBcXGY1Y2M7XG4kZmEtdmFyLXdlaWJvOiBcXGYxOGE7XG4kZmEtdmFyLXdlaWdodDogXFxmNDk2O1xuJGZhLXZhci13ZWlnaHQtaGFuZ2luZzogXFxmNWNkO1xuJGZhLXZhci13ZWl4aW46IFxcZjFkNztcbiRmYS12YXItd2hhdHNhcHA6IFxcZjIzMjtcbiRmYS12YXItd2hhdHNhcHAtc3F1YXJlOiBcXGY0MGM7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFxcZjE5MztcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXFxmMjY2O1xuJGZhLXZhci13aW5kOiBcXGY3MmU7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFxcZjJkMDtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcXGYyZDE7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcXGYyZDI7XG4kZmEtdmFyLXdpbmRvd3M6IFxcZjE3YTtcbiRmYS12YXItd2luZS1ib3R0bGU6IFxcZjcyZjtcbiRmYS12YXItd2luZS1nbGFzczogXFxmNGUzO1xuJGZhLXZhci13aW5lLWdsYXNzLWFsdDogXFxmNWNlO1xuJGZhLXZhci13aXg6IFxcZjVjZjtcbiRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3Q6IFxcZjczMDtcbiRmYS12YXItd29kdTogXFxlMDg4O1xuJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uOiBcXGY1MTQ7XG4kZmEtdmFyLXdvbi1zaWduOiBcXGYxNTk7XG4kZmEtdmFyLXdvcmRwcmVzczogXFxmMTlhO1xuJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlOiBcXGY0MTE7XG4kZmEtdmFyLXdwYmVnaW5uZXI6IFxcZjI5NztcbiRmYS12YXItd3BleHBsb3JlcjogXFxmMmRlO1xuJGZhLXZhci13cGZvcm1zOiBcXGYyOTg7XG4kZmEtdmFyLXdwcmVzc3I6IFxcZjNlNDtcbiRmYS12YXItd3JlbmNoOiBcXGYwYWQ7XG4kZmEtdmFyLXgtcmF5OiBcXGY0OTc7XG4kZmEtdmFyLXhib3g6IFxcZjQxMjtcbiRmYS12YXIteGluZzogXFxmMTY4O1xuJGZhLXZhci14aW5nLXNxdWFyZTogXFxmMTY5O1xuJGZhLXZhci15LWNvbWJpbmF0b3I6IFxcZjIzYjtcbiRmYS12YXIteWFob286IFxcZjE5ZTtcbiRmYS12YXIteWFtbWVyOiBcXGY4NDA7XG4kZmEtdmFyLXlhbmRleDogXFxmNDEzO1xuJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbDogXFxmNDE0O1xuJGZhLXZhci15YXJuOiBcXGY3ZTM7XG4kZmEtdmFyLXllbHA6IFxcZjFlOTtcbiRmYS12YXIteWVuLXNpZ246IFxcZjE1NztcbiRmYS12YXIteWluLXlhbmc6IFxcZjZhZDtcbiRmYS12YXIteW9hc3Q6IFxcZjJiMTtcbiRmYS12YXIteW91dHViZTogXFxmMTY3O1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXFxmNDMxO1xuJGZhLXZhci16aGlodTogXFxmNjNmO1xuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGggKiA1LzQ7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhYiB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBBbmltYXRlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoLCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1yb3RhdGUoJGRlZ3JlZXMsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSlcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICgkZmEtZnctd2lkdGgqMik7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCxcbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7XG4gIGNvbG9yOiAkZmEtaW52ZXJzZTtcbn1cbiIsIi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxucmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cblxuLiN7JGZhLWNzcy1wcmVmaXh9LTUwMHB4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci01MDBweCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY2Vzc2libGUtaWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY2N1c29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNjdXNvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWJvb2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGRyZXNzLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZGp1c3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWR2ZXJzYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkdmVyc2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFmZmlsaWF0ZXRoZW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZmZpbGlhdGV0aGVtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1haXItZnJlc2hlbmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1haXItZnJlc2hlbmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpcmJuYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyYm5iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsZ29saWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsZ29saWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tY2VudGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1jZW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZ24tanVzdGlmeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlwYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGxlcmdpZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsbGVyZ2llcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYXpvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1idWxhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWlsaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtaWxpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmNob3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuY2hvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmRyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmRyb2lkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nZWxsaXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ncnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5Y3JlYXRpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ndWxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5ndWxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmtoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmtoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwLXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZS1pb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZS1pb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNoaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2h3YXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFyY2h3YXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnRzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnRzdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3Rlcmlzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hc3ltbWV0cmlrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3ltbWV0cmlrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdGxhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRsYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRsYXNzaWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdGxhc3NpYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF1dG9wcmVmaXhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhbmV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdmlhbmV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF2aWF0bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYXRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF3cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhYnktY2FycmlhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhYnktY2FycmlhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3NwYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWN0ZXJpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjdGVyaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFjdGVyaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWN0ZXJpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFoYWk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhaGFpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbGFuY2Utc2NhbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kLWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmRjYW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNlYmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFza2V0YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktcXVhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRsZS1uZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRsZS1uZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWhhbmNlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmV6aWVyLWN1cnZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZXppZXItY3VydmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpY3ljbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmltb2JqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW1vYmplY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlub2N1bGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW9oYXphcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpb2hhemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXJ0aGRheS1jYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXJ0aGRheS1jYWtlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0YnVja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGNvaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsYWNrLXRpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFja2JlcnJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFja2JlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlci1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXItYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlci1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgtYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2xkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9tYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWRlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stZGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLXJlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1yZWFkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2ttYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb3RzdHJhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdHN0cmFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLW5vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1ub25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1zdHlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXN0eWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvd2xpbmctYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm93bGluZy1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtdGlzc3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtdGlzc3VlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFpbGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmFpbGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmVhZC1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJlYWQtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyb2FkY2FzdC10b3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvYWRjYXN0LXRvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icnVzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJ1c2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnRjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idGMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVmZmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWZmZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1aWxkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWxsaG9ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsc2V5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbHNleWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXJvbW9iZWxleHBlcnRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzaW5lc3MtdGltZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzaW5lc3MtdGltZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXktbi1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5LW4tbGFyZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnV5c2VsbGFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItZGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1kYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXdlZWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXdlZWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcmV0cm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtcGdyb3VuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtcGdyb3VuZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmR5LWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmR5LWNhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FubmFiaXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbm5hYmlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcHN1bGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXBzdWxlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1iYXR0ZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYmF0dGVyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItY3Jhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1jcmFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLXNpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyYXZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyYXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnJvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Fycm90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FydC1hcnJvdy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FydC1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhc2gtcmVnaXN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhc2gtcmVnaXN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2F0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYW1hem9uLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYW1hem9uLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hbWV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFwcGxlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtYXBwbGUtcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpbmVycy1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1kaW5lcnMtY2x1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaXNjb3ZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtZGlzY292ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1qY2IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtbWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtbWFzdGVyY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1wYXlwYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXBheXBhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1zdHJpcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXN0cmlwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy12aXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRlcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlbnRlcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VudG9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50b3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNlcnRpZmljYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFpcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFsa2JvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWxrYm9hcmQtdGVhY2hlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJnaW5nLXN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJnaW5nLXN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYXJlYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtYXJlYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1iYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWJhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLWRvdWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWNrLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVlc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZWVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYmlzaG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1iaXNob3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mta25pZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1rbmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcGF3bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtcGF3bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1xdWVlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtcXVlZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3Mtcm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3Mtcm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoaWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hyb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZWNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNocm9tZWNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2h1cmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHVyY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXJjbGUtbm90Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2l0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2l0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGluaWMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpbmljLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGlwYm9hcmQtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tZWF0YmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbWVhdGJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1tb29uLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24tcmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXN1bi1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRmbGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRmbGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHNjYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc21pdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc21pdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHZlcnNpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ja3RhaWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvY2t0YWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1icmFuY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUtYnJhbmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGVwZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGVwZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kaWVwaWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGllcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZmZlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29mZmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZ3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29pbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvaW5zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbHVtbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbHVtbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtZG90czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb3RzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhY3QtZGlzYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcGFjdC1kaXNjKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uY2llcmdlLWJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmNpZXJnZS1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbmZsdWVuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmZsdWVuY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbm5lY3RkZXZlbG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnRhbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29udGFvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvb2tpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29va2llKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvb2tpZS1iaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb29raWUtYml0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3B5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvcHlyaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29weXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdHRvbi1idXJlYXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdHRvbi1idXJlYXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY291Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNwYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3BhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyaXRpY2FsLXJvbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyaXRpY2FsLXJvbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzaGFpcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcnV0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3NzMy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3ViZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0dGxlZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kLWJleW9uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYWlseW1vdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFpbHltb3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhc2hjdWJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kYXRhYmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZXplcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVlemVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVsaWNpb3VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbW9jcmF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZW1vY3JhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXBsb3lkb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlcGxveWRvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrcHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXNrcHJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2t0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGV2aWFudGFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaGFybWFjaGFrcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRoYXJtYWNoYWtyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRobCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFnbm9zZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYWdub3Nlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWFzcG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhc3BvcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQyMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kMjApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kNjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kNik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWZpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZml2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWZvdXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZm91cik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLW9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1vbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1zaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2Utc2l4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtdGhyZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtdGhyZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS10d286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtdHdvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnaXRhbC1vY2VhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC1vY2Vhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXJlY3Rpb25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXJlY3Rpb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2NvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2NvcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzY291cnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXNjb3Vyc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzZWFzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzZWFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXZpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpdmlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXp6eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGl6enkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG5hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kbmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9jaHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NodWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9ja2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2NrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbGFyLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGxhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9uYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3ItY2xvc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLWNsb3NlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3Itb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3QtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnRpbmctY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnRpbmctY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmF3LXBvbHlnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYXctcG9seWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmliYmJsZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJvcGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJvcGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW0tc3RlZWxwYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0tc3RlZWxwYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bXN0aWNrLWJpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW1zdGljay1iaXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bWJiZWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1iYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtcHN0ZXItZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHVtcHN0ZXItZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW5nZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW5nZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR5YWxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHlhbG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVhcmx5YmlyZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVhcmx5YmlyZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2UtbGVnYWN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGdlLWxlZ2FjeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVnZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWdnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVqZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGVtZW50b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsZW1lbnRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVsbGlwc2lzLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxsbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW1iZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW1waXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbXBpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZlbG9wZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbnZpcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXF1YWxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcXVhbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcmFzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJsYW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lcmxhbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRoZXJldW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV0aGVyZXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0aGVybmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldGhlcm5ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldHN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldHN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV1cm8tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXVyby1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV2ZXJub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldmVybm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNoYW5nZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2hhbmdlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwZWRpdGVkc3NsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV5ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtZHJvcHBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLWRyb3BwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXN0LWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF1Y2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXVjZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVtYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdodGVyLWpldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdtYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnbWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvbnRyYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNvbnRyYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY3N2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNzdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhjZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhjZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leHBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZXhwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW1wb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1pbnZvaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW52b2ljZS1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tZWRpY2FsLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wZGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wb3dlcnBvaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBvd2VycG9pbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS12aWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXdvcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtd29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGwtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbC1kcmlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWx0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmluZ2VycHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbmdlcnByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3gtYnJvd3NlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyZWZveC1icm93c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LWFpZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3QtYWlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1vcmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJzdGRyYWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdGRyYWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzdC1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc3QtcmFpc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctY2hlY2tlcmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctdXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLXVzYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlja3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGlwYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmx1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnMtZmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnRpY29ucy1maSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb290YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb290YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnVtYmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm91cnNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZS1jb2RlLWNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJlZWJzZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlZWJzZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bi1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bGNydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bGNydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVubmVsLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnVubmVsLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdXRib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1dGJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYWxhY3RpYy1zZW5hdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FtZXBhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXMtcHVtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FzLXB1bXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbmRlcmxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2V0LXBvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0a3Jha2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRrcmFrZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0bGFiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRsYWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtY2hlZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzcy1jaGVlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzcy1tYXJ0aW5pLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3Mtd2hpc2tleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Mtd2hpc2tleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzc2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGlkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZS1nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGlkZS1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hZnJpY2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFmcmljYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1hbWVyaWNhczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYW1lcmljYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYXNpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtYXNpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1ldXJvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWV1cm9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb2ZvcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvZm9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb2xmLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvbGYtYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29kcmVhZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29kcmVhZHMtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZHJlYWRzLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLWRyaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtZHJpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGxheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbHVzLWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXdhbGxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb3B1cmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb3B1cmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmFkdWF0aW9uLWNhcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhdGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jhdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmltYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmltYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4taGVhcnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWhlYXJ0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3RhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10ZWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4td2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtaG9yaXpvbnRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcGZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3J1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdydW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWd1aWxkZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWd1aWxkZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VscDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VscCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlcnJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlcnJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1idXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWxpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcm9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1yb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc2Npc3NvcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcGFya2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zcGFya2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNwb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNwb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kcy1oZWxwaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy1oZWxwaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzLXdhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLXdhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2Utc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW51a2lhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFudWtpYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFyZC1oYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhcmQtaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhc2h0YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhc2h0YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LWNvd2JveTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LWNvd2JveSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtY293Ym95LXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhdC1jb3dib3ktc2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtd2l6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtd2l6YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGRkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1jb3VnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWNvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1jb3VnaC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1tYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRwaG9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRwaG9uZXMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRzZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRzZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQtYnJva2VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0YmVhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnRiZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlbGljb3B0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlbGljb3B0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlnaGxpZ2h0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpZ2hsaWdodGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpa2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcHBvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXBwbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpcmUtYS1oZWxwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpcmUtYS1oZWxwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlzdG9yeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlzdG9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvY2tleS1wdWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob2NrZXktcHVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2xseS1iZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9sbHktYmVycnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob29saTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vbGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ybmJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcm5iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZS1oZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbC11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdC10dWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdC10dWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3Rkb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGphcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90amFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1lbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLXN0YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLWRhbWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91c2UtZGFtYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91eno6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXp6KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhyeXZuaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhyeXZuaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taHRtbDU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh0bWw1KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh1YnNwb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh1YnNwb3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWktY3Vyc29yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljZS1jcmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNlLWNyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWljaWNsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljaWNsZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWljb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1iYWRnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZC1jYXJkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZGVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWRlYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWdsb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlnbG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kdXN0cnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5maW5pdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZmluaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZm8tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlubm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbm5vc29mdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluc3RhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWdyYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhbG9kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWxvZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcmNvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJjb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pb3hob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pb3hob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0YWxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRhbGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWl0Y2gtaW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0Y2gtaW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXR1bmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdHVuZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXR1bmVzLW5vdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcy1ub3RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWphdmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWphdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVkaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVkaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpLW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpLW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplbmtpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplbmtpbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2dldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9nZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9vbWxhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvdXJuYWwtd2hpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb3VybmFsLXdoaWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qcy1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanNmaWRkbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzZmlkZGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWthYWJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rYWFiYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rYWdnbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthZ2dsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXliYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXliYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtleWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXlib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXljZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtleWNkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raGFuZGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtoYW5kYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lja3N0YXJ0ZXItazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXItayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3MtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcy1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3Mtd2luay1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lzcy13aW5rLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpd2ktYmlyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2l3aS1iaXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtvcnZ1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta29ydnVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbmRtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5kbWFyayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFuZ3VhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wLWNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1jb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1ob3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLWhvdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3AtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXJhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXJhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhc3RmbS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhdWdoLWJlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXllci1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF5ZXItZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFucHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFucHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlbW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZW1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3MtdGhhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcy10aGFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlc3MtdGhhbi1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcy10aGFuLWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxldmVsLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZmUtcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodGJ1bGI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0YnVsYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5rZWRpbi1pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGludXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlyYS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXJhLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC1vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC1vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LXVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NhdGlvbi1hcnJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jay1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvdy12aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvdy12aXNpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdWdnYWdlLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVuZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1bmdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx1bmdzLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdW5ncy12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1seWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1seWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ2VudG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2VudG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hZ2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWwtYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbC1idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1haWxjaGltcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbGNoaW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFuZGFsb3JpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hbmRhbG9yaWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1waW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtc2lnbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2Rvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcmtkb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJzLXN0cm9rZS1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXN0b2RvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFzdG9kb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWF4Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXhjZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZGIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFwcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGFwcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVkaXVtLW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGl1bS1tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVka2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZHJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWV0dXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZXR1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWdhcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVnYXBvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWgtYmxhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLXJvbGxpbmctZXllczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLXJvbGxpbmctZXllcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW1vcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbW9yeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZW5kZWxleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVuZGVsZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVub3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVub3JhaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZXJjdXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1ldGVvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWV0ZW9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9ibG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvY2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9jaGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pdHRlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl0dGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl6dW5pOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXp1bmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2R4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2R4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmVybzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktYmlsbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtd2F2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktYmlsbC13YXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtd2F2ZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9uZXktY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9uZXktY2hlY2stYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbnVtZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb251bWVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vcnRhci1wZXN0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vcnRhci1wZXN0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9zcXVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3NxdWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW90b3JjeWNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VudGFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91bnRhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdXNlLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVnLWhvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVnLWhvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVzaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmFwc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmFwc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZW9zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZW9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ldHdvcmstd2lyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ldHdvcmstd2lyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV1dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXV0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV3c3BhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uZXdzcGFwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmltYmxyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uaW1ibHIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm9kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub2RlLWpzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub2RlLWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vdC1lcXVhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm90LWVxdWFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vdGVzLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vdGVzLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnBtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ucG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnM4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uczgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbnV0cml0aW9uaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW51dHJpdGlvbml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2JqZWN0LWdyb3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vYmplY3QtdW5ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vY3RvcHVzLWRlcGxveTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2N0b3B1cy1kZXBsb3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2lsLWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2lsLWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbGQtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9sZC1yZXB1YmxpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcHRpbi1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9yY2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcmNpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vc2k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9zaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3R0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3V0ZGVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3V0ZGVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZTQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWludC1icnVzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1yb2xsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LXJvbGxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxldHRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGZlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsZmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXBlci1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyY2xpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJhY2h1dGUtYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhY2h1dGUtYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFyYWdyYXBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzc3BvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3Nwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RhZmFyaWFuaXNtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0YWZhcmlhbmlzbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXN0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF0cmVvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF0cmVvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF1c2UtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZS1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXlwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWZhbmN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tZmFuY3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLW5pYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLW5pYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXJ1bGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5jaWwtcnVsZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVubnktYXJjYWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5ueS1hcmNhZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVvcGxlLWFycm93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVvcGxlLWFycm93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtY2Fycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1jYXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXBwZXItaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXBwZXItaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmJ5dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmJ5dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJjZW50YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmlzY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyaXNjb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1ib290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWJvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBoYWJyaWNhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waGFicmljYXRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9lbml4LWZyYW1ld29yazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvZW5peC1mcmFtZXdvcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1zcXVhZHJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvZW5peC1zcXVhZHJvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtdm9sdW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS12b2x1bWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvdG8tdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob3RvLXZpZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBocDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWdneS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWdneS1iYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waXp6YS1zbGljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGl6emEtc2xpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhY2Utb2Ytd29yc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhY2Utb2Ytd29yc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtYXJyaXZhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtYXJyaXZhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1kZXBhcnR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWRlcGFydHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxheS1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheXN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXlzdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGNhc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvZGNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9sbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xsLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb28tc3Rvcm06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvby1zdG9ybSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb29wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb29wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvcnRyYWl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3J0cmFpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3VuZC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3VuZC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG93ZXItb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheWluZy1oYW5kczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheWluZy1oYW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmVzY3JpcHRpb24tYm90dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvY2VkdXJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvY2VkdXJlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2R1Y3QtaHVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2plY3QtZGlhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLXNvYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtc29hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXNoZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1c2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdXp6bGUtcGllY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1enpsZS1waWVjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1weXRob246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB5dGhvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1ZXN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1aWRkaXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVpZGRpdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1aW5zY2FwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVpbnNjYXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW9yYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW90ZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdW90ZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdXJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVyYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tci1wcm9qZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yLXByb2plY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaWF0aW9uLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWluYm93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWluYm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhbmRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFuZG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhc3BiZXJyeS1waTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFzcGJlcnJ5LXBpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhdmVscnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhdmVscnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWN0ZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFjdGV1cm9wZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFkbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYWRtZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmViZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjZWlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjZWlwdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWNvcmQtdmlueWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY29yZC12aW55bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZC1yaXZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkLXJpdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1hbGllbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkZGl0LWFsaWVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRoYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRvLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkby1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVnaXN0ZXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVnaXN0ZXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW1vdmUtZm9ybWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZW1vdmUtZm9ybWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVucmVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseS1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5LWFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGx5ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXB1YmxpY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXB1YmxpY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc2VhcmNoZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzZWFyY2hnYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc29sdmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzb2x2aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlc3Ryb29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXN0cm9vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXR3ZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpYmJvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmliYm9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2JvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ib3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2NrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0Y2hhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0Y2hhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2Nrcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2Nrcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1YmxlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1YmxlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLWNvbWJpbmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1jb21iaW5lZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci1ob3Jpem9udGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci1ob3Jpem9udGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlci12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydW5uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydW5uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1cGVlLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWQtY3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtY3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZC10ZWFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtdGVhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhZmFyaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWxlc2ZvcmNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWxlc2ZvcmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F0ZWxsaXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXRlbGxpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F0ZWxsaXRlLWRpc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdGVsbGl0ZS1kaXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NobGl4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2hsaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2Nob29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2hvb2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NyZXdkcml2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjcmV3ZHJpdmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcmliZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NyaWJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjcm9sbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nyb2xsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNkLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1sb2NhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaC1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoZW5naW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaGVuZ2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlZWRsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWVkbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VsbGNhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VsbHN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWxsc3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZXJ2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VydmljZXN0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZXJ2aWNlc3RhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFwZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoZWtlbC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaWVsZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwcGluZy1mYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGlwcGluZy1mYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXJ0c2luYnVsazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcnRzaW5idWxrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob2UtcHJpbnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9lLXByaW50cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9waWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9waWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctYmFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWJhc2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctYmFza2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3BwaW5nLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHdhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3B3YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNodXR0bGUtdmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaHV0dGxlLXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24taW4tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWluLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduLWxhbmd1YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1vdXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hdHVyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmF0dXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbS1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaW0tY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW1wbHlidWlsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2ltcGx5YnVpbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXN0cml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXN0cml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpdGVtYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2l0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2F0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2F0aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrZXRjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tldGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZy1ub3JkaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraWluZy1ub3JkaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNreWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3lwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2staGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2staGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xlaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGVpZ2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVycy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXJzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVzaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZS13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21va2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9raW5nLWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21va2luZy1iYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdC1naG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Ym9hcmRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dib2FyZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93bWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93bWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dwbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93cGxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvY2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb2Nrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2xhci1wYW5lbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29sYXItcGFuZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFtb3VudC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdW5kY2xvdWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvdW5kY2xvdWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291cmNldHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc291cmNldHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGFjZS1zaHV0dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWFrYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWFrYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlYWtlci1kZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2VyLWRlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlbGwtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWxsLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaWRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BpZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bsb3RjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Bsb3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcG90aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcG90aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwcmF5LWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3ByYXktY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUtZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1yb290LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmVzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFjay1vdmVyZmxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFja3BhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWNrcGF0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWFuZC1jcmVzY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1oYWxmLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLW9mLWRhdmlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLW9mLWRhdmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItb2YtbGlmZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1vZi1saWZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXlsaW5rZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXlsaW5rZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0tc3ltYm9sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXAtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVwLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXRob3Njb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNrZXItbXVsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RpY2tlci1tdWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2gtMjA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaC0yMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3JlLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmF2YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyYXZhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJlZXQtdmlldyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpa2V0aHJvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyaXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZS1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpcGUtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJvb3B3YWZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Ryb29wd2FmZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1ZGlvdmluYXJpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVkaW92aW5hcmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dW1ibGV1cG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vic2NyaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vid2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVycG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBlcnBvd2Vycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VwZXJzY3JpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBwbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VycHJpc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cnByaXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dhdGNoYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dhdGNoYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2lmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2ltbWluZy1wb29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2ltbWluZy1wb29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bWZvbnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bWZvbnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYWdvZ3VlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW5hZ29ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3luYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW5jLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3luYy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3lyaW5nZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3lyaW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGUtdGVubmlzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZS10ZW5uaXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFibGV0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWNob21ldGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWdzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhc2tzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRheGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRheGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVhbXNwZWFrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWFtc3BlYWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVldGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlZXRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlZXRoLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlZXRoLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbGVncmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZWxlZ3JhbS1wbGFuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1oaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbXBlcmF0dXJlLWxvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtbG93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbmNlbnQtd2VpYm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXJtaW5hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGV4dC1oZWlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGV4dC13aWR0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoLWxhcmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoLWxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlLXJlZC15ZXRpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGUtcmVkLXlldGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlYXRlci1tYXNrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlYXRlci1tYXNrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVtZWNvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVtZWNvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZW1laXNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlbWVpc2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoaW5rLXBlYWtzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGluay1wZWFrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJzLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJ0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnRhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGlja2V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGlja2V0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWt0b2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRpa3Rvayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGltZXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW1lcy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aW50LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b2dnbGUtb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvZ2dsZS1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9nZ2xlLW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldC1wYXBlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0LXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvaWxldC1wYXBlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb2xib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb2xib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9vbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRvb2xzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRvb3RoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10b290aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b3JhaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9yYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9yaWktZ2F0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdG9yaWktZ2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFjdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFjdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYWRlLWZlZGVyYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZGVtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFkZW1hcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhZmZpYy1saWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhZmZpYy1saWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFpbGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFpbGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYW5zZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFuc2dlbmRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cmFzaC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtcmVzdG9yZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaC1yZXN0b3JlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVsbG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRyZWxsbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmlwYWR2aXNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJpcGFkdmlzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10cm9waHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrLWxvYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLWxvYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJ1Y2stbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHJ1Y2stbW9uc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1tb3Zpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLW1vdmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cnVjay1waWNrdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRydWNrLXBpY2t1cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10c2hpcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRzaGlydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR1bWJscik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dW1ibHItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dW1ibHItc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10dik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXR3aXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10d2l0dGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10eXBvMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdHlwbzMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdWJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11YnVudHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVidW50dSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11aWtpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdWlraXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmFjbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmFjbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW1icmVsbGEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW1icmVsbGEtYmVhY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVtYnJlbGxhLWJlYWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuY2hhcnRlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5jaGFydGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZGVybGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5kZXJsaW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5kby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXJlZ2lzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bmlyZWdpc3RyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5pdmVyc2FsLWFjY2Vzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11bml2ZXJzaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5saW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdW5sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVubG9jay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5zcGxhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVuc3BsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVudGFwcGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVudGFwcGQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11cGxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11cHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItYXN0cm9uYXV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWFzdHJvbmF1dCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNsb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWNvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZWRpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWZyaWVuZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItZnJpZW5kcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWdyYWR1YXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLWdyYWR1YXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItaW5qdXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1pbmp1cmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLW5pbmphOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLW5pbmphKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbnVyc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItbnVyc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci1zZWNyZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXItc2VjcmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2hpZWxkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNoaWVsZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2VyLXRhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLXRpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlci10aW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdXNlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnMtY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci11c2Vycy1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzZXJzLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzcHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXNzdW5uYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXVzc3VubmFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXV0ZW5zaWwtc3Bvb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWwtc3Bvb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXRlbnNpbHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXV0ZW5zaWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZhYWRpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmFhZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlY3Rvci1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlY3Rvci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVudXMtZG91YmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlbnVzLW1hcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZXN0LXBhdGNoZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZlc3QtcGF0Y2hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWFjb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYWRlby1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlhbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmliZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpYmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWRlbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aWRlby1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlkZW8tc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmloYXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12aWhhcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmltZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmltZW8tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpbWVvLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aXJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmlydXMtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpcnVzZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZpcnVzZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZudjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm52KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvaWNlbWFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9pY2VtYWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbGxleWJhbGwtYmFsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sbGV5YmFsbC1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12b2x1bWUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW11dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm9sdW1lLW9mZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZvbHVtZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b3RlLXllYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdm90ZS15ZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnItY2FyZGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci12ci1jYXJkYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdnVlanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXZ1ZWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhbGtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhbGtpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2FyZWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13YXJlaG91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2F0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2F2ZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhdmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdhemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdhemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VlYmx5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWVibHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VpYm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaWJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2VpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWdodC1oYW5naW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13ZWlnaHQtaGFuZ2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13ZWl4aW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdlaXhpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGF0c2FwcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hhdHNhcHApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aGF0c2FwcC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2hlZWxjaGFpcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aG1jczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2htY3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lmaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2lmaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWtpcGVkaWEtdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2lraXBlZGlhLXcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1jbG9zZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWF4aW1pemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctcmVzdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93LXJlc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZG93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZG93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWJvdHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2luZS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1nbGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aW5lLWdsYXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd2luZS1nbGFzcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2l4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13aXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2l6YXJkcy1vZi10aGUtY29hc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdvZHU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdvZHUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b24tc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29uLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13b3JkcHJlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzLXNpbXBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd29yZHByZXNzLXNpbXBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cGJlZ2lubmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXdwZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td3Bmb3JtczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3Bmb3Jtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cHJlc3NyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci13cHJlc3NyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItd3JlbmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXgtcmF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14LXJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci14Ym94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXhpbmctc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXktY29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteS1jb21iaW5hdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15YWhvbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW1tZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW5kZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlhbmRleCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15YW5kZXgtaW50ZXJuYXRpb25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWFybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZWxwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXllbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci15ZW4tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15aW4teWFuZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIteWluLXlhbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW9hc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvdXR1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teW91dHViZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXlvdXR1YmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXpoaWh1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci16aGlodSk7IH1cbiIsIi8vIFNjcmVlbiBSZWFkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zci1vbmx5IHsgQGluY2x1ZGUgc3Itb25seTsgfVxuLnNyLW9ubHktZm9jdXNhYmxlIHsgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGU7IH1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLmVvdCcpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC5zdmcjZm9udGF3ZXNvbWUnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uZmFyIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC5zdmcjZm9udGF3ZXNvbWUnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG4uZmEsXG4uZmFzIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNS4xNS4zIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICovXG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi5mYWIge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIjYnJlYWRjcnVtYnMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcclxufVxyXG5cclxuLmFsZXJ0LmhlYWRlci1tZXNzYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxufVxyXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU51bml0bycpO1xyXG5AaW1wb3J0ICd+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9mb250YXdlc29tZSc7XHJcbkBpbXBvcnQgJ35AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3JlZ3VsYXInO1xyXG5AaW1wb3J0ICd+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZCc7XHJcbkBpbXBvcnQgJ35AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kcyc7XHJcbiIsIi8qIVxuICogQm9vdHN0cmFwIHY0LjYuMiAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcbiAqIENvcHlyaWdodCAyMDExLTIwMjIgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDIyIFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG5cbkBpbXBvcnQgXCJmdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJyb290XCI7XG5AaW1wb3J0IFwicmVib290XCI7XG5AaW1wb3J0IFwidHlwZVwiO1xuQGltcG9ydCBcImltYWdlc1wiO1xuQGltcG9ydCBcImNvZGVcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwidGFibGVzXCI7XG5AaW1wb3J0IFwiZm9ybXNcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJkcm9wZG93blwiO1xuQGltcG9ydCBcImJ1dHRvbi1ncm91cFwiO1xuQGltcG9ydCBcImlucHV0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY3VzdG9tLWZvcm1zXCI7XG5AaW1wb3J0IFwibmF2XCI7XG5AaW1wb3J0IFwibmF2YmFyXCI7XG5AaW1wb3J0IFwiY2FyZFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJwYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiYmFkZ2VcIjtcbkBpbXBvcnQgXCJqdW1ib3Ryb25cIjtcbkBpbXBvcnQgXCJhbGVydFwiO1xuQGltcG9ydCBcInByb2dyZXNzXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJsaXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwiY2xvc2VcIjtcbkBpbXBvcnQgXCJ0b2FzdHNcIjtcbkBpbXBvcnQgXCJtb2RhbFwiO1xuQGltcG9ydCBcInRvb2x0aXBcIjtcbkBpbXBvcnQgXCJwb3BvdmVyXCI7XG5AaW1wb3J0IFwiY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCJzcGlubmVyc1wiO1xuQGltcG9ydCBcInV0aWxpdGllc1wiO1xuQGltcG9ydCBcInByaW50XCI7XG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIEZ1dHVyZS1wcm9vZiBydWxlOiBpbiBicm93c2VycyB0aGF0IHN1cHBvcnQgOmZvY3VzLXZpc2libGUsIHN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lXG4vLyBvbiBlbGVtZW50cyB0aGF0IHByb2dyYW1tYXRpY2FsbHkgcmVjZWl2ZSBmb2N1cyBidXQgd291bGRuJ3Qgbm9ybWFsbHkgc2hvdyBhIHZpc2libGVcbi8vIGZvY3VzIG91dGxpbmUuIEluIGdlbmVyYWwsIHRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBvdXRsaW5lIGlzIG9ubHkgYXBwbGllZCBpZiB0aGVcbi8vIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBlbGVtZW50IHJlY2VpdmluZyBwcm9ncmFtbWF0aWMgZm9jdXMgd2FzIGEga2V5Ym9hcmQgaW50ZXJhY3Rpb24sXG4vLyBvciB0aGUgYnJvd3NlciBoYXMgc29tZWhvdyBkZXRlcm1pbmVkIHRoYXQgdGhlIHVzZXIgaXMgcHJpbWFyaWx5IGEga2V5Ym9hcmQgdXNlciBhbmQvb3Jcbi8vIHdhbnRzIGZvY3VzIG91dGxpbmVzIHRvIGFsd2F5cyBiZSBwcmVzZW50ZWQuXG4vL1xuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86Zm9jdXMtdmlzaWJsZVxuLy8gYW5kIGh0dHBzOi8vZGV2ZWxvcGVyLnBhY2llbGxvZ3JvdXAuY29tL2Jsb2cvMjAxOC8wMy9mb2N1cy12aXNpYmxlLWFuZC1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS9cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAzLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyA0LiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4vLyA1LiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0sXG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgY3Vyc29yOiBoZWxwOyAvLyAzXG4gIGJvcmRlci1ib3R0b206IDA7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyA1XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoODAlKTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoNzUlKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQ29kZVxuLy9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gRGlzYWJsZSBhdXRvLWhpZGluZyBzY3JvbGxiYXIgaW4gSUUgJiBsZWdhY3kgRWRnZSB0byBhdm9pZCBvdmVybGFwLFxuICAvLyBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBjb250ZW50XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xufVxuXG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG5maWd1cmUge1xuICAvLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlcyBhbmQgY29udGVudFxuLy9cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbn1cblxuc3ZnIHtcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIFNWRyBvdmVyZmxvdyBidWcgaW4gSUUxMC8xMSBpcyBzdGlsbCByZXF1aXJlZC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjY4NzhcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGxhYmVsLW1hcmdpbi1ib3R0b207XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gRXhwbGljaXRseSByZW1vdmUgZm9jdXMgb3V0bGluZSBpbiBDaHJvbWl1bSB3aGVuIGl0IHNob3VsZG4ndCBiZVxuLy8gdmlzaWJsZSAoZS5nLiBhcyByZXN1bHQgb2YgbW91c2UgY2xpY2sgb3IgdG91Y2ggdGFwKS4gSXQgYWxyZWFkeVxuLy8gc2hvdWxkIGJlIGRvaW5nIHRoaXMgYXV0b21hdGljYWxseSwgYnV0IHNlZW1zIHRvIGN1cnJlbnRseSBiZVxuLy8gY29uZnVzZWQgYW5kIGFwcGxpZXMgaXRzIHZlcnkgdmlzaWJsZSB0d28tdG9uZSBvdXRsaW5lIGFueXdheS5cblxuYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuZmllbGRzZXQge1xuICAvLyBCcm93c2VycyBzZXQgYSBkZWZhdWx0IGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbiAgLy8gU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICAvLyBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4gIG1pbi13aWR0aDogMDtcbiAgLy8gUmVzZXQgdGhlIGRlZmF1bHQgb3V0bGluZSBiZWhhdmlvciBvZiBmaWVsZHNldHMgc28gdGhleSBkb24ndCBhZmZlY3QgcGFnZSBsYXlvdXQuXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxLjVyZW0pO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbn1cblxuLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAvLyBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4gIC8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuLy9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuLy9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbn1cblxuLy9cbi8vIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5c1xuLy9cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFXG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4vLyBOZWVkZWQgZm9yIHByb3BlciBkaXNwbGF5IGluIElFIDEwLS5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gQm9keVxyXG4kYm9keS1iZzogI2Y4ZmFmYztcclxuXHJcbi8vIFR5cG9ncmFwaHlcclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICdOdW5pdG8nLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1zaXplLWJhc2U6IDAuOXJlbTtcclxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjtcclxuXHJcbi8vIENvbG9yc1xyXG4kYmx1ZTogIzM0OTBkYztcclxuJGluZGlnbzogIzY1NzRjZDtcclxuJHB1cnBsZTogIzk1NjFlMjtcclxuJHBpbms6ICNmNjZkOWI7XHJcbiRyZWQ6ICNlMzM0MmY7XHJcbiRvcmFuZ2U6ICNmNjk5M2Y7XHJcbiR5ZWxsb3c6ICNmZmVkNGE7XHJcbiRncmVlbjogIzM4YzE3MjtcclxuJHRlYWw6ICM0ZGMwYjU7XHJcbiRjeWFuOiAjNmNiMmViO1xyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSBmb250IHNpemVzXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi92OC54L0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHJlbSBhbmQgJHJmcy1mb250LXNpemUtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtZm9udC1zaXplLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWZvbnQtc2l6ZS11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSBmb250LXNpemUgc3RhcnRzIGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIGZvbnQgc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicmVtXCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicHhcIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZGlzYWJsZVwiIHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICYsXG4gICAgLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAmLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pLCAobWF4LWhlaWdodDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQgc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJGZzIGZvciBjYWxjdWxhdGlvbnNcbiAgICBAaWYgJGZzLXVuaXQgPT0gXCJweFwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogZGl2aWRlKCRmcywgZGl2aWRlKCRmcyAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQgc2l6ZVxuICAgICRyZnMtc3RhdGljOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmc31weCk7XG5cbiAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIGZvbnQgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICBAaWYgJGZzIDw9ICRyZnMtYmFzZS1mb250LXNpemUgb3Igbm90ICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZSBmb3IgJGZzXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgZGl2aWRlKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkZnMgYW5kIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgICAgJGZzLWRpZmY6ICRmcyAtICRmcy1taW47XG5cbiAgICAgIC8vIEJhc2UgZm9udC1zaXplIGZvcm1hdHRpbmdcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyRmcy1taW59cHgpO1xuXG4gICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkZnMtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZVxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcblxuICAgICAgLy8gQnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICAkbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuXG4gICAgICBAaW5jbHVkZSBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICAgICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gICAgICAgIEBpbmNsdWRlIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbnMgdXNlIFJGUyB0byByZXNjYWxlIHRoZSBmb250IHNpemVcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gICAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4gICksXG4gICRjb2xvcnNcbik7XG5cbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAyNTogMjUlLFxuICAgIDUwOiA1MCUsXG4gICAgNzU6IDc1JSxcbiAgICAxMDA6IDEwMCUsXG4gICAgYXV0bzogYXV0b1xuICApLFxuICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4vLyBEYXJrZW4gcGVyY2VudGFnZSBmb3IgbGlua3Mgd2l0aCBgLnRleHQtKmAgY2xhc3MgKGUuZy4gYC50ZXh0LXN1Y2Nlc3NgKVxuJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZTogMTUlICFkZWZhdWx0O1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgKFxuICAgICgyMSA5KSxcbiAgICAoMTYgOSksXG4gICAgKDQgMyksXG4gICAgKDEgMSksXG4gICksXG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Ncbik7XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBudWxsICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbnVsbCAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NSAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIC41ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgc3VidHJhY3QoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplLCAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDQpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNCcgaGVpZ2h0PSc1JyB2aWV3Qm94PScwIDAgNCA1Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICBlc2NhcGUtc3ZnKCRjdXN0b20tc2VsZWN0LWluZGljYXRvcikgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgbm8tcmVwZWF0ICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGFkZCgxZW0gKiAuNzUsICgyICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICogLjc1KSArICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nMCAwIDEyIDEyJz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKCkgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0OiAgICAgIDc1dmggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgJGRyb3Bkb3duLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgc3VidHJhY3QoJGNhcmQtYm9yZGVyLXJhZGl1cywgJGNhcmQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG4kdXNlci1zZWxlY3RzOiBhbGwsIGF1dG8sIG5vbmUgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMoKSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cygpIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQoKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyICogLjU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGd1dHRlciAqIC41O1xufVxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYG1ha2UtY29udGFpbmVyLW1heC13aWR0aHNgIG1peGluXCIsIFwidjQuNS4yXCIsIFwidjVcIik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2UgdXNlIGBmbGV4YCB2YWx1ZXNcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgZGl2aWRlKDEwMCUsICRjb3VudCk7XG4gICAgbWF4LXdpZHRoOiBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAuNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgLy8gQWxsb3cgY29sdW1ucyB0byBzdHJldGNoIGZ1bGwgd2lkdGggYmVsb3cgdGhlaXIgYnJlYWtwb2ludHNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBUZXh0dWFsIGZvcm0gY29udHJvbHNcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgLy8gVW5zdHlsZSB0aGUgY2FyZXQgb24gYDxzZWxlY3Q+YHMgaW4gSUUxMCsuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIH1cbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIC8vIFJlbW92ZSBzZWxlY3Qgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkaW5wdXQtY29sb3I7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIC8vIFN1cHByZXNzIHRoZSBuZXN0ZWQgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAvLyB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD4gcmVjZWl2ZXMgZm9jdXNcbiAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZSwgYXMgaXQgbG9va3MgYmFkIGFuZCBjYW5ub3QgYmUgbWFkZSB0b1xuICAgIC8vIG1hdGNoIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBuYXRpdmUgd2lkZ2V0LlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICB9XG59XG5cbi8vIE1ha2UgZmlsZSBpbnB1dHMgYmV0dGVyIG1hdGNoIHRleHQgaW5wdXRzIGJ5IGZvcmNpbmcgdGhlbSB0byBuZXcgbGluZXMuXG4uZm9ybS1jb250cm9sLWZpbGUsXG4uZm9ybS1jb250cm9sLXJhbmdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1sZywgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LXNtLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xufVxuXG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4uZm9ybS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbn1cblxuXG4vLyBGb3JtIGdyaWRcbi8vXG4vLyBTcGVjaWFsIHJlcGxhY2VtZW50IGZvciBvdXIgZ3JpZCBzeXN0ZW0ncyBgLnJvd2AgZm9yIHRpZ2h0ZXIgZm9ybSBsYXlvdXRzLlxuXG4uZm9ybS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gIG1hcmdpbi1sZWZ0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggKiAuNTtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoICogLjU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15O1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWNoZWNrLWlucHV0LWd1dHRlcjtcblxuICAvLyBVc2UgW2Rpc2FibGVkXSBhbmQgOmRpc2FibGVkIGZvciB3b3JrYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjgyNDdcbiAgJltkaXNhYmxlZF0gfiAuZm9ybS1jaGVjay1sYWJlbCxcbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbm9uZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZvcm0tY29udHJvbC1mb2N1cygpYCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14O1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAkZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHkpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzKTtcblxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMTU1N1xuICAgIC8vIEFsaWduIHRvb2x0aXAgdG8gZm9ybSBlbGVtZW50c1xuICAgIC5mb3JtLXJvdyA+IC5jb2wgPiAmLFxuICAgIC5mb3JtLXJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdID4gJiB7XG4gICAgICBsZWZ0OiAkZm9ybS1ncmlkLWd1dHRlci13aWR0aCAqIC41O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1wYWRkaW5nLXggKiA0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0ICRpbnB1dC1wYWRkaW5nLXggKiAyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCAkY3VzdG9tLXNlbGVjdC1iZyBlc2NhcGUtc3ZnKCRpY29uKSAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uIC8gJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplIG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGJ0bi1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGJ0bi1mb250LXNpemUsICRidG4tbGluZS1oZWlnaHQsICRidG4tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IGlmKCRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMsIHBvaW50ZXIsIG51bGwpO1xuXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1mb2N1cy1ib3gtc2hhZG93LCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXQ6ZGlzYWJsZWQgYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1saW5lLWhlaWdodC1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tbGluZS1oZWlnaHQtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4gICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG4gIH1cbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLndpZHRoIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wcmlnaHQsXG4uZHJvcGRvd24sXG4uZHJvcGxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1wYWRkaW5nLXg7XG4gIG1hcmdpbjogJGRyb3Bkb3duLXNwYWNlciAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkcm9wZG93bi1mb250LXNpemUpO1xuICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRkcm9wZG93bi1ib3gtc2hhZG93KTtcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tbGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tcmlnaHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gUG9wcGVyIGlzIGVuYWJsZWQsIHJlc2V0IHRoZSBiYXNpYyBkcm9wZG93biBwb3NpdGlvblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5kcm9wZG93bi1tZW51IHtcbiAgJlt4LXBsYWNlbWVudF49XCJ0b3BcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0sXG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxufVxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigkZHJvcGRvd24tZGl2aWRlci1iZywgJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXksIHRydWUpO1xufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgLy8gUHJldmVudCBkcm9wZG93biBvdmVyZmxvdyBpZiB0aGVyZSdzIG5vIHBhZGRpbmdcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI3NzAzXG4gIEBpZiAkZHJvcGRvd24tcGFkZGluZy15ID09IDAge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkZHJvcGRvd24tbGluay1jb2xvcjtcbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duKCkge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCgpIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LWxlZnQoKSB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1yaWdodCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogJG5hdi1kaXZpZGVyLWNvbG9yLCAkbWFyZ2luLXk6ICRuYXYtZGl2aWRlci1tYXJnaW4teSwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogJG1hcmdpbi15IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbmF2LWRpdmlkZXIoKWAgbWl4aW5cIiwgXCJ2NC40LjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcHJpZ2h0ICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wbGVmdCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBvcHRpb25zXG4vL1xuLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgYnJvd3NlcidzIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFjaywgcG93ZXJlZCBieSB0aGVcbi8vIGByZXF1aXJlZGAgYXR0cmlidXRlLCB3ZSBoYXZlIHRvIFwiaGlkZVwiIHRoZSBpbnB1dHMgdmlhIGBjbGlwYC4gV2UgY2Fubm90IHVzZVxuLy8gYGRpc3BsYXk6IG5vbmU7YCBvciBgdmlzaWJpbGl0eTogaGlkZGVuO2AgYXMgdGhhdCBhbHNvIGhpZGVzIHRoZSBwb3BvdmVyLlxuLy8gU2ltcGx5IHZpc3VhbGx5IGhpZGluZyB0aGUgaW5wdXRzIHZpYSBgb3BhY2l0eWAgd291bGQgbGVhdmUgdGhlbSBjbGlja2FibGUgaW5cbi8vIGNlcnRhaW4gY2FzZXMgd2hpY2ggaXMgcHJldmVudGVkIGJ5IHVzaW5nIGBjbGlwYCBhbmQgYHBvaW50ZXItZXZlbnRzYC5cbi8vIFRoaXMgd2F5LCB3ZSBlbnN1cmUgYSBET00gZWxlbWVudCBpcyB2aXNpYmxlIHRvIHBvc2l0aW9uIHRoZSBwb3BvdmVyIGZyb20uXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEyNzk0IGFuZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTQ1NTkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbi5idG4tZ3JvdXAtdG9nZ2xlIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCB2YWx1ZVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5jdXN0b20tc2VsZWN0LFxuICA+IC5jdXN0b20tZmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgKyAuZm9ybS1jb250cm9sLFxuICAgICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgKyAuY3VzdG9tLWZpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cyxcbiAgPiAuY3VzdG9tLWZpbGUgLmN1c3RvbS1maWxlLWlucHV0OmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGN1c3RvbSBmaWxlIGlucHV0IGFib3ZlIHRoZSBsYWJlbFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMge1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmN1c3RvbS1zZWxlY3Qge1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLFxuICAgID4gLmN1c3RvbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSxcbiAgICA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbCxcbiAgICA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmN1c3RvbS1zZWxlY3Q6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmN1c3RvbS1maWxlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgPiAuY3VzdG9tLWZpbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmRcbi8vXG4vLyBXaGlsZSBpdCByZXF1aXJlcyBvbmUgZXh0cmEgbGF5ZXIgb2YgSFRNTCBmb3IgZWFjaCwgZGVkaWNhdGVkIHByZXBlbmQgYW5kXG4vLyBhcHBlbmQgZWxlbWVudHMgYWxsb3cgdXMgdG8gMSkgYmUgbGVzcyBjbGV2ZXIsIDIpIHNpbXBsaWZ5IG91ciBzZWxlY3RvcnMsIGFuZFxuLy8gMykgc3VwcG9ydCBIVE1MNSBmb3JtIHZhbGlkYXRpb24uXG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmlucHV0LWdyb3VwLWFwcGVuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LFxuICAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7IG1hcmdpbi1yaWdodDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cbi5pbnB1dC1ncm91cC1hcHBlbmQgeyBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7IH1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbDpub3QodGV4dGFyZWEpLFxuLmlucHV0LWdyb3VwLXNtID4gLmN1c3RvbS1zZWxlY3Qge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LXNtO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmN1c3RvbS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZCByb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cblxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cDpub3QoLmhhcy12YWxpZGF0aW9uKSA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXA6bm90KC5oYXMtdmFsaWRhdGlvbikgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmJ0bixcbi5pbnB1dC1ncm91cC5oYXMtdmFsaWRhdGlvbiA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyICsgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgaGVpZ2h0OiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpICogLjU7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHNldWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtY29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGN1cnNvcjogJGN1c3RvbS1jb250cm9sLWN1cnNvcjtcblxuICAvLyBCYWNrZ3JvdW5kLWNvbG9yIGFuZCAod2hlbiBlbmFibGVkKSBncmFkaWVudFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNTtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNTtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX0gbm8tcmVwZWF0O1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgICAmOmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZyk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gc3dpdGNoZXNcbi8vXG4vLyBUd2VhayBhIGZldyB0aGluZ3MgZm9yIHN3aXRjaGVzXG5cbi5jdXN0b20tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXI7XG5cbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogLSgkY3VzdG9tLXN3aXRjaC13aWR0aCArICRjdXN0b20tY29udHJvbC1ndXR0ZXIpO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLXdpZHRoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogYWRkKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgKiAuNSwgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGggKiAyKTtcbiAgICAgIGxlZnQ6IGFkZCgtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlciksICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXQsICRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGN1c3RvbS1zd2l0Y2gtd2lkdGggLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB7XG4gICAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmcgJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXMsIDApO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3csICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbXMtdmFsdWUge1xuICAgICAgLy8gRm9yIHZpc3VhbCBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHBsYXRmb3Jtcy9icm93c2VycyxcbiAgICAgIC8vIHN1cHByZXNzIHRoZSBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgICAvLyBpbiBJRSBhbmQgKHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucykgRWRnZS5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICB9XG4gIH1cblxuICAmW211bHRpcGxlXSxcbiAgJltzaXplXTpub3QoW3NpemU9XCIxXCJdKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSGlkZXMgdGhlIGRlZmF1bHQgY2FyZXQgaW4gSUUxMVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGN1c3RvbS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmN1c3RvbS1zZWxlY3Qtc20ge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTtcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc20pO1xufVxuXG4uY3VzdG9tLXNlbGVjdC1sZyB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gVXNlIFtkaXNhYmxlZF0gYW5kIDpkaXNhYmxlZCB0byB3b3JrIGFyb3VuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdIH4gLmN1c3RvbS1maWxlLWxhYmVsLFxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhZGQoJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQsICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgICAmOjotbW96LXJhbmdlLXRodW1iICAgICB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tcy10aHVtYiAgICAgICAgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQgLSAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCkgKiAuNTsgLy8gV2Via2l0IHNwZWNpZmljXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1iZyk7XG4gICAgYm9yZGVyOiAkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3cpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGN1c3RvbS1mb3Jtcy10cmFuc2l0aW9uKTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRmlyZWZveCBzcGVjaWZpYz9cbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIEVkZ2Ugc3BlY2lmaWNcbiAgICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgLy8gV29ya2Fyb3VuZCB0aGF0IG92ZXJmbG93ZWQgYm94LXNoYWRvdyBpcyBoaWRkZW4uXG4gICAgbWFyZ2luLWxlZnQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDsgIC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAkY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0ICogLjU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgLy8gYXJiaXRyYXJ5P1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLm5hdi1saW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBKdXN0aWZpZWQgdmFyaWFudHNcbi8vXG5cbi5uYXYtZmlsbCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gID4gLm5hdi1saW5rLFxuICAubmF2LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gQ29udGVudHNcbi8vXG4vLyBOYXZiYXJcbi8vIE5hdmJhciBicmFuZFxuLy8gTmF2YmFyIG5hdlxuLy8gTmF2YmFyIHRleHRcbi8vIE5hdmJhciBkaXZpZGVyXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy8gTmF2YmFyIHBvc2l0aW9uXG4vLyBOYXZiYXIgdGhlbWVzXG5cblxuLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy15ICRuYXZiYXItcGFkZGluZy14O1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1icmFuZC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0ZXh0XG4vL1xuLy9cblxuLm5hdmJhci10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteSAkbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBLZWVwIGFzIGEgc2VwYXJhdGUgZWxlbWVudCBzbyBmb2xrcyBjYW4gZWFzaWx5IG92ZXJyaWRlIGl0IHdpdGggYW5vdGhlciBpY29uXG4vLyBvciBpbWFnZSBmaWxlIGFzIG5lZWRlZC5cbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IDUwJSAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG59XG5cbi5uYXZiYXItbmF2LXNjcm9sbCB7XG4gIG1heC1oZWlnaHQ6ICRuYXZiYXItbmF2LXNjcm9sbC1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICAlY29udGFpbmVyLW5hdmJhci1leHBhbmQtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29udGFpbmVyLFxuICAgICAgICA+IC5jb250YWluZXItZmx1aWQge1xuICAgICAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1uYXZiYXItZXhwYW5kLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHNpemUsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgICAgICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmF2YmFyLWV4cGFuZC0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvciBuZXN0aW5nIGNvbnRhaW5lcnMsIGhhdmUgdG8gcmVkZWNsYXJlIGZvciBhbGlnbm1lbnQgcHVycG9zZXNcbiAgICAgICAgJWNvbnRhaW5lci1uZXN0aW5nLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBAZXh0ZW5kICVjb250YWluZXItbmVzdGluZy0jeyRicmVha3BvaW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRzaXplLCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkc2l6ZSwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlY29udGFpbmVyLW5lc3RpbmctI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC8vIENoYW5nZXMgZmxleC1iYXNlcyB0byBhdXRvIGJlY2F1c2Ugb2YgYW4gSUUxMCBidWdcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLy8gRGFyayBsaW5rcyBhZ2FpbnN0IGEgbGlnaHQgYmFja2dyb3VuZFxuLm5hdmJhci1saWdodCB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2hpdGUgbGlua3MgYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZFxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgLm5hdi1saW5rIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyk7XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6ICRjYXJkLWhlaWdodDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgLy8gV29ya2Fyb3VuZCBmb3IgdGhlIGltYWdlIHNpemUgYnVnIGluIElFXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjg4NTVcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbiAgY29sb3I6ICRjYXJkLWNvbG9yO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206ICRjYXJkLXNwYWNlci15O1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0kY2FyZC1zcGFjZXIteSAqIC41O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiAkY2FyZC1jYXAtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY2FwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14ICogLjU7XG4gIG1hcmdpbi1ib3R0b206IC0kY2FyZC1zcGFjZXIteTtcbiAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0kY2FyZC1zcGFjZXIteCAqIC41O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14ICogLjU7XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6ICRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgZmxleC1zaHJpbms6IDA7IC8vIEZvciBJRTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTM5NlxuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtZ3JvdXAtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgZmxleDogMSAwIDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcbiAgICBvcnBoYW5zOiAxO1xuICAgIHdpZG93czogMTtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIEFjY29yZGlvblxuLy9cblxuLmFjY29yZGlvbiB7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcblxuICA+IC5jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICAgIH1cblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nO1xuICAgICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLnBhZ2UtbGluayB7XG4gICAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmcteSAkYmFkZ2UtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJhZGdlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJhZGdlLXRyYW5zaXRpb24pO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAqIC41KTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRjbG9zZS1mb250LXNpemUgKyAkYWxlcnQtcGFkZGluZy14ICogMjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICRhbGVydC1wYWRkaW5nLXg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5hbGVydC0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQodGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYmctbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1ib3JkZXItbGV2ZWwpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsICRhbGVydC1jb2xvci1sZXZlbCkpO1xuICB9XG59XG4iLCJAbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG5cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWRcbkBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQtcG9zaXRpb246ICRwcm9ncmVzcy1oZWlnaHQgMDsgfVxuICAgIHRvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcHJvZ3Jlc3MtZm9udC1zaXplKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkcHJvZ3Jlc3MtYm94LXNoYWRvdyk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iZztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogJHByb2dyZXNzLWhlaWdodCAkcHJvZ3Jlc3MtaGVpZ2h0O1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nIHByb2dyZXNzLWJhci1zdHJpcGVzO1xuXG4gICAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1lZGlhLWJvZHkge1xuICBmbGV4OiAxO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSAkbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhvcml6b250YWxcbi8vXG4vLyBDaGFuZ2UgdGhlIGxheW91dCBvZiBsaXN0IGdyb3VwIGl0ZW1zIGZyb20gdmVydGljYWwgKGRlZmF1bHQpIHRvIGhvcml6b250YWwuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5saXN0LWdyb3VwLWhvcml6b250YWwjeyRpbmZpeH0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gRmx1c2ggbGlzdCBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgbGlzdCBncm91cCBpdGVtcyBlZGdlLXRvLWVkZ2UuIE1vc3Rcbi8vIHVzZWZ1bCB3aXRoaW4gb3RoZXIgY29tcG9uZW50cyAoZS5nLiwgY2FyZHMpLlxuXG4ubGlzdC1ncm91cC1mbHVzaCB7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgPiAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4ubW9kYWwtb3BlbiB7XG4gIC8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5tb2RhbCB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW47XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7IC8vIElFMTAvMTFcbiAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luICogMik7IC8vIElFMTAvMTFcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlcixcbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyKTtcblxuICAvLyBFbnN1cmUgYG1vZGFsLWRpYWxvZy1jZW50ZXJlZGAgZXh0ZW5kcyB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXcgKElFMTAvMTEpXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IC8vIElFMTBcbiAgICBoZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDIpO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7IC8vIFJlc2V0IGhlaWdodCB0byAwIGV4Y2VwdCBvbiBJRVxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAvLyBFbnN1cmUgYC5tb2RhbC1ib2R5YCBzaG93cyBzY3JvbGxiYXIgKElFMTAvMTEpXG4gICYubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiAkbW9kYWwtY29udGVudC1jb2xvcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IC8vIHNvIHRoZSBjbG9zZSBidG4gYWx3YXlzIHN0YXlzIG9uIHRoZSB1cHBlciByaWdodCBjb3JuZXJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBQdXQgbW9kYWwgaGVhZGVyIGVsZW1lbnRzICh0aXRsZSBhbmQgZGlzbWlzcykgb24gb3Bwb3NpdGUgZW5kc1xuICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206ICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAuY2xvc2Uge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgICAvLyBhdXRvIG9uIHRoZSBsZWZ0IGZvcmNlIGljb24gdG8gdGhlIHJpZ2h0IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyAubW9kYWwtdGl0bGVcbiAgICBtYXJnaW46ICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nIC0gJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbiAqIC41O1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiAkbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuICogLjU7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMCUsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IHN1YnRyYWN0KDEwMHZoLCAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMik7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gICAgbWluLWhlaWdodDogc3VidHJhY3QoMTAwJSwgJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDIpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogc3VidHJhY3QoMTAwdmgsICRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyKTtcbiAgICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAqIC41KSAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpIDAgKCR0b29sdGlwLWFycm93LXdpZHRoICogLjUpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkcG9wb3Zlci1mb250LXNpemUpO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkcG9wb3Zlci1ib3JkZXItcmFkaXVzO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICBtYXJnaW4tYm90dG9tOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIGJvdHRvbTogc3VidHJhY3QoLSRwb3BvdmVyLWFycm93LWhlaWdodCwgJHBvcG92ZXItYm9yZGVyLXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBsZWZ0OiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRwb3BvdmVyLWJvcmRlci1yYWRpdXMgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBzdWJ0cmFjdCgtJHBvcG92ZXItYXJyb3ctaGVpZ2h0LCAkcG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggKiAuNSkgJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoICogLjU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItaGVhZGVyLWJnO1xuICB9XG59XG5cbi5icy1wb3BvdmVyLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgcmlnaHQ6IHN1YnRyYWN0KC0kcG9wb3Zlci1hcnJvdy1oZWlnaHQsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJHBvcG92ZXItYm9yZGVyLXJhZGl1cyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAqIC41KSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpIDAgKCRwb3BvdmVyLWFycm93LXdpZHRoICogLjUpICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1iYXNlKTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hlcmVcbi8vICAgIHRoZSBhY3RpdmUgc2xpZGUgaXMgaGVhZGluZy5cbi8vIDMuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbSBpcyB0aGUgY3VycmVudCBzbGlkZS5cbi8vIDQuIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQgYW5kIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1sZWZ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0tcHJldjpub3QoLmNhcm91c2VsLWl0ZW0tcmlnaHQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMHMgJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogNTAlIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246ICRzcGlubmVyLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXI6ICRzcGlubmVyLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Y29sb3I7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItYm9yZGVyO1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICB3aWR0aDogJHNwaW5uZXItd2lkdGgtc207XG4gIGhlaWdodDogJHNwaW5uZXItaGVpZ2h0LXNtO1xuICBib3JkZXItd2lkdGg6ICRzcGlubmVyLWJvcmRlci13aWR0aC1zbTtcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLnNwaW5uZXItZ3JvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzcGlubmVyLXdpZHRoO1xuICBoZWlnaHQ6ICRzcGlubmVyLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246ICRzcGlubmVyLXZlcnRpY2FsLWFsaWduO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3Jvdztcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIHdpZHRoOiAkc3Bpbm5lci13aWR0aC1zbTtcbiAgaGVpZ2h0OiAkc3Bpbm5lci1oZWlnaHQtc207XG59XG5cbkBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkge1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zcGlubmVyLWJvcmRlcixcbiAgICAuc3Bpbm5lci1ncm93IHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uYWxpZ24tYmFzZWxpbmUgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfSAvLyBCcm93c2VyIGRlZmF1bHRcbi5hbGlnbi10b3AgICAgICAgICB7IHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuLmFsaWduLW1pZGRsZSAgICAgIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tYm90dG9tICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC10b3AgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3AgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9LFxuICBidXR0b24jeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cygpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBiZy12YXJpYW50YCBtaXhpblwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC12YXJpYW50KCRwYXJlbnQsICRjb2xvciwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXggIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGJnLWdyYWRpZW50LXZhcmlhbnRgIG1peGluXCIsIFwidjQuNS4wXCIsIFwidjVcIiwgJGlnbm9yZS13YXJuaW5nKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBCb3JkZXJcbi8vXG5cbi5ib3JkZXIgICAgICAgICB7IGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wICAgICB7IGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXJpZ2h0ICAgeyBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbSAgeyBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0ICAgIHsgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cbi5ib3JkZXItMCAgICAgICAgeyBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci10b3AtMCAgICB7IGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodC0wICB7IGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWJvdHRvbS0wIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLWxlZnQtMCAgIHsgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJvcmRlci0jeyRjb2xvcn0ge1xuICAgIGJvcmRlci1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJvcmRlci13aGl0ZSB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8vXG4vLyBCb3JkZXItcmFkaXVzXG4vL1xuXG4ucm91bmRlZC1zbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGcgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXBpbGwge1xuICBib3JkZXItcmFkaXVzOiAkcm91bmRlZC1waWxsICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLTAge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKGRpdmlkZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSwgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJHVzZXItc2VsZWN0cyB7XG4gIC51c2VyLXNlbGVjdC0jeyR2YWx1ZX0geyB1c2VyLXNlbGVjdDogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5KCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSgpIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5zaGFkb3ctc20geyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1zbSAhaW1wb3J0YW50OyB9XG4uc2hhZG93IHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWltcG9ydGFudDsgfVxuLnNoYWRvdy1sZyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxnICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbm9uZSB7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFdpZHRoIGFuZCBoZWlnaHRcblxuQGVhY2ggJHByb3AsICRhYmJyZXYgaW4gKHdpZHRoOiB3LCBoZWlnaHQ6IGgpIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGggaW4gJHNpemVzIHtcbiAgICAuI3skYWJicmV2fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4ubXctMTAwIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbi5taC0xMDAgeyBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLy8gVmlld3BvcnQgYWRkaXRpb25hbCBoZWxwZXJzXG5cbi5taW4tdnctMTAwIHsgbWluLXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4ubWluLXZoLTEwMCB7IG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuLnZ3LTEwMCB7IHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4udmgtMTAwIHsgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgXCIjeyRzaXplfVwiICE9IFwiMFwiIHtcbiAgICAgICAgLm0jeyRpbmZpeH0tbiN7JHNpemV9IHsgbWFyZ2luOiAtJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tdCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1yI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tYiN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teSN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1sI3skaW5maXh9LW4jeyRzaXplfSxcbiAgICAgICAgLm14I3skaW5maXh9LW4jeyRzaXplfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb21lIHNwZWNpYWwgbWFyZ2luIHV0aWxzXG4gICAgLm0jeyRpbmZpeH0tYXV0byB7IG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLm10I3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubXIjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1iI3skaW5maXh9LWF1dG8sXG4gICAgLm15I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWwjeyRpbmZpeH0tYXV0byxcbiAgICAubXgjeyRpbmZpeH0tYXV0byB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFRleHRcbi8vXG5cbi50ZXh0LW1vbm9zcGFjZSB7IGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC13cmFwICAgICB7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuLnRleHQtbm93cmFwICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXRydW5jYXRlIHsgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUsIHRydWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBEZXByZWNhdGVkLCBidXQgYXZvaWRzIGlzc3VlcyB3aXRoIGZsZXggY29udGFpbmVyc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gVXNlZCBpbnN0ZWFkIG9mIGBvdmVyZmxvdy13cmFwYCBmb3IgSUUgJiBFZGdlIExlZ2FjeVxufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy9cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvbWFpbi5jc3MvYmxvYi9tYXN0ZXIvc3JjL19wcmludC5jc3NcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW50IHN0eWxlcy5cbi8vIElubGluZWQgdG8gYXZvaWQgdGhlIGFkZGl0aW9uYWwgSFRUUCByZXF1ZXN0OlxuLy8gaHR0cHM6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vYVtocmVmXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAvL31cblxuICAgIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICAvL1xuXG4gICAgLy9hW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gICAgLy9hW2hyZWZePVwiamF2YXNjcmlwdDpcIl06OmFmdGVyIHtcbiAgICAvLyBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdyYXktNTAwOyAvLyBCb290c3RyYXAgY3VzdG9tIGNvZGU7IHVzaW5nIGAkYm9yZGVyLXdpZHRoYCBpbnN0ZWFkIG9mIDFweFxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBTcGVjaWZ5IGEgc2l6ZSBhbmQgbWluLXdpZHRoIHRvIG1ha2UgcHJpbnRpbmcgY2xvc2VyIGFjcm9zcyBicm93c2Vycy5cbiAgICAvLyBXZSBkb24ndCBzZXQgbWFyZ2luIGhlcmUgYmVjYXVzZSBpdCBicmVha3MgYHNpemVgIGluIENocm9tZS4gV2UgYWxzb1xuICAgIC8vIGRvbid0IHVzZSBgIWltcG9ydGFudGAgb24gYHNpemVgIGFzIGl0IGJyZWFrcyBpbiBDaHJvbWUuXG4gICAgQHBhZ2Uge1xuICAgICAgc2l6ZTogJHByaW50LXBhZ2Utc2l6ZTtcbiAgICB9XG4gICAgYm9keSB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJsYWNrO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1kYXJrIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/ \ No newline at end of file diff --git a/public/js/backend.js b/public/js/backend.js index 3d4b4557..32fcae5a 100644 --- a/public/js/backend.js +++ b/public/js/backend.js @@ -9315,12 +9315,12 @@ __webpack_require__(/*! ../plugins */ "./resources/js/plugins.js"); \*********************************/ /***/ (() => { -/** - * Place any jQuery/helper plugins in here. +/** + * Place any jQuery/helper plugins in here. */ $(function () { - /** - * Checkbox tree for permission selecting + /** + * Checkbox tree for permission selecting */ var permissionTree = $('.permission-tree :checkbox'); permissionTree.on('click change', function () { @@ -9336,36 +9336,36 @@ $(function () { } }); - /** - * Disable submit inputs in the given form - * - * @param form + /** + * Disable submit inputs in the given form + * + * @param form */ function disableSubmitButtons(form) { form.find('input[type="submit"]').attr('disabled', true); form.find('button[type="submit"]').attr('disabled', true); } - /** - * Enable the submit inputs in a given form - * - * @param form + /** + * Enable the submit inputs in a given form + * + * @param form */ function enableSubmitButtons(form) { form.find('input[type="submit"]').removeAttr('disabled'); form.find('button[type="submit"]').removeAttr('disabled'); } - /** - * Disable all submit buttons once clicked + /** + * Disable all submit buttons once clicked */ $('form').submit(function () { disableSubmitButtons($(this)); return true; }); - /** - * Add a confirmation to a delete button/form + /** + * Add a confirmation to a delete button/form */ $('body').on('submit', 'form[name=delete-item]', function (e) { var _this = this; @@ -9401,8 +9401,8 @@ $(function () { }); }).on('click', 'a[name=confirm-item]', function (e) { var _this3 = this; - /** - * Add an 'are you sure' pop-up to any button/link + /** + * Add an 'are you sure' pop-up to any button/link */ e.preventDefault(); Swal.fire({ @@ -10795,4 +10795,4 @@ PerfectScrollbar.prototype.removePsClasses = function removePsClasses () { /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ } ]); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2pzL2JhY2tlbmQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDOEM7QUFDRzs7QUFFakQ7QUFDQSxrQkFBa0Isa0JBQWtCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixzQkFBc0I7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwREFBMEQ7O0FBRTFEO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0MsMkJBQTJCO0FBQy9ELHVDQUF1QyxJQUFJO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw2Q0FBNkMsU0FBUztBQUN0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2REFBNkQ7O0FBRTdEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNkRBQTZEO0FBQzdEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qjs7QUFFN0IsK0NBQStDOztBQUUvQztBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRDs7QUFFakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0Esb0RBQW9EOztBQUVwRDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVI7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLHVCQUF1QjtBQUM3QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBLGtEQUFrRDs7QUFFbEQ7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxpREFBaUQ7O0FBRWpEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLDBDQUEwQyxTQUFTO0FBQ25EO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1QsUUFBUTtBQUNSOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBOztBQUVBO0FBQ0EsV0FBVztBQUNYLFVBQVU7QUFDVjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkNBQTZDLFNBQVM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLHNCQUFzQix3QkFBd0I7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0EsNkNBQTZDO0FBQzdDLDRDQUE0Qzs7QUFFNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBLGlFQUFpRSx5R0FBeUc7O0FBRTFLO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0EsaUJBQWlCLHdEQUFZO0FBQzdCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUixtREFBbUQ7O0FBRW5EO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLDREQUFZO0FBQ2pDLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLDREQUE0RDtBQUM1RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7QUFDM0MsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsMENBQTBDLFNBQVM7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sR0FBRzs7QUFFVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxHQUFHOztBQUVWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbUVBQW1FLHNHQUFzRzs7QUFFeks7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0EsaURBQWlEOztBQUVqRDtBQUNBOztBQUVBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFJQUFxSTs7QUFFckk7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHLEdBQUc7O0FBRU4sdUNBQXVDLFNBQVM7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBLHlDQUF5QyxTQUFTO0FBQ2xEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZUFBZSx3REFBWTtBQUMzQjtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCOztBQUV6QjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsdURBQXVEOzs7QUFHdkQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUJBQXFCLDREQUFZO0FBQ2pDLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQyxJQUFJO0FBQ0osNkNBQTZDLGFBQWEsR0FBRyxXQUFXO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLG9EQUFvRCxrQkFBa0I7QUFDdEU7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQSw0REFBNEQsZ0dBQWdHOztBQUU1SjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnREFBZ0Qsc0JBQXNCO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCxvREFBb0QsMEJBQTBCO0FBQzlFO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQ0FBb0M7O0FBRXBDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBLDZDQUE2QyxnRUFBZ0U7O0FBRTdHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsdUNBQXVDLElBQUk7QUFDM0M7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsR0FBRzs7QUFFWjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGVBQWUseURBQWdCO0FBQy9CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQTtBQUNBLFFBQVE7O0FBRVIsTUFBTTs7QUFFTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQSw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQix5REFBZ0I7QUFDckM7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0JBQXNCOztBQUV0QixXQUFXLGlDQUFpQztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0RBQW9EOztBQUVwRDtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0Esb0RBQW9EOztBQUVwRDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQSw0REFBNEQsK0dBQStHO0FBQzNLO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNKO0FBQ3RKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN2cU0rRDtBQUNOO0FBQ1E7QUFDSjtBQUNOO0FBQ1o7QUFDTTtBQUNNO0FBQ0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNFQUFzRSxhQUFhO0FBQ25GO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1Asb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBLHFCQUFxQixtRUFBUyxjQUFjLDJFQUFpQix5Q0FBeUMsMkVBQWlCO0FBQ3ZILGtCQUFrQiwyRUFBaUI7QUFDbkMsV0FBVztBQUNYOztBQUVBLCtCQUErQixvRUFBYyxDQUFDLGlFQUFXLHlEQUF5RDs7QUFFbEg7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDOztBQUVBO0FBQ0E7QUFDQSxVQUFVOzs7QUFHVjtBQUNBLHFCQUFxQiwwRUFBZ0IsWUFBWSx5RUFBZTtBQUNoRSxrQkFBa0IsdUVBQWE7QUFDL0IsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQSw2Q0FBNkMsS0FBSzs7QUFFbEQ7QUFDQSxzRUFBc0U7QUFDdEUsU0FBUzs7QUFFVCw0QkFBNEIsdUNBQXVDO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0VBQWdFO0FBQ2hFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxjQUFjLDhEQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLEdBQUc7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ08sbURBQW1EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNwTVg7QUFDaEM7QUFDZiwyREFBMkQ7O0FBRTNEO0FBQ0E7QUFDQSxJQUFJO0FBQ0osdUJBQXVCLDREQUFZO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0EsUUFBUTtBQUNSLE1BQU07OztBQUdOO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN0QjJEO0FBQ2xCO0FBQ0Y7QUFDYztBQUN0QztBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHNCQUFzQiw2REFBYTtBQUNuQyx1Q0FBdUMscURBQUs7QUFDNUMsd0NBQXdDLHFEQUFLO0FBQzdDOztBQUVBLGFBQWEseURBQVMsWUFBWSx5REFBUztBQUMzQzs7QUFFQSwwQkFBMEIsZ0VBQWdCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN4Q3VDO0FBQ1k7QUFDQTtBQUNJO0FBQ0o7QUFDTTtBQUNKO0FBQ007QUFDSTtBQUNoQjtBQUNWO0FBQ007QUFDaUI7QUFDaEI7O0FBRTVDO0FBQ0EsYUFBYSxxRUFBcUI7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw0QkFBNEIsK0NBQVEsR0FBRyxzRUFBZ0IsQ0FBQywrREFBZSx1QkFBdUIseURBQVMsMEVBQTBFLHNFQUFnQixDQUFDLCtEQUFlLENBQUMsa0VBQWtCO0FBQ3BPLEVBQUU7QUFDRjtBQUNBOzs7QUFHQTtBQUNBLHdCQUF3QixpRUFBaUIsQ0FBQyw2REFBYTtBQUN2RCx3REFBd0QsZ0VBQWdCO0FBQ3hFLDRDQUE0Qyw2REFBYSxZQUFZLGdFQUFlOztBQUVwRixPQUFPLHlEQUFTO0FBQ2hCO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxXQUFXLHlEQUFTLG9CQUFvQix5REFBUSxvQ0FBb0MsNERBQVc7QUFDL0YsR0FBRztBQUNILEVBQUU7QUFDRjs7O0FBR2U7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLG9EQUFHO0FBQ3JCLG9CQUFvQixvREFBRztBQUN2QixxQkFBcUIsb0RBQUc7QUFDeEIsbUJBQW1CLG9EQUFHO0FBQ3RCO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNyRStEO0FBQ2hCO0FBQ0o7QUFDSztBQUNXO0FBQ0Y7QUFDUjtBQUNSOztBQUV6QztBQUNBO0FBQ0EsZUFBZSxxREFBSztBQUNwQixlQUFlLHFEQUFLO0FBQ3BCO0FBQ0EsRUFBRTtBQUNGOzs7QUFHZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQSxnQ0FBZ0MsNkRBQWE7QUFDN0MsNkJBQTZCLDZEQUFhO0FBQzFDLHdCQUF3QixrRUFBa0I7QUFDMUMsYUFBYSxxRUFBcUI7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVEsMkRBQVc7QUFDbkIsSUFBSSw4REFBYztBQUNsQixlQUFlLDZEQUFhO0FBQzVCOztBQUVBLFFBQVEsNkRBQWE7QUFDckIsZ0JBQWdCLHFFQUFxQjtBQUNyQztBQUNBO0FBQ0EsTUFBTTtBQUNOLGtCQUFrQixtRUFBbUI7QUFDckM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQ3pEdUM7QUFDeEI7QUFDZixTQUFTLHlEQUFTO0FBQ2xCOzs7Ozs7Ozs7Ozs7Ozs7O0FDSDRDO0FBQzdCO0FBQ2Y7QUFDQSxXQUFXLHlEQUFTO0FBQ3BCO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDTHlEO0FBQ0o7QUFDTTtBQUNSO0FBQ1osQ0FBQztBQUN4Qzs7QUFFZTtBQUNmOztBQUVBLGFBQWEsa0VBQWtCO0FBQy9CLGtCQUFrQiwrREFBZTtBQUNqQztBQUNBLGNBQWMsbURBQUc7QUFDakIsZUFBZSxtREFBRztBQUNsQixrQ0FBa0MsbUVBQW1CO0FBQ3JEOztBQUVBLE1BQU0sZ0VBQWdCO0FBQ3RCLFNBQVMsbURBQUc7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0FDNUJlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQ0wrRCxDQUFDO0FBQ2hFOztBQUVlO0FBQ2YsbUJBQW1CLHFFQUFxQixXQUFXO0FBQ25EOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0FDeEJlO0FBQ2Y7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0ZtRDtBQUNaO0FBQ1M7QUFDYTtBQUM5QztBQUNmLGVBQWUseURBQVMsV0FBVyw2REFBYTtBQUNoRCxXQUFXLCtEQUFlO0FBQzFCLElBQUk7QUFDSixXQUFXLG9FQUFvQjtBQUMvQjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDVnVDO0FBQ0k7QUFDVTtBQUNTO0FBQ2I7QUFDRjtBQUNDOztBQUVoRDtBQUNBLE9BQU8sNkRBQWE7QUFDcEIsRUFBRSxnRUFBZ0I7QUFDbEI7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQSxrQ0FBa0MsK0RBQVc7QUFDN0MsNkJBQTZCLCtEQUFXOztBQUV4QyxjQUFjLDZEQUFhO0FBQzNCO0FBQ0EscUJBQXFCLGdFQUFnQjs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLDZEQUFhOztBQUVqQyxNQUFNLDREQUFZO0FBQ2xCO0FBQ0E7O0FBRUEsU0FBUyw2REFBYSwwQ0FBMEMsMkRBQVc7QUFDM0UsY0FBYyxnRUFBZ0IsZUFBZTtBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHZTtBQUNmLGVBQWUseURBQVM7QUFDeEI7O0FBRUEseUJBQXlCLDhEQUFjLGtCQUFrQixnRUFBZ0I7QUFDekU7QUFDQTs7QUFFQSx1QkFBdUIsMkRBQVcsNkJBQTZCLDJEQUFXLDZCQUE2QixnRUFBZ0I7QUFDdkg7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNwRTJDO0FBQ2M7QUFDVjtBQUNoQztBQUNmLE1BQU0sMkRBQVc7QUFDakI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSw0REFBWTtBQUNoQjtBQUNBLElBQUksa0VBQWtCOztBQUV0QjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbEIrQztBQUNFO0FBQ047QUFDSztBQUNqQztBQUNmLDRDQUE0QywyREFBVztBQUN2RDtBQUNBO0FBQ0E7O0FBRUEsTUFBTSw2REFBYSxVQUFVLDhEQUFjO0FBQzNDO0FBQ0E7O0FBRUEseUJBQXlCLDZEQUFhO0FBQ3RDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDZnVDO0FBQ2tCO0FBQ0U7QUFDTjtBQUN0QztBQUNmLFlBQVkseURBQVM7QUFDckIsYUFBYSxrRUFBa0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsZ0VBQWdCOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsbUVBQW1CO0FBQzlCO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0FDOUJlO0FBQ2Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUNYdUM7QUFDeEI7QUFDZixZQUFZLHlEQUFTO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNUK0Q7QUFDTjtBQUNOO0FBQ3BDO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHFFQUFxQixDQUFDLGtFQUFrQixrQkFBa0IsK0RBQWU7QUFDbEY7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1p1Qzs7QUFFdkM7QUFDQSxtQkFBbUIseURBQVM7QUFDNUI7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQix5REFBUztBQUM1QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLHlEQUFTO0FBQzVCO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3BCZ0Q7QUFDakM7QUFDZixnREFBZ0QsK0RBQVc7QUFDM0Q7Ozs7Ozs7Ozs7Ozs7Ozs7QUNIcUQ7QUFDdEM7QUFDZjtBQUNBLDBCQUEwQixnRUFBZ0I7QUFDMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUNUMkM7QUFDNUI7QUFDZix1Q0FBdUMsMkRBQVc7QUFDbEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNIbUQ7QUFDSjtBQUNSO0FBQ1U7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQiwrREFBZTtBQUNwQztBQUNBLFlBQVkseURBQVM7QUFDckIsK0RBQStELDhEQUFjO0FBQzdFO0FBQ0E7QUFDQSx1Q0FBdUMsNkRBQWE7QUFDcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDekJPO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ1A7QUFDQSxDQUFDO0FBQ007QUFDUDtBQUNBLENBQUMsT0FBTzs7QUFFRDtBQUNBO0FBQ0EsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0EsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM5QitDO0FBQ0ssQ0FBQztBQUM1RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDOztBQUV4QyxTQUFTLHVFQUFhLGNBQWMscUVBQVc7QUFDL0M7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVIQUF1SDs7QUFFdkg7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFJLEdBQUc7O0FBRWQsV0FBVyx1RUFBYSxjQUFjLHFFQUFXO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBLEVBQUU7OztBQUdGLGlFQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbkYyRDtBQUNGO0FBQ1Y7QUFDYztBQUNjO0FBQ2hDO0FBQ29CO0FBQ047QUFDYSxDQUFDOztBQUV4RTtBQUNBLG9FQUFvRTtBQUNwRTtBQUNBLEdBQUc7QUFDSCxTQUFTLHdFQUFrQix5Q0FBeUMscUVBQWUsVUFBVSxxREFBYztBQUMzRzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0VBQWdCO0FBQ3RDLGFBQWEsOEVBQXdCO0FBQ3JDLG9CQUFvQiwyQ0FBSSxFQUFFLDRDQUFLO0FBQy9COztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQix1RUFBYTtBQUMvQiwrQkFBK0IsMENBQUcsR0FBRywyQ0FBSTtBQUN6QywrQkFBK0IsNkNBQU0sR0FBRyw0Q0FBSztBQUM3QztBQUNBO0FBQ0EsMEJBQTBCLHlFQUFlO0FBQ3pDO0FBQ0EsdURBQXVEO0FBQ3ZEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsd0RBQU0sb0JBQW9COztBQUV6QztBQUNBLHlEQUF5RDtBQUN6RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU8sa0VBQVE7QUFDZjtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3pGMkQ7QUFDRTtBQUNaO0FBQ2tCO0FBQ0o7QUFDSjtBQUNSO0FBQ1gsQ0FBQzs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLHFEQUFLO0FBQ1osT0FBTyxxREFBSztBQUNaO0FBQ0E7O0FBRU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDJDQUFJO0FBQ2xCLGNBQWMsMENBQUc7QUFDakI7O0FBRUE7QUFDQSx1QkFBdUIseUVBQWU7QUFDdEM7QUFDQTs7QUFFQSx5QkFBeUIsbUVBQVM7QUFDbEMscUJBQXFCLDRFQUFrQjs7QUFFdkMsVUFBVSwwRUFBZ0I7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047O0FBRUEsc0JBQXNCLDBDQUFHLG1CQUFtQiwyQ0FBSSxrQkFBa0IsNENBQUssbUJBQW1CLDBDQUFHO0FBQzdGLGNBQWMsNkNBQU07QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsMkNBQUksbUJBQW1CLDBDQUFHLGtCQUFrQiw2Q0FBTSxtQkFBbUIsMENBQUc7QUFDOUYsY0FBYyw0Q0FBSztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsR0FBRyxFQUFFLG1FQUFTO0FBQ2Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSwyQkFBMkIsb0NBQW9DO0FBQy9EOztBQUVBLHlCQUF5QixxQ0FBcUM7QUFDOUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHNFQUFnQjtBQUMvQixlQUFlLGtFQUFZO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBMEMsbURBQW1EO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EseUNBQXlDLGtEQUFrRDtBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQSw0Q0FBNEM7QUFDNUM7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQ3hLaUQsQ0FBQzs7QUFFbkQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1FQUFTO0FBQ3hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRixpRUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2hEbUU7QUFDUjtBQUMwQjtBQUM5QjtBQUNZO0FBQ0E7QUFDaEIsQ0FBQzs7QUFFckQ7QUFDQSxNQUFNLHNFQUFnQixnQkFBZ0IsMkNBQUk7QUFDMUM7QUFDQTs7QUFFQSwwQkFBMEIsMEVBQW9CO0FBQzlDLFVBQVUsbUZBQTZCLGdDQUFnQyxtRkFBNkI7QUFDcEc7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNFQUFnQjtBQUN0QztBQUNBLGlHQUFpRywwRUFBb0I7QUFDckg7QUFDQSxzQkFBc0Isc0VBQWdCLGdCQUFnQiwyQ0FBSSxHQUFHLDBFQUFvQjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLHVCQUF1QjtBQUN6Qzs7QUFFQSx5QkFBeUIsc0VBQWdCOztBQUV6QywyQkFBMkIsa0VBQVksZ0JBQWdCLDRDQUFLO0FBQzVELHNCQUFzQiwwQ0FBRyxFQUFFLDZDQUFNO0FBQ2pDO0FBQ0EsbUJBQW1CLG9FQUFjO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNERBQTRELDRDQUFLLEdBQUcsMkNBQUksc0JBQXNCLDZDQUFNLEdBQUcsMENBQUc7O0FBRTFHO0FBQ0EsMEJBQTBCLDBFQUFvQjtBQUM5Qzs7QUFFQSwyQkFBMkIsMEVBQW9CO0FBQy9DOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxRQUFRO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNsSnNEO0FBQ0M7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVSwwQ0FBRyxFQUFFLDRDQUFLLEVBQUUsNkNBQU0sRUFBRSwyQ0FBSTtBQUNsQztBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsb0VBQWM7QUFDeEM7QUFDQSxHQUFHO0FBQ0gsMEJBQTBCLG9FQUFjO0FBQ3hDO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM1RHlEO0FBQ1o7QUFDZ0I7QUFDRTtBQUNwQjtBQUNBO0FBQ0k7QUFDYzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1BGO0FBQ0QsQ0FBQzs7QUFFckQ7QUFDUCxzQkFBc0Isc0VBQWdCO0FBQ3RDLHdCQUF3QiwyQ0FBSSxFQUFFLDBDQUFHOztBQUVqQyxtRUFBbUU7QUFDbkU7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVSwyQ0FBSSxFQUFFLDRDQUFLO0FBQ3JCO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpREFBVTtBQUN2QjtBQUNBO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQ3JEdUQ7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLG9FQUFjO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7OztBQUdGLGlFQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDeEI2RDtBQUNGO0FBQ2dCO0FBQzVCO0FBQ1k7QUFDRjtBQUNJO0FBQ047QUFDSjtBQUNZO0FBQ0U7O0FBRWxFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLG9FQUFjO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHNCQUFzQixzRUFBZ0I7QUFDdEMsa0JBQWtCLGtFQUFZO0FBQzlCO0FBQ0EsaUJBQWlCLDhFQUF3QjtBQUN6QyxnQkFBZ0IsZ0VBQVU7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGO0FBQzVGO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsc0NBQXNDLDBDQUFHLEdBQUcsMkNBQUk7QUFDaEQscUNBQXFDLDZDQUFNLEdBQUcsNENBQUs7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw0Q0FBSztBQUNwQywrQkFBK0IsNENBQUssMkNBQTJDO0FBQy9FOztBQUVBO0FBQ0EsNkNBQTZDLHVFQUFhO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLHlIQUF5SCx3RUFBa0I7QUFDM0k7QUFDQSx1REFBdUQ7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLHdEQUFNO0FBQ3pCO0FBQ0E7QUFDQSxvREFBb0QseUVBQWU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsd0RBQU0sVUFBVSxvREFBTyx5Q0FBeUMsb0RBQU87QUFDakc7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsdUNBQXVDLDBDQUFHLEdBQUcsMkNBQUk7O0FBRWpELHNDQUFzQyw2Q0FBTSxHQUFHLDRDQUFLOztBQUVwRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSx3QkFBd0IsMENBQUcsRUFBRSwyQ0FBSTs7QUFFakM7O0FBRUE7O0FBRUE7O0FBRUEsb0RBQW9ELGdFQUFjLG9DQUFvQyx3REFBTTs7QUFFNUc7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDN0ltRTtBQUNUO0FBQ0Y7QUFDQTtBQUNKO0FBQ3JELHdCQUF3QixvRUFBYyxFQUFFLG1FQUFhLEVBQUUsbUVBQWEsRUFBRSxpRUFBVztBQUNqRixnQ0FBZ0MsaUVBQWU7QUFDL0M7QUFDQSxDQUFDLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNSZ0U7QUFDVDtBQUNGO0FBQ0E7QUFDSjtBQUNWO0FBQ0o7QUFDc0I7QUFDcEI7QUFDRjtBQUN2Qyx3QkFBd0Isb0VBQWMsRUFBRSxtRUFBYSxFQUFFLG1FQUFhLEVBQUUsaUVBQVcsRUFBRSw0REFBTSxFQUFFLDBEQUFJLEVBQUUscUVBQWUsRUFBRSwyREFBSyxFQUFFLDBEQUFJO0FBQzdILGdDQUFnQyxpRUFBZTtBQUMvQztBQUNBLENBQUMsR0FBRzs7QUFFdUUsQ0FBQzs7QUFFUixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNqQnhCO0FBQ2tEO0FBQzlDO0FBQ0k7QUFDdEM7QUFDZjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUUsaURBQWE7QUFDOUUsa0JBQWtCLDREQUFZO0FBQzlCLGdEQUFnRCwwREFBbUIsR0FBRywwREFBbUI7QUFDekYsV0FBVyw0REFBWTtBQUN2QixHQUFHLElBQUkscURBQWM7QUFDckI7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0EscUJBQXFCLDhEQUFjO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxFQUFFLGdFQUFnQjtBQUN2QjtBQUNBLEdBQUcsSUFBSTtBQUNQO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQ3FEO0FBQ1I7QUFDd0I7QUFDRjtBQUNwRDtBQUNmO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxnRUFBZ0I7QUFDbEQsOEJBQThCLDREQUFZO0FBQzFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVMsMENBQUc7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsNkNBQU07QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsNENBQUs7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsMkNBQUk7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUMsd0VBQXdCOztBQUV6RDtBQUNBOztBQUVBO0FBQ0EsV0FBVyw0Q0FBSztBQUNoQjtBQUNBOztBQUVBLFdBQVcsMENBQUc7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNyRWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNkOEQ7QUFDTTtBQUNNO0FBQ3pCO0FBQ0k7QUFDMEQ7QUFDeEQ7QUFDRTtBQUNOLENBQUM7O0FBRXJDO0FBQ2Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxzREFBZTtBQUMvRDtBQUNBLHdEQUF3RCwrQ0FBUTtBQUNoRTtBQUNBLDBEQUEwRCw2Q0FBTTtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRUFBa0IseUNBQXlDLCtEQUFlLFVBQVUscURBQWM7QUFDeEgsc0NBQXNDLDZDQUFNLEdBQUcsZ0RBQVMsR0FBRyw2Q0FBTTtBQUNqRTtBQUNBO0FBQ0EsMkJBQTJCLHlFQUFlLENBQUMsbUVBQVMsZ0RBQWdELDRFQUFrQjtBQUN0SCw0QkFBNEIsK0VBQXFCO0FBQ2pELHNCQUFzQiw4REFBYztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCx5QkFBeUIsZ0VBQWdCLGlCQUFpQjtBQUMxRCw2Q0FBNkMsNkNBQU0sMkNBQTJDO0FBQzlGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQzs7QUFFL0MseUJBQXlCLDZDQUFNO0FBQy9CO0FBQ0E7QUFDQSxzQkFBc0IsNENBQUssRUFBRSw2Q0FBTTtBQUNuQyxrQkFBa0IsMENBQUcsRUFBRSw2Q0FBTTtBQUM3QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNoRWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDs7Ozs7Ozs7Ozs7Ozs7O0FDTGU7QUFDZjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNGbUM7QUFDcEI7QUFDZjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNIZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNQZTtBQUNmO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlO0FBQ2Y7QUFDQTtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7Ozs7O0FDVkE7QUFDQTtBQUNBO0FBQ0E7QUFDZTtBQUNmO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7OztBQ1JlO0FBQ2Y7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNGTztBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQ0ZRO0FBQ2Y7QUFDQTtBQUNBLHNEQUFzRDtBQUN0RCwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLEtBQUs7QUFDTDtBQUNBLEdBQUcsSUFBSSxHQUFHOztBQUVWO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7QUNieUQ7QUFDMUM7QUFDZix5QkFBeUIsRUFBRSxrRUFBa0I7QUFDN0M7Ozs7Ozs7Ozs7Ozs7Ozs7QUNINkMsQ0FBQzs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxHQUFHOztBQUVOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFZTtBQUNmO0FBQ0EsMkNBQTJDOztBQUUzQyxTQUFTLHFEQUFjO0FBQ3ZCO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOzs7Ozs7Ozs7Ozs7Ozs7QUMzQ2U7QUFDZix5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7OztBQ1BlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDVjJEO0FBQ3BEO0FBQ1AsU0FBUyw2Q0FBTyxNQUFNLDZDQUFPO0FBQzdCO0FBQ087QUFDUDtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FDUGlCO0FBRWpCQSxNQUFNLENBQUNDLENBQUMsR0FBR0QsTUFBTSxDQUFDRSxNQUFNLEdBQUdDLG1CQUFPLENBQUMsb0RBQVEsQ0FBQztBQUM1Q0gsTUFBTSxDQUFDSSxJQUFJLEdBQUdELG1CQUFPLENBQUMsdUVBQWEsQ0FBQzs7QUFFcEM7QUFDQUEsbUJBQU8sQ0FBQywyRUFBZ0IsQ0FBQzs7QUFFekI7QUFDQUEsbUJBQU8sQ0FBQyw2Q0FBWSxDQUFDOzs7Ozs7Ozs7O0FDVHJCO0FBQ0E7QUFDQTtBQUNBRixDQUFDLENBQUMsWUFBWTtFQUNWO0FBQ0o7QUFDQTtFQUNJLElBQUlJLGNBQWMsR0FBR0osQ0FBQyxDQUFDLDRCQUE0QixDQUFDO0VBRXBESSxjQUFjLENBQUNDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsWUFBVztJQUN6QyxJQUFHTCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNNLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtNQUN2Qk4sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDQSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUN0RyxDQUFDLE1BQU07TUFDSFQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUNBLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDdEc7RUFDSixDQUFDLENBQUM7RUFFRk4sY0FBYyxDQUFDTyxJQUFJLENBQUMsWUFBWTtJQUM1QixJQUFHWCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNNLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtNQUN2Qk4sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDQSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUN0RztFQUNKLENBQUMsQ0FBQzs7RUFFRjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksU0FBU0csb0JBQW9CQSxDQUFDQyxJQUFJLEVBQUU7SUFDaENBLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0lBQ3hESSxJQUFJLENBQUNMLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztFQUM3RDs7RUFFQTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksU0FBU0ssbUJBQW1CQSxDQUFDRCxJQUFJLEVBQUU7SUFDL0JBLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNFLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDeERHLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUNFLFVBQVUsQ0FBQyxVQUFVLENBQUM7RUFDN0Q7O0VBRUE7QUFDSjtBQUNBO0VBQ0lWLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQ2UsTUFBTSxDQUFDLFlBQVk7SUFDekJILG9CQUFvQixDQUFDWixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsT0FBTyxJQUFJO0VBQ2YsQ0FBQyxDQUFDOztFQUVGO0FBQ0o7QUFDQTtFQUNJQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsVUFBU1csQ0FBQyxFQUFFO0lBQUEsSUFBQUMsS0FBQTtJQUN6REQsQ0FBQyxDQUFDRSxjQUFjLENBQUMsQ0FBQztJQUVsQmYsSUFBSSxDQUFDZ0IsSUFBSSxDQUFDO01BQ05DLEtBQUssRUFBRSw0Q0FBNEM7TUFDbkRDLGdCQUFnQixFQUFFLElBQUk7TUFDdEJDLGlCQUFpQixFQUFFLGdCQUFnQjtNQUNuQ0MsZ0JBQWdCLEVBQUUsUUFBUTtNQUMxQkMsSUFBSSxFQUFFO0lBQ1YsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxNQUFNLEVBQUs7TUFDaEIsSUFBSUEsTUFBTSxDQUFDQyxLQUFLLEVBQUU7UUFDZFYsS0FBSSxDQUFDRixNQUFNLENBQUMsQ0FBQztNQUNqQixDQUFDLE1BQU07UUFDSEQsbUJBQW1CLENBQUNkLENBQUMsQ0FBQ2lCLEtBQUksQ0FBQyxDQUFDO01BQ2hDO0lBQ0osQ0FBQyxDQUFDO0VBQ04sQ0FBQyxDQUFDLENBQ0daLEVBQUUsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLEVBQUUsVUFBVVcsQ0FBQyxFQUFFO0lBQUEsSUFBQVksTUFBQTtJQUNsRFosQ0FBQyxDQUFDRSxjQUFjLENBQUMsQ0FBQztJQUVsQmYsSUFBSSxDQUFDZ0IsSUFBSSxDQUFDO01BQ05DLEtBQUssRUFBRSxtQ0FBbUM7TUFDMUNDLGdCQUFnQixFQUFFLElBQUk7TUFDdEJDLGlCQUFpQixFQUFFLFVBQVU7TUFDN0JDLGdCQUFnQixFQUFFLFFBQVE7TUFDMUJDLElBQUksRUFBRTtJQUNWLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsTUFBTSxFQUFLO01BQ2hCLElBQUlBLE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO1FBQ2RDLE1BQUksQ0FBQ2IsTUFBTSxDQUFDLENBQUM7TUFDakIsQ0FBQyxNQUFNO1FBQ0hELG1CQUFtQixDQUFDZCxDQUFDLENBQUM0QixNQUFJLENBQUMsQ0FBQztNQUNoQztJQUNKLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQyxDQUNEdkIsRUFBRSxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxVQUFVVyxDQUFDLEVBQUU7SUFBQSxJQUFBYSxNQUFBO0lBQ2xEO0FBQ1I7QUFDQTtJQUNRYixDQUFDLENBQUNFLGNBQWMsQ0FBQyxDQUFDO0lBRWxCZixJQUFJLENBQUNnQixJQUFJLENBQUM7TUFDTkMsS0FBSyxFQUFFLG1DQUFtQztNQUMxQ0MsZ0JBQWdCLEVBQUUsSUFBSTtNQUN0QkMsaUJBQWlCLEVBQUUsVUFBVTtNQUM3QkMsZ0JBQWdCLEVBQUUsUUFBUTtNQUMxQkMsSUFBSSxFQUFFO0lBQ1YsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxNQUFNLEVBQUs7TUFDaEJBLE1BQU0sQ0FBQ0MsS0FBSyxJQUFJNUIsTUFBTSxDQUFDK0IsUUFBUSxDQUFDQyxNQUFNLENBQUMvQixDQUFDLENBQUM2QixNQUFJLENBQUMsQ0FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDLENBQUM7RUFDTixDQUFDLENBQUM7O0VBRUY7RUFDQVQsQ0FBQyxDQUFDLDZDQUE2QyxDQUFDLENBQUNLLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVVcsQ0FBQyxFQUFFO0lBQzdFLElBQUlnQixJQUFJLEdBQUdoQyxDQUFDLENBQUNnQixDQUFDLENBQUNpQixNQUFNLENBQUMsQ0FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbkN5QixPQUFPLENBQUNDLFNBQVMsR0FBR0QsT0FBTyxDQUFDQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRUgsSUFBSSxDQUFDLEdBQUdGLFFBQVEsQ0FBQ0UsSUFBSSxHQUFHQSxJQUFJO0VBQ2xGLENBQUMsQ0FBQztFQUVGLElBQUlBLElBQUksR0FBR2pDLE1BQU0sQ0FBQytCLFFBQVEsQ0FBQ0UsSUFBSTtFQUMvQixJQUFJQSxJQUFJLEVBQUU7SUFDTmhDLENBQUMsQ0FBQyxrQkFBa0IsR0FBQ2dDLElBQUksR0FBQyxJQUFJLENBQUMsQ0FBQ0ksR0FBRyxDQUFDLE1BQU0sQ0FBQztFQUMvQzs7RUFFQTtFQUNBcEMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUNxQyxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQ3RIRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEU7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsNEJBQTRCO0FBQ3RELHlCQUF5QiwyQkFBMkI7QUFDcEQ7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLDZCQUE2QjtBQUN4RCw4QkFBOEIsZ0NBQWdDO0FBQzlELEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQix5RUFBeUU7QUFDM0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixXQUFXO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsZ0NBQWdDO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLHVCQUF1QjtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCw2QkFBNkI7QUFDdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLHlEQUF5RCw2QkFBNkI7QUFDdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQyx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QiwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGtCQUFrQjtBQUMvQztBQUNBO0FBQ0EsNkJBQTZCLGFBQWE7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsa0JBQWtCO0FBQy9DO0FBQ0E7QUFDQSw2QkFBNkIsYUFBYTtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELHVDQUF1QztBQUNqRztBQUNBLHNEQUFzRDtBQUN0RCw0Q0FBNEM7QUFDNUMseURBQXlELDRCQUE0QjtBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGtCQUFrQjtBQUMvQyw2QkFBNkIsa0JBQWtCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsaUJBQWlCO0FBQzlDLDZCQUE2QixpQkFBaUI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGFBQWE7QUFDMUMsNkJBQTZCLGFBQWE7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixzQ0FBc0M7QUFDcEU7QUFDQTtBQUNBO0FBQ0EsaUVBQWUsZ0JBQWdCLEVBQUM7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvZGlzdC9qcy9jb3JldWkuZXNtLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvY3JlYXRlUG9wcGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2NvbnRhaW5zLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRDbGlwcGluZ1JlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Q29tcG9zaXRlUmVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRDb21wdXRlZFN0eWxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldERvY3VtZW50RWxlbWVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXREb2N1bWVudFJlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0SFRNTEVsZW1lbnRTY3JvbGwuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0TGF5b3V0UmVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXROb2RlTmFtZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXROb2RlU2Nyb2xsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldE9mZnNldFBhcmVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRQYXJlbnROb2RlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFNjcm9sbFBhcmVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRWaWV3cG9ydFJlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0V2luZG93LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFdpbmRvd1Njcm9sbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRXaW5kb3dTY3JvbGxCYXJYLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2luc3RhbmNlT2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvaXNMYXlvdXRWaWV3cG9ydC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9pc1Njcm9sbFBhcmVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9pc1RhYmxlRWxlbWVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9saXN0U2Nyb2xsUGFyZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2VudW1zLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2FwcGx5U3R5bGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2Fycm93LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2NvbXB1dGVTdHlsZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvZXZlbnRMaXN0ZW5lcnMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvZmxpcC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL29mZnNldC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9wb3BwZXJPZmZzZXRzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL3ByZXZlbnRPdmVyZmxvdy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3BvcHBlci1saXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvcG9wcGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvY29tcHV0ZUF1dG9QbGFjZW1lbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9jb21wdXRlT2Zmc2V0cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2RlYm91bmNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZGV0ZWN0T3ZlcmZsb3cuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9leHBhbmRUb0hhc2hNYXAuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9nZXRBbHRBeGlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldEZyZXNoU2lkZU9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE9wcG9zaXRlUGxhY2VtZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9nZXRWYXJpYXRpb24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9tYXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvbWVyZ2VCeU5hbWUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9tZXJnZVBhZGRpbmdPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9vcmRlck1vZGlmaWVycy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3JlY3RUb0NsaWVudFJlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy91c2VyQWdlbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy93aXRoaW4uanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2JhY2tlbmQvYXBwLmpzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9wbHVnaW5zLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wZXJmZWN0LXNjcm9sbGJhci9kaXN0L3BlcmZlY3Qtc2Nyb2xsYmFyLmVzbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAgKiBDb3JlVUkgdjMuNC4wIChodHRwczovL2NvcmV1aS5pbylcbiAgKiBDb3B5cmlnaHQgMjAyMCBjcmVhdGl2ZUxhYnMgxYF1a2FzeiBIb2xlY3pla1xuICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9jb3JldWkuaW8pXG4gICovXG5pbXBvcnQgeyBjcmVhdGVQb3BwZXIgfSBmcm9tICdAcG9wcGVyanMvY29yZSc7XG5pbXBvcnQgUGVyZmVjdFNjcm9sbGJhciBmcm9tICdwZXJmZWN0LXNjcm9sbGJhcic7XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gIGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gIHJldHVybiBDb25zdHJ1Y3Rvcjtcbn1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5IGluIG9iaikge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59XG5cbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkge1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7XG5cbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTtcbiAgICBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTtcbiAgICB9KTtcbiAgICBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7XG4gIH1cblxuICByZXR1cm4ga2V5cztcbn1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZDIodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307XG5cbiAgICBpZiAoaSAlIDIpIHtcbiAgICAgIG93bktleXMoT2JqZWN0KHNvdXJjZSksIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7XG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpO1xuICBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzcztcbiAgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzcztcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4wLjAtYWxwaGExKTogdXRpbC9pbmRleC5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbnZhciBNQVhfVUlEID0gMTAwMDAwMDtcbnZhciBNSUxMSVNFQ09ORFNfTVVMVElQTElFUiA9IDEwMDA7XG52YXIgVFJBTlNJVElPTl9FTkQgPSAndHJhbnNpdGlvbmVuZCc7IC8vIFNob3V0b3V0IEFuZ3VzQ3JvbGwgKGh0dHBzOi8vZ29vLmdsL3B4d1FHcClcblxudmFyIHRvVHlwZSA9IGZ1bmN0aW9uIHRvVHlwZShvYmopIHtcbiAgaWYgKG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBcIlwiICsgb2JqO1xuICB9XG5cbiAgcmV0dXJuIHt9LnRvU3RyaW5nLmNhbGwob2JqKS5tYXRjaCgvXFxzKFthLXpdKykvaSlbMV0udG9Mb3dlckNhc2UoKTtcbn07XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBQdWJsaWMgVXRpbCBBcGlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG52YXIgZ2V0VUlEID0gZnVuY3Rpb24gZ2V0VUlEKHByZWZpeCkge1xuICBkbyB7XG4gICAgcHJlZml4ICs9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1BWF9VSUQpO1xuICB9IHdoaWxlIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwcmVmaXgpKTtcblxuICByZXR1cm4gcHJlZml4O1xufTtcblxudmFyIGdldFNlbGVjdG9yID0gZnVuY3Rpb24gZ2V0U2VsZWN0b3IoZWxlbWVudCkge1xuICB2YXIgc2VsZWN0b3IgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10YXJnZXQnKTtcblxuICBpZiAoIXNlbGVjdG9yIHx8IHNlbGVjdG9yID09PSAnIycpIHtcbiAgICB2YXIgaHJlZkF0dHIgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICAgIHNlbGVjdG9yID0gaHJlZkF0dHIgJiYgaHJlZkF0dHIgIT09ICcjJyA/IGhyZWZBdHRyLnRyaW0oKSA6IG51bGw7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0b3I7XG59O1xuXG52YXIgZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCA9IGZ1bmN0aW9uIGdldFNlbGVjdG9yRnJvbUVsZW1lbnQoZWxlbWVudCkge1xuICB2YXIgc2VsZWN0b3IgPSBnZXRTZWxlY3RvcihlbGVtZW50KTtcblxuICBpZiAoc2VsZWN0b3IpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3RvcikgPyBzZWxlY3RvciA6IG51bGw7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG5cbnZhciBnZXRFbGVtZW50RnJvbVNlbGVjdG9yID0gZnVuY3Rpb24gZ2V0RWxlbWVudEZyb21TZWxlY3RvcihlbGVtZW50KSB7XG4gIHZhciBzZWxlY3RvciA9IGdldFNlbGVjdG9yKGVsZW1lbnQpO1xuICByZXR1cm4gc2VsZWN0b3IgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSA6IG51bGw7XG59O1xuXG52YXIgZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQgPSBmdW5jdGlvbiBnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChlbGVtZW50KSB7XG4gIGlmICghZWxlbWVudCkge1xuICAgIHJldHVybiAwO1xuICB9IC8vIEdldCB0cmFuc2l0aW9uLWR1cmF0aW9uIG9mIHRoZSBlbGVtZW50XG5cblxuICB2YXIgX3dpbmRvdyRnZXRDb21wdXRlZFN0ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCksXG4gICAgICB0cmFuc2l0aW9uRHVyYXRpb24gPSBfd2luZG93JGdldENvbXB1dGVkU3QudHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvbkRlbGF5ID0gX3dpbmRvdyRnZXRDb21wdXRlZFN0LnRyYW5zaXRpb25EZWxheTtcblxuICB2YXIgZmxvYXRUcmFuc2l0aW9uRHVyYXRpb24gPSBwYXJzZUZsb2F0KHRyYW5zaXRpb25EdXJhdGlvbik7XG4gIHZhciBmbG9hdFRyYW5zaXRpb25EZWxheSA9IHBhcnNlRmxvYXQodHJhbnNpdGlvbkRlbGF5KTsgLy8gUmV0dXJuIDAgaWYgZWxlbWVudCBvciB0cmFuc2l0aW9uIGR1cmF0aW9uIGlzIG5vdCBmb3VuZFxuXG4gIGlmICghZmxvYXRUcmFuc2l0aW9uRHVyYXRpb24gJiYgIWZsb2F0VHJhbnNpdGlvbkRlbGF5KSB7XG4gICAgcmV0dXJuIDA7XG4gIH0gLy8gSWYgbXVsdGlwbGUgZHVyYXRpb25zIGFyZSBkZWZpbmVkLCB0YWtlIHRoZSBmaXJzdFxuXG5cbiAgdHJhbnNpdGlvbkR1cmF0aW9uID0gdHJhbnNpdGlvbkR1cmF0aW9uLnNwbGl0KCcsJylbMF07XG4gIHRyYW5zaXRpb25EZWxheSA9IHRyYW5zaXRpb25EZWxheS5zcGxpdCgnLCcpWzBdO1xuICByZXR1cm4gKHBhcnNlRmxvYXQodHJhbnNpdGlvbkR1cmF0aW9uKSArIHBhcnNlRmxvYXQodHJhbnNpdGlvbkRlbGF5KSkgKiBNSUxMSVNFQ09ORFNfTVVMVElQTElFUjtcbn07XG5cbnZhciB0cmlnZ2VyVHJhbnNpdGlvbkVuZCA9IGZ1bmN0aW9uIHRyaWdnZXJUcmFuc2l0aW9uRW5kKGVsZW1lbnQpIHtcbiAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudChUUkFOU0lUSU9OX0VORCkpO1xufTtcblxudmFyIGlzRWxlbWVudCA9IGZ1bmN0aW9uIGlzRWxlbWVudChvYmopIHtcbiAgcmV0dXJuIChvYmpbMF0gfHwgb2JqKS5ub2RlVHlwZTtcbn07XG5cbnZhciBlbXVsYXRlVHJhbnNpdGlvbkVuZCA9IGZ1bmN0aW9uIGVtdWxhdGVUcmFuc2l0aW9uRW5kKGVsZW1lbnQsIGR1cmF0aW9uKSB7XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgdmFyIGR1cmF0aW9uUGFkZGluZyA9IDU7XG4gIHZhciBlbXVsYXRlZER1cmF0aW9uID0gZHVyYXRpb24gKyBkdXJhdGlvblBhZGRpbmc7XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoKSB7XG4gICAgY2FsbGVkID0gdHJ1ZTtcbiAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVFJBTlNJVElPTl9FTkQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihUUkFOU0lUSU9OX0VORCwgbGlzdGVuZXIpO1xuICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgdHJpZ2dlclRyYW5zaXRpb25FbmQoZWxlbWVudCk7XG4gICAgfVxuICB9LCBlbXVsYXRlZER1cmF0aW9uKTtcbn07XG5cbnZhciB0eXBlQ2hlY2tDb25maWcgPSBmdW5jdGlvbiB0eXBlQ2hlY2tDb25maWcoY29tcG9uZW50TmFtZSwgY29uZmlnLCBjb25maWdUeXBlcykge1xuICBPYmplY3Qua2V5cyhjb25maWdUeXBlcykuZm9yRWFjaChmdW5jdGlvbiAocHJvcGVydHkpIHtcbiAgICB2YXIgZXhwZWN0ZWRUeXBlcyA9IGNvbmZpZ1R5cGVzW3Byb3BlcnR5XTtcbiAgICB2YXIgdmFsdWUgPSBjb25maWdbcHJvcGVydHldO1xuICAgIHZhciB2YWx1ZVR5cGUgPSB2YWx1ZSAmJiBpc0VsZW1lbnQodmFsdWUpID8gJ2VsZW1lbnQnIDogdG9UeXBlKHZhbHVlKTtcblxuICAgIGlmICghbmV3IFJlZ0V4cChleHBlY3RlZFR5cGVzKS50ZXN0KHZhbHVlVHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihjb21wb25lbnROYW1lLnRvVXBwZXJDYXNlKCkgKyBcIjogXCIgKyAoXCJPcHRpb24gXFxcIlwiICsgcHJvcGVydHkgKyBcIlxcXCIgcHJvdmlkZWQgdHlwZSBcXFwiXCIgKyB2YWx1ZVR5cGUgKyBcIlxcXCIgXCIpICsgKFwiYnV0IGV4cGVjdGVkIHR5cGUgXFxcIlwiICsgZXhwZWN0ZWRUeXBlcyArIFwiXFxcIi5cIikpO1xuICAgIH1cbiAgfSk7XG59O1xuXG52YXIgaXNWaXNpYmxlID0gZnVuY3Rpb24gaXNWaXNpYmxlKGVsZW1lbnQpIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGVsZW1lbnQuc3R5bGUgJiYgZWxlbWVudC5wYXJlbnROb2RlICYmIGVsZW1lbnQucGFyZW50Tm9kZS5zdHlsZSkge1xuICAgIHZhciBlbGVtZW50U3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIHZhciBwYXJlbnROb2RlU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQucGFyZW50Tm9kZSk7XG4gICAgcmV0dXJuIGVsZW1lbnRTdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgcGFyZW50Tm9kZVN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50U3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59O1xuXG52YXIgZmluZFNoYWRvd1Jvb3QgPSBmdW5jdGlvbiBmaW5kU2hhZG93Um9vdChlbGVtZW50KSB7XG4gIGlmICghZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmF0dGFjaFNoYWRvdykge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIENhbiBmaW5kIHRoZSBzaGFkb3cgcm9vdCBvdGhlcndpc2UgaXQnbGwgcmV0dXJuIHRoZSBkb2N1bWVudFxuXG5cbiAgaWYgKHR5cGVvZiBlbGVtZW50LmdldFJvb3ROb2RlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIHJvb3QgPSBlbGVtZW50LmdldFJvb3ROb2RlKCk7XG4gICAgcmV0dXJuIHJvb3QgaW5zdGFuY2VvZiBTaGFkb3dSb290ID8gcm9vdCA6IG51bGw7XG4gIH1cblxuICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpIHtcbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfSAvLyB3aGVuIHdlIGRvbid0IGZpbmQgYSBzaGFkb3cgcm9vdFxuXG5cbiAgaWYgKCFlbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBmaW5kU2hhZG93Um9vdChlbGVtZW50LnBhcmVudE5vZGUpO1xufTtcblxudmFyIG5vb3AgPSBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge307XG59O1xuXG52YXIgcmVmbG93ID0gZnVuY3Rpb24gcmVmbG93KGVsZW1lbnQpIHtcbiAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xufTtcblxudmFyIGdldGpRdWVyeSA9IGZ1bmN0aW9uIGdldGpRdWVyeSgpIHtcbiAgdmFyIF93aW5kb3cgPSB3aW5kb3csXG4gICAgICBqUXVlcnkgPSBfd2luZG93LmpRdWVyeTtcblxuICBpZiAoalF1ZXJ5ICYmICFkb2N1bWVudC5ib2R5Lmhhc0F0dHJpYnV0ZSgnZGF0YS1uby1qcXVlcnknKSkge1xuICAgIHJldHVybiBqUXVlcnk7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMC4wLWFscGhhMSk6IGRvbS9kYXRhLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xudmFyIG1hcERhdGEgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzdG9yZURhdGEgPSB7fTtcbiAgdmFyIGlkID0gMTtcbiAgcmV0dXJuIHtcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldChlbGVtZW50LCBrZXksIGRhdGEpIHtcbiAgICAgIGlmICh0eXBlb2YgZWxlbWVudC5rZXkgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGVsZW1lbnQua2V5ID0ge1xuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIGlkOiBpZFxuICAgICAgICB9O1xuICAgICAgICBpZCsrO1xuICAgICAgfVxuXG4gICAgICBzdG9yZURhdGFbZWxlbWVudC5rZXkuaWRdID0gZGF0YTtcbiAgICB9LFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KGVsZW1lbnQsIGtleSkge1xuICAgICAgaWYgKCFlbGVtZW50IHx8IHR5cGVvZiBlbGVtZW50LmtleSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHZhciBrZXlQcm9wZXJ0aWVzID0gZWxlbWVudC5rZXk7XG5cbiAgICAgIGlmIChrZXlQcm9wZXJ0aWVzLmtleSA9PT0ga2V5KSB7XG4gICAgICAgIHJldHVybiBzdG9yZURhdGFba2V5UHJvcGVydGllcy5pZF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gICAgZGVsZXRlOiBmdW5jdGlvbiBfZGVsZXRlKGVsZW1lbnQsIGtleSkge1xuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LmtleSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIga2V5UHJvcGVydGllcyA9IGVsZW1lbnQua2V5O1xuXG4gICAgICBpZiAoa2V5UHJvcGVydGllcy5rZXkgPT09IGtleSkge1xuICAgICAgICBkZWxldGUgc3RvcmVEYXRhW2tleVByb3BlcnRpZXMuaWRdO1xuICAgICAgICBkZWxldGUgZWxlbWVudC5rZXk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufSgpO1xuXG52YXIgRGF0YSA9IHtcbiAgc2V0RGF0YTogZnVuY3Rpb24gc2V0RGF0YShpbnN0YW5jZSwga2V5LCBkYXRhKSB7XG4gICAgbWFwRGF0YS5zZXQoaW5zdGFuY2UsIGtleSwgZGF0YSk7XG4gIH0sXG4gIGdldERhdGE6IGZ1bmN0aW9uIGdldERhdGEoaW5zdGFuY2UsIGtleSkge1xuICAgIHJldHVybiBtYXBEYXRhLmdldChpbnN0YW5jZSwga2V5KTtcbiAgfSxcbiAgcmVtb3ZlRGF0YTogZnVuY3Rpb24gcmVtb3ZlRGF0YShpbnN0YW5jZSwga2V5KSB7XG4gICAgbWFwRGF0YS5kZWxldGUoaW5zdGFuY2UsIGtleSk7XG4gIH1cbn07XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG52YXIgZmluZCA9IEVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGw7XG52YXIgZmluZE9uZSA9IEVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3I7IC8vIE1TRWRnZSByZXNldHMgZGVmYXVsdFByZXZlbnRlZCBmbGFnIHVwb24gZGlzcGF0Y2hFdmVudCBjYWxsIGlmIGF0IGxlYXN0IG9uZSBsaXN0ZW5lciBpcyBhdHRhY2hlZFxuXG52YXIgZGVmYXVsdFByZXZlbnRlZFByZXNlcnZlZE9uRGlzcGF0Y2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBlID0gbmV3IEN1c3RvbUV2ZW50KCdCb290c3RyYXAnLCB7XG4gICAgY2FuY2VsYWJsZTogdHJ1ZVxuICB9KTtcbiAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdCb290c3RyYXAnLCBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0pO1xuICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChlKTtcbiAgcmV0dXJuIGUuZGVmYXVsdFByZXZlbnRlZDtcbn0oKTtcblxudmFyIHNjb3BlU2VsZWN0b3JSZWdleCA9IC86c2NvcGVcXGIvO1xuXG52YXIgc3VwcG9ydFNjb3BlUXVlcnkgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgdHJ5IHtcbiAgICBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJzpzY29wZSAqJyk7XG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn0oKTtcblxuaWYgKCFzdXBwb3J0U2NvcGVRdWVyeSkge1xuICBmaW5kID0gZnVuY3Rpb24gZmluZChzZWxlY3Rvcikge1xuICAgIGlmICghc2NvcGVTZWxlY3RvclJlZ2V4LnRlc3Qoc2VsZWN0b3IpKSB7XG4gICAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICB9XG5cbiAgICB2YXIgaGFzSWQgPSBCb29sZWFuKHRoaXMuaWQpO1xuXG4gICAgaWYgKCFoYXNJZCkge1xuICAgICAgdGhpcy5pZCA9IGdldFVJRCgnc2NvcGUnKTtcbiAgICB9XG5cbiAgICB2YXIgbm9kZUxpc3QgPSBudWxsO1xuXG4gICAgdHJ5IHtcbiAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IucmVwbGFjZShzY29wZVNlbGVjdG9yUmVnZXgsIFwiI1wiICsgdGhpcy5pZCk7XG4gICAgICBub2RlTGlzdCA9IHRoaXMucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICghaGFzSWQpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2lkJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVMaXN0O1xuICB9O1xuXG4gIGZpbmRPbmUgPSBmdW5jdGlvbiBmaW5kT25lKHNlbGVjdG9yKSB7XG4gICAgaWYgKCFzY29wZVNlbGVjdG9yUmVnZXgudGVzdChzZWxlY3RvcikpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICAgIH1cblxuICAgIHZhciBtYXRjaGVzID0gZmluZC5jYWxsKHRoaXMsIHNlbGVjdG9yKTtcblxuICAgIGlmICh0eXBlb2YgbWF0Y2hlc1swXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiBtYXRjaGVzWzBdO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjAuMC1hbHBoYTEpOiBkb20vZXZlbnQtaGFuZGxlci5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgJCA9IGdldGpRdWVyeSgpO1xudmFyIG5hbWVzcGFjZVJlZ2V4ID0gL1teLl0qKD89XFwuLiopXFwufC4qLztcbnZhciBzdHJpcE5hbWVSZWdleCA9IC9cXC4uKi87XG52YXIgc3RyaXBVaWRSZWdleCA9IC86OlxcZCskLztcbnZhciBldmVudFJlZ2lzdHJ5ID0ge307IC8vIEV2ZW50cyBzdG9yYWdlXG5cbnZhciB1aWRFdmVudCA9IDE7XG52YXIgY3VzdG9tRXZlbnRzID0ge1xuICBtb3VzZWVudGVyOiAnbW91c2VvdmVyJyxcbiAgbW91c2VsZWF2ZTogJ21vdXNlb3V0J1xufTtcbnZhciBuYXRpdmVFdmVudHMgPSBbJ2NsaWNrJywgJ2RibGNsaWNrJywgJ21vdXNldXAnLCAnbW91c2Vkb3duJywgJ2NvbnRleHRtZW51JywgJ21vdXNld2hlZWwnLCAnRE9NTW91c2VTY3JvbGwnLCAnbW91c2VvdmVyJywgJ21vdXNlb3V0JywgJ21vdXNlbW92ZScsICdzZWxlY3RzdGFydCcsICdzZWxlY3RlbmQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdvcmllbnRhdGlvbmNoYW5nZScsICd0b3VjaHN0YXJ0JywgJ3RvdWNobW92ZScsICd0b3VjaGVuZCcsICd0b3VjaGNhbmNlbCcsICdwb2ludGVyZG93bicsICdwb2ludGVybW92ZScsICdwb2ludGVydXAnLCAncG9pbnRlcmxlYXZlJywgJ3BvaW50ZXJjYW5jZWwnLCAnZ2VzdHVyZXN0YXJ0JywgJ2dlc3R1cmVjaGFuZ2UnLCAnZ2VzdHVyZWVuZCcsICdmb2N1cycsICdibHVyJywgJ2NoYW5nZScsICdyZXNldCcsICdzZWxlY3QnLCAnc3VibWl0JywgJ2ZvY3VzaW4nLCAnZm9jdXNvdXQnLCAnbG9hZCcsICd1bmxvYWQnLCAnYmVmb3JldW5sb2FkJywgJ3Jlc2l6ZScsICdtb3ZlJywgJ0RPTUNvbnRlbnRMb2FkZWQnLCAncmVhZHlzdGF0ZWNoYW5nZScsICdlcnJvcicsICdhYm9ydCcsICdzY3JvbGwnXTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBQcml2YXRlIG1ldGhvZHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmZ1bmN0aW9uIGdldFVpZEV2ZW50KGVsZW1lbnQsIHVpZCkge1xuICByZXR1cm4gdWlkICYmIHVpZCArIFwiOjpcIiArIHVpZEV2ZW50KysgfHwgZWxlbWVudC51aWRFdmVudCB8fCB1aWRFdmVudCsrO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudChlbGVtZW50KSB7XG4gIHZhciB1aWQgPSBnZXRVaWRFdmVudChlbGVtZW50KTtcbiAgZWxlbWVudC51aWRFdmVudCA9IHVpZDtcbiAgZXZlbnRSZWdpc3RyeVt1aWRdID0gZXZlbnRSZWdpc3RyeVt1aWRdIHx8IHt9O1xuICByZXR1cm4gZXZlbnRSZWdpc3RyeVt1aWRdO1xufVxuXG5mdW5jdGlvbiBib290c3RyYXBIYW5kbGVyKGVsZW1lbnQsIGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7XG4gICAgZXZlbnQuZGVsZWdhdGVUYXJnZXQgPSBlbGVtZW50O1xuXG4gICAgaWYgKGhhbmRsZXIub25lT2ZmKSB7XG4gICAgICBFdmVudEhhbmRsZXIub2ZmKGVsZW1lbnQsIGV2ZW50LnR5cGUsIGZuKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4uYXBwbHkoZWxlbWVudCwgW2V2ZW50XSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGJvb3RzdHJhcERlbGVnYXRpb25IYW5kbGVyKGVsZW1lbnQsIHNlbGVjdG9yLCBmbikge1xuICByZXR1cm4gZnVuY3Rpb24gaGFuZGxlcihldmVudCkge1xuICAgIHZhciBkb21FbGVtZW50cyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG5cbiAgICBmb3IgKHZhciB0YXJnZXQgPSBldmVudC50YXJnZXQ7IHRhcmdldCAmJiB0YXJnZXQgIT09IHRoaXM7IHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlKSB7XG4gICAgICBmb3IgKHZhciBpID0gZG9tRWxlbWVudHMubGVuZ3RoOyBpLS07KSB7XG4gICAgICAgIGlmIChkb21FbGVtZW50c1tpXSA9PT0gdGFyZ2V0KSB7XG4gICAgICAgICAgZXZlbnQuZGVsZWdhdGVUYXJnZXQgPSB0YXJnZXQ7XG5cbiAgICAgICAgICBpZiAoaGFuZGxlci5vbmVPZmYpIHtcbiAgICAgICAgICAgIEV2ZW50SGFuZGxlci5vZmYoZWxlbWVudCwgZXZlbnQudHlwZSwgZm4pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmbi5hcHBseSh0YXJnZXQsIFtldmVudF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBUbyBwbGVhc2UgRVNMaW50XG5cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuXG5mdW5jdGlvbiBmaW5kSGFuZGxlcihldmVudHMsIGhhbmRsZXIsIGRlbGVnYXRpb25TZWxlY3Rvcikge1xuICBpZiAoZGVsZWdhdGlvblNlbGVjdG9yID09PSB2b2lkIDApIHtcbiAgICBkZWxlZ2F0aW9uU2VsZWN0b3IgPSBudWxsO1xuICB9XG5cbiAgdmFyIHVpZEV2ZW50TGlzdCA9IE9iamVjdC5rZXlzKGV2ZW50cyk7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHVpZEV2ZW50TGlzdC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIHZhciBldmVudCA9IGV2ZW50c1t1aWRFdmVudExpc3RbaV1dO1xuXG4gICAgaWYgKGV2ZW50Lm9yaWdpbmFsSGFuZGxlciA9PT0gaGFuZGxlciAmJiBldmVudC5kZWxlZ2F0aW9uU2VsZWN0b3IgPT09IGRlbGVnYXRpb25TZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIGV2ZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVQYXJhbXMob3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25Gbikge1xuICB2YXIgZGVsZWdhdGlvbiA9IHR5cGVvZiBoYW5kbGVyID09PSAnc3RyaW5nJztcbiAgdmFyIG9yaWdpbmFsSGFuZGxlciA9IGRlbGVnYXRpb24gPyBkZWxlZ2F0aW9uRm4gOiBoYW5kbGVyOyAvLyBhbGxvdyB0byBnZXQgdGhlIG5hdGl2ZSBldmVudHMgZnJvbSBuYW1lc3BhY2VkIGV2ZW50cyAoJ2NsaWNrLmJzLmJ1dHRvbicgLS0+ICdjbGljaycpXG5cbiAgdmFyIHR5cGVFdmVudCA9IG9yaWdpbmFsVHlwZUV2ZW50LnJlcGxhY2Uoc3RyaXBOYW1lUmVnZXgsICcnKTtcbiAgdmFyIGN1c3RvbSA9IGN1c3RvbUV2ZW50c1t0eXBlRXZlbnRdO1xuXG4gIGlmIChjdXN0b20pIHtcbiAgICB0eXBlRXZlbnQgPSBjdXN0b207XG4gIH1cblxuICB2YXIgaXNOYXRpdmUgPSBuYXRpdmVFdmVudHMuaW5kZXhPZih0eXBlRXZlbnQpID4gLTE7XG5cbiAgaWYgKCFpc05hdGl2ZSkge1xuICAgIHR5cGVFdmVudCA9IG9yaWdpbmFsVHlwZUV2ZW50O1xuICB9XG5cbiAgcmV0dXJuIFtkZWxlZ2F0aW9uLCBvcmlnaW5hbEhhbmRsZXIsIHR5cGVFdmVudF07XG59XG5cbmZ1bmN0aW9uIGFkZEhhbmRsZXIoZWxlbWVudCwgb3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25Gbiwgb25lT2ZmKSB7XG4gIGlmICh0eXBlb2Ygb3JpZ2luYWxUeXBlRXZlbnQgIT09ICdzdHJpbmcnIHx8ICFlbGVtZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKCFoYW5kbGVyKSB7XG4gICAgaGFuZGxlciA9IGRlbGVnYXRpb25GbjtcbiAgICBkZWxlZ2F0aW9uRm4gPSBudWxsO1xuICB9XG5cbiAgdmFyIF9ub3JtYWxpemVQYXJhbXMgPSBub3JtYWxpemVQYXJhbXMob3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25GbiksXG4gICAgICBkZWxlZ2F0aW9uID0gX25vcm1hbGl6ZVBhcmFtc1swXSxcbiAgICAgIG9yaWdpbmFsSGFuZGxlciA9IF9ub3JtYWxpemVQYXJhbXNbMV0sXG4gICAgICB0eXBlRXZlbnQgPSBfbm9ybWFsaXplUGFyYW1zWzJdO1xuXG4gIHZhciBldmVudHMgPSBnZXRFdmVudChlbGVtZW50KTtcbiAgdmFyIGhhbmRsZXJzID0gZXZlbnRzW3R5cGVFdmVudF0gfHwgKGV2ZW50c1t0eXBlRXZlbnRdID0ge30pO1xuICB2YXIgcHJldmlvdXNGbiA9IGZpbmRIYW5kbGVyKGhhbmRsZXJzLCBvcmlnaW5hbEhhbmRsZXIsIGRlbGVnYXRpb24gPyBoYW5kbGVyIDogbnVsbCk7XG5cbiAgaWYgKHByZXZpb3VzRm4pIHtcbiAgICBwcmV2aW91c0ZuLm9uZU9mZiA9IHByZXZpb3VzRm4ub25lT2ZmICYmIG9uZU9mZjtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgdWlkID0gZ2V0VWlkRXZlbnQob3JpZ2luYWxIYW5kbGVyLCBvcmlnaW5hbFR5cGVFdmVudC5yZXBsYWNlKG5hbWVzcGFjZVJlZ2V4LCAnJykpO1xuICB2YXIgZm4gPSBkZWxlZ2F0aW9uID8gYm9vdHN0cmFwRGVsZWdhdGlvbkhhbmRsZXIoZWxlbWVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuKSA6IGJvb3RzdHJhcEhhbmRsZXIoZWxlbWVudCwgaGFuZGxlcik7XG4gIGZuLmRlbGVnYXRpb25TZWxlY3RvciA9IGRlbGVnYXRpb24gPyBoYW5kbGVyIDogbnVsbDtcbiAgZm4ub3JpZ2luYWxIYW5kbGVyID0gb3JpZ2luYWxIYW5kbGVyO1xuICBmbi5vbmVPZmYgPSBvbmVPZmY7XG4gIGZuLnVpZEV2ZW50ID0gdWlkO1xuICBoYW5kbGVyc1t1aWRdID0gZm47XG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlRXZlbnQsIGZuLCBkZWxlZ2F0aW9uKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgaGFuZGxlciwgZGVsZWdhdGlvblNlbGVjdG9yKSB7XG4gIHZhciBmbiA9IGZpbmRIYW5kbGVyKGV2ZW50c1t0eXBlRXZlbnRdLCBoYW5kbGVyLCBkZWxlZ2F0aW9uU2VsZWN0b3IpO1xuXG4gIGlmICghZm4pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZUV2ZW50LCBmbiwgQm9vbGVhbihkZWxlZ2F0aW9uU2VsZWN0b3IpKTtcbiAgZGVsZXRlIGV2ZW50c1t0eXBlRXZlbnRdW2ZuLnVpZEV2ZW50XTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTmFtZXNwYWNlZEhhbmRsZXJzKGVsZW1lbnQsIGV2ZW50cywgdHlwZUV2ZW50LCBuYW1lc3BhY2UpIHtcbiAgdmFyIHN0b3JlRWxlbWVudEV2ZW50ID0gZXZlbnRzW3R5cGVFdmVudF0gfHwge307XG4gIE9iamVjdC5rZXlzKHN0b3JlRWxlbWVudEV2ZW50KS5mb3JFYWNoKGZ1bmN0aW9uIChoYW5kbGVyS2V5KSB7XG4gICAgaWYgKGhhbmRsZXJLZXkuaW5kZXhPZihuYW1lc3BhY2UpID4gLTEpIHtcbiAgICAgIHZhciBldmVudCA9IHN0b3JlRWxlbWVudEV2ZW50W2hhbmRsZXJLZXldO1xuICAgICAgcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgZXZlbnQub3JpZ2luYWxIYW5kbGVyLCBldmVudC5kZWxlZ2F0aW9uU2VsZWN0b3IpO1xuICAgIH1cbiAgfSk7XG59XG5cbnZhciBFdmVudEhhbmRsZXIgPSB7XG4gIG9uOiBmdW5jdGlvbiBvbihlbGVtZW50LCBldmVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuKSB7XG4gICAgYWRkSGFuZGxlcihlbGVtZW50LCBldmVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuLCBmYWxzZSk7XG4gIH0sXG4gIG9uZTogZnVuY3Rpb24gb25lKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4pIHtcbiAgICBhZGRIYW5kbGVyKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4sIHRydWUpO1xuICB9LFxuICBvZmY6IGZ1bmN0aW9uIG9mZihlbGVtZW50LCBvcmlnaW5hbFR5cGVFdmVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuKSB7XG4gICAgaWYgKHR5cGVvZiBvcmlnaW5hbFR5cGVFdmVudCAhPT0gJ3N0cmluZycgfHwgIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgX25vcm1hbGl6ZVBhcmFtczIgPSBub3JtYWxpemVQYXJhbXMob3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25GbiksXG4gICAgICAgIGRlbGVnYXRpb24gPSBfbm9ybWFsaXplUGFyYW1zMlswXSxcbiAgICAgICAgb3JpZ2luYWxIYW5kbGVyID0gX25vcm1hbGl6ZVBhcmFtczJbMV0sXG4gICAgICAgIHR5cGVFdmVudCA9IF9ub3JtYWxpemVQYXJhbXMyWzJdO1xuXG4gICAgdmFyIGluTmFtZXNwYWNlID0gdHlwZUV2ZW50ICE9PSBvcmlnaW5hbFR5cGVFdmVudDtcbiAgICB2YXIgZXZlbnRzID0gZ2V0RXZlbnQoZWxlbWVudCk7XG4gICAgdmFyIGlzTmFtZXNwYWNlID0gb3JpZ2luYWxUeXBlRXZlbnQuY2hhckF0KDApID09PSAnLic7XG5cbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsSGFuZGxlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIFNpbXBsZXN0IGNhc2U6IGhhbmRsZXIgaXMgcGFzc2VkLCByZW1vdmUgdGhhdCBsaXN0ZW5lciBPTkxZLlxuICAgICAgaWYgKCFldmVudHMgfHwgIWV2ZW50c1t0eXBlRXZlbnRdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgb3JpZ2luYWxIYW5kbGVyLCBkZWxlZ2F0aW9uID8gaGFuZGxlciA6IG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc05hbWVzcGFjZSkge1xuICAgICAgT2JqZWN0LmtleXMoZXZlbnRzKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50RXZlbnQpIHtcbiAgICAgICAgcmVtb3ZlTmFtZXNwYWNlZEhhbmRsZXJzKGVsZW1lbnQsIGV2ZW50cywgZWxlbWVudEV2ZW50LCBvcmlnaW5hbFR5cGVFdmVudC5zbGljZSgxKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgc3RvcmVFbGVtZW50RXZlbnQgPSBldmVudHNbdHlwZUV2ZW50XSB8fCB7fTtcbiAgICBPYmplY3Qua2V5cyhzdG9yZUVsZW1lbnRFdmVudCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5SGFuZGxlcnMpIHtcbiAgICAgIHZhciBoYW5kbGVyS2V5ID0ga2V5SGFuZGxlcnMucmVwbGFjZShzdHJpcFVpZFJlZ2V4LCAnJyk7XG5cbiAgICAgIGlmICghaW5OYW1lc3BhY2UgfHwgb3JpZ2luYWxUeXBlRXZlbnQuaW5kZXhPZihoYW5kbGVyS2V5KSA+IC0xKSB7XG4gICAgICAgIHZhciBldmVudCA9IHN0b3JlRWxlbWVudEV2ZW50W2tleUhhbmRsZXJzXTtcbiAgICAgICAgcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgZXZlbnQub3JpZ2luYWxIYW5kbGVyLCBldmVudC5kZWxlZ2F0aW9uU2VsZWN0b3IpO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuICB0cmlnZ2VyOiBmdW5jdGlvbiB0cmlnZ2VyKGVsZW1lbnQsIGV2ZW50LCBhcmdzKSB7XG4gICAgaWYgKHR5cGVvZiBldmVudCAhPT0gJ3N0cmluZycgfHwgIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciB0eXBlRXZlbnQgPSBldmVudC5yZXBsYWNlKHN0cmlwTmFtZVJlZ2V4LCAnJyk7XG4gICAgdmFyIGluTmFtZXNwYWNlID0gZXZlbnQgIT09IHR5cGVFdmVudDtcbiAgICB2YXIgaXNOYXRpdmUgPSBuYXRpdmVFdmVudHMuaW5kZXhPZih0eXBlRXZlbnQpID4gLTE7XG4gICAgdmFyIGpRdWVyeUV2ZW50O1xuICAgIHZhciBidWJibGVzID0gdHJ1ZTtcbiAgICB2YXIgbmF0aXZlRGlzcGF0Y2ggPSB0cnVlO1xuICAgIHZhciBkZWZhdWx0UHJldmVudGVkID0gZmFsc2U7XG4gICAgdmFyIGV2dCA9IG51bGw7XG5cbiAgICBpZiAoaW5OYW1lc3BhY2UgJiYgJCkge1xuICAgICAgalF1ZXJ5RXZlbnQgPSAkLkV2ZW50KGV2ZW50LCBhcmdzKTtcbiAgICAgICQoZWxlbWVudCkudHJpZ2dlcihqUXVlcnlFdmVudCk7XG4gICAgICBidWJibGVzID0gIWpRdWVyeUV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7XG4gICAgICBuYXRpdmVEaXNwYXRjaCA9ICFqUXVlcnlFdmVudC5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO1xuICAgICAgZGVmYXVsdFByZXZlbnRlZCA9IGpRdWVyeUV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpO1xuICAgIH1cblxuICAgIGlmIChpc05hdGl2ZSkge1xuICAgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxFdmVudHMnKTtcbiAgICAgIGV2dC5pbml0RXZlbnQodHlwZUV2ZW50LCBidWJibGVzLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KGV2ZW50LCB7XG4gICAgICAgIGJ1YmJsZXM6IGJ1YmJsZXMsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgIH0gLy8gbWVyZ2UgY3VzdG9tIGluZm9ybWF0aW9uIGluIG91ciBldmVudFxuXG5cbiAgICBpZiAodHlwZW9mIGFyZ3MgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBPYmplY3Qua2V5cyhhcmdzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV2dCwga2V5LCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJnc1trZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmICghZGVmYXVsdFByZXZlbnRlZFByZXNlcnZlZE9uRGlzcGF0Y2gpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV2dCwgJ2RlZmF1bHRQcmV2ZW50ZWQnLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuYXRpdmVEaXNwYXRjaCkge1xuICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2dCk7XG4gICAgfVxuXG4gICAgaWYgKGV2dC5kZWZhdWx0UHJldmVudGVkICYmIHR5cGVvZiBqUXVlcnlFdmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGpRdWVyeUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV2dDtcbiAgfVxufTtcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUgPSAnYXN5bmNMb2FkJztcbnZhciBWRVJTSU9OID0gJzMuMi4yJztcbnZhciBEQVRBX0tFWSA9ICdjb3JldWkuYXN5bmNMb2FkJztcbnZhciBFVkVOVF9LRVkgPSBcIi5cIiArIERBVEFfS0VZO1xudmFyIERBVEFfQVBJX0tFWSA9ICcuZGF0YS1hcGknO1xudmFyIENMQVNTX05BTUVfQUNUSVZFID0gJ2MtYWN0aXZlJztcbnZhciBDTEFTU19OQU1FX05BVl9EUk9QRE9XTl9UT0dHTEUgPSAnYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUnO1xudmFyIENMQVNTX05BTUVfTkFWX0xJTksgPSAnYy1zaWRlYmFyLW5hdi1saW5rJztcbnZhciBDTEFTU19OQU1FX1NIT1cgPSAnYy1zaG93JztcbnZhciBDTEFTU19OQU1FX1ZJRVdfU0NSSVBUID0gJ3ZpZXctc2NyaXB0JztcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSA9IFwiY2xpY2tcIiArIEVWRU5UX0tFWSArIERBVEFfQVBJX0tFWTtcbnZhciBFVkVOVF9YSFJfU1RBVFVTID0gJ3hocic7XG52YXIgU0VMRUNUT1JfTkFWX0RST1BET1dOID0gJy5jLXNpZGViYXItbmF2LWRyb3Bkb3duJztcbnZhciBTRUxFQ1RPUl9OQVZfTElOSyA9ICcuYy14aHItbGluaywgLmMtc2lkZWJhci1uYXYtbGluayc7XG52YXIgU0VMRUNUT1JfTkFWX0lURU0gPSAnLmMtc2lkZWJhci1uYXYtaXRlbSc7XG52YXIgU0VMRUNUT1JfVklFV19TQ1JJUFQgPSAnLnZpZXctc2NyaXB0JztcbnZhciBEZWZhdWx0ID0ge1xuICBkZWZhdWx0UGFnZTogJ21haW4uaHRtbCcsXG4gIGVycm9yUGFnZTogJzQwNC5odG1sJyxcbiAgc3VicGFnZXNEaXJlY3Rvcnk6ICd2aWV3cy8nXG59O1xuXG52YXIgQXN5bmNMb2FkID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQXN5bmNMb2FkKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50OyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzXG5cbiAgICB2YXIgdXJsID0gbG9jYXRpb24uaGFzaC5yZXBsYWNlKC9eIy8sICcnKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5lZ2F0ZWQtY29uZGl0aW9uXG5cbiAgICBpZiAodXJsICE9PSAnJykge1xuICAgICAgdGhpcy5fc2V0VXBVcmwodXJsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0VXBVcmwodGhpcy5fY29uZmlnLmRlZmF1bHRQYWdlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9hZGRFdmVudExpc3RlbmVycygpO1xuICB9IC8vIEdldHRlcnNcblxuXG4gIHZhciBfcHJvdG8gPSBBc3luY0xvYWQucHJvdG90eXBlO1xuXG4gIC8vIFByaXZhdGVcbiAgX3Byb3RvLl9nZXRDb25maWcgPSBmdW5jdGlvbiBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgIGNvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0KSwgY29uZmlnKTtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xuXG4gIF9wcm90by5fbG9hZFBhZ2UgPSBmdW5jdGlvbiBfbG9hZFBhZ2UodXJsKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHZhciBlbGVtZW50ID0gdGhpcy5fZWxlbWVudDtcbiAgICB2YXIgY29uZmlnID0gdGhpcy5fY29uZmlnO1xuXG4gICAgdmFyIGxvYWRTY3JpcHRzID0gZnVuY3Rpb24gbG9hZFNjcmlwdHMoc3JjLCBlbGVtZW50KSB7XG4gICAgICBpZiAoZWxlbWVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIGVsZW1lbnQgPSAwO1xuICAgICAgfVxuXG4gICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgc2NyaXB0LnNyYyA9IHNyY1tlbGVtZW50XTtcbiAgICAgIHNjcmlwdC5jbGFzc05hbWUgPSBDTEFTU19OQU1FX1ZJRVdfU0NSSVBUOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbXVsdGktYXNzaWduLCB1bmljb3JuL3ByZWZlci1hZGQtZXZlbnQtbGlzdGVuZXJcblxuICAgICAgc2NyaXB0Lm9ubG9hZCA9IHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghX3RoaXMucmVhZHlTdGF0ZSB8fCBfdGhpcy5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICAgICAgaWYgKHNyYy5sZW5ndGggPiBlbGVtZW50ICsgMSkge1xuICAgICAgICAgICAgbG9hZFNjcmlwdHMoc3JjLCBlbGVtZW50ICsgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB2YXIgYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XG4gICAgICBib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgfTtcblxuICAgIHZhciByZW1vdmVTY3JpcHRzID0gZnVuY3Rpb24gcmVtb3ZlU2NyaXB0cygpIHtcbiAgICAgIHZhciBvbGRTY3JpcHRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTRUxFQ1RPUl9WSUVXX1NDUklQVCk7XG5cbiAgICAgIGlmIChvbGRTY3JpcHRzLmxlbmd0aCkge1xuICAgICAgICBvbGRTY3JpcHRzLmZvckVhY2goZnVuY3Rpb24gKG9sZFNjcmlwdCkge1xuICAgICAgICAgIG9sZFNjcmlwdC5yZW1vdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICB4aHIub3BlbignR0VUJywgY29uZmlnLnN1YnBhZ2VzRGlyZWN0b3J5ICsgdXJsKTtcbiAgICB2YXIgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoRVZFTlRfWEhSX1NUQVRVUywge1xuICAgICAgZGV0YWlsOiB7XG4gICAgICAgIHVybDogdXJsLFxuICAgICAgICBzdGF0dXM6IHhoci5zdGF0dXNcbiAgICAgIH1cbiAgICB9KTtcbiAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItYWRkLWV2ZW50LWxpc3RlbmVyXG5cbiAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBldmVudCA9IG5ldyBDdXN0b21FdmVudChFVkVOVF9YSFJfU1RBVFVTLCB7XG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgIHN0YXR1czogeGhyLnN0YXR1c1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgIHZhciB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHdyYXBwZXIuaW5uZXJIVE1MID0gcmVzdWx0LnRhcmdldC5yZXNwb25zZTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vcHJlZmVyLXNwcmVhZFxuXG4gICAgICAgIHZhciBzY3JpcHRzID0gQXJyYXkuZnJvbSh3cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NjcmlwdCcpKS5tYXAoZnVuY3Rpb24gKHNjcmlwdCkge1xuICAgICAgICAgIHJldHVybiBzY3JpcHQuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ3NyYycpLm5vZGVWYWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHdyYXBwZXIucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0JykuZm9yRWFjaChmdW5jdGlvbiAoc2NyaXB0KSB7XG4gICAgICAgICAgcmV0dXJuIHNjcmlwdC5yZW1vdmUoc2NyaXB0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZCh3cmFwcGVyKTtcbiAgICAgICAgcmVtb3ZlU2NyaXB0cygpO1xuXG4gICAgICAgIGlmIChzY3JpcHRzLmxlbmd0aCkge1xuICAgICAgICAgIGxvYWRTY3JpcHRzKHNjcmlwdHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSB1cmw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGNvbmZpZy5lcnJvclBhZ2U7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHhoci5zZW5kKCk7XG4gIH07XG5cbiAgX3Byb3RvLl9zZXRVcFVybCA9IGZ1bmN0aW9uIF9zZXRVcFVybCh1cmwpIHtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgvXlxcLy8sICcnKS5zcGxpdCgnPycpWzBdOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG5cbiAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1JfTkFWX0xJTkspKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUpO1xuICAgIH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG5cbiAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1JfTkFWX0xJTkspKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUpO1xuICAgIH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG5cbiAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1JfTkFWX0RST1BET1dOKSkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyk7XG4gICAgfSk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcblxuICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTRUxFQ1RPUl9OQVZfRFJPUERPV04pKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG4gICAgICBpZiAoQXJyYXkuZnJvbShlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJhW2hyZWYqPVxcXCJcIiArIHVybCArIFwiXFxcIl1cIikpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVyk7XG4gICAgICB9XG4gICAgfSk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcblxuICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTRUxFQ1RPUl9OQVZfSVRFTSArIFwiIGFbaHJlZio9XFxcIlwiICsgdXJsICsgXCJcXFwiXVwiKSkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2xvYWRQYWdlKHVybCk7XG4gIH07XG5cbiAgX3Byb3RvLl9sb2FkQmxhbmsgPSBmdW5jdGlvbiBfbG9hZEJsYW5rKHVybCkge1xuICAgIHdpbmRvdy5vcGVuKHVybCk7XG4gIH07XG5cbiAgX3Byb3RvLl9sb2FkVG9wID0gZnVuY3Rpb24gX2xvYWRUb3AodXJsKSB7XG4gICAgd2luZG93LmxvY2F0aW9uID0gdXJsO1xuICB9O1xuXG4gIF9wcm90by5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShsaW5rKSB7XG4gICAgaWYgKGxpbmsuaHJlZiAhPT0gJyMnKSB7XG4gICAgICBpZiAodHlwZW9mIGxpbmsuZGF0YXNldC50b2dnbGUgPT09ICd1bmRlZmluZWQnIHx8IGxpbmsuZGF0YXNldC50b2dnbGUgPT09ICdudWxsJykge1xuICAgICAgICBpZiAobGluay50YXJnZXQgPT09ICdfdG9wJykge1xuICAgICAgICAgIHRoaXMuX2xvYWRUb3AobGluay5ocmVmKTtcbiAgICAgICAgfSBlbHNlIGlmIChsaW5rLnRhcmdldCA9PT0gJ19ibGFuaycpIHtcbiAgICAgICAgICB0aGlzLl9sb2FkQmxhbmsobGluay5ocmVmKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9zZXRVcFVybChsaW5rLmdldEF0dHJpYnV0ZSgnaHJlZicpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2FkZEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24gX2FkZEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSwgU0VMRUNUT1JfTkFWX0xJTkssIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHZhciBsaW5rID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICBpZiAoIWxpbmsuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfTkFWX0xJTkspKSB7XG4gICAgICAgIGxpbmsgPSBsaW5rLmNsb3Nlc3QoU0VMRUNUT1JfTkFWX0xJTkspO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWxpbmsuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfTkFWX0RST1BET1dOX1RPR0dMRSkgJiYgbGluay5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSAhPT0gJyMnKSB7XG4gICAgICAgIF90aGlzMi5fdXBkYXRlKGxpbmspO1xuICAgICAgfVxuICAgIH0pO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgQXN5bmNMb2FkLl9hc3luY0xvYWRJbnRlcmZhY2UgPSBmdW5jdGlvbiBfYXN5bmNMb2FkSW50ZXJmYWNlKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZKTtcblxuICAgIHZhciBfY29uZmlnID0gdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnO1xuXG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICBkYXRhID0gbmV3IEFzeW5jTG9hZChlbGVtZW50LCBfY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtjb25maWddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgIH1cblxuICAgICAgZGF0YVtjb25maWddKCk7XG4gICAgfVxuICB9O1xuXG4gIEFzeW5jTG9hZC5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBBc3luY0xvYWQuX2FzeW5jTG9hZEludGVyZmFjZSh0aGlzLCBjb25maWcpO1xuICAgIH0pO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhBc3luY0xvYWQsIG51bGwsIFt7XG4gICAga2V5OiBcIlZFUlNJT05cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBWRVJTSU9OO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQXN5bmNMb2FkO1xufSgpO1xuXG52YXIgJCQxID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuYXN5bmNMb2FkIHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuaWYgKCQkMSkge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUID0gJCQxLmZuW05BTUVdO1xuICAkJDEuZm5bTkFNRV0gPSBBc3luY0xvYWQualF1ZXJ5SW50ZXJmYWNlO1xuICAkJDEuZm5bTkFNRV0uQ29uc3RydWN0b3IgPSBBc3luY0xvYWQ7XG5cbiAgJCQxLmZuW05BTUVdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJCQxLmZuW05BTUVdID0gSlFVRVJZX05PX0NPTkZMSUNUO1xuICAgIHJldHVybiBBc3luY0xvYWQualF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTkFNRSQxID0gJ2FsZXJ0JztcbnZhciBWRVJTSU9OJDEgPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJDEgPSAnY29yZXVpLmFsZXJ0JztcbnZhciBFVkVOVF9LRVkkMSA9IFwiLlwiICsgREFUQV9LRVkkMTtcbnZhciBEQVRBX0FQSV9LRVkkMSA9ICcuZGF0YS1hcGknO1xudmFyIFNFTEVDVE9SX0RJU01JU1MgPSAnW2RhdGEtZGlzbWlzcz1cImFsZXJ0XCJdJztcbnZhciBFVkVOVF9DTE9TRSA9IFwiY2xvc2VcIiArIEVWRU5UX0tFWSQxO1xudmFyIEVWRU5UX0NMT1NFRCA9IFwiY2xvc2VkXCIgKyBFVkVOVF9LRVkkMTtcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSQxID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJDEgKyBEQVRBX0FQSV9LRVkkMTtcbnZhciBDTEFTU05BTUVfQUxFUlQgPSAnYWxlcnQnO1xudmFyIENMQVNTTkFNRV9GQURFID0gJ2ZhZGUnO1xudmFyIENMQVNTTkFNRV9TSE9XID0gJ3Nob3cnO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBBbGVydCA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEFsZXJ0KGVsZW1lbnQpIHtcbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcblxuICAgIGlmICh0aGlzLl9lbGVtZW50KSB7XG4gICAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkMSwgdGhpcyk7XG4gICAgfVxuICB9IC8vIEdldHRlcnNcblxuXG4gIHZhciBfcHJvdG8gPSBBbGVydC5wcm90b3R5cGU7XG5cbiAgLy8gUHVibGljXG4gIF9wcm90by5jbG9zZSA9IGZ1bmN0aW9uIGNsb3NlKGVsZW1lbnQpIHtcbiAgICB2YXIgcm9vdEVsZW1lbnQgPSBlbGVtZW50ID8gdGhpcy5fZ2V0Um9vdEVsZW1lbnQoZWxlbWVudCkgOiB0aGlzLl9lbGVtZW50O1xuXG4gICAgdmFyIGN1c3RvbUV2ZW50ID0gdGhpcy5fdHJpZ2dlckNsb3NlRXZlbnQocm9vdEVsZW1lbnQpO1xuXG4gICAgaWYgKGN1c3RvbUV2ZW50ID09PSBudWxsIHx8IGN1c3RvbUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZW1vdmVFbGVtZW50KHJvb3RFbGVtZW50KTtcbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgRGF0YS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDEpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBudWxsO1xuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fZ2V0Um9vdEVsZW1lbnQgPSBmdW5jdGlvbiBfZ2V0Um9vdEVsZW1lbnQoZWxlbWVudCkge1xuICAgIHJldHVybiBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKGVsZW1lbnQpIHx8IGVsZW1lbnQuY2xvc2VzdChcIi5cIiArIENMQVNTTkFNRV9BTEVSVCk7XG4gIH07XG5cbiAgX3Byb3RvLl90cmlnZ2VyQ2xvc2VFdmVudCA9IGZ1bmN0aW9uIF90cmlnZ2VyQ2xvc2VFdmVudChlbGVtZW50KSB7XG4gICAgcmV0dXJuIEV2ZW50SGFuZGxlci50cmlnZ2VyKGVsZW1lbnQsIEVWRU5UX0NMT1NFKTtcbiAgfTtcblxuICBfcHJvdG8uX3JlbW92ZUVsZW1lbnQgPSBmdW5jdGlvbiBfcmVtb3ZlRWxlbWVudChlbGVtZW50KSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU05BTUVfU0hPVyk7XG5cbiAgICBpZiAoIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTTkFNRV9GQURFKSkge1xuICAgICAgdGhpcy5fZGVzdHJveUVsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoZWxlbWVudCk7XG4gICAgRXZlbnRIYW5kbGVyLm9uZShlbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLl9kZXN0cm95RWxlbWVudChlbGVtZW50KTtcbiAgICB9KTtcbiAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZChlbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICB9O1xuXG4gIF9wcm90by5fZGVzdHJveUVsZW1lbnQgPSBmdW5jdGlvbiBfZGVzdHJveUVsZW1lbnQoZWxlbWVudCkge1xuICAgIGlmIChlbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgIGVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50KTtcbiAgICB9XG5cbiAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihlbGVtZW50LCBFVkVOVF9DTE9TRUQpO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgQWxlcnQualF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24galF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGRhdGEgPSBEYXRhLmdldERhdGEodGhpcywgREFUQV9LRVkkMSk7XG5cbiAgICAgIGlmICghZGF0YSkge1xuICAgICAgICBkYXRhID0gbmV3IEFsZXJ0KHRoaXMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29uZmlnID09PSAnY2xvc2UnKSB7XG4gICAgICAgIGRhdGFbY29uZmlnXSh0aGlzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBBbGVydC5oYW5kbGVEaXNtaXNzID0gZnVuY3Rpb24gaGFuZGxlRGlzbWlzcyhhbGVydEluc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG5cbiAgICAgIGFsZXJ0SW5zdGFuY2UuY2xvc2UodGhpcyk7XG4gICAgfTtcbiAgfTtcblxuICBBbGVydC5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDEpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhBbGVydCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kMTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQWxlcnQ7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSQxLCBTRUxFQ1RPUl9ESVNNSVNTLCBBbGVydC5oYW5kbGVEaXNtaXNzKG5ldyBBbGVydCgpKSk7XG52YXIgJCQyID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuYWxlcnQgdG8galF1ZXJ5IG9ubHkgaWYgalF1ZXJ5IGlzIHByZXNlbnRcbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkMikge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJDEgPSAkJDIuZm5bTkFNRSQxXTtcbiAgJCQyLmZuW05BTUUkMV0gPSBBbGVydC5qUXVlcnlJbnRlcmZhY2U7XG4gICQkMi5mbltOQU1FJDFdLkNvbnN0cnVjdG9yID0gQWxlcnQ7XG5cbiAgJCQyLmZuW05BTUUkMV0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkJDIuZm5bTkFNRSQxXSA9IEpRVUVSWV9OT19DT05GTElDVCQxO1xuICAgIHJldHVybiBBbGVydC5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMC4wLWFscGhhMSk6IGRvbS9zZWxlY3Rvci1lbmdpbmUuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTk9ERV9URVhUID0gMztcbnZhciBTZWxlY3RvckVuZ2luZSA9IHtcbiAgbWF0Y2hlczogZnVuY3Rpb24gbWF0Y2hlcyhlbGVtZW50LCBzZWxlY3Rvcikge1xuICAgIHJldHVybiBlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpO1xuICB9LFxuICBmaW5kOiBmdW5jdGlvbiBmaW5kJDEoc2VsZWN0b3IsIGVsZW1lbnQpIHtcbiAgICB2YXIgX3JlZjtcblxuICAgIGlmIChlbGVtZW50ID09PSB2b2lkIDApIHtcbiAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIChfcmVmID0gW10pLmNvbmNhdC5hcHBseShfcmVmLCBmaW5kLmNhbGwoZWxlbWVudCwgc2VsZWN0b3IpKTtcbiAgfSxcbiAgZmluZE9uZTogZnVuY3Rpb24gZmluZE9uZSQxKHNlbGVjdG9yLCBlbGVtZW50KSB7XG4gICAgaWYgKGVsZW1lbnQgPT09IHZvaWQgMCkge1xuICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmluZE9uZS5jYWxsKGVsZW1lbnQsIHNlbGVjdG9yKTtcbiAgfSxcbiAgY2hpbGRyZW46IGZ1bmN0aW9uIGNoaWxkcmVuKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgdmFyIF9yZWYyO1xuXG4gICAgdmFyIGNoaWxkcmVuID0gKF9yZWYyID0gW10pLmNvbmNhdC5hcHBseShfcmVmMiwgZWxlbWVudC5jaGlsZHJlbik7XG5cbiAgICByZXR1cm4gY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgcmV0dXJuIGNoaWxkLm1hdGNoZXMoc2VsZWN0b3IpO1xuICAgIH0pO1xuICB9LFxuICBwYXJlbnRzOiBmdW5jdGlvbiBwYXJlbnRzKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgdmFyIHBhcmVudHMgPSBbXTtcbiAgICB2YXIgYW5jZXN0b3IgPSBlbGVtZW50LnBhcmVudE5vZGU7XG5cbiAgICB3aGlsZSAoYW5jZXN0b3IgJiYgYW5jZXN0b3Iubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFICYmIGFuY2VzdG9yLm5vZGVUeXBlICE9PSBOT0RFX1RFWFQpIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoZXMoYW5jZXN0b3IsIHNlbGVjdG9yKSkge1xuICAgICAgICBwYXJlbnRzLnB1c2goYW5jZXN0b3IpO1xuICAgICAgfVxuXG4gICAgICBhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudE5vZGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudHM7XG4gIH0sXG4gIHByZXY6IGZ1bmN0aW9uIHByZXYoZWxlbWVudCwgc2VsZWN0b3IpIHtcbiAgICB2YXIgcHJldmlvdXMgPSBlbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG5cbiAgICB3aGlsZSAocHJldmlvdXMpIHtcbiAgICAgIGlmIChwcmV2aW91cy5tYXRjaGVzKHNlbGVjdG9yKSkge1xuICAgICAgICByZXR1cm4gW3ByZXZpb3VzXTtcbiAgICAgIH1cblxuICAgICAgcHJldmlvdXMgPSBwcmV2aW91cy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfSxcbiAgbmV4dDogZnVuY3Rpb24gbmV4dChlbGVtZW50LCBzZWxlY3Rvcikge1xuICAgIHZhciBuZXh0ID0gZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmc7XG5cbiAgICB3aGlsZSAobmV4dCkge1xuICAgICAgaWYgKHRoaXMubWF0Y2hlcyhuZXh0LCBzZWxlY3RvcikpIHtcbiAgICAgICAgcmV0dXJuIFtuZXh0XTtcbiAgICAgIH1cblxuICAgICAgbmV4dCA9IG5leHQubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfVxufTtcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUkMiA9ICdidXR0b24nO1xudmFyIFZFUlNJT04kMiA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkMiA9ICdjb3JldWkuYnV0dG9uJztcbnZhciBFVkVOVF9LRVkkMiA9IFwiLlwiICsgREFUQV9LRVkkMjtcbnZhciBEQVRBX0FQSV9LRVkkMiA9ICcuZGF0YS1hcGknO1xudmFyIENMQVNTX05BTUVfQUNUSVZFJDEgPSAnYWN0aXZlJztcbnZhciBDTEFTU19OQU1FX0RJU0FCTEVEID0gJ2Rpc2FibGVkJztcbnZhciBDTEFTU19OQU1FX0ZPQ1VTID0gJ2ZvY3VzJztcbnZhciBTRUxFQ1RPUl9EQVRBX1RPR0dMRV9DQVJST1QgPSAnW2RhdGEtdG9nZ2xlXj1cImJ1dHRvblwiXSc7XG52YXIgU0VMRUNUT1JfREFUQV9UT0dHTEUgPSAnW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSc7XG52YXIgU0VMRUNUT1JfSU5QVVQgPSAnaW5wdXQ6bm90KFt0eXBlPVwiaGlkZGVuXCJdKSc7XG52YXIgU0VMRUNUT1JfQUNUSVZFID0gJy5hY3RpdmUnO1xudmFyIFNFTEVDVE9SX0JVVFRPTiA9ICcuYnRuJztcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSQyID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJDIgKyBEQVRBX0FQSV9LRVkkMjtcbnZhciBFVkVOVF9GT0NVU19EQVRBX0FQSSA9IFwiZm9jdXNcIiArIEVWRU5UX0tFWSQyICsgREFUQV9BUElfS0VZJDI7XG52YXIgRVZFTlRfQkxVUl9EQVRBX0FQSSA9IFwiYmx1clwiICsgRVZFTlRfS0VZJDIgKyBEQVRBX0FQSV9LRVkkMjtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgQnV0dG9uID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQnV0dG9uKGVsZW1lbnQpIHtcbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkMiwgdGhpcyk7XG4gIH0gLy8gR2V0dGVyc1xuXG5cbiAgdmFyIF9wcm90byA9IEJ1dHRvbi5wcm90b3R5cGU7XG5cbiAgLy8gUHVibGljXG4gIF9wcm90by50b2dnbGUgPSBmdW5jdGlvbiB0b2dnbGUoKSB7XG4gICAgdmFyIHRyaWdnZXJDaGFuZ2VFdmVudCA9IHRydWU7XG4gICAgdmFyIGFkZEFyaWFQcmVzc2VkID0gdHJ1ZTtcblxuICAgIHZhciByb290RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY2xvc2VzdChTRUxFQ1RPUl9EQVRBX1RPR0dMRSk7XG5cbiAgICBpZiAocm9vdEVsZW1lbnQpIHtcbiAgICAgIHZhciBpbnB1dCA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfSU5QVVQsIHRoaXMuX2VsZW1lbnQpO1xuXG4gICAgICBpZiAoaW5wdXQgJiYgaW5wdXQudHlwZSA9PT0gJ3JhZGlvJykge1xuICAgICAgICBpZiAoaW5wdXQuY2hlY2tlZCAmJiB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQxKSkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2VFdmVudCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBhY3RpdmVFbGVtZW50ID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9BQ1RJVkUsIHJvb3RFbGVtZW50KTtcblxuICAgICAgICAgIGlmIChhY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUkMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2VFdmVudCkge1xuICAgICAgICAgIGlmIChpbnB1dC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgfHwgcm9vdEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpIHx8IGlucHV0LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0RJU0FCTEVEKSB8fCByb290RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9ESVNBQkxFRCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbnB1dC5jaGVja2VkID0gIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfQUNUSVZFJDEpO1xuICAgICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKGlucHV0LCAnY2hhbmdlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgICBhZGRBcmlhUHJlc3NlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChhZGRBcmlhUHJlc3NlZCkge1xuICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsICF0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQxKSk7XG4gICAgfVxuXG4gICAgaWYgKHRyaWdnZXJDaGFuZ2VFdmVudCkge1xuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKENMQVNTX05BTUVfQUNUSVZFJDEpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgRGF0YS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDIpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBudWxsO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgQnV0dG9uLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJDIpO1xuXG4gICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgZGF0YSA9IG5ldyBCdXR0b24odGhpcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcgPT09ICd0b2dnbGUnKSB7XG4gICAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIEJ1dHRvbi5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDIpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhCdXR0b24sIG51bGwsIFt7XG4gICAga2V5OiBcIlZFUlNJT05cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBWRVJTSU9OJDI7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEJ1dHRvbjtcbn0oKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDIsIFNFTEVDVE9SX0RBVEFfVE9HR0xFX0NBUlJPVCwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIHZhciBidXR0b24gPSBldmVudC50YXJnZXQuY2xvc2VzdChTRUxFQ1RPUl9CVVRUT04pO1xuICB2YXIgZGF0YSA9IERhdGEuZ2V0RGF0YShidXR0b24sIERBVEFfS0VZJDIpO1xuXG4gIGlmICghZGF0YSkge1xuICAgIGRhdGEgPSBuZXcgQnV0dG9uKGJ1dHRvbik7XG4gIH1cblxuICBkYXRhLnRvZ2dsZSgpO1xufSk7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0ZPQ1VTX0RBVEFfQVBJLCBTRUxFQ1RPUl9EQVRBX1RPR0dMRV9DQVJST1QsIGZ1bmN0aW9uIChldmVudCkge1xuICB2YXIgYnV0dG9uID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoU0VMRUNUT1JfQlVUVE9OKTtcblxuICBpZiAoYnV0dG9uKSB7XG4gICAgYnV0dG9uLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9GT0NVUyk7XG4gIH1cbn0pO1xuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9CTFVSX0RBVEFfQVBJLCBTRUxFQ1RPUl9EQVRBX1RPR0dMRV9DQVJST1QsIGZ1bmN0aW9uIChldmVudCkge1xuICB2YXIgYnV0dG9uID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoU0VMRUNUT1JfQlVUVE9OKTtcblxuICBpZiAoYnV0dG9uKSB7XG4gICAgYnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9GT0NVUyk7XG4gIH1cbn0pO1xudmFyICQkMyA9IGdldGpRdWVyeSgpO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGpRdWVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBhZGQgLmJ1dHRvbiB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCQzKSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkMiA9ICQkMy5mbltOQU1FJDJdO1xuICAkJDMuZm5bTkFNRSQyXSA9IEJ1dHRvbi5qUXVlcnlJbnRlcmZhY2U7XG4gICQkMy5mbltOQU1FJDJdLkNvbnN0cnVjdG9yID0gQnV0dG9uO1xuXG4gICQkMy5mbltOQU1FJDJdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJCQzLmZuW05BTUUkMl0gPSBKUVVFUllfTk9fQ09ORkxJQ1QkMjtcbiAgICByZXR1cm4gQnV0dG9uLmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4wLjAtYWxwaGExKTogZG9tL21hbmlwdWxhdG9yLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplRGF0YSh2YWwpIHtcbiAgaWYgKHZhbCA9PT0gJ3RydWUnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodmFsID09PSAnZmFsc2UnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHZhbCA9PT0gTnVtYmVyKHZhbCkudG9TdHJpbmcoKSkge1xuICAgIHJldHVybiBOdW1iZXIodmFsKTtcbiAgfVxuXG4gIGlmICh2YWwgPT09ICcnIHx8IHZhbCA9PT0gJ251bGwnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gdmFsO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVEYXRhS2V5KGtleSkge1xuICByZXR1cm4ga2V5LnJlcGxhY2UoL1tBLVpdL2csIGZ1bmN0aW9uIChjaHIpIHtcbiAgICByZXR1cm4gXCItXCIgKyBjaHIudG9Mb3dlckNhc2UoKTtcbiAgfSk7XG59XG5cbnZhciBNYW5pcHVsYXRvciA9IHtcbiAgc2V0RGF0YUF0dHJpYnV0ZTogZnVuY3Rpb24gc2V0RGF0YUF0dHJpYnV0ZShlbGVtZW50LCBrZXksIHZhbHVlKSB7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLVwiICsgbm9ybWFsaXplRGF0YUtleShrZXkpLCB2YWx1ZSk7XG4gIH0sXG4gIHJlbW92ZURhdGFBdHRyaWJ1dGU6IGZ1bmN0aW9uIHJlbW92ZURhdGFBdHRyaWJ1dGUoZWxlbWVudCwga2V5KSB7XG4gICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLVwiICsgbm9ybWFsaXplRGF0YUtleShrZXkpKTtcbiAgfSxcbiAgZ2V0RGF0YUF0dHJpYnV0ZXM6IGZ1bmN0aW9uIGdldERhdGFBdHRyaWJ1dGVzKGVsZW1lbnQpIHtcbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICB2YXIgYXR0cmlidXRlcyA9IF9vYmplY3RTcHJlYWQyKHt9LCBlbGVtZW50LmRhdGFzZXQpO1xuXG4gICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICBhdHRyaWJ1dGVzW2tleV0gPSBub3JtYWxpemVEYXRhKGF0dHJpYnV0ZXNba2V5XSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGF0dHJpYnV0ZXM7XG4gIH0sXG4gIGdldERhdGFBdHRyaWJ1dGU6IGZ1bmN0aW9uIGdldERhdGFBdHRyaWJ1dGUoZWxlbWVudCwga2V5KSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZURhdGEoZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJkYXRhLVwiICsgbm9ybWFsaXplRGF0YUtleShrZXkpKSk7XG4gIH0sXG4gIG9mZnNldDogZnVuY3Rpb24gb2Zmc2V0KGVsZW1lbnQpIHtcbiAgICB2YXIgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRvcDogcmVjdC50b3AgKyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCxcbiAgICAgIGxlZnQ6IHJlY3QubGVmdCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdFxuICAgIH07XG4gIH0sXG4gIHBvc2l0aW9uOiBmdW5jdGlvbiBwb3NpdGlvbihlbGVtZW50KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRvcDogZWxlbWVudC5vZmZzZXRUb3AsXG4gICAgICBsZWZ0OiBlbGVtZW50Lm9mZnNldExlZnRcbiAgICB9O1xuICB9LFxuICB0b2dnbGVDbGFzczogZnVuY3Rpb24gdG9nZ2xlQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpIHtcbiAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJDMgPSAnY2Fyb3VzZWwnO1xudmFyIFZFUlNJT04kMyA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkMyA9ICdjb3JldWkuY2Fyb3VzZWwnO1xudmFyIEVWRU5UX0tFWSQzID0gXCIuXCIgKyBEQVRBX0tFWSQzO1xudmFyIERBVEFfQVBJX0tFWSQzID0gJy5kYXRhLWFwaSc7XG52YXIgQVJST1dfTEVGVF9LRVkgPSAnQXJyb3dMZWZ0JztcbnZhciBBUlJPV19SSUdIVF9LRVkgPSAnQXJyb3dSaWdodCc7XG52YXIgVE9VQ0hFVkVOVF9DT01QQVRfV0FJVCA9IDUwMDsgLy8gVGltZSBmb3IgbW91c2UgY29tcGF0IGV2ZW50cyB0byBmaXJlIGFmdGVyIHRvdWNoXG5cbnZhciBTV0lQRV9USFJFU0hPTEQgPSA0MDtcbnZhciBEZWZhdWx0JDEgPSB7XG4gIGludGVydmFsOiA1MDAwLFxuICBrZXlib2FyZDogdHJ1ZSxcbiAgc2xpZGU6IGZhbHNlLFxuICBwYXVzZTogJ2hvdmVyJyxcbiAgd3JhcDogdHJ1ZSxcbiAgdG91Y2g6IHRydWVcbn07XG52YXIgRGVmYXVsdFR5cGUgPSB7XG4gIGludGVydmFsOiAnKG51bWJlcnxib29sZWFuKScsXG4gIGtleWJvYXJkOiAnYm9vbGVhbicsXG4gIHNsaWRlOiAnKGJvb2xlYW58c3RyaW5nKScsXG4gIHBhdXNlOiAnKHN0cmluZ3xib29sZWFuKScsXG4gIHdyYXA6ICdib29sZWFuJyxcbiAgdG91Y2g6ICdib29sZWFuJ1xufTtcbnZhciBESVJFQ1RJT05fTkVYVCA9ICduZXh0JztcbnZhciBESVJFQ1RJT05fUFJFViA9ICdwcmV2JztcbnZhciBESVJFQ1RJT05fTEVGVCA9ICdsZWZ0JztcbnZhciBESVJFQ1RJT05fUklHSFQgPSAncmlnaHQnO1xudmFyIEVWRU5UX1NMSURFID0gXCJzbGlkZVwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfU0xJRCA9IFwic2xpZFwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfS0VZRE9XTiA9IFwia2V5ZG93blwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfTU9VU0VFTlRFUiA9IFwibW91c2VlbnRlclwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfTU9VU0VMRUFWRSA9IFwibW91c2VsZWF2ZVwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfVE9VQ0hTVEFSVCA9IFwidG91Y2hzdGFydFwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfVE9VQ0hNT1ZFID0gXCJ0b3VjaG1vdmVcIiArIEVWRU5UX0tFWSQzO1xudmFyIEVWRU5UX1RPVUNIRU5EID0gXCJ0b3VjaGVuZFwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfUE9JTlRFUkRPV04gPSBcInBvaW50ZXJkb3duXCIgKyBFVkVOVF9LRVkkMztcbnZhciBFVkVOVF9QT0lOVEVSVVAgPSBcInBvaW50ZXJ1cFwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfRFJBR19TVEFSVCA9IFwiZHJhZ3N0YXJ0XCIgKyBFVkVOVF9LRVkkMztcbnZhciBFVkVOVF9MT0FEX0RBVEFfQVBJID0gXCJsb2FkXCIgKyBFVkVOVF9LRVkkMyArIERBVEFfQVBJX0tFWSQzO1xudmFyIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDMgPSBcImNsaWNrXCIgKyBFVkVOVF9LRVkkMyArIERBVEFfQVBJX0tFWSQzO1xudmFyIENMQVNTX05BTUVfQ0FST1VTRUwgPSAnY2Fyb3VzZWwnO1xudmFyIENMQVNTX05BTUVfQUNUSVZFJDIgPSAnYWN0aXZlJztcbnZhciBDTEFTU19OQU1FX1NMSURFID0gJ3NsaWRlJztcbnZhciBDTEFTU19OQU1FX1JJR0hUID0gJ2Nhcm91c2VsLWl0ZW0tcmlnaHQnO1xudmFyIENMQVNTX05BTUVfTEVGVCA9ICdjYXJvdXNlbC1pdGVtLWxlZnQnO1xudmFyIENMQVNTX05BTUVfTkVYVCA9ICdjYXJvdXNlbC1pdGVtLW5leHQnO1xudmFyIENMQVNTX05BTUVfUFJFViA9ICdjYXJvdXNlbC1pdGVtLXByZXYnO1xudmFyIENMQVNTX05BTUVfUE9JTlRFUl9FVkVOVCA9ICdwb2ludGVyLWV2ZW50JztcbnZhciBTRUxFQ1RPUl9BQ1RJVkUkMSA9ICcuYWN0aXZlJztcbnZhciBTRUxFQ1RPUl9BQ1RJVkVfSVRFTSA9ICcuYWN0aXZlLmNhcm91c2VsLWl0ZW0nO1xudmFyIFNFTEVDVE9SX0lURU0gPSAnLmNhcm91c2VsLWl0ZW0nO1xudmFyIFNFTEVDVE9SX0lURU1fSU1HID0gJy5jYXJvdXNlbC1pdGVtIGltZyc7XG52YXIgU0VMRUNUT1JfTkVYVF9QUkVWID0gJy5jYXJvdXNlbC1pdGVtLW5leHQsIC5jYXJvdXNlbC1pdGVtLXByZXYnO1xudmFyIFNFTEVDVE9SX0lORElDQVRPUlMgPSAnLmNhcm91c2VsLWluZGljYXRvcnMnO1xudmFyIFNFTEVDVE9SX0RBVEFfU0xJREUgPSAnW2RhdGEtc2xpZGVdLCBbZGF0YS1zbGlkZS10b10nO1xudmFyIFNFTEVDVE9SX0RBVEFfUklERSA9ICdbZGF0YS1yaWRlPVwiY2Fyb3VzZWxcIl0nO1xudmFyIFBvaW50ZXJUeXBlID0ge1xuICBUT1VDSDogJ3RvdWNoJyxcbiAgUEVOOiAncGVuJ1xufTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgQ2Fyb3VzZWwgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBDYXJvdXNlbChlbGVtZW50LCBjb25maWcpIHtcbiAgICB0aGlzLl9pdGVtcyA9IG51bGw7XG4gICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX2lzUGF1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5faXNTbGlkaW5nID0gZmFsc2U7XG4gICAgdGhpcy50b3VjaFRpbWVvdXQgPSBudWxsO1xuICAgIHRoaXMudG91Y2hTdGFydFggPSAwO1xuICAgIHRoaXMudG91Y2hEZWx0YVggPSAwO1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX2luZGljYXRvcnNFbGVtZW50ID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9JTkRJQ0FUT1JTLCB0aGlzLl9lbGVtZW50KTtcbiAgICB0aGlzLl90b3VjaFN1cHBvcnRlZCA9ICdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAwO1xuICAgIHRoaXMuX3BvaW50ZXJFdmVudCA9IEJvb2xlYW4od2luZG93LlBvaW50ZXJFdmVudCB8fCB3aW5kb3cuTVNQb2ludGVyRXZlbnQpO1xuXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQzLCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gQ2Fyb3VzZWwucHJvdG90eXBlO1xuXG4gIC8vIFB1YmxpY1xuICBfcHJvdG8ubmV4dCA9IGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgaWYgKCF0aGlzLl9pc1NsaWRpbmcpIHtcbiAgICAgIHRoaXMuX3NsaWRlKERJUkVDVElPTl9ORVhUKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLm5leHRXaGVuVmlzaWJsZSA9IGZ1bmN0aW9uIG5leHRXaGVuVmlzaWJsZSgpIHtcbiAgICAvLyBEb24ndCBjYWxsIG5leHQgd2hlbiB0aGUgcGFnZSBpc24ndCB2aXNpYmxlXG4gICAgLy8gb3IgdGhlIGNhcm91c2VsIG9yIGl0cyBwYXJlbnQgaXNuJ3QgdmlzaWJsZVxuICAgIGlmICghZG9jdW1lbnQuaGlkZGVuICYmIGlzVmlzaWJsZSh0aGlzLl9lbGVtZW50KSkge1xuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5wcmV2ID0gZnVuY3Rpb24gcHJldigpIHtcbiAgICBpZiAoIXRoaXMuX2lzU2xpZGluZykge1xuICAgICAgdGhpcy5fc2xpZGUoRElSRUNUSU9OX1BSRVYpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8ucGF1c2UgPSBmdW5jdGlvbiBwYXVzZShldmVudCkge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHRoaXMuX2lzUGF1c2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9ORVhUX1BSRVYsIHRoaXMuX2VsZW1lbnQpKSB7XG4gICAgICB0cmlnZ2VyVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50KTtcbiAgICAgIHRoaXMuY3ljbGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7XG4gICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICB9O1xuXG4gIF9wcm90by5jeWNsZSA9IGZ1bmN0aW9uIGN5Y2xlKGV2ZW50KSB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgdGhpcy5faXNQYXVzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faW50ZXJ2YWwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpO1xuICAgICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb25maWcgJiYgdGhpcy5fY29uZmlnLmludGVydmFsICYmICF0aGlzLl9pc1BhdXNlZCkge1xuICAgICAgdGhpcy5faW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID8gdGhpcy5uZXh0V2hlblZpc2libGUgOiB0aGlzLm5leHQpLmJpbmQodGhpcyksIHRoaXMuX2NvbmZpZy5pbnRlcnZhbCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by50byA9IGZ1bmN0aW9uIHRvKGluZGV4KSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX0FDVElWRV9JVEVNLCB0aGlzLl9lbGVtZW50KTtcblxuICAgIHZhciBhY3RpdmVJbmRleCA9IHRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9hY3RpdmVFbGVtZW50KTtcblxuICAgIGlmIChpbmRleCA+IHRoaXMuX2l0ZW1zLmxlbmd0aCAtIDEgfHwgaW5kZXggPCAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lzU2xpZGluZykge1xuICAgICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBFVkVOVF9TTElELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfdGhpcy50byhpbmRleCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYWN0aXZlSW5kZXggPT09IGluZGV4KSB7XG4gICAgICB0aGlzLnBhdXNlKCk7XG4gICAgICB0aGlzLmN5Y2xlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGRpcmVjdGlvbiA9IGluZGV4ID4gYWN0aXZlSW5kZXggPyBESVJFQ1RJT05fTkVYVCA6IERJUkVDVElPTl9QUkVWO1xuXG4gICAgdGhpcy5fc2xpZGUoZGlyZWN0aW9uLCB0aGlzLl9pdGVtc1tpbmRleF0pO1xuICB9O1xuXG4gIF9wcm90by5kaXNwb3NlID0gZnVuY3Rpb24gZGlzcG9zZSgpIHtcbiAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWSQzKTtcbiAgICBEYXRhLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgREFUQV9LRVkkMyk7XG4gICAgdGhpcy5faXRlbXMgPSBudWxsO1xuICAgIHRoaXMuX2NvbmZpZyA9IG51bGw7XG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICAgIHRoaXMuX2lzUGF1c2VkID0gbnVsbDtcbiAgICB0aGlzLl9pc1NsaWRpbmcgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX2luZGljYXRvcnNFbGVtZW50ID0gbnVsbDtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkMSksIGNvbmZpZyk7XG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUkMywgY29uZmlnLCBEZWZhdWx0VHlwZSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX2hhbmRsZVN3aXBlID0gZnVuY3Rpb24gX2hhbmRsZVN3aXBlKCkge1xuICAgIHZhciBhYnNEZWx0YXggPSBNYXRoLmFicyh0aGlzLnRvdWNoRGVsdGFYKTtcblxuICAgIGlmIChhYnNEZWx0YXggPD0gU1dJUEVfVEhSRVNIT0xEKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGRpcmVjdGlvbiA9IGFic0RlbHRheCAvIHRoaXMudG91Y2hEZWx0YVg7XG4gICAgdGhpcy50b3VjaERlbHRhWCA9IDA7IC8vIHN3aXBlIGxlZnRcblxuICAgIGlmIChkaXJlY3Rpb24gPiAwKSB7XG4gICAgICB0aGlzLnByZXYoKTtcbiAgICB9IC8vIHN3aXBlIHJpZ2h0XG5cblxuICAgIGlmIChkaXJlY3Rpb24gPCAwKSB7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9hZGRFdmVudExpc3RlbmVycyA9IGZ1bmN0aW9uIF9hZGRFdmVudExpc3RlbmVycygpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIGlmICh0aGlzLl9jb25maWcua2V5Ym9hcmQpIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9LRVlET1dOLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMi5fa2V5ZG93bihldmVudCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfTU9VU0VFTlRFUiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdGhpczIucGF1c2UoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfTU9VU0VMRUFWRSwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdGhpczIuY3ljbGUoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy50b3VjaCAmJiB0aGlzLl90b3VjaFN1cHBvcnRlZCkge1xuICAgICAgdGhpcy5fYWRkVG91Y2hFdmVudExpc3RlbmVycygpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2FkZFRvdWNoRXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbiBfYWRkVG91Y2hFdmVudExpc3RlbmVycygpIHtcbiAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgIHZhciBzdGFydCA9IGZ1bmN0aW9uIHN0YXJ0KGV2ZW50KSB7XG4gICAgICBpZiAoX3RoaXMzLl9wb2ludGVyRXZlbnQgJiYgUG9pbnRlclR5cGVbZXZlbnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0pIHtcbiAgICAgICAgX3RoaXMzLnRvdWNoU3RhcnRYID0gZXZlbnQuY2xpZW50WDtcbiAgICAgIH0gZWxzZSBpZiAoIV90aGlzMy5fcG9pbnRlckV2ZW50KSB7XG4gICAgICAgIF90aGlzMy50b3VjaFN0YXJ0WCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIG1vdmUgPSBmdW5jdGlvbiBtb3ZlKGV2ZW50KSB7XG4gICAgICAvLyBlbnN1cmUgc3dpcGluZyB3aXRoIG9uZSB0b3VjaCBhbmQgbm90IHBpbmNoaW5nXG4gICAgICBpZiAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgX3RoaXMzLnRvdWNoRGVsdGFYID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF90aGlzMy50b3VjaERlbHRhWCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCAtIF90aGlzMy50b3VjaFN0YXJ0WDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIGVuZCA9IGZ1bmN0aW9uIGVuZChldmVudCkge1xuICAgICAgaWYgKF90aGlzMy5fcG9pbnRlckV2ZW50ICYmIFBvaW50ZXJUeXBlW2V2ZW50LnBvaW50ZXJUeXBlLnRvVXBwZXJDYXNlKCldKSB7XG4gICAgICAgIF90aGlzMy50b3VjaERlbHRhWCA9IGV2ZW50LmNsaWVudFggLSBfdGhpczMudG91Y2hTdGFydFg7XG4gICAgICB9XG5cbiAgICAgIF90aGlzMy5faGFuZGxlU3dpcGUoKTtcblxuICAgICAgaWYgKF90aGlzMy5fY29uZmlnLnBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICAgIC8vIElmIGl0J3MgYSB0b3VjaC1lbmFibGVkIGRldmljZSwgbW91c2VlbnRlci9sZWF2ZSBhcmUgZmlyZWQgYXNcbiAgICAgICAgLy8gcGFydCBvZiB0aGUgbW91c2UgY29tcGF0aWJpbGl0eSBldmVudHMgb24gZmlyc3QgdGFwIC0gdGhlIGNhcm91c2VsXG4gICAgICAgIC8vIHdvdWxkIHN0b3AgY3ljbGluZyB1bnRpbCB1c2VyIHRhcHBlZCBvdXQgb2YgaXQ7XG4gICAgICAgIC8vIGhlcmUsIHdlIGxpc3RlbiBmb3IgdG91Y2hlbmQsIGV4cGxpY2l0bHkgcGF1c2UgdGhlIGNhcm91c2VsXG4gICAgICAgIC8vIChhcyBpZiBpdCdzIHRoZSBzZWNvbmQgdGltZSB3ZSB0YXAgb24gaXQsIG1vdXNlZW50ZXIgY29tcGF0IGV2ZW50XG4gICAgICAgIC8vIGlzIE5PVCBmaXJlZCkgYW5kIGFmdGVyIGEgdGltZW91dCAodG8gYWxsb3cgZm9yIG1vdXNlIGNvbXBhdGliaWxpdHlcbiAgICAgICAgLy8gZXZlbnRzIHRvIGZpcmUpIHdlIGV4cGxpY2l0bHkgcmVzdGFydCBjeWNsaW5nXG4gICAgICAgIF90aGlzMy5wYXVzZSgpO1xuXG4gICAgICAgIGlmIChfdGhpczMudG91Y2hUaW1lb3V0KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KF90aGlzMy50b3VjaFRpbWVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgX3RoaXMzLnRvdWNoVGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIF90aGlzMy5jeWNsZShldmVudCk7XG4gICAgICAgIH0sIFRPVUNIRVZFTlRfQ09NUEFUX1dBSVQgKyBfdGhpczMuX2NvbmZpZy5pbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfSVRFTV9JTUcsIHRoaXMuX2VsZW1lbnQpLmZvckVhY2goZnVuY3Rpb24gKGl0ZW1JbWcpIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vbihpdGVtSW1nLCBFVkVOVF9EUkFHX1NUQVJULCBmdW5jdGlvbiAoZSkge1xuICAgICAgICByZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5fcG9pbnRlckV2ZW50KSB7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfUE9JTlRFUkRPV04sIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICByZXR1cm4gc3RhcnQoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfUE9JTlRFUlVQLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGVuZChldmVudCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfUE9JTlRFUl9FVkVOVCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9UT1VDSFNUQVJULCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIHN0YXJ0KGV2ZW50KTtcbiAgICAgIH0pO1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1RPVUNITU9WRSwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBtb3ZlKGV2ZW50KTtcbiAgICAgIH0pO1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1RPVUNIRU5ELCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGVuZChldmVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9rZXlkb3duID0gZnVuY3Rpb24gX2tleWRvd24oZXZlbnQpIHtcbiAgICBpZiAoL2lucHV0fHRleHRhcmVhL2kudGVzdChldmVudC50YXJnZXQudGFnTmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSBBUlJPV19MRUZUX0tFWTpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcmV2KCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEFSUk9XX1JJR0hUX0tFWTpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2dldEl0ZW1JbmRleCA9IGZ1bmN0aW9uIF9nZXRJdGVtSW5kZXgoZWxlbWVudCkge1xuICAgIHRoaXMuX2l0ZW1zID0gZWxlbWVudCAmJiBlbGVtZW50LnBhcmVudE5vZGUgPyBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0lURU0sIGVsZW1lbnQucGFyZW50Tm9kZSkgOiBbXTtcbiAgICByZXR1cm4gdGhpcy5faXRlbXMuaW5kZXhPZihlbGVtZW50KTtcbiAgfTtcblxuICBfcHJvdG8uX2dldEl0ZW1CeURpcmVjdGlvbiA9IGZ1bmN0aW9uIF9nZXRJdGVtQnlEaXJlY3Rpb24oZGlyZWN0aW9uLCBhY3RpdmVFbGVtZW50KSB7XG4gICAgdmFyIGlzTmV4dERpcmVjdGlvbiA9IGRpcmVjdGlvbiA9PT0gRElSRUNUSU9OX05FWFQ7XG4gICAgdmFyIGlzUHJldkRpcmVjdGlvbiA9IGRpcmVjdGlvbiA9PT0gRElSRUNUSU9OX1BSRVY7XG5cbiAgICB2YXIgYWN0aXZlSW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgoYWN0aXZlRWxlbWVudCk7XG5cbiAgICB2YXIgbGFzdEl0ZW1JbmRleCA9IHRoaXMuX2l0ZW1zLmxlbmd0aCAtIDE7XG4gICAgdmFyIGlzR29pbmdUb1dyYXAgPSBpc1ByZXZEaXJlY3Rpb24gJiYgYWN0aXZlSW5kZXggPT09IDAgfHwgaXNOZXh0RGlyZWN0aW9uICYmIGFjdGl2ZUluZGV4ID09PSBsYXN0SXRlbUluZGV4O1xuXG4gICAgaWYgKGlzR29pbmdUb1dyYXAgJiYgIXRoaXMuX2NvbmZpZy53cmFwKSB7XG4gICAgICByZXR1cm4gYWN0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICB2YXIgZGVsdGEgPSBkaXJlY3Rpb24gPT09IERJUkVDVElPTl9QUkVWID8gLTEgOiAxO1xuICAgIHZhciBpdGVtSW5kZXggPSAoYWN0aXZlSW5kZXggKyBkZWx0YSkgJSB0aGlzLl9pdGVtcy5sZW5ndGg7XG4gICAgcmV0dXJuIGl0ZW1JbmRleCA9PT0gLTEgPyB0aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGggLSAxXSA6IHRoaXMuX2l0ZW1zW2l0ZW1JbmRleF07XG4gIH07XG5cbiAgX3Byb3RvLl90cmlnZ2VyU2xpZGVFdmVudCA9IGZ1bmN0aW9uIF90cmlnZ2VyU2xpZGVFdmVudChyZWxhdGVkVGFyZ2V0LCBldmVudERpcmVjdGlvbk5hbWUpIHtcbiAgICB2YXIgdGFyZ2V0SW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgocmVsYXRlZFRhcmdldCk7XG5cbiAgICB2YXIgZnJvbUluZGV4ID0gdGhpcy5fZ2V0SXRlbUluZGV4KFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfQUNUSVZFX0lURU0sIHRoaXMuX2VsZW1lbnQpKTtcblxuICAgIHJldHVybiBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9TTElERSwge1xuICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldCxcbiAgICAgIGRpcmVjdGlvbjogZXZlbnREaXJlY3Rpb25OYW1lLFxuICAgICAgZnJvbTogZnJvbUluZGV4LFxuICAgICAgdG86IHRhcmdldEluZGV4XG4gICAgfSk7XG4gIH07XG5cbiAgX3Byb3RvLl9zZXRBY3RpdmVJbmRpY2F0b3JFbGVtZW50ID0gZnVuY3Rpb24gX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQoZWxlbWVudCkge1xuICAgIGlmICh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCkge1xuICAgICAgdmFyIGluZGljYXRvcnMgPSBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0FDVElWRSQxLCB0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCk7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5kaWNhdG9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpbmRpY2F0b3JzW2ldLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUkMik7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXh0SW5kaWNhdG9yID0gdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQuY2hpbGRyZW5bdGhpcy5fZ2V0SXRlbUluZGV4KGVsZW1lbnQpXTtcblxuICAgICAgaWYgKG5leHRJbmRpY2F0b3IpIHtcbiAgICAgICAgbmV4dEluZGljYXRvci5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDIpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX3NsaWRlID0gZnVuY3Rpb24gX3NsaWRlKGRpcmVjdGlvbiwgZWxlbWVudCkge1xuICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgdmFyIGFjdGl2ZUVsZW1lbnQgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX0FDVElWRV9JVEVNLCB0aGlzLl9lbGVtZW50KTtcblxuICAgIHZhciBhY3RpdmVFbGVtZW50SW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgoYWN0aXZlRWxlbWVudCk7XG5cbiAgICB2YXIgbmV4dEVsZW1lbnQgPSBlbGVtZW50IHx8IGFjdGl2ZUVsZW1lbnQgJiYgdGhpcy5fZ2V0SXRlbUJ5RGlyZWN0aW9uKGRpcmVjdGlvbiwgYWN0aXZlRWxlbWVudCk7XG5cbiAgICB2YXIgbmV4dEVsZW1lbnRJbmRleCA9IHRoaXMuX2dldEl0ZW1JbmRleChuZXh0RWxlbWVudCk7XG5cbiAgICB2YXIgaXNDeWNsaW5nID0gQm9vbGVhbih0aGlzLl9pbnRlcnZhbCk7XG4gICAgdmFyIGRpcmVjdGlvbmFsQ2xhc3NOYW1lO1xuICAgIHZhciBvcmRlckNsYXNzTmFtZTtcbiAgICB2YXIgZXZlbnREaXJlY3Rpb25OYW1lO1xuXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gRElSRUNUSU9OX05FWFQpIHtcbiAgICAgIGRpcmVjdGlvbmFsQ2xhc3NOYW1lID0gQ0xBU1NfTkFNRV9MRUZUO1xuICAgICAgb3JkZXJDbGFzc05hbWUgPSBDTEFTU19OQU1FX05FWFQ7XG4gICAgICBldmVudERpcmVjdGlvbk5hbWUgPSBESVJFQ1RJT05fTEVGVDtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlyZWN0aW9uYWxDbGFzc05hbWUgPSBDTEFTU19OQU1FX1JJR0hUO1xuICAgICAgb3JkZXJDbGFzc05hbWUgPSBDTEFTU19OQU1FX1BSRVY7XG4gICAgICBldmVudERpcmVjdGlvbk5hbWUgPSBESVJFQ1RJT05fUklHSFQ7XG4gICAgfVxuXG4gICAgaWYgKG5leHRFbGVtZW50ICYmIG5leHRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQyKSkge1xuICAgICAgdGhpcy5faXNTbGlkaW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHNsaWRlRXZlbnQgPSB0aGlzLl90cmlnZ2VyU2xpZGVFdmVudChuZXh0RWxlbWVudCwgZXZlbnREaXJlY3Rpb25OYW1lKTtcblxuICAgIGlmIChzbGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGl2ZUVsZW1lbnQgfHwgIW5leHRFbGVtZW50KSB7XG4gICAgICAvLyBTb21lIHdlaXJkbmVzcyBpcyBoYXBwZW5pbmcsIHNvIHdlIGJhaWxcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1NsaWRpbmcgPSB0cnVlO1xuXG4gICAgaWYgKGlzQ3ljbGluZykge1xuICAgICAgdGhpcy5wYXVzZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQobmV4dEVsZW1lbnQpO1xuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0xJREUpKSB7XG4gICAgICBuZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKG9yZGVyQ2xhc3NOYW1lKTtcbiAgICAgIHJlZmxvdyhuZXh0RWxlbWVudCk7XG4gICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoZGlyZWN0aW9uYWxDbGFzc05hbWUpO1xuICAgICAgbmV4dEVsZW1lbnQuY2xhc3NMaXN0LmFkZChkaXJlY3Rpb25hbENsYXNzTmFtZSk7XG4gICAgICB2YXIgbmV4dEVsZW1lbnRJbnRlcnZhbCA9IHBhcnNlSW50KG5leHRFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1pbnRlcnZhbCcpLCAxMCk7XG5cbiAgICAgIGlmIChuZXh0RWxlbWVudEludGVydmFsKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWwgPSB0aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsIHx8IHRoaXMuX2NvbmZpZy5pbnRlcnZhbDtcbiAgICAgICAgdGhpcy5fY29uZmlnLmludGVydmFsID0gbmV4dEVsZW1lbnRJbnRlcnZhbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZy5pbnRlcnZhbCA9IHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWwgfHwgdGhpcy5fY29uZmlnLmludGVydmFsO1xuICAgICAgfVxuXG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoYWN0aXZlRWxlbWVudCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKGFjdGl2ZUVsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIG5leHRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoZGlyZWN0aW9uYWxDbGFzc05hbWUsIG9yZGVyQ2xhc3NOYW1lKTtcbiAgICAgICAgbmV4dEVsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSQyKTtcbiAgICAgICAgYWN0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQUNUSVZFJDIsIG9yZGVyQ2xhc3NOYW1lLCBkaXJlY3Rpb25hbENsYXNzTmFtZSk7XG4gICAgICAgIF90aGlzNC5faXNTbGlkaW5nID0gZmFsc2U7XG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzNC5fZWxlbWVudCwgRVZFTlRfU0xJRCwge1xuICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogbmV4dEVsZW1lbnQsXG4gICAgICAgICAgICBkaXJlY3Rpb246IGV2ZW50RGlyZWN0aW9uTmFtZSxcbiAgICAgICAgICAgIGZyb206IGFjdGl2ZUVsZW1lbnRJbmRleCxcbiAgICAgICAgICAgIHRvOiBuZXh0RWxlbWVudEluZGV4XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sIDApO1xuICAgICAgfSk7XG4gICAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZChhY3RpdmVFbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUkMik7XG4gICAgICBuZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDIpO1xuICAgICAgdGhpcy5faXNTbGlkaW5nID0gZmFsc2U7XG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9TTElELCB7XG4gICAgICAgIHJlbGF0ZWRUYXJnZXQ6IG5leHRFbGVtZW50LFxuICAgICAgICBkaXJlY3Rpb246IGV2ZW50RGlyZWN0aW9uTmFtZSxcbiAgICAgICAgZnJvbTogYWN0aXZlRWxlbWVudEluZGV4LFxuICAgICAgICB0bzogbmV4dEVsZW1lbnRJbmRleFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ3ljbGluZykge1xuICAgICAgdGhpcy5jeWNsZSgpO1xuICAgIH1cbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIENhcm91c2VsLmNhcm91c2VsSW50ZXJmYWNlID0gZnVuY3Rpb24gY2Fyb3VzZWxJbnRlcmZhY2UoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgdmFyIGRhdGEgPSBEYXRhLmdldERhdGEoZWxlbWVudCwgREFUQV9LRVkkMyk7XG5cbiAgICB2YXIgX2NvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0JDEpLCBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyhlbGVtZW50KSk7XG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcpIHtcbiAgICAgIF9jb25maWcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgX2NvbmZpZyksIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgdmFyIGFjdGlvbiA9IHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gY29uZmlnIDogX2NvbmZpZy5zbGlkZTtcblxuICAgIGlmICghZGF0YSkge1xuICAgICAgZGF0YSA9IG5ldyBDYXJvdXNlbChlbGVtZW50LCBfY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ251bWJlcicpIHtcbiAgICAgIGRhdGEudG8oY29uZmlnKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbYWN0aW9uXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBhY3Rpb24gKyBcIlxcXCJcIik7XG4gICAgICB9XG5cbiAgICAgIGRhdGFbYWN0aW9uXSgpO1xuICAgIH0gZWxzZSBpZiAoX2NvbmZpZy5pbnRlcnZhbCAmJiBfY29uZmlnLnJpZGUpIHtcbiAgICAgIGRhdGEucGF1c2UoKTtcbiAgICAgIGRhdGEuY3ljbGUoKTtcbiAgICB9XG4gIH07XG5cbiAgQ2Fyb3VzZWwualF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24galF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgQ2Fyb3VzZWwuY2Fyb3VzZWxJbnRlcmZhY2UodGhpcywgY29uZmlnKTtcbiAgICB9KTtcbiAgfTtcblxuICBDYXJvdXNlbC5kYXRhQXBpQ2xpY2tIYW5kbGVyID0gZnVuY3Rpb24gZGF0YUFwaUNsaWNrSGFuZGxlcihldmVudCkge1xuICAgIHZhciB0YXJnZXQgPSBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKHRoaXMpO1xuXG4gICAgaWYgKCF0YXJnZXQgfHwgIXRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9DQVJPVVNFTCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKHRhcmdldCkpLCBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0aGlzKSk7XG5cbiAgICB2YXIgc2xpZGVJbmRleCA9IHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXNsaWRlLXRvJyk7XG5cbiAgICBpZiAoc2xpZGVJbmRleCkge1xuICAgICAgY29uZmlnLmludGVydmFsID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQ2Fyb3VzZWwuY2Fyb3VzZWxJbnRlcmZhY2UodGFyZ2V0LCBjb25maWcpO1xuXG4gICAgaWYgKHNsaWRlSW5kZXgpIHtcbiAgICAgIERhdGEuZ2V0RGF0YSh0YXJnZXQsIERBVEFfS0VZJDMpLnRvKHNsaWRlSW5kZXgpO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgQ2Fyb3VzZWwuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRJbnN0YW5jZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQzKTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoQ2Fyb3VzZWwsIG51bGwsIFt7XG4gICAga2V5OiBcIlZFUlNJT05cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBWRVJTSU9OJDM7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkRlZmF1bHRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEZWZhdWx0JDE7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIENhcm91c2VsO1xufSgpO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5cbkV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfQ0xJQ0tfREFUQV9BUEkkMywgU0VMRUNUT1JfREFUQV9TTElERSwgQ2Fyb3VzZWwuZGF0YUFwaUNsaWNrSGFuZGxlcik7XG5FdmVudEhhbmRsZXIub24od2luZG93LCBFVkVOVF9MT0FEX0RBVEFfQVBJLCBmdW5jdGlvbiAoKSB7XG4gIHZhciBjYXJvdXNlbHMgPSBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0RBVEFfUklERSk7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNhcm91c2Vscy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIENhcm91c2VsLmNhcm91c2VsSW50ZXJmYWNlKGNhcm91c2Vsc1tpXSwgRGF0YS5nZXREYXRhKGNhcm91c2Vsc1tpXSwgREFUQV9LRVkkMykpO1xuICB9XG59KTtcbnZhciAkJDQgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5jYXJvdXNlbCB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCQ0KSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkMyA9ICQkNC5mbltOQU1FJDNdO1xuICAkJDQuZm5bTkFNRSQzXSA9IENhcm91c2VsLmpRdWVyeUludGVyZmFjZTtcbiAgJCQ0LmZuW05BTUUkM10uQ29uc3RydWN0b3IgPSBDYXJvdXNlbDtcblxuICAkJDQuZm5bTkFNRSQzXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkNC5mbltOQU1FJDNdID0gSlFVRVJZX05PX0NPTkZMSUNUJDM7XG4gICAgcmV0dXJuIENhcm91c2VsLmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUkNCA9ICdjbGFzcy10b2dnbGVyJztcbnZhciBWRVJTSU9OJDQgPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJDQgPSAnY29yZXVpLmNsYXNzLXRvZ2dsZXInO1xudmFyIEVWRU5UX0tFWSQ0ID0gXCIuXCIgKyBEQVRBX0tFWSQ0O1xudmFyIERBVEFfQVBJX0tFWSQ0ID0gJy5kYXRhLWFwaSc7XG52YXIgRGVmYXVsdFR5cGUkMSA9IHtcbiAgYWRkQ2xhc3M6ICcobnVsbHxhcnJheXxzdHJpbmcpJyxcbiAgYnJlYWtwb2ludHM6ICcobnVsbHxhcnJheXxzdHJpbmcpJyxcbiAgcmVtb3ZlQ2xhc3M6ICcobnVsbHxhcnJheXxzdHJpbmcpJyxcbiAgcmVzcG9uc2l2ZTogJyhudWxsfGJvb2xlYW4pJyxcbiAgdGFyZ2V0OiAnKG51bGx8c3RyaW5nKScsXG4gIHRvZ2dsZUNsYXNzOiAnKG51bGx8YXJyYXl8c3RyaW5nKSdcbn07XG52YXIgRGVmYXVsdCQyID0ge1xuICBhZGRDbGFzczogbnVsbCxcbiAgYnJlYWtwb2ludHM6IFsnJywgJ3NtJywgJ21kJywgJ2xnJywgJ3hsJ10sXG4gIHJlbW92ZUNsYXNzOiBudWxsLFxuICByZXNwb25zaXZlOiBmYWxzZSxcbiAgdGFyZ2V0OiAnYm9keScsXG4gIHRvZ2dsZUNsYXNzOiBudWxsXG59O1xudmFyIENMQVNTX05BTUVfQ0xBU1NfVE9HR0xFUiA9ICdjLWNsYXNzLXRvZ2dsZXInO1xudmFyIEVWRU5UX0NMQVNTX0FEREVEID0gJ2NsYXNzYWRkZWQnO1xudmFyIEVWRU5UX0NMQVNTX1JFTU9WRUQgPSAnY2xhc3NyZW1vdmVkJztcbnZhciBFVkVOVF9DTEFTU19UT0dHTEUgPSAnY2xhc3N0b2dnbGUnO1xudmFyIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDQgPSBcImNsaWNrXCIgKyBFVkVOVF9LRVkkNCArIERBVEFfQVBJX0tFWSQ0O1xudmFyIFNFTEVDVE9SX0NMQVNTX1RPR0dMRVIgPSAnLmMtY2xhc3MtdG9nZ2xlcic7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2xhc3MgRGVmaW5pdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIENsYXNzVG9nZ2xlciA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIENsYXNzVG9nZ2xlcihlbGVtZW50LCBjb25maWcpIHtcbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkNCwgdGhpcyk7XG4gIH0gLy8gR2V0dGVyc1xuXG5cbiAgdmFyIF9wcm90byA9IENsYXNzVG9nZ2xlci5wcm90b3R5cGU7XG5cbiAgLy8gUHVibGljXG4gIF9wcm90by5hZGQgPSBmdW5jdGlvbiBhZGQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHZhciB0YXJnZXQgPSB0aGlzLl90YXJnZXQoKTtcblxuICAgIHZhciBjbGFzc05hbWVzID0gdGhpcy5fY29uZmlnLmFkZENsYXNzLnJlcGxhY2UoL1xccy9nLCAnJykuc3BsaXQoJywnKTtcblxuICAgIGNsYXNzTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAoY2xhc3NOYW1lKSB7XG4gICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuXG4gICAgICBfdGhpcy5fY3VzdG9tRXZlbnQoRVZFTlRfQ0xBU1NfQURERUQsIHRhcmdldCwgdHJ1ZSwgY2xhc3NOYW1lKTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8ucmVtb3ZlID0gZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdmFyIHRhcmdldCA9IHRoaXMuX3RhcmdldCgpO1xuXG4gICAgdmFyIGNsYXNzTmFtZXMgPSB0aGlzLl9jb25maWcucmVtb3ZlQ2xhc3MucmVwbGFjZSgvXFxzL2csICcnKS5zcGxpdCgnLCcpO1xuXG4gICAgY2xhc3NOYW1lcy5mb3JFYWNoKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgIGlmIChfdGhpczIuX2NvbmZpZy5yZXNwb25zaXZlKSB7XG4gICAgICAgIF90aGlzMi5fdXBkYXRlUmVzcG9uc2l2ZUNsYXNzTmFtZXMoY2xhc3NOYW1lKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuXG4gICAgICAgICAgX3RoaXMyLl9jdXN0b21FdmVudChFVkVOVF9DTEFTU19SRU1PVkVELCB0YXJnZXQsIGZhbHNlLCBjbGFzc05hbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG5cbiAgICAgICAgX3RoaXMyLl9jdXN0b21FdmVudChFVkVOVF9DTEFTU19SRU1PVkVELCB0YXJnZXQsIGZhbHNlLCBjbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIF9wcm90by50b2dnbGUgPSBmdW5jdGlvbiB0b2dnbGUoKSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICB2YXIgdGFyZ2V0ID0gdGhpcy5fdGFyZ2V0KCk7XG5cbiAgICB2YXIgY2xhc3NOYW1lcyA9IHRoaXMuX2NvbmZpZy50b2dnbGVDbGFzcy5yZXBsYWNlKC9cXHMvZywgJycpLnNwbGl0KCcsJyk7XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnJlc3BvbnNpdmUpIHtcbiAgICAgIGNsYXNzTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAoY2xhc3NOYW1lKSB7XG4gICAgICAgIHZhciByZXNwb25zaXZlQ2xhc3NOYW1lcyA9IF90aGlzMy5fdXBkYXRlUmVzcG9uc2l2ZUNsYXNzTmFtZXMoY2xhc3NOYW1lKTtcblxuICAgICAgICBpZiAocmVzcG9uc2l2ZUNsYXNzTmFtZXMuZmlsdGVyKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgICAgICByZXR1cm4gdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpO1xuICAgICAgICB9KS5sZW5ndGgpIHtcbiAgICAgICAgICBfdGhpczMuX3VwZGF0ZVJlc3BvbnNpdmVDbGFzc05hbWVzKGNsYXNzTmFtZSkuZm9yRWFjaChmdW5jdGlvbiAoY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICBfdGhpczMuX2NvbmZpZy5yZW1vdmVDbGFzcyA9IGNsYXNzTmFtZTtcblxuICAgICAgICAgICAgX3RoaXMzLnJlbW92ZSgpO1xuXG4gICAgICAgICAgICBfdGhpczMuX2N1c3RvbUV2ZW50KEVWRU5UX0NMQVNTX1RPR0dMRSwgdGFyZ2V0LCBmYWxzZSwgY2xhc3NOYW1lKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpczMuX2NvbmZpZy5hZGRDbGFzcyA9IGNsYXNzTmFtZTtcblxuICAgICAgICAgIF90aGlzMy5hZGQoKTtcblxuICAgICAgICAgIF90aGlzMy5fY3VzdG9tRXZlbnQoRVZFTlRfQ0xBU1NfVE9HR0xFLCB0YXJnZXQsIHRydWUsIGNsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGFzc05hbWVzLmZvckVhY2goZnVuY3Rpb24gKGNsYXNzTmFtZSkge1xuICAgICAgICBpZiAodGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICAgICAgX3RoaXMzLl9jb25maWcucmVtb3ZlQ2xhc3MgPSBjbGFzc05hbWU7XG5cbiAgICAgICAgICBfdGhpczMucmVtb3ZlKCk7XG5cbiAgICAgICAgICBfdGhpczMuX2N1c3RvbUV2ZW50KEVWRU5UX0NMQVNTX1RPR0dMRSwgdGFyZ2V0LCBmYWxzZSwgY2xhc3NOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpczMuX2NvbmZpZy5hZGRDbGFzcyA9IGNsYXNzTmFtZTtcblxuICAgICAgICAgIF90aGlzMy5hZGQoKTtcblxuICAgICAgICAgIF90aGlzMy5fY3VzdG9tRXZlbnQoRVZFTlRfQ0xBU1NfVE9HR0xFLCB0YXJnZXQsIHRydWUsIGNsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uY2xhc3MgPSBmdW5jdGlvbiBfY2xhc3MoKSB7XG4gICAgdGhpcy5fY29uZmlnLnRvZ2dsZUNsYXNzID0gdGhpcy5fY29uZmlnLmNsYXNzO1xuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnQuZ2V0QXR0cmlidXRlKCdyZXNwb25zaXZlJykpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5yZXNwb25zaXZlID0gdGhpcy5fZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3Jlc3BvbnNpdmUnKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZSgpO1xuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fdGFyZ2V0ID0gZnVuY3Rpb24gX3RhcmdldCgpIHtcbiAgICBpZiAodGhpcy5fY29uZmlnLnRhcmdldCA9PT0gJ2JvZHknKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLl9jb25maWcudGFyZ2V0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnRhcmdldCA9PT0gJ19wYXJlbnQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlO1xuICAgIH1cblxuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuX2NvbmZpZy50YXJnZXQpO1xuICB9O1xuXG4gIF9wcm90by5fY3VzdG9tRXZlbnQgPSBmdW5jdGlvbiBfY3VzdG9tRXZlbnQoZXZlbnROYW1lLCB0YXJnZXQsIGFkZCwgY2xhc3NOYW1lKSB7XG4gICAgdmFyIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KGV2ZW50TmFtZSwge1xuICAgICAgZGV0YWlsOiB7XG4gICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICBhZGQ6IGFkZCxcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gIH07XG5cbiAgX3Byb3RvLl9icmVha3BvaW50ID0gZnVuY3Rpb24gX2JyZWFrcG9pbnQoY2xhc3NOYW1lKSB7XG4gICAgdmFyIGJyZWFrcG9pbnRzID0gdGhpcy5fY29uZmlnLmJyZWFrcG9pbnRzO1xuICAgIHJldHVybiBicmVha3BvaW50cy5maWx0ZXIoZnVuY3Rpb24gKGJyZWFrcG9pbnQpIHtcbiAgICAgIHJldHVybiBicmVha3BvaW50Lmxlbmd0aCA+IDA7XG4gICAgfSkuZmlsdGVyKGZ1bmN0aW9uIChicmVha3BvaW50KSB7XG4gICAgICByZXR1cm4gY2xhc3NOYW1lLmluY2x1ZGVzKGJyZWFrcG9pbnQpO1xuICAgIH0pWzBdO1xuICB9O1xuXG4gIF9wcm90by5fYnJlYWtwb2ludHMgPSBmdW5jdGlvbiBfYnJlYWtwb2ludHMoY2xhc3NOYW1lKSB7XG4gICAgdmFyIGJyZWFrcG9pbnRzID0gdGhpcy5fY29uZmlnLmJyZWFrcG9pbnRzO1xuICAgIHJldHVybiBicmVha3BvaW50cy5zbGljZSgwLCBicmVha3BvaW50cy5pbmRleE9mKGJyZWFrcG9pbnRzLmZpbHRlcihmdW5jdGlvbiAoYnJlYWtwb2ludCkge1xuICAgICAgcmV0dXJuIGJyZWFrcG9pbnQubGVuZ3RoID4gMDtcbiAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKGJyZWFrcG9pbnQpIHtcbiAgICAgIHJldHVybiBjbGFzc05hbWUuaW5jbHVkZXMoYnJlYWtwb2ludCk7XG4gICAgfSlbMF0pICsgMSk7XG4gIH07XG5cbiAgX3Byb3RvLl91cGRhdGVSZXNwb25zaXZlQ2xhc3NOYW1lcyA9IGZ1bmN0aW9uIF91cGRhdGVSZXNwb25zaXZlQ2xhc3NOYW1lcyhjbGFzc05hbWUpIHtcbiAgICB2YXIgYnAgPSB0aGlzLl9icmVha3BvaW50KGNsYXNzTmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludHMoY2xhc3NOYW1lKS5tYXAoZnVuY3Rpb24gKGJyZWFrcG9pbnQpIHtcbiAgICAgIHJldHVybiBicmVha3BvaW50Lmxlbmd0aCA+IDAgPyBjbGFzc05hbWUucmVwbGFjZShicCwgYnJlYWtwb2ludCkgOiBjbGFzc05hbWUucmVwbGFjZShcIi1cIiArIGJwLCBicmVha3BvaW50KTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uX2luY2x1ZGVzUmVzcG9uc2l2ZUNsYXNzID0gZnVuY3Rpb24gX2luY2x1ZGVzUmVzcG9uc2l2ZUNsYXNzKGNsYXNzTmFtZSkge1xuICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgcmV0dXJuIHRoaXMuX3VwZGF0ZVJlc3BvbnNpdmVDbGFzc05hbWVzKGNsYXNzTmFtZSkuZmlsdGVyKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgIHJldHVybiBfdGhpczQuX2NvbmZpZy50YXJnZXQuY29udGFpbnMoY2xhc3NOYW1lKTtcbiAgICB9KTtcbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIF9wcm90by5fZ2V0Q29uZmlnID0gZnVuY3Rpb24gX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0KSwgTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCkpLCBjb25maWcpO1xuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJDQsIGNvbmZpZywgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBDbGFzc1RvZ2dsZXIuY2xhc3NUb2dnbGVySW50ZXJmYWNlID0gZnVuY3Rpb24gY2xhc3NUb2dnbGVySW50ZXJmYWNlKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDQpO1xuXG4gICAgdmFyIF9jb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiBjb25maWc7XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGRhdGEgPSBuZXcgQ2xhc3NUb2dnbGVyKGVsZW1lbnQsIF9jb25maWcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgfVxuXG4gICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICB9XG4gIH07XG5cbiAgQ2xhc3NUb2dnbGVyLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIENsYXNzVG9nZ2xlci5jbGFzc1RvZ2dsZXJJbnRlcmZhY2UodGhpcywgY29uZmlnKTtcbiAgICB9KTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoQ2xhc3NUb2dnbGVyLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiQ0O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQyO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDE7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIENsYXNzVG9nZ2xlcjtcbn0oKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDQsIFNFTEVDVE9SX0NMQVNTX1RPR0dMRVIsIGZ1bmN0aW9uIChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgdmFyIHRvZ2dsZXIgPSBldmVudC50YXJnZXQ7XG5cbiAgaWYgKCF0b2dnbGVyLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0NMQVNTX1RPR0dMRVIpKSB7XG4gICAgdG9nZ2xlciA9IHRvZ2dsZXIuY2xvc2VzdChTRUxFQ1RPUl9DTEFTU19UT0dHTEVSKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdG9nZ2xlci5kYXRhc2V0LmFkZENsYXNzICE9PSAndW5kZWZpbmVkJykge1xuICAgIENsYXNzVG9nZ2xlci5jbGFzc1RvZ2dsZXJJbnRlcmZhY2UodG9nZ2xlciwgJ2FkZCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0b2dnbGVyLmRhdGFzZXQucmVtb3ZlQ2xhc3MgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgQ2xhc3NUb2dnbGVyLmNsYXNzVG9nZ2xlckludGVyZmFjZSh0b2dnbGVyLCAncmVtb3ZlJyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHRvZ2dsZXIuZGF0YXNldC50b2dnbGVDbGFzcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBDbGFzc1RvZ2dsZXIuY2xhc3NUb2dnbGVySW50ZXJmYWNlKHRvZ2dsZXIsICd0b2dnbGUnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdG9nZ2xlci5kYXRhc2V0LmNsYXNzICE9PSAndW5kZWZpbmVkJykge1xuICAgIENsYXNzVG9nZ2xlci5jbGFzc1RvZ2dsZXJJbnRlcmZhY2UodG9nZ2xlciwgJ2NsYXNzJyk7XG4gIH1cbn0pO1xudmFyICQkNSA9IGdldGpRdWVyeSgpO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGpRdWVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBhZGQgLmMtY2xhc3MtdG9nZ2xlciB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbmlmICgkJDUpIHtcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCQ0ID0gJCQ1LmZuW05BTUUkNF07XG4gICQkNS5mbltOQU1FJDRdID0gQ2xhc3NUb2dnbGVyLmpRdWVyeUludGVyZmFjZTtcbiAgJCQ1LmZuW05BTUUkNF0uQ29uc3RydWN0b3IgPSBDbGFzc1RvZ2dsZXI7XG5cbiAgJCQ1LmZuW05BTUUkNF0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkJDUuZm5bTkFNRSQ0XSA9IEpRVUVSWV9OT19DT05GTElDVCQ0O1xuICAgIHJldHVybiBDbGFzc1RvZ2dsZXIualF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTkFNRSQ1ID0gJ2NvbGxhcHNlJztcbnZhciBWRVJTSU9OJDUgPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJDUgPSAnY29yZXVpLmNvbGxhcHNlJztcbnZhciBFVkVOVF9LRVkkNSA9IFwiLlwiICsgREFUQV9LRVkkNTtcbnZhciBEQVRBX0FQSV9LRVkkNSA9ICcuZGF0YS1hcGknO1xudmFyIERlZmF1bHQkMyA9IHtcbiAgdG9nZ2xlOiB0cnVlLFxuICBwYXJlbnQ6ICcnXG59O1xudmFyIERlZmF1bHRUeXBlJDIgPSB7XG4gIHRvZ2dsZTogJ2Jvb2xlYW4nLFxuICBwYXJlbnQ6ICcoc3RyaW5nfGVsZW1lbnQpJ1xufTtcbnZhciBFVkVOVF9TSE9XID0gXCJzaG93XCIgKyBFVkVOVF9LRVkkNTtcbnZhciBFVkVOVF9TSE9XTiA9IFwic2hvd25cIiArIEVWRU5UX0tFWSQ1O1xudmFyIEVWRU5UX0hJREUgPSBcImhpZGVcIiArIEVWRU5UX0tFWSQ1O1xudmFyIEVWRU5UX0hJRERFTiA9IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkNTtcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSQ1ID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJDUgKyBEQVRBX0FQSV9LRVkkNTtcbnZhciBDTEFTU19OQU1FX1NIT1ckMSA9ICdzaG93JztcbnZhciBDTEFTU19OQU1FX0NPTExBUFNFID0gJ2NvbGxhcHNlJztcbnZhciBDTEFTU19OQU1FX0NPTExBUFNJTkcgPSAnY29sbGFwc2luZyc7XG52YXIgQ0xBU1NfTkFNRV9DT0xMQVBTRUQgPSAnY29sbGFwc2VkJztcbnZhciBXSURUSCA9ICd3aWR0aCc7XG52YXIgSEVJR0hUID0gJ2hlaWdodCc7XG52YXIgU0VMRUNUT1JfQUNUSVZFUyA9ICcuc2hvdywgLmNvbGxhcHNpbmcnO1xudmFyIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDEgPSAnW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl0nO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBDb2xsYXBzZSA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIENvbGxhcHNlKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX3RyaWdnZXJBcnJheSA9IFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfREFUQV9UT0dHTEUkMSArIFwiW2hyZWY9XFxcIiNcIiArIGVsZW1lbnQuaWQgKyBcIlxcXCJdLFwiICsgKFNFTEVDVE9SX0RBVEFfVE9HR0xFJDEgKyBcIltkYXRhLXRhcmdldD1cXFwiI1wiICsgZWxlbWVudC5pZCArIFwiXFxcIl1cIikpO1xuICAgIHZhciB0b2dnbGVMaXN0ID0gU2VsZWN0b3JFbmdpbmUuZmluZChTRUxFQ1RPUl9EQVRBX1RPR0dMRSQxKTtcblxuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB0b2dnbGVMaXN0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICB2YXIgZWxlbSA9IHRvZ2dsZUxpc3RbaV07XG4gICAgICB2YXIgc2VsZWN0b3IgPSBnZXRTZWxlY3RvckZyb21FbGVtZW50KGVsZW0pO1xuICAgICAgdmFyIGZpbHRlckVsZW1lbnQgPSBTZWxlY3RvckVuZ2luZS5maW5kKHNlbGVjdG9yKS5maWx0ZXIoZnVuY3Rpb24gKGZvdW5kRWxlbSkge1xuICAgICAgICByZXR1cm4gZm91bmRFbGVtID09PSBlbGVtZW50O1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChzZWxlY3RvciAhPT0gbnVsbCAmJiBmaWx0ZXJFbGVtZW50Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9zZWxlY3RvciA9IHNlbGVjdG9yO1xuXG4gICAgICAgIHRoaXMuX3RyaWdnZXJBcnJheS5wdXNoKGVsZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3BhcmVudCA9IHRoaXMuX2NvbmZpZy5wYXJlbnQgPyB0aGlzLl9nZXRQYXJlbnQoKSA6IG51bGw7XG5cbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5wYXJlbnQpIHtcbiAgICAgIHRoaXMuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyh0aGlzLl9lbGVtZW50LCB0aGlzLl90cmlnZ2VyQXJyYXkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb25maWcudG9nZ2xlKSB7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ1LCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gQ29sbGFwc2UucHJvdG90eXBlO1xuXG4gIC8vIFB1YmxpY1xuICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMSkpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLnNob3cgPSBmdW5jdGlvbiBzaG93KCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNUcmFuc2l0aW9uaW5nIHx8IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQxKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBhY3RpdmVzO1xuICAgIHZhciBhY3RpdmVzRGF0YTtcblxuICAgIGlmICh0aGlzLl9wYXJlbnQpIHtcbiAgICAgIGFjdGl2ZXMgPSBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0FDVElWRVMsIHRoaXMuX3BhcmVudCkuZmlsdGVyKGZ1bmN0aW9uIChlbGVtKSB7XG4gICAgICAgIGlmICh0eXBlb2YgX3RoaXMuX2NvbmZpZy5wYXJlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXBhcmVudCcpID09PSBfdGhpcy5fY29uZmlnLnBhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlbGVtLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0NPTExBUFNFKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoYWN0aXZlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgYWN0aXZlcyA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGNvbnRhaW5lciA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUodGhpcy5fc2VsZWN0b3IpO1xuXG4gICAgaWYgKGFjdGl2ZXMpIHtcbiAgICAgIHZhciB0ZW1wQWN0aXZlRGF0YSA9IGFjdGl2ZXMuZmlsdGVyKGZ1bmN0aW9uIChlbGVtKSB7XG4gICAgICAgIHJldHVybiBjb250YWluZXIgIT09IGVsZW07XG4gICAgICB9KTtcbiAgICAgIGFjdGl2ZXNEYXRhID0gdGVtcEFjdGl2ZURhdGFbMF0gPyBEYXRhLmdldERhdGEodGVtcEFjdGl2ZURhdGFbMF0sIERBVEFfS0VZJDUpIDogbnVsbDtcblxuICAgICAgaWYgKGFjdGl2ZXNEYXRhICYmIGFjdGl2ZXNEYXRhLl9pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBzdGFydEV2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVyk7XG5cbiAgICBpZiAoc3RhcnRFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFjdGl2ZXMpIHtcbiAgICAgIGFjdGl2ZXMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbUFjdGl2ZSkge1xuICAgICAgICBpZiAoY29udGFpbmVyICE9PSBlbGVtQWN0aXZlKSB7XG4gICAgICAgICAgQ29sbGFwc2UuY29sbGFwc2VJbnRlcmZhY2UoZWxlbUFjdGl2ZSwgJ2hpZGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYWN0aXZlc0RhdGEpIHtcbiAgICAgICAgICBEYXRhLnNldERhdGEoZWxlbUFjdGl2ZSwgREFUQV9LRVkkNSwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhciBkaW1lbnNpb24gPSB0aGlzLl9nZXREaW1lbnNpb24oKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0NPTExBUFNFKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0NPTExBUFNJTkcpO1xuXG4gICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gMDtcblxuICAgIGlmICh0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTRUQpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIHRydWUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRUcmFuc2l0aW9uaW5nKHRydWUpO1xuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBfdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQ09MTEFQU0lORyk7XG5cbiAgICAgIF90aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9DT0xMQVBTRSwgQ0xBU1NfTkFNRV9TSE9XJDEpO1xuXG4gICAgICBfdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gJyc7XG5cbiAgICAgIF90aGlzLnNldFRyYW5zaXRpb25pbmcoZmFsc2UpO1xuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04pO1xuICAgIH07XG5cbiAgICB2YXIgY2FwaXRhbGl6ZWREaW1lbnNpb24gPSBkaW1lbnNpb25bMF0udG9VcHBlckNhc2UoKSArIGRpbWVuc2lvbi5zbGljZSgxKTtcbiAgICB2YXIgc2Nyb2xsU2l6ZSA9IFwic2Nyb2xsXCIgKyBjYXBpdGFsaXplZERpbWVuc2lvbjtcbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQsIHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gdGhpcy5fZWxlbWVudFtzY3JvbGxTaXplXSArIFwicHhcIjtcbiAgfTtcblxuICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNUcmFuc2l0aW9uaW5nIHx8ICF0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgc3RhcnRFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJREUpO1xuXG4gICAgaWYgKHN0YXJ0RXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkaW1lbnNpb24gPSB0aGlzLl9nZXREaW1lbnNpb24oKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGVbZGltZW5zaW9uXSA9IHRoaXMuX2VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbZGltZW5zaW9uXSArIFwicHhcIjtcbiAgICByZWZsb3codGhpcy5fZWxlbWVudCk7XG5cbiAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9DT0xMQVBTSU5HKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0NPTExBUFNFLCBDTEFTU19OQU1FX1NIT1ckMSk7XG5cbiAgICB2YXIgdHJpZ2dlckFycmF5TGVuZ3RoID0gdGhpcy5fdHJpZ2dlckFycmF5Lmxlbmd0aDtcblxuICAgIGlmICh0cmlnZ2VyQXJyYXlMZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyaWdnZXJBcnJheUxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciB0cmlnZ2VyID0gdGhpcy5fdHJpZ2dlckFycmF5W2ldO1xuICAgICAgICB2YXIgZWxlbSA9IGdldEVsZW1lbnRGcm9tU2VsZWN0b3IodHJpZ2dlcik7XG5cbiAgICAgICAgaWYgKGVsZW0gJiYgIWVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQxKSkge1xuICAgICAgICAgIHRyaWdnZXIuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0NPTExBUFNFRCk7XG4gICAgICAgICAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFRyYW5zaXRpb25pbmcodHJ1ZSk7XG5cbiAgICB2YXIgY29tcGxldGUgPSBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcbiAgICAgIF90aGlzMi5zZXRUcmFuc2l0aW9uaW5nKGZhbHNlKTtcblxuICAgICAgX3RoaXMyLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTSU5HKTtcblxuICAgICAgX3RoaXMyLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9DT0xMQVBTRSk7XG5cbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzMi5fZWxlbWVudCwgRVZFTlRfSElEREVOKTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gJyc7XG4gICAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbiA9IGdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO1xuICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZWxlbWVudCwgVFJBTlNJVElPTl9FTkQsIGNvbXBsZXRlKTtcbiAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICB9O1xuXG4gIF9wcm90by5zZXRUcmFuc2l0aW9uaW5nID0gZnVuY3Rpb24gc2V0VHJhbnNpdGlvbmluZyhpc1RyYW5zaXRpb25pbmcpIHtcbiAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSBpc1RyYW5zaXRpb25pbmc7XG4gIH07XG5cbiAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgIERhdGEucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBEQVRBX0tFWSQ1KTtcbiAgICB0aGlzLl9jb25maWcgPSBudWxsO1xuICAgIHRoaXMuX3BhcmVudCA9IG51bGw7XG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFycmF5ID0gbnVsbDtcbiAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSBudWxsO1xuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fZ2V0Q29uZmlnID0gZnVuY3Rpb24gX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgRGVmYXVsdCQzKSwgY29uZmlnKTtcbiAgICBjb25maWcudG9nZ2xlID0gQm9vbGVhbihjb25maWcudG9nZ2xlKTsgLy8gQ29lcmNlIHN0cmluZyB2YWx1ZXNcblxuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJDUsIGNvbmZpZywgRGVmYXVsdFR5cGUkMik7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX2dldERpbWVuc2lvbiA9IGZ1bmN0aW9uIF9nZXREaW1lbnNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFdJRFRIKSA/IFdJRFRIIDogSEVJR0hUO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0UGFyZW50ID0gZnVuY3Rpb24gX2dldFBhcmVudCgpIHtcbiAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgIHZhciBwYXJlbnQgPSB0aGlzLl9jb25maWcucGFyZW50O1xuXG4gICAgaWYgKGlzRWxlbWVudChwYXJlbnQpKSB7XG4gICAgICAvLyBpdCdzIGEgalF1ZXJ5IG9iamVjdFxuICAgICAgaWYgKHR5cGVvZiBwYXJlbnQuanF1ZXJ5ICE9PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgcGFyZW50WzBdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBwYXJlbnQgPSBwYXJlbnRbMF07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmVudCA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUocGFyZW50KTtcbiAgICB9XG5cbiAgICB2YXIgc2VsZWN0b3IgPSBTRUxFQ1RPUl9EQVRBX1RPR0dMRSQxICsgXCJbZGF0YS1wYXJlbnQ9XFxcIlwiICsgcGFyZW50ICsgXCJcXFwiXVwiO1xuICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoc2VsZWN0b3IsIHBhcmVudCkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgdmFyIHNlbGVjdGVkID0gZ2V0RWxlbWVudEZyb21TZWxlY3RvcihlbGVtZW50KTtcblxuICAgICAgX3RoaXMzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3Moc2VsZWN0ZWQsIFtlbGVtZW50XSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmVudDtcbiAgfTtcblxuICBfcHJvdG8uX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyA9IGZ1bmN0aW9uIF9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MoZWxlbWVudCwgdHJpZ2dlckFycmF5KSB7XG4gICAgaWYgKCFlbGVtZW50IHx8ICF0cmlnZ2VyQXJyYXkubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGlzT3BlbiA9IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQxKTtcbiAgICB0cmlnZ2VyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICBlbGVtLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTRUQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQ09MTEFQU0VEKTtcbiAgICAgIH1cblxuICAgICAgZWxlbS5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBpc09wZW4pO1xuICAgIH0pO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgQ29sbGFwc2UuY29sbGFwc2VJbnRlcmZhY2UgPSBmdW5jdGlvbiBjb2xsYXBzZUludGVyZmFjZShlbGVtZW50LCBjb25maWcpIHtcbiAgICB2YXIgZGF0YSA9IERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ1KTtcblxuICAgIHZhciBfY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkMyksIE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKGVsZW1lbnQpKSwgdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pO1xuXG4gICAgaWYgKCFkYXRhICYmIF9jb25maWcudG9nZ2xlICYmIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnICYmIC9zaG93fGhpZGUvLnRlc3QoY29uZmlnKSkge1xuICAgICAgX2NvbmZpZy50b2dnbGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGRhdGEgPSBuZXcgQ29sbGFwc2UoZWxlbWVudCwgX2NvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICB9XG5cbiAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgIH1cbiAgfTtcblxuICBDb2xsYXBzZS5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBDb2xsYXBzZS5jb2xsYXBzZUludGVyZmFjZSh0aGlzLCBjb25maWcpO1xuICAgIH0pO1xuICB9O1xuXG4gIENvbGxhcHNlLmdldEluc3RhbmNlID0gZnVuY3Rpb24gZ2V0SW5zdGFuY2UoZWxlbWVudCkge1xuICAgIHJldHVybiBEYXRhLmdldERhdGEoZWxlbWVudCwgREFUQV9LRVkkNSk7XG4gIH07XG5cbiAgX2NyZWF0ZUNsYXNzKENvbGxhcHNlLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiQ1O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQzO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBDb2xsYXBzZTtcbn0oKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDUsIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDEsIGZ1bmN0aW9uIChldmVudCkge1xuICAvLyBwcmV2ZW50RGVmYXVsdCBvbmx5IGZvciA8YT4gZWxlbWVudHMgKHdoaWNoIGNoYW5nZSB0aGUgVVJMKSBub3QgaW5zaWRlIHRoZSBjb2xsYXBzaWJsZSBlbGVtZW50XG4gIGlmIChldmVudC50YXJnZXQudGFnTmFtZSA9PT0gJ0EnKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHZhciB0cmlnZ2VyRGF0YSA9IE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKHRoaXMpO1xuICB2YXIgc2VsZWN0b3IgPSBnZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO1xuICB2YXIgc2VsZWN0b3JFbGVtZW50cyA9IFNlbGVjdG9yRW5naW5lLmZpbmQoc2VsZWN0b3IpO1xuICBzZWxlY3RvckVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICB2YXIgZGF0YSA9IERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ1KTtcbiAgICB2YXIgY29uZmlnO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIC8vIHVwZGF0ZSBwYXJlbnQgYXR0cmlidXRlXG4gICAgICBpZiAoZGF0YS5fcGFyZW50ID09PSBudWxsICYmIHR5cGVvZiB0cmlnZ2VyRGF0YS5wYXJlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGRhdGEuX2NvbmZpZy5wYXJlbnQgPSB0cmlnZ2VyRGF0YS5wYXJlbnQ7XG4gICAgICAgIGRhdGEuX3BhcmVudCA9IGRhdGEuX2dldFBhcmVudCgpO1xuICAgICAgfVxuXG4gICAgICBjb25maWcgPSAndG9nZ2xlJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmlnID0gdHJpZ2dlckRhdGE7XG4gICAgfVxuXG4gICAgQ29sbGFwc2UuY29sbGFwc2VJbnRlcmZhY2UoZWxlbWVudCwgY29uZmlnKTtcbiAgfSk7XG59KTtcbnZhciAkJDYgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5jb2xsYXBzZSB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCQ2KSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkNSA9ICQkNi5mbltOQU1FJDVdO1xuICAkJDYuZm5bTkFNRSQ1XSA9IENvbGxhcHNlLmpRdWVyeUludGVyZmFjZTtcbiAgJCQ2LmZuW05BTUUkNV0uQ29uc3RydWN0b3IgPSBDb2xsYXBzZTtcblxuICAkJDYuZm5bTkFNRSQ1XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkNi5mbltOQU1FJDVdID0gSlFVRVJZX05PX0NPTkZMSUNUJDU7XG4gICAgcmV0dXJuIENvbGxhcHNlLmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUkNiA9ICdkcm9wZG93bic7XG52YXIgVkVSU0lPTiQ2ID0gJzMuMi4yJztcbnZhciBEQVRBX0tFWSQ2ID0gJ2NvcmV1aS5kcm9wZG93bic7XG52YXIgRVZFTlRfS0VZJDYgPSBcIi5cIiArIERBVEFfS0VZJDY7XG52YXIgREFUQV9BUElfS0VZJDYgPSAnLmRhdGEtYXBpJztcbnZhciBFU0NBUEVfS0VZID0gJ0VzY2FwZSc7XG52YXIgU1BBQ0VfS0VZID0gJ1NwYWNlJztcbnZhciBUQUJfS0VZID0gJ1RhYic7XG52YXIgQVJST1dfVVBfS0VZID0gJ0Fycm93VXAnO1xudmFyIEFSUk9XX0RPV05fS0VZID0gJ0Fycm93RG93bic7XG52YXIgUklHSFRfTU9VU0VfQlVUVE9OID0gMjsgLy8gTW91c2VFdmVudC5idXR0b24gdmFsdWUgZm9yIHRoZSBzZWNvbmRhcnkgYnV0dG9uLCB1c3VhbGx5IHRoZSByaWdodCBidXR0b25cblxudmFyIFJFR0VYUF9LRVlET1dOID0gbmV3IFJlZ0V4cChBUlJPV19VUF9LRVkgKyBcInxcIiArIEFSUk9XX0RPV05fS0VZICsgXCJ8XCIgKyBFU0NBUEVfS0VZKTtcbnZhciBFVkVOVF9ISURFJDEgPSBcImhpZGVcIiArIEVWRU5UX0tFWSQ2O1xudmFyIEVWRU5UX0hJRERFTiQxID0gXCJoaWRkZW5cIiArIEVWRU5UX0tFWSQ2O1xudmFyIEVWRU5UX1NIT1ckMSA9IFwic2hvd1wiICsgRVZFTlRfS0VZJDY7XG52YXIgRVZFTlRfU0hPV04kMSA9IFwic2hvd25cIiArIEVWRU5UX0tFWSQ2O1xudmFyIEVWRU5UX0NMSUNLID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJDY7XG52YXIgRVZFTlRfQ0xJQ0tfREFUQV9BUEkkNiA9IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ2ICsgREFUQV9BUElfS0VZJDY7XG52YXIgRVZFTlRfS0VZRE9XTl9EQVRBX0FQSSA9IFwia2V5ZG93blwiICsgRVZFTlRfS0VZJDYgKyBEQVRBX0FQSV9LRVkkNjtcbnZhciBFVkVOVF9LRVlVUF9EQVRBX0FQSSA9IFwia2V5dXBcIiArIEVWRU5UX0tFWSQ2ICsgREFUQV9BUElfS0VZJDY7XG52YXIgQ0xBU1NfTkFNRV9ESVNBQkxFRCQxID0gJ2Rpc2FibGVkJztcbnZhciBDTEFTU19OQU1FX1NIT1ckMiA9ICdzaG93JztcbnZhciBDTEFTU19OQU1FX0RST1BVUCA9ICdkcm9wdXAnO1xudmFyIENMQVNTX05BTUVfRFJPUFJJR0hUID0gJ2Ryb3ByaWdodCc7XG52YXIgQ0xBU1NfTkFNRV9EUk9QTEVGVCA9ICdkcm9wbGVmdCc7XG52YXIgQ0xBU1NfTkFNRV9IRUFERVIgPSAnYy1oZWFkZXInO1xudmFyIENMQVNTX05BTUVfTUVOVVJJR0hUID0gJ2Ryb3Bkb3duLW1lbnUtcmlnaHQnO1xudmFyIENMQVNTX05BTUVfTkFWQkFSID0gJ25hdmJhcic7XG52YXIgQ0xBU1NfTkFNRV9QT1NJVElPTl9TVEFUSUMgPSAncG9zaXRpb24tc3RhdGljJztcbnZhciBTRUxFQ1RPUl9EQVRBX1RPR0dMRSQyID0gJ1tkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJdJztcbnZhciBTRUxFQ1RPUl9GT1JNX0NISUxEID0gJy5kcm9wZG93biBmb3JtJztcbnZhciBTRUxFQ1RPUl9IRUFERVJfTkFWID0gJy5jLWhlYWRlci1uYXYnO1xudmFyIFNFTEVDVE9SX01FTlUgPSAnLmRyb3Bkb3duLW1lbnUnO1xudmFyIFNFTEVDVE9SX05BVkJBUl9OQVYgPSAnLm5hdmJhci1uYXYnO1xudmFyIFNFTEVDVE9SX1ZJU0lCTEVfSVRFTVMgPSAnLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCknO1xudmFyIFBMQUNFTUVOVF9UT1AgPSAndG9wLXN0YXJ0JztcbnZhciBQTEFDRU1FTlRfVE9QRU5EID0gJ3RvcC1lbmQnO1xudmFyIFBMQUNFTUVOVF9CT1RUT00gPSAnYm90dG9tLXN0YXJ0JztcbnZhciBQTEFDRU1FTlRfQk9UVE9NRU5EID0gJ2JvdHRvbS1lbmQnO1xudmFyIFBMQUNFTUVOVF9SSUdIVCA9ICdyaWdodC1zdGFydCc7XG52YXIgUExBQ0VNRU5UX0xFRlQgPSAnbGVmdC1zdGFydCc7XG52YXIgRGVmYXVsdCQ0ID0ge1xuICBvZmZzZXQ6IFswLCAwXSxcbiAgZmxpcDogdHJ1ZSxcbiAgYm91bmRhcnk6ICdzY3JvbGxQYXJlbnQnLFxuICByZWZlcmVuY2U6ICd0b2dnbGUnLFxuICBkaXNwbGF5OiAnZHluYW1pYycsXG4gIHBvcHBlckNvbmZpZzogbnVsbFxufTtcbnZhciBEZWZhdWx0VHlwZSQzID0ge1xuICBvZmZzZXQ6ICcoYXJyYXl8ZnVuY3Rpb24pJyxcbiAgZmxpcDogJ2Jvb2xlYW4nLFxuICBib3VuZGFyeTogJyhzdHJpbmd8ZWxlbWVudCknLFxuICByZWZlcmVuY2U6ICcoc3RyaW5nfGVsZW1lbnQpJyxcbiAgZGlzcGxheTogJ3N0cmluZycsXG4gIHBvcHBlckNvbmZpZzogJyhudWxsfG9iamVjdCknXG59O1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBEcm9wZG93biA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIERyb3Bkb3duKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX3BvcHBlciA9IG51bGw7XG4gICAgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGNvbmZpZyk7XG4gICAgdGhpcy5fbWVudSA9IHRoaXMuX2dldE1lbnVFbGVtZW50KCk7XG4gICAgdGhpcy5faW5OYXZiYXIgPSB0aGlzLl9kZXRlY3ROYXZiYXIoKTtcbiAgICB0aGlzLl9pbkhlYWRlciA9IHRoaXMuX2RldGVjdEhlYWRlcigpO1xuXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ2LCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gRHJvcGRvd24ucHJvdG90eXBlO1xuXG4gIC8vIFB1YmxpY1xuICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLl9lbGVtZW50LmRpc2FibGVkIHx8IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRElTQUJMRUQkMSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgaXNBY3RpdmUgPSB0aGlzLl9tZW51LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMik7XG5cbiAgICBEcm9wZG93bi5jbGVhck1lbnVzKCk7XG5cbiAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3coKTtcbiAgfTtcblxuICBfcHJvdG8uc2hvdyA9IGZ1bmN0aW9uIHNob3coKSB7XG4gICAgaWYgKHRoaXMuX2VsZW1lbnQuZGlzYWJsZWQgfHwgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9ESVNBQkxFRCQxKSB8fCB0aGlzLl9tZW51LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50ID0gRHJvcGRvd24uZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSB7XG4gICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50XG4gICAgfTtcbiAgICB2YXIgc2hvd0V2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIocGFyZW50LCBFVkVOVF9TSE9XJDEsIHJlbGF0ZWRUYXJnZXQpO1xuXG4gICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBEaXNhYmxlIHRvdGFsbHkgUG9wcGVyLmpzIGZvciBEcm9wZG93biBpbiBOYXZiYXJcblxuXG4gICAgaWYgKCF0aGlzLl9pbk5hdmJhciAmJiAhdGhpcy5faW5IZWFkZXIpIHtcbiAgICAgIGlmICh0eXBlb2YgY3JlYXRlUG9wcGVyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdDb3JlVUlcXCdzIGRyb3Bkb3ducyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKScpO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQ7XG5cbiAgICAgIGlmICh0aGlzLl9jb25maWcucmVmZXJlbmNlID09PSAncGFyZW50Jykge1xuICAgICAgICByZWZlcmVuY2VFbGVtZW50ID0gcGFyZW50O1xuICAgICAgfSBlbHNlIGlmIChpc0VsZW1lbnQodGhpcy5fY29uZmlnLnJlZmVyZW5jZSkpIHtcbiAgICAgICAgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2NvbmZpZy5yZWZlcmVuY2U7IC8vIENoZWNrIGlmIGl0J3MgalF1ZXJ5IGVsZW1lbnRcblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX2NvbmZpZy5yZWZlcmVuY2UuanF1ZXJ5ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHJlZmVyZW5jZUVsZW1lbnQgPSB0aGlzLl9jb25maWcucmVmZXJlbmNlWzBdO1xuICAgICAgICB9XG4gICAgICB9IC8vIElmIGJvdW5kYXJ5IGlzIG5vdCBgc2Nyb2xsUGFyZW50YCwgdGhlbiBzZXQgcG9zaXRpb24gdG8gYHN0YXRpY2BcbiAgICAgIC8vIHRvIGFsbG93IHRoZSBtZW51IHRvIFwiZXNjYXBlXCIgdGhlIHNjcm9sbCBwYXJlbnQncyBib3VuZGFyaWVzXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MjUxXG5cblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5ib3VuZGFyeSAhPT0gJ3Njcm9sbFBhcmVudCcpIHtcbiAgICAgICAgcGFyZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9QT1NJVElPTl9TVEFUSUMpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9wb3BwZXIgPSBjcmVhdGVQb3BwZXIocmVmZXJlbmNlRWxlbWVudCwgdGhpcy5fbWVudSwgdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKCkpO1xuICAgIH0gLy8gSWYgdGhpcyBpcyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlIHdlIGFkZCBleHRyYVxuICAgIC8vIGVtcHR5IG1vdXNlb3ZlciBsaXN0ZW5lcnMgdG8gdGhlIGJvZHkncyBpbW1lZGlhdGUgY2hpbGRyZW47XG4gICAgLy8gb25seSBuZWVkZWQgYmVjYXVzZSBvZiBicm9rZW4gZXZlbnQgZGVsZWdhdGlvbiBvbiBpT1NcbiAgICAvLyBodHRwczovL3d3dy5xdWlya3Ntb2RlLm9yZy9ibG9nL2FyY2hpdmVzLzIwMTQvMDIvbW91c2VfZXZlbnRfYnViLmh0bWxcblxuXG4gICAgaWYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiAhcGFyZW50LmNsb3Nlc3QoU0VMRUNUT1JfTkFWQkFSX05BVikpIHtcbiAgICAgIHZhciBfcmVmO1xuXG4gICAgICAoX3JlZiA9IFtdKS5jb25jYXQuYXBwbHkoX3JlZiwgZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgICByZXR1cm4gRXZlbnRIYW5kbGVyLm9uKGVsZW0sICdtb3VzZW92ZXInLCBudWxsLCBub29wKCkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiAhcGFyZW50LmNsb3Nlc3QoU0VMRUNUT1JfSEVBREVSX05BVikpIHtcbiAgICAgIHZhciBfcmVmMjtcblxuICAgICAgKF9yZWYyID0gW10pLmNvbmNhdC5hcHBseShfcmVmMiwgZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgICByZXR1cm4gRXZlbnRIYW5kbGVyLm9uKGVsZW0sICdtb3VzZW92ZXInLCBudWxsLCBub29wKCkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudC5mb2N1cygpO1xuXG4gICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCB0cnVlKTtcblxuICAgIE1hbmlwdWxhdG9yLnRvZ2dsZUNsYXNzKHRoaXMuX21lbnUsIENMQVNTX05BTUVfU0hPVyQyKTtcbiAgICBNYW5pcHVsYXRvci50b2dnbGVDbGFzcyhwYXJlbnQsIENMQVNTX05BTUVfU0hPVyQyKTtcbiAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihwYXJlbnQsIEVWRU5UX1NIT1dOJDEsIHJlbGF0ZWRUYXJnZXQpO1xuICB9O1xuXG4gIF9wcm90by5oaWRlID0gZnVuY3Rpb24gaGlkZSgpIHtcbiAgICBpZiAodGhpcy5fZWxlbWVudC5kaXNhYmxlZCB8fCB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0RJU0FCTEVEJDEpIHx8ICF0aGlzLl9tZW51LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50ID0gRHJvcGRvd24uZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSB7XG4gICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50XG4gICAgfTtcbiAgICB2YXIgaGlkZUV2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIocGFyZW50LCBFVkVOVF9ISURFJDEsIHJlbGF0ZWRUYXJnZXQpO1xuXG4gICAgaWYgKGhpZGVFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3BvcHBlcikge1xuICAgICAgdGhpcy5fcG9wcGVyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBNYW5pcHVsYXRvci50b2dnbGVDbGFzcyh0aGlzLl9tZW51LCBDTEFTU19OQU1FX1NIT1ckMik7XG4gICAgTWFuaXB1bGF0b3IudG9nZ2xlQ2xhc3MocGFyZW50LCBDTEFTU19OQU1FX1NIT1ckMik7XG4gICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIocGFyZW50LCBFVkVOVF9ISURERU4kMSwgcmVsYXRlZFRhcmdldCk7XG4gIH07XG5cbiAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgIERhdGEucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBEQVRBX0tFWSQ2KTtcbiAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWSQ2KTtcbiAgICB0aGlzLl9lbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl9tZW51ID0gbnVsbDtcblxuICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgIHRoaXMuX3BvcHBlci5kZXN0cm95KCk7XG5cbiAgICAgIHRoaXMuX3BvcHBlciA9IG51bGw7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUoKSB7XG4gICAgdGhpcy5faW5OYXZiYXIgPSB0aGlzLl9kZXRlY3ROYXZiYXIoKTtcbiAgICB0aGlzLl9pbkhlYWRlciA9IHRoaXMuX2RldGVjdEhlYWRlcigpO1xuXG4gICAgaWYgKHRoaXMuX3BvcHBlcikge1xuICAgICAgdGhpcy5fcG9wcGVyLnVwZGF0ZSgpO1xuICAgIH1cbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2FkZEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24gX2FkZEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xJQ0ssIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICBfdGhpcy50b2dnbGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCksIE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKHRoaXMuX2VsZW1lbnQpKSwgY29uZmlnKTtcbiAgICB0eXBlQ2hlY2tDb25maWcoTkFNRSQ2LCBjb25maWcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpO1xuICAgIHJldHVybiBjb25maWc7XG4gIH07XG5cbiAgX3Byb3RvLl9nZXRNZW51RWxlbWVudCA9IGZ1bmN0aW9uIF9nZXRNZW51RWxlbWVudCgpIHtcbiAgICB2YXIgcGFyZW50ID0gRHJvcGRvd24uZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgcmV0dXJuIFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfTUVOVSwgcGFyZW50KTtcbiAgfTtcblxuICBfcHJvdG8uX2dldFBsYWNlbWVudCA9IGZ1bmN0aW9uIF9nZXRQbGFjZW1lbnQoKSB7XG4gICAgdmFyIHBhcmVudERyb3Bkb3duID0gdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlO1xuICAgIHZhciBwbGFjZW1lbnQgPSBQTEFDRU1FTlRfQk9UVE9NOyAvLyBIYW5kbGUgZHJvcHVwXG5cbiAgICBpZiAocGFyZW50RHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUFVQKSkge1xuICAgICAgcGxhY2VtZW50ID0gUExBQ0VNRU5UX1RPUDtcblxuICAgICAgaWYgKHRoaXMuX21lbnUuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfTUVOVVJJR0hUKSkge1xuICAgICAgICBwbGFjZW1lbnQgPSBQTEFDRU1FTlRfVE9QRU5EO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocGFyZW50RHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUFJJR0hUKSkge1xuICAgICAgcGxhY2VtZW50ID0gUExBQ0VNRU5UX1JJR0hUO1xuICAgIH0gZWxzZSBpZiAocGFyZW50RHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUExFRlQpKSB7XG4gICAgICBwbGFjZW1lbnQgPSBQTEFDRU1FTlRfTEVGVDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21lbnUuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfTUVOVVJJR0hUKSkge1xuICAgICAgcGxhY2VtZW50ID0gUExBQ0VNRU5UX0JPVFRPTUVORDtcbiAgICB9XG5cbiAgICByZXR1cm4gcGxhY2VtZW50O1xuICB9O1xuXG4gIF9wcm90by5fZGV0ZWN0TmF2YmFyID0gZnVuY3Rpb24gX2RldGVjdE5hdmJhcigpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9lbGVtZW50LmNsb3Nlc3QoXCIuXCIgKyBDTEFTU19OQU1FX05BVkJBUikpO1xuICB9O1xuXG4gIF9wcm90by5fZGV0ZWN0SGVhZGVyID0gZnVuY3Rpb24gX2RldGVjdEhlYWRlcigpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9lbGVtZW50LmNsb3Nlc3QoXCIuXCIgKyBDTEFTU19OQU1FX0hFQURFUikpO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0T2Zmc2V0ID0gZnVuY3Rpb24gX2dldE9mZnNldCgpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHZhciBvZmZzZXQgPSBbXTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5fY29uZmlnLm9mZnNldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb2Zmc2V0ID0gZnVuY3Rpb24gb2Zmc2V0KF9yZWYzKSB7XG4gICAgICAgIHZhciBwbGFjZW1lbnQgPSBfcmVmMy5wbGFjZW1lbnQsXG4gICAgICAgICAgICByZWZlcmVuY2UgPSBfcmVmMy5yZWZlcmVuY2UsXG4gICAgICAgICAgICBwb3BwZXIgPSBfcmVmMy5wb3BwZXI7XG4gICAgICAgIHJldHVybiBfdGhpczIuX2NvbmZpZy5vZmZzZXQoe1xuICAgICAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50LFxuICAgICAgICAgIHJlZmVyZW5jZTogcmVmZXJlbmNlLFxuICAgICAgICAgIHBvcHBlcjogcG9wcGVyXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgb2Zmc2V0ID0gdGhpcy5fY29uZmlnLm9mZnNldDtcbiAgICB9XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9O1xuXG4gIF9wcm90by5fZ2V0UG9wcGVyQ29uZmlnID0gZnVuY3Rpb24gX2dldFBvcHBlckNvbmZpZygpIHtcbiAgICB2YXIgcG9wcGVyQ29uZmlnID0ge1xuICAgICAgcGxhY2VtZW50OiB0aGlzLl9nZXRQbGFjZW1lbnQoKSxcbiAgICAgIG1vZGlmaWVyczogW3tcbiAgICAgICAgbmFtZTogJ29mZnNldCcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBvZmZzZXQ6IHRoaXMuX2dldE9mZnNldCgpXG4gICAgICAgIH1cbiAgICAgIH0sIHtcbiAgICAgICAgbmFtZTogJ2ZsaXAnLFxuICAgICAgICBlbmFibGVkOiB0aGlzLl9jb25maWcuZmxpcFxuICAgICAgfSwge1xuICAgICAgICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGJvdW5kYXJ5OiB0aGlzLl9jb25maWcuYm91bmRhcnlcbiAgICAgICAgfVxuICAgICAgfV1cbiAgICB9OyAvLyBEaXNhYmxlIFBvcHBlci5qcyBpZiB3ZSBoYXZlIGEgc3RhdGljIGRpc3BsYXlcblxuICAgIGlmICh0aGlzLl9jb25maWcuZGlzcGxheSA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIHBvcHBlckNvbmZpZy5tb2RpZmllcnMgPSB7XG4gICAgICAgIG5hbWU6ICdhcHBseVN0eWxlcycsXG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgcG9wcGVyQ29uZmlnKSwgdGhpcy5fY29uZmlnLnBvcHBlckNvbmZpZyk7XG4gIH0gLy8gU3RhdGljXG4gIDtcblxuICBEcm9wZG93bi5kcm9wZG93bkludGVyZmFjZSA9IGZ1bmN0aW9uIGRyb3Bkb3duSW50ZXJmYWNlKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDYpO1xuXG4gICAgdmFyIF9jb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyA/IGNvbmZpZyA6IG51bGw7XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGRhdGEgPSBuZXcgRHJvcGRvd24oZWxlbWVudCwgX2NvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICB9XG5cbiAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgIH1cbiAgfTtcblxuICBEcm9wZG93bi5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBEcm9wZG93bi5kcm9wZG93bkludGVyZmFjZSh0aGlzLCBjb25maWcpO1xuICAgIH0pO1xuICB9O1xuXG4gIERyb3Bkb3duLmNsZWFyTWVudXMgPSBmdW5jdGlvbiBjbGVhck1lbnVzKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50ICYmIChldmVudC5idXR0b24gPT09IFJJR0hUX01PVVNFX0JVVFRPTiB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIGV2ZW50LmtleSAhPT0gVEFCX0tFWSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdG9nZ2xlcyA9IFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfREFUQV9UT0dHTEUkMik7XG5cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gdG9nZ2xlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgdmFyIHBhcmVudCA9IERyb3Bkb3duLmdldFBhcmVudEZyb21FbGVtZW50KHRvZ2dsZXNbaV0pO1xuICAgICAgdmFyIGNvbnRleHQgPSBEYXRhLmdldERhdGEodG9nZ2xlc1tpXSwgREFUQV9LRVkkNik7XG4gICAgICB2YXIgcmVsYXRlZFRhcmdldCA9IHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogdG9nZ2xlc1tpXVxuICAgICAgfTtcblxuICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnR5cGUgPT09ICdjbGljaycpIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldC5jbGlja0V2ZW50ID0gZXZlbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghY29udGV4dCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdmFyIGRyb3Bkb3duTWVudSA9IGNvbnRleHQuX21lbnU7XG5cbiAgICAgIGlmICghcGFyZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMikpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudCAmJiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiAvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGV2ZW50LnRhcmdldC50YWdOYW1lKSB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIGV2ZW50LmtleSA9PT0gVEFCX0tFWSkgJiYgcGFyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcihwYXJlbnQsIEVWRU5UX0hJREUkMSwgcmVsYXRlZFRhcmdldCk7XG5cbiAgICAgIGlmIChoaWRlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gLy8gSWYgdGhpcyBpcyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlIHdlIHJlbW92ZSB0aGUgZXh0cmFcbiAgICAgIC8vIGVtcHR5IG1vdXNlb3ZlciBsaXN0ZW5lcnMgd2UgYWRkZWQgZm9yIGlPUyBzdXBwb3J0XG5cblxuICAgICAgaWYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgICB2YXIgX3JlZjQ7XG5cbiAgICAgICAgKF9yZWY0ID0gW10pLmNvbmNhdC5hcHBseShfcmVmNCwgZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgICAgIHJldHVybiBFdmVudEhhbmRsZXIub2ZmKGVsZW0sICdtb3VzZW92ZXInLCBudWxsLCBub29wKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdG9nZ2xlc1tpXS5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcblxuICAgICAgaWYgKGNvbnRleHQuX3BvcHBlcikge1xuICAgICAgICBjb250ZXh0Ll9wb3BwZXIuZGVzdHJveSgpO1xuICAgICAgfVxuXG4gICAgICBkcm9wZG93bk1lbnUuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1ckMik7XG4gICAgICBwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1ckMik7XG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihwYXJlbnQsIEVWRU5UX0hJRERFTiQxLCByZWxhdGVkVGFyZ2V0KTtcbiAgICB9XG4gIH07XG5cbiAgRHJvcGRvd24uZ2V0UGFyZW50RnJvbUVsZW1lbnQgPSBmdW5jdGlvbiBnZXRQYXJlbnRGcm9tRWxlbWVudChlbGVtZW50KSB7XG4gICAgcmV0dXJuIGdldEVsZW1lbnRGcm9tU2VsZWN0b3IoZWxlbWVudCkgfHwgZWxlbWVudC5wYXJlbnROb2RlO1xuICB9O1xuXG4gIERyb3Bkb3duLmRhdGFBcGlLZXlkb3duSGFuZGxlciA9IGZ1bmN0aW9uIGRhdGFBcGlLZXlkb3duSGFuZGxlcihldmVudCkge1xuICAgIC8vIElmIG5vdCBpbnB1dC90ZXh0YXJlYTpcbiAgICAvLyAgLSBBbmQgbm90IGEga2V5IGluIFJFR0VYUF9LRVlET1dOID0+IG5vdCBhIGRyb3Bkb3duIGNvbW1hbmRcbiAgICAvLyBJZiBpbnB1dC90ZXh0YXJlYTpcbiAgICAvLyAgLSBJZiBzcGFjZSBrZXkgPT4gbm90IGEgZHJvcGRvd24gY29tbWFuZFxuICAgIC8vICAtIElmIGtleSBpcyBvdGhlciB0aGFuIGVzY2FwZVxuICAgIC8vICAgIC0gSWYga2V5IGlzIG5vdCB1cCBvciBkb3duID0+IG5vdCBhIGRyb3Bkb3duIGNvbW1hbmRcbiAgICAvLyAgICAtIElmIHRyaWdnZXIgaW5zaWRlIHRoZSBtZW51ID0+IG5vdCBhIGRyb3Bkb3duIGNvbW1hbmRcbiAgICBpZiAoL2lucHV0fHRleHRhcmVhL2kudGVzdChldmVudC50YXJnZXQudGFnTmFtZSkgPyBldmVudC5rZXkgPT09IFNQQUNFX0tFWSB8fCBldmVudC5rZXkgIT09IEVTQ0FQRV9LRVkgJiYgKGV2ZW50LmtleSAhPT0gQVJST1dfRE9XTl9LRVkgJiYgZXZlbnQua2V5ICE9PSBBUlJPV19VUF9LRVkgfHwgZXZlbnQudGFyZ2V0LmNsb3Nlc3QoU0VMRUNUT1JfTUVOVSkpIDogIVJFR0VYUF9LRVlET1dOLnRlc3QoZXZlbnQua2V5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0RJU0FCTEVEJDEpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHBhcmVudCA9IERyb3Bkb3duLmdldFBhcmVudEZyb21FbGVtZW50KHRoaXMpO1xuICAgIHZhciBpc0FjdGl2ZSA9IHBhcmVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSE9XJDIpO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSkge1xuICAgICAgdmFyIGJ1dHRvbiA9IHRoaXMubWF0Y2hlcyhTRUxFQ1RPUl9EQVRBX1RPR0dMRSQyKSA/IHRoaXMgOiBTZWxlY3RvckVuZ2luZS5wcmV2KHRoaXMsIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDIpWzBdO1xuICAgICAgYnV0dG9uLmZvY3VzKCk7XG4gICAgICBEcm9wZG93bi5jbGVhck1lbnVzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpc0FjdGl2ZSB8fCBldmVudC5rZXkgPT09IFNQQUNFX0tFWSkge1xuICAgICAgRHJvcGRvd24uY2xlYXJNZW51cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBpdGVtcyA9IFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfVklTSUJMRV9JVEVNUywgcGFyZW50KS5maWx0ZXIoaXNWaXNpYmxlKTtcblxuICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGluZGV4ID0gaXRlbXMuaW5kZXhPZihldmVudC50YXJnZXQpO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gQVJST1dfVVBfS0VZICYmIGluZGV4ID4gMCkge1xuICAgICAgLy8gVXBcbiAgICAgIGluZGV4LS07XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gQVJST1dfRE9XTl9LRVkgJiYgaW5kZXggPCBpdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAvLyBEb3duXG4gICAgICBpbmRleCsrO1xuICAgIH0gLy8gaW5kZXggaXMgLTEgaWYgdGhlIGZpcnN0IGtleWRvd24gaXMgYW4gQXJyb3dVcFxuXG5cbiAgICBpbmRleCA9IGluZGV4ID09PSAtMSA/IDAgOiBpbmRleDtcbiAgICBpdGVtc1tpbmRleF0uZm9jdXMoKTtcbiAgfTtcblxuICBEcm9wZG93bi5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDYpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhEcm9wZG93biwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kNjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHQkNDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFR5cGVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEZWZhdWx0VHlwZSQzO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBEcm9wZG93bjtcbn0oKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0tFWURPV05fREFUQV9BUEksIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDIsIERyb3Bkb3duLmRhdGFBcGlLZXlkb3duSGFuZGxlcik7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0tFWURPV05fREFUQV9BUEksIFNFTEVDVE9SX01FTlUsIERyb3Bkb3duLmRhdGFBcGlLZXlkb3duSGFuZGxlcik7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDYsIERyb3Bkb3duLmNsZWFyTWVudXMpO1xuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9LRVlVUF9EQVRBX0FQSSwgRHJvcGRvd24uY2xlYXJNZW51cyk7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDYsIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDIsIGZ1bmN0aW9uIChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgRHJvcGRvd24uZHJvcGRvd25JbnRlcmZhY2UodGhpcywgJ3RvZ2dsZScpO1xufSk7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDYsIFNFTEVDVE9SX0ZPUk1fQ0hJTEQsIGZ1bmN0aW9uIChlKSB7XG4gIHJldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpO1xufSk7XG52YXIgJCQ3ID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuZHJvcGRvd24gdG8galF1ZXJ5IG9ubHkgaWYgalF1ZXJ5IGlzIHByZXNlbnRcbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkNykge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJDYgPSAkJDcuZm5bTkFNRSQ2XTtcbiAgJCQ3LmZuW05BTUUkNl0gPSBEcm9wZG93bi5qUXVlcnlJbnRlcmZhY2U7XG4gICQkNy5mbltOQU1FJDZdLkNvbnN0cnVjdG9yID0gRHJvcGRvd247XG5cbiAgJCQ3LmZuW05BTUUkNl0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkJDcuZm5bTkFNRSQ2XSA9IEpRVUVSWV9OT19DT05GTElDVCQ2O1xuICAgIHJldHVybiBEcm9wZG93bi5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJDcgPSAnbW9kYWwnO1xudmFyIFZFUlNJT04kNyA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkNyA9ICdjb3JldWkubW9kYWwnO1xudmFyIEVWRU5UX0tFWSQ3ID0gXCIuXCIgKyBEQVRBX0tFWSQ3O1xudmFyIERBVEFfQVBJX0tFWSQ3ID0gJy5kYXRhLWFwaSc7XG52YXIgRVNDQVBFX0tFWSQxID0gJ0VzY2FwZSc7XG52YXIgRGVmYXVsdCQ1ID0ge1xuICBiYWNrZHJvcDogdHJ1ZSxcbiAga2V5Ym9hcmQ6IHRydWUsXG4gIGZvY3VzOiB0cnVlLFxuICBzaG93OiB0cnVlXG59O1xudmFyIERlZmF1bHRUeXBlJDQgPSB7XG4gIGJhY2tkcm9wOiAnKGJvb2xlYW58c3RyaW5nKScsXG4gIGtleWJvYXJkOiAnYm9vbGVhbicsXG4gIGZvY3VzOiAnYm9vbGVhbicsXG4gIHNob3c6ICdib29sZWFuJ1xufTtcbnZhciBFVkVOVF9ISURFJDIgPSBcImhpZGVcIiArIEVWRU5UX0tFWSQ3O1xudmFyIEVWRU5UX0hJREVfUFJFVkVOVEVEID0gXCJoaWRlUHJldmVudGVkXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9ISURERU4kMiA9IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9TSE9XJDIgPSBcInNob3dcIiArIEVWRU5UX0tFWSQ3O1xudmFyIEVWRU5UX1NIT1dOJDIgPSBcInNob3duXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9GT0NVU0lOID0gXCJmb2N1c2luXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9SRVNJWkUgPSBcInJlc2l6ZVwiICsgRVZFTlRfS0VZJDc7XG52YXIgRVZFTlRfQ0xJQ0tfRElTTUlTUyA9IFwiY2xpY2suZGlzbWlzc1wiICsgRVZFTlRfS0VZJDc7XG52YXIgRVZFTlRfS0VZRE9XTl9ESVNNSVNTID0gXCJrZXlkb3duLmRpc21pc3NcIiArIEVWRU5UX0tFWSQ3O1xudmFyIEVWRU5UX01PVVNFVVBfRElTTUlTUyA9IFwibW91c2V1cC5kaXNtaXNzXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9NT1VTRURPV05fRElTTUlTUyA9IFwibW91c2Vkb3duLmRpc21pc3NcIiArIEVWRU5UX0tFWSQ3O1xudmFyIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDcgPSBcImNsaWNrXCIgKyBFVkVOVF9LRVkkNyArIERBVEFfQVBJX0tFWSQ3O1xudmFyIENMQVNTX05BTUVfU0NST0xMQkFSX01FQVNVUkVSID0gJ21vZGFsLXNjcm9sbGJhci1tZWFzdXJlJztcbnZhciBDTEFTU19OQU1FX0JBQ0tEUk9QID0gJ21vZGFsLWJhY2tkcm9wJztcbnZhciBDTEFTU19OQU1FX09QRU4gPSAnbW9kYWwtb3Blbic7XG52YXIgQ0xBU1NfTkFNRV9GQURFID0gJ2ZhZGUnO1xudmFyIENMQVNTX05BTUVfU0hPVyQzID0gJ3Nob3cnO1xudmFyIENMQVNTX05BTUVfU1RBVElDID0gJ21vZGFsLXN0YXRpYyc7XG52YXIgU0VMRUNUT1JfRElBTE9HID0gJy5tb2RhbC1kaWFsb2cnO1xudmFyIFNFTEVDVE9SX01PREFMX0JPRFkgPSAnLm1vZGFsLWJvZHknO1xudmFyIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDMgPSAnW2RhdGEtdG9nZ2xlPVwibW9kYWxcIl0nO1xudmFyIFNFTEVDVE9SX0RBVEFfRElTTUlTUyA9ICdbZGF0YS1kaXNtaXNzPVwibW9kYWxcIl0nO1xudmFyIFNFTEVDVE9SX0ZJWEVEX0NPTlRFTlQgPSAnLmZpeGVkLXRvcCwgLmZpeGVkLWJvdHRvbSwgLmlzLWZpeGVkLCAuc3RpY2t5LXRvcCc7XG52YXIgU0VMRUNUT1JfU1RJQ0tZX0NPTlRFTlQgPSAnLnN0aWNreS10b3AnO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBNb2RhbCA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIE1vZGFsKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX2RpYWxvZyA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfRElBTE9HLCBlbGVtZW50KTtcbiAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgdGhpcy5faXNTaG93biA9IGZhbHNlO1xuICAgIHRoaXMuX2lzQm9keU92ZXJmbG93aW5nID0gZmFsc2U7XG4gICAgdGhpcy5faWdub3JlQmFja2Ryb3BDbGljayA9IGZhbHNlO1xuICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgIHRoaXMuX3Njcm9sbGJhcldpZHRoID0gMDtcbiAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkNywgdGhpcyk7XG4gIH0gLy8gR2V0dGVyc1xuXG5cbiAgdmFyIF9wcm90byA9IE1vZGFsLnByb3RvdHlwZTtcblxuICAvLyBQdWJsaWNcbiAgX3Byb3RvLnRvZ2dsZSA9IGZ1bmN0aW9uIHRvZ2dsZShyZWxhdGVkVGFyZ2V0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU2hvd24gPyB0aGlzLmhpZGUoKSA6IHRoaXMuc2hvdyhyZWxhdGVkVGFyZ2V0KTtcbiAgfTtcblxuICBfcHJvdG8uc2hvdyA9IGZ1bmN0aW9uIHNob3cocmVsYXRlZFRhcmdldCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNTaG93biB8fCB0aGlzLl9pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFKSkge1xuICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YXIgc2hvd0V2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVyQyLCB7XG4gICAgICByZWxhdGVkVGFyZ2V0OiByZWxhdGVkVGFyZ2V0XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5faXNTaG93biB8fCBzaG93RXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzU2hvd24gPSB0cnVlO1xuXG4gICAgdGhpcy5fY2hlY2tTY3JvbGxiYXIoKTtcblxuICAgIHRoaXMuX3NldFNjcm9sbGJhcigpO1xuXG4gICAgdGhpcy5fYWRqdXN0RGlhbG9nKCk7XG5cbiAgICB0aGlzLl9zZXRFc2NhcGVFdmVudCgpO1xuXG4gICAgdGhpcy5fc2V0UmVzaXplRXZlbnQoKTtcblxuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9DTElDS19ESVNNSVNTLCBTRUxFQ1RPUl9EQVRBX0RJU01JU1MsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgcmV0dXJuIF90aGlzLmhpZGUoZXZlbnQpO1xuICAgIH0pO1xuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9kaWFsb2csIEVWRU5UX01PVVNFRE9XTl9ESVNNSVNTLCBmdW5jdGlvbiAoKSB7XG4gICAgICBFdmVudEhhbmRsZXIub25lKF90aGlzLl9lbGVtZW50LCBFVkVOVF9NT1VTRVVQX0RJU01JU1MsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSBfdGhpcy5fZWxlbWVudCkge1xuICAgICAgICAgIF90aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLl9zaG93RWxlbWVudChyZWxhdGVkVGFyZ2V0KTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoZXZlbnQpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2lzU2hvd24gfHwgdGhpcy5faXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGhpZGVFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJREUkMik7XG5cbiAgICBpZiAoaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1Nob3duID0gZmFsc2U7XG5cbiAgICB2YXIgdHJhbnNpdGlvbiA9IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRkFERSk7XG5cbiAgICBpZiAodHJhbnNpdGlvbikge1xuICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRFc2NhcGVFdmVudCgpO1xuXG4gICAgdGhpcy5fc2V0UmVzaXplRXZlbnQoKTtcblxuICAgIEV2ZW50SGFuZGxlci5vZmYoZG9jdW1lbnQsIEVWRU5UX0ZPQ1VTSU4pO1xuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyQzKTtcblxuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xJQ0tfRElTTUlTUyk7XG4gICAgRXZlbnRIYW5kbGVyLm9mZih0aGlzLl9kaWFsb2csIEVWRU5UX01PVVNFRE9XTl9ESVNNSVNTKTtcblxuICAgIGlmICh0cmFuc2l0aW9uKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMi5faGlkZU1vZGFsKGV2ZW50KTtcbiAgICAgIH0pO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQodGhpcy5fZWxlbWVudCwgdHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faGlkZU1vZGFsKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5kaXNwb3NlID0gZnVuY3Rpb24gZGlzcG9zZSgpIHtcbiAgICBbd2luZG93LCB0aGlzLl9lbGVtZW50LCB0aGlzLl9kaWFsb2ddLmZvckVhY2goZnVuY3Rpb24gKGh0bWxFbGVtZW50KSB7XG4gICAgICByZXR1cm4gRXZlbnRIYW5kbGVyLm9mZihodG1sRWxlbWVudCwgRVZFTlRfS0VZJDcpO1xuICAgIH0pO1xuICAgIC8qKlxuICAgICAqIGBkb2N1bWVudGAgaGFzIDIgZXZlbnRzIGBFVkVOVF9GT0NVU0lOYCBhbmQgYEVWRU5UX0NMSUNLX0RBVEFfQVBJYFxuICAgICAqIERvIG5vdCBtb3ZlIGBkb2N1bWVudGAgaW4gYGh0bWxFbGVtZW50c2AgYXJyYXlcbiAgICAgKiBJdCB3aWxsIHJlbW92ZSBgRVZFTlRfQ0xJQ0tfREFUQV9BUElgIGV2ZW50IHRoYXQgc2hvdWxkIHJlbWFpblxuICAgICAqL1xuXG4gICAgRXZlbnRIYW5kbGVyLm9mZihkb2N1bWVudCwgRVZFTlRfRk9DVVNJTik7XG4gICAgRGF0YS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDcpO1xuICAgIHRoaXMuX2NvbmZpZyA9IG51bGw7XG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fZGlhbG9nID0gbnVsbDtcbiAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgdGhpcy5faXNTaG93biA9IG51bGw7XG4gICAgdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgPSBudWxsO1xuICAgIHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2sgPSBudWxsO1xuICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IG51bGw7XG4gICAgdGhpcy5fc2Nyb2xsYmFyV2lkdGggPSBudWxsO1xuICB9O1xuXG4gIF9wcm90by5oYW5kbGVVcGRhdGUgPSBmdW5jdGlvbiBoYW5kbGVVcGRhdGUoKSB7XG4gICAgdGhpcy5fYWRqdXN0RGlhbG9nKCk7XG4gIH0gLy8gUHJpdmF0ZVxuICA7XG5cbiAgX3Byb3RvLl9nZXRDb25maWcgPSBmdW5jdGlvbiBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgIGNvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0JDUpLCBjb25maWcpO1xuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJDcsIGNvbmZpZywgRGVmYXVsdFR5cGUkNCk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX3Nob3dFbGVtZW50ID0gZnVuY3Rpb24gX3Nob3dFbGVtZW50KHJlbGF0ZWRUYXJnZXQpIHtcbiAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgIHZhciB0cmFuc2l0aW9uID0gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFKTtcblxuICAgIHZhciBtb2RhbEJvZHkgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX01PREFMX0JPRFksIHRoaXMuX2RpYWxvZyk7XG5cbiAgICBpZiAoIXRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSB8fCB0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGUgIT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XG4gICAgICAvLyBEb24ndCBtb3ZlIG1vZGFsJ3MgRE9NIHBvc2l0aW9uXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICB0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLW1vZGFsJywgdHJ1ZSk7XG5cbiAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgncm9sZScsICdkaWFsb2cnKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuc2Nyb2xsVG9wID0gMDtcblxuICAgIGlmIChtb2RhbEJvZHkpIHtcbiAgICAgIG1vZGFsQm9keS5zY3JvbGxUb3AgPSAwO1xuICAgIH1cblxuICAgIGlmICh0cmFuc2l0aW9uKSB7XG4gICAgICByZWZsb3codGhpcy5fZWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVyQzKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcuZm9jdXMpIHtcbiAgICAgIHRoaXMuX2VuZm9yY2VGb2N1cygpO1xuICAgIH1cblxuICAgIHZhciB0cmFuc2l0aW9uQ29tcGxldGUgPSBmdW5jdGlvbiB0cmFuc2l0aW9uQ29tcGxldGUoKSB7XG4gICAgICBpZiAoX3RoaXMzLl9jb25maWcuZm9jdXMpIHtcbiAgICAgICAgX3RoaXMzLl9lbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG5cbiAgICAgIF90aGlzMy5faXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpczMuX2VsZW1lbnQsIEVWRU5UX1NIT1dOJDIsIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICh0cmFuc2l0aW9uKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZGlhbG9nKTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZGlhbG9nLCBUUkFOU0lUSU9OX0VORCwgdHJhbnNpdGlvbkNvbXBsZXRlKTtcbiAgICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMuX2RpYWxvZywgdHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbkNvbXBsZXRlKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fZW5mb3JjZUZvY3VzID0gZnVuY3Rpb24gX2VuZm9yY2VGb2N1cygpIHtcbiAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgIEV2ZW50SGFuZGxlci5vZmYoZG9jdW1lbnQsIEVWRU5UX0ZPQ1VTSU4pOyAvLyBndWFyZCBhZ2FpbnN0IGluZmluaXRlIGZvY3VzIGxvb3BcblxuICAgIEV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfRk9DVVNJTiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBpZiAoZG9jdW1lbnQgIT09IGV2ZW50LnRhcmdldCAmJiBfdGhpczQuX2VsZW1lbnQgIT09IGV2ZW50LnRhcmdldCAmJiAhX3RoaXM0Ll9lbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgX3RoaXM0Ll9lbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgX3Byb3RvLl9zZXRFc2NhcGVFdmVudCA9IGZ1bmN0aW9uIF9zZXRFc2NhcGVFdmVudCgpIHtcbiAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgIGlmICh0aGlzLl9pc1Nob3duKSB7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfS0VZRE9XTl9ESVNNSVNTLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgaWYgKF90aGlzNS5fY29uZmlnLmtleWJvYXJkICYmIGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSQxKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgIF90aGlzNS5oaWRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIV90aGlzNS5fY29uZmlnLmtleWJvYXJkICYmIGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSQxKSB7XG4gICAgICAgICAgX3RoaXM1Ll90cmlnZ2VyQmFja2Ryb3BUcmFuc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWURPV05fRElTTUlTUyk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fc2V0UmVzaXplRXZlbnQgPSBmdW5jdGlvbiBfc2V0UmVzaXplRXZlbnQoKSB7XG4gICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNTaG93bikge1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfUkVTSVpFLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfdGhpczYuX2FkanVzdERpYWxvZygpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vZmYod2luZG93LCBFVkVOVF9SRVNJWkUpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2hpZGVNb2RhbCA9IGZ1bmN0aW9uIF9oaWRlTW9kYWwoKSB7XG4gICAgdmFyIF90aGlzNyA9IHRoaXM7XG5cbiAgICB0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cbiAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTtcblxuICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW1vZGFsJyk7XG5cbiAgICB0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgncm9sZScpO1xuXG4gICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG5cbiAgICB0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24gKCkge1xuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfT1BFTik7XG5cbiAgICAgIF90aGlzNy5fcmVzZXRBZGp1c3RtZW50cygpO1xuXG4gICAgICBfdGhpczcuX3Jlc2V0U2Nyb2xsYmFyKCk7XG5cbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzNy5fZWxlbWVudCwgRVZFTlRfSElEREVOJDIpO1xuICAgIH0pO1xuICB9O1xuXG4gIF9wcm90by5fcmVtb3ZlQmFja2Ryb3AgPSBmdW5jdGlvbiBfcmVtb3ZlQmFja2Ryb3AoKSB7XG4gICAgdGhpcy5fYmFja2Ryb3AucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLl9iYWNrZHJvcCk7XG5cbiAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gIH07XG5cbiAgX3Byb3RvLl9zaG93QmFja2Ryb3AgPSBmdW5jdGlvbiBfc2hvd0JhY2tkcm9wKGNhbGxiYWNrKSB7XG4gICAgdmFyIF90aGlzOCA9IHRoaXM7XG5cbiAgICB2YXIgYW5pbWF0ZSA9IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRkFERSkgPyBDTEFTU19OQU1FX0ZBREUgOiAnJztcblxuICAgIGlmICh0aGlzLl9pc1Nob3duICYmIHRoaXMuX2NvbmZpZy5iYWNrZHJvcCkge1xuICAgICAgdGhpcy5fYmFja2Ryb3AgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuX2JhY2tkcm9wLmNsYXNzTmFtZSA9IENMQVNTX05BTUVfQkFDS0RST1A7XG5cbiAgICAgIGlmIChhbmltYXRlKSB7XG4gICAgICAgIHRoaXMuX2JhY2tkcm9wLmNsYXNzTGlzdC5hZGQoYW5pbWF0ZSk7XG4gICAgICB9XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fYmFja2Ryb3ApO1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0NMSUNLX0RJU01JU1MsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBpZiAoX3RoaXM4Ll9pZ25vcmVCYWNrZHJvcENsaWNrKSB7XG4gICAgICAgICAgX3RoaXM4Ll9pZ25vcmVCYWNrZHJvcENsaWNrID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIF90aGlzOC5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChhbmltYXRlKSB7XG4gICAgICAgIHJlZmxvdyh0aGlzLl9iYWNrZHJvcCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2JhY2tkcm9wLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDMpO1xuXG4gICAgICBpZiAoIWFuaW1hdGUpIHtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgYmFja2Ryb3BUcmFuc2l0aW9uRHVyYXRpb24gPSBnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9iYWNrZHJvcCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2JhY2tkcm9wLCBUUkFOU0lUSU9OX0VORCwgY2FsbGJhY2spO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQodGhpcy5fYmFja2Ryb3AsIGJhY2tkcm9wVHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc1Nob3duICYmIHRoaXMuX2JhY2tkcm9wKSB7XG4gICAgICB0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyQzKTtcblxuICAgICAgdmFyIGNhbGxiYWNrUmVtb3ZlID0gZnVuY3Rpb24gY2FsbGJhY2tSZW1vdmUoKSB7XG4gICAgICAgIF90aGlzOC5fcmVtb3ZlQmFja2Ryb3AoKTtcblxuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRkFERSkpIHtcbiAgICAgICAgdmFyIF9iYWNrZHJvcFRyYW5zaXRpb25EdXJhdGlvbiA9IGdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTtcblxuICAgICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2JhY2tkcm9wLCBUUkFOU0lUSU9OX0VORCwgY2FsbGJhY2tSZW1vdmUpO1xuICAgICAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZCh0aGlzLl9iYWNrZHJvcCwgX2JhY2tkcm9wVHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhbGxiYWNrUmVtb3ZlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhbGxiYWNrKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbiA9IGZ1bmN0aW9uIF90cmlnZ2VyQmFja2Ryb3BUcmFuc2l0aW9uKCkge1xuICAgIHZhciBfdGhpczkgPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIHZhciBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9ISURFX1BSRVZFTlRFRCk7XG5cbiAgICAgIGlmIChoaWRlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBpc01vZGFsT3ZlcmZsb3dpbmcgPSB0aGlzLl9lbGVtZW50LnNjcm9sbEhlaWdodCA+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICAgIGlmICghaXNNb2RhbE92ZXJmbG93aW5nKSB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUub3ZlcmZsb3dZID0gJ2hpZGRlbic7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX1NUQVRJQyk7XG5cbiAgICAgIHZhciBtb2RhbFRyYW5zaXRpb25EdXJhdGlvbiA9IGdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2RpYWxvZyk7XG4gICAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5EKTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZWxlbWVudCwgVFJBTlNJVElPTl9FTkQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgX3RoaXM5Ll9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9TVEFUSUMpO1xuXG4gICAgICAgIGlmICghaXNNb2RhbE92ZXJmbG93aW5nKSB7XG4gICAgICAgICAgRXZlbnRIYW5kbGVyLm9uZShfdGhpczkuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBfdGhpczkuX2VsZW1lbnQuc3R5bGUub3ZlcmZsb3dZID0gJyc7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQoX3RoaXM5Ll9lbGVtZW50LCBtb2RhbFRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQodGhpcy5fZWxlbWVudCwgbW9kYWxUcmFuc2l0aW9uRHVyYXRpb24pO1xuXG4gICAgICB0aGlzLl9lbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgdXNlZCB0byBoYW5kbGUgb3ZlcmZsb3dpbmcgbW9kYWxzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgO1xuXG4gIF9wcm90by5fYWRqdXN0RGlhbG9nID0gZnVuY3Rpb24gX2FkanVzdERpYWxvZygpIHtcbiAgICB2YXIgaXNNb2RhbE92ZXJmbG93aW5nID0gdGhpcy5fZWxlbWVudC5zY3JvbGxIZWlnaHQgPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgaWYgKCF0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyAmJiBpc01vZGFsT3ZlcmZsb3dpbmcpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQgPSB0aGlzLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgJiYgIWlzTW9kYWxPdmVyZmxvd2luZykge1xuICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQgPSB0aGlzLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9yZXNldEFkanVzdG1lbnRzID0gZnVuY3Rpb24gX3Jlc2V0QWRqdXN0bWVudHMoKSB7XG4gICAgdGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdCA9ICcnO1xuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0ID0gJyc7XG4gIH07XG5cbiAgX3Byb3RvLl9jaGVja1Njcm9sbGJhciA9IGZ1bmN0aW9uIF9jaGVja1Njcm9sbGJhcigpIHtcbiAgICB2YXIgcmVjdCA9IGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgPSBNYXRoLnJvdW5kKHJlY3QubGVmdCArIHJlY3QucmlnaHQpIDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgdGhpcy5fc2Nyb2xsYmFyV2lkdGggPSB0aGlzLl9nZXRTY3JvbGxiYXJXaWR0aCgpO1xuICB9O1xuXG4gIF9wcm90by5fc2V0U2Nyb2xsYmFyID0gZnVuY3Rpb24gX3NldFNjcm9sbGJhcigpIHtcbiAgICB2YXIgX3RoaXMxMCA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcpIHtcbiAgICAgIC8vIE5vdGU6IERPTU5vZGUuc3R5bGUucGFkZGluZ1JpZ2h0IHJldHVybnMgdGhlIGFjdHVhbCB2YWx1ZSBvciAnJyBpZiBub3Qgc2V0XG4gICAgICAvLyAgIHdoaWxlICQoRE9NTm9kZSkuY3NzKCdwYWRkaW5nLXJpZ2h0JykgcmV0dXJucyB0aGUgY2FsY3VsYXRlZCB2YWx1ZSBvciAwIGlmIG5vdCBzZXRcbiAgICAgIC8vIEFkanVzdCBmaXhlZCBjb250ZW50IHBhZGRpbmdcbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfRklYRURfQ09OVEVOVCkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICB2YXIgYWN0dWFsUGFkZGluZyA9IGVsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0O1xuICAgICAgICB2YXIgY2FsY3VsYXRlZFBhZGRpbmcgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KVsncGFkZGluZy1yaWdodCddO1xuICAgICAgICBNYW5pcHVsYXRvci5zZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsICdwYWRkaW5nLXJpZ2h0JywgYWN0dWFsUGFkZGluZyk7XG4gICAgICAgIGVsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0ID0gcGFyc2VGbG9hdChjYWxjdWxhdGVkUGFkZGluZykgKyBfdGhpczEwLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICAgIH0pOyAvLyBBZGp1c3Qgc3RpY2t5IGNvbnRlbnQgbWFyZ2luXG5cbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfU1RJQ0tZX0NPTlRFTlQpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgdmFyIGFjdHVhbE1hcmdpbiA9IGVsZW1lbnQuc3R5bGUubWFyZ2luUmlnaHQ7XG4gICAgICAgIHZhciBjYWxjdWxhdGVkTWFyZ2luID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudClbJ21hcmdpbi1yaWdodCddO1xuICAgICAgICBNYW5pcHVsYXRvci5zZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsICdtYXJnaW4tcmlnaHQnLCBhY3R1YWxNYXJnaW4pO1xuICAgICAgICBlbGVtZW50LnN0eWxlLm1hcmdpblJpZ2h0ID0gcGFyc2VGbG9hdChjYWxjdWxhdGVkTWFyZ2luKSAtIF90aGlzMTAuX3Njcm9sbGJhcldpZHRoICsgXCJweFwiO1xuICAgICAgfSk7IC8vIEFkanVzdCBib2R5IHBhZGRpbmdcblxuICAgICAgdmFyIGFjdHVhbFBhZGRpbmcgPSBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodDtcbiAgICAgIHZhciBjYWxjdWxhdGVkUGFkZGluZyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpWydwYWRkaW5nLXJpZ2h0J107XG4gICAgICBNYW5pcHVsYXRvci5zZXREYXRhQXR0cmlidXRlKGRvY3VtZW50LmJvZHksICdwYWRkaW5nLXJpZ2h0JywgYWN0dWFsUGFkZGluZyk7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IHBhcnNlRmxvYXQoY2FsY3VsYXRlZFBhZGRpbmcpICsgdGhpcy5fc2Nyb2xsYmFyV2lkdGggKyBcInB4XCI7XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfT1BFTik7XG4gIH07XG5cbiAgX3Byb3RvLl9yZXNldFNjcm9sbGJhciA9IGZ1bmN0aW9uIF9yZXNldFNjcm9sbGJhcigpIHtcbiAgICAvLyBSZXN0b3JlIGZpeGVkIGNvbnRlbnQgcGFkZGluZ1xuICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfRklYRURfQ09OVEVOVCkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgdmFyIHBhZGRpbmcgPSBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsICdwYWRkaW5nLXJpZ2h0Jyk7XG5cbiAgICAgIGlmICh0eXBlb2YgcGFkZGluZyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgTWFuaXB1bGF0b3IucmVtb3ZlRGF0YUF0dHJpYnV0ZShlbGVtZW50LCAncGFkZGluZy1yaWdodCcpO1xuICAgICAgICBlbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodCA9IHBhZGRpbmc7XG4gICAgICB9XG4gICAgfSk7IC8vIFJlc3RvcmUgc3RpY2t5IGNvbnRlbnQgYW5kIG5hdmJhci10b2dnbGVyIG1hcmdpblxuXG4gICAgU2VsZWN0b3JFbmdpbmUuZmluZChcIlwiICsgU0VMRUNUT1JfU1RJQ0tZX0NPTlRFTlQpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgIHZhciBtYXJnaW4gPSBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsICdtYXJnaW4tcmlnaHQnKTtcblxuICAgICAgaWYgKHR5cGVvZiBtYXJnaW4gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIE1hbmlwdWxhdG9yLnJlbW92ZURhdGFBdHRyaWJ1dGUoZWxlbWVudCwgJ21hcmdpbi1yaWdodCcpO1xuICAgICAgICBlbGVtZW50LnN0eWxlLm1hcmdpblJpZ2h0ID0gbWFyZ2luO1xuICAgICAgfVxuICAgIH0pOyAvLyBSZXN0b3JlIGJvZHkgcGFkZGluZ1xuXG4gICAgdmFyIHBhZGRpbmcgPSBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlKGRvY3VtZW50LmJvZHksICdwYWRkaW5nLXJpZ2h0Jyk7XG5cbiAgICBpZiAodHlwZW9mIHBhZGRpbmcgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICBNYW5pcHVsYXRvci5yZW1vdmVEYXRhQXR0cmlidXRlKGRvY3VtZW50LmJvZHksICdwYWRkaW5nLXJpZ2h0Jyk7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IHBhZGRpbmc7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fZ2V0U2Nyb2xsYmFyV2lkdGggPSBmdW5jdGlvbiBfZ2V0U2Nyb2xsYmFyV2lkdGgoKSB7XG4gICAgLy8gdGh4IGQud2Fsc2hcbiAgICB2YXIgc2Nyb2xsRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgc2Nyb2xsRGl2LmNsYXNzTmFtZSA9IENMQVNTX05BTUVfU0NST0xMQkFSX01FQVNVUkVSO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2Nyb2xsRGl2KTtcbiAgICB2YXIgc2Nyb2xsYmFyV2lkdGggPSBzY3JvbGxEaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLSBzY3JvbGxEaXYuY2xpZW50V2lkdGg7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JvbGxEaXYpO1xuICAgIHJldHVybiBzY3JvbGxiYXJXaWR0aDtcbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIE1vZGFsLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcsIHJlbGF0ZWRUYXJnZXQpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJDcpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0JDUpLCBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0aGlzKSksIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZyA/IGNvbmZpZyA6IHt9KTtcblxuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIGRhdGEgPSBuZXcgTW9kYWwodGhpcywgX2NvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbY29uZmlnXShyZWxhdGVkVGFyZ2V0KTtcbiAgICAgIH0gZWxzZSBpZiAoX2NvbmZpZy5zaG93KSB7XG4gICAgICAgIGRhdGEuc2hvdyhyZWxhdGVkVGFyZ2V0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBNb2RhbC5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDcpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhNb2RhbCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kNztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHQkNTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gTW9kYWw7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSQ3LCBTRUxFQ1RPUl9EQVRBX1RPR0dMRSQzLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgdmFyIF90aGlzMTEgPSB0aGlzO1xuXG4gIHZhciB0YXJnZXQgPSBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKHRoaXMpO1xuXG4gIGlmICh0aGlzLnRhZ05hbWUgPT09ICdBJyB8fCB0aGlzLnRhZ05hbWUgPT09ICdBUkVBJykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBFdmVudEhhbmRsZXIub25lKHRhcmdldCwgRVZFTlRfU0hPVyQyLCBmdW5jdGlvbiAoc2hvd0V2ZW50KSB7XG4gICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAvLyBvbmx5IHJlZ2lzdGVyIGZvY3VzIHJlc3RvcmVyIGlmIG1vZGFsIHdpbGwgYWN0dWFsbHkgZ2V0IHNob3duXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgRXZlbnRIYW5kbGVyLm9uZSh0YXJnZXQsIEVWRU5UX0hJRERFTiQyLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoaXNWaXNpYmxlKF90aGlzMTEpKSB7XG4gICAgICAgIF90aGlzMTEuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRhcmdldCwgREFUQV9LRVkkNyk7XG5cbiAgaWYgKCFkYXRhKSB7XG4gICAgdmFyIGNvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0YXJnZXQpKSwgTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcykpO1xuXG4gICAgZGF0YSA9IG5ldyBNb2RhbCh0YXJnZXQsIGNvbmZpZyk7XG4gIH1cblxuICBkYXRhLnNob3codGhpcyk7XG59KTtcbnZhciAkJDggPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5tb2RhbCB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCQ4KSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkNyA9ICQkOC5mbltOQU1FJDddO1xuICAkJDguZm5bTkFNRSQ3XSA9IE1vZGFsLmpRdWVyeUludGVyZmFjZTtcbiAgJCQ4LmZuW05BTUUkN10uQ29uc3RydWN0b3IgPSBNb2RhbDtcblxuICAkJDguZm5bTkFNRSQ3XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkOC5mbltOQU1FJDddID0gSlFVRVJZX05PX0NPTkZMSUNUJDc7XG4gICAgcmV0dXJuIE1vZGFsLmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4wLjAtYWxwaGExKTogdXRpbC9zYW5pdGl6ZXIuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG52YXIgdXJpQXR0cnMgPSBbJ2JhY2tncm91bmQnLCAnY2l0ZScsICdocmVmJywgJ2l0ZW10eXBlJywgJ2xvbmdkZXNjJywgJ3Bvc3RlcicsICdzcmMnLCAneGxpbms6aHJlZiddO1xudmFyIEFSSUFfQVRUUklCVVRFX1BBVFRFUk4gPSAvXmFyaWEtW1xcdy1dKiQvaTtcbi8qKlxuICogQSBwYXR0ZXJuIHRoYXQgcmVjb2duaXplcyBhIGNvbW1vbmx5IHVzZWZ1bCBzdWJzZXQgb2YgVVJMcyB0aGF0IGFyZSBzYWZlLlxuICpcbiAqIFNob3V0b3V0IHRvIEFuZ3VsYXIgNyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvNy4yLjQvcGFja2FnZXMvY29yZS9zcmMvc2FuaXRpemF0aW9uL3VybF9zYW5pdGl6ZXIudHNcbiAqL1xuXG52YXIgU0FGRV9VUkxfUEFUVEVSTiA9IC9eKD86KD86aHR0cHM/fG1haWx0b3xmdHB8dGVsfGZpbGUpOnxbXiMmLzo/XSooPzpbIy8/XXwkKSkvZ2k7XG4vKipcbiAqIEEgcGF0dGVybiB0aGF0IG1hdGNoZXMgc2FmZSBkYXRhIFVSTHMuIE9ubHkgbWF0Y2hlcyBpbWFnZSwgdmlkZW8gYW5kIGF1ZGlvIHR5cGVzLlxuICpcbiAqIFNob3V0b3V0IHRvIEFuZ3VsYXIgNyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvNy4yLjQvcGFja2FnZXMvY29yZS9zcmMvc2FuaXRpemF0aW9uL3VybF9zYW5pdGl6ZXIudHNcbiAqL1xuXG52YXIgREFUQV9VUkxfUEFUVEVSTiA9IC9eZGF0YTooPzppbWFnZVxcLyg/OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cXC8oPzptcGVnfG1wNHxvZ2d8d2VibSl8YXVkaW9cXC8oPzptcDN8b2dhfG9nZ3xvcHVzKSk7YmFzZTY0LFtcXGQrL2Etel0rPSokL2k7XG5cbnZhciBhbGxvd2VkQXR0cmlidXRlID0gZnVuY3Rpb24gYWxsb3dlZEF0dHJpYnV0ZShhdHRyLCBhbGxvd2VkQXR0cmlidXRlTGlzdCkge1xuICB2YXIgYXR0ck5hbWUgPSBhdHRyLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgaWYgKGFsbG93ZWRBdHRyaWJ1dGVMaXN0LmluZGV4T2YoYXR0ck5hbWUpICE9PSAtMSkge1xuICAgIGlmICh1cmlBdHRycy5pbmRleE9mKGF0dHJOYW1lKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiBCb29sZWFuKGF0dHIubm9kZVZhbHVlLm1hdGNoKFNBRkVfVVJMX1BBVFRFUk4pIHx8IGF0dHIubm9kZVZhbHVlLm1hdGNoKERBVEFfVVJMX1BBVFRFUk4pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhciByZWdFeHAgPSBhbGxvd2VkQXR0cmlidXRlTGlzdC5maWx0ZXIoZnVuY3Rpb24gKGF0dHJSZWdleCkge1xuICAgIHJldHVybiBhdHRyUmVnZXggaW5zdGFuY2VvZiBSZWdFeHA7XG4gIH0pOyAvLyBDaGVjayBpZiBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB2YWxpZGF0ZXMgdGhlIGF0dHJpYnV0ZS5cblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gcmVnRXhwLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKGF0dHJOYW1lLm1hdGNoKHJlZ0V4cFtpXSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbnZhciBEZWZhdWx0V2hpdGVsaXN0ID0ge1xuICAvLyBHbG9iYWwgYXR0cmlidXRlcyBhbGxvd2VkIG9uIGFueSBzdXBwbGllZCBlbGVtZW50IGJlbG93LlxuICAnKic6IFsnY2xhc3MnLCAnZGlyJywgJ2lkJywgJ2xhbmcnLCAncm9sZScsIEFSSUFfQVRUUklCVVRFX1BBVFRFUk5dLFxuICBhOiBbJ3RhcmdldCcsICdocmVmJywgJ3RpdGxlJywgJ3JlbCddLFxuICBhcmVhOiBbXSxcbiAgYjogW10sXG4gIGJyOiBbXSxcbiAgY29sOiBbXSxcbiAgY29kZTogW10sXG4gIGRpdjogW10sXG4gIGVtOiBbXSxcbiAgaHI6IFtdLFxuICBoMTogW10sXG4gIGgyOiBbXSxcbiAgaDM6IFtdLFxuICBoNDogW10sXG4gIGg1OiBbXSxcbiAgaDY6IFtdLFxuICBpOiBbXSxcbiAgaW1nOiBbJ3NyYycsICdzcmNzZXQnLCAnYWx0JywgJ3RpdGxlJywgJ3dpZHRoJywgJ2hlaWdodCddLFxuICBsaTogW10sXG4gIG9sOiBbXSxcbiAgcDogW10sXG4gIHByZTogW10sXG4gIHM6IFtdLFxuICBzbWFsbDogW10sXG4gIHNwYW46IFtdLFxuICBzdWI6IFtdLFxuICBzdXA6IFtdLFxuICBzdHJvbmc6IFtdLFxuICB1OiBbXSxcbiAgdWw6IFtdXG59O1xuZnVuY3Rpb24gc2FuaXRpemVIdG1sKHVuc2FmZUh0bWwsIHdoaXRlTGlzdCwgc2FuaXRpemVGbikge1xuICB2YXIgX3JlZjtcblxuICBpZiAoIXVuc2FmZUh0bWwubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHVuc2FmZUh0bWw7XG4gIH1cblxuICBpZiAoc2FuaXRpemVGbiAmJiB0eXBlb2Ygc2FuaXRpemVGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBzYW5pdGl6ZUZuKHVuc2FmZUh0bWwpO1xuICB9XG5cbiAgdmFyIGRvbVBhcnNlciA9IG5ldyB3aW5kb3cuRE9NUGFyc2VyKCk7XG4gIHZhciBjcmVhdGVkRG9jdW1lbnQgPSBkb21QYXJzZXIucGFyc2VGcm9tU3RyaW5nKHVuc2FmZUh0bWwsICd0ZXh0L2h0bWwnKTtcbiAgdmFyIHdoaXRlbGlzdEtleXMgPSBPYmplY3Qua2V5cyh3aGl0ZUxpc3QpO1xuXG4gIHZhciBlbGVtZW50cyA9IChfcmVmID0gW10pLmNvbmNhdC5hcHBseShfcmVmLCBjcmVhdGVkRG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKCcqJykpO1xuXG4gIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKGksIGxlbikge1xuICAgIHZhciBfcmVmMjtcblxuICAgIHZhciBlbCA9IGVsZW1lbnRzW2ldO1xuICAgIHZhciBlbE5hbWUgPSBlbC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKHdoaXRlbGlzdEtleXMuaW5kZXhPZihlbE5hbWUpID09PSAtMSkge1xuICAgICAgZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbCk7XG4gICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgIH1cblxuICAgIHZhciBhdHRyaWJ1dGVMaXN0ID0gKF9yZWYyID0gW10pLmNvbmNhdC5hcHBseShfcmVmMiwgZWwuYXR0cmlidXRlcyk7XG5cbiAgICB2YXIgd2hpdGVsaXN0ZWRBdHRyaWJ1dGVzID0gW10uY29uY2F0KHdoaXRlTGlzdFsnKiddIHx8IFtdLCB3aGl0ZUxpc3RbZWxOYW1lXSB8fCBbXSk7XG4gICAgYXR0cmlidXRlTGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyKSB7XG4gICAgICBpZiAoIWFsbG93ZWRBdHRyaWJ1dGUoYXR0ciwgd2hpdGVsaXN0ZWRBdHRyaWJ1dGVzKSkge1xuICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoYXR0ci5ub2RlTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGVsZW1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgdmFyIF9yZXQgPSBfbG9vcChpKTtcblxuICAgIGlmIChfcmV0ID09PSBcImNvbnRpbnVlXCIpIGNvbnRpbnVlO1xuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZWREb2N1bWVudC5ib2R5LmlubmVySFRNTDtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUkOCA9ICd0b29sdGlwJztcbnZhciBWRVJTSU9OJDggPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJDggPSAnY29yZXVpLnRvb2x0aXAnO1xudmFyIEVWRU5UX0tFWSQ4ID0gXCIuXCIgKyBEQVRBX0tFWSQ4O1xudmFyIENMQVNTX1BSRUZJWCA9ICdicy10b29sdGlwJztcbnZhciBCU0NMU19QUkVGSVhfUkVHRVggPSBuZXcgUmVnRXhwKFwiKF58XFxcXHMpXCIgKyBDTEFTU19QUkVGSVggKyBcIlxcXFxTK1wiLCAnZycpO1xudmFyIERJU0FMTE9XRURfQVRUUklCVVRFUyA9IFsnc2FuaXRpemUnLCAnd2hpdGVMaXN0JywgJ3Nhbml0aXplRm4nXTtcbnZhciBEZWZhdWx0VHlwZSQ1ID0ge1xuICBhbmltYXRpb246ICdib29sZWFuJyxcbiAgdGVtcGxhdGU6ICdzdHJpbmcnLFxuICB0aXRsZTogJyhzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbiknLFxuICB0cmlnZ2VyOiAnc3RyaW5nJyxcbiAgZGVsYXk6ICcobnVtYmVyfG9iamVjdCknLFxuICBodG1sOiAnYm9vbGVhbicsXG4gIHNlbGVjdG9yOiAnKHN0cmluZ3xib29sZWFuKScsXG4gIHBsYWNlbWVudDogJyhzdHJpbmd8ZnVuY3Rpb24pJyxcbiAgb2Zmc2V0OiAnKGFycmF5fGZ1bmN0aW9uKScsXG4gIGNvbnRhaW5lcjogJyhzdHJpbmd8ZWxlbWVudHxib29sZWFuKScsXG4gIGJvdW5kYXJ5OiAnKHN0cmluZ3xlbGVtZW50KScsXG4gIHNhbml0aXplOiAnYm9vbGVhbicsXG4gIHNhbml0aXplRm46ICcobnVsbHxmdW5jdGlvbiknLFxuICB3aGl0ZUxpc3Q6ICdvYmplY3QnLFxuICBwb3BwZXJDb25maWc6ICcobnVsbHxvYmplY3QpJ1xufTtcbnZhciBBdHRhY2htZW50TWFwID0ge1xuICBBVVRPOiAnYXV0bycsXG4gIFRPUDogJ3RvcCcsXG4gIFJJR0hUOiAncmlnaHQnLFxuICBCT1RUT006ICdib3R0b20nLFxuICBMRUZUOiAnbGVmdCdcbn07XG52YXIgRGVmYXVsdCQ2ID0ge1xuICBhbmltYXRpb246IHRydWUsXG4gIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cInRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiPicgKyAnPGRpdiBjbGFzcz1cInRvb2x0aXAtYXJyb3dcIj48L2Rpdj4nICsgJzxkaXYgY2xhc3M9XCJ0b29sdGlwLWlubmVyXCI+PC9kaXY+PC9kaXY+JyxcbiAgdHJpZ2dlcjogJ2hvdmVyIGZvY3VzJyxcbiAgdGl0bGU6ICcnLFxuICBkZWxheTogMCxcbiAgaHRtbDogZmFsc2UsXG4gIHNlbGVjdG9yOiBmYWxzZSxcbiAgcGxhY2VtZW50OiAndG9wJyxcbiAgb2Zmc2V0OiBbMCwgMF0sXG4gIGNvbnRhaW5lcjogZmFsc2UsXG4gIGJvdW5kYXJ5OiAnc2Nyb2xsUGFyZW50JyxcbiAgc2FuaXRpemU6IHRydWUsXG4gIHNhbml0aXplRm46IG51bGwsXG4gIHdoaXRlTGlzdDogRGVmYXVsdFdoaXRlbGlzdCxcbiAgcG9wcGVyQ29uZmlnOiBudWxsXG59O1xudmFyIEV2ZW50JDEgPSB7XG4gIEhJREU6IFwiaGlkZVwiICsgRVZFTlRfS0VZJDgsXG4gIEhJRERFTjogXCJoaWRkZW5cIiArIEVWRU5UX0tFWSQ4LFxuICBTSE9XOiBcInNob3dcIiArIEVWRU5UX0tFWSQ4LFxuICBTSE9XTjogXCJzaG93blwiICsgRVZFTlRfS0VZJDgsXG4gIElOU0VSVEVEOiBcImluc2VydGVkXCIgKyBFVkVOVF9LRVkkOCxcbiAgQ0xJQ0s6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ4LFxuICBGT0NVU0lOOiBcImZvY3VzaW5cIiArIEVWRU5UX0tFWSQ4LFxuICBGT0NVU09VVDogXCJmb2N1c291dFwiICsgRVZFTlRfS0VZJDgsXG4gIE1PVVNFRU5URVI6IFwibW91c2VlbnRlclwiICsgRVZFTlRfS0VZJDgsXG4gIE1PVVNFTEVBVkU6IFwibW91c2VsZWF2ZVwiICsgRVZFTlRfS0VZJDhcbn07XG52YXIgQ0xBU1NfTkFNRV9GQURFJDEgPSAnZmFkZSc7XG52YXIgQ0xBU1NfTkFNRV9NT0RBTCA9ICdtb2RhbCc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XJDQgPSAnc2hvdyc7XG52YXIgSE9WRVJfU1RBVEVfU0hPVyA9ICdzaG93JztcbnZhciBIT1ZFUl9TVEFURV9PVVQgPSAnb3V0JztcbnZhciBTRUxFQ1RPUl9UT09MVElQX0lOTkVSID0gJy50b29sdGlwLWlubmVyJztcbnZhciBUUklHR0VSX0hPVkVSID0gJ2hvdmVyJztcbnZhciBUUklHR0VSX0ZPQ1VTID0gJ2ZvY3VzJztcbnZhciBUUklHR0VSX0NMSUNLID0gJ2NsaWNrJztcbnZhciBUUklHR0VSX01BTlVBTCA9ICdtYW51YWwnO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBUb29sdGlwID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gVG9vbHRpcChlbGVtZW50LCBjb25maWcpIHtcbiAgICBpZiAodHlwZW9mIGNyZWF0ZVBvcHBlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0NvcmVVSVxcJ3MgdG9vbHRpcHMgcmVxdWlyZSBQb3BwZXIuanMgKGh0dHBzOi8vcG9wcGVyLmpzLm9yZyknKTtcbiAgICB9IC8vIHByaXZhdGVcblxuXG4gICAgdGhpcy5faXNFbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLl90aW1lb3V0ID0gMDtcbiAgICB0aGlzLl9ob3ZlclN0YXRlID0gJyc7XG4gICAgdGhpcy5fYWN0aXZlVHJpZ2dlciA9IHt9O1xuICAgIHRoaXMuX3BvcHBlciA9IG51bGw7IC8vIFByb3RlY3RlZFxuXG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMudGlwID0gbnVsbDtcblxuICAgIHRoaXMuX3NldExpc3RlbmVycygpO1xuXG4gICAgRGF0YS5zZXREYXRhKGVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksIHRoaXMpO1xuICB9IC8vIEdldHRlcnNcblxuXG4gIHZhciBfcHJvdG8gPSBUb29sdGlwLnByb3RvdHlwZTtcblxuICAvLyBQdWJsaWNcbiAgX3Byb3RvLmVuYWJsZSA9IGZ1bmN0aW9uIGVuYWJsZSgpIHtcbiAgICB0aGlzLl9pc0VuYWJsZWQgPSB0cnVlO1xuICB9O1xuXG4gIF9wcm90by5kaXNhYmxlID0gZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgICB0aGlzLl9pc0VuYWJsZWQgPSBmYWxzZTtcbiAgfTtcblxuICBfcHJvdG8udG9nZ2xlRW5hYmxlZCA9IGZ1bmN0aW9uIHRvZ2dsZUVuYWJsZWQoKSB7XG4gICAgdGhpcy5faXNFbmFibGVkID0gIXRoaXMuX2lzRW5hYmxlZDtcbiAgfTtcblxuICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKGV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHZhciBkYXRhS2V5ID0gdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTtcbiAgICAgIHZhciBjb250ZXh0ID0gRGF0YS5nZXREYXRhKGV2ZW50LmRlbGVnYXRlVGFyZ2V0LCBkYXRhS2V5KTtcblxuICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIGNvbnRleHQgPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcihldmVudC5kZWxlZ2F0ZVRhcmdldCwgdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSk7XG4gICAgICAgIERhdGEuc2V0RGF0YShldmVudC5kZWxlZ2F0ZVRhcmdldCwgZGF0YUtleSwgY29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQuX2FjdGl2ZVRyaWdnZXIuY2xpY2sgPSAhY29udGV4dC5fYWN0aXZlVHJpZ2dlci5jbGljaztcblxuICAgICAgaWYgKGNvbnRleHQuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSkge1xuICAgICAgICBjb250ZXh0Ll9lbnRlcihudWxsLCBjb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRleHQuX2xlYXZlKG51bGwsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQ0KSkge1xuICAgICAgICB0aGlzLl9sZWF2ZShudWxsLCB0aGlzKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2VudGVyKG51bGwsIHRoaXMpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpO1xuICAgIERhdGEucmVtb3ZlRGF0YSh0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVkpO1xuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSk7XG4gICAgRXZlbnRIYW5kbGVyLm9mZih0aGlzLmVsZW1lbnQuY2xvc2VzdChcIi5cIiArIENMQVNTX05BTUVfTU9EQUwpLCAnaGlkZS5jb3JldWkubW9kYWwnLCB0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKTtcblxuICAgIGlmICh0aGlzLnRpcCkge1xuICAgICAgdGhpcy50aXAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnRpcCk7XG4gICAgfVxuXG4gICAgdGhpcy5faXNFbmFibGVkID0gbnVsbDtcbiAgICB0aGlzLl90aW1lb3V0ID0gbnVsbDtcbiAgICB0aGlzLl9ob3ZlclN0YXRlID0gbnVsbDtcbiAgICB0aGlzLl9hY3RpdmVUcmlnZ2VyID0gbnVsbDtcblxuICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgIHRoaXMuX3BvcHBlci5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcG9wcGVyID0gbnVsbDtcbiAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuY29uZmlnID0gbnVsbDtcbiAgICB0aGlzLnRpcCA9IG51bGw7XG4gIH07XG5cbiAgX3Byb3RvLnNob3cgPSBmdW5jdGlvbiBzaG93KCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnN0eWxlLmRpc3BsYXkgPT09ICdub25lJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgdXNlIHNob3cgb24gdmlzaWJsZSBlbGVtZW50cycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzV2l0aENvbnRlbnQoKSAmJiB0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgIHZhciBzaG93RXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuU0hPVyk7XG4gICAgICB2YXIgc2hhZG93Um9vdCA9IGZpbmRTaGFkb3dSb290KHRoaXMuZWxlbWVudCk7XG4gICAgICB2YXIgaXNJblRoZURvbSA9IHNoYWRvd1Jvb3QgPT09IG51bGwgPyB0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnModGhpcy5lbGVtZW50KSA6IHNoYWRvd1Jvb3QuY29udGFpbnModGhpcy5lbGVtZW50KTtcblxuICAgICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkIHx8ICFpc0luVGhlRG9tKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIHRpcCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpO1xuICAgICAgdmFyIHRpcElkID0gZ2V0VUlEKHRoaXMuY29uc3RydWN0b3IuTkFNRSk7XG4gICAgICB0aXAuc2V0QXR0cmlidXRlKCdpZCcsIHRpcElkKTtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCB0aXBJZCk7XG4gICAgICB0aGlzLnNldENvbnRlbnQoKTtcblxuICAgICAgaWYgKHRoaXMuY29uZmlnLmFuaW1hdGlvbikge1xuICAgICAgICB0aXAuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0ZBREUkMSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBwbGFjZW1lbnQgPSB0eXBlb2YgdGhpcy5jb25maWcucGxhY2VtZW50ID09PSAnZnVuY3Rpb24nID8gdGhpcy5jb25maWcucGxhY2VtZW50LmNhbGwodGhpcywgdGlwLCB0aGlzLmVsZW1lbnQpIDogdGhpcy5jb25maWcucGxhY2VtZW50O1xuXG4gICAgICB2YXIgYXR0YWNobWVudCA9IHRoaXMuX2dldEF0dGFjaG1lbnQocGxhY2VtZW50KTsgLy8gdGhpcy5fYWRkQXR0YWNobWVudENsYXNzKGF0dGFjaG1lbnQpXG5cblxuICAgICAgdmFyIGNvbnRhaW5lciA9IHRoaXMuX2dldENvbnRhaW5lcigpO1xuXG4gICAgICBEYXRhLnNldERhdGEodGlwLCB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLCB0aGlzKTtcblxuICAgICAgaWYgKCF0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnModGhpcy50aXApKSB7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aXApO1xuICAgICAgfVxuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSU5TRVJURUQpO1xuICAgICAgdGhpcy5fcG9wcGVyID0gY3JlYXRlUG9wcGVyKHRoaXMuZWxlbWVudCwgdGlwLCB0aGlzLl9nZXRQb3BwZXJDb25maWcoYXR0YWNobWVudCkpO1xuICAgICAgdGlwLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDQpOyAvLyBJZiB0aGlzIGlzIGEgdG91Y2gtZW5hYmxlZCBkZXZpY2Ugd2UgYWRkIGV4dHJhXG4gICAgICAvLyBlbXB0eSBtb3VzZW92ZXIgbGlzdGVuZXJzIHRvIHRoZSBib2R5J3MgaW1tZWRpYXRlIGNoaWxkcmVuO1xuICAgICAgLy8gb25seSBuZWVkZWQgYmVjYXVzZSBvZiBicm9rZW4gZXZlbnQgZGVsZWdhdGlvbiBvbiBpT1NcbiAgICAgIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxNC8wMi9tb3VzZV9ldmVudF9idWIuaHRtbFxuXG4gICAgICBpZiAoJ29udG91Y2hzdGFydCcgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgIChfcmVmID0gW10pLmNvbmNhdC5hcHBseShfcmVmLCBkb2N1bWVudC5ib2R5LmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAgICAgRXZlbnRIYW5kbGVyLm9uKGVsZW1lbnQsICdtb3VzZW92ZXInLCBub29wKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICAgIGlmIChfdGhpcy5jb25maWcuYW5pbWF0aW9uKSB7XG4gICAgICAgICAgX3RoaXMuX2ZpeFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBwcmV2SG92ZXJTdGF0ZSA9IF90aGlzLl9ob3ZlclN0YXRlO1xuICAgICAgICBfdGhpcy5faG92ZXJTdGF0ZSA9IG51bGw7XG4gICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzLmVsZW1lbnQsIF90aGlzLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1dOKTtcblxuICAgICAgICBpZiAocHJldkhvdmVyU3RhdGUgPT09IEhPVkVSX1NUQVRFX09VVCkge1xuICAgICAgICAgIF90aGlzLl9sZWF2ZShudWxsLCBfdGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnRpcC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFJDEpKSB7XG4gICAgICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSBnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLnRpcCk7XG4gICAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy50aXAsIFRSQU5TSVRJT05fRU5ELCBjb21wbGV0ZSk7XG4gICAgICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMudGlwLCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLmhpZGUgPSBmdW5jdGlvbiBoaWRlKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdmFyIHRpcCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpO1xuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBpZiAoX3RoaXMyLl9ob3ZlclN0YXRlICE9PSBIT1ZFUl9TVEFURV9TSE9XICYmIHRpcC5wYXJlbnROb2RlKSB7XG4gICAgICAgIHRpcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRpcCk7XG4gICAgICB9XG5cbiAgICAgIF90aGlzMi5fY2xlYW5UaXBDbGFzcygpO1xuXG4gICAgICBfdGhpczIuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcblxuICAgICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIoX3RoaXMyLmVsZW1lbnQsIF90aGlzMi5jb25zdHJ1Y3Rvci5FdmVudC5ISURERU4pO1xuXG4gICAgICBfdGhpczIuX3BvcHBlci5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIHZhciBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSElERSk7XG5cbiAgICBpZiAoaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aXAuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1ckNCk7IC8vIElmIHRoaXMgaXMgYSB0b3VjaC1lbmFibGVkIGRldmljZSB3ZSByZW1vdmUgdGhlIGV4dHJhXG4gICAgLy8gZW1wdHkgbW91c2VvdmVyIGxpc3RlbmVycyB3ZSBhZGRlZCBmb3IgaU9TIHN1cHBvcnRcblxuICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIHZhciBfcmVmMjtcblxuICAgICAgKF9yZWYyID0gW10pLmNvbmNhdC5hcHBseShfcmVmMiwgZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gRXZlbnRIYW5kbGVyLm9mZihlbGVtZW50LCAnbW91c2VvdmVyJywgbm9vcCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl9hY3RpdmVUcmlnZ2VyW1RSSUdHRVJfQ0xJQ0tdID0gZmFsc2U7XG4gICAgdGhpcy5fYWN0aXZlVHJpZ2dlcltUUklHR0VSX0ZPQ1VTXSA9IGZhbHNlO1xuICAgIHRoaXMuX2FjdGl2ZVRyaWdnZXJbVFJJR0dFUl9IT1ZFUl0gPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLnRpcC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFJDEpKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGlwKTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGlwLCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQodGlwLCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX2hvdmVyU3RhdGUgPSAnJztcbiAgfTtcblxuICBfcHJvdG8udXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKCkge1xuICAgIGlmICh0aGlzLl9wb3BwZXIgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3BvcHBlci51cGRhdGUoKTtcbiAgICB9XG4gIH0gLy8gUHJvdGVjdGVkXG4gIDtcblxuICBfcHJvdG8uaXNXaXRoQ29udGVudCA9IGZ1bmN0aW9uIGlzV2l0aENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5nZXRUaXRsZSgpKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0VGlwRWxlbWVudCA9IGZ1bmN0aW9uIGdldFRpcEVsZW1lbnQoKSB7XG4gICAgaWYgKHRoaXMudGlwKSB7XG4gICAgICByZXR1cm4gdGhpcy50aXA7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBlbGVtZW50LmlubmVySFRNTCA9IHRoaXMuY29uZmlnLnRlbXBsYXRlO1xuICAgIHRoaXMudGlwID0gZWxlbWVudC5jaGlsZHJlblswXTtcbiAgICByZXR1cm4gdGhpcy50aXA7XG4gIH07XG5cbiAgX3Byb3RvLnNldENvbnRlbnQgPSBmdW5jdGlvbiBzZXRDb250ZW50KCkge1xuICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTtcbiAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfVE9PTFRJUF9JTk5FUiwgdGlwKSwgdGhpcy5nZXRUaXRsZSgpKTtcbiAgICB0aXAuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0ZBREUkMSwgQ0xBU1NfTkFNRV9TSE9XJDQpO1xuICB9O1xuXG4gIF9wcm90by5zZXRFbGVtZW50Q29udGVudCA9IGZ1bmN0aW9uIHNldEVsZW1lbnRDb250ZW50KGVsZW1lbnQsIGNvbnRlbnQpIHtcbiAgICBpZiAoZWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ29iamVjdCcgJiYgaXNFbGVtZW50KGNvbnRlbnQpKSB7XG4gICAgICBpZiAoY29udGVudC5qcXVlcnkpIHtcbiAgICAgICAgY29udGVudCA9IGNvbnRlbnRbMF07XG4gICAgICB9IC8vIGNvbnRlbnQgaXMgYSBET00gbm9kZSBvciBhIGpRdWVyeVxuXG5cbiAgICAgIGlmICh0aGlzLmNvbmZpZy5odG1sKSB7XG4gICAgICAgIGlmIChjb250ZW50LnBhcmVudE5vZGUgIT09IGVsZW1lbnQpIHtcbiAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSBjb250ZW50LnRleHRDb250ZW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnLmh0bWwpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5zYW5pdGl6ZSkge1xuICAgICAgICBjb250ZW50ID0gc2FuaXRpemVIdG1sKGNvbnRlbnQsIHRoaXMuY29uZmlnLndoaXRlTGlzdCwgdGhpcy5jb25maWcuc2FuaXRpemVGbik7XG4gICAgICB9XG5cbiAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IGNvbnRlbnQ7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5nZXRUaXRsZSA9IGZ1bmN0aW9uIGdldFRpdGxlKCkge1xuICAgIHZhciB0aXRsZSA9IHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtb3JpZ2luYWwtdGl0bGUnKTtcblxuICAgIGlmICghdGl0bGUpIHtcbiAgICAgIHRpdGxlID0gdHlwZW9mIHRoaXMuY29uZmlnLnRpdGxlID09PSAnZnVuY3Rpb24nID8gdGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpIDogdGhpcy5jb25maWcudGl0bGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRpdGxlO1xuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fZ2V0UG9wcGVyQ29uZmlnID0gZnVuY3Rpb24gX2dldFBvcHBlckNvbmZpZyhhdHRhY2htZW50KSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICB2YXIgZGVmYXVsdEJzQ29uZmlnID0ge1xuICAgICAgcGxhY2VtZW50OiBhdHRhY2htZW50LFxuICAgICAgbW9kaWZpZXJzOiBbe1xuICAgICAgICBuYW1lOiAnb2Zmc2V0JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG9mZnNldDogdGhpcy5fZ2V0T2Zmc2V0KClcbiAgICAgICAgfVxuICAgICAgfSwge1xuICAgICAgICBuYW1lOiAnYXJyb3cnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZWxlbWVudDogXCIuXCIgKyB0aGlzLmNvbnN0cnVjdG9yLk5BTUUgKyBcIi1hcnJvd1wiXG4gICAgICAgIH1cbiAgICAgIH0sIHtcbiAgICAgICAgbmFtZTogJ3ByZXZlbnRPdmVyZmxvdycsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBib3VuZGFyeTogdGhpcy5jb25maWcuYm91bmRhcnlcbiAgICAgICAgfVxuICAgICAgfV0sXG4gICAgICBvbkZpcnN0VXBkYXRlOiBmdW5jdGlvbiBvbkZpcnN0VXBkYXRlKGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEub3JpZ2luYWxQbGFjZW1lbnQgIT09IGRhdGEucGxhY2VtZW50KSB7XG4gICAgICAgICAgLy8gdGhpcy5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKGRhdGEpXG4gICAgICAgICAgLy8gZml4IFBvcHBlciBwb3NpdGlvbiBpc3N1ZVxuICAgICAgICAgIC8vVE9ETzogZmluZCB3aGVyZSBpcyB0aGUgcHJvYmxlbSBvciBmaW5kIGJldHRlciBzb2x1dGlvblxuICAgICAgICAgIF90aGlzMy5fcG9wcGVyLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIGRlZmF1bHRCc0NvbmZpZyksIHRoaXMuY29uZmlnLnBvcHBlckNvbmZpZyk7XG4gIH0gLy8gX2FkZEF0dGFjaG1lbnRDbGFzcyhhdHRhY2htZW50KSB7XG4gIC8vICAgdGhpcy5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmFkZChgJHtDTEFTU19QUkVGSVh9LSR7YXR0YWNobWVudH1gKVxuICAvLyB9XG4gIC8vIF9nZXRPZmZzZXQoKSB7XG4gIC8vICAgY29uc3Qgb2Zmc2V0ID0ge31cbiAgLy8gICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLm9mZnNldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAvLyAgICAgb2Zmc2V0LmZuID0gZGF0YSA9PiB7XG4gIC8vICAgICAgIGRhdGEub2Zmc2V0cyA9IHtcbiAgLy8gICAgICAgICAuLi5kYXRhLm9mZnNldHMsXG4gIC8vICAgICAgICAgLi4udGhpcy5jb25maWcub2Zmc2V0KGRhdGEub2Zmc2V0cywgdGhpcy5lbGVtZW50KSB8fCB7fVxuICAvLyAgICAgICB9XG4gIC8vICAgICAgIHJldHVybiBkYXRhXG4gIC8vICAgICB9XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIG9mZnNldC5vZmZzZXQgPSB0aGlzLmNvbmZpZy5vZmZzZXRcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIG9mZnNldFxuICAvLyB9XG4gIDtcblxuICBfcHJvdG8uX2dldE9mZnNldCA9IGZ1bmN0aW9uIF9nZXRPZmZzZXQoKSB7XG4gICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICB2YXIgb2Zmc2V0ID0gW107XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLm9mZnNldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb2Zmc2V0ID0gZnVuY3Rpb24gb2Zmc2V0KF9yZWYzKSB7XG4gICAgICAgIHZhciBwbGFjZW1lbnQgPSBfcmVmMy5wbGFjZW1lbnQsXG4gICAgICAgICAgICByZWZlcmVuY2UgPSBfcmVmMy5yZWZlcmVuY2UsXG4gICAgICAgICAgICBwb3BwZXIgPSBfcmVmMy5wb3BwZXI7XG4gICAgICAgIHJldHVybiBfdGhpczQuY29uZmlnLm9mZnNldCh7XG4gICAgICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICAgICAgcmVmZXJlbmNlOiByZWZlcmVuY2UsXG4gICAgICAgICAgcG9wcGVyOiBwb3BwZXJcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBvZmZzZXQgPSB0aGlzLmNvbmZpZy5vZmZzZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfTtcblxuICBfcHJvdG8uX2dldENvbnRhaW5lciA9IGZ1bmN0aW9uIF9nZXRDb250YWluZXIoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmNvbnRhaW5lciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBkb2N1bWVudC5ib2R5O1xuICAgIH1cblxuICAgIGlmIChpc0VsZW1lbnQodGhpcy5jb25maWcuY29udGFpbmVyKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICByZXR1cm4gU2VsZWN0b3JFbmdpbmUuZmluZE9uZSh0aGlzLmNvbmZpZy5jb250YWluZXIpO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0QXR0YWNobWVudCA9IGZ1bmN0aW9uIF9nZXRBdHRhY2htZW50KHBsYWNlbWVudCkge1xuICAgIHJldHVybiBBdHRhY2htZW50TWFwW3BsYWNlbWVudC50b1VwcGVyQ2FzZSgpXTtcbiAgfTtcblxuICBfcHJvdG8uX3NldExpc3RlbmVycyA9IGZ1bmN0aW9uIF9zZXRMaXN0ZW5lcnMoKSB7XG4gICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICB2YXIgdHJpZ2dlcnMgPSB0aGlzLmNvbmZpZy50cmlnZ2VyLnNwbGl0KCcgJyk7XG4gICAgdHJpZ2dlcnMuZm9yRWFjaChmdW5jdGlvbiAodHJpZ2dlcikge1xuICAgICAgaWYgKHRyaWdnZXIgPT09ICdjbGljaycpIHtcbiAgICAgICAgRXZlbnRIYW5kbGVyLm9uKF90aGlzNS5lbGVtZW50LCBfdGhpczUuY29uc3RydWN0b3IuRXZlbnQuQ0xJQ0ssIF90aGlzNS5jb25maWcuc2VsZWN0b3IsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczUudG9nZ2xlKGV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRyaWdnZXIgIT09IFRSSUdHRVJfTUFOVUFMKSB7XG4gICAgICAgIHZhciBldmVudEluID0gdHJpZ2dlciA9PT0gVFJJR0dFUl9IT1ZFUiA/IF90aGlzNS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUVOVEVSIDogX3RoaXM1LmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTSU47XG4gICAgICAgIHZhciBldmVudE91dCA9IHRyaWdnZXIgPT09IFRSSUdHRVJfSE9WRVIgPyBfdGhpczUuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VMRUFWRSA6IF90aGlzNS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU09VVDtcbiAgICAgICAgRXZlbnRIYW5kbGVyLm9uKF90aGlzNS5lbGVtZW50LCBldmVudEluLCBfdGhpczUuY29uZmlnLnNlbGVjdG9yLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXM1Ll9lbnRlcihldmVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICBFdmVudEhhbmRsZXIub24oX3RoaXM1LmVsZW1lbnQsIGV2ZW50T3V0LCBfdGhpczUuY29uZmlnLnNlbGVjdG9yLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXM1Ll9sZWF2ZShldmVudCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5faGlkZU1vZGFsSGFuZGxlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChfdGhpczUuZWxlbWVudCkge1xuICAgICAgICBfdGhpczUuaGlkZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5lbGVtZW50LmNsb3Nlc3QoXCIuXCIgKyBDTEFTU19OQU1FX01PREFMKSwgJ2hpZGUuY29yZXVpLm1vZGFsJywgdGhpcy5faGlkZU1vZGFsSGFuZGxlcik7XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0b3IpIHtcbiAgICAgIHRoaXMuY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHRoaXMuY29uZmlnKSwge30sIHtcbiAgICAgICAgdHJpZ2dlcjogJ21hbnVhbCcsXG4gICAgICAgIHNlbGVjdG9yOiAnJ1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZpeFRpdGxlKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fZml4VGl0bGUgPSBmdW5jdGlvbiBfZml4VGl0bGUoKSB7XG4gICAgdmFyIHRpdGxlVHlwZSA9IHR5cGVvZiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLW9yaWdpbmFsLXRpdGxlJyk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgndGl0bGUnKSB8fCB0aXRsZVR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLW9yaWdpbmFsLXRpdGxlJywgdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgndGl0bGUnKSB8fCAnJyk7XG4gICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCd0aXRsZScsICcnKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9lbnRlciA9IGZ1bmN0aW9uIF9lbnRlcihldmVudCwgY29udGV4dCkge1xuICAgIHZhciBkYXRhS2V5ID0gdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTtcbiAgICBjb250ZXh0ID0gY29udGV4dCB8fCBEYXRhLmdldERhdGEoZXZlbnQuZGVsZWdhdGVUYXJnZXQsIGRhdGFLZXkpO1xuXG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICBjb250ZXh0ID0gbmV3IHRoaXMuY29uc3RydWN0b3IoZXZlbnQuZGVsZWdhdGVUYXJnZXQsIHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpO1xuICAgICAgRGF0YS5zZXREYXRhKGV2ZW50LmRlbGVnYXRlVGFyZ2V0LCBkYXRhS2V5LCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGNvbnRleHQuX2FjdGl2ZVRyaWdnZXJbZXZlbnQudHlwZSA9PT0gJ2ZvY3VzaW4nID8gVFJJR0dFUl9GT0NVUyA6IFRSSUdHRVJfSE9WRVJdID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dC5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQ0KSB8fCBjb250ZXh0Ll9ob3ZlclN0YXRlID09PSBIT1ZFUl9TVEFURV9TSE9XKSB7XG4gICAgICBjb250ZXh0Ll9ob3ZlclN0YXRlID0gSE9WRVJfU1RBVEVfU0hPVztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjbGVhclRpbWVvdXQoY29udGV4dC5fdGltZW91dCk7XG4gICAgY29udGV4dC5faG92ZXJTdGF0ZSA9IEhPVkVSX1NUQVRFX1NIT1c7XG5cbiAgICBpZiAoIWNvbnRleHQuY29uZmlnLmRlbGF5IHx8ICFjb250ZXh0LmNvbmZpZy5kZWxheS5zaG93KSB7XG4gICAgICBjb250ZXh0LnNob3coKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb250ZXh0Ll90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoY29udGV4dC5faG92ZXJTdGF0ZSA9PT0gSE9WRVJfU1RBVEVfU0hPVykge1xuICAgICAgICBjb250ZXh0LnNob3coKTtcbiAgICAgIH1cbiAgICB9LCBjb250ZXh0LmNvbmZpZy5kZWxheS5zaG93KTtcbiAgfTtcblxuICBfcHJvdG8uX2xlYXZlID0gZnVuY3Rpb24gX2xlYXZlKGV2ZW50LCBjb250ZXh0KSB7XG4gICAgdmFyIGRhdGFLZXkgPSB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZO1xuICAgIGNvbnRleHQgPSBjb250ZXh0IHx8IERhdGEuZ2V0RGF0YShldmVudC5kZWxlZ2F0ZVRhcmdldCwgZGF0YUtleSk7XG5cbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgIGNvbnRleHQgPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcihldmVudC5kZWxlZ2F0ZVRhcmdldCwgdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSk7XG4gICAgICBEYXRhLnNldERhdGEoZXZlbnQuZGVsZWdhdGVUYXJnZXQsIGRhdGFLZXksIGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChldmVudCkge1xuICAgICAgY29udGV4dC5fYWN0aXZlVHJpZ2dlcltldmVudC50eXBlID09PSAnZm9jdXNvdXQnID8gVFJJR0dFUl9GT0NVUyA6IFRSSUdHRVJfSE9WRVJdID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRleHQuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNsZWFyVGltZW91dChjb250ZXh0Ll90aW1lb3V0KTtcbiAgICBjb250ZXh0Ll9ob3ZlclN0YXRlID0gSE9WRVJfU1RBVEVfT1VUO1xuXG4gICAgaWYgKCFjb250ZXh0LmNvbmZpZy5kZWxheSB8fCAhY29udGV4dC5jb25maWcuZGVsYXkuaGlkZSkge1xuICAgICAgY29udGV4dC5oaWRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udGV4dC5fdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKGNvbnRleHQuX2hvdmVyU3RhdGUgPT09IEhPVkVSX1NUQVRFX09VVCkge1xuICAgICAgICBjb250ZXh0LmhpZGUoKTtcbiAgICAgIH1cbiAgICB9LCBjb250ZXh0LmNvbmZpZy5kZWxheS5oaWRlKTtcbiAgfTtcblxuICBfcHJvdG8uX2lzV2l0aEFjdGl2ZVRyaWdnZXIgPSBmdW5jdGlvbiBfaXNXaXRoQWN0aXZlVHJpZ2dlcigpIHtcbiAgICBmb3IgKHZhciB0cmlnZ2VyIGluIHRoaXMuX2FjdGl2ZVRyaWdnZXIpIHtcbiAgICAgIGlmICh0aGlzLl9hY3RpdmVUcmlnZ2VyW3RyaWdnZXJdKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgdmFyIGRhdGFBdHRyaWJ1dGVzID0gTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5lbGVtZW50KTtcbiAgICBPYmplY3Qua2V5cyhkYXRhQXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoZGF0YUF0dHIpIHtcbiAgICAgIGlmIChESVNBTExPV0VEX0FUVFJJQlVURVMuaW5kZXhPZihkYXRhQXR0cikgIT09IC0xKSB7XG4gICAgICAgIGRlbGV0ZSBkYXRhQXR0cmlidXRlc1tkYXRhQXR0cl07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoY29uZmlnICYmIHR5cGVvZiBjb25maWcuY29udGFpbmVyID09PSAnb2JqZWN0JyAmJiBjb25maWcuY29udGFpbmVyLmpxdWVyeSkge1xuICAgICAgY29uZmlnLmNvbnRhaW5lciA9IGNvbmZpZy5jb250YWluZXJbMF07XG4gICAgfVxuXG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCksIGRhdGFBdHRyaWJ1dGVzKSwgdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pO1xuXG4gICAgaWYgKHR5cGVvZiBjb25maWcuZGVsYXkgPT09ICdudW1iZXInKSB7XG4gICAgICBjb25maWcuZGVsYXkgPSB7XG4gICAgICAgIHNob3c6IGNvbmZpZy5kZWxheSxcbiAgICAgICAgaGlkZTogY29uZmlnLmRlbGF5XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29uZmlnLnRpdGxlID09PSAnbnVtYmVyJykge1xuICAgICAgY29uZmlnLnRpdGxlID0gY29uZmlnLnRpdGxlLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb25maWcuY29udGVudCA9PT0gJ251bWJlcicpIHtcbiAgICAgIGNvbmZpZy5jb250ZW50ID0gY29uZmlnLmNvbnRlbnQudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICB0eXBlQ2hlY2tDb25maWcoTkFNRSQ4LCBjb25maWcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpO1xuXG4gICAgaWYgKGNvbmZpZy5zYW5pdGl6ZSkge1xuICAgICAgY29uZmlnLnRlbXBsYXRlID0gc2FuaXRpemVIdG1sKGNvbmZpZy50ZW1wbGF0ZSwgY29uZmlnLndoaXRlTGlzdCwgY29uZmlnLnNhbml0aXplRm4pO1xuICAgIH1cblxuICAgIHJldHVybiBjb25maWc7XG4gIH07XG5cbiAgX3Byb3RvLl9nZXREZWxlZ2F0ZUNvbmZpZyA9IGZ1bmN0aW9uIF9nZXREZWxlZ2F0ZUNvbmZpZygpIHtcbiAgICB2YXIgY29uZmlnID0ge307XG5cbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIGZvciAodmFyIGtleSBpbiB0aGlzLmNvbmZpZykge1xuICAgICAgICBpZiAodGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0W2tleV0gIT09IHRoaXMuY29uZmlnW2tleV0pIHtcbiAgICAgICAgICBjb25maWdba2V5XSA9IHRoaXMuY29uZmlnW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xuXG4gIF9wcm90by5fY2xlYW5UaXBDbGFzcyA9IGZ1bmN0aW9uIF9jbGVhblRpcENsYXNzKCkge1xuICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTtcbiAgICB2YXIgdGFiQ2xhc3MgPSB0aXAuZ2V0QXR0cmlidXRlKCdjbGFzcycpLm1hdGNoKEJTQ0xTX1BSRUZJWF9SRUdFWCk7XG5cbiAgICBpZiAodGFiQ2xhc3MgIT09IG51bGwgJiYgdGFiQ2xhc3MubGVuZ3RoID4gMCkge1xuICAgICAgdGFiQ2xhc3MubWFwKGZ1bmN0aW9uICh0b2tlbikge1xuICAgICAgICByZXR1cm4gdG9rZW4udHJpbSgpO1xuICAgICAgfSkuZm9yRWFjaChmdW5jdGlvbiAodENsYXNzKSB7XG4gICAgICAgIHJldHVybiB0aXAuY2xhc3NMaXN0LnJlbW92ZSh0Q2xhc3MpO1xuICAgICAgfSk7XG4gICAgfVxuICB9IC8vIF9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UocG9wcGVyRGF0YSkge1xuICAvLyAgIGNvbnNvbGUubG9nKHBvcHBlckRhdGEpXG4gIC8vICAgY29uc3QgcG9wcGVySW5zdGFuY2UgPSBwb3BwZXJEYXRhLmVsZW1lbnRzLnBvcHBlclxuICAvLyAgIHRoaXMudGlwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocG9wcGVySW5zdGFuY2UuZ2V0QXR0cmlidXRlKCdpZCcpKVxuICAvLyAgIGNvbnNvbGUubG9nKHRoaXMudGlwKVxuICAvLyAgIHRoaXMuX2NsZWFuVGlwQ2xhc3MoKVxuICAvLyAgIHRoaXMuX2FkZEF0dGFjaG1lbnRDbGFzcyh0aGlzLl9nZXRBdHRhY2htZW50KHBvcHBlckRhdGEucGxhY2VtZW50KSlcbiAgLy8gfVxuICA7XG5cbiAgX3Byb3RvLl9maXhUcmFuc2l0aW9uID0gZnVuY3Rpb24gX2ZpeFRyYW5zaXRpb24oKSB7XG4gICAgdmFyIHRpcCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpO1xuICAgIHZhciBpbml0Q29uZmlnQW5pbWF0aW9uID0gdGhpcy5jb25maWcuYW5pbWF0aW9uO1xuXG4gICAgaWYgKHRpcC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcG9wcGVyLXBsYWNlbWVudCcpICE9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGlwLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9GQURFJDEpO1xuICAgIHRoaXMuY29uZmlnLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuc2hvdygpO1xuICAgIHRoaXMuY29uZmlnLmFuaW1hdGlvbiA9IGluaXRDb25maWdBbmltYXRpb247XG4gIH0gLy8gU3RhdGljXG4gIDtcblxuICBUb29sdGlwLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJDgpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgICAgaWYgKCFkYXRhICYmIC9kaXNwb3NlfGhpZGUvLnRlc3QoY29uZmlnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZGF0YSkge1xuICAgICAgICBkYXRhID0gbmV3IFRvb2x0aXAodGhpcywgX2NvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIFRvb2x0aXAuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRJbnN0YW5jZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ4KTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoVG9vbHRpcCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kODtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHQkNjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiTkFNRVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIE5BTUUkODtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiREFUQV9LRVlcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEQVRBX0tFWSQ4O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJFdmVudFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIEV2ZW50JDE7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkVWRU5UX0tFWVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIEVWRU5UX0tFWSQ4O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDU7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFRvb2x0aXA7XG59KCk7XG5cbnZhciAkJDkgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC50b29sdGlwIHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5cbmlmICgkJDkpIHtcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCQ4ID0gJCQ5LmZuW05BTUUkOF07XG4gICQkOS5mbltOQU1FJDhdID0gVG9vbHRpcC5qUXVlcnlJbnRlcmZhY2U7XG4gICQkOS5mbltOQU1FJDhdLkNvbnN0cnVjdG9yID0gVG9vbHRpcDtcblxuICAkJDkuZm5bTkFNRSQ4XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkOS5mbltOQU1FJDhdID0gSlFVRVJZX05PX0NPTkZMSUNUJDg7XG4gICAgcmV0dXJuIFRvb2x0aXAualF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTkFNRSQ5ID0gJ3BvcG92ZXInO1xudmFyIFZFUlNJT04kOSA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkOSA9ICdjb3JldWkucG9wb3Zlcic7XG52YXIgRVZFTlRfS0VZJDkgPSBcIi5cIiArIERBVEFfS0VZJDk7XG52YXIgQ0xBU1NfUFJFRklYJDEgPSAnYnMtcG9wb3Zlcic7XG52YXIgQlNDTFNfUFJFRklYX1JFR0VYJDEgPSBuZXcgUmVnRXhwKFwiKF58XFxcXHMpXCIgKyBDTEFTU19QUkVGSVgkMSArIFwiXFxcXFMrXCIsICdnJyk7XG5cbnZhciBEZWZhdWx0JDcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgVG9vbHRpcC5EZWZhdWx0KSwge30sIHtcbiAgcGxhY2VtZW50OiAncmlnaHQnLFxuICB0cmlnZ2VyOiAnY2xpY2snLFxuICBjb250ZW50OiAnJyxcbiAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPVwicG9wb3ZlclwiIHJvbGU9XCJ0b29sdGlwXCI+JyArICc8ZGl2IGNsYXNzPVwicG9wb3Zlci1hcnJvd1wiPjwvZGl2PicgKyAnPGgzIGNsYXNzPVwicG9wb3Zlci1oZWFkZXJcIj48L2gzPicgKyAnPGRpdiBjbGFzcz1cInBvcG92ZXItYm9keVwiPjwvZGl2PjwvZGl2Pidcbn0pO1xuXG52YXIgRGVmYXVsdFR5cGUkNiA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBUb29sdGlwLkRlZmF1bHRUeXBlKSwge30sIHtcbiAgY29udGVudDogJyhzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbiknXG59KTtcblxudmFyIEV2ZW50JDIgPSB7XG4gIEhJREU6IFwiaGlkZVwiICsgRVZFTlRfS0VZJDksXG4gIEhJRERFTjogXCJoaWRkZW5cIiArIEVWRU5UX0tFWSQ5LFxuICBTSE9XOiBcInNob3dcIiArIEVWRU5UX0tFWSQ5LFxuICBTSE9XTjogXCJzaG93blwiICsgRVZFTlRfS0VZJDksXG4gIElOU0VSVEVEOiBcImluc2VydGVkXCIgKyBFVkVOVF9LRVkkOSxcbiAgQ0xJQ0s6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ5LFxuICBGT0NVU0lOOiBcImZvY3VzaW5cIiArIEVWRU5UX0tFWSQ5LFxuICBGT0NVU09VVDogXCJmb2N1c291dFwiICsgRVZFTlRfS0VZJDksXG4gIE1PVVNFRU5URVI6IFwibW91c2VlbnRlclwiICsgRVZFTlRfS0VZJDksXG4gIE1PVVNFTEVBVkU6IFwibW91c2VsZWF2ZVwiICsgRVZFTlRfS0VZJDlcbn07XG52YXIgQ0xBU1NfTkFNRV9GQURFJDIgPSAnZmFkZSc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XJDUgPSAnc2hvdyc7XG52YXIgU0VMRUNUT1JfVElUTEUgPSAnLnBvcG92ZXItaGVhZGVyJztcbnZhciBTRUxFQ1RPUl9DT05URU5UID0gJy5wb3BvdmVyLWJvZHknO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBQb3BvdmVyID0gLyojX19QVVJFX18qL2Z1bmN0aW9uIChfVG9vbHRpcCkge1xuICBfaW5oZXJpdHNMb29zZShQb3BvdmVyLCBfVG9vbHRpcCk7XG5cbiAgZnVuY3Rpb24gUG9wb3ZlcigpIHtcbiAgICByZXR1cm4gX1Rvb2x0aXAuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IFBvcG92ZXIucHJvdG90eXBlO1xuXG4gIC8vIE92ZXJyaWRlc1xuICBfcHJvdG8uaXNXaXRoQ29udGVudCA9IGZ1bmN0aW9uIGlzV2l0aENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGl0bGUoKSB8fCB0aGlzLl9nZXRDb250ZW50KCk7XG4gIH07XG5cbiAgX3Byb3RvLnNldENvbnRlbnQgPSBmdW5jdGlvbiBzZXRDb250ZW50KCkge1xuICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTsgLy8gd2UgdXNlIGFwcGVuZCBmb3IgaHRtbCBvYmplY3RzIHRvIG1haW50YWluIGpzIGV2ZW50c1xuXG4gICAgdGhpcy5zZXRFbGVtZW50Q29udGVudChTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX1RJVExFLCB0aXApLCB0aGlzLmdldFRpdGxlKCkpO1xuXG4gICAgdmFyIGNvbnRlbnQgPSB0aGlzLl9nZXRDb250ZW50KCk7XG5cbiAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnRlbnQgPSBjb250ZW50LmNhbGwodGhpcy5lbGVtZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfQ09OVEVOVCwgdGlwKSwgY29udGVudCk7XG4gICAgdGlwLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9GQURFJDIsIENMQVNTX05BTUVfU0hPVyQ1KTtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2FkZEF0dGFjaG1lbnRDbGFzcyA9IGZ1bmN0aW9uIF9hZGRBdHRhY2htZW50Q2xhc3MoYXR0YWNobWVudCkge1xuICAgIHRoaXMuZ2V0VGlwRWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoQ0xBU1NfUFJFRklYJDEgKyBcIi1cIiArIGF0dGFjaG1lbnQpO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0Q29udGVudCA9IGZ1bmN0aW9uIF9nZXRDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWNvbnRlbnQnKSB8fCB0aGlzLmNvbmZpZy5jb250ZW50O1xuICB9O1xuXG4gIF9wcm90by5fY2xlYW5UaXBDbGFzcyA9IGZ1bmN0aW9uIF9jbGVhblRpcENsYXNzKCkge1xuICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTtcbiAgICB2YXIgdGFiQ2xhc3MgPSB0aXAuZ2V0QXR0cmlidXRlKCdjbGFzcycpLm1hdGNoKEJTQ0xTX1BSRUZJWF9SRUdFWCQxKTtcblxuICAgIGlmICh0YWJDbGFzcyAhPT0gbnVsbCAmJiB0YWJDbGFzcy5sZW5ndGggPiAwKSB7XG4gICAgICB0YWJDbGFzcy5tYXAoZnVuY3Rpb24gKHRva2VuKSB7XG4gICAgICAgIHJldHVybiB0b2tlbi50cmltKCk7XG4gICAgICB9KS5mb3JFYWNoKGZ1bmN0aW9uICh0Q2xhc3MpIHtcbiAgICAgICAgcmV0dXJuIHRpcC5jbGFzc0xpc3QucmVtb3ZlKHRDbGFzcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0gLy8gU3RhdGljXG4gIDtcblxuICBQb3BvdmVyLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJDkpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnID8gY29uZmlnIDogbnVsbDtcblxuICAgICAgaWYgKCFkYXRhICYmIC9kaXNwb3NlfGhpZGUvLnRlc3QoY29uZmlnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZGF0YSkge1xuICAgICAgICBkYXRhID0gbmV3IFBvcG92ZXIodGhpcywgX2NvbmZpZyk7XG4gICAgICAgIERhdGEuc2V0RGF0YSh0aGlzLCBEQVRBX0tFWSQ5LCBkYXRhKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtjb25maWddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGF0YVtjb25maWddKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgUG9wb3Zlci5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDkpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhQb3BvdmVyLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgLy8gR2V0dGVyc1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kOTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHQkNztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiTkFNRVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIE5BTUUkOTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiREFUQV9LRVlcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEQVRBX0tFWSQ5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJFdmVudFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIEV2ZW50JDI7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkVWRU5UX0tFWVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIEVWRU5UX0tFWSQ5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDY7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFBvcG92ZXI7XG59KFRvb2x0aXApO1xuXG52YXIgJCRhID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkYSkge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJDkgPSAkJGEuZm5bTkFNRSQ5XTtcbiAgJCRhLmZuW05BTUUkOV0gPSBQb3BvdmVyLmpRdWVyeUludGVyZmFjZTtcbiAgJCRhLmZuW05BTUUkOV0uQ29uc3RydWN0b3IgPSBQb3BvdmVyO1xuXG4gICQkYS5mbltOQU1FJDldLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJCRhLmZuW05BTUUkOV0gPSBKUVVFUllfTk9fQ09ORkxJQ1QkOTtcbiAgICByZXR1cm4gUG9wb3Zlci5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJGEgPSAnc2Nyb2xsc3B5JztcbnZhciBWRVJTSU9OJGEgPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJGEgPSAnY29yZXVpLnNjcm9sbHNweSc7XG52YXIgRVZFTlRfS0VZJGEgPSBcIi5cIiArIERBVEFfS0VZJGE7XG52YXIgREFUQV9BUElfS0VZJDggPSAnLmRhdGEtYXBpJztcbnZhciBEZWZhdWx0JDggPSB7XG4gIG9mZnNldDogMTAsXG4gIG1ldGhvZDogJ2F1dG8nLFxuICB0YXJnZXQ6ICcnXG59O1xudmFyIERlZmF1bHRUeXBlJDcgPSB7XG4gIG9mZnNldDogJ251bWJlcicsXG4gIG1ldGhvZDogJ3N0cmluZycsXG4gIHRhcmdldDogJyhzdHJpbmd8ZWxlbWVudCknXG59O1xudmFyIEVWRU5UX0FDVElWQVRFID0gXCJhY3RpdmF0ZVwiICsgRVZFTlRfS0VZJGE7XG52YXIgRVZFTlRfU0NST0xMID0gXCJzY3JvbGxcIiArIEVWRU5UX0tFWSRhO1xudmFyIEVWRU5UX0xPQURfREFUQV9BUEkkMSA9IFwibG9hZFwiICsgRVZFTlRfS0VZJGEgKyBEQVRBX0FQSV9LRVkkODtcbnZhciBDTEFTU19OQU1FX0RST1BET1dOX0lURU0gPSAnZHJvcGRvd24taXRlbSc7XG52YXIgQ0xBU1NfTkFNRV9BQ1RJVkUkMyA9ICdhY3RpdmUnO1xudmFyIFNFTEVDVE9SX0RBVEFfU1BZID0gJ1tkYXRhLXNweT1cInNjcm9sbFwiXSc7XG52YXIgU0VMRUNUT1JfTkFWX0xJU1RfR1JPVVAgPSAnLm5hdiwgLmxpc3QtZ3JvdXAnO1xudmFyIFNFTEVDVE9SX05BVl9MSU5LUyA9ICcubmF2LWxpbmsnO1xudmFyIFNFTEVDVE9SX05BVl9JVEVNUyA9ICcubmF2LWl0ZW0nO1xudmFyIFNFTEVDVE9SX0xJU1RfSVRFTVMgPSAnLmxpc3QtZ3JvdXAtaXRlbSc7XG52YXIgU0VMRUNUT1JfRFJPUERPV04gPSAnLmRyb3Bkb3duJztcbnZhciBTRUxFQ1RPUl9EUk9QRE9XTl9UT0dHTEUgPSAnLmRyb3Bkb3duLXRvZ2dsZSc7XG52YXIgTUVUSE9EX09GRlNFVCA9ICdvZmZzZXQnO1xudmFyIE1FVEhPRF9QT1NJVElPTiA9ICdwb3NpdGlvbic7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2xhc3MgRGVmaW5pdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIFNjcm9sbFNweSA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFNjcm9sbFNweShlbGVtZW50LCBjb25maWcpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IGVsZW1lbnQudGFnTmFtZSA9PT0gJ0JPRFknID8gd2luZG93IDogZWxlbWVudDtcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICB0aGlzLl9zZWxlY3RvciA9IHRoaXMuX2NvbmZpZy50YXJnZXQgKyBcIiBcIiArIFNFTEVDVE9SX05BVl9MSU5LUyArIFwiLCBcIiArIHRoaXMuX2NvbmZpZy50YXJnZXQgKyBcIiBcIiArIFNFTEVDVE9SX0xJU1RfSVRFTVMgKyBcIiwgXCIgKyB0aGlzLl9jb25maWcudGFyZ2V0ICsgXCIgLlwiICsgQ0xBU1NfTkFNRV9EUk9QRE9XTl9JVEVNO1xuICAgIHRoaXMuX29mZnNldHMgPSBbXTtcbiAgICB0aGlzLl90YXJnZXRzID0gW107XG4gICAgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbDtcbiAgICB0aGlzLl9zY3JvbGxIZWlnaHQgPSAwO1xuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9zY3JvbGxFbGVtZW50LCBFVkVOVF9TQ1JPTEwsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgcmV0dXJuIF90aGlzLl9wcm9jZXNzKGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnJlZnJlc2goKTtcblxuICAgIHRoaXMuX3Byb2Nlc3MoKTtcblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSRhLCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gU2Nyb2xsU3B5LnByb3RvdHlwZTtcblxuICAvLyBQdWJsaWNcbiAgX3Byb3RvLnJlZnJlc2ggPSBmdW5jdGlvbiByZWZyZXNoKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdmFyIGF1dG9NZXRob2QgPSB0aGlzLl9zY3JvbGxFbGVtZW50ID09PSB0aGlzLl9zY3JvbGxFbGVtZW50LndpbmRvdyA/IE1FVEhPRF9PRkZTRVQgOiBNRVRIT0RfUE9TSVRJT047XG4gICAgdmFyIG9mZnNldE1ldGhvZCA9IHRoaXMuX2NvbmZpZy5tZXRob2QgPT09ICdhdXRvJyA/IGF1dG9NZXRob2QgOiB0aGlzLl9jb25maWcubWV0aG9kO1xuICAgIHZhciBvZmZzZXRCYXNlID0gb2Zmc2V0TWV0aG9kID09PSBNRVRIT0RfUE9TSVRJT04gPyB0aGlzLl9nZXRTY3JvbGxUb3AoKSA6IDA7XG4gICAgdGhpcy5fb2Zmc2V0cyA9IFtdO1xuICAgIHRoaXMuX3RhcmdldHMgPSBbXTtcbiAgICB0aGlzLl9zY3JvbGxIZWlnaHQgPSB0aGlzLl9nZXRTY3JvbGxIZWlnaHQoKTtcbiAgICB2YXIgdGFyZ2V0cyA9IFNlbGVjdG9yRW5naW5lLmZpbmQodGhpcy5fc2VsZWN0b3IpO1xuICAgIHRhcmdldHMubWFwKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICB2YXIgdGFyZ2V0U2VsZWN0b3IgPSBnZXRTZWxlY3RvckZyb21FbGVtZW50KGVsZW1lbnQpO1xuICAgICAgdmFyIHRhcmdldCA9IHRhcmdldFNlbGVjdG9yID8gU2VsZWN0b3JFbmdpbmUuZmluZE9uZSh0YXJnZXRTZWxlY3RvcikgOiBudWxsO1xuXG4gICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgIHZhciB0YXJnZXRCQ1IgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgaWYgKHRhcmdldEJDUi53aWR0aCB8fCB0YXJnZXRCQ1IuaGVpZ2h0KSB7XG4gICAgICAgICAgcmV0dXJuIFtNYW5pcHVsYXRvcltvZmZzZXRNZXRob2RdKHRhcmdldCkudG9wICsgb2Zmc2V0QmFzZSwgdGFyZ2V0U2VsZWN0b3JdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSkuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGFbMF0gLSBiWzBdO1xuICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIF90aGlzMi5fb2Zmc2V0cy5wdXNoKGl0ZW1bMF0pO1xuXG4gICAgICBfdGhpczIuX3RhcmdldHMucHVzaChpdGVtWzFdKTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgRGF0YS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJGEpO1xuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fc2Nyb2xsRWxlbWVudCwgRVZFTlRfS0VZJGEpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3Njcm9sbEVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX2NvbmZpZyA9IG51bGw7XG4gICAgdGhpcy5fc2VsZWN0b3IgPSBudWxsO1xuICAgIHRoaXMuX29mZnNldHMgPSBudWxsO1xuICAgIHRoaXMuX3RhcmdldHMgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2ZVRhcmdldCA9IG51bGw7XG4gICAgdGhpcy5fc2Nyb2xsSGVpZ2h0ID0gbnVsbDtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkOCksIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZyA/IGNvbmZpZyA6IHt9KTtcblxuICAgIGlmICh0eXBlb2YgY29uZmlnLnRhcmdldCAhPT0gJ3N0cmluZycgJiYgaXNFbGVtZW50KGNvbmZpZy50YXJnZXQpKSB7XG4gICAgICB2YXIgaWQgPSBjb25maWcudGFyZ2V0LmlkO1xuXG4gICAgICBpZiAoIWlkKSB7XG4gICAgICAgIGlkID0gZ2V0VUlEKE5BTUUkYSk7XG4gICAgICAgIGNvbmZpZy50YXJnZXQuaWQgPSBpZDtcbiAgICAgIH1cblxuICAgICAgY29uZmlnLnRhcmdldCA9IFwiI1wiICsgaWQ7XG4gICAgfVxuXG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUkYSwgY29uZmlnLCBEZWZhdWx0VHlwZSQ3KTtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0U2Nyb2xsVG9wID0gZnVuY3Rpb24gX2dldFNjcm9sbFRvcCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gd2luZG93ID8gdGhpcy5fc2Nyb2xsRWxlbWVudC5wYWdlWU9mZnNldCA6IHRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0U2Nyb2xsSGVpZ2h0ID0gZnVuY3Rpb24gX2dldFNjcm9sbEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHQgfHwgTWF0aC5tYXgoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0T2Zmc2V0SGVpZ2h0ID0gZnVuY3Rpb24gX2dldE9mZnNldEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gd2luZG93ID8gd2luZG93LmlubmVySGVpZ2h0IDogdGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gIH07XG5cbiAgX3Byb3RvLl9wcm9jZXNzID0gZnVuY3Rpb24gX3Byb2Nlc3MoKSB7XG4gICAgdmFyIHNjcm9sbFRvcCA9IHRoaXMuX2dldFNjcm9sbFRvcCgpICsgdGhpcy5fY29uZmlnLm9mZnNldDtcblxuICAgIHZhciBzY3JvbGxIZWlnaHQgPSB0aGlzLl9nZXRTY3JvbGxIZWlnaHQoKTtcblxuICAgIHZhciBtYXhTY3JvbGwgPSB0aGlzLl9jb25maWcub2Zmc2V0ICsgc2Nyb2xsSGVpZ2h0IC0gdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7XG5cbiAgICBpZiAodGhpcy5fc2Nyb2xsSGVpZ2h0ICE9PSBzY3JvbGxIZWlnaHQpIHtcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cblxuICAgIGlmIChzY3JvbGxUb3AgPj0gbWF4U2Nyb2xsKSB7XG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aCAtIDFdO1xuXG4gICAgICBpZiAodGhpcy5fYWN0aXZlVGFyZ2V0ICE9PSB0YXJnZXQpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZhdGUodGFyZ2V0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9hY3RpdmVUYXJnZXQgJiYgc2Nyb2xsVG9wIDwgdGhpcy5fb2Zmc2V0c1swXSAmJiB0aGlzLl9vZmZzZXRzWzBdID4gMCkge1xuICAgICAgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbDtcblxuICAgICAgdGhpcy5fY2xlYXIoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSB0aGlzLl9vZmZzZXRzLmxlbmd0aDsgaS0tOykge1xuICAgICAgdmFyIGlzQWN0aXZlVGFyZ2V0ID0gdGhpcy5fYWN0aXZlVGFyZ2V0ICE9PSB0aGlzLl90YXJnZXRzW2ldICYmIHNjcm9sbFRvcCA+PSB0aGlzLl9vZmZzZXRzW2ldICYmICh0eXBlb2YgdGhpcy5fb2Zmc2V0c1tpICsgMV0gPT09ICd1bmRlZmluZWQnIHx8IHNjcm9sbFRvcCA8IHRoaXMuX29mZnNldHNbaSArIDFdKTtcblxuICAgICAgaWYgKGlzQWN0aXZlVGFyZ2V0KSB7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlKHRoaXMuX3RhcmdldHNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2FjdGl2YXRlID0gZnVuY3Rpb24gX2FjdGl2YXRlKHRhcmdldCkge1xuICAgIHRoaXMuX2FjdGl2ZVRhcmdldCA9IHRhcmdldDtcblxuICAgIHRoaXMuX2NsZWFyKCk7XG5cbiAgICB2YXIgcXVlcmllcyA9IHRoaXMuX3NlbGVjdG9yLnNwbGl0KCcsJykubWFwKGZ1bmN0aW9uIChzZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIHNlbGVjdG9yICsgXCJbZGF0YS10YXJnZXQ9XFxcIlwiICsgdGFyZ2V0ICsgXCJcXFwiXSxcIiArIHNlbGVjdG9yICsgXCJbaHJlZj1cXFwiXCIgKyB0YXJnZXQgKyBcIlxcXCJdXCI7XG4gICAgfSk7XG5cbiAgICB2YXIgbGluayA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUocXVlcmllcy5qb2luKCcsJykpO1xuXG4gICAgaWYgKGxpbmsuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUERPV05fSVRFTSkpIHtcbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfRFJPUERPV05fVE9HR0xFLCBsaW5rLmNsb3Nlc3QoU0VMRUNUT1JfRFJPUERPV04pKS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDMpO1xuICAgICAgbGluay5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTZXQgdHJpZ2dlcmVkIGxpbmsgYXMgYWN0aXZlXG4gICAgICBsaW5rLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUkMyk7XG4gICAgICBTZWxlY3RvckVuZ2luZS5wYXJlbnRzKGxpbmssIFNFTEVDVE9SX05BVl9MSVNUX0dST1VQKS5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0R3JvdXApIHtcbiAgICAgICAgLy8gU2V0IHRyaWdnZXJlZCBsaW5rcyBwYXJlbnRzIGFzIGFjdGl2ZVxuICAgICAgICAvLyBXaXRoIGJvdGggPHVsPiBhbmQgPG5hdj4gbWFya3VwIGEgcGFyZW50IGlzIHRoZSBwcmV2aW91cyBzaWJsaW5nIG9mIGFueSBuYXYgYW5jZXN0b3JcbiAgICAgICAgU2VsZWN0b3JFbmdpbmUucHJldihsaXN0R3JvdXAsIFNFTEVDVE9SX05BVl9MSU5LUyArIFwiLCBcIiArIFNFTEVDVE9SX0xJU1RfSVRFTVMpLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gaXRlbS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDMpO1xuICAgICAgICB9KTsgLy8gSGFuZGxlIHNwZWNpYWwgY2FzZSB3aGVuIC5uYXYtbGluayBpcyBpbnNpZGUgLm5hdi1pdGVtXG5cbiAgICAgICAgU2VsZWN0b3JFbmdpbmUucHJldihsaXN0R3JvdXAsIFNFTEVDVE9SX05BVl9JVEVNUykuZm9yRWFjaChmdW5jdGlvbiAobmF2SXRlbSkge1xuICAgICAgICAgIFNlbGVjdG9yRW5naW5lLmNoaWxkcmVuKG5hdkl0ZW0sIFNFTEVDVE9SX05BVl9MSU5LUykuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSQzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9zY3JvbGxFbGVtZW50LCBFVkVOVF9BQ1RJVkFURSwge1xuICAgICAgcmVsYXRlZFRhcmdldDogdGFyZ2V0XG4gICAgfSk7XG4gIH07XG5cbiAgX3Byb3RvLl9jbGVhciA9IGZ1bmN0aW9uIF9jbGVhcigpIHtcbiAgICBTZWxlY3RvckVuZ2luZS5maW5kKHRoaXMuX3NlbGVjdG9yKS5maWx0ZXIoZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgIHJldHVybiBub2RlLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQzKTtcbiAgICB9KS5mb3JFYWNoKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICByZXR1cm4gbm9kZS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQUNUSVZFJDMpO1xuICAgIH0pO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgU2Nyb2xsU3B5LmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJGEpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIGRhdGEgPSBuZXcgU2Nyb2xsU3B5KHRoaXMsIF9jb25maWcpO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBTY3JvbGxTcHkuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRJbnN0YW5jZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSRhKTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoU2Nyb2xsU3B5LCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiRhO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQ4O1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBTY3JvbGxTcHk7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfTE9BRF9EQVRBX0FQSSQxLCBmdW5jdGlvbiAoKSB7XG4gIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfREFUQV9TUFkpLmZvckVhY2goZnVuY3Rpb24gKHNweSkge1xuICAgIHJldHVybiBuZXcgU2Nyb2xsU3B5KHNweSwgTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXMoc3B5KSk7XG4gIH0pO1xufSk7XG52YXIgJCRiID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkYikge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJGEgPSAkJGIuZm5bTkFNRSRhXTtcbiAgJCRiLmZuW05BTUUkYV0gPSBTY3JvbGxTcHkualF1ZXJ5SW50ZXJmYWNlO1xuICAkJGIuZm5bTkFNRSRhXS5Db25zdHJ1Y3RvciA9IFNjcm9sbFNweTtcblxuICAkJGIuZm5bTkFNRSRhXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkYi5mbltOQU1FJGFdID0gSlFVRVJZX05PX0NPTkZMSUNUJGE7XG4gICAgcmV0dXJuIFNjcm9sbFNweS5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJGIgPSAnc2lkZWJhcic7XG52YXIgVkVSU0lPTiRiID0gJzMuMi4yJztcbnZhciBEQVRBX0tFWSRiID0gJ2NvcmV1aS5zaWRlYmFyJztcbnZhciBFVkVOVF9LRVkkYiA9IFwiLlwiICsgREFUQV9LRVkkYjtcbnZhciBEQVRBX0FQSV9LRVkkOSA9ICcuZGF0YS1hcGknO1xudmFyIERlZmF1bHQkOSA9IHtcbiAgYWN0aXZlTGlua3NFeGFjdDogdHJ1ZSxcbiAgYnJlYWtwb2ludHM6IHtcbiAgICB4czogJ2Mtc2lkZWJhci1zaG93JyxcbiAgICBzbTogJ2Mtc2lkZWJhci1zbS1zaG93JyxcbiAgICBtZDogJ2Mtc2lkZWJhci1tZC1zaG93JyxcbiAgICBsZzogJ2Mtc2lkZWJhci1sZy1zaG93JyxcbiAgICB4bDogJ2Mtc2lkZWJhci14bC1zaG93JyxcbiAgICB4eGw6ICdjLXNpZGViYXIteHhsLXNob3cnXG4gIH0sXG4gIGRyb3Bkb3duQWNjb3JkaW9uOiB0cnVlXG59O1xudmFyIERlZmF1bHRUeXBlJDggPSB7XG4gIGFjdGl2ZUxpbmtzRXhhY3Q6ICdib29sZWFuJyxcbiAgYnJlYWtwb2ludHM6ICdvYmplY3QnLFxuICBkcm9wZG93bkFjY29yZGlvbjogJyhzdHJpbmd8Ym9vbGVhbiknXG59O1xudmFyIENMQVNTX05BTUVfQUNUSVZFJDQgPSAnYy1hY3RpdmUnO1xudmFyIENMQVNTX05BTUVfQkFDS0RST1AkMSA9ICdjLXNpZGViYXItYmFja2Ryb3AnO1xudmFyIENMQVNTX05BTUVfRkFERSQzID0gJ2MtZmFkZSc7XG52YXIgQ0xBU1NfTkFNRV9OQVZfRFJPUERPV04gPSAnYy1zaWRlYmFyLW5hdi1kcm9wZG93bic7XG52YXIgQ0xBU1NfTkFNRV9OQVZfRFJPUERPV05fVE9HR0xFJDEgPSAnYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUnO1xudmFyIENMQVNTX05BTUVfU0hPVyQ2ID0gJ2Mtc2hvdyc7XG52YXIgQ0xBU1NfTkFNRV9TSURFQkFSX01JTklNSVpFRCA9ICdjLXNpZGViYXItbWluaW1pemVkJztcbnZhciBDTEFTU19OQU1FX1NJREVCQVJfT1ZFUkxBSUQgPSAnYy1zaWRlYmFyLW92ZXJsYWlkJztcbnZhciBDTEFTU19OQU1FX1NJREVCQVJfVU5GT0xEQUJMRSA9ICdjLXNpZGViYXItdW5mb2xkYWJsZSc7XG52YXIgRVZFTlRfQ0xBU1NfVE9HR0xFJDEgPSAnY2xhc3N0b2dnbGUnO1xudmFyIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDggPSBcImNsaWNrXCIgKyBFVkVOVF9LRVkkYiArIERBVEFfQVBJX0tFWSQ5O1xudmFyIEVWRU5UX0NMT1NFJDEgPSBcImNsb3NlXCIgKyBFVkVOVF9LRVkkYjtcbnZhciBFVkVOVF9DTE9TRUQkMSA9IFwiY2xvc2VkXCIgKyBFVkVOVF9LRVkkYjtcbnZhciBFVkVOVF9MT0FEX0RBVEFfQVBJJDIgPSBcImxvYWRcIiArIEVWRU5UX0tFWSRiICsgREFUQV9BUElfS0VZJDk7XG52YXIgRVZFTlRfT1BFTiA9IFwib3BlblwiICsgRVZFTlRfS0VZJGI7XG52YXIgRVZFTlRfT1BFTkVEID0gXCJvcGVuZWRcIiArIEVWRU5UX0tFWSRiO1xudmFyIFNFTEVDVE9SX05BVl9EUk9QRE9XTl9UT0dHTEUgPSAnLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlJztcbnZhciBTRUxFQ1RPUl9OQVZfRFJPUERPV04kMSA9ICcuYy1zaWRlYmFyLW5hdi1kcm9wZG93bic7XG52YXIgU0VMRUNUT1JfTkFWX0xJTkskMSA9ICcuYy1zaWRlYmFyLW5hdi1saW5rJztcbnZhciBTRUxFQ1RPUl9OQVZJR0FUSU9OX0NPTlRBSU5FUiA9ICcuYy1zaWRlYmFyLW5hdic7XG52YXIgU0VMRUNUT1JfU0lERUJBUiA9ICcuYy1zaWRlYmFyJztcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgU2lkZWJhciA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFNpZGViYXIoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgaWYgKHR5cGVvZiBQZXJmZWN0U2Nyb2xsYmFyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQ29yZVVJXFwncyBzaWRlYmFyIHJlcXVpcmUgUGVyZmVjdCBTY3JvbGxiYXInKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICB0aGlzLl9vcGVuID0gdGhpcy5faXNWaXNpYmxlKCk7XG4gICAgdGhpcy5fbW9iaWxlID0gdGhpcy5faXNNb2JpbGUoKTtcbiAgICB0aGlzLl9vdmVybGFpZCA9IHRoaXMuX2lzT3ZlcmxhaWQoKTtcbiAgICB0aGlzLl9taW5pbWl6ZSA9IHRoaXMuX2lzTWluaW1pemVkKCk7XG4gICAgdGhpcy5fdW5mb2xkYWJsZSA9IHRoaXMuX2lzVW5mb2xkYWJsZSgpO1xuXG4gICAgdGhpcy5fc2V0QWN0aXZlTGluaygpO1xuXG4gICAgdGhpcy5fcHMgPSBudWxsO1xuICAgIHRoaXMuX2JhY2tkcm9wID0gbnVsbDtcblxuICAgIHRoaXMuX3BzSW5pdCgpO1xuXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSRiLCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gU2lkZWJhci5wcm90b3R5cGU7XG5cbiAgLy8gUHVibGljXG4gIF9wcm90by5vcGVuID0gZnVuY3Rpb24gb3BlbihicmVha3BvaW50KSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX09QRU4pO1xuXG4gICAgaWYgKHRoaXMuX2lzTW9iaWxlKCkpIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzTmFtZSh0aGlzLl9maXJzdEJyZWFrcG9pbnRDbGFzc05hbWUoKSk7XG5cbiAgICAgIHRoaXMuX3Nob3dCYWNrZHJvcCgpO1xuXG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIF90aGlzLl9hZGRDbGlja091dExpc3RlbmVyKCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQpIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzTmFtZSh0aGlzLl9nZXRCcmVha3BvaW50Q2xhc3NOYW1lKGJyZWFrcG9pbnQpKTtcblxuICAgICAgaWYgKHRoaXMuX2lzT3ZlcmxhaWQoKSkge1xuICAgICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXMuX2FkZENsaWNrT3V0TGlzdGVuZXIoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzTmFtZSh0aGlzLl9maXJzdEJyZWFrcG9pbnRDbGFzc05hbWUoKSk7XG5cbiAgICAgIGlmICh0aGlzLl9pc092ZXJsYWlkKCkpIHtcbiAgICAgICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIF90aGlzLl9hZGRDbGlja091dExpc3RlbmVyKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjb21wbGV0ZSA9IGZ1bmN0aW9uIGNvbXBsZXRlKCkge1xuICAgICAgaWYgKF90aGlzLl9pc1Zpc2libGUoKSA9PT0gdHJ1ZSkge1xuICAgICAgICBfdGhpcy5fb3BlbiA9IHRydWU7XG4gICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzLl9lbGVtZW50LCBFVkVOVF9PUEVORUQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQsIHRyYW5zaXRpb25EdXJhdGlvbik7XG4gIH07XG5cbiAgX3Byb3RvLmNsb3NlID0gZnVuY3Rpb24gY2xvc2UoYnJlYWtwb2ludCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xPU0UkMSk7XG5cbiAgICBpZiAodGhpcy5faXNNb2JpbGUoKSkge1xuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2ZpcnN0QnJlYWtwb2ludENsYXNzTmFtZSgpKTtcblxuICAgICAgdGhpcy5fcmVtb3ZlQmFja2Ryb3AoKTtcblxuICAgICAgdGhpcy5fcmVtb3ZlQ2xpY2tPdXRMaXN0ZW5lcigpO1xuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCkge1xuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2dldEJyZWFrcG9pbnRDbGFzc05hbWUoYnJlYWtwb2ludCkpO1xuXG4gICAgICBpZiAodGhpcy5faXNPdmVybGFpZCgpKSB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUNsaWNrT3V0TGlzdGVuZXIoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2ZpcnN0QnJlYWtwb2ludENsYXNzTmFtZSgpKTtcblxuICAgICAgaWYgKHRoaXMuX2lzT3ZlcmxhaWQoKSkge1xuICAgICAgICB0aGlzLl9yZW1vdmVDbGlja091dExpc3RlbmVyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBpZiAoX3RoaXMyLl9pc1Zpc2libGUoKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgX3RoaXMyLl9vcGVuID0gZmFsc2U7XG4gICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzMi5fZWxlbWVudCwgRVZFTlRfQ0xPU0VEJDEpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQsIHRyYW5zaXRpb25EdXJhdGlvbik7XG4gIH07XG5cbiAgX3Byb3RvLnRvZ2dsZSA9IGZ1bmN0aW9uIHRvZ2dsZShicmVha3BvaW50KSB7XG4gICAgaWYgKHRoaXMuX29wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2UoYnJlYWtwb2ludCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbihicmVha3BvaW50KTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLm1pbmltaXplID0gZnVuY3Rpb24gbWluaW1pemUoKSB7XG4gICAgaWYgKCF0aGlzLl9pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLl9hZGRDbGFzc05hbWUoQ0xBU1NfTkFNRV9TSURFQkFSX01JTklNSVpFRCk7XG5cbiAgICAgIHRoaXMuX21pbmltaXplID0gdHJ1ZTtcblxuICAgICAgdGhpcy5fcHNEZXN0cm95KCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by51bmZvbGRhYmxlID0gZnVuY3Rpb24gdW5mb2xkYWJsZSgpIHtcbiAgICBpZiAoIXRoaXMuX2lzTW9iaWxlKCkpIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzTmFtZShDTEFTU19OQU1FX1NJREVCQVJfVU5GT0xEQUJMRSk7XG5cbiAgICAgIHRoaXMuX3VuZm9sZGFibGUgPSB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8ucmVzZXQgPSBmdW5jdGlvbiByZXNldCgpIHtcbiAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX01JTklNSVpFRCkpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NJREVCQVJfTUlOSU1JWkVEKTtcblxuICAgICAgdGhpcy5fbWluaW1pemUgPSBmYWxzZTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZWxlbWVudCwgVFJBTlNJVElPTl9FTkQsIHRoaXMuX3BzSW5pdCgpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX1VORk9MREFCTEUpKSB7XG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9TSURFQkFSX1VORk9MREFCTEUpO1xuXG4gICAgICB0aGlzLl91bmZvbGRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fZ2V0Q29uZmlnID0gZnVuY3Rpb24gX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0KSwgTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCkpLCBjb25maWcpO1xuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJGIsIGNvbmZpZywgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX2lzTW9iaWxlID0gZnVuY3Rpb24gX2lzTW9iaWxlKCkge1xuICAgIHJldHVybiBCb29sZWFuKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2VsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJy0taXMtbW9iaWxlJykpO1xuICB9O1xuXG4gIF9wcm90by5faXNJT1MgPSBmdW5jdGlvbiBfaXNJT1MoKSB7XG4gICAgdmFyIGlPU0RldmljZXMgPSBbJ2lQYWQgU2ltdWxhdG9yJywgJ2lQaG9uZSBTaW11bGF0b3InLCAnaVBvZCBTaW11bGF0b3InLCAnaVBhZCcsICdpUGhvbmUnLCAnaVBvZCddO1xuICAgIHZhciBwbGF0Zm9ybSA9IEJvb2xlYW4obmF2aWdhdG9yLnBsYXRmb3JtKTtcblxuICAgIGlmIChwbGF0Zm9ybSkge1xuICAgICAgd2hpbGUgKGlPU0RldmljZXMubGVuZ3RoKSB7XG4gICAgICAgIGlmIChuYXZpZ2F0b3IucGxhdGZvcm0gPT09IGlPU0RldmljZXMucG9wKCkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBfcHJvdG8uX2lzTWluaW1pemVkID0gZnVuY3Rpb24gX2lzTWluaW1pemVkKCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NJREVCQVJfTUlOSU1JWkVEKTtcbiAgfTtcblxuICBfcHJvdG8uX2lzT3ZlcmxhaWQgPSBmdW5jdGlvbiBfaXNPdmVybGFpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX09WRVJMQUlEKTtcbiAgfTtcblxuICBfcHJvdG8uX2lzVW5mb2xkYWJsZSA9IGZ1bmN0aW9uIF9pc1VuZm9sZGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0lERUJBUl9VTkZPTERBQkxFKTtcbiAgfTtcblxuICBfcHJvdG8uX2lzVmlzaWJsZSA9IGZ1bmN0aW9uIF9pc1Zpc2libGUoKSB7XG4gICAgdmFyIHJlY3QgPSB0aGlzLl9lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgcmV0dXJuIHJlY3QudG9wID49IDAgJiYgcmVjdC5sZWZ0ID49IDAgJiYgcmVjdC5ib3R0b20gPD0gKHdpbmRvdy5pbm5lckhlaWdodCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSAmJlxuICAgIC8qIG9yICQod2luZG93KS5oZWlnaHQoKSAqL1xuICAgIHJlY3QucmlnaHQgPD0gKHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvKiBvciAkKHdpbmRvdykud2lkdGgoKSAqL1xuICAgIDtcbiAgfTtcblxuICBfcHJvdG8uX2FkZENsYXNzTmFtZSA9IGZ1bmN0aW9uIF9hZGRDbGFzc05hbWUoY2xhc3NOYW1lKSB7XG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gIH07XG5cbiAgX3Byb3RvLl9maXJzdEJyZWFrcG9pbnRDbGFzc05hbWUgPSBmdW5jdGlvbiBfZmlyc3RCcmVha3BvaW50Q2xhc3NOYW1lKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhEZWZhdWx0JDkuYnJlYWtwb2ludHMpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQ5LmJyZWFrcG9pbnRzW2tleV07XG4gICAgfSlbMF07XG4gIH07XG5cbiAgX3Byb3RvLl9nZXRCcmVha3BvaW50Q2xhc3NOYW1lID0gZnVuY3Rpb24gX2dldEJyZWFrcG9pbnRDbGFzc05hbWUoYnJlYWtwb2ludCkge1xuICAgIHJldHVybiBEZWZhdWx0JDkuYnJlYWtwb2ludHNbYnJlYWtwb2ludF07XG4gIH07XG5cbiAgX3Byb3RvLl9yZW1vdmVCYWNrZHJvcCA9IGZ1bmN0aW9uIF9yZW1vdmVCYWNrZHJvcCgpIHtcbiAgICBpZiAodGhpcy5fYmFja2Ryb3ApIHtcbiAgICAgIHRoaXMuX2JhY2tkcm9wLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fYmFja2Ryb3ApO1xuXG4gICAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fc2hvd0JhY2tkcm9wID0gZnVuY3Rpb24gX3Nob3dCYWNrZHJvcCgpIHtcbiAgICBpZiAoIXRoaXMuX2JhY2tkcm9wKSB7XG4gICAgICB0aGlzLl9iYWNrZHJvcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5fYmFja2Ryb3AuY2xhc3NOYW1lID0gQ0xBU1NfTkFNRV9CQUNLRFJPUCQxO1xuXG4gICAgICB0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfRkFERSQzKTtcblxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9iYWNrZHJvcCk7XG4gICAgICByZWZsb3codGhpcy5fYmFja2Ryb3ApO1xuXG4gICAgICB0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVyQ2KTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9jbGlja091dExpc3RlbmVyID0gZnVuY3Rpb24gX2NsaWNrT3V0TGlzdGVuZXIoZXZlbnQsIHNpZGViYXIpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoU0VMRUNUT1JfU0lERUJBUikgPT09IG51bGwpIHtcbiAgICAgIC8vIG9yIHVzZTpcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHNpZGViYXIuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9hZGRDbGlja091dExpc3RlbmVyID0gZnVuY3Rpb24gX2FkZENsaWNrT3V0TGlzdGVuZXIoKSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICBFdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDgsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgX3RoaXMzLl9jbGlja091dExpc3RlbmVyKGV2ZW50LCBfdGhpczMpO1xuICAgIH0pO1xuICB9O1xuXG4gIF9wcm90by5fcmVtb3ZlQ2xpY2tPdXRMaXN0ZW5lciA9IGZ1bmN0aW9uIF9yZW1vdmVDbGlja091dExpc3RlbmVyKCkge1xuICAgIEV2ZW50SGFuZGxlci5vZmYoZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDgpO1xuICB9IC8vIFNpZGViYXIgbmF2aWdhdGlvblxuICA7XG5cbiAgX3Byb3RvLl9nZXRBbGxTaWJsaW5ncyA9IGZ1bmN0aW9uIF9nZXRBbGxTaWJsaW5ncyhlbGVtZW50LCBmaWx0ZXIpIHtcbiAgICB2YXIgc2libGluZ3MgPSBbXTtcbiAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICBkbyB7XG4gICAgICBpZiAoZWxlbWVudC5ub2RlVHlwZSA9PT0gMykge1xuICAgICAgICBjb250aW51ZTsgLy8gdGV4dCBub2RlXG4gICAgICB9XG5cbiAgICAgIGlmIChlbGVtZW50Lm5vZGVUeXBlID09PSA4KSB7XG4gICAgICAgIGNvbnRpbnVlOyAvLyBjb21tZW50IG5vZGVcbiAgICAgIH1cblxuICAgICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKGVsZW1lbnQpKSB7XG4gICAgICAgIHNpYmxpbmdzLnB1c2goZWxlbWVudCk7XG4gICAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25kLWFzc2lnblxuXG4gICAgfSB3aGlsZSAoZWxlbWVudCA9IGVsZW1lbnQubmV4dFNpYmxpbmcpO1xuXG4gICAgcmV0dXJuIHNpYmxpbmdzO1xuICB9O1xuXG4gIF9wcm90by5fdG9nZ2xlRHJvcGRvd24gPSBmdW5jdGlvbiBfdG9nZ2xlRHJvcGRvd24oZXZlbnQsIHNpZGViYXIpIHtcbiAgICB2YXIgdG9nZ2xlciA9IGV2ZW50LnRhcmdldDtcblxuICAgIGlmICghdG9nZ2xlci5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9OQVZfRFJPUERPV05fVE9HR0xFJDEpKSB7XG4gICAgICB0b2dnbGVyID0gdG9nZ2xlci5jbG9zZXN0KFNFTEVDVE9SX05BVl9EUk9QRE9XTl9UT0dHTEUpO1xuICAgIH1cblxuICAgIHZhciBkYXRhQXR0cmlidXRlcyA9IHRvZ2dsZXIuY2xvc2VzdChTRUxFQ1RPUl9OQVZJR0FUSU9OX0NPTlRBSU5FUikuZGF0YXNldDtcblxuICAgIGlmICh0eXBlb2YgZGF0YUF0dHJpYnV0ZXMuZHJvcGRvd25BY2NvcmRpb24gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBEZWZhdWx0JDkuZHJvcGRvd25BY2NvcmRpb24gPSBKU09OLnBhcnNlKGRhdGFBdHRyaWJ1dGVzLmRyb3Bkb3duQWNjb3JkaW9uKTtcbiAgICB9IC8vIFRPRE86IGZpbmQgYmV0dGVyIHNvbHV0aW9uXG5cblxuICAgIGlmIChEZWZhdWx0JDkuZHJvcGRvd25BY2NvcmRpb24gPT09IHRydWUpIHtcbiAgICAgIHRoaXMuX2dldEFsbFNpYmxpbmdzKHRvZ2dsZXIucGFyZW50RWxlbWVudCwgZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9OQVZfRFJPUERPV04pKTtcbiAgICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgIT09IHRvZ2dsZXIucGFyZW50Tm9kZSkge1xuICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX05BVl9EUk9QRE9XTikpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1ckNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0b2dnbGVyLnBhcmVudE5vZGUuY2xhc3NMaXN0LnRvZ2dsZShDTEFTU19OQU1FX1NIT1ckNik7IC8vIFRPRE86IFNldCB0aGUgdG9nZ2xlcidzIHBvc2l0aW9uIG5lYXIgdG8gY3Vyc29yIGFmdGVyIHRoZSBjbGljay5cbiAgICAvLyBUT0RPOiBhZGQgdHJhbnNpdGlvbiBlbmRcblxuICAgIHNpZGViYXIuX3BzVXBkYXRlKCk7XG4gIH0gLy8gUGVyZmVjdFNjcm9sbGJhclxuICA7XG5cbiAgX3Byb3RvLl9wc0luaXQgPSBmdW5jdGlvbiBfcHNJbml0KCkge1xuICAgIGlmICh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoU0VMRUNUT1JfTkFWSUdBVElPTl9DT05UQUlORVIpICYmICF0aGlzLl9pc0lPUygpKSB7XG4gICAgICB0aGlzLl9wcyA9IG5ldyBQZXJmZWN0U2Nyb2xsYmFyKHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihTRUxFQ1RPUl9OQVZJR0FUSU9OX0NPTlRBSU5FUiksIHtcbiAgICAgICAgc3VwcHJlc3NTY3JvbGxYOiB0cnVlLFxuICAgICAgICB3aGVlbFByb3BhZ2F0aW9uOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fcHNVcGRhdGUgPSBmdW5jdGlvbiBfcHNVcGRhdGUoKSB7XG4gICAgaWYgKHRoaXMuX3BzKSB7XG4gICAgICB0aGlzLl9wcy51cGRhdGUoKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9wc0Rlc3Ryb3kgPSBmdW5jdGlvbiBfcHNEZXN0cm95KCkge1xuICAgIGlmICh0aGlzLl9wcykge1xuICAgICAgdGhpcy5fcHMuZGVzdHJveSgpO1xuXG4gICAgICB0aGlzLl9wcyA9IG51bGw7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fZ2V0UGFyZW50cyA9IGZ1bmN0aW9uIF9nZXRQYXJlbnRzKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgLy8gU2V0dXAgcGFyZW50cyBhcnJheVxuICAgIHZhciBwYXJlbnRzID0gW107IC8vIEdldCBtYXRjaGluZyBwYXJlbnQgZWxlbWVudHNcblxuICAgIGZvciAoOyBlbGVtZW50ICYmIGVsZW1lbnQgIT09IGRvY3VtZW50OyBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgICAvLyBBZGQgbWF0Y2hpbmcgcGFyZW50cyB0byBhcnJheVxuICAgICAgaWYgKHNlbGVjdG9yKSB7XG4gICAgICAgIGlmIChlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG4gICAgICAgICAgcGFyZW50cy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJlbnRzLnB1c2goZWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudHM7XG4gIH07XG5cbiAgX3Byb3RvLl9zZXRBY3RpdmVMaW5rID0gZnVuY3Rpb24gX3NldEFjdGl2ZUxpbmsoKSB7XG4gICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG4gICAgQXJyYXkuZnJvbSh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1JfTkFWX0xJTkskMSkpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgIHZhciBjdXJyZW50VXJsID0gU3RyaW5nKHdpbmRvdy5sb2NhdGlvbik7XG4gICAgICB2YXIgdXJsSGFzUGFyYW1zID0gL1xcPy4qPS87XG4gICAgICB2YXIgdXJsSGFzUXVlcnlTdHJpbmcgPSAvXFw/Li87XG4gICAgICB2YXIgdXJsSGFzSGFzaCA9IC8jLi87XG5cbiAgICAgIGlmICh1cmxIYXNQYXJhbXMudGVzdChjdXJyZW50VXJsKSB8fCB1cmxIYXNRdWVyeVN0cmluZy50ZXN0KGN1cnJlbnRVcmwpKSB7XG4gICAgICAgIGN1cnJlbnRVcmwgPSBjdXJyZW50VXJsLnNwbGl0KCc/JylbMF07XG4gICAgICB9XG5cbiAgICAgIGlmICh1cmxIYXNIYXNoLnRlc3QoY3VycmVudFVybCkpIHtcbiAgICAgICAgY3VycmVudFVybCA9IGN1cnJlbnRVcmwuc3BsaXQoJyMnKVswXTtcbiAgICAgIH1cblxuICAgICAgdmFyIGRhdGFBdHRyaWJ1dGVzID0gZWxlbWVudC5jbG9zZXN0KFNFTEVDVE9SX05BVklHQVRJT05fQ09OVEFJTkVSKS5kYXRhc2V0O1xuXG4gICAgICBpZiAodHlwZW9mIGRhdGFBdHRyaWJ1dGVzLmFjdGl2ZUxpbmtzRXhhY3QgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIERlZmF1bHQkOS5hY3RpdmVMaW5rc0V4YWN0ID0gSlNPTi5wYXJzZShkYXRhQXR0cmlidXRlcy5hY3RpdmVMaW5rc0V4YWN0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKERlZmF1bHQkOS5hY3RpdmVMaW5rc0V4YWN0ICYmIGVsZW1lbnQuaHJlZiA9PT0gY3VycmVudFVybCkge1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUkNCk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcblxuICAgICAgICBBcnJheS5mcm9tKF90aGlzNC5fZ2V0UGFyZW50cyhlbGVtZW50LCBTRUxFQ1RPUl9OQVZfRFJPUERPV04kMSkpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDYpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFEZWZhdWx0JDkuYWN0aXZlTGlua3NFeGFjdCAmJiBlbGVtZW50LmhyZWYuc3RhcnRzV2l0aChjdXJyZW50VXJsKSkge1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUkNCk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcblxuICAgICAgICBBcnJheS5mcm9tKF90aGlzNC5fZ2V0UGFyZW50cyhlbGVtZW50LCBTRUxFQ1RPUl9OQVZfRFJPUERPV04kMSkpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDYpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uX2FkZEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24gX2FkZEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMuX21vYmlsZSAmJiB0aGlzLl9vcGVuKSB7XG4gICAgICB0aGlzLl9hZGRDbGlja091dExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX292ZXJsYWlkICYmIHRoaXMuX29wZW4pIHtcbiAgICAgIHRoaXMuX2FkZENsaWNrT3V0TGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xBU1NfVE9HR0xFJDEsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKGV2ZW50LmRldGFpbC5jbGFzc05hbWUgPT09IENMQVNTX05BTUVfU0lERUJBUl9NSU5JTUlaRUQpIHtcbiAgICAgICAgaWYgKF90aGlzNS5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX01JTklNSVpFRCkpIHtcbiAgICAgICAgICBfdGhpczUubWluaW1pemUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpczUucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQuZGV0YWlsLmNsYXNzTmFtZSA9PT0gQ0xBU1NfTkFNRV9TSURFQkFSX1VORk9MREFCTEUpIHtcbiAgICAgICAgaWYgKF90aGlzNS5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX1VORk9MREFCTEUpKSB7XG4gICAgICAgICAgX3RoaXM1LnVuZm9sZGFibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpczUucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIE9iamVjdC5rZXlzKERlZmF1bHQkOS5icmVha3BvaW50cykuZmluZChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHJldHVybiBEZWZhdWx0JDkuYnJlYWtwb2ludHNba2V5XSA9PT0gZXZlbnQuZGV0YWlsLmNsYXNzTmFtZTtcbiAgICAgIH0pICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YXIgY2xhc3NOYW1lID0gZXZlbnQuZGV0YWlsLmNsYXNzTmFtZTtcbiAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBPYmplY3Qua2V5cyhEZWZhdWx0JDkuYnJlYWtwb2ludHMpLmZpbmQoZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgIHJldHVybiBEZWZhdWx0JDkuYnJlYWtwb2ludHNba2V5XSA9PT0gY2xhc3NOYW1lO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZXZlbnQuZGV0YWlsLmFkZCkge1xuICAgICAgICAgIF90aGlzNS5vcGVuKGJyZWFrcG9pbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF90aGlzNS5jbG9zZShicmVha3BvaW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSQ4LCBTRUxFQ1RPUl9OQVZfRFJPUERPV05fVE9HR0xFLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIF90aGlzNS5fdG9nZ2xlRHJvcGRvd24oZXZlbnQsIF90aGlzNSk7XG4gICAgfSk7XG4gICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDgsIFNFTEVDVE9SX05BVl9MSU5LJDEsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChfdGhpczUuX2lzTW9iaWxlKCkpIHtcbiAgICAgICAgX3RoaXM1LmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gLy8gU3RhdGljXG4gIDtcblxuICBTaWRlYmFyLl9zaWRlYmFySW50ZXJmYWNlID0gZnVuY3Rpb24gX3NpZGViYXJJbnRlcmZhY2UoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgdmFyIGRhdGEgPSBEYXRhLmdldERhdGEoZWxlbWVudCwgREFUQV9LRVkkYik7XG5cbiAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgIGlmICghZGF0YSkge1xuICAgICAgZGF0YSA9IG5ldyBTaWRlYmFyKGVsZW1lbnQsIF9jb25maWcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgfVxuXG4gICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICB9XG4gIH07XG5cbiAgU2lkZWJhci5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBTaWRlYmFyLl9zaWRlYmFySW50ZXJmYWNlKHRoaXMsIGNvbmZpZyk7XG4gICAgfSk7XG4gIH07XG5cbiAgU2lkZWJhci5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJGIpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhTaWRlYmFyLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiRiO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQ5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDg7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFNpZGViYXI7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfTE9BRF9EQVRBX0FQSSQyLCBmdW5jdGlvbiAoKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcbiAgQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFNFTEVDVE9SX1NJREVCQVIpKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgU2lkZWJhci5fc2lkZWJhckludGVyZmFjZShlbGVtZW50KTtcbiAgfSk7XG59KTtcbnZhciAkJGMgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmlmICgkJGMpIHtcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCRiID0gJCRjLmZuW05BTUUkYl07XG4gICQkYy5mbltOQU1FJGJdID0gU2lkZWJhci5qUXVlcnlJbnRlcmZhY2U7XG4gICQkYy5mbltOQU1FJGJdLkNvbnN0cnVjdG9yID0gU2lkZWJhcjtcblxuICAkJGMuZm5bTkFNRSRiXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkYy5mbltOQU1FJGJdID0gSlFVRVJZX05PX0NPTkZMSUNUJGI7XG4gICAgcmV0dXJuIFNpZGViYXIualF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTkFNRSRjID0gJ3RhYic7XG52YXIgVkVSU0lPTiRjID0gJzMuMi4yJztcbnZhciBEQVRBX0tFWSRjID0gJ2NvcmV1aS50YWInO1xudmFyIEVWRU5UX0tFWSRjID0gXCIuXCIgKyBEQVRBX0tFWSRjO1xudmFyIERBVEFfQVBJX0tFWSRhID0gJy5kYXRhLWFwaSc7XG52YXIgRVZFTlRfSElERSQzID0gXCJoaWRlXCIgKyBFVkVOVF9LRVkkYztcbnZhciBFVkVOVF9ISURERU4kMyA9IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkYztcbnZhciBFVkVOVF9TSE9XJDMgPSBcInNob3dcIiArIEVWRU5UX0tFWSRjO1xudmFyIEVWRU5UX1NIT1dOJDMgPSBcInNob3duXCIgKyBFVkVOVF9LRVkkYztcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSQ5ID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJGMgKyBEQVRBX0FQSV9LRVkkYTtcbnZhciBDTEFTU19OQU1FX0RST1BET1dOX01FTlUgPSAnZHJvcGRvd24tbWVudSc7XG52YXIgQ0xBU1NfTkFNRV9BQ1RJVkUkNSA9ICdhY3RpdmUnO1xudmFyIENMQVNTX05BTUVfRElTQUJMRUQkMiA9ICdkaXNhYmxlZCc7XG52YXIgQ0xBU1NfTkFNRV9GQURFJDQgPSAnZmFkZSc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XJDcgPSAnc2hvdyc7XG52YXIgU0VMRUNUT1JfRFJPUERPV04kMSA9ICcuZHJvcGRvd24nO1xudmFyIFNFTEVDVE9SX05BVl9MSVNUX0dST1VQJDEgPSAnLm5hdiwgLmxpc3QtZ3JvdXAnO1xudmFyIFNFTEVDVE9SX0FDVElWRSQyID0gJy5hY3RpdmUnO1xudmFyIFNFTEVDVE9SX0FDVElWRV9VTCA9ICc6c2NvcGUgPiBsaSA+IC5hY3RpdmUnO1xudmFyIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDQgPSAnW2RhdGEtdG9nZ2xlPVwidGFiXCJdLCBbZGF0YS10b2dnbGU9XCJwaWxsXCJdLCBbZGF0YS10b2dnbGU9XCJsaXN0XCJdJztcbnZhciBTRUxFQ1RPUl9EUk9QRE9XTl9UT0dHTEUkMSA9ICcuZHJvcGRvd24tdG9nZ2xlJztcbnZhciBTRUxFQ1RPUl9EUk9QRE9XTl9BQ1RJVkVfQ0hJTEQgPSAnOnNjb3BlID4gLmRyb3Bkb3duLW1lbnUgLmFjdGl2ZSc7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2xhc3MgRGVmaW5pdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIFRhYiA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFRhYihlbGVtZW50KSB7XG4gICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgRGF0YS5zZXREYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJGMsIHRoaXMpO1xuICB9IC8vIEdldHRlcnNcblxuXG4gIHZhciBfcHJvdG8gPSBUYWIucHJvdG90eXBlO1xuXG4gIC8vIFB1YmxpY1xuICBfcHJvdG8uc2hvdyA9IGZ1bmN0aW9uIHNob3coKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGlmICh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUgJiYgdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSAmJiB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQ1KSB8fCB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0RJU0FCTEVEJDIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHByZXZpb3VzO1xuICAgIHZhciB0YXJnZXQgPSBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKHRoaXMuX2VsZW1lbnQpO1xuXG4gICAgdmFyIGxpc3RFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jbG9zZXN0KFNFTEVDVE9SX05BVl9MSVNUX0dST1VQJDEpO1xuXG4gICAgaWYgKGxpc3RFbGVtZW50KSB7XG4gICAgICB2YXIgaXRlbVNlbGVjdG9yID0gbGlzdEVsZW1lbnQubm9kZU5hbWUgPT09ICdVTCcgfHwgbGlzdEVsZW1lbnQubm9kZU5hbWUgPT09ICdPTCcgPyBTRUxFQ1RPUl9BQ1RJVkVfVUwgOiBTRUxFQ1RPUl9BQ1RJVkUkMjtcbiAgICAgIHByZXZpb3VzID0gU2VsZWN0b3JFbmdpbmUuZmluZChpdGVtU2VsZWN0b3IsIGxpc3RFbGVtZW50KTtcbiAgICAgIHByZXZpb3VzID0gcHJldmlvdXNbcHJldmlvdXMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgdmFyIGhpZGVFdmVudCA9IG51bGw7XG5cbiAgICBpZiAocHJldmlvdXMpIHtcbiAgICAgIGhpZGVFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHByZXZpb3VzLCBFVkVOVF9ISURFJDMsIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogdGhpcy5fZWxlbWVudFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIHNob3dFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1NIT1ckMywge1xuICAgICAgcmVsYXRlZFRhcmdldDogcHJldmlvdXNcbiAgICB9KTtcblxuICAgIGlmIChzaG93RXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCBoaWRlRXZlbnQgIT09IG51bGwgJiYgaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9hY3RpdmF0ZSh0aGlzLl9lbGVtZW50LCBsaXN0RWxlbWVudCk7XG5cbiAgICB2YXIgY29tcGxldGUgPSBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHByZXZpb3VzLCBFVkVOVF9ISURERU4kMywge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiBfdGhpcy5fZWxlbWVudFxuICAgICAgfSk7XG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04kMywge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiBwcmV2aW91c1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICh0YXJnZXQpIHtcbiAgICAgIHRoaXMuX2FjdGl2YXRlKHRhcmdldCwgdGFyZ2V0LnBhcmVudE5vZGUsIGNvbXBsZXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tcGxldGUoKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgIERhdGEucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBEQVRBX0tFWSRjKTtcbiAgICB0aGlzLl9lbGVtZW50ID0gbnVsbDtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2FjdGl2YXRlID0gZnVuY3Rpb24gX2FjdGl2YXRlKGVsZW1lbnQsIGNvbnRhaW5lciwgY2FsbGJhY2spIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHZhciBhY3RpdmVFbGVtZW50cyA9IGNvbnRhaW5lciAmJiAoY29udGFpbmVyLm5vZGVOYW1lID09PSAnVUwnIHx8IGNvbnRhaW5lci5ub2RlTmFtZSA9PT0gJ09MJykgPyBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0FDVElWRV9VTCwgY29udGFpbmVyKSA6IFNlbGVjdG9yRW5naW5lLmNoaWxkcmVuKGNvbnRhaW5lciwgU0VMRUNUT1JfQUNUSVZFJDIpO1xuICAgIHZhciBhY3RpdmUgPSBhY3RpdmVFbGVtZW50c1swXTtcbiAgICB2YXIgaXNUcmFuc2l0aW9uaW5nID0gY2FsbGJhY2sgJiYgYWN0aXZlICYmIGFjdGl2ZS5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFJDQpO1xuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICByZXR1cm4gX3RoaXMyLl90cmFuc2l0aW9uQ29tcGxldGUoZWxlbWVudCwgYWN0aXZlLCBjYWxsYmFjayk7XG4gICAgfTtcblxuICAgIGlmIChhY3RpdmUgJiYgaXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoYWN0aXZlKTtcbiAgICAgIGFjdGl2ZS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyQ3KTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUoYWN0aXZlLCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQoYWN0aXZlLCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX3RyYW5zaXRpb25Db21wbGV0ZSA9IGZ1bmN0aW9uIF90cmFuc2l0aW9uQ29tcGxldGUoZWxlbWVudCwgYWN0aXZlLCBjYWxsYmFjaykge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIGFjdGl2ZS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQUNUSVZFJDUpO1xuICAgICAgdmFyIGRyb3Bkb3duQ2hpbGQgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX0RST1BET1dOX0FDVElWRV9DSElMRCwgYWN0aXZlLnBhcmVudE5vZGUpO1xuXG4gICAgICBpZiAoZHJvcGRvd25DaGlsZCkge1xuICAgICAgICBkcm9wZG93bkNoaWxkLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUkNSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhY3RpdmUuZ2V0QXR0cmlidXRlKCdyb2xlJykgPT09ICd0YWInKSB7XG4gICAgICAgIGFjdGl2ZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDUpO1xuXG4gICAgaWYgKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyb2xlJykgPT09ICd0YWInKSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsIHRydWUpO1xuICAgIH1cblxuICAgIHJlZmxvdyhlbGVtZW50KTtcblxuICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0ZBREUkNCkpIHtcbiAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX1NIT1ckNyk7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQucGFyZW50Tm9kZSAmJiBlbGVtZW50LnBhcmVudE5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUERPV05fTUVOVSkpIHtcbiAgICAgIHZhciBkcm9wZG93bkVsZW1lbnQgPSBlbGVtZW50LmNsb3Nlc3QoU0VMRUNUT1JfRFJPUERPV04kMSk7XG5cbiAgICAgIGlmIChkcm9wZG93bkVsZW1lbnQpIHtcbiAgICAgICAgU2VsZWN0b3JFbmdpbmUuZmluZChTRUxFQ1RPUl9EUk9QRE9XTl9UT0dHTEUkMSkuZm9yRWFjaChmdW5jdGlvbiAoZHJvcGRvd24pIHtcbiAgICAgICAgICByZXR1cm4gZHJvcGRvd24uY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSQ1KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH1cbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIFRhYi5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgZGF0YSA9IERhdGEuZ2V0RGF0YSh0aGlzLCBEQVRBX0tFWSRjKSB8fCBuZXcgVGFiKHRoaXMpO1xuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBUYWIuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRJbnN0YW5jZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSRjKTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoVGFiLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiRjO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBUYWI7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSQ5LCBTRUxFQ1RPUl9EQVRBX1RPR0dMRSQ0LCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgdmFyIGRhdGEgPSBEYXRhLmdldERhdGEodGhpcywgREFUQV9LRVkkYykgfHwgbmV3IFRhYih0aGlzKTtcbiAgZGF0YS5zaG93KCk7XG59KTtcbnZhciAkJGQgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC50YWIgdG8galF1ZXJ5IG9ubHkgaWYgalF1ZXJ5IGlzIHByZXNlbnRcbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkZCkge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJGMgPSAkJGQuZm5bTkFNRSRjXTtcbiAgJCRkLmZuW05BTUUkY10gPSBUYWIualF1ZXJ5SW50ZXJmYWNlO1xuICAkJGQuZm5bTkFNRSRjXS5Db25zdHJ1Y3RvciA9IFRhYjtcblxuICAkJGQuZm5bTkFNRSRjXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkZC5mbltOQU1FJGNdID0gSlFVRVJZX05PX0NPTkZMSUNUJGM7XG4gICAgcmV0dXJuIFRhYi5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJGQgPSAndG9hc3QnO1xudmFyIFZFUlNJT04kZCA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkZCA9ICdjb3JldWkudG9hc3QnO1xudmFyIEVWRU5UX0tFWSRkID0gXCIuXCIgKyBEQVRBX0tFWSRkO1xudmFyIEVWRU5UX0NMSUNLX0RJU01JU1MkMSA9IFwiY2xpY2suZGlzbWlzc1wiICsgRVZFTlRfS0VZJGQ7XG52YXIgRVZFTlRfSElERSQ0ID0gXCJoaWRlXCIgKyBFVkVOVF9LRVkkZDtcbnZhciBFVkVOVF9ISURERU4kNCA9IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkZDtcbnZhciBFVkVOVF9TSE9XJDQgPSBcInNob3dcIiArIEVWRU5UX0tFWSRkO1xudmFyIEVWRU5UX1NIT1dOJDQgPSBcInNob3duXCIgKyBFVkVOVF9LRVkkZDtcbnZhciBDTEFTU19OQU1FX0ZBREUkNSA9ICdmYWRlJztcbnZhciBDTEFTU19OQU1FX0hJREUgPSAnaGlkZSc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XJDggPSAnc2hvdyc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XSU5HID0gJ3Nob3dpbmcnO1xudmFyIERlZmF1bHRUeXBlJDkgPSB7XG4gIGFuaW1hdGlvbjogJ2Jvb2xlYW4nLFxuICBhdXRvaGlkZTogJ2Jvb2xlYW4nLFxuICBkZWxheTogJ251bWJlcidcbn07XG52YXIgRGVmYXVsdCRhID0ge1xuICBhbmltYXRpb246IHRydWUsXG4gIGF1dG9oaWRlOiB0cnVlLFxuICBkZWxheTogNTAwMFxufTtcbnZhciBTRUxFQ1RPUl9EQVRBX0RJU01JU1MkMSA9ICdbZGF0YS1kaXNtaXNzPVwidG9hc3RcIl0nO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBUb2FzdCA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFRvYXN0KGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX3RpbWVvdXQgPSBudWxsO1xuXG4gICAgdGhpcy5fc2V0TGlzdGVuZXJzKCk7XG5cbiAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkZCwgdGhpcyk7XG4gIH0gLy8gR2V0dGVyc1xuXG5cbiAgdmFyIF9wcm90byA9IFRvYXN0LnByb3RvdHlwZTtcblxuICAvLyBQdWJsaWNcbiAgX3Byb3RvLnNob3cgPSBmdW5jdGlvbiBzaG93KCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgc2hvd0V2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVyQ0KTtcblxuICAgIGlmIChzaG93RXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2NsZWFyVGltZW91dCgpO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5hbmltYXRpb24pIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0ZBREUkNSk7XG4gICAgfVxuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBfdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPV0lORyk7XG5cbiAgICAgIF90aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDgpO1xuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04kNCk7XG5cbiAgICAgIGlmIChfdGhpcy5fY29uZmlnLmF1dG9oaWRlKSB7XG4gICAgICAgIF90aGlzLl90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXMuaGlkZSgpO1xuICAgICAgICB9LCBfdGhpcy5fY29uZmlnLmRlbGF5KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfSElERSk7XG5cbiAgICByZWZsb3codGhpcy5fZWxlbWVudCk7XG5cbiAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XSU5HKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcuYW5pbWF0aW9uKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBjb21wbGV0ZSk7XG4gICAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICBpZiAoIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQ4KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9ISURFJDQpO1xuXG4gICAgaWYgKGhpZGVFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBfdGhpczIuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0hJREUpO1xuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpczIuX2VsZW1lbnQsIEVWRU5UX0hJRERFTiQ0KTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyQ4KTtcblxuICAgIGlmICh0aGlzLl9jb25maWcuYW5pbWF0aW9uKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBjb21wbGV0ZSk7XG4gICAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgdGhpcy5fY2xlYXJUaW1lb3V0KCk7XG5cbiAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSE9XJDgpKSB7XG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9TSE9XJDgpO1xuICAgIH1cblxuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xJQ0tfRElTTUlTUyQxKTtcbiAgICBEYXRhLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgREFUQV9LRVkkZCk7XG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fY29uZmlnID0gbnVsbDtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkYSksIE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKHRoaXMuX2VsZW1lbnQpKSwgdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pO1xuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJGQsIGNvbmZpZywgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX3NldExpc3RlbmVycyA9IGZ1bmN0aW9uIF9zZXRMaXN0ZW5lcnMoKSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xJQ0tfRElTTUlTUyQxLCBTRUxFQ1RPUl9EQVRBX0RJU01JU1MkMSwgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzMy5oaWRlKCk7XG4gICAgfSk7XG4gIH07XG5cbiAgX3Byb3RvLl9jbGVhclRpbWVvdXQgPSBmdW5jdGlvbiBfY2xlYXJUaW1lb3V0KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KTtcbiAgICB0aGlzLl90aW1lb3V0ID0gbnVsbDtcbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIFRvYXN0LmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJGQpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIGRhdGEgPSBuZXcgVG9hc3QodGhpcywgX2NvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbY29uZmlnXSh0aGlzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBUb2FzdC5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJGQpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhUb2FzdCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kZDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFR5cGVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEZWZhdWx0VHlwZSQ5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCRhO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBUb2FzdDtcbn0oKTtcblxudmFyICQkZSA9IGdldGpRdWVyeSgpO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGpRdWVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgYWRkIC50b2FzdCB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCRlKSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkZCA9ICQkZS5mbltOQU1FJGRdO1xuICAkJGUuZm5bTkFNRSRkXSA9IFRvYXN0LmpRdWVyeUludGVyZmFjZTtcbiAgJCRlLmZuW05BTUUkZF0uQ29uc3RydWN0b3IgPSBUb2FzdDtcblxuICAkJGUuZm5bTkFNRSRkXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkZS5mbltOQU1FJGRdID0gSlFVRVJZX05PX0NPTkZMSUNUJGQ7XG4gICAgcmV0dXJuIFRvYXN0LmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuZXhwb3J0IHsgQWxlcnQsIEFzeW5jTG9hZCwgQnV0dG9uLCBDYXJvdXNlbCwgQ2xhc3NUb2dnbGVyLCBDb2xsYXBzZSwgRHJvcGRvd24sIE1vZGFsLCBQb3BvdmVyLCBTY3JvbGxTcHkgYXMgU2Nyb2xsc3B5LCBTaWRlYmFyLCBUYWIsIFRvYXN0LCBUb29sdGlwIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb3JldWkuZXNtLmpzLm1hcFxuIiwiaW1wb3J0IGdldENvbXBvc2l0ZVJlY3QgZnJvbSBcIi4vZG9tLXV0aWxzL2dldENvbXBvc2l0ZVJlY3QuanNcIjtcbmltcG9ydCBnZXRMYXlvdXRSZWN0IGZyb20gXCIuL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgbGlzdFNjcm9sbFBhcmVudHMgZnJvbSBcIi4vZG9tLXV0aWxzL2xpc3RTY3JvbGxQYXJlbnRzLmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanNcIjtcbmltcG9ydCBvcmRlck1vZGlmaWVycyBmcm9tIFwiLi91dGlscy9vcmRlck1vZGlmaWVycy5qc1wiO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gXCIuL3V0aWxzL2RlYm91bmNlLmpzXCI7XG5pbXBvcnQgbWVyZ2VCeU5hbWUgZnJvbSBcIi4vdXRpbHMvbWVyZ2VCeU5hbWUuanNcIjtcbmltcG9ydCBkZXRlY3RPdmVyZmxvdyBmcm9tIFwiLi91dGlscy9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IHsgaXNFbGVtZW50IH0gZnJvbSBcIi4vZG9tLXV0aWxzL2luc3RhbmNlT2YuanNcIjtcbnZhciBERUZBVUxUX09QVElPTlMgPSB7XG4gIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gIG1vZGlmaWVyczogW10sXG4gIHN0cmF0ZWd5OiAnYWJzb2x1dGUnXG59O1xuXG5mdW5jdGlvbiBhcmVWYWxpZEVsZW1lbnRzKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuICFhcmdzLnNvbWUoZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gIShlbGVtZW50ICYmIHR5cGVvZiBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCA9PT0gJ2Z1bmN0aW9uJyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9wcGVyR2VuZXJhdG9yKGdlbmVyYXRvck9wdGlvbnMpIHtcbiAgaWYgKGdlbmVyYXRvck9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIGdlbmVyYXRvck9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHZhciBfZ2VuZXJhdG9yT3B0aW9ucyA9IGdlbmVyYXRvck9wdGlvbnMsXG4gICAgICBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYgPSBfZ2VuZXJhdG9yT3B0aW9ucy5kZWZhdWx0TW9kaWZpZXJzLFxuICAgICAgZGVmYXVsdE1vZGlmaWVycyA9IF9nZW5lcmF0b3JPcHRpb25zJGRlZiA9PT0gdm9pZCAwID8gW10gOiBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYsXG4gICAgICBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYyID0gX2dlbmVyYXRvck9wdGlvbnMuZGVmYXVsdE9wdGlvbnMsXG4gICAgICBkZWZhdWx0T3B0aW9ucyA9IF9nZW5lcmF0b3JPcHRpb25zJGRlZjIgPT09IHZvaWQgMCA/IERFRkFVTFRfT1BUSU9OUyA6IF9nZW5lcmF0b3JPcHRpb25zJGRlZjI7XG4gIHJldHVybiBmdW5jdGlvbiBjcmVhdGVQb3BwZXIocmVmZXJlbmNlLCBwb3BwZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgICBvcHRpb25zID0gZGVmYXVsdE9wdGlvbnM7XG4gICAgfVxuXG4gICAgdmFyIHN0YXRlID0ge1xuICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgIG9yZGVyZWRNb2RpZmllcnM6IFtdLFxuICAgICAgb3B0aW9uczogT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9PUFRJT05TLCBkZWZhdWx0T3B0aW9ucyksXG4gICAgICBtb2RpZmllcnNEYXRhOiB7fSxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIHJlZmVyZW5jZTogcmVmZXJlbmNlLFxuICAgICAgICBwb3BwZXI6IHBvcHBlclxuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgc3R5bGVzOiB7fVxuICAgIH07XG4gICAgdmFyIGVmZmVjdENsZWFudXBGbnMgPSBbXTtcbiAgICB2YXIgaXNEZXN0cm95ZWQgPSBmYWxzZTtcbiAgICB2YXIgaW5zdGFuY2UgPSB7XG4gICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICBzZXRPcHRpb25zOiBmdW5jdGlvbiBzZXRPcHRpb25zKHNldE9wdGlvbnNBY3Rpb24pIHtcbiAgICAgICAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygc2V0T3B0aW9uc0FjdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IHNldE9wdGlvbnNBY3Rpb24oc3RhdGUub3B0aW9ucykgOiBzZXRPcHRpb25zQWN0aW9uO1xuICAgICAgICBjbGVhbnVwTW9kaWZpZXJFZmZlY3RzKCk7XG4gICAgICAgIHN0YXRlLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgc3RhdGUub3B0aW9ucywgb3B0aW9ucyk7XG4gICAgICAgIHN0YXRlLnNjcm9sbFBhcmVudHMgPSB7XG4gICAgICAgICAgcmVmZXJlbmNlOiBpc0VsZW1lbnQocmVmZXJlbmNlKSA/IGxpc3RTY3JvbGxQYXJlbnRzKHJlZmVyZW5jZSkgOiByZWZlcmVuY2UuY29udGV4dEVsZW1lbnQgPyBsaXN0U2Nyb2xsUGFyZW50cyhyZWZlcmVuY2UuY29udGV4dEVsZW1lbnQpIDogW10sXG4gICAgICAgICAgcG9wcGVyOiBsaXN0U2Nyb2xsUGFyZW50cyhwb3BwZXIpXG4gICAgICAgIH07IC8vIE9yZGVycyB0aGUgbW9kaWZpZXJzIGJhc2VkIG9uIHRoZWlyIGRlcGVuZGVuY2llcyBhbmQgYHBoYXNlYFxuICAgICAgICAvLyBwcm9wZXJ0aWVzXG5cbiAgICAgICAgdmFyIG9yZGVyZWRNb2RpZmllcnMgPSBvcmRlck1vZGlmaWVycyhtZXJnZUJ5TmFtZShbXS5jb25jYXQoZGVmYXVsdE1vZGlmaWVycywgc3RhdGUub3B0aW9ucy5tb2RpZmllcnMpKSk7IC8vIFN0cmlwIG91dCBkaXNhYmxlZCBtb2RpZmllcnNcblxuICAgICAgICBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzID0gb3JkZXJlZE1vZGlmaWVycy5maWx0ZXIoZnVuY3Rpb24gKG0pIHtcbiAgICAgICAgICByZXR1cm4gbS5lbmFibGVkO1xuICAgICAgICB9KTtcbiAgICAgICAgcnVuTW9kaWZpZXJFZmZlY3RzKCk7XG4gICAgICAgIHJldHVybiBpbnN0YW5jZS51cGRhdGUoKTtcbiAgICAgIH0sXG4gICAgICAvLyBTeW5jIHVwZGF0ZSDigJMgaXQgd2lsbCBhbHdheXMgYmUgZXhlY3V0ZWQsIGV2ZW4gaWYgbm90IG5lY2Vzc2FyeS4gVGhpc1xuICAgICAgLy8gaXMgdXNlZnVsIGZvciBsb3cgZnJlcXVlbmN5IHVwZGF0ZXMgd2hlcmUgc3luYyBiZWhhdmlvciBzaW1wbGlmaWVzIHRoZVxuICAgICAgLy8gbG9naWMuXG4gICAgICAvLyBGb3IgaGlnaCBmcmVxdWVuY3kgdXBkYXRlcyAoZS5nLiBgcmVzaXplYCBhbmQgYHNjcm9sbGAgZXZlbnRzKSwgYWx3YXlzXG4gICAgICAvLyBwcmVmZXIgdGhlIGFzeW5jIFBvcHBlciN1cGRhdGUgbWV0aG9kXG4gICAgICBmb3JjZVVwZGF0ZTogZnVuY3Rpb24gZm9yY2VVcGRhdGUoKSB7XG4gICAgICAgIGlmIChpc0Rlc3Ryb3llZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfc3RhdGUkZWxlbWVudHMgPSBzdGF0ZS5lbGVtZW50cyxcbiAgICAgICAgICAgIHJlZmVyZW5jZSA9IF9zdGF0ZSRlbGVtZW50cy5yZWZlcmVuY2UsXG4gICAgICAgICAgICBwb3BwZXIgPSBfc3RhdGUkZWxlbWVudHMucG9wcGVyOyAvLyBEb24ndCBwcm9jZWVkIGlmIGByZWZlcmVuY2VgIG9yIGBwb3BwZXJgIGFyZSBub3QgdmFsaWQgZWxlbWVudHNcbiAgICAgICAgLy8gYW55bW9yZVxuXG4gICAgICAgIGlmICghYXJlVmFsaWRFbGVtZW50cyhyZWZlcmVuY2UsIHBvcHBlcikpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gLy8gU3RvcmUgdGhlIHJlZmVyZW5jZSBhbmQgcG9wcGVyIHJlY3RzIHRvIGJlIHJlYWQgYnkgbW9kaWZpZXJzXG5cblxuICAgICAgICBzdGF0ZS5yZWN0cyA9IHtcbiAgICAgICAgICByZWZlcmVuY2U6IGdldENvbXBvc2l0ZVJlY3QocmVmZXJlbmNlLCBnZXRPZmZzZXRQYXJlbnQocG9wcGVyKSwgc3RhdGUub3B0aW9ucy5zdHJhdGVneSA9PT0gJ2ZpeGVkJyksXG4gICAgICAgICAgcG9wcGVyOiBnZXRMYXlvdXRSZWN0KHBvcHBlcilcbiAgICAgICAgfTsgLy8gTW9kaWZpZXJzIGhhdmUgdGhlIGFiaWxpdHkgdG8gcmVzZXQgdGhlIGN1cnJlbnQgdXBkYXRlIGN5Y2xlLiBUaGVcbiAgICAgICAgLy8gbW9zdCBjb21tb24gdXNlIGNhc2UgZm9yIHRoaXMgaXMgdGhlIGBmbGlwYCBtb2RpZmllciBjaGFuZ2luZyB0aGVcbiAgICAgICAgLy8gcGxhY2VtZW50LCB3aGljaCB0aGVuIG5lZWRzIHRvIHJlLXJ1biBhbGwgdGhlIG1vZGlmaWVycywgYmVjYXVzZSB0aGVcbiAgICAgICAgLy8gbG9naWMgd2FzIHByZXZpb3VzbHkgcmFuIGZvciB0aGUgcHJldmlvdXMgcGxhY2VtZW50IGFuZCBpcyB0aGVyZWZvcmVcbiAgICAgICAgLy8gc3RhbGUvaW5jb3JyZWN0XG5cbiAgICAgICAgc3RhdGUucmVzZXQgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucGxhY2VtZW50ID0gc3RhdGUub3B0aW9ucy5wbGFjZW1lbnQ7IC8vIE9uIGVhY2ggdXBkYXRlIGN5Y2xlLCB0aGUgYG1vZGlmaWVyc0RhdGFgIHByb3BlcnR5IGZvciBlYWNoIG1vZGlmaWVyXG4gICAgICAgIC8vIGlzIGZpbGxlZCB3aXRoIHRoZSBpbml0aWFsIGRhdGEgc3BlY2lmaWVkIGJ5IHRoZSBtb2RpZmllci4gVGhpcyBtZWFuc1xuICAgICAgICAvLyBpdCBkb2Vzbid0IHBlcnNpc3QgYW5kIGlzIGZyZXNoIG9uIGVhY2ggdXBkYXRlLlxuICAgICAgICAvLyBUbyBlbnN1cmUgcGVyc2lzdGVudCBkYXRhLCB1c2UgYCR7bmFtZX0jcGVyc2lzdGVudGBcblxuICAgICAgICBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgICAgICAgcmV0dXJuIHN0YXRlLm1vZGlmaWVyc0RhdGFbbW9kaWZpZXIubmFtZV0gPSBPYmplY3QuYXNzaWduKHt9LCBtb2RpZmllci5kYXRhKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHN0YXRlLm9yZGVyZWRNb2RpZmllcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgaWYgKHN0YXRlLnJlc2V0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICBzdGF0ZS5yZXNldCA9IGZhbHNlO1xuICAgICAgICAgICAgaW5kZXggPSAtMTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfc3RhdGUkb3JkZXJlZE1vZGlmaWUgPSBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzW2luZGV4XSxcbiAgICAgICAgICAgICAgZm4gPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUuZm4sXG4gICAgICAgICAgICAgIF9zdGF0ZSRvcmRlcmVkTW9kaWZpZTIgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUub3B0aW9ucyxcbiAgICAgICAgICAgICAgX29wdGlvbnMgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUyID09PSB2b2lkIDAgPyB7fSA6IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZTIsXG4gICAgICAgICAgICAgIG5hbWUgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUubmFtZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHN0YXRlID0gZm4oe1xuICAgICAgICAgICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IF9vcHRpb25zLFxuICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICBpbnN0YW5jZTogaW5zdGFuY2VcbiAgICAgICAgICAgIH0pIHx8IHN0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIEFzeW5jIGFuZCBvcHRpbWlzdGljYWxseSBvcHRpbWl6ZWQgdXBkYXRlIOKAkyBpdCB3aWxsIG5vdCBiZSBleGVjdXRlZCBpZlxuICAgICAgLy8gbm90IG5lY2Vzc2FyeSAoZGVib3VuY2VkIHRvIHJ1biBhdCBtb3N0IG9uY2UtcGVyLXRpY2spXG4gICAgICB1cGRhdGU6IGRlYm91bmNlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgaW5zdGFuY2UuZm9yY2VVcGRhdGUoKTtcbiAgICAgICAgICByZXNvbHZlKHN0YXRlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGNsZWFudXBNb2RpZmllckVmZmVjdHMoKTtcbiAgICAgICAgaXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoIWFyZVZhbGlkRWxlbWVudHMocmVmZXJlbmNlLCBwb3BwZXIpKSB7XG4gICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgaW5zdGFuY2Uuc2V0T3B0aW9ucyhvcHRpb25zKS50aGVuKGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgaWYgKCFpc0Rlc3Ryb3llZCAmJiBvcHRpb25zLm9uRmlyc3RVcGRhdGUpIHtcbiAgICAgICAgb3B0aW9ucy5vbkZpcnN0VXBkYXRlKHN0YXRlKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gTW9kaWZpZXJzIGhhdmUgdGhlIGFiaWxpdHkgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSBiZWZvcmUgdGhlIGZpcnN0XG4gICAgLy8gdXBkYXRlIGN5Y2xlIHJ1bnMuIFRoZXkgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgdXBkYXRlXG4gICAgLy8gY3ljbGUuIFRoaXMgaXMgdXNlZnVsIHdoZW4gYSBtb2RpZmllciBhZGRzIHNvbWUgcGVyc2lzdGVudCBkYXRhIHRoYXRcbiAgICAvLyBvdGhlciBtb2RpZmllcnMgbmVlZCB0byB1c2UsIGJ1dCB0aGUgbW9kaWZpZXIgaXMgcnVuIGFmdGVyIHRoZSBkZXBlbmRlbnRcbiAgICAvLyBvbmUuXG5cbiAgICBmdW5jdGlvbiBydW5Nb2RpZmllckVmZmVjdHMoKSB7XG4gICAgICBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgICAgdmFyIG5hbWUgPSBfcmVmLm5hbWUsXG4gICAgICAgICAgICBfcmVmJG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICAgICAgICBvcHRpb25zID0gX3JlZiRvcHRpb25zID09PSB2b2lkIDAgPyB7fSA6IF9yZWYkb3B0aW9ucyxcbiAgICAgICAgICAgIGVmZmVjdCA9IF9yZWYuZWZmZWN0O1xuXG4gICAgICAgIGlmICh0eXBlb2YgZWZmZWN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdmFyIGNsZWFudXBGbiA9IGVmZmVjdCh7XG4gICAgICAgICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgaW5zdGFuY2U6IGluc3RhbmNlLFxuICAgICAgICAgICAgb3B0aW9uczogb3B0aW9uc1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdmFyIG5vb3BGbiA9IGZ1bmN0aW9uIG5vb3BGbigpIHt9O1xuXG4gICAgICAgICAgZWZmZWN0Q2xlYW51cEZucy5wdXNoKGNsZWFudXBGbiB8fCBub29wRm4pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjbGVhbnVwTW9kaWZpZXJFZmZlY3RzKCkge1xuICAgICAgZWZmZWN0Q2xlYW51cEZucy5mb3JFYWNoKGZ1bmN0aW9uIChmbikge1xuICAgICAgICByZXR1cm4gZm4oKTtcbiAgICAgIH0pO1xuICAgICAgZWZmZWN0Q2xlYW51cEZucyA9IFtdO1xuICAgIH1cblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfTtcbn1cbmV4cG9ydCB2YXIgY3JlYXRlUG9wcGVyID0gLyojX19QVVJFX18qL3BvcHBlckdlbmVyYXRvcigpOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGRldGVjdE92ZXJmbG93IH07IiwiaW1wb3J0IHsgaXNTaGFkb3dSb290IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29udGFpbnMocGFyZW50LCBjaGlsZCkge1xuICB2YXIgcm9vdE5vZGUgPSBjaGlsZC5nZXRSb290Tm9kZSAmJiBjaGlsZC5nZXRSb290Tm9kZSgpOyAvLyBGaXJzdCwgYXR0ZW1wdCB3aXRoIGZhc3RlciBuYXRpdmUgbWV0aG9kXG5cbiAgaWYgKHBhcmVudC5jb250YWlucyhjaGlsZCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyB0aGVuIGZhbGxiYWNrIHRvIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiB3aXRoIFNoYWRvdyBET00gc3VwcG9ydFxuICBlbHNlIGlmIChyb290Tm9kZSAmJiBpc1NoYWRvd1Jvb3Qocm9vdE5vZGUpKSB7XG4gICAgICB2YXIgbmV4dCA9IGNoaWxkO1xuXG4gICAgICBkbyB7XG4gICAgICAgIGlmIChuZXh0ICYmIHBhcmVudC5pc1NhbWVOb2RlKG5leHQpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddOiBuZWVkIGEgYmV0dGVyIHdheSB0byBoYW5kbGUgdGhpcy4uLlxuXG5cbiAgICAgICAgbmV4dCA9IG5leHQucGFyZW50Tm9kZSB8fCBuZXh0Lmhvc3Q7XG4gICAgICB9IHdoaWxlIChuZXh0KTtcbiAgICB9IC8vIEdpdmUgdXAsIHRoZSByZXN1bHQgaXMgZmFsc2VcblxuXG4gIHJldHVybiBmYWxzZTtcbn0iLCJpbXBvcnQgeyBpc0VsZW1lbnQsIGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgeyByb3VuZCB9IGZyb20gXCIuLi91dGlscy9tYXRoLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGlzTGF5b3V0Vmlld3BvcnQgZnJvbSBcIi4vaXNMYXlvdXRWaWV3cG9ydC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIGluY2x1ZGVTY2FsZSwgaXNGaXhlZFN0cmF0ZWd5KSB7XG4gIGlmIChpbmNsdWRlU2NhbGUgPT09IHZvaWQgMCkge1xuICAgIGluY2x1ZGVTY2FsZSA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzRml4ZWRTdHJhdGVneSA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZFN0cmF0ZWd5ID0gZmFsc2U7XG4gIH1cblxuICB2YXIgY2xpZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHZhciBzY2FsZVggPSAxO1xuICB2YXIgc2NhbGVZID0gMTtcblxuICBpZiAoaW5jbHVkZVNjYWxlICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBzY2FsZVggPSBlbGVtZW50Lm9mZnNldFdpZHRoID4gMCA/IHJvdW5kKGNsaWVudFJlY3Qud2lkdGgpIC8gZWxlbWVudC5vZmZzZXRXaWR0aCB8fCAxIDogMTtcbiAgICBzY2FsZVkgPSBlbGVtZW50Lm9mZnNldEhlaWdodCA+IDAgPyByb3VuZChjbGllbnRSZWN0LmhlaWdodCkgLyBlbGVtZW50Lm9mZnNldEhlaWdodCB8fCAxIDogMTtcbiAgfVxuXG4gIHZhciBfcmVmID0gaXNFbGVtZW50KGVsZW1lbnQpID8gZ2V0V2luZG93KGVsZW1lbnQpIDogd2luZG93LFxuICAgICAgdmlzdWFsVmlld3BvcnQgPSBfcmVmLnZpc3VhbFZpZXdwb3J0O1xuXG4gIHZhciBhZGRWaXN1YWxPZmZzZXRzID0gIWlzTGF5b3V0Vmlld3BvcnQoKSAmJiBpc0ZpeGVkU3RyYXRlZ3k7XG4gIHZhciB4ID0gKGNsaWVudFJlY3QubGVmdCArIChhZGRWaXN1YWxPZmZzZXRzICYmIHZpc3VhbFZpZXdwb3J0ID8gdmlzdWFsVmlld3BvcnQub2Zmc2V0TGVmdCA6IDApKSAvIHNjYWxlWDtcbiAgdmFyIHkgPSAoY2xpZW50UmVjdC50b3AgKyAoYWRkVmlzdWFsT2Zmc2V0cyAmJiB2aXN1YWxWaWV3cG9ydCA/IHZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcCA6IDApKSAvIHNjYWxlWTtcbiAgdmFyIHdpZHRoID0gY2xpZW50UmVjdC53aWR0aCAvIHNjYWxlWDtcbiAgdmFyIGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0IC8gc2NhbGVZO1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB0b3A6IHksXG4gICAgcmlnaHQ6IHggKyB3aWR0aCxcbiAgICBib3R0b206IHkgKyBoZWlnaHQsXG4gICAgbGVmdDogeCxcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcbn0iLCJpbXBvcnQgeyB2aWV3cG9ydCB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldFZpZXdwb3J0UmVjdCBmcm9tIFwiLi9nZXRWaWV3cG9ydFJlY3QuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudFJlY3QgZnJvbSBcIi4vZ2V0RG9jdW1lbnRSZWN0LmpzXCI7XG5pbXBvcnQgbGlzdFNjcm9sbFBhcmVudHMgZnJvbSBcIi4vbGlzdFNjcm9sbFBhcmVudHMuanNcIjtcbmltcG9ydCBnZXRPZmZzZXRQYXJlbnQgZnJvbSBcIi4vZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldENvbXB1dGVkU3R5bGUgZnJvbSBcIi4vZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuaW1wb3J0IHsgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIFwiLi9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBnZXRQYXJlbnROb2RlIGZyb20gXCIuL2dldFBhcmVudE5vZGUuanNcIjtcbmltcG9ydCBjb250YWlucyBmcm9tIFwiLi9jb250YWlucy5qc1wiO1xuaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgcmVjdFRvQ2xpZW50UmVjdCBmcm9tIFwiLi4vdXRpbHMvcmVjdFRvQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IHsgbWF4LCBtaW4gfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiO1xuXG5mdW5jdGlvbiBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICB2YXIgcmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50LCBmYWxzZSwgc3RyYXRlZ3kgPT09ICdmaXhlZCcpO1xuICByZWN0LnRvcCA9IHJlY3QudG9wICsgZWxlbWVudC5jbGllbnRUb3A7XG4gIHJlY3QubGVmdCA9IHJlY3QubGVmdCArIGVsZW1lbnQuY2xpZW50TGVmdDtcbiAgcmVjdC5ib3R0b20gPSByZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICByZWN0LnJpZ2h0ID0gcmVjdC5sZWZ0ICsgZWxlbWVudC5jbGllbnRXaWR0aDtcbiAgcmVjdC53aWR0aCA9IGVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIHJlY3QuaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIHJlY3QueCA9IHJlY3QubGVmdDtcbiAgcmVjdC55ID0gcmVjdC50b3A7XG4gIHJldHVybiByZWN0O1xufVxuXG5mdW5jdGlvbiBnZXRDbGllbnRSZWN0RnJvbU1peGVkVHlwZShlbGVtZW50LCBjbGlwcGluZ1BhcmVudCwgc3RyYXRlZ3kpIHtcbiAgcmV0dXJuIGNsaXBwaW5nUGFyZW50ID09PSB2aWV3cG9ydCA/IHJlY3RUb0NsaWVudFJlY3QoZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSkgOiBpc0VsZW1lbnQoY2xpcHBpbmdQYXJlbnQpID8gZ2V0SW5uZXJCb3VuZGluZ0NsaWVudFJlY3QoY2xpcHBpbmdQYXJlbnQsIHN0cmF0ZWd5KSA6IHJlY3RUb0NsaWVudFJlY3QoZ2V0RG9jdW1lbnRSZWN0KGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSkpO1xufSAvLyBBIFwiY2xpcHBpbmcgcGFyZW50XCIgaXMgYW4gb3ZlcmZsb3dhYmxlIGNvbnRhaW5lciB3aXRoIHRoZSBjaGFyYWN0ZXJpc3RpYyBvZlxuLy8gY2xpcHBpbmcgKG9yIGhpZGluZykgb3ZlcmZsb3dpbmcgZWxlbWVudHMgd2l0aCBhIHBvc2l0aW9uIGRpZmZlcmVudCBmcm9tXG4vLyBgaW5pdGlhbGBcblxuXG5mdW5jdGlvbiBnZXRDbGlwcGluZ1BhcmVudHMoZWxlbWVudCkge1xuICB2YXIgY2xpcHBpbmdQYXJlbnRzID0gbGlzdFNjcm9sbFBhcmVudHMoZ2V0UGFyZW50Tm9kZShlbGVtZW50KSk7XG4gIHZhciBjYW5Fc2NhcGVDbGlwcGluZyA9IFsnYWJzb2x1dGUnLCAnZml4ZWQnXS5pbmRleE9mKGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24pID49IDA7XG4gIHZhciBjbGlwcGVyRWxlbWVudCA9IGNhbkVzY2FwZUNsaXBwaW5nICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgPyBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudCkgOiBlbGVtZW50O1xuXG4gIGlmICghaXNFbGVtZW50KGNsaXBwZXJFbGVtZW50KSkge1xuICAgIHJldHVybiBbXTtcbiAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvMTQxNFxuXG5cbiAgcmV0dXJuIGNsaXBwaW5nUGFyZW50cy5maWx0ZXIoZnVuY3Rpb24gKGNsaXBwaW5nUGFyZW50KSB7XG4gICAgcmV0dXJuIGlzRWxlbWVudChjbGlwcGluZ1BhcmVudCkgJiYgY29udGFpbnMoY2xpcHBpbmdQYXJlbnQsIGNsaXBwZXJFbGVtZW50KSAmJiBnZXROb2RlTmFtZShjbGlwcGluZ1BhcmVudCkgIT09ICdib2R5JztcbiAgfSk7XG59IC8vIEdldHMgdGhlIG1heGltdW0gYXJlYSB0aGF0IHRoZSBlbGVtZW50IGlzIHZpc2libGUgaW4gZHVlIHRvIGFueSBudW1iZXIgb2Zcbi8vIGNsaXBwaW5nIHBhcmVudHNcblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRDbGlwcGluZ1JlY3QoZWxlbWVudCwgYm91bmRhcnksIHJvb3RCb3VuZGFyeSwgc3RyYXRlZ3kpIHtcbiAgdmFyIG1haW5DbGlwcGluZ1BhcmVudHMgPSBib3VuZGFyeSA9PT0gJ2NsaXBwaW5nUGFyZW50cycgPyBnZXRDbGlwcGluZ1BhcmVudHMoZWxlbWVudCkgOiBbXS5jb25jYXQoYm91bmRhcnkpO1xuICB2YXIgY2xpcHBpbmdQYXJlbnRzID0gW10uY29uY2F0KG1haW5DbGlwcGluZ1BhcmVudHMsIFtyb290Qm91bmRhcnldKTtcbiAgdmFyIGZpcnN0Q2xpcHBpbmdQYXJlbnQgPSBjbGlwcGluZ1BhcmVudHNbMF07XG4gIHZhciBjbGlwcGluZ1JlY3QgPSBjbGlwcGluZ1BhcmVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2NSZWN0LCBjbGlwcGluZ1BhcmVudCkge1xuICAgIHZhciByZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21NaXhlZFR5cGUoZWxlbWVudCwgY2xpcHBpbmdQYXJlbnQsIHN0cmF0ZWd5KTtcbiAgICBhY2NSZWN0LnRvcCA9IG1heChyZWN0LnRvcCwgYWNjUmVjdC50b3ApO1xuICAgIGFjY1JlY3QucmlnaHQgPSBtaW4ocmVjdC5yaWdodCwgYWNjUmVjdC5yaWdodCk7XG4gICAgYWNjUmVjdC5ib3R0b20gPSBtaW4ocmVjdC5ib3R0b20sIGFjY1JlY3QuYm90dG9tKTtcbiAgICBhY2NSZWN0LmxlZnQgPSBtYXgocmVjdC5sZWZ0LCBhY2NSZWN0LmxlZnQpO1xuICAgIHJldHVybiBhY2NSZWN0O1xuICB9LCBnZXRDbGllbnRSZWN0RnJvbU1peGVkVHlwZShlbGVtZW50LCBmaXJzdENsaXBwaW5nUGFyZW50LCBzdHJhdGVneSkpO1xuICBjbGlwcGluZ1JlY3Qud2lkdGggPSBjbGlwcGluZ1JlY3QucmlnaHQgLSBjbGlwcGluZ1JlY3QubGVmdDtcbiAgY2xpcHBpbmdSZWN0LmhlaWdodCA9IGNsaXBwaW5nUmVjdC5ib3R0b20gLSBjbGlwcGluZ1JlY3QudG9wO1xuICBjbGlwcGluZ1JlY3QueCA9IGNsaXBwaW5nUmVjdC5sZWZ0O1xuICBjbGlwcGluZ1JlY3QueSA9IGNsaXBwaW5nUmVjdC50b3A7XG4gIHJldHVybiBjbGlwcGluZ1JlY3Q7XG59IiwiaW1wb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIFwiLi9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBnZXROb2RlU2Nyb2xsIGZyb20gXCIuL2dldE5vZGVTY3JvbGwuanNcIjtcbmltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4vZ2V0RG9jdW1lbnRFbGVtZW50LmpzXCI7XG5pbXBvcnQgaXNTY3JvbGxQYXJlbnQgZnJvbSBcIi4vaXNTY3JvbGxQYXJlbnQuanNcIjtcbmltcG9ydCB7IHJvdW5kIH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcblxuZnVuY3Rpb24gaXNFbGVtZW50U2NhbGVkKGVsZW1lbnQpIHtcbiAgdmFyIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB2YXIgc2NhbGVYID0gcm91bmQocmVjdC53aWR0aCkgLyBlbGVtZW50Lm9mZnNldFdpZHRoIHx8IDE7XG4gIHZhciBzY2FsZVkgPSByb3VuZChyZWN0LmhlaWdodCkgLyBlbGVtZW50Lm9mZnNldEhlaWdodCB8fCAxO1xuICByZXR1cm4gc2NhbGVYICE9PSAxIHx8IHNjYWxlWSAhPT0gMTtcbn0gLy8gUmV0dXJucyB0aGUgY29tcG9zaXRlIHJlY3Qgb2YgYW4gZWxlbWVudCByZWxhdGl2ZSB0byBpdHMgb2Zmc2V0UGFyZW50LlxuLy8gQ29tcG9zaXRlIG1lYW5zIGl0IHRha2VzIGludG8gYWNjb3VudCB0cmFuc2Zvcm1zIGFzIHdlbGwgYXMgbGF5b3V0LlxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldENvbXBvc2l0ZVJlY3QoZWxlbWVudE9yVmlydHVhbEVsZW1lbnQsIG9mZnNldFBhcmVudCwgaXNGaXhlZCkge1xuICBpZiAoaXNGaXhlZCA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZCA9IGZhbHNlO1xuICB9XG5cbiAgdmFyIGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICB2YXIgb2Zmc2V0UGFyZW50SXNTY2FsZWQgPSBpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCkgJiYgaXNFbGVtZW50U2NhbGVkKG9mZnNldFBhcmVudCk7XG4gIHZhciBkb2N1bWVudEVsZW1lbnQgPSBnZXREb2N1bWVudEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgdmFyIHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudE9yVmlydHVhbEVsZW1lbnQsIG9mZnNldFBhcmVudElzU2NhbGVkLCBpc0ZpeGVkKTtcbiAgdmFyIHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICB2YXIgb2Zmc2V0cyA9IHtcbiAgICB4OiAwLFxuICAgIHk6IDBcbiAgfTtcblxuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCAvLyBodHRwczovL2dpdGh1Yi5jb20vcG9wcGVyanMvcG9wcGVyLWNvcmUvaXNzdWVzLzEwNzhcbiAgICBpc1Njcm9sbFBhcmVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuXG4gICAgaWYgKGlzSFRNTEVsZW1lbnQob2Zmc2V0UGFyZW50KSkge1xuICAgICAgb2Zmc2V0cyA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChvZmZzZXRQYXJlbnQsIHRydWUpO1xuICAgICAgb2Zmc2V0cy54ICs9IG9mZnNldFBhcmVudC5jbGllbnRMZWZ0O1xuICAgICAgb2Zmc2V0cy55ICs9IG9mZnNldFBhcmVudC5jbGllbnRUb3A7XG4gICAgfSBlbHNlIGlmIChkb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIG9mZnNldHMueCA9IGdldFdpbmRvd1Njcm9sbEJhclgoZG9jdW1lbnRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHg6IHJlY3QubGVmdCArIHNjcm9sbC5zY3JvbGxMZWZ0IC0gb2Zmc2V0cy54LFxuICAgIHk6IHJlY3QudG9wICsgc2Nyb2xsLnNjcm9sbFRvcCAtIG9mZnNldHMueSxcbiAgICB3aWR0aDogcmVjdC53aWR0aCxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0XG4gIH07XG59IiwiaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkge1xuICByZXR1cm4gZ2V0V2luZG93KGVsZW1lbnQpLmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG59IiwiaW1wb3J0IHsgaXNFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpIHtcbiAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXTogYXNzdW1lIGJvZHkgaXMgYWx3YXlzIGF2YWlsYWJsZVxuICByZXR1cm4gKChpc0VsZW1lbnQoZWxlbWVudCkgPyBlbGVtZW50Lm93bmVyRG9jdW1lbnQgOiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgZWxlbWVudC5kb2N1bWVudCkgfHwgd2luZG93LmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQ7XG59IiwiaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGwgZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsLmpzXCI7XG5pbXBvcnQgeyBtYXggfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiOyAvLyBHZXRzIHRoZSBlbnRpcmUgc2l6ZSBvZiB0aGUgc2Nyb2xsYWJsZSBkb2N1bWVudCBhcmVhLCBldmVuIGV4dGVuZGluZyBvdXRzaWRlXG4vLyBvZiB0aGUgYDxodG1sPmAgYW5kIGA8Ym9keT5gIHJlY3QgYm91bmRzIGlmIGhvcml6b250YWxseSBzY3JvbGxhYmxlXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERvY3VtZW50UmVjdChlbGVtZW50KSB7XG4gIHZhciBfZWxlbWVudCRvd25lckRvY3VtZW47XG5cbiAgdmFyIGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIHZhciB3aW5TY3JvbGwgPSBnZXRXaW5kb3dTY3JvbGwoZWxlbWVudCk7XG4gIHZhciBib2R5ID0gKF9lbGVtZW50JG93bmVyRG9jdW1lbiA9IGVsZW1lbnQub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9lbGVtZW50JG93bmVyRG9jdW1lbi5ib2R5O1xuICB2YXIgd2lkdGggPSBtYXgoaHRtbC5zY3JvbGxXaWR0aCwgaHRtbC5jbGllbnRXaWR0aCwgYm9keSA/IGJvZHkuc2Nyb2xsV2lkdGggOiAwLCBib2R5ID8gYm9keS5jbGllbnRXaWR0aCA6IDApO1xuICB2YXIgaGVpZ2h0ID0gbWF4KGh0bWwuc2Nyb2xsSGVpZ2h0LCBodG1sLmNsaWVudEhlaWdodCwgYm9keSA/IGJvZHkuc2Nyb2xsSGVpZ2h0IDogMCwgYm9keSA/IGJvZHkuY2xpZW50SGVpZ2h0IDogMCk7XG4gIHZhciB4ID0gLXdpblNjcm9sbC5zY3JvbGxMZWZ0ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KTtcbiAgdmFyIHkgPSAtd2luU2Nyb2xsLnNjcm9sbFRvcDtcblxuICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShib2R5IHx8IGh0bWwpLmRpcmVjdGlvbiA9PT0gJ3J0bCcpIHtcbiAgICB4ICs9IG1heChodG1sLmNsaWVudFdpZHRoLCBib2R5ID8gYm9keS5jbGllbnRXaWR0aCA6IDApIC0gd2lkdGg7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRIVE1MRWxlbWVudFNjcm9sbChlbGVtZW50KSB7XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogZWxlbWVudC5zY3JvbGxMZWZ0LFxuICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxUb3BcbiAgfTtcbn0iLCJpbXBvcnQgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGZyb20gXCIuL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qc1wiOyAvLyBSZXR1cm5zIHRoZSBsYXlvdXQgcmVjdCBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGl0cyBvZmZzZXRQYXJlbnQuIExheW91dFxuLy8gbWVhbnMgaXQgZG9lc24ndCB0YWtlIGludG8gYWNjb3VudCB0cmFuc2Zvcm1zLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRMYXlvdXRSZWN0KGVsZW1lbnQpIHtcbiAgdmFyIGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCk7IC8vIFVzZSB0aGUgY2xpZW50UmVjdCBzaXplcyBpZiBpdCdzIG5vdCBiZWVuIHRyYW5zZm9ybWVkLlxuICAvLyBGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vcG9wcGVyanMvcG9wcGVyLWNvcmUvaXNzdWVzLzEyMjNcblxuICB2YXIgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgaWYgKE1hdGguYWJzKGNsaWVudFJlY3Qud2lkdGggLSB3aWR0aCkgPD0gMSkge1xuICAgIHdpZHRoID0gY2xpZW50UmVjdC53aWR0aDtcbiAgfVxuXG4gIGlmIChNYXRoLmFicyhjbGllbnRSZWN0LmhlaWdodCAtIGhlaWdodCkgPD0gMSkge1xuICAgIGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBlbGVtZW50Lm9mZnNldExlZnQsXG4gICAgeTogZWxlbWVudC5vZmZzZXRUb3AsXG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0XG4gIH07XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Tm9kZU5hbWUoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudCA/IChlbGVtZW50Lm5vZGVOYW1lIHx8ICcnKS50b0xvd2VyQ2FzZSgpIDogbnVsbDtcbn0iLCJpbXBvcnQgZ2V0V2luZG93U2Nyb2xsIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgZ2V0SFRNTEVsZW1lbnRTY3JvbGwgZnJvbSBcIi4vZ2V0SFRNTEVsZW1lbnRTY3JvbGwuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE5vZGVTY3JvbGwobm9kZSkge1xuICBpZiAobm9kZSA9PT0gZ2V0V2luZG93KG5vZGUpIHx8ICFpc0hUTUxFbGVtZW50KG5vZGUpKSB7XG4gICAgcmV0dXJuIGdldFdpbmRvd1Njcm9sbChub2RlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZ2V0SFRNTEVsZW1lbnRTY3JvbGwobm9kZSk7XG4gIH1cbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSBmcm9tIFwiLi9nZXRDb21wdXRlZFN0eWxlLmpzXCI7XG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50LCBpc1NoYWRvd1Jvb3QgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgaXNUYWJsZUVsZW1lbnQgZnJvbSBcIi4vaXNUYWJsZUVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRQYXJlbnROb2RlIGZyb20gXCIuL2dldFBhcmVudE5vZGUuanNcIjtcbmltcG9ydCBnZXRVQVN0cmluZyBmcm9tIFwiLi4vdXRpbHMvdXNlckFnZW50LmpzXCI7XG5cbmZ1bmN0aW9uIGdldFRydWVPZmZzZXRQYXJlbnQoZWxlbWVudCkge1xuICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkgfHwgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BvcHBlcmpzL3BvcHBlci1jb3JlL2lzc3Vlcy84MzdcbiAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0UGFyZW50O1xufSAvLyBgLm9mZnNldFBhcmVudGAgcmVwb3J0cyBgbnVsbGAgZm9yIGZpeGVkIGVsZW1lbnRzLCB3aGlsZSBhYnNvbHV0ZSBlbGVtZW50c1xuLy8gcmV0dXJuIHRoZSBjb250YWluaW5nIGJsb2NrXG5cblxuZnVuY3Rpb24gZ2V0Q29udGFpbmluZ0Jsb2NrKGVsZW1lbnQpIHtcbiAgdmFyIGlzRmlyZWZveCA9IC9maXJlZm94L2kudGVzdChnZXRVQVN0cmluZygpKTtcbiAgdmFyIGlzSUUgPSAvVHJpZGVudC9pLnRlc3QoZ2V0VUFTdHJpbmcoKSk7XG5cbiAgaWYgKGlzSUUgJiYgaXNIVE1MRWxlbWVudChlbGVtZW50KSkge1xuICAgIC8vIEluIElFIDksIDEwIGFuZCAxMSBmaXhlZCBlbGVtZW50cyBjb250YWluaW5nIGJsb2NrIGlzIGFsd2F5cyBlc3RhYmxpc2hlZCBieSB0aGUgdmlld3BvcnRcbiAgICB2YXIgZWxlbWVudENzcyA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG5cbiAgICBpZiAoZWxlbWVudENzcy5wb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgdmFyIGN1cnJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShlbGVtZW50KTtcblxuICBpZiAoaXNTaGFkb3dSb290KGN1cnJlbnROb2RlKSkge1xuICAgIGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUuaG9zdDtcbiAgfVxuXG4gIHdoaWxlIChpc0hUTUxFbGVtZW50KGN1cnJlbnROb2RlKSAmJiBbJ2h0bWwnLCAnYm9keSddLmluZGV4T2YoZ2V0Tm9kZU5hbWUoY3VycmVudE5vZGUpKSA8IDApIHtcbiAgICB2YXIgY3NzID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50Tm9kZSk7IC8vIFRoaXMgaXMgbm9uLWV4aGF1c3RpdmUgYnV0IGNvdmVycyB0aGUgbW9zdCBjb21tb24gQ1NTIHByb3BlcnRpZXMgdGhhdFxuICAgIC8vIGNyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2suXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0NvbnRhaW5pbmdfYmxvY2sjaWRlbnRpZnlpbmdfdGhlX2NvbnRhaW5pbmdfYmxvY2tcblxuICAgIGlmIChjc3MudHJhbnNmb3JtICE9PSAnbm9uZScgfHwgY3NzLnBlcnNwZWN0aXZlICE9PSAnbm9uZScgfHwgY3NzLmNvbnRhaW4gPT09ICdwYWludCcgfHwgWyd0cmFuc2Zvcm0nLCAncGVyc3BlY3RpdmUnXS5pbmRleE9mKGNzcy53aWxsQ2hhbmdlKSAhPT0gLTEgfHwgaXNGaXJlZm94ICYmIGNzcy53aWxsQ2hhbmdlID09PSAnZmlsdGVyJyB8fCBpc0ZpcmVmb3ggJiYgY3NzLmZpbHRlciAmJiBjc3MuZmlsdGVyICE9PSAnbm9uZScpIHtcbiAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5wYXJlbnROb2RlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufSAvLyBHZXRzIHRoZSBjbG9zZXN0IGFuY2VzdG9yIHBvc2l0aW9uZWQgZWxlbWVudC4gSGFuZGxlcyBzb21lIGVkZ2UgY2FzZXMsXG4vLyBzdWNoIGFzIHRhYmxlIGFuY2VzdG9ycyBhbmQgY3Jvc3MgYnJvd3NlciBidWdzLlxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE9mZnNldFBhcmVudChlbGVtZW50KSB7XG4gIHZhciB3aW5kb3cgPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIHZhciBvZmZzZXRQYXJlbnQgPSBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQpO1xuXG4gIHdoaWxlIChvZmZzZXRQYXJlbnQgJiYgaXNUYWJsZUVsZW1lbnQob2Zmc2V0UGFyZW50KSAmJiBnZXRDb21wdXRlZFN0eWxlKG9mZnNldFBhcmVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnKSB7XG4gICAgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChvZmZzZXRQYXJlbnQpO1xuICB9XG5cbiAgaWYgKG9mZnNldFBhcmVudCAmJiAoZ2V0Tm9kZU5hbWUob2Zmc2V0UGFyZW50KSA9PT0gJ2h0bWwnIHx8IGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgPT09ICdib2R5JyAmJiBnZXRDb21wdXRlZFN0eWxlKG9mZnNldFBhcmVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnKSkge1xuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICByZXR1cm4gb2Zmc2V0UGFyZW50IHx8IGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB8fCB3aW5kb3c7XG59IiwiaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IHsgaXNTaGFkb3dSb290IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UGFyZW50Tm9kZShlbGVtZW50KSB7XG4gIGlmIChnZXROb2RlTmFtZShlbGVtZW50KSA9PT0gJ2h0bWwnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4gKC8vIHRoaXMgaXMgYSBxdWlja2VyIChidXQgbGVzcyB0eXBlIHNhZmUpIHdheSB0byBzYXZlIHF1aXRlIHNvbWUgYnl0ZXMgZnJvbSB0aGUgYnVuZGxlXG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXVxuICAgIC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuICAgIGVsZW1lbnQuYXNzaWduZWRTbG90IHx8IC8vIHN0ZXAgaW50byB0aGUgc2hhZG93IERPTSBvZiB0aGUgcGFyZW50IG9mIGEgc2xvdHRlZCBub2RlXG4gICAgZWxlbWVudC5wYXJlbnROb2RlIHx8ICggLy8gRE9NIEVsZW1lbnQgZGV0ZWN0ZWRcbiAgICBpc1NoYWRvd1Jvb3QoZWxlbWVudCkgPyBlbGVtZW50Lmhvc3QgOiBudWxsKSB8fCAvLyBTaGFkb3dSb290IGRldGVjdGVkXG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF06IEhUTUxFbGVtZW50IGlzIGEgTm9kZVxuICAgIGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSAvLyBmYWxsYmFja1xuXG4gICk7XG59IiwiaW1wb3J0IGdldFBhcmVudE5vZGUgZnJvbSBcIi4vZ2V0UGFyZW50Tm9kZS5qc1wiO1xuaW1wb3J0IGlzU2Nyb2xsUGFyZW50IGZyb20gXCIuL2lzU2Nyb2xsUGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRTY3JvbGxQYXJlbnQobm9kZSkge1xuICBpZiAoWydodG1sJywgJ2JvZHknLCAnI2RvY3VtZW50J10uaW5kZXhPZihnZXROb2RlTmFtZShub2RlKSkgPj0gMCkge1xuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl06IGFzc3VtZSBib2R5IGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgICByZXR1cm4gbm9kZS5vd25lckRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBpZiAoaXNIVE1MRWxlbWVudChub2RlKSAmJiBpc1Njcm9sbFBhcmVudChub2RlKSkge1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgcmV0dXJuIGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKG5vZGUpKTtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBpc0xheW91dFZpZXdwb3J0IGZyb20gXCIuL2lzTGF5b3V0Vmlld3BvcnQuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFZpZXdwb3J0UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICB2YXIgd2luID0gZ2V0V2luZG93KGVsZW1lbnQpO1xuICB2YXIgaHRtbCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgdmFyIHZpc3VhbFZpZXdwb3J0ID0gd2luLnZpc3VhbFZpZXdwb3J0O1xuICB2YXIgd2lkdGggPSBodG1sLmNsaWVudFdpZHRoO1xuICB2YXIgaGVpZ2h0ID0gaHRtbC5jbGllbnRIZWlnaHQ7XG4gIHZhciB4ID0gMDtcbiAgdmFyIHkgPSAwO1xuXG4gIGlmICh2aXN1YWxWaWV3cG9ydCkge1xuICAgIHdpZHRoID0gdmlzdWFsVmlld3BvcnQud2lkdGg7XG4gICAgaGVpZ2h0ID0gdmlzdWFsVmlld3BvcnQuaGVpZ2h0O1xuICAgIHZhciBsYXlvdXRWaWV3cG9ydCA9IGlzTGF5b3V0Vmlld3BvcnQoKTtcblxuICAgIGlmIChsYXlvdXRWaWV3cG9ydCB8fCAhbGF5b3V0Vmlld3BvcnQgJiYgc3RyYXRlZ3kgPT09ICdmaXhlZCcpIHtcbiAgICAgIHggPSB2aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0O1xuICAgICAgeSA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB4OiB4ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KSxcbiAgICB5OiB5XG4gIH07XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2luZG93KG5vZGUpIHtcbiAgaWYgKG5vZGUgPT0gbnVsbCkge1xuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICBpZiAobm9kZS50b1N0cmluZygpICE9PSAnW29iamVjdCBXaW5kb3ddJykge1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gbm9kZS5vd25lckRvY3VtZW50O1xuICAgIHJldHVybiBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3cgOiB3aW5kb3c7XG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2luZG93U2Nyb2xsKG5vZGUpIHtcbiAgdmFyIHdpbiA9IGdldFdpbmRvdyhub2RlKTtcbiAgdmFyIHNjcm9sbExlZnQgPSB3aW4ucGFnZVhPZmZzZXQ7XG4gIHZhciBzY3JvbGxUb3AgPSB3aW4ucGFnZVlPZmZzZXQ7XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogc2Nyb2xsTGVmdCxcbiAgICBzY3JvbGxUb3A6IHNjcm9sbFRvcFxuICB9O1xufSIsImltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4vZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvd1Njcm9sbCBmcm9tIFwiLi9nZXRXaW5kb3dTY3JvbGwuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCkge1xuICAvLyBJZiA8aHRtbD4gaGFzIGEgQ1NTIHdpZHRoIGdyZWF0ZXIgdGhhbiB0aGUgdmlld3BvcnQsIHRoZW4gdGhpcyB3aWxsIGJlXG4gIC8vIGluY29ycmVjdCBmb3IgUlRMLlxuICAvLyBQb3BwZXIgMSBpcyBicm9rZW4gaW4gdGhpcyBjYXNlIGFuZCBuZXZlciBoYWQgYSBidWcgcmVwb3J0IHNvIGxldCdzIGFzc3VtZVxuICAvLyBpdCdzIG5vdCBhbiBpc3N1ZS4gSSBkb24ndCB0aGluayBhbnlvbmUgZXZlciBzcGVjaWZpZXMgd2lkdGggb24gPGh0bWw+XG4gIC8vIGFueXdheS5cbiAgLy8gQnJvd3NlcnMgd2hlcmUgdGhlIGxlZnQgc2Nyb2xsYmFyIGRvZXNuJ3QgY2F1c2UgYW4gaXNzdWUgcmVwb3J0IGAwYCBmb3JcbiAgLy8gdGhpcyAoZS5nLiBFZGdlIDIwMTksIElFMTEsIFNhZmFyaSlcbiAgcmV0dXJuIGdldEJvdW5kaW5nQ2xpZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpLmxlZnQgKyBnZXRXaW5kb3dTY3JvbGwoZWxlbWVudCkuc2Nyb2xsTGVmdDtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuXG5mdW5jdGlvbiBpc0VsZW1lbnQobm9kZSkge1xuICB2YXIgT3duRWxlbWVudCA9IGdldFdpbmRvdyhub2RlKS5FbGVtZW50O1xuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIE93bkVsZW1lbnQgfHwgbm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzSFRNTEVsZW1lbnQobm9kZSkge1xuICB2YXIgT3duRWxlbWVudCA9IGdldFdpbmRvdyhub2RlKS5IVE1MRWxlbWVudDtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBPd25FbGVtZW50IHx8IG5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDtcbn1cblxuZnVuY3Rpb24gaXNTaGFkb3dSb290KG5vZGUpIHtcbiAgLy8gSUUgMTEgaGFzIG5vIFNoYWRvd1Jvb3RcbiAgaWYgKHR5cGVvZiBTaGFkb3dSb290ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBPd25FbGVtZW50ID0gZ2V0V2luZG93KG5vZGUpLlNoYWRvd1Jvb3Q7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgT3duRWxlbWVudCB8fCBub2RlIGluc3RhbmNlb2YgU2hhZG93Um9vdDtcbn1cblxuZXhwb3J0IHsgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50LCBpc1NoYWRvd1Jvb3QgfTsiLCJpbXBvcnQgZ2V0VUFTdHJpbmcgZnJvbSBcIi4uL3V0aWxzL3VzZXJBZ2VudC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNMYXlvdXRWaWV3cG9ydCgpIHtcbiAgcmV0dXJuICEvXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KGdldFVBU3RyaW5nKCkpO1xufSIsImltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzU2Nyb2xsUGFyZW50KGVsZW1lbnQpIHtcbiAgLy8gRmlyZWZveCB3YW50cyB1cyB0byBjaGVjayBgLXhgIGFuZCBgLXlgIHZhcmlhdGlvbnMgYXMgd2VsbFxuICB2YXIgX2dldENvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLFxuICAgICAgb3ZlcmZsb3cgPSBfZ2V0Q29tcHV0ZWRTdHlsZS5vdmVyZmxvdyxcbiAgICAgIG92ZXJmbG93WCA9IF9nZXRDb21wdXRlZFN0eWxlLm92ZXJmbG93WCxcbiAgICAgIG92ZXJmbG93WSA9IF9nZXRDb21wdXRlZFN0eWxlLm92ZXJmbG93WTtcblxuICByZXR1cm4gL2F1dG98c2Nyb2xsfG92ZXJsYXl8aGlkZGVuLy50ZXN0KG92ZXJmbG93ICsgb3ZlcmZsb3dZICsgb3ZlcmZsb3dYKTtcbn0iLCJpbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzVGFibGVFbGVtZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuIFsndGFibGUnLCAndGQnLCAndGgnXS5pbmRleE9mKGdldE5vZGVOYW1lKGVsZW1lbnQpKSA+PSAwO1xufSIsImltcG9ydCBnZXRTY3JvbGxQYXJlbnQgZnJvbSBcIi4vZ2V0U2Nyb2xsUGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0UGFyZW50Tm9kZSBmcm9tIFwiLi9nZXRQYXJlbnROb2RlLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGlzU2Nyb2xsUGFyZW50IGZyb20gXCIuL2lzU2Nyb2xsUGFyZW50LmpzXCI7XG4vKlxuZ2l2ZW4gYSBET00gZWxlbWVudCwgcmV0dXJuIHRoZSBsaXN0IG9mIGFsbCBzY3JvbGwgcGFyZW50cywgdXAgdGhlIGxpc3Qgb2YgYW5jZXNvcnNcbnVudGlsIHdlIGdldCB0byB0aGUgdG9wIHdpbmRvdyBvYmplY3QuIFRoaXMgbGlzdCBpcyB3aGF0IHdlIGF0dGFjaCBzY3JvbGwgbGlzdGVuZXJzXG50bywgYmVjYXVzZSBpZiBhbnkgb2YgdGhlc2UgcGFyZW50IGVsZW1lbnRzIHNjcm9sbCwgd2UnbGwgbmVlZCB0byByZS1jYWxjdWxhdGUgdGhlXG5yZWZlcmVuY2UgZWxlbWVudCdzIHBvc2l0aW9uLlxuKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbGlzdFNjcm9sbFBhcmVudHMoZWxlbWVudCwgbGlzdCkge1xuICB2YXIgX2VsZW1lbnQkb3duZXJEb2N1bWVuO1xuXG4gIGlmIChsaXN0ID09PSB2b2lkIDApIHtcbiAgICBsaXN0ID0gW107XG4gIH1cblxuICB2YXIgc2Nyb2xsUGFyZW50ID0gZ2V0U2Nyb2xsUGFyZW50KGVsZW1lbnQpO1xuICB2YXIgaXNCb2R5ID0gc2Nyb2xsUGFyZW50ID09PSAoKF9lbGVtZW50JG93bmVyRG9jdW1lbiA9IGVsZW1lbnQub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9lbGVtZW50JG93bmVyRG9jdW1lbi5ib2R5KTtcbiAgdmFyIHdpbiA9IGdldFdpbmRvdyhzY3JvbGxQYXJlbnQpO1xuICB2YXIgdGFyZ2V0ID0gaXNCb2R5ID8gW3dpbl0uY29uY2F0KHdpbi52aXN1YWxWaWV3cG9ydCB8fCBbXSwgaXNTY3JvbGxQYXJlbnQoc2Nyb2xsUGFyZW50KSA/IHNjcm9sbFBhcmVudCA6IFtdKSA6IHNjcm9sbFBhcmVudDtcbiAgdmFyIHVwZGF0ZWRMaXN0ID0gbGlzdC5jb25jYXQodGFyZ2V0KTtcbiAgcmV0dXJuIGlzQm9keSA/IHVwZGF0ZWRMaXN0IDogLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF06IGlzQm9keSB0ZWxscyB1cyB0YXJnZXQgd2lsbCBiZSBhbiBIVE1MRWxlbWVudCBoZXJlXG4gIHVwZGF0ZWRMaXN0LmNvbmNhdChsaXN0U2Nyb2xsUGFyZW50cyhnZXRQYXJlbnROb2RlKHRhcmdldCkpKTtcbn0iLCJleHBvcnQgdmFyIHRvcCA9ICd0b3AnO1xuZXhwb3J0IHZhciBib3R0b20gPSAnYm90dG9tJztcbmV4cG9ydCB2YXIgcmlnaHQgPSAncmlnaHQnO1xuZXhwb3J0IHZhciBsZWZ0ID0gJ2xlZnQnO1xuZXhwb3J0IHZhciBhdXRvID0gJ2F1dG8nO1xuZXhwb3J0IHZhciBiYXNlUGxhY2VtZW50cyA9IFt0b3AsIGJvdHRvbSwgcmlnaHQsIGxlZnRdO1xuZXhwb3J0IHZhciBzdGFydCA9ICdzdGFydCc7XG5leHBvcnQgdmFyIGVuZCA9ICdlbmQnO1xuZXhwb3J0IHZhciBjbGlwcGluZ1BhcmVudHMgPSAnY2xpcHBpbmdQYXJlbnRzJztcbmV4cG9ydCB2YXIgdmlld3BvcnQgPSAndmlld3BvcnQnO1xuZXhwb3J0IHZhciBwb3BwZXIgPSAncG9wcGVyJztcbmV4cG9ydCB2YXIgcmVmZXJlbmNlID0gJ3JlZmVyZW5jZSc7XG5leHBvcnQgdmFyIHZhcmlhdGlvblBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovYmFzZVBsYWNlbWVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICByZXR1cm4gYWNjLmNvbmNhdChbcGxhY2VtZW50ICsgXCItXCIgKyBzdGFydCwgcGxhY2VtZW50ICsgXCItXCIgKyBlbmRdKTtcbn0sIFtdKTtcbmV4cG9ydCB2YXIgcGxhY2VtZW50cyA9IC8qI19fUFVSRV9fKi9bXS5jb25jYXQoYmFzZVBsYWNlbWVudHMsIFthdXRvXSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICByZXR1cm4gYWNjLmNvbmNhdChbcGxhY2VtZW50LCBwbGFjZW1lbnQgKyBcIi1cIiArIHN0YXJ0LCBwbGFjZW1lbnQgKyBcIi1cIiArIGVuZF0pO1xufSwgW10pOyAvLyBtb2RpZmllcnMgdGhhdCBuZWVkIHRvIHJlYWQgdGhlIERPTVxuXG5leHBvcnQgdmFyIGJlZm9yZVJlYWQgPSAnYmVmb3JlUmVhZCc7XG5leHBvcnQgdmFyIHJlYWQgPSAncmVhZCc7XG5leHBvcnQgdmFyIGFmdGVyUmVhZCA9ICdhZnRlclJlYWQnOyAvLyBwdXJlLWxvZ2ljIG1vZGlmaWVyc1xuXG5leHBvcnQgdmFyIGJlZm9yZU1haW4gPSAnYmVmb3JlTWFpbic7XG5leHBvcnQgdmFyIG1haW4gPSAnbWFpbic7XG5leHBvcnQgdmFyIGFmdGVyTWFpbiA9ICdhZnRlck1haW4nOyAvLyBtb2RpZmllciB3aXRoIHRoZSBwdXJwb3NlIHRvIHdyaXRlIHRvIHRoZSBET00gKG9yIHdyaXRlIGludG8gYSBmcmFtZXdvcmsgc3RhdGUpXG5cbmV4cG9ydCB2YXIgYmVmb3JlV3JpdGUgPSAnYmVmb3JlV3JpdGUnO1xuZXhwb3J0IHZhciB3cml0ZSA9ICd3cml0ZSc7XG5leHBvcnQgdmFyIGFmdGVyV3JpdGUgPSAnYWZ0ZXJXcml0ZSc7XG5leHBvcnQgdmFyIG1vZGlmaWVyUGhhc2VzID0gW2JlZm9yZVJlYWQsIHJlYWQsIGFmdGVyUmVhZCwgYmVmb3JlTWFpbiwgbWFpbiwgYWZ0ZXJNYWluLCBiZWZvcmVXcml0ZSwgd3JpdGUsIGFmdGVyV3JpdGVdOyIsImltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4uL2RvbS11dGlscy9pbnN0YW5jZU9mLmpzXCI7IC8vIFRoaXMgbW9kaWZpZXIgdGFrZXMgdGhlIHN0eWxlcyBwcmVwYXJlZCBieSB0aGUgYGNvbXB1dGVTdHlsZXNgIG1vZGlmaWVyXG4vLyBhbmQgYXBwbGllcyB0aGVtIHRvIHRoZSBIVE1MRWxlbWVudHMgc3VjaCBhcyBwb3BwZXIgYW5kIGFycm93XG5cbmZ1bmN0aW9uIGFwcGx5U3R5bGVzKF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZTtcbiAgT2JqZWN0LmtleXMoc3RhdGUuZWxlbWVudHMpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB2YXIgc3R5bGUgPSBzdGF0ZS5zdHlsZXNbbmFtZV0gfHwge307XG4gICAgdmFyIGF0dHJpYnV0ZXMgPSBzdGF0ZS5hdHRyaWJ1dGVzW25hbWVdIHx8IHt9O1xuICAgIHZhciBlbGVtZW50ID0gc3RhdGUuZWxlbWVudHNbbmFtZV07IC8vIGFycm93IGlzIG9wdGlvbmFsICsgdmlydHVhbCBlbGVtZW50c1xuXG4gICAgaWYgKCFpc0hUTUxFbGVtZW50KGVsZW1lbnQpIHx8ICFnZXROb2RlTmFtZShlbGVtZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gRmxvdyBkb2Vzbid0IHN1cHBvcnQgdG8gZXh0ZW5kIHRoaXMgcHJvcGVydHksIGJ1dCBpdCdzIHRoZSBtb3N0XG4gICAgLy8gZWZmZWN0aXZlIHdheSB0byBhcHBseSBzdHlsZXMgdG8gYW4gSFRNTEVsZW1lbnRcbiAgICAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV1cblxuXG4gICAgT2JqZWN0LmFzc2lnbihlbGVtZW50LnN0eWxlLCBzdHlsZSk7XG4gICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgdmFyIHZhbHVlID0gYXR0cmlidXRlc1tuYW1lXTtcblxuICAgICAgaWYgKHZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlID09PSB0cnVlID8gJycgOiB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBlZmZlY3QoX3JlZjIpIHtcbiAgdmFyIHN0YXRlID0gX3JlZjIuc3RhdGU7XG4gIHZhciBpbml0aWFsU3R5bGVzID0ge1xuICAgIHBvcHBlcjoge1xuICAgICAgcG9zaXRpb246IHN0YXRlLm9wdGlvbnMuc3RyYXRlZ3ksXG4gICAgICBsZWZ0OiAnMCcsXG4gICAgICB0b3A6ICcwJyxcbiAgICAgIG1hcmdpbjogJzAnXG4gICAgfSxcbiAgICBhcnJvdzoge1xuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSdcbiAgICB9LFxuICAgIHJlZmVyZW5jZToge31cbiAgfTtcbiAgT2JqZWN0LmFzc2lnbihzdGF0ZS5lbGVtZW50cy5wb3BwZXIuc3R5bGUsIGluaXRpYWxTdHlsZXMucG9wcGVyKTtcbiAgc3RhdGUuc3R5bGVzID0gaW5pdGlhbFN0eWxlcztcblxuICBpZiAoc3RhdGUuZWxlbWVudHMuYXJyb3cpIHtcbiAgICBPYmplY3QuYXNzaWduKHN0YXRlLmVsZW1lbnRzLmFycm93LnN0eWxlLCBpbml0aWFsU3R5bGVzLmFycm93KTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgT2JqZWN0LmtleXMoc3RhdGUuZWxlbWVudHMpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIHZhciBlbGVtZW50ID0gc3RhdGUuZWxlbWVudHNbbmFtZV07XG4gICAgICB2YXIgYXR0cmlidXRlcyA9IHN0YXRlLmF0dHJpYnV0ZXNbbmFtZV0gfHwge307XG4gICAgICB2YXIgc3R5bGVQcm9wZXJ0aWVzID0gT2JqZWN0LmtleXMoc3RhdGUuc3R5bGVzLmhhc093blByb3BlcnR5KG5hbWUpID8gc3RhdGUuc3R5bGVzW25hbWVdIDogaW5pdGlhbFN0eWxlc1tuYW1lXSk7IC8vIFNldCBhbGwgdmFsdWVzIHRvIGFuIGVtcHR5IHN0cmluZyB0byB1bnNldCB0aGVtXG5cbiAgICAgIHZhciBzdHlsZSA9IHN0eWxlUHJvcGVydGllcy5yZWR1Y2UoZnVuY3Rpb24gKHN0eWxlLCBwcm9wZXJ0eSkge1xuICAgICAgICBzdHlsZVtwcm9wZXJ0eV0gPSAnJztcbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgfSwge30pOyAvLyBhcnJvdyBpcyBvcHRpb25hbCArIHZpcnR1YWwgZWxlbWVudHNcblxuICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGVsZW1lbnQpIHx8ICFnZXROb2RlTmFtZShlbGVtZW50KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgc3R5bGUpO1xuICAgICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlKSB7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2FwcGx5U3R5bGVzJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICd3cml0ZScsXG4gIGZuOiBhcHBseVN0eWxlcyxcbiAgZWZmZWN0OiBlZmZlY3QsXG4gIHJlcXVpcmVzOiBbJ2NvbXB1dGVTdHlsZXMnXVxufTsiLCJpbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldExheW91dFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgY29udGFpbnMgZnJvbSBcIi4uL2RvbS11dGlscy9jb250YWlucy5qc1wiO1xuaW1wb3J0IGdldE9mZnNldFBhcmVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldE9mZnNldFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyB3aXRoaW4gfSBmcm9tIFwiLi4vdXRpbHMvd2l0aGluLmpzXCI7XG5pbXBvcnQgbWVyZ2VQYWRkaW5nT2JqZWN0IGZyb20gXCIuLi91dGlscy9tZXJnZVBhZGRpbmdPYmplY3QuanNcIjtcbmltcG9ydCBleHBhbmRUb0hhc2hNYXAgZnJvbSBcIi4uL3V0aWxzL2V4cGFuZFRvSGFzaE1hcC5qc1wiO1xuaW1wb3J0IHsgbGVmdCwgcmlnaHQsIGJhc2VQbGFjZW1lbnRzLCB0b3AsIGJvdHRvbSB9IGZyb20gXCIuLi9lbnVtcy5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbnZhciB0b1BhZGRpbmdPYmplY3QgPSBmdW5jdGlvbiB0b1BhZGRpbmdPYmplY3QocGFkZGluZywgc3RhdGUpIHtcbiAgcGFkZGluZyA9IHR5cGVvZiBwYWRkaW5nID09PSAnZnVuY3Rpb24nID8gcGFkZGluZyhPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5yZWN0cywge1xuICAgIHBsYWNlbWVudDogc3RhdGUucGxhY2VtZW50XG4gIH0pKSA6IHBhZGRpbmc7XG4gIHJldHVybiBtZXJnZVBhZGRpbmdPYmplY3QodHlwZW9mIHBhZGRpbmcgIT09ICdudW1iZXInID8gcGFkZGluZyA6IGV4cGFuZFRvSGFzaE1hcChwYWRkaW5nLCBiYXNlUGxhY2VtZW50cykpO1xufTtcblxuZnVuY3Rpb24gYXJyb3coX3JlZikge1xuICB2YXIgX3N0YXRlJG1vZGlmaWVyc0RhdGEkO1xuXG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lLFxuICAgICAgb3B0aW9ucyA9IF9yZWYub3B0aW9ucztcbiAgdmFyIGFycm93RWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzLmFycm93O1xuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cztcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBnZXRCYXNlUGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCk7XG4gIHZhciBheGlzID0gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KGJhc2VQbGFjZW1lbnQpO1xuICB2YXIgaXNWZXJ0aWNhbCA9IFtsZWZ0LCByaWdodF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSA+PSAwO1xuICB2YXIgbGVuID0gaXNWZXJ0aWNhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICBpZiAoIWFycm93RWxlbWVudCB8fCAhcG9wcGVyT2Zmc2V0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBwYWRkaW5nT2JqZWN0ID0gdG9QYWRkaW5nT2JqZWN0KG9wdGlvbnMucGFkZGluZywgc3RhdGUpO1xuICB2YXIgYXJyb3dSZWN0ID0gZ2V0TGF5b3V0UmVjdChhcnJvd0VsZW1lbnQpO1xuICB2YXIgbWluUHJvcCA9IGF4aXMgPT09ICd5JyA/IHRvcCA6IGxlZnQ7XG4gIHZhciBtYXhQcm9wID0gYXhpcyA9PT0gJ3knID8gYm90dG9tIDogcmlnaHQ7XG4gIHZhciBlbmREaWZmID0gc3RhdGUucmVjdHMucmVmZXJlbmNlW2xlbl0gKyBzdGF0ZS5yZWN0cy5yZWZlcmVuY2VbYXhpc10gLSBwb3BwZXJPZmZzZXRzW2F4aXNdIC0gc3RhdGUucmVjdHMucG9wcGVyW2xlbl07XG4gIHZhciBzdGFydERpZmYgPSBwb3BwZXJPZmZzZXRzW2F4aXNdIC0gc3RhdGUucmVjdHMucmVmZXJlbmNlW2F4aXNdO1xuICB2YXIgYXJyb3dPZmZzZXRQYXJlbnQgPSBnZXRPZmZzZXRQYXJlbnQoYXJyb3dFbGVtZW50KTtcbiAgdmFyIGNsaWVudFNpemUgPSBhcnJvd09mZnNldFBhcmVudCA/IGF4aXMgPT09ICd5JyA/IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudEhlaWdodCB8fCAwIDogYXJyb3dPZmZzZXRQYXJlbnQuY2xpZW50V2lkdGggfHwgMCA6IDA7XG4gIHZhciBjZW50ZXJUb1JlZmVyZW5jZSA9IGVuZERpZmYgLyAyIC0gc3RhcnREaWZmIC8gMjsgLy8gTWFrZSBzdXJlIHRoZSBhcnJvdyBkb2Vzbid0IG92ZXJmbG93IHRoZSBwb3BwZXIgaWYgdGhlIGNlbnRlciBwb2ludCBpc1xuICAvLyBvdXRzaWRlIG9mIHRoZSBwb3BwZXIgYm91bmRzXG5cbiAgdmFyIG1pbiA9IHBhZGRpbmdPYmplY3RbbWluUHJvcF07XG4gIHZhciBtYXggPSBjbGllbnRTaXplIC0gYXJyb3dSZWN0W2xlbl0gLSBwYWRkaW5nT2JqZWN0W21heFByb3BdO1xuICB2YXIgY2VudGVyID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd1JlY3RbbGVuXSAvIDIgKyBjZW50ZXJUb1JlZmVyZW5jZTtcbiAgdmFyIG9mZnNldCA9IHdpdGhpbihtaW4sIGNlbnRlciwgbWF4KTsgLy8gUHJldmVudHMgYnJlYWtpbmcgc3ludGF4IGhpZ2hsaWdodGluZy4uLlxuXG4gIHZhciBheGlzUHJvcCA9IGF4aXM7XG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSAoX3N0YXRlJG1vZGlmaWVyc0RhdGEkID0ge30sIF9zdGF0ZSRtb2RpZmllcnNEYXRhJFtheGlzUHJvcF0gPSBvZmZzZXQsIF9zdGF0ZSRtb2RpZmllcnNEYXRhJC5jZW50ZXJPZmZzZXQgPSBvZmZzZXQgLSBjZW50ZXIsIF9zdGF0ZSRtb2RpZmllcnNEYXRhJCk7XG59XG5cbmZ1bmN0aW9uIGVmZmVjdChfcmVmMikge1xuICB2YXIgc3RhdGUgPSBfcmVmMi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmMi5vcHRpb25zO1xuICB2YXIgX29wdGlvbnMkZWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudCxcbiAgICAgIGFycm93RWxlbWVudCA9IF9vcHRpb25zJGVsZW1lbnQgPT09IHZvaWQgMCA/ICdbZGF0YS1wb3BwZXItYXJyb3ddJyA6IF9vcHRpb25zJGVsZW1lbnQ7XG5cbiAgaWYgKGFycm93RWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIENTUyBzZWxlY3RvclxuXG5cbiAgaWYgKHR5cGVvZiBhcnJvd0VsZW1lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgYXJyb3dFbGVtZW50ID0gc3RhdGUuZWxlbWVudHMucG9wcGVyLnF1ZXJ5U2VsZWN0b3IoYXJyb3dFbGVtZW50KTtcblxuICAgIGlmICghYXJyb3dFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKCFjb250YWlucyhzdGF0ZS5lbGVtZW50cy5wb3BwZXIsIGFycm93RWxlbWVudCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBzdGF0ZS5lbGVtZW50cy5hcnJvdyA9IGFycm93RWxlbWVudDtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2Fycm93JyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgZm46IGFycm93LFxuICBlZmZlY3Q6IGVmZmVjdCxcbiAgcmVxdWlyZXM6IFsncG9wcGVyT2Zmc2V0cyddLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ3ByZXZlbnRPdmVyZmxvdyddXG59OyIsImltcG9ydCB7IHRvcCwgbGVmdCwgcmlnaHQsIGJvdHRvbSwgZW5kIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0V2luZG93LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0RG9jdW1lbnRFbGVtZW50LmpzXCI7XG5pbXBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0VmFyaWF0aW9uIGZyb20gXCIuLi91dGlscy9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCB7IHJvdW5kIH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG52YXIgdW5zZXRTaWRlcyA9IHtcbiAgdG9wOiAnYXV0bycsXG4gIHJpZ2h0OiAnYXV0bycsXG4gIGJvdHRvbTogJ2F1dG8nLFxuICBsZWZ0OiAnYXV0bydcbn07IC8vIFJvdW5kIHRoZSBvZmZzZXRzIHRvIHRoZSBuZWFyZXN0IHN1aXRhYmxlIHN1YnBpeGVsIGJhc2VkIG9uIHRoZSBEUFIuXG4vLyBab29taW5nIGNhbiBjaGFuZ2UgdGhlIERQUiwgYnV0IGl0IHNlZW1zIHRvIHJlcG9ydCBhIHZhbHVlIHRoYXQgd2lsbFxuLy8gY2xlYW5seSBkaXZpZGUgdGhlIHZhbHVlcyBpbnRvIHRoZSBhcHByb3ByaWF0ZSBzdWJwaXhlbHMuXG5cbmZ1bmN0aW9uIHJvdW5kT2Zmc2V0c0J5RFBSKF9yZWYsIHdpbikge1xuICB2YXIgeCA9IF9yZWYueCxcbiAgICAgIHkgPSBfcmVmLnk7XG4gIHZhciBkcHIgPSB3aW4uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxO1xuICByZXR1cm4ge1xuICAgIHg6IHJvdW5kKHggKiBkcHIpIC8gZHByIHx8IDAsXG4gICAgeTogcm91bmQoeSAqIGRwcikgLyBkcHIgfHwgMFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9TdHlsZXMoX3JlZjIpIHtcbiAgdmFyIF9PYmplY3QkYXNzaWduMjtcblxuICB2YXIgcG9wcGVyID0gX3JlZjIucG9wcGVyLFxuICAgICAgcG9wcGVyUmVjdCA9IF9yZWYyLnBvcHBlclJlY3QsXG4gICAgICBwbGFjZW1lbnQgPSBfcmVmMi5wbGFjZW1lbnQsXG4gICAgICB2YXJpYXRpb24gPSBfcmVmMi52YXJpYXRpb24sXG4gICAgICBvZmZzZXRzID0gX3JlZjIub2Zmc2V0cyxcbiAgICAgIHBvc2l0aW9uID0gX3JlZjIucG9zaXRpb24sXG4gICAgICBncHVBY2NlbGVyYXRpb24gPSBfcmVmMi5ncHVBY2NlbGVyYXRpb24sXG4gICAgICBhZGFwdGl2ZSA9IF9yZWYyLmFkYXB0aXZlLFxuICAgICAgcm91bmRPZmZzZXRzID0gX3JlZjIucm91bmRPZmZzZXRzLFxuICAgICAgaXNGaXhlZCA9IF9yZWYyLmlzRml4ZWQ7XG4gIHZhciBfb2Zmc2V0cyR4ID0gb2Zmc2V0cy54LFxuICAgICAgeCA9IF9vZmZzZXRzJHggPT09IHZvaWQgMCA/IDAgOiBfb2Zmc2V0cyR4LFxuICAgICAgX29mZnNldHMkeSA9IG9mZnNldHMueSxcbiAgICAgIHkgPSBfb2Zmc2V0cyR5ID09PSB2b2lkIDAgPyAwIDogX29mZnNldHMkeTtcblxuICB2YXIgX3JlZjMgPSB0eXBlb2Ygcm91bmRPZmZzZXRzID09PSAnZnVuY3Rpb24nID8gcm91bmRPZmZzZXRzKHtcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfSkgOiB7XG4gICAgeDogeCxcbiAgICB5OiB5XG4gIH07XG5cbiAgeCA9IF9yZWYzLng7XG4gIHkgPSBfcmVmMy55O1xuICB2YXIgaGFzWCA9IG9mZnNldHMuaGFzT3duUHJvcGVydHkoJ3gnKTtcbiAgdmFyIGhhc1kgPSBvZmZzZXRzLmhhc093blByb3BlcnR5KCd5Jyk7XG4gIHZhciBzaWRlWCA9IGxlZnQ7XG4gIHZhciBzaWRlWSA9IHRvcDtcbiAgdmFyIHdpbiA9IHdpbmRvdztcblxuICBpZiAoYWRhcHRpdmUpIHtcbiAgICB2YXIgb2Zmc2V0UGFyZW50ID0gZ2V0T2Zmc2V0UGFyZW50KHBvcHBlcik7XG4gICAgdmFyIGhlaWdodFByb3AgPSAnY2xpZW50SGVpZ2h0JztcbiAgICB2YXIgd2lkdGhQcm9wID0gJ2NsaWVudFdpZHRoJztcblxuICAgIGlmIChvZmZzZXRQYXJlbnQgPT09IGdldFdpbmRvdyhwb3BwZXIpKSB7XG4gICAgICBvZmZzZXRQYXJlbnQgPSBnZXREb2N1bWVudEVsZW1lbnQocG9wcGVyKTtcblxuICAgICAgaWYgKGdldENvbXB1dGVkU3R5bGUob2Zmc2V0UGFyZW50KS5wb3NpdGlvbiAhPT0gJ3N0YXRpYycgJiYgcG9zaXRpb24gPT09ICdhYnNvbHV0ZScpIHtcbiAgICAgICAgaGVpZ2h0UHJvcCA9ICdzY3JvbGxIZWlnaHQnO1xuICAgICAgICB3aWR0aFByb3AgPSAnc2Nyb2xsV2lkdGgnO1xuICAgICAgfVxuICAgIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FzdF06IGZvcmNlIHR5cGUgcmVmaW5lbWVudCwgd2UgY29tcGFyZSBvZmZzZXRQYXJlbnQgd2l0aCB3aW5kb3cgYWJvdmUsIGJ1dCBGbG93IGRvZXNuJ3QgZGV0ZWN0IGl0XG5cblxuICAgIG9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudDtcblxuICAgIGlmIChwbGFjZW1lbnQgPT09IHRvcCB8fCAocGxhY2VtZW50ID09PSBsZWZ0IHx8IHBsYWNlbWVudCA9PT0gcmlnaHQpICYmIHZhcmlhdGlvbiA9PT0gZW5kKSB7XG4gICAgICBzaWRlWSA9IGJvdHRvbTtcbiAgICAgIHZhciBvZmZzZXRZID0gaXNGaXhlZCAmJiBvZmZzZXRQYXJlbnQgPT09IHdpbiAmJiB3aW4udmlzdWFsVmlld3BvcnQgPyB3aW4udmlzdWFsVmlld3BvcnQuaGVpZ2h0IDogLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gICAgICBvZmZzZXRQYXJlbnRbaGVpZ2h0UHJvcF07XG4gICAgICB5IC09IG9mZnNldFkgLSBwb3BwZXJSZWN0LmhlaWdodDtcbiAgICAgIHkgKj0gZ3B1QWNjZWxlcmF0aW9uID8gMSA6IC0xO1xuICAgIH1cblxuICAgIGlmIChwbGFjZW1lbnQgPT09IGxlZnQgfHwgKHBsYWNlbWVudCA9PT0gdG9wIHx8IHBsYWNlbWVudCA9PT0gYm90dG9tKSAmJiB2YXJpYXRpb24gPT09IGVuZCkge1xuICAgICAgc2lkZVggPSByaWdodDtcbiAgICAgIHZhciBvZmZzZXRYID0gaXNGaXhlZCAmJiBvZmZzZXRQYXJlbnQgPT09IHdpbiAmJiB3aW4udmlzdWFsVmlld3BvcnQgPyB3aW4udmlzdWFsVmlld3BvcnQud2lkdGggOiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgICAgIG9mZnNldFBhcmVudFt3aWR0aFByb3BdO1xuICAgICAgeCAtPSBvZmZzZXRYIC0gcG9wcGVyUmVjdC53aWR0aDtcbiAgICAgIHggKj0gZ3B1QWNjZWxlcmF0aW9uID8gMSA6IC0xO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb21tb25TdHlsZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICBwb3NpdGlvbjogcG9zaXRpb25cbiAgfSwgYWRhcHRpdmUgJiYgdW5zZXRTaWRlcyk7XG5cbiAgdmFyIF9yZWY0ID0gcm91bmRPZmZzZXRzID09PSB0cnVlID8gcm91bmRPZmZzZXRzQnlEUFIoe1xuICAgIHg6IHgsXG4gICAgeTogeVxuICB9LCBnZXRXaW5kb3cocG9wcGVyKSkgOiB7XG4gICAgeDogeCxcbiAgICB5OiB5XG4gIH07XG5cbiAgeCA9IF9yZWY0Lng7XG4gIHkgPSBfcmVmNC55O1xuXG4gIGlmIChncHVBY2NlbGVyYXRpb24pIHtcbiAgICB2YXIgX09iamVjdCRhc3NpZ247XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgY29tbW9uU3R5bGVzLCAoX09iamVjdCRhc3NpZ24gPSB7fSwgX09iamVjdCRhc3NpZ25bc2lkZVldID0gaGFzWSA/ICcwJyA6ICcnLCBfT2JqZWN0JGFzc2lnbltzaWRlWF0gPSBoYXNYID8gJzAnIDogJycsIF9PYmplY3QkYXNzaWduLnRyYW5zZm9ybSA9ICh3aW4uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxKSA8PSAxID8gXCJ0cmFuc2xhdGUoXCIgKyB4ICsgXCJweCwgXCIgKyB5ICsgXCJweClcIiA6IFwidHJhbnNsYXRlM2QoXCIgKyB4ICsgXCJweCwgXCIgKyB5ICsgXCJweCwgMClcIiwgX09iamVjdCRhc3NpZ24pKTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBjb21tb25TdHlsZXMsIChfT2JqZWN0JGFzc2lnbjIgPSB7fSwgX09iamVjdCRhc3NpZ24yW3NpZGVZXSA9IGhhc1kgPyB5ICsgXCJweFwiIDogJycsIF9PYmplY3QkYXNzaWduMltzaWRlWF0gPSBoYXNYID8geCArIFwicHhcIiA6ICcnLCBfT2JqZWN0JGFzc2lnbjIudHJhbnNmb3JtID0gJycsIF9PYmplY3QkYXNzaWduMikpO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlU3R5bGVzKF9yZWY1KSB7XG4gIHZhciBzdGF0ZSA9IF9yZWY1LnN0YXRlLFxuICAgICAgb3B0aW9ucyA9IF9yZWY1Lm9wdGlvbnM7XG4gIHZhciBfb3B0aW9ucyRncHVBY2NlbGVyYXQgPSBvcHRpb25zLmdwdUFjY2VsZXJhdGlvbixcbiAgICAgIGdwdUFjY2VsZXJhdGlvbiA9IF9vcHRpb25zJGdwdUFjY2VsZXJhdCA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJGdwdUFjY2VsZXJhdCxcbiAgICAgIF9vcHRpb25zJGFkYXB0aXZlID0gb3B0aW9ucy5hZGFwdGl2ZSxcbiAgICAgIGFkYXB0aXZlID0gX29wdGlvbnMkYWRhcHRpdmUgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRhZGFwdGl2ZSxcbiAgICAgIF9vcHRpb25zJHJvdW5kT2Zmc2V0cyA9IG9wdGlvbnMucm91bmRPZmZzZXRzLFxuICAgICAgcm91bmRPZmZzZXRzID0gX29wdGlvbnMkcm91bmRPZmZzZXRzID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkcm91bmRPZmZzZXRzO1xuICB2YXIgY29tbW9uU3R5bGVzID0ge1xuICAgIHBsYWNlbWVudDogZ2V0QmFzZVBsYWNlbWVudChzdGF0ZS5wbGFjZW1lbnQpLFxuICAgIHZhcmlhdGlvbjogZ2V0VmFyaWF0aW9uKHN0YXRlLnBsYWNlbWVudCksXG4gICAgcG9wcGVyOiBzdGF0ZS5lbGVtZW50cy5wb3BwZXIsXG4gICAgcG9wcGVyUmVjdDogc3RhdGUucmVjdHMucG9wcGVyLFxuICAgIGdwdUFjY2VsZXJhdGlvbjogZ3B1QWNjZWxlcmF0aW9uLFxuICAgIGlzRml4ZWQ6IHN0YXRlLm9wdGlvbnMuc3RyYXRlZ3kgPT09ICdmaXhlZCdcbiAgfTtcblxuICBpZiAoc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzICE9IG51bGwpIHtcbiAgICBzdGF0ZS5zdHlsZXMucG9wcGVyID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUuc3R5bGVzLnBvcHBlciwgbWFwVG9TdHlsZXMoT2JqZWN0LmFzc2lnbih7fSwgY29tbW9uU3R5bGVzLCB7XG4gICAgICBvZmZzZXRzOiBzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMsXG4gICAgICBwb3NpdGlvbjogc3RhdGUub3B0aW9ucy5zdHJhdGVneSxcbiAgICAgIGFkYXB0aXZlOiBhZGFwdGl2ZSxcbiAgICAgIHJvdW5kT2Zmc2V0czogcm91bmRPZmZzZXRzXG4gICAgfSkpKTtcbiAgfVxuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhLmFycm93ICE9IG51bGwpIHtcbiAgICBzdGF0ZS5zdHlsZXMuYXJyb3cgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5zdHlsZXMuYXJyb3csIG1hcFRvU3R5bGVzKE9iamVjdC5hc3NpZ24oe30sIGNvbW1vblN0eWxlcywge1xuICAgICAgb2Zmc2V0czogc3RhdGUubW9kaWZpZXJzRGF0YS5hcnJvdyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgYWRhcHRpdmU6IGZhbHNlLFxuICAgICAgcm91bmRPZmZzZXRzOiByb3VuZE9mZnNldHNcbiAgICB9KSkpO1xuICB9XG5cbiAgc3RhdGUuYXR0cmlidXRlcy5wb3BwZXIgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5hdHRyaWJ1dGVzLnBvcHBlciwge1xuICAgICdkYXRhLXBvcHBlci1wbGFjZW1lbnQnOiBzdGF0ZS5wbGFjZW1lbnRcbiAgfSk7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdjb21wdXRlU3R5bGVzJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdiZWZvcmVXcml0ZScsXG4gIGZuOiBjb21wdXRlU3R5bGVzLFxuICBkYXRhOiB7fVxufTsiLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0V2luZG93LmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxudmFyIHBhc3NpdmUgPSB7XG4gIHBhc3NpdmU6IHRydWVcbn07XG5cbmZ1bmN0aW9uIGVmZmVjdChfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBpbnN0YW5jZSA9IF9yZWYuaW5zdGFuY2UsXG4gICAgICBvcHRpb25zID0gX3JlZi5vcHRpb25zO1xuICB2YXIgX29wdGlvbnMkc2Nyb2xsID0gb3B0aW9ucy5zY3JvbGwsXG4gICAgICBzY3JvbGwgPSBfb3B0aW9ucyRzY3JvbGwgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRzY3JvbGwsXG4gICAgICBfb3B0aW9ucyRyZXNpemUgPSBvcHRpb25zLnJlc2l6ZSxcbiAgICAgIHJlc2l6ZSA9IF9vcHRpb25zJHJlc2l6ZSA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJHJlc2l6ZTtcbiAgdmFyIHdpbmRvdyA9IGdldFdpbmRvdyhzdGF0ZS5lbGVtZW50cy5wb3BwZXIpO1xuICB2YXIgc2Nyb2xsUGFyZW50cyA9IFtdLmNvbmNhdChzdGF0ZS5zY3JvbGxQYXJlbnRzLnJlZmVyZW5jZSwgc3RhdGUuc2Nyb2xsUGFyZW50cy5wb3BwZXIpO1xuXG4gIGlmIChzY3JvbGwpIHtcbiAgICBzY3JvbGxQYXJlbnRzLmZvckVhY2goZnVuY3Rpb24gKHNjcm9sbFBhcmVudCkge1xuICAgICAgc2Nyb2xsUGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGluc3RhbmNlLnVwZGF0ZSwgcGFzc2l2ZSk7XG4gICAgfSk7XG4gIH1cblxuICBpZiAocmVzaXplKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGluc3RhbmNlLnVwZGF0ZSwgcGFzc2l2ZSk7XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmIChzY3JvbGwpIHtcbiAgICAgIHNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbiAoc2Nyb2xsUGFyZW50KSB7XG4gICAgICAgIHNjcm9sbFBhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBpbnN0YW5jZS51cGRhdGUsIHBhc3NpdmUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHJlc2l6ZSkge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGluc3RhbmNlLnVwZGF0ZSwgcGFzc2l2ZSk7XG4gICAgfVxuICB9O1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnZXZlbnRMaXN0ZW5lcnMnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ3dyaXRlJyxcbiAgZm46IGZ1bmN0aW9uIGZuKCkge30sXG4gIGVmZmVjdDogZWZmZWN0LFxuICBkYXRhOiB7fVxufTsiLCJpbXBvcnQgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldE9wcG9zaXRlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGRldGVjdE92ZXJmbG93IGZyb20gXCIuLi91dGlscy9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IGNvbXB1dGVBdXRvUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9jb21wdXRlQXV0b1BsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgYm90dG9tLCB0b3AsIHN0YXJ0LCByaWdodCwgbGVmdCwgYXV0byB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi4vdXRpbHMvZ2V0VmFyaWF0aW9uLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZnVuY3Rpb24gZ2V0RXhwYW5kZWRGYWxsYmFja1BsYWNlbWVudHMocGxhY2VtZW50KSB7XG4gIGlmIChnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgPT09IGF1dG8pIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICB2YXIgb3Bwb3NpdGVQbGFjZW1lbnQgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuICByZXR1cm4gW2dldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50KHBsYWNlbWVudCksIG9wcG9zaXRlUGxhY2VtZW50LCBnZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudChvcHBvc2l0ZVBsYWNlbWVudCldO1xufVxuXG5mdW5jdGlvbiBmbGlwKF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdLl9za2lwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIF9vcHRpb25zJG1haW5BeGlzID0gb3B0aW9ucy5tYWluQXhpcyxcbiAgICAgIGNoZWNrTWFpbkF4aXMgPSBfb3B0aW9ucyRtYWluQXhpcyA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJG1haW5BeGlzLFxuICAgICAgX29wdGlvbnMkYWx0QXhpcyA9IG9wdGlvbnMuYWx0QXhpcyxcbiAgICAgIGNoZWNrQWx0QXhpcyA9IF9vcHRpb25zJGFsdEF4aXMgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRhbHRBeGlzLFxuICAgICAgc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzID0gb3B0aW9ucy5mYWxsYmFja1BsYWNlbWVudHMsXG4gICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgYm91bmRhcnkgPSBvcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IG9wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBfb3B0aW9ucyRmbGlwVmFyaWF0aW8gPSBvcHRpb25zLmZsaXBWYXJpYXRpb25zLFxuICAgICAgZmxpcFZhcmlhdGlvbnMgPSBfb3B0aW9ucyRmbGlwVmFyaWF0aW8gPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRmbGlwVmFyaWF0aW8sXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHMgPSBvcHRpb25zLmFsbG93ZWRBdXRvUGxhY2VtZW50cztcbiAgdmFyIHByZWZlcnJlZFBsYWNlbWVudCA9IHN0YXRlLm9wdGlvbnMucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocHJlZmVycmVkUGxhY2VtZW50KTtcbiAgdmFyIGlzQmFzZVBsYWNlbWVudCA9IGJhc2VQbGFjZW1lbnQgPT09IHByZWZlcnJlZFBsYWNlbWVudDtcbiAgdmFyIGZhbGxiYWNrUGxhY2VtZW50cyA9IHNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyB8fCAoaXNCYXNlUGxhY2VtZW50IHx8ICFmbGlwVmFyaWF0aW9ucyA/IFtnZXRPcHBvc2l0ZVBsYWNlbWVudChwcmVmZXJyZWRQbGFjZW1lbnQpXSA6IGdldEV4cGFuZGVkRmFsbGJhY2tQbGFjZW1lbnRzKHByZWZlcnJlZFBsYWNlbWVudCkpO1xuICB2YXIgcGxhY2VtZW50cyA9IFtwcmVmZXJyZWRQbGFjZW1lbnRdLmNvbmNhdChmYWxsYmFja1BsYWNlbWVudHMpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICByZXR1cm4gYWNjLmNvbmNhdChnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgPT09IGF1dG8gPyBjb21wdXRlQXV0b1BsYWNlbWVudChzdGF0ZSwge1xuICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnk6IHJvb3RCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmc6IHBhZGRpbmcsXG4gICAgICBmbGlwVmFyaWF0aW9uczogZmxpcFZhcmlhdGlvbnMsXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHM6IGFsbG93ZWRBdXRvUGxhY2VtZW50c1xuICAgIH0pIDogcGxhY2VtZW50KTtcbiAgfSwgW10pO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciBjaGVja3NNYXAgPSBuZXcgTWFwKCk7XG4gIHZhciBtYWtlRmFsbGJhY2tDaGVja3MgPSB0cnVlO1xuICB2YXIgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gcGxhY2VtZW50c1swXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBsYWNlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcGxhY2VtZW50ID0gcGxhY2VtZW50c1tpXTtcblxuICAgIHZhciBfYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KTtcblxuICAgIHZhciBpc1N0YXJ0VmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkgPT09IHN0YXJ0O1xuICAgIHZhciBpc1ZlcnRpY2FsID0gW3RvcCwgYm90dG9tXS5pbmRleE9mKF9iYXNlUGxhY2VtZW50KSA+PSAwO1xuICAgIHZhciBsZW4gPSBpc1ZlcnRpY2FsID8gJ3dpZHRoJyA6ICdoZWlnaHQnO1xuICAgIHZhciBvdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIGJvdW5kYXJ5OiBib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeTogcm9vdEJvdW5kYXJ5LFxuICAgICAgYWx0Qm91bmRhcnk6IGFsdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZzogcGFkZGluZ1xuICAgIH0pO1xuICAgIHZhciBtYWluVmFyaWF0aW9uU2lkZSA9IGlzVmVydGljYWwgPyBpc1N0YXJ0VmFyaWF0aW9uID8gcmlnaHQgOiBsZWZ0IDogaXNTdGFydFZhcmlhdGlvbiA/IGJvdHRvbSA6IHRvcDtcblxuICAgIGlmIChyZWZlcmVuY2VSZWN0W2xlbl0gPiBwb3BwZXJSZWN0W2xlbl0pIHtcbiAgICAgIG1haW5WYXJpYXRpb25TaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpblZhcmlhdGlvblNpZGUpO1xuICAgIH1cblxuICAgIHZhciBhbHRWYXJpYXRpb25TaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpblZhcmlhdGlvblNpZGUpO1xuICAgIHZhciBjaGVja3MgPSBbXTtcblxuICAgIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgICBjaGVja3MucHVzaChvdmVyZmxvd1tfYmFzZVBsYWNlbWVudF0gPD0gMCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrQWx0QXhpcykge1xuICAgICAgY2hlY2tzLnB1c2gob3ZlcmZsb3dbbWFpblZhcmlhdGlvblNpZGVdIDw9IDAsIG92ZXJmbG93W2FsdFZhcmlhdGlvblNpZGVdIDw9IDApO1xuICAgIH1cblxuICAgIGlmIChjaGVja3MuZXZlcnkoZnVuY3Rpb24gKGNoZWNrKSB7XG4gICAgICByZXR1cm4gY2hlY2s7XG4gICAgfSkpIHtcbiAgICAgIGZpcnN0Rml0dGluZ1BsYWNlbWVudCA9IHBsYWNlbWVudDtcbiAgICAgIG1ha2VGYWxsYmFja0NoZWNrcyA9IGZhbHNlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2hlY2tzTWFwLnNldChwbGFjZW1lbnQsIGNoZWNrcyk7XG4gIH1cblxuICBpZiAobWFrZUZhbGxiYWNrQ2hlY2tzKSB7XG4gICAgLy8gYDJgIG1heSBiZSBkZXNpcmVkIGluIHNvbWUgY2FzZXMg4oCTIHJlc2VhcmNoIGxhdGVyXG4gICAgdmFyIG51bWJlck9mQ2hlY2tzID0gZmxpcFZhcmlhdGlvbnMgPyAzIDogMTtcblxuICAgIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKF9pKSB7XG4gICAgICB2YXIgZml0dGluZ1BsYWNlbWVudCA9IHBsYWNlbWVudHMuZmluZChmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgICAgIHZhciBjaGVja3MgPSBjaGVja3NNYXAuZ2V0KHBsYWNlbWVudCk7XG5cbiAgICAgICAgaWYgKGNoZWNrcykge1xuICAgICAgICAgIHJldHVybiBjaGVja3Muc2xpY2UoMCwgX2kpLmV2ZXJ5KGZ1bmN0aW9uIChjaGVjaykge1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGZpdHRpbmdQbGFjZW1lbnQpIHtcbiAgICAgICAgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gZml0dGluZ1BsYWNlbWVudDtcbiAgICAgICAgcmV0dXJuIFwiYnJlYWtcIjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9yICh2YXIgX2kgPSBudW1iZXJPZkNoZWNrczsgX2kgPiAwOyBfaS0tKSB7XG4gICAgICB2YXIgX3JldCA9IF9sb29wKF9pKTtcblxuICAgICAgaWYgKF9yZXQgPT09IFwiYnJlYWtcIikgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXRlLnBsYWNlbWVudCAhPT0gZmlyc3RGaXR0aW5nUGxhY2VtZW50KSB7XG4gICAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXS5fc2tpcCA9IHRydWU7XG4gICAgc3RhdGUucGxhY2VtZW50ID0gZmlyc3RGaXR0aW5nUGxhY2VtZW50O1xuICAgIHN0YXRlLnJlc2V0ID0gdHJ1ZTtcbiAgfVxufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnZmxpcCcsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIGZuOiBmbGlwLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ29mZnNldCddLFxuICBkYXRhOiB7XG4gICAgX3NraXA6IGZhbHNlXG4gIH1cbn07IiwiaW1wb3J0IHsgdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0IH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4uL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5cbmZ1bmN0aW9uIGdldFNpZGVPZmZzZXRzKG92ZXJmbG93LCByZWN0LCBwcmV2ZW50ZWRPZmZzZXRzKSB7XG4gIGlmIChwcmV2ZW50ZWRPZmZzZXRzID09PSB2b2lkIDApIHtcbiAgICBwcmV2ZW50ZWRPZmZzZXRzID0ge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IG92ZXJmbG93LnRvcCAtIHJlY3QuaGVpZ2h0IC0gcHJldmVudGVkT2Zmc2V0cy55LFxuICAgIHJpZ2h0OiBvdmVyZmxvdy5yaWdodCAtIHJlY3Qud2lkdGggKyBwcmV2ZW50ZWRPZmZzZXRzLngsXG4gICAgYm90dG9tOiBvdmVyZmxvdy5ib3R0b20gLSByZWN0LmhlaWdodCArIHByZXZlbnRlZE9mZnNldHMueSxcbiAgICBsZWZ0OiBvdmVyZmxvdy5sZWZ0IC0gcmVjdC53aWR0aCAtIHByZXZlbnRlZE9mZnNldHMueFxuICB9O1xufVxuXG5mdW5jdGlvbiBpc0FueVNpZGVGdWxseUNsaXBwZWQob3ZlcmZsb3cpIHtcbiAgcmV0dXJuIFt0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnRdLnNvbWUoZnVuY3Rpb24gKHNpZGUpIHtcbiAgICByZXR1cm4gb3ZlcmZsb3dbc2lkZV0gPj0gMDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhpZGUoX3JlZikge1xuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlLFxuICAgICAgbmFtZSA9IF9yZWYubmFtZTtcbiAgdmFyIHJlZmVyZW5jZVJlY3QgPSBzdGF0ZS5yZWN0cy5yZWZlcmVuY2U7XG4gIHZhciBwb3BwZXJSZWN0ID0gc3RhdGUucmVjdHMucG9wcGVyO1xuICB2YXIgcHJldmVudGVkT2Zmc2V0cyA9IHN0YXRlLm1vZGlmaWVyc0RhdGEucHJldmVudE92ZXJmbG93O1xuICB2YXIgcmVmZXJlbmNlT3ZlcmZsb3cgPSBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgIGVsZW1lbnRDb250ZXh0OiAncmVmZXJlbmNlJ1xuICB9KTtcbiAgdmFyIHBvcHBlckFsdE92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICBhbHRCb3VuZGFyeTogdHJ1ZVxuICB9KTtcbiAgdmFyIHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKHJlZmVyZW5jZU92ZXJmbG93LCByZWZlcmVuY2VSZWN0KTtcbiAgdmFyIHBvcHBlckVzY2FwZU9mZnNldHMgPSBnZXRTaWRlT2Zmc2V0cyhwb3BwZXJBbHRPdmVyZmxvdywgcG9wcGVyUmVjdCwgcHJldmVudGVkT2Zmc2V0cyk7XG4gIHZhciBpc1JlZmVyZW5jZUhpZGRlbiA9IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChyZWZlcmVuY2VDbGlwcGluZ09mZnNldHMpO1xuICB2YXIgaGFzUG9wcGVyRXNjYXBlZCA9IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChwb3BwZXJFc2NhcGVPZmZzZXRzKTtcbiAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXSA9IHtcbiAgICByZWZlcmVuY2VDbGlwcGluZ09mZnNldHM6IHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0cyxcbiAgICBwb3BwZXJFc2NhcGVPZmZzZXRzOiBwb3BwZXJFc2NhcGVPZmZzZXRzLFxuICAgIGlzUmVmZXJlbmNlSGlkZGVuOiBpc1JlZmVyZW5jZUhpZGRlbixcbiAgICBoYXNQb3BwZXJFc2NhcGVkOiBoYXNQb3BwZXJFc2NhcGVkXG4gIH07XG4gIHN0YXRlLmF0dHJpYnV0ZXMucG9wcGVyID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUuYXR0cmlidXRlcy5wb3BwZXIsIHtcbiAgICAnZGF0YS1wb3BwZXItcmVmZXJlbmNlLWhpZGRlbic6IGlzUmVmZXJlbmNlSGlkZGVuLFxuICAgICdkYXRhLXBvcHBlci1lc2NhcGVkJzogaGFzUG9wcGVyRXNjYXBlZFxuICB9KTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2hpZGUnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ21haW4nLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ3ByZXZlbnRPdmVyZmxvdyddLFxuICBmbjogaGlkZVxufTsiLCJleHBvcnQgeyBkZWZhdWx0IGFzIGFwcGx5U3R5bGVzIH0gZnJvbSBcIi4vYXBwbHlTdHlsZXMuanNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXJyb3cgfSBmcm9tIFwiLi9hcnJvdy5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjb21wdXRlU3R5bGVzIH0gZnJvbSBcIi4vY29tcHV0ZVN0eWxlcy5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBldmVudExpc3RlbmVycyB9IGZyb20gXCIuL2V2ZW50TGlzdGVuZXJzLmpzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZsaXAgfSBmcm9tIFwiLi9mbGlwLmpzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGhpZGUgfSBmcm9tIFwiLi9oaWRlLmpzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG9mZnNldCB9IGZyb20gXCIuL29mZnNldC5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwb3BwZXJPZmZzZXRzIH0gZnJvbSBcIi4vcG9wcGVyT2Zmc2V0cy5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwcmV2ZW50T3ZlcmZsb3cgfSBmcm9tIFwiLi9wcmV2ZW50T3ZlcmZsb3cuanNcIjsiLCJpbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgdG9wLCBsZWZ0LCByaWdodCwgcGxhY2VtZW50cyB9IGZyb20gXCIuLi9lbnVtcy5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCBmdW5jdGlvbiBkaXN0YW5jZUFuZFNraWRkaW5nVG9YWShwbGFjZW1lbnQsIHJlY3RzLCBvZmZzZXQpIHtcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIHZhciBpbnZlcnREaXN0YW5jZSA9IFtsZWZ0LCB0b3BdLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgPj0gMCA/IC0xIDogMTtcblxuICB2YXIgX3JlZiA9IHR5cGVvZiBvZmZzZXQgPT09ICdmdW5jdGlvbicgPyBvZmZzZXQoT2JqZWN0LmFzc2lnbih7fSwgcmVjdHMsIHtcbiAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudFxuICB9KSkgOiBvZmZzZXQsXG4gICAgICBza2lkZGluZyA9IF9yZWZbMF0sXG4gICAgICBkaXN0YW5jZSA9IF9yZWZbMV07XG5cbiAgc2tpZGRpbmcgPSBza2lkZGluZyB8fCAwO1xuICBkaXN0YW5jZSA9IChkaXN0YW5jZSB8fCAwKSAqIGludmVydERpc3RhbmNlO1xuICByZXR1cm4gW2xlZnQsIHJpZ2h0XS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpID49IDAgPyB7XG4gICAgeDogZGlzdGFuY2UsXG4gICAgeTogc2tpZGRpbmdcbiAgfSA6IHtcbiAgICB4OiBza2lkZGluZyxcbiAgICB5OiBkaXN0YW5jZVxuICB9O1xufVxuXG5mdW5jdGlvbiBvZmZzZXQoX3JlZjIpIHtcbiAgdmFyIHN0YXRlID0gX3JlZjIuc3RhdGUsXG4gICAgICBvcHRpb25zID0gX3JlZjIub3B0aW9ucyxcbiAgICAgIG5hbWUgPSBfcmVmMi5uYW1lO1xuICB2YXIgX29wdGlvbnMkb2Zmc2V0ID0gb3B0aW9ucy5vZmZzZXQsXG4gICAgICBvZmZzZXQgPSBfb3B0aW9ucyRvZmZzZXQgPT09IHZvaWQgMCA/IFswLCAwXSA6IF9vcHRpb25zJG9mZnNldDtcbiAgdmFyIGRhdGEgPSBwbGFjZW1lbnRzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICBhY2NbcGxhY2VtZW50XSA9IGRpc3RhbmNlQW5kU2tpZGRpbmdUb1hZKHBsYWNlbWVudCwgc3RhdGUucmVjdHMsIG9mZnNldCk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICB2YXIgX2RhdGEkc3RhdGUkcGxhY2VtZW50ID0gZGF0YVtzdGF0ZS5wbGFjZW1lbnRdLFxuICAgICAgeCA9IF9kYXRhJHN0YXRlJHBsYWNlbWVudC54LFxuICAgICAgeSA9IF9kYXRhJHN0YXRlJHBsYWNlbWVudC55O1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMgIT0gbnVsbCkge1xuICAgIHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cy54ICs9IHg7XG4gICAgc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzLnkgKz0geTtcbiAgfVxuXG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSBkYXRhO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnb2Zmc2V0JyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgcmVxdWlyZXM6IFsncG9wcGVyT2Zmc2V0cyddLFxuICBmbjogb2Zmc2V0XG59OyIsImltcG9ydCBjb21wdXRlT2Zmc2V0cyBmcm9tIFwiLi4vdXRpbHMvY29tcHV0ZU9mZnNldHMuanNcIjtcblxuZnVuY3Rpb24gcG9wcGVyT2Zmc2V0cyhfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuICAvLyBPZmZzZXRzIGFyZSB0aGUgYWN0dWFsIHBvc2l0aW9uIHRoZSBwb3BwZXIgbmVlZHMgdG8gaGF2ZSB0byBiZVxuICAvLyBwcm9wZXJseSBwb3NpdGlvbmVkIG5lYXIgaXRzIHJlZmVyZW5jZSBlbGVtZW50XG4gIC8vIFRoaXMgaXMgdGhlIG1vc3QgYmFzaWMgcGxhY2VtZW50LCBhbmQgd2lsbCBiZSBhZGp1c3RlZCBieVxuICAvLyB0aGUgbW9kaWZpZXJzIGluIHRoZSBuZXh0IHN0ZXBcbiAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXSA9IGNvbXB1dGVPZmZzZXRzKHtcbiAgICByZWZlcmVuY2U6IHN0YXRlLnJlY3RzLnJlZmVyZW5jZSxcbiAgICBlbGVtZW50OiBzdGF0ZS5yZWN0cy5wb3BwZXIsXG4gICAgc3RyYXRlZ3k6ICdhYnNvbHV0ZScsXG4gICAgcGxhY2VtZW50OiBzdGF0ZS5wbGFjZW1lbnRcbiAgfSk7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdwb3BwZXJPZmZzZXRzJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdyZWFkJyxcbiAgZm46IHBvcHBlck9mZnNldHMsXG4gIGRhdGE6IHt9XG59OyIsImltcG9ydCB7IHRvcCwgbGVmdCwgcmlnaHQsIGJvdHRvbSwgc3RhcnQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRBbHRBeGlzIGZyb20gXCIuLi91dGlscy9nZXRBbHRBeGlzLmpzXCI7XG5pbXBvcnQgeyB3aXRoaW4sIHdpdGhpbk1heENsYW1wIH0gZnJvbSBcIi4uL3V0aWxzL3dpdGhpbi5qc1wiO1xuaW1wb3J0IGdldExheW91dFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4uL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgZ2V0VmFyaWF0aW9uIGZyb20gXCIuLi91dGlscy9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCBnZXRGcmVzaFNpZGVPYmplY3QgZnJvbSBcIi4uL3V0aWxzL2dldEZyZXNoU2lkZU9iamVjdC5qc1wiO1xuaW1wb3J0IHsgbWluIGFzIG1hdGhNaW4sIG1heCBhcyBtYXRoTWF4IH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcblxuZnVuY3Rpb24gcHJldmVudE92ZXJmbG93KF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuICB2YXIgX29wdGlvbnMkbWFpbkF4aXMgPSBvcHRpb25zLm1haW5BeGlzLFxuICAgICAgY2hlY2tNYWluQXhpcyA9IF9vcHRpb25zJG1haW5BeGlzID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkbWFpbkF4aXMsXG4gICAgICBfb3B0aW9ucyRhbHRBeGlzID0gb3B0aW9ucy5hbHRBeGlzLFxuICAgICAgY2hlY2tBbHRBeGlzID0gX29wdGlvbnMkYWx0QXhpcyA9PT0gdm9pZCAwID8gZmFsc2UgOiBfb3B0aW9ucyRhbHRBeGlzLFxuICAgICAgYm91bmRhcnkgPSBvcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IG9wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgX29wdGlvbnMkdGV0aGVyID0gb3B0aW9ucy50ZXRoZXIsXG4gICAgICB0ZXRoZXIgPSBfb3B0aW9ucyR0ZXRoZXIgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyR0ZXRoZXIsXG4gICAgICBfb3B0aW9ucyR0ZXRoZXJPZmZzZXQgPSBvcHRpb25zLnRldGhlck9mZnNldCxcbiAgICAgIHRldGhlck9mZnNldCA9IF9vcHRpb25zJHRldGhlck9mZnNldCA9PT0gdm9pZCAwID8gMCA6IF9vcHRpb25zJHRldGhlck9mZnNldDtcbiAgdmFyIG92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgcm9vdEJvdW5kYXJ5OiByb290Qm91bmRhcnksXG4gICAgcGFkZGluZzogcGFkZGluZyxcbiAgICBhbHRCb3VuZGFyeTogYWx0Qm91bmRhcnlcbiAgfSk7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gZ2V0QmFzZVBsYWNlbWVudChzdGF0ZS5wbGFjZW1lbnQpO1xuICB2YXIgdmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHN0YXRlLnBsYWNlbWVudCk7XG4gIHZhciBpc0Jhc2VQbGFjZW1lbnQgPSAhdmFyaWF0aW9uO1xuICB2YXIgbWFpbkF4aXMgPSBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQoYmFzZVBsYWNlbWVudCk7XG4gIHZhciBhbHRBeGlzID0gZ2V0QWx0QXhpcyhtYWluQXhpcyk7XG4gIHZhciBwb3BwZXJPZmZzZXRzID0gc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciB0ZXRoZXJPZmZzZXRWYWx1ZSA9IHR5cGVvZiB0ZXRoZXJPZmZzZXQgPT09ICdmdW5jdGlvbicgPyB0ZXRoZXJPZmZzZXQoT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUucmVjdHMsIHtcbiAgICBwbGFjZW1lbnQ6IHN0YXRlLnBsYWNlbWVudFxuICB9KSkgOiB0ZXRoZXJPZmZzZXQ7XG4gIHZhciBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUgPSB0eXBlb2YgdGV0aGVyT2Zmc2V0VmFsdWUgPT09ICdudW1iZXInID8ge1xuICAgIG1haW5BeGlzOiB0ZXRoZXJPZmZzZXRWYWx1ZSxcbiAgICBhbHRBeGlzOiB0ZXRoZXJPZmZzZXRWYWx1ZVxuICB9IDogT2JqZWN0LmFzc2lnbih7XG4gICAgbWFpbkF4aXM6IDAsXG4gICAgYWx0QXhpczogMFxuICB9LCB0ZXRoZXJPZmZzZXRWYWx1ZSk7XG4gIHZhciBvZmZzZXRNb2RpZmllclN0YXRlID0gc3RhdGUubW9kaWZpZXJzRGF0YS5vZmZzZXQgPyBzdGF0ZS5tb2RpZmllcnNEYXRhLm9mZnNldFtzdGF0ZS5wbGFjZW1lbnRdIDogbnVsbDtcbiAgdmFyIGRhdGEgPSB7XG4gICAgeDogMCxcbiAgICB5OiAwXG4gIH07XG5cbiAgaWYgKCFwb3BwZXJPZmZzZXRzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICB2YXIgX29mZnNldE1vZGlmaWVyU3RhdGUkO1xuXG4gICAgdmFyIG1haW5TaWRlID0gbWFpbkF4aXMgPT09ICd5JyA/IHRvcCA6IGxlZnQ7XG4gICAgdmFyIGFsdFNpZGUgPSBtYWluQXhpcyA9PT0gJ3knID8gYm90dG9tIDogcmlnaHQ7XG4gICAgdmFyIGxlbiA9IG1haW5BeGlzID09PSAneScgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG4gICAgdmFyIG9mZnNldCA9IHBvcHBlck9mZnNldHNbbWFpbkF4aXNdO1xuICAgIHZhciBtaW4gPSBvZmZzZXQgKyBvdmVyZmxvd1ttYWluU2lkZV07XG4gICAgdmFyIG1heCA9IG9mZnNldCAtIG92ZXJmbG93W2FsdFNpZGVdO1xuICAgIHZhciBhZGRpdGl2ZSA9IHRldGhlciA/IC1wb3BwZXJSZWN0W2xlbl0gLyAyIDogMDtcbiAgICB2YXIgbWluTGVuID0gdmFyaWF0aW9uID09PSBzdGFydCA/IHJlZmVyZW5jZVJlY3RbbGVuXSA6IHBvcHBlclJlY3RbbGVuXTtcbiAgICB2YXIgbWF4TGVuID0gdmFyaWF0aW9uID09PSBzdGFydCA/IC1wb3BwZXJSZWN0W2xlbl0gOiAtcmVmZXJlbmNlUmVjdFtsZW5dOyAvLyBXZSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFycm93IGluIHRoZSBjYWxjdWxhdGlvbiBzbyB0aGUgYXJyb3cgZG9lc24ndCBnb1xuICAgIC8vIG91dHNpZGUgdGhlIHJlZmVyZW5jZSBib3VuZHNcblxuICAgIHZhciBhcnJvd0VsZW1lbnQgPSBzdGF0ZS5lbGVtZW50cy5hcnJvdztcbiAgICB2YXIgYXJyb3dSZWN0ID0gdGV0aGVyICYmIGFycm93RWxlbWVudCA/IGdldExheW91dFJlY3QoYXJyb3dFbGVtZW50KSA6IHtcbiAgICAgIHdpZHRoOiAwLFxuICAgICAgaGVpZ2h0OiAwXG4gICAgfTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nT2JqZWN0ID0gc3RhdGUubW9kaWZpZXJzRGF0YVsnYXJyb3cjcGVyc2lzdGVudCddID8gc3RhdGUubW9kaWZpZXJzRGF0YVsnYXJyb3cjcGVyc2lzdGVudCddLnBhZGRpbmcgOiBnZXRGcmVzaFNpZGVPYmplY3QoKTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nTWluID0gYXJyb3dQYWRkaW5nT2JqZWN0W21haW5TaWRlXTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nTWF4ID0gYXJyb3dQYWRkaW5nT2JqZWN0W2FsdFNpZGVdOyAvLyBJZiB0aGUgcmVmZXJlbmNlIGxlbmd0aCBpcyBzbWFsbGVyIHRoYW4gdGhlIGFycm93IGxlbmd0aCwgd2UgZG9uJ3Qgd2FudFxuICAgIC8vIHRvIGluY2x1ZGUgaXRzIGZ1bGwgc2l6ZSBpbiB0aGUgY2FsY3VsYXRpb24uIElmIHRoZSByZWZlcmVuY2UgaXMgc21hbGxcbiAgICAvLyBhbmQgbmVhciB0aGUgZWRnZSBvZiBhIGJvdW5kYXJ5LCB0aGUgcG9wcGVyIGNhbiBvdmVyZmxvdyBldmVuIGlmIHRoZVxuICAgIC8vIHJlZmVyZW5jZSBpcyBub3Qgb3ZlcmZsb3dpbmcgYXMgd2VsbCAoZS5nLiB2aXJ0dWFsIGVsZW1lbnRzIHdpdGggbm9cbiAgICAvLyB3aWR0aCBvciBoZWlnaHQpXG5cbiAgICB2YXIgYXJyb3dMZW4gPSB3aXRoaW4oMCwgcmVmZXJlbmNlUmVjdFtsZW5dLCBhcnJvd1JlY3RbbGVuXSk7XG4gICAgdmFyIG1pbk9mZnNldCA9IGlzQmFzZVBsYWNlbWVudCA/IHJlZmVyZW5jZVJlY3RbbGVuXSAvIDIgLSBhZGRpdGl2ZSAtIGFycm93TGVuIC0gYXJyb3dQYWRkaW5nTWluIC0gbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLm1haW5BeGlzIDogbWluTGVuIC0gYXJyb3dMZW4gLSBhcnJvd1BhZGRpbmdNaW4gLSBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUubWFpbkF4aXM7XG4gICAgdmFyIG1heE9mZnNldCA9IGlzQmFzZVBsYWNlbWVudCA/IC1yZWZlcmVuY2VSZWN0W2xlbl0gLyAyICsgYWRkaXRpdmUgKyBhcnJvd0xlbiArIGFycm93UGFkZGluZ01heCArIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZS5tYWluQXhpcyA6IG1heExlbiArIGFycm93TGVuICsgYXJyb3dQYWRkaW5nTWF4ICsgbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLm1haW5BeGlzO1xuICAgIHZhciBhcnJvd09mZnNldFBhcmVudCA9IHN0YXRlLmVsZW1lbnRzLmFycm93ICYmIGdldE9mZnNldFBhcmVudChzdGF0ZS5lbGVtZW50cy5hcnJvdyk7XG4gICAgdmFyIGNsaWVudE9mZnNldCA9IGFycm93T2Zmc2V0UGFyZW50ID8gbWFpbkF4aXMgPT09ICd5JyA/IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudFRvcCB8fCAwIDogYXJyb3dPZmZzZXRQYXJlbnQuY2xpZW50TGVmdCB8fCAwIDogMDtcbiAgICB2YXIgb2Zmc2V0TW9kaWZpZXJWYWx1ZSA9IChfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQgPSBvZmZzZXRNb2RpZmllclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBvZmZzZXRNb2RpZmllclN0YXRlW21haW5BeGlzXSkgIT0gbnVsbCA/IF9vZmZzZXRNb2RpZmllclN0YXRlJCA6IDA7XG4gICAgdmFyIHRldGhlck1pbiA9IG9mZnNldCArIG1pbk9mZnNldCAtIG9mZnNldE1vZGlmaWVyVmFsdWUgLSBjbGllbnRPZmZzZXQ7XG4gICAgdmFyIHRldGhlck1heCA9IG9mZnNldCArIG1heE9mZnNldCAtIG9mZnNldE1vZGlmaWVyVmFsdWU7XG4gICAgdmFyIHByZXZlbnRlZE9mZnNldCA9IHdpdGhpbih0ZXRoZXIgPyBtYXRoTWluKG1pbiwgdGV0aGVyTWluKSA6IG1pbiwgb2Zmc2V0LCB0ZXRoZXIgPyBtYXRoTWF4KG1heCwgdGV0aGVyTWF4KSA6IG1heCk7XG4gICAgcG9wcGVyT2Zmc2V0c1ttYWluQXhpc10gPSBwcmV2ZW50ZWRPZmZzZXQ7XG4gICAgZGF0YVttYWluQXhpc10gPSBwcmV2ZW50ZWRPZmZzZXQgLSBvZmZzZXQ7XG4gIH1cblxuICBpZiAoY2hlY2tBbHRBeGlzKSB7XG4gICAgdmFyIF9vZmZzZXRNb2RpZmllclN0YXRlJDI7XG5cbiAgICB2YXIgX21haW5TaWRlID0gbWFpbkF4aXMgPT09ICd4JyA/IHRvcCA6IGxlZnQ7XG5cbiAgICB2YXIgX2FsdFNpZGUgPSBtYWluQXhpcyA9PT0gJ3gnID8gYm90dG9tIDogcmlnaHQ7XG5cbiAgICB2YXIgX29mZnNldCA9IHBvcHBlck9mZnNldHNbYWx0QXhpc107XG5cbiAgICB2YXIgX2xlbiA9IGFsdEF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICAgIHZhciBfbWluID0gX29mZnNldCArIG92ZXJmbG93W19tYWluU2lkZV07XG5cbiAgICB2YXIgX21heCA9IF9vZmZzZXQgLSBvdmVyZmxvd1tfYWx0U2lkZV07XG5cbiAgICB2YXIgaXNPcmlnaW5TaWRlID0gW3RvcCwgbGVmdF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSAhPT0gLTE7XG5cbiAgICB2YXIgX29mZnNldE1vZGlmaWVyVmFsdWUgPSAoX29mZnNldE1vZGlmaWVyU3RhdGUkMiA9IG9mZnNldE1vZGlmaWVyU3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IG9mZnNldE1vZGlmaWVyU3RhdGVbYWx0QXhpc10pICE9IG51bGwgPyBfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQyIDogMDtcblxuICAgIHZhciBfdGV0aGVyTWluID0gaXNPcmlnaW5TaWRlID8gX21pbiA6IF9vZmZzZXQgLSByZWZlcmVuY2VSZWN0W19sZW5dIC0gcG9wcGVyUmVjdFtfbGVuXSAtIF9vZmZzZXRNb2RpZmllclZhbHVlICsgbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLmFsdEF4aXM7XG5cbiAgICB2YXIgX3RldGhlck1heCA9IGlzT3JpZ2luU2lkZSA/IF9vZmZzZXQgKyByZWZlcmVuY2VSZWN0W19sZW5dICsgcG9wcGVyUmVjdFtfbGVuXSAtIF9vZmZzZXRNb2RpZmllclZhbHVlIC0gbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLmFsdEF4aXMgOiBfbWF4O1xuXG4gICAgdmFyIF9wcmV2ZW50ZWRPZmZzZXQgPSB0ZXRoZXIgJiYgaXNPcmlnaW5TaWRlID8gd2l0aGluTWF4Q2xhbXAoX3RldGhlck1pbiwgX29mZnNldCwgX3RldGhlck1heCkgOiB3aXRoaW4odGV0aGVyID8gX3RldGhlck1pbiA6IF9taW4sIF9vZmZzZXQsIHRldGhlciA/IF90ZXRoZXJNYXggOiBfbWF4KTtcblxuICAgIHBvcHBlck9mZnNldHNbYWx0QXhpc10gPSBfcHJldmVudGVkT2Zmc2V0O1xuICAgIGRhdGFbYWx0QXhpc10gPSBfcHJldmVudGVkT2Zmc2V0IC0gX29mZnNldDtcbiAgfVxuXG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSBkYXRhO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgZm46IHByZXZlbnRPdmVyZmxvdyxcbiAgcmVxdWlyZXNJZkV4aXN0czogWydvZmZzZXQnXVxufTsiLCJpbXBvcnQgeyBwb3BwZXJHZW5lcmF0b3IsIGRldGVjdE92ZXJmbG93IH0gZnJvbSBcIi4vY3JlYXRlUG9wcGVyLmpzXCI7XG5pbXBvcnQgZXZlbnRMaXN0ZW5lcnMgZnJvbSBcIi4vbW9kaWZpZXJzL2V2ZW50TGlzdGVuZXJzLmpzXCI7XG5pbXBvcnQgcG9wcGVyT2Zmc2V0cyBmcm9tIFwiLi9tb2RpZmllcnMvcG9wcGVyT2Zmc2V0cy5qc1wiO1xuaW1wb3J0IGNvbXB1dGVTdHlsZXMgZnJvbSBcIi4vbW9kaWZpZXJzL2NvbXB1dGVTdHlsZXMuanNcIjtcbmltcG9ydCBhcHBseVN0eWxlcyBmcm9tIFwiLi9tb2RpZmllcnMvYXBwbHlTdHlsZXMuanNcIjtcbnZhciBkZWZhdWx0TW9kaWZpZXJzID0gW2V2ZW50TGlzdGVuZXJzLCBwb3BwZXJPZmZzZXRzLCBjb21wdXRlU3R5bGVzLCBhcHBseVN0eWxlc107XG52YXIgY3JlYXRlUG9wcGVyID0gLyojX19QVVJFX18qL3BvcHBlckdlbmVyYXRvcih7XG4gIGRlZmF1bHRNb2RpZmllcnM6IGRlZmF1bHRNb2RpZmllcnNcbn0pOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGNyZWF0ZVBvcHBlciwgcG9wcGVyR2VuZXJhdG9yLCBkZWZhdWx0TW9kaWZpZXJzLCBkZXRlY3RPdmVyZmxvdyB9OyIsImltcG9ydCB7IHBvcHBlckdlbmVyYXRvciwgZGV0ZWN0T3ZlcmZsb3cgfSBmcm9tIFwiLi9jcmVhdGVQb3BwZXIuanNcIjtcbmltcG9ydCBldmVudExpc3RlbmVycyBmcm9tIFwiLi9tb2RpZmllcnMvZXZlbnRMaXN0ZW5lcnMuanNcIjtcbmltcG9ydCBwb3BwZXJPZmZzZXRzIGZyb20gXCIuL21vZGlmaWVycy9wb3BwZXJPZmZzZXRzLmpzXCI7XG5pbXBvcnQgY29tcHV0ZVN0eWxlcyBmcm9tIFwiLi9tb2RpZmllcnMvY29tcHV0ZVN0eWxlcy5qc1wiO1xuaW1wb3J0IGFwcGx5U3R5bGVzIGZyb20gXCIuL21vZGlmaWVycy9hcHBseVN0eWxlcy5qc1wiO1xuaW1wb3J0IG9mZnNldCBmcm9tIFwiLi9tb2RpZmllcnMvb2Zmc2V0LmpzXCI7XG5pbXBvcnQgZmxpcCBmcm9tIFwiLi9tb2RpZmllcnMvZmxpcC5qc1wiO1xuaW1wb3J0IHByZXZlbnRPdmVyZmxvdyBmcm9tIFwiLi9tb2RpZmllcnMvcHJldmVudE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgYXJyb3cgZnJvbSBcIi4vbW9kaWZpZXJzL2Fycm93LmpzXCI7XG5pbXBvcnQgaGlkZSBmcm9tIFwiLi9tb2RpZmllcnMvaGlkZS5qc1wiO1xudmFyIGRlZmF1bHRNb2RpZmllcnMgPSBbZXZlbnRMaXN0ZW5lcnMsIHBvcHBlck9mZnNldHMsIGNvbXB1dGVTdHlsZXMsIGFwcGx5U3R5bGVzLCBvZmZzZXQsIGZsaXAsIHByZXZlbnRPdmVyZmxvdywgYXJyb3csIGhpZGVdO1xudmFyIGNyZWF0ZVBvcHBlciA9IC8qI19fUFVSRV9fKi9wb3BwZXJHZW5lcmF0b3Ioe1xuICBkZWZhdWx0TW9kaWZpZXJzOiBkZWZhdWx0TW9kaWZpZXJzXG59KTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBjcmVhdGVQb3BwZXIsIHBvcHBlckdlbmVyYXRvciwgZGVmYXVsdE1vZGlmaWVycywgZGV0ZWN0T3ZlcmZsb3cgfTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBjcmVhdGVQb3BwZXIgYXMgY3JlYXRlUG9wcGVyTGl0ZSB9IGZyb20gXCIuL3BvcHBlci1saXRlLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0ICogZnJvbSBcIi4vbW9kaWZpZXJzL2luZGV4LmpzXCI7IiwiaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCB7IHZhcmlhdGlvblBsYWNlbWVudHMsIGJhc2VQbGFjZW1lbnRzLCBwbGFjZW1lbnRzIGFzIGFsbFBsYWNlbWVudHMgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBkZXRlY3RPdmVyZmxvdyBmcm9tIFwiLi9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4vZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcHV0ZUF1dG9QbGFjZW1lbnQoc3RhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHZhciBfb3B0aW9ucyA9IG9wdGlvbnMsXG4gICAgICBwbGFjZW1lbnQgPSBfb3B0aW9ucy5wbGFjZW1lbnQsXG4gICAgICBib3VuZGFyeSA9IF9vcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMucm9vdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZyA9IF9vcHRpb25zLnBhZGRpbmcsXG4gICAgICBmbGlwVmFyaWF0aW9ucyA9IF9vcHRpb25zLmZsaXBWYXJpYXRpb25zLFxuICAgICAgX29wdGlvbnMkYWxsb3dlZEF1dG9QID0gX29wdGlvbnMuYWxsb3dlZEF1dG9QbGFjZW1lbnRzLFxuICAgICAgYWxsb3dlZEF1dG9QbGFjZW1lbnRzID0gX29wdGlvbnMkYWxsb3dlZEF1dG9QID09PSB2b2lkIDAgPyBhbGxQbGFjZW1lbnRzIDogX29wdGlvbnMkYWxsb3dlZEF1dG9QO1xuICB2YXIgdmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCk7XG4gIHZhciBwbGFjZW1lbnRzID0gdmFyaWF0aW9uID8gZmxpcFZhcmlhdGlvbnMgPyB2YXJpYXRpb25QbGFjZW1lbnRzIDogdmFyaWF0aW9uUGxhY2VtZW50cy5maWx0ZXIoZnVuY3Rpb24gKHBsYWNlbWVudCkge1xuICAgIHJldHVybiBnZXRWYXJpYXRpb24ocGxhY2VtZW50KSA9PT0gdmFyaWF0aW9uO1xuICB9KSA6IGJhc2VQbGFjZW1lbnRzO1xuICB2YXIgYWxsb3dlZFBsYWNlbWVudHMgPSBwbGFjZW1lbnRzLmZpbHRlcihmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgcmV0dXJuIGFsbG93ZWRBdXRvUGxhY2VtZW50cy5pbmRleE9mKHBsYWNlbWVudCkgPj0gMDtcbiAgfSk7XG5cbiAgaWYgKGFsbG93ZWRQbGFjZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGFsbG93ZWRQbGFjZW1lbnRzID0gcGxhY2VtZW50cztcbiAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXTogRmxvdyBzZWVtcyB0byBoYXZlIHByb2JsZW1zIHdpdGggdHdvIGFycmF5IHVuaW9ucy4uLlxuXG5cbiAgdmFyIG92ZXJmbG93cyA9IGFsbG93ZWRQbGFjZW1lbnRzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICBhY2NbcGxhY2VtZW50XSA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIGJvdW5kYXJ5OiBib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeTogcm9vdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZzogcGFkZGluZ1xuICAgIH0pW2dldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KV07XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICByZXR1cm4gT2JqZWN0LmtleXMob3ZlcmZsb3dzKS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIG92ZXJmbG93c1thXSAtIG92ZXJmbG93c1tiXTtcbiAgfSk7XG59IiwiaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4vZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQgZnJvbSBcIi4vZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIHN0YXJ0LCBlbmQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXB1dGVPZmZzZXRzKF9yZWYpIHtcbiAgdmFyIHJlZmVyZW5jZSA9IF9yZWYucmVmZXJlbmNlLFxuICAgICAgZWxlbWVudCA9IF9yZWYuZWxlbWVudCxcbiAgICAgIHBsYWNlbWVudCA9IF9yZWYucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IHBsYWNlbWVudCA/IGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KSA6IG51bGw7XG4gIHZhciB2YXJpYXRpb24gPSBwbGFjZW1lbnQgPyBnZXRWYXJpYXRpb24ocGxhY2VtZW50KSA6IG51bGw7XG4gIHZhciBjb21tb25YID0gcmVmZXJlbmNlLnggKyByZWZlcmVuY2Uud2lkdGggLyAyIC0gZWxlbWVudC53aWR0aCAvIDI7XG4gIHZhciBjb21tb25ZID0gcmVmZXJlbmNlLnkgKyByZWZlcmVuY2UuaGVpZ2h0IC8gMiAtIGVsZW1lbnQuaGVpZ2h0IC8gMjtcbiAgdmFyIG9mZnNldHM7XG5cbiAgc3dpdGNoIChiYXNlUGxhY2VtZW50KSB7XG4gICAgY2FzZSB0b3A6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiBjb21tb25YLFxuICAgICAgICB5OiByZWZlcmVuY2UueSAtIGVsZW1lbnQuaGVpZ2h0XG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIGJvdHRvbTpcbiAgICAgIG9mZnNldHMgPSB7XG4gICAgICAgIHg6IGNvbW1vblgsXG4gICAgICAgIHk6IHJlZmVyZW5jZS55ICsgcmVmZXJlbmNlLmhlaWdodFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSByaWdodDpcbiAgICAgIG9mZnNldHMgPSB7XG4gICAgICAgIHg6IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoLFxuICAgICAgICB5OiBjb21tb25ZXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIGxlZnQ6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCAtIGVsZW1lbnQud2lkdGgsXG4gICAgICAgIHk6IGNvbW1vbllcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnlcbiAgICAgIH07XG4gIH1cblxuICB2YXIgbWFpbkF4aXMgPSBiYXNlUGxhY2VtZW50ID8gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KGJhc2VQbGFjZW1lbnQpIDogbnVsbDtcblxuICBpZiAobWFpbkF4aXMgIT0gbnVsbCkge1xuICAgIHZhciBsZW4gPSBtYWluQXhpcyA9PT0gJ3knID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuXG4gICAgc3dpdGNoICh2YXJpYXRpb24pIHtcbiAgICAgIGNhc2Ugc3RhcnQ6XG4gICAgICAgIG9mZnNldHNbbWFpbkF4aXNdID0gb2Zmc2V0c1ttYWluQXhpc10gLSAocmVmZXJlbmNlW2xlbl0gLyAyIC0gZWxlbWVudFtsZW5dIC8gMik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIGVuZDpcbiAgICAgICAgb2Zmc2V0c1ttYWluQXhpc10gPSBvZmZzZXRzW21haW5BeGlzXSArIChyZWZlcmVuY2VbbGVuXSAvIDIgLSBlbGVtZW50W2xlbl0gLyAyKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9mZnNldHM7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGVib3VuY2UoZm4pIHtcbiAgdmFyIHBlbmRpbmc7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICBwZW5kaW5nID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcGVuZGluZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXNvbHZlKGZuKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBwZW5kaW5nO1xuICB9O1xufSIsImltcG9ydCBnZXRDbGlwcGluZ1JlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRDbGlwcGluZ1JlY3QuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBjb21wdXRlT2Zmc2V0cyBmcm9tIFwiLi9jb21wdXRlT2Zmc2V0cy5qc1wiO1xuaW1wb3J0IHJlY3RUb0NsaWVudFJlY3QgZnJvbSBcIi4vcmVjdFRvQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IHsgY2xpcHBpbmdQYXJlbnRzLCByZWZlcmVuY2UsIHBvcHBlciwgYm90dG9tLCB0b3AsIHJpZ2h0LCBiYXNlUGxhY2VtZW50cywgdmlld3BvcnQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCB7IGlzRWxlbWVudCB9IGZyb20gXCIuLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IG1lcmdlUGFkZGluZ09iamVjdCBmcm9tIFwiLi9tZXJnZVBhZGRpbmdPYmplY3QuanNcIjtcbmltcG9ydCBleHBhbmRUb0hhc2hNYXAgZnJvbSBcIi4vZXhwYW5kVG9IYXNoTWFwLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHZhciBfb3B0aW9ucyA9IG9wdGlvbnMsXG4gICAgICBfb3B0aW9ucyRwbGFjZW1lbnQgPSBfb3B0aW9ucy5wbGFjZW1lbnQsXG4gICAgICBwbGFjZW1lbnQgPSBfb3B0aW9ucyRwbGFjZW1lbnQgPT09IHZvaWQgMCA/IHN0YXRlLnBsYWNlbWVudCA6IF9vcHRpb25zJHBsYWNlbWVudCxcbiAgICAgIF9vcHRpb25zJHN0cmF0ZWd5ID0gX29wdGlvbnMuc3RyYXRlZ3ksXG4gICAgICBzdHJhdGVneSA9IF9vcHRpb25zJHN0cmF0ZWd5ID09PSB2b2lkIDAgPyBzdGF0ZS5zdHJhdGVneSA6IF9vcHRpb25zJHN0cmF0ZWd5LFxuICAgICAgX29wdGlvbnMkYm91bmRhcnkgPSBfb3B0aW9ucy5ib3VuZGFyeSxcbiAgICAgIGJvdW5kYXJ5ID0gX29wdGlvbnMkYm91bmRhcnkgPT09IHZvaWQgMCA/IGNsaXBwaW5nUGFyZW50cyA6IF9vcHRpb25zJGJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMucm9vdEJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMkcm9vdEJvdW5kYXJ5ID09PSB2b2lkIDAgPyB2aWV3cG9ydCA6IF9vcHRpb25zJHJvb3RCb3VuZGFyeSxcbiAgICAgIF9vcHRpb25zJGVsZW1lbnRDb250ZSA9IF9vcHRpb25zLmVsZW1lbnRDb250ZXh0LFxuICAgICAgZWxlbWVudENvbnRleHQgPSBfb3B0aW9ucyRlbGVtZW50Q29udGUgPT09IHZvaWQgMCA/IHBvcHBlciA6IF9vcHRpb25zJGVsZW1lbnRDb250ZSxcbiAgICAgIF9vcHRpb25zJGFsdEJvdW5kYXJ5ID0gX29wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IF9vcHRpb25zJGFsdEJvdW5kYXJ5ID09PSB2b2lkIDAgPyBmYWxzZSA6IF9vcHRpb25zJGFsdEJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkcGFkZGluZyA9IF9vcHRpb25zLnBhZGRpbmcsXG4gICAgICBwYWRkaW5nID0gX29wdGlvbnMkcGFkZGluZyA9PT0gdm9pZCAwID8gMCA6IF9vcHRpb25zJHBhZGRpbmc7XG4gIHZhciBwYWRkaW5nT2JqZWN0ID0gbWVyZ2VQYWRkaW5nT2JqZWN0KHR5cGVvZiBwYWRkaW5nICE9PSAnbnVtYmVyJyA/IHBhZGRpbmcgOiBleHBhbmRUb0hhc2hNYXAocGFkZGluZywgYmFzZVBsYWNlbWVudHMpKTtcbiAgdmFyIGFsdENvbnRleHQgPSBlbGVtZW50Q29udGV4dCA9PT0gcG9wcGVyID8gcmVmZXJlbmNlIDogcG9wcGVyO1xuICB2YXIgcG9wcGVyUmVjdCA9IHN0YXRlLnJlY3RzLnBvcHBlcjtcbiAgdmFyIGVsZW1lbnQgPSBzdGF0ZS5lbGVtZW50c1thbHRCb3VuZGFyeSA/IGFsdENvbnRleHQgOiBlbGVtZW50Q29udGV4dF07XG4gIHZhciBjbGlwcGluZ0NsaWVudFJlY3QgPSBnZXRDbGlwcGluZ1JlY3QoaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudCA6IGVsZW1lbnQuY29udGV4dEVsZW1lbnQgfHwgZ2V0RG9jdW1lbnRFbGVtZW50KHN0YXRlLmVsZW1lbnRzLnBvcHBlciksIGJvdW5kYXJ5LCByb290Qm91bmRhcnksIHN0cmF0ZWd5KTtcbiAgdmFyIHJlZmVyZW5jZUNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qoc3RhdGUuZWxlbWVudHMucmVmZXJlbmNlKTtcbiAgdmFyIHBvcHBlck9mZnNldHMgPSBjb21wdXRlT2Zmc2V0cyh7XG4gICAgcmVmZXJlbmNlOiByZWZlcmVuY2VDbGllbnRSZWN0LFxuICAgIGVsZW1lbnQ6IHBvcHBlclJlY3QsXG4gICAgc3RyYXRlZ3k6ICdhYnNvbHV0ZScsXG4gICAgcGxhY2VtZW50OiBwbGFjZW1lbnRcbiAgfSk7XG4gIHZhciBwb3BwZXJDbGllbnRSZWN0ID0gcmVjdFRvQ2xpZW50UmVjdChPYmplY3QuYXNzaWduKHt9LCBwb3BwZXJSZWN0LCBwb3BwZXJPZmZzZXRzKSk7XG4gIHZhciBlbGVtZW50Q2xpZW50UmVjdCA9IGVsZW1lbnRDb250ZXh0ID09PSBwb3BwZXIgPyBwb3BwZXJDbGllbnRSZWN0IDogcmVmZXJlbmNlQ2xpZW50UmVjdDsgLy8gcG9zaXRpdmUgPSBvdmVyZmxvd2luZyB0aGUgY2xpcHBpbmcgcmVjdFxuICAvLyAwIG9yIG5lZ2F0aXZlID0gd2l0aGluIHRoZSBjbGlwcGluZyByZWN0XG5cbiAgdmFyIG92ZXJmbG93T2Zmc2V0cyA9IHtcbiAgICB0b3A6IGNsaXBwaW5nQ2xpZW50UmVjdC50b3AgLSBlbGVtZW50Q2xpZW50UmVjdC50b3AgKyBwYWRkaW5nT2JqZWN0LnRvcCxcbiAgICBib3R0b206IGVsZW1lbnRDbGllbnRSZWN0LmJvdHRvbSAtIGNsaXBwaW5nQ2xpZW50UmVjdC5ib3R0b20gKyBwYWRkaW5nT2JqZWN0LmJvdHRvbSxcbiAgICBsZWZ0OiBjbGlwcGluZ0NsaWVudFJlY3QubGVmdCAtIGVsZW1lbnRDbGllbnRSZWN0LmxlZnQgKyBwYWRkaW5nT2JqZWN0LmxlZnQsXG4gICAgcmlnaHQ6IGVsZW1lbnRDbGllbnRSZWN0LnJpZ2h0IC0gY2xpcHBpbmdDbGllbnRSZWN0LnJpZ2h0ICsgcGFkZGluZ09iamVjdC5yaWdodFxuICB9O1xuICB2YXIgb2Zmc2V0RGF0YSA9IHN0YXRlLm1vZGlmaWVyc0RhdGEub2Zmc2V0OyAvLyBPZmZzZXRzIGNhbiBiZSBhcHBsaWVkIG9ubHkgdG8gdGhlIHBvcHBlciBlbGVtZW50XG5cbiAgaWYgKGVsZW1lbnRDb250ZXh0ID09PSBwb3BwZXIgJiYgb2Zmc2V0RGF0YSkge1xuICAgIHZhciBvZmZzZXQgPSBvZmZzZXREYXRhW3BsYWNlbWVudF07XG4gICAgT2JqZWN0LmtleXMob3ZlcmZsb3dPZmZzZXRzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIHZhciBtdWx0aXBseSA9IFtyaWdodCwgYm90dG9tXS5pbmRleE9mKGtleSkgPj0gMCA/IDEgOiAtMTtcbiAgICAgIHZhciBheGlzID0gW3RvcCwgYm90dG9tXS5pbmRleE9mKGtleSkgPj0gMCA/ICd5JyA6ICd4JztcbiAgICAgIG92ZXJmbG93T2Zmc2V0c1trZXldICs9IG9mZnNldFtheGlzXSAqIG11bHRpcGx5O1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG92ZXJmbG93T2Zmc2V0cztcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBleHBhbmRUb0hhc2hNYXAodmFsdWUsIGtleXMpIHtcbiAgcmV0dXJuIGtleXMucmVkdWNlKGZ1bmN0aW9uIChoYXNoTWFwLCBrZXkpIHtcbiAgICBoYXNoTWFwW2tleV0gPSB2YWx1ZTtcbiAgICByZXR1cm4gaGFzaE1hcDtcbiAgfSwge30pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEFsdEF4aXMoYXhpcykge1xuICByZXR1cm4gYXhpcyA9PT0gJ3gnID8gJ3knIDogJ3gnO1xufSIsImltcG9ydCB7IGF1dG8gfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRGcmVzaFNpZGVPYmplY3QoKSB7XG4gIHJldHVybiB7XG4gICAgdG9wOiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwXG4gIH07XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gWyd0b3AnLCAnYm90dG9tJ10uaW5kZXhPZihwbGFjZW1lbnQpID49IDAgPyAneCcgOiAneSc7XG59IiwidmFyIGhhc2ggPSB7XG4gIGxlZnQ6ICdyaWdodCcsXG4gIHJpZ2h0OiAnbGVmdCcsXG4gIGJvdHRvbTogJ3RvcCcsXG4gIHRvcDogJ2JvdHRvbSdcbn07XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgZnVuY3Rpb24gKG1hdGNoZWQpIHtcbiAgICByZXR1cm4gaGFzaFttYXRjaGVkXTtcbiAgfSk7XG59IiwidmFyIGhhc2ggPSB7XG4gIHN0YXJ0OiAnZW5kJyxcbiAgZW5kOiAnc3RhcnQnXG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQucmVwbGFjZSgvc3RhcnR8ZW5kL2csIGZ1bmN0aW9uIChtYXRjaGVkKSB7XG4gICAgcmV0dXJuIGhhc2hbbWF0Y2hlZF07XG4gIH0pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFZhcmlhdGlvbihwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5zcGxpdCgnLScpWzFdO1xufSIsImV4cG9ydCB2YXIgbWF4ID0gTWF0aC5tYXg7XG5leHBvcnQgdmFyIG1pbiA9IE1hdGgubWluO1xuZXhwb3J0IHZhciByb3VuZCA9IE1hdGgucm91bmQ7IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWVyZ2VCeU5hbWUobW9kaWZpZXJzKSB7XG4gIHZhciBtZXJnZWQgPSBtb2RpZmllcnMucmVkdWNlKGZ1bmN0aW9uIChtZXJnZWQsIGN1cnJlbnQpIHtcbiAgICB2YXIgZXhpc3RpbmcgPSBtZXJnZWRbY3VycmVudC5uYW1lXTtcbiAgICBtZXJnZWRbY3VycmVudC5uYW1lXSA9IGV4aXN0aW5nID8gT2JqZWN0LmFzc2lnbih7fSwgZXhpc3RpbmcsIGN1cnJlbnQsIHtcbiAgICAgIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIGV4aXN0aW5nLm9wdGlvbnMsIGN1cnJlbnQub3B0aW9ucyksXG4gICAgICBkYXRhOiBPYmplY3QuYXNzaWduKHt9LCBleGlzdGluZy5kYXRhLCBjdXJyZW50LmRhdGEpXG4gICAgfSkgOiBjdXJyZW50O1xuICAgIHJldHVybiBtZXJnZWQ7XG4gIH0sIHt9KTsgLy8gSUUxMSBkb2VzIG5vdCBzdXBwb3J0IE9iamVjdC52YWx1ZXNcblxuICByZXR1cm4gT2JqZWN0LmtleXMobWVyZ2VkKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBtZXJnZWRba2V5XTtcbiAgfSk7XG59IiwiaW1wb3J0IGdldEZyZXNoU2lkZU9iamVjdCBmcm9tIFwiLi9nZXRGcmVzaFNpZGVPYmplY3QuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1lcmdlUGFkZGluZ09iamVjdChwYWRkaW5nT2JqZWN0KSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBnZXRGcmVzaFNpZGVPYmplY3QoKSwgcGFkZGluZ09iamVjdCk7XG59IiwiaW1wb3J0IHsgbW9kaWZpZXJQaGFzZXMgfSBmcm9tIFwiLi4vZW51bXMuanNcIjsgLy8gc291cmNlOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80OTg3NTI1NVxuXG5mdW5jdGlvbiBvcmRlcihtb2RpZmllcnMpIHtcbiAgdmFyIG1hcCA9IG5ldyBNYXAoKTtcbiAgdmFyIHZpc2l0ZWQgPSBuZXcgU2V0KCk7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgbW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgbWFwLnNldChtb2RpZmllci5uYW1lLCBtb2RpZmllcik7XG4gIH0pOyAvLyBPbiB2aXNpdGluZyBvYmplY3QsIGNoZWNrIGZvciBpdHMgZGVwZW5kZW5jaWVzIGFuZCB2aXNpdCB0aGVtIHJlY3Vyc2l2ZWx5XG5cbiAgZnVuY3Rpb24gc29ydChtb2RpZmllcikge1xuICAgIHZpc2l0ZWQuYWRkKG1vZGlmaWVyLm5hbWUpO1xuICAgIHZhciByZXF1aXJlcyA9IFtdLmNvbmNhdChtb2RpZmllci5yZXF1aXJlcyB8fCBbXSwgbW9kaWZpZXIucmVxdWlyZXNJZkV4aXN0cyB8fCBbXSk7XG4gICAgcmVxdWlyZXMuZm9yRWFjaChmdW5jdGlvbiAoZGVwKSB7XG4gICAgICBpZiAoIXZpc2l0ZWQuaGFzKGRlcCkpIHtcbiAgICAgICAgdmFyIGRlcE1vZGlmaWVyID0gbWFwLmdldChkZXApO1xuXG4gICAgICAgIGlmIChkZXBNb2RpZmllcikge1xuICAgICAgICAgIHNvcnQoZGVwTW9kaWZpZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmVzdWx0LnB1c2gobW9kaWZpZXIpO1xuICB9XG5cbiAgbW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgaWYgKCF2aXNpdGVkLmhhcyhtb2RpZmllci5uYW1lKSkge1xuICAgICAgLy8gY2hlY2sgZm9yIHZpc2l0ZWQgb2JqZWN0XG4gICAgICBzb3J0KG1vZGlmaWVyKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBvcmRlck1vZGlmaWVycyhtb2RpZmllcnMpIHtcbiAgLy8gb3JkZXIgYmFzZWQgb24gZGVwZW5kZW5jaWVzXG4gIHZhciBvcmRlcmVkTW9kaWZpZXJzID0gb3JkZXIobW9kaWZpZXJzKTsgLy8gb3JkZXIgYmFzZWQgb24gcGhhc2VcblxuICByZXR1cm4gbW9kaWZpZXJQaGFzZXMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBoYXNlKSB7XG4gICAgcmV0dXJuIGFjYy5jb25jYXQob3JkZXJlZE1vZGlmaWVycy5maWx0ZXIoZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgICByZXR1cm4gbW9kaWZpZXIucGhhc2UgPT09IHBoYXNlO1xuICAgIH0pKTtcbiAgfSwgW10pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlY3RUb0NsaWVudFJlY3QocmVjdCkge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgcmVjdCwge1xuICAgIGxlZnQ6IHJlY3QueCxcbiAgICB0b3A6IHJlY3QueSxcbiAgICByaWdodDogcmVjdC54ICsgcmVjdC53aWR0aCxcbiAgICBib3R0b206IHJlY3QueSArIHJlY3QuaGVpZ2h0XG4gIH0pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFVBU3RyaW5nKCkge1xuICB2YXIgdWFEYXRhID0gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGE7XG5cbiAgaWYgKHVhRGF0YSAhPSBudWxsICYmIHVhRGF0YS5icmFuZHMgJiYgQXJyYXkuaXNBcnJheSh1YURhdGEuYnJhbmRzKSkge1xuICAgIHJldHVybiB1YURhdGEuYnJhbmRzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW0uYnJhbmQgKyBcIi9cIiArIGl0ZW0udmVyc2lvbjtcbiAgICB9KS5qb2luKCcgJyk7XG4gIH1cblxuICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbn0iLCJpbXBvcnQgeyBtYXggYXMgbWF0aE1heCwgbWluIGFzIG1hdGhNaW4gfSBmcm9tIFwiLi9tYXRoLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gd2l0aGluKG1pbiwgdmFsdWUsIG1heCkge1xuICByZXR1cm4gbWF0aE1heChtaW4sIG1hdGhNaW4odmFsdWUsIG1heCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhpbk1heENsYW1wKG1pbiwgdmFsdWUsIG1heCkge1xuICB2YXIgdiA9IHdpdGhpbihtaW4sIHZhbHVlLCBtYXgpO1xuICByZXR1cm4gdiA+IG1heCA/IG1heCA6IHY7XG59IiwiaW1wb3J0ICdhbHBpbmVqcydcblxud2luZG93LiQgPSB3aW5kb3cualF1ZXJ5ID0gcmVxdWlyZSgnanF1ZXJ5Jyk7XG53aW5kb3cuU3dhbCA9IHJlcXVpcmUoJ3N3ZWV0YWxlcnQyJyk7XG5cbi8vIENvcmVVSVxucmVxdWlyZSgnQGNvcmV1aS9jb3JldWknKTtcblxuLy8gQm9pbGVycGxhdGVcbnJlcXVpcmUoJy4uL3BsdWdpbnMnKTtcbiIsIi8qKlxuICogUGxhY2UgYW55IGpRdWVyeS9oZWxwZXIgcGx1Z2lucyBpbiBoZXJlLlxuICovXG4kKGZ1bmN0aW9uICgpIHtcbiAgICAvKipcbiAgICAgKiBDaGVja2JveCB0cmVlIGZvciBwZXJtaXNzaW9uIHNlbGVjdGluZ1xuICAgICAqL1xuICAgIGxldCBwZXJtaXNzaW9uVHJlZSA9ICQoJy5wZXJtaXNzaW9uLXRyZWUgOmNoZWNrYm94Jyk7XG5cbiAgICBwZXJtaXNzaW9uVHJlZS5vbignY2xpY2sgY2hhbmdlJywgZnVuY3Rpb24gKCl7XG4gICAgICAgIGlmKCQodGhpcykuaXMoJzpjaGVja2VkJykpIHtcbiAgICAgICAgICAgICQodGhpcykuc2libGluZ3MoJ3VsJykuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykuYXR0cignY2hlY2tlZCcsIHRydWUpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkKHRoaXMpLnNpYmxpbmdzKCd1bCcpLmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBwZXJtaXNzaW9uVHJlZS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYoJCh0aGlzKS5pcygnOmNoZWNrZWQnKSkge1xuICAgICAgICAgICAgJCh0aGlzKS5zaWJsaW5ncygndWwnKS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS5hdHRyKCdjaGVja2VkJywgdHJ1ZSkuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSBzdWJtaXQgaW5wdXRzIGluIHRoZSBnaXZlbiBmb3JtXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZm9ybVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRpc2FibGVTdWJtaXRCdXR0b25zKGZvcm0pIHtcbiAgICAgICAgZm9ybS5maW5kKCdpbnB1dFt0eXBlPVwic3VibWl0XCJdJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgZm9ybS5maW5kKCdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlIHRoZSBzdWJtaXQgaW5wdXRzIGluIGEgZ2l2ZW4gZm9ybVxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlbmFibGVTdWJtaXRCdXR0b25zKGZvcm0pIHtcbiAgICAgICAgZm9ybS5maW5kKCdpbnB1dFt0eXBlPVwic3VibWl0XCJdJykucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcbiAgICAgICAgZm9ybS5maW5kKCdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScpLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSBhbGwgc3VibWl0IGJ1dHRvbnMgb25jZSBjbGlja2VkXG4gICAgICovXG4gICAgJCgnZm9ybScpLnN1Ym1pdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRpc2FibGVTdWJtaXRCdXR0b25zKCQodGhpcykpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEFkZCBhIGNvbmZpcm1hdGlvbiB0byBhIGRlbGV0ZSBidXR0b24vZm9ybVxuICAgICAqL1xuICAgICQoJ2JvZHknKS5vbignc3VibWl0JywgJ2Zvcm1bbmFtZT1kZWxldGUtaXRlbV0nLCBmdW5jdGlvbihlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgaXRlbT8nLFxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnQ29uZmlybSBEZWxldGUnLFxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJtaXQoKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbmFibGVTdWJtaXRCdXR0b25zKCQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KVxuICAgICAgICAub24oJ3N1Ym1pdCcsICdmb3JtW25hbWU9Y29uZmlybS1pdGVtXScsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZG8gdGhpcz8nLFxuICAgICAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICdDb250aW51ZScsXG4gICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXG4gICAgICAgICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0KClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbmFibGVTdWJtaXRCdXR0b25zKCQodGhpcykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAub24oJ2NsaWNrJywgJ2FbbmFtZT1jb25maXJtLWl0ZW1dJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEFkZCBhbiAnYXJlIHlvdSBzdXJlJyBwb3AtdXAgdG8gYW55IGJ1dHRvbi9saW5rXG4gICAgICAgICAqL1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRvIHRoaXM/JyxcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ0NvbnRpbnVlJyxcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdDYW5jZWwnLFxuICAgICAgICAgICAgaWNvbjogJ2luZm8nLFxuICAgICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC52YWx1ZSAmJiB3aW5kb3cubG9jYXRpb24uYXNzaWduKCQodGhpcykuYXR0cignaHJlZicpKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyBSZW1lbWJlciB0YWIgb24gcGFnZSBsb2FkXG4gICAgJCgnYVtkYXRhLXRvZ2dsZT1cInRhYlwiXSwgYVtkYXRhLXRvZ2dsZT1cInBpbGxcIl0nKS5vbignc2hvd24uYnMudGFiJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgbGV0IGhhc2ggPSAkKGUudGFyZ2V0KS5hdHRyKCdocmVmJyk7XG4gICAgICAgIGhpc3RvcnkucHVzaFN0YXRlID8gaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgaGFzaCkgOiBsb2NhdGlvbi5oYXNoID0gaGFzaDtcbiAgICB9KTtcblxuICAgIGxldCBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7XG4gICAgaWYgKGhhc2gpIHtcbiAgICAgICAgJCgnLm5hdi1saW5rW2hyZWY9XCInK2hhc2grJ1wiXScpLnRhYignc2hvdycpO1xuICAgIH1cblxuICAgIC8vIEVuYWJsZSB0b29sdGlwcyBldmVyeXdoZXJlXG4gICAgJCgnW2RhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXScpLnRvb2x0aXAoKTtcbn0pO1xuIiwiLyohXHJcbiAqIHBlcmZlY3Qtc2Nyb2xsYmFyIHYxLjUuMFxyXG4gKiBDb3B5cmlnaHQgMjAyMCBIeXVuamUgSnVuLCBNREJvb3RzdHJhcCBhbmQgQ29udHJpYnV0b3JzXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVFxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIGdldChlbGVtZW50KSB7XHJcbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHNldChlbGVtZW50LCBvYmopIHtcclxuICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XHJcbiAgICB2YXIgdmFsID0gb2JqW2tleV07XHJcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgdmFsID0gdmFsICsgXCJweFwiO1xyXG4gICAgfVxyXG4gICAgZWxlbWVudC5zdHlsZVtrZXldID0gdmFsO1xyXG4gIH1cclxuICByZXR1cm4gZWxlbWVudDtcclxufVxyXG5cclxuZnVuY3Rpb24gZGl2KGNsYXNzTmFtZSkge1xyXG4gIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBkaXYuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xyXG4gIHJldHVybiBkaXY7XHJcbn1cclxuXHJcbnZhciBlbE1hdGNoZXMgPVxyXG4gIHR5cGVvZiBFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJlxyXG4gIChFbGVtZW50LnByb3RvdHlwZS5tYXRjaGVzIHx8XHJcbiAgICBFbGVtZW50LnByb3RvdHlwZS53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHxcclxuICAgIEVsZW1lbnQucHJvdG90eXBlLm1vek1hdGNoZXNTZWxlY3RvciB8fFxyXG4gICAgRWxlbWVudC5wcm90b3R5cGUubXNNYXRjaGVzU2VsZWN0b3IpO1xyXG5cclxuZnVuY3Rpb24gbWF0Y2hlcyhlbGVtZW50LCBxdWVyeSkge1xyXG4gIGlmICghZWxNYXRjaGVzKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGVsZW1lbnQgbWF0Y2hpbmcgbWV0aG9kIHN1cHBvcnRlZCcpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGVsTWF0Y2hlcy5jYWxsKGVsZW1lbnQsIHF1ZXJ5KTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVtb3ZlKGVsZW1lbnQpIHtcclxuICBpZiAoZWxlbWVudC5yZW1vdmUpIHtcclxuICAgIGVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmIChlbGVtZW50LnBhcmVudE5vZGUpIHtcclxuICAgICAgZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gcXVlcnlDaGlsZHJlbihlbGVtZW50LCBzZWxlY3Rvcikge1xyXG4gIHJldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZWxlbWVudC5jaGlsZHJlbiwgZnVuY3Rpb24gKGNoaWxkKSB7IHJldHVybiBtYXRjaGVzKGNoaWxkLCBzZWxlY3Rvcik7IH1cclxuICApO1xyXG59XHJcblxyXG52YXIgY2xzID0ge1xyXG4gIG1haW46ICdwcycsXHJcbiAgcnRsOiAncHNfX3J0bCcsXHJcbiAgZWxlbWVudDoge1xyXG4gICAgdGh1bWI6IGZ1bmN0aW9uICh4KSB7IHJldHVybiAoXCJwc19fdGh1bWItXCIgKyB4KTsgfSxcclxuICAgIHJhaWw6IGZ1bmN0aW9uICh4KSB7IHJldHVybiAoXCJwc19fcmFpbC1cIiArIHgpOyB9LFxyXG4gICAgY29uc3VtaW5nOiAncHNfX2NoaWxkLS1jb25zdW1lJyxcclxuICB9LFxyXG4gIHN0YXRlOiB7XHJcbiAgICBmb2N1czogJ3BzLS1mb2N1cycsXHJcbiAgICBjbGlja2luZzogJ3BzLS1jbGlja2luZycsXHJcbiAgICBhY3RpdmU6IGZ1bmN0aW9uICh4KSB7IHJldHVybiAoXCJwcy0tYWN0aXZlLVwiICsgeCk7IH0sXHJcbiAgICBzY3JvbGxpbmc6IGZ1bmN0aW9uICh4KSB7IHJldHVybiAoXCJwcy0tc2Nyb2xsaW5nLVwiICsgeCk7IH0sXHJcbiAgfSxcclxufTtcclxuXHJcbi8qXHJcbiAqIEhlbHBlciBtZXRob2RzXHJcbiAqL1xyXG52YXIgc2Nyb2xsaW5nQ2xhc3NUaW1lb3V0ID0geyB4OiBudWxsLCB5OiBudWxsIH07XHJcblxyXG5mdW5jdGlvbiBhZGRTY3JvbGxpbmdDbGFzcyhpLCB4KSB7XHJcbiAgdmFyIGNsYXNzTGlzdCA9IGkuZWxlbWVudC5jbGFzc0xpc3Q7XHJcbiAgdmFyIGNsYXNzTmFtZSA9IGNscy5zdGF0ZS5zY3JvbGxpbmcoeCk7XHJcblxyXG4gIGlmIChjbGFzc0xpc3QuY29udGFpbnMoY2xhc3NOYW1lKSkge1xyXG4gICAgY2xlYXJUaW1lb3V0KHNjcm9sbGluZ0NsYXNzVGltZW91dFt4XSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbW92ZVNjcm9sbGluZ0NsYXNzKGksIHgpIHtcclxuICBzY3JvbGxpbmdDbGFzc1RpbWVvdXRbeF0gPSBzZXRUaW1lb3V0KFxyXG4gICAgZnVuY3Rpb24gKCkgeyByZXR1cm4gaS5pc0FsaXZlICYmIGkuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNscy5zdGF0ZS5zY3JvbGxpbmcoeCkpOyB9LFxyXG4gICAgaS5zZXR0aW5ncy5zY3JvbGxpbmdUaHJlc2hvbGRcclxuICApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzZXRTY3JvbGxpbmdDbGFzc0luc3RhbnRseShpLCB4KSB7XHJcbiAgYWRkU2Nyb2xsaW5nQ2xhc3MoaSwgeCk7XHJcbiAgcmVtb3ZlU2Nyb2xsaW5nQ2xhc3MoaSwgeCk7XHJcbn1cclxuXHJcbnZhciBFdmVudEVsZW1lbnQgPSBmdW5jdGlvbiBFdmVudEVsZW1lbnQoZWxlbWVudCkge1xyXG4gIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XHJcbiAgdGhpcy5oYW5kbGVycyA9IHt9O1xyXG59O1xyXG5cclxudmFyIHByb3RvdHlwZUFjY2Vzc29ycyA9IHsgaXNFbXB0eTogeyBjb25maWd1cmFibGU6IHRydWUgfSB9O1xyXG5cclxuRXZlbnRFbGVtZW50LnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gYmluZCAoZXZlbnROYW1lLCBoYW5kbGVyKSB7XHJcbiAgaWYgKHR5cGVvZiB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0gPSBbXTtcclxuICB9XHJcbiAgdGhpcy5oYW5kbGVyc1tldmVudE5hbWVdLnB1c2goaGFuZGxlcik7XHJcbiAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyLCBmYWxzZSk7XHJcbn07XHJcblxyXG5FdmVudEVsZW1lbnQucHJvdG90eXBlLnVuYmluZCA9IGZ1bmN0aW9uIHVuYmluZCAoZXZlbnROYW1lLCB0YXJnZXQpIHtcclxuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xyXG5cclxuICB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0gPSB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0uZmlsdGVyKGZ1bmN0aW9uIChoYW5kbGVyKSB7XHJcbiAgICBpZiAodGFyZ2V0ICYmIGhhbmRsZXIgIT09IHRhcmdldCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMkMS5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyLCBmYWxzZSk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5FdmVudEVsZW1lbnQucHJvdG90eXBlLnVuYmluZEFsbCA9IGZ1bmN0aW9uIHVuYmluZEFsbCAoKSB7XHJcbiAgZm9yICh2YXIgbmFtZSBpbiB0aGlzLmhhbmRsZXJzKSB7XHJcbiAgICB0aGlzLnVuYmluZChuYW1lKTtcclxuICB9XHJcbn07XHJcblxyXG5wcm90b3R5cGVBY2Nlc3NvcnMuaXNFbXB0eS5nZXQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcclxuXHJcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuaGFuZGxlcnMpLmV2ZXJ5KFxyXG4gICAgZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gdGhpcyQxLmhhbmRsZXJzW2tleV0ubGVuZ3RoID09PSAwOyB9XHJcbiAgKTtcclxufTtcclxuXHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCBFdmVudEVsZW1lbnQucHJvdG90eXBlLCBwcm90b3R5cGVBY2Nlc3NvcnMgKTtcclxuXHJcbnZhciBFdmVudE1hbmFnZXIgPSBmdW5jdGlvbiBFdmVudE1hbmFnZXIoKSB7XHJcbiAgdGhpcy5ldmVudEVsZW1lbnRzID0gW107XHJcbn07XHJcblxyXG5FdmVudE1hbmFnZXIucHJvdG90eXBlLmV2ZW50RWxlbWVudCA9IGZ1bmN0aW9uIGV2ZW50RWxlbWVudCAoZWxlbWVudCkge1xyXG4gIHZhciBlZSA9IHRoaXMuZXZlbnRFbGVtZW50cy5maWx0ZXIoZnVuY3Rpb24gKGVlKSB7IHJldHVybiBlZS5lbGVtZW50ID09PSBlbGVtZW50OyB9KVswXTtcclxuICBpZiAoIWVlKSB7XHJcbiAgICBlZSA9IG5ldyBFdmVudEVsZW1lbnQoZWxlbWVudCk7XHJcbiAgICB0aGlzLmV2ZW50RWxlbWVudHMucHVzaChlZSk7XHJcbiAgfVxyXG4gIHJldHVybiBlZTtcclxufTtcclxuXHJcbkV2ZW50TWFuYWdlci5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uIGJpbmQgKGVsZW1lbnQsIGV2ZW50TmFtZSwgaGFuZGxlcikge1xyXG4gIHRoaXMuZXZlbnRFbGVtZW50KGVsZW1lbnQpLmJpbmQoZXZlbnROYW1lLCBoYW5kbGVyKTtcclxufTtcclxuXHJcbkV2ZW50TWFuYWdlci5wcm90b3R5cGUudW5iaW5kID0gZnVuY3Rpb24gdW5iaW5kIChlbGVtZW50LCBldmVudE5hbWUsIGhhbmRsZXIpIHtcclxuICB2YXIgZWUgPSB0aGlzLmV2ZW50RWxlbWVudChlbGVtZW50KTtcclxuICBlZS51bmJpbmQoZXZlbnROYW1lLCBoYW5kbGVyKTtcclxuXHJcbiAgaWYgKGVlLmlzRW1wdHkpIHtcclxuICAgIC8vIHJlbW92ZVxyXG4gICAgdGhpcy5ldmVudEVsZW1lbnRzLnNwbGljZSh0aGlzLmV2ZW50RWxlbWVudHMuaW5kZXhPZihlZSksIDEpO1xyXG4gIH1cclxufTtcclxuXHJcbkV2ZW50TWFuYWdlci5wcm90b3R5cGUudW5iaW5kQWxsID0gZnVuY3Rpb24gdW5iaW5kQWxsICgpIHtcclxuICB0aGlzLmV2ZW50RWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS51bmJpbmRBbGwoKTsgfSk7XHJcbiAgdGhpcy5ldmVudEVsZW1lbnRzID0gW107XHJcbn07XHJcblxyXG5FdmVudE1hbmFnZXIucHJvdG90eXBlLm9uY2UgPSBmdW5jdGlvbiBvbmNlIChlbGVtZW50LCBldmVudE5hbWUsIGhhbmRsZXIpIHtcclxuICB2YXIgZWUgPSB0aGlzLmV2ZW50RWxlbWVudChlbGVtZW50KTtcclxuICB2YXIgb25jZUhhbmRsZXIgPSBmdW5jdGlvbiAoZXZ0KSB7XHJcbiAgICBlZS51bmJpbmQoZXZlbnROYW1lLCBvbmNlSGFuZGxlcik7XHJcbiAgICBoYW5kbGVyKGV2dCk7XHJcbiAgfTtcclxuICBlZS5iaW5kKGV2ZW50TmFtZSwgb25jZUhhbmRsZXIpO1xyXG59O1xyXG5cclxuZnVuY3Rpb24gY3JlYXRlRXZlbnQobmFtZSkge1xyXG4gIGlmICh0eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gbmV3IEN1c3RvbUV2ZW50KG5hbWUpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XHJcbiAgICBldnQuaW5pdEN1c3RvbUV2ZW50KG5hbWUsIGZhbHNlLCBmYWxzZSwgdW5kZWZpbmVkKTtcclxuICAgIHJldHVybiBldnQ7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBwcm9jZXNzU2Nyb2xsRGlmZihcclxuICBpLFxyXG4gIGF4aXMsXHJcbiAgZGlmZixcclxuICB1c2VTY3JvbGxpbmdDbGFzcyxcclxuICBmb3JjZUZpcmVSZWFjaEV2ZW50XHJcbikge1xyXG4gIGlmICggdXNlU2Nyb2xsaW5nQ2xhc3MgPT09IHZvaWQgMCApIHVzZVNjcm9sbGluZ0NsYXNzID0gdHJ1ZTtcclxuICBpZiAoIGZvcmNlRmlyZVJlYWNoRXZlbnQgPT09IHZvaWQgMCApIGZvcmNlRmlyZVJlYWNoRXZlbnQgPSBmYWxzZTtcclxuXHJcbiAgdmFyIGZpZWxkcztcclxuICBpZiAoYXhpcyA9PT0gJ3RvcCcpIHtcclxuICAgIGZpZWxkcyA9IFtcclxuICAgICAgJ2NvbnRlbnRIZWlnaHQnLFxyXG4gICAgICAnY29udGFpbmVySGVpZ2h0JyxcclxuICAgICAgJ3Njcm9sbFRvcCcsXHJcbiAgICAgICd5JyxcclxuICAgICAgJ3VwJyxcclxuICAgICAgJ2Rvd24nIF07XHJcbiAgfSBlbHNlIGlmIChheGlzID09PSAnbGVmdCcpIHtcclxuICAgIGZpZWxkcyA9IFtcclxuICAgICAgJ2NvbnRlbnRXaWR0aCcsXHJcbiAgICAgICdjb250YWluZXJXaWR0aCcsXHJcbiAgICAgICdzY3JvbGxMZWZ0JyxcclxuICAgICAgJ3gnLFxyXG4gICAgICAnbGVmdCcsXHJcbiAgICAgICdyaWdodCcgXTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIHByb3BlciBheGlzIHNob3VsZCBiZSBwcm92aWRlZCcpO1xyXG4gIH1cclxuXHJcbiAgcHJvY2Vzc1Njcm9sbERpZmYkMShpLCBkaWZmLCBmaWVsZHMsIHVzZVNjcm9sbGluZ0NsYXNzLCBmb3JjZUZpcmVSZWFjaEV2ZW50KTtcclxufVxyXG5cclxuZnVuY3Rpb24gcHJvY2Vzc1Njcm9sbERpZmYkMShcclxuICBpLFxyXG4gIGRpZmYsXHJcbiAgcmVmLFxyXG4gIHVzZVNjcm9sbGluZ0NsYXNzLFxyXG4gIGZvcmNlRmlyZVJlYWNoRXZlbnRcclxuKSB7XHJcbiAgdmFyIGNvbnRlbnRIZWlnaHQgPSByZWZbMF07XHJcbiAgdmFyIGNvbnRhaW5lckhlaWdodCA9IHJlZlsxXTtcclxuICB2YXIgc2Nyb2xsVG9wID0gcmVmWzJdO1xyXG4gIHZhciB5ID0gcmVmWzNdO1xyXG4gIHZhciB1cCA9IHJlZls0XTtcclxuICB2YXIgZG93biA9IHJlZls1XTtcclxuICBpZiAoIHVzZVNjcm9sbGluZ0NsYXNzID09PSB2b2lkIDAgKSB1c2VTY3JvbGxpbmdDbGFzcyA9IHRydWU7XHJcbiAgaWYgKCBmb3JjZUZpcmVSZWFjaEV2ZW50ID09PSB2b2lkIDAgKSBmb3JjZUZpcmVSZWFjaEV2ZW50ID0gZmFsc2U7XHJcblxyXG4gIHZhciBlbGVtZW50ID0gaS5lbGVtZW50O1xyXG5cclxuICAvLyByZXNldCByZWFjaFxyXG4gIGkucmVhY2hbeV0gPSBudWxsO1xyXG5cclxuICAvLyAxIGZvciBzdWJwaXhlbCByb3VuZGluZ1xyXG4gIGlmIChlbGVtZW50W3Njcm9sbFRvcF0gPCAxKSB7XHJcbiAgICBpLnJlYWNoW3ldID0gJ3N0YXJ0JztcclxuICB9XHJcblxyXG4gIC8vIDEgZm9yIHN1YnBpeGVsIHJvdW5kaW5nXHJcbiAgaWYgKGVsZW1lbnRbc2Nyb2xsVG9wXSA+IGlbY29udGVudEhlaWdodF0gLSBpW2NvbnRhaW5lckhlaWdodF0gLSAxKSB7XHJcbiAgICBpLnJlYWNoW3ldID0gJ2VuZCc7XHJcbiAgfVxyXG5cclxuICBpZiAoZGlmZikge1xyXG4gICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGNyZWF0ZUV2ZW50KChcInBzLXNjcm9sbC1cIiArIHkpKSk7XHJcblxyXG4gICAgaWYgKGRpZmYgPCAwKSB7XHJcbiAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudCgoXCJwcy1zY3JvbGwtXCIgKyB1cCkpKTtcclxuICAgIH0gZWxzZSBpZiAoZGlmZiA+IDApIHtcclxuICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGNyZWF0ZUV2ZW50KChcInBzLXNjcm9sbC1cIiArIGRvd24pKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHVzZVNjcm9sbGluZ0NsYXNzKSB7XHJcbiAgICAgIHNldFNjcm9sbGluZ0NsYXNzSW5zdGFudGx5KGksIHkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYgKGkucmVhY2hbeV0gJiYgKGRpZmYgfHwgZm9yY2VGaXJlUmVhY2hFdmVudCkpIHtcclxuICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudCgoXCJwcy1cIiArIHkgKyBcIi1yZWFjaC1cIiArIChpLnJlYWNoW3ldKSkpKTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvSW50KHgpIHtcclxuICByZXR1cm4gcGFyc2VJbnQoeCwgMTApIHx8IDA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzRWRpdGFibGUoZWwpIHtcclxuICByZXR1cm4gKFxyXG4gICAgbWF0Y2hlcyhlbCwgJ2lucHV0LFtjb250ZW50ZWRpdGFibGVdJykgfHxcclxuICAgIG1hdGNoZXMoZWwsICdzZWxlY3QsW2NvbnRlbnRlZGl0YWJsZV0nKSB8fFxyXG4gICAgbWF0Y2hlcyhlbCwgJ3RleHRhcmVhLFtjb250ZW50ZWRpdGFibGVdJykgfHxcclxuICAgIG1hdGNoZXMoZWwsICdidXR0b24sW2NvbnRlbnRlZGl0YWJsZV0nKVxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG91dGVyV2lkdGgoZWxlbWVudCkge1xyXG4gIHZhciBzdHlsZXMgPSBnZXQoZWxlbWVudCk7XHJcbiAgcmV0dXJuIChcclxuICAgIHRvSW50KHN0eWxlcy53aWR0aCkgK1xyXG4gICAgdG9JbnQoc3R5bGVzLnBhZGRpbmdMZWZ0KSArXHJcbiAgICB0b0ludChzdHlsZXMucGFkZGluZ1JpZ2h0KSArXHJcbiAgICB0b0ludChzdHlsZXMuYm9yZGVyTGVmdFdpZHRoKSArXHJcbiAgICB0b0ludChzdHlsZXMuYm9yZGVyUmlnaHRXaWR0aClcclxuICApO1xyXG59XHJcblxyXG52YXIgZW52ID0ge1xyXG4gIGlzV2ViS2l0OlxyXG4gICAgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJlxyXG4gICAgJ1dlYmtpdEFwcGVhcmFuY2UnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSxcclxuICBzdXBwb3J0c1RvdWNoOlxyXG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcclxuICAgICgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cgfHxcclxuICAgICAgKCdtYXhUb3VjaFBvaW50cycgaW4gd2luZG93Lm5hdmlnYXRvciAmJlxyXG4gICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAwKSB8fFxyXG4gICAgICAod2luZG93LkRvY3VtZW50VG91Y2ggJiYgZG9jdW1lbnQgaW5zdGFuY2VvZiB3aW5kb3cuRG9jdW1lbnRUb3VjaCkpLFxyXG4gIHN1cHBvcnRzSWVQb2ludGVyOlxyXG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHMsXHJcbiAgaXNDaHJvbWU6XHJcbiAgICB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJlxyXG4gICAgL0Nocm9tZS9pLnRlc3QobmF2aWdhdG9yICYmIG5hdmlnYXRvci51c2VyQWdlbnQpLFxyXG59O1xyXG5cclxuZnVuY3Rpb24gdXBkYXRlR2VvbWV0cnkoaSkge1xyXG4gIHZhciBlbGVtZW50ID0gaS5lbGVtZW50O1xyXG4gIHZhciByb3VuZGVkU2Nyb2xsVG9wID0gTWF0aC5mbG9vcihlbGVtZW50LnNjcm9sbFRvcCk7XHJcbiAgdmFyIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICBpLmNvbnRhaW5lcldpZHRoID0gTWF0aC5jZWlsKHJlY3Qud2lkdGgpO1xyXG4gIGkuY29udGFpbmVySGVpZ2h0ID0gTWF0aC5jZWlsKHJlY3QuaGVpZ2h0KTtcclxuICBpLmNvbnRlbnRXaWR0aCA9IGVsZW1lbnQuc2Nyb2xsV2lkdGg7XHJcbiAgaS5jb250ZW50SGVpZ2h0ID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcblxyXG4gIGlmICghZWxlbWVudC5jb250YWlucyhpLnNjcm9sbGJhclhSYWlsKSkge1xyXG4gICAgLy8gY2xlYW4gdXAgYW5kIGFwcGVuZFxyXG4gICAgcXVlcnlDaGlsZHJlbihlbGVtZW50LCBjbHMuZWxlbWVudC5yYWlsKCd4JykpLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7IHJldHVybiByZW1vdmUoZWwpOyB9XHJcbiAgICApO1xyXG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZChpLnNjcm9sbGJhclhSYWlsKTtcclxuICB9XHJcbiAgaWYgKCFlbGVtZW50LmNvbnRhaW5zKGkuc2Nyb2xsYmFyWVJhaWwpKSB7XHJcbiAgICAvLyBjbGVhbiB1cCBhbmQgYXBwZW5kXHJcbiAgICBxdWVyeUNoaWxkcmVuKGVsZW1lbnQsIGNscy5lbGVtZW50LnJhaWwoJ3knKSkuZm9yRWFjaChmdW5jdGlvbiAoZWwpIHsgcmV0dXJuIHJlbW92ZShlbCk7IH1cclxuICAgICk7XHJcbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKGkuc2Nyb2xsYmFyWVJhaWwpO1xyXG4gIH1cclxuXHJcbiAgaWYgKFxyXG4gICAgIWkuc2V0dGluZ3Muc3VwcHJlc3NTY3JvbGxYICYmXHJcbiAgICBpLmNvbnRhaW5lcldpZHRoICsgaS5zZXR0aW5ncy5zY3JvbGxYTWFyZ2luT2Zmc2V0IDwgaS5jb250ZW50V2lkdGhcclxuICApIHtcclxuICAgIGkuc2Nyb2xsYmFyWEFjdGl2ZSA9IHRydWU7XHJcbiAgICBpLnJhaWxYV2lkdGggPSBpLmNvbnRhaW5lcldpZHRoIC0gaS5yYWlsWE1hcmdpbldpZHRoO1xyXG4gICAgaS5yYWlsWFJhdGlvID0gaS5jb250YWluZXJXaWR0aCAvIGkucmFpbFhXaWR0aDtcclxuICAgIGkuc2Nyb2xsYmFyWFdpZHRoID0gZ2V0VGh1bWJTaXplKFxyXG4gICAgICBpLFxyXG4gICAgICB0b0ludCgoaS5yYWlsWFdpZHRoICogaS5jb250YWluZXJXaWR0aCkgLyBpLmNvbnRlbnRXaWR0aClcclxuICAgICk7XHJcbiAgICBpLnNjcm9sbGJhclhMZWZ0ID0gdG9JbnQoXHJcbiAgICAgICgoaS5uZWdhdGl2ZVNjcm9sbEFkanVzdG1lbnQgKyBlbGVtZW50LnNjcm9sbExlZnQpICpcclxuICAgICAgICAoaS5yYWlsWFdpZHRoIC0gaS5zY3JvbGxiYXJYV2lkdGgpKSAvXHJcbiAgICAgICAgKGkuY29udGVudFdpZHRoIC0gaS5jb250YWluZXJXaWR0aClcclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGkuc2Nyb2xsYmFyWEFjdGl2ZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaWYgKFxyXG4gICAgIWkuc2V0dGluZ3Muc3VwcHJlc3NTY3JvbGxZICYmXHJcbiAgICBpLmNvbnRhaW5lckhlaWdodCArIGkuc2V0dGluZ3Muc2Nyb2xsWU1hcmdpbk9mZnNldCA8IGkuY29udGVudEhlaWdodFxyXG4gICkge1xyXG4gICAgaS5zY3JvbGxiYXJZQWN0aXZlID0gdHJ1ZTtcclxuICAgIGkucmFpbFlIZWlnaHQgPSBpLmNvbnRhaW5lckhlaWdodCAtIGkucmFpbFlNYXJnaW5IZWlnaHQ7XHJcbiAgICBpLnJhaWxZUmF0aW8gPSBpLmNvbnRhaW5lckhlaWdodCAvIGkucmFpbFlIZWlnaHQ7XHJcbiAgICBpLnNjcm9sbGJhcllIZWlnaHQgPSBnZXRUaHVtYlNpemUoXHJcbiAgICAgIGksXHJcbiAgICAgIHRvSW50KChpLnJhaWxZSGVpZ2h0ICogaS5jb250YWluZXJIZWlnaHQpIC8gaS5jb250ZW50SGVpZ2h0KVxyXG4gICAgKTtcclxuICAgIGkuc2Nyb2xsYmFyWVRvcCA9IHRvSW50KFxyXG4gICAgICAocm91bmRlZFNjcm9sbFRvcCAqIChpLnJhaWxZSGVpZ2h0IC0gaS5zY3JvbGxiYXJZSGVpZ2h0KSkgL1xyXG4gICAgICAgIChpLmNvbnRlbnRIZWlnaHQgLSBpLmNvbnRhaW5lckhlaWdodClcclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGkuc2Nyb2xsYmFyWUFjdGl2ZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaWYgKGkuc2Nyb2xsYmFyWExlZnQgPj0gaS5yYWlsWFdpZHRoIC0gaS5zY3JvbGxiYXJYV2lkdGgpIHtcclxuICAgIGkuc2Nyb2xsYmFyWExlZnQgPSBpLnJhaWxYV2lkdGggLSBpLnNjcm9sbGJhclhXaWR0aDtcclxuICB9XHJcbiAgaWYgKGkuc2Nyb2xsYmFyWVRvcCA+PSBpLnJhaWxZSGVpZ2h0IC0gaS5zY3JvbGxiYXJZSGVpZ2h0KSB7XHJcbiAgICBpLnNjcm9sbGJhcllUb3AgPSBpLnJhaWxZSGVpZ2h0IC0gaS5zY3JvbGxiYXJZSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ3NzKGVsZW1lbnQsIGkpO1xyXG5cclxuICBpZiAoaS5zY3JvbGxiYXJYQWN0aXZlKSB7XHJcbiAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xzLnN0YXRlLmFjdGl2ZSgneCcpKTtcclxuICB9IGVsc2Uge1xyXG4gICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNscy5zdGF0ZS5hY3RpdmUoJ3gnKSk7XHJcbiAgICBpLnNjcm9sbGJhclhXaWR0aCA9IDA7XHJcbiAgICBpLnNjcm9sbGJhclhMZWZ0ID0gMDtcclxuICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IGkuaXNSdGwgPT09IHRydWUgPyBpLmNvbnRlbnRXaWR0aCA6IDA7XHJcbiAgfVxyXG4gIGlmIChpLnNjcm9sbGJhcllBY3RpdmUpIHtcclxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbHMuc3RhdGUuYWN0aXZlKCd5JykpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xzLnN0YXRlLmFjdGl2ZSgneScpKTtcclxuICAgIGkuc2Nyb2xsYmFyWUhlaWdodCA9IDA7XHJcbiAgICBpLnNjcm9sbGJhcllUb3AgPSAwO1xyXG4gICAgZWxlbWVudC5zY3JvbGxUb3AgPSAwO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0VGh1bWJTaXplKGksIHRodW1iU2l6ZSkge1xyXG4gIGlmIChpLnNldHRpbmdzLm1pblNjcm9sbGJhckxlbmd0aCkge1xyXG4gICAgdGh1bWJTaXplID0gTWF0aC5tYXgodGh1bWJTaXplLCBpLnNldHRpbmdzLm1pblNjcm9sbGJhckxlbmd0aCk7XHJcbiAgfVxyXG4gIGlmIChpLnNldHRpbmdzLm1heFNjcm9sbGJhckxlbmd0aCkge1xyXG4gICAgdGh1bWJTaXplID0gTWF0aC5taW4odGh1bWJTaXplLCBpLnNldHRpbmdzLm1heFNjcm9sbGJhckxlbmd0aCk7XHJcbiAgfVxyXG4gIHJldHVybiB0aHVtYlNpemU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZUNzcyhlbGVtZW50LCBpKSB7XHJcbiAgdmFyIHhSYWlsT2Zmc2V0ID0geyB3aWR0aDogaS5yYWlsWFdpZHRoIH07XHJcbiAgdmFyIHJvdW5kZWRTY3JvbGxUb3AgPSBNYXRoLmZsb29yKGVsZW1lbnQuc2Nyb2xsVG9wKTtcclxuXHJcbiAgaWYgKGkuaXNSdGwpIHtcclxuICAgIHhSYWlsT2Zmc2V0LmxlZnQgPVxyXG4gICAgICBpLm5lZ2F0aXZlU2Nyb2xsQWRqdXN0bWVudCArXHJcbiAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArXHJcbiAgICAgIGkuY29udGFpbmVyV2lkdGggLVxyXG4gICAgICBpLmNvbnRlbnRXaWR0aDtcclxuICB9IGVsc2Uge1xyXG4gICAgeFJhaWxPZmZzZXQubGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICB9XHJcbiAgaWYgKGkuaXNTY3JvbGxiYXJYVXNpbmdCb3R0b20pIHtcclxuICAgIHhSYWlsT2Zmc2V0LmJvdHRvbSA9IGkuc2Nyb2xsYmFyWEJvdHRvbSAtIHJvdW5kZWRTY3JvbGxUb3A7XHJcbiAgfSBlbHNlIHtcclxuICAgIHhSYWlsT2Zmc2V0LnRvcCA9IGkuc2Nyb2xsYmFyWFRvcCArIHJvdW5kZWRTY3JvbGxUb3A7XHJcbiAgfVxyXG4gIHNldChpLnNjcm9sbGJhclhSYWlsLCB4UmFpbE9mZnNldCk7XHJcblxyXG4gIHZhciB5UmFpbE9mZnNldCA9IHsgdG9wOiByb3VuZGVkU2Nyb2xsVG9wLCBoZWlnaHQ6IGkucmFpbFlIZWlnaHQgfTtcclxuICBpZiAoaS5pc1Njcm9sbGJhcllVc2luZ1JpZ2h0KSB7XHJcbiAgICBpZiAoaS5pc1J0bCkge1xyXG4gICAgICB5UmFpbE9mZnNldC5yaWdodCA9XHJcbiAgICAgICAgaS5jb250ZW50V2lkdGggLVxyXG4gICAgICAgIChpLm5lZ2F0aXZlU2Nyb2xsQWRqdXN0bWVudCArIGVsZW1lbnQuc2Nyb2xsTGVmdCkgLVxyXG4gICAgICAgIGkuc2Nyb2xsYmFyWVJpZ2h0IC1cclxuICAgICAgICBpLnNjcm9sbGJhcllPdXRlcldpZHRoIC1cclxuICAgICAgICA5O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgeVJhaWxPZmZzZXQucmlnaHQgPSBpLnNjcm9sbGJhcllSaWdodCAtIGVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgaWYgKGkuaXNSdGwpIHtcclxuICAgICAgeVJhaWxPZmZzZXQubGVmdCA9XHJcbiAgICAgICAgaS5uZWdhdGl2ZVNjcm9sbEFkanVzdG1lbnQgK1xyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArXHJcbiAgICAgICAgaS5jb250YWluZXJXaWR0aCAqIDIgLVxyXG4gICAgICAgIGkuY29udGVudFdpZHRoIC1cclxuICAgICAgICBpLnNjcm9sbGJhcllMZWZ0IC1cclxuICAgICAgICBpLnNjcm9sbGJhcllPdXRlcldpZHRoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgeVJhaWxPZmZzZXQubGVmdCA9IGkuc2Nyb2xsYmFyWUxlZnQgKyBlbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldChpLnNjcm9sbGJhcllSYWlsLCB5UmFpbE9mZnNldCk7XHJcblxyXG4gIHNldChpLnNjcm9sbGJhclgsIHtcclxuICAgIGxlZnQ6IGkuc2Nyb2xsYmFyWExlZnQsXHJcbiAgICB3aWR0aDogaS5zY3JvbGxiYXJYV2lkdGggLSBpLnJhaWxCb3JkZXJYV2lkdGgsXHJcbiAgfSk7XHJcbiAgc2V0KGkuc2Nyb2xsYmFyWSwge1xyXG4gICAgdG9wOiBpLnNjcm9sbGJhcllUb3AsXHJcbiAgICBoZWlnaHQ6IGkuc2Nyb2xsYmFyWUhlaWdodCAtIGkucmFpbEJvcmRlcllXaWR0aCxcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2xpY2tSYWlsKGkpIHtcclxuICB2YXIgZWxlbWVudCA9IGkuZWxlbWVudDtcclxuXHJcbiAgaS5ldmVudC5iaW5kKGkuc2Nyb2xsYmFyWSwgJ21vdXNlZG93bicsIGZ1bmN0aW9uIChlKSB7IHJldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpOyB9KTtcclxuICBpLmV2ZW50LmJpbmQoaS5zY3JvbGxiYXJZUmFpbCwgJ21vdXNlZG93bicsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICB2YXIgcG9zaXRpb25Ub3AgPVxyXG4gICAgICBlLnBhZ2VZIC1cclxuICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IC1cclxuICAgICAgaS5zY3JvbGxiYXJZUmFpbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XHJcbiAgICB2YXIgZGlyZWN0aW9uID0gcG9zaXRpb25Ub3AgPiBpLnNjcm9sbGJhcllUb3AgPyAxIDogLTE7XHJcblxyXG4gICAgaS5lbGVtZW50LnNjcm9sbFRvcCArPSBkaXJlY3Rpb24gKiBpLmNvbnRhaW5lckhlaWdodDtcclxuICAgIHVwZGF0ZUdlb21ldHJ5KGkpO1xyXG5cclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfSk7XHJcblxyXG4gIGkuZXZlbnQuYmluZChpLnNjcm9sbGJhclgsICdtb3VzZWRvd24nLCBmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKTsgfSk7XHJcbiAgaS5ldmVudC5iaW5kKGkuc2Nyb2xsYmFyWFJhaWwsICdtb3VzZWRvd24nLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHBvc2l0aW9uTGVmdCA9XHJcbiAgICAgIGUucGFnZVggLVxyXG4gICAgICB3aW5kb3cucGFnZVhPZmZzZXQgLVxyXG4gICAgICBpLnNjcm9sbGJhclhSYWlsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XHJcbiAgICB2YXIgZGlyZWN0aW9uID0gcG9zaXRpb25MZWZ0ID4gaS5zY3JvbGxiYXJYTGVmdCA/IDEgOiAtMTtcclxuXHJcbiAgICBpLmVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkaXJlY3Rpb24gKiBpLmNvbnRhaW5lcldpZHRoO1xyXG4gICAgdXBkYXRlR2VvbWV0cnkoaSk7XHJcblxyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gZHJhZ1RodW1iKGkpIHtcclxuICBiaW5kTW91c2VTY3JvbGxIYW5kbGVyKGksIFtcclxuICAgICdjb250YWluZXJXaWR0aCcsXHJcbiAgICAnY29udGVudFdpZHRoJyxcclxuICAgICdwYWdlWCcsXHJcbiAgICAncmFpbFhXaWR0aCcsXHJcbiAgICAnc2Nyb2xsYmFyWCcsXHJcbiAgICAnc2Nyb2xsYmFyWFdpZHRoJyxcclxuICAgICdzY3JvbGxMZWZ0JyxcclxuICAgICd4JyxcclxuICAgICdzY3JvbGxiYXJYUmFpbCcgXSk7XHJcbiAgYmluZE1vdXNlU2Nyb2xsSGFuZGxlcihpLCBbXHJcbiAgICAnY29udGFpbmVySGVpZ2h0JyxcclxuICAgICdjb250ZW50SGVpZ2h0JyxcclxuICAgICdwYWdlWScsXHJcbiAgICAncmFpbFlIZWlnaHQnLFxyXG4gICAgJ3Njcm9sbGJhclknLFxyXG4gICAgJ3Njcm9sbGJhcllIZWlnaHQnLFxyXG4gICAgJ3Njcm9sbFRvcCcsXHJcbiAgICAneScsXHJcbiAgICAnc2Nyb2xsYmFyWVJhaWwnIF0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBiaW5kTW91c2VTY3JvbGxIYW5kbGVyKFxyXG4gIGksXHJcbiAgcmVmXHJcbikge1xyXG4gIHZhciBjb250YWluZXJIZWlnaHQgPSByZWZbMF07XHJcbiAgdmFyIGNvbnRlbnRIZWlnaHQgPSByZWZbMV07XHJcbiAgdmFyIHBhZ2VZID0gcmVmWzJdO1xyXG4gIHZhciByYWlsWUhlaWdodCA9IHJlZlszXTtcclxuICB2YXIgc2Nyb2xsYmFyWSA9IHJlZls0XTtcclxuICB2YXIgc2Nyb2xsYmFyWUhlaWdodCA9IHJlZls1XTtcclxuICB2YXIgc2Nyb2xsVG9wID0gcmVmWzZdO1xyXG4gIHZhciB5ID0gcmVmWzddO1xyXG4gIHZhciBzY3JvbGxiYXJZUmFpbCA9IHJlZls4XTtcclxuXHJcbiAgdmFyIGVsZW1lbnQgPSBpLmVsZW1lbnQ7XHJcblxyXG4gIHZhciBzdGFydGluZ1Njcm9sbFRvcCA9IG51bGw7XHJcbiAgdmFyIHN0YXJ0aW5nTW91c2VQYWdlWSA9IG51bGw7XHJcbiAgdmFyIHNjcm9sbEJ5ID0gbnVsbDtcclxuXHJcbiAgZnVuY3Rpb24gbW91c2VNb3ZlSGFuZGxlcihlKSB7XHJcbiAgICBpZiAoZS50b3VjaGVzICYmIGUudG91Y2hlc1swXSkge1xyXG4gICAgICBlW3BhZ2VZXSA9IGUudG91Y2hlc1swXS5wYWdlWTtcclxuICAgIH1cclxuICAgIGVsZW1lbnRbc2Nyb2xsVG9wXSA9XHJcbiAgICAgIHN0YXJ0aW5nU2Nyb2xsVG9wICsgc2Nyb2xsQnkgKiAoZVtwYWdlWV0gLSBzdGFydGluZ01vdXNlUGFnZVkpO1xyXG4gICAgYWRkU2Nyb2xsaW5nQ2xhc3MoaSwgeSk7XHJcbiAgICB1cGRhdGVHZW9tZXRyeShpKTtcclxuXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gbW91c2VVcEhhbmRsZXIoKSB7XHJcbiAgICByZW1vdmVTY3JvbGxpbmdDbGFzcyhpLCB5KTtcclxuICAgIGlbc2Nyb2xsYmFyWVJhaWxdLmNsYXNzTGlzdC5yZW1vdmUoY2xzLnN0YXRlLmNsaWNraW5nKTtcclxuICAgIGkuZXZlbnQudW5iaW5kKGkub3duZXJEb2N1bWVudCwgJ21vdXNlbW92ZScsIG1vdXNlTW92ZUhhbmRsZXIpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gYmluZE1vdmVzKGUsIHRvdWNoTW9kZSkge1xyXG4gICAgc3RhcnRpbmdTY3JvbGxUb3AgPSBlbGVtZW50W3Njcm9sbFRvcF07XHJcbiAgICBpZiAodG91Y2hNb2RlICYmIGUudG91Y2hlcykge1xyXG4gICAgICBlW3BhZ2VZXSA9IGUudG91Y2hlc1swXS5wYWdlWTtcclxuICAgIH1cclxuICAgIHN0YXJ0aW5nTW91c2VQYWdlWSA9IGVbcGFnZVldO1xyXG4gICAgc2Nyb2xsQnkgPVxyXG4gICAgICAoaVtjb250ZW50SGVpZ2h0XSAtIGlbY29udGFpbmVySGVpZ2h0XSkgL1xyXG4gICAgICAoaVtyYWlsWUhlaWdodF0gLSBpW3Njcm9sbGJhcllIZWlnaHRdKTtcclxuICAgIGlmICghdG91Y2hNb2RlKSB7XHJcbiAgICAgIGkuZXZlbnQuYmluZChpLm93bmVyRG9jdW1lbnQsICdtb3VzZW1vdmUnLCBtb3VzZU1vdmVIYW5kbGVyKTtcclxuICAgICAgaS5ldmVudC5vbmNlKGkub3duZXJEb2N1bWVudCwgJ21vdXNldXAnLCBtb3VzZVVwSGFuZGxlcik7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGkuZXZlbnQuYmluZChpLm93bmVyRG9jdW1lbnQsICd0b3VjaG1vdmUnLCBtb3VzZU1vdmVIYW5kbGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBpW3Njcm9sbGJhcllSYWlsXS5jbGFzc0xpc3QuYWRkKGNscy5zdGF0ZS5jbGlja2luZyk7XHJcblxyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGkuZXZlbnQuYmluZChpW3Njcm9sbGJhclldLCAnbW91c2Vkb3duJywgZnVuY3Rpb24gKGUpIHtcclxuICAgIGJpbmRNb3ZlcyhlKTtcclxuICB9KTtcclxuICBpLmV2ZW50LmJpbmQoaVtzY3JvbGxiYXJZXSwgJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgYmluZE1vdmVzKGUsIHRydWUpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBrZXlib2FyZChpKSB7XHJcbiAgdmFyIGVsZW1lbnQgPSBpLmVsZW1lbnQ7XHJcblxyXG4gIHZhciBlbGVtZW50SG92ZXJlZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG1hdGNoZXMoZWxlbWVudCwgJzpob3ZlcicpOyB9O1xyXG4gIHZhciBzY3JvbGxiYXJGb2N1c2VkID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gbWF0Y2hlcyhpLnNjcm9sbGJhclgsICc6Zm9jdXMnKSB8fCBtYXRjaGVzKGkuc2Nyb2xsYmFyWSwgJzpmb2N1cycpOyB9O1xyXG5cclxuICBmdW5jdGlvbiBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSkge1xyXG4gICAgdmFyIHNjcm9sbFRvcCA9IE1hdGguZmxvb3IoZWxlbWVudC5zY3JvbGxUb3ApO1xyXG4gICAgaWYgKGRlbHRhWCA9PT0gMCkge1xyXG4gICAgICBpZiAoIWkuc2Nyb2xsYmFyWUFjdGl2ZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHNjcm9sbFRvcCA9PT0gMCAmJiBkZWx0YVkgPiAwKSB8fFxyXG4gICAgICAgIChzY3JvbGxUb3AgPj0gaS5jb250ZW50SGVpZ2h0IC0gaS5jb250YWluZXJIZWlnaHQgJiYgZGVsdGFZIDwgMClcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuICFpLnNldHRpbmdzLndoZWVsUHJvcGFnYXRpb247XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2YXIgc2Nyb2xsTGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICAgIGlmIChkZWx0YVkgPT09IDApIHtcclxuICAgICAgaWYgKCFpLnNjcm9sbGJhclhBY3RpdmUpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIChzY3JvbGxMZWZ0ID09PSAwICYmIGRlbHRhWCA8IDApIHx8XHJcbiAgICAgICAgKHNjcm9sbExlZnQgPj0gaS5jb250ZW50V2lkdGggLSBpLmNvbnRhaW5lcldpZHRoICYmIGRlbHRhWCA+IDApXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAhaS5zZXR0aW5ncy53aGVlbFByb3BhZ2F0aW9uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGkuZXZlbnQuYmluZChpLm93bmVyRG9jdW1lbnQsICdrZXlkb3duJywgZnVuY3Rpb24gKGUpIHtcclxuICAgIGlmIChcclxuICAgICAgKGUuaXNEZWZhdWx0UHJldmVudGVkICYmIGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHx8XHJcbiAgICAgIGUuZGVmYXVsdFByZXZlbnRlZFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWVsZW1lbnRIb3ZlcmVkKCkgJiYgIXNjcm9sbGJhckZvY3VzZWQoKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50XHJcbiAgICAgID8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudFxyXG4gICAgICA6IGkub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xyXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0lGUkFNRScpIHtcclxuICAgICAgICBhY3RpdmVFbGVtZW50ID0gYWN0aXZlRWxlbWVudC5jb250ZW50RG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBnbyBkZWVwZXIgaWYgZWxlbWVudCBpcyBhIHdlYmNvbXBvbmVudFxyXG4gICAgICAgIHdoaWxlIChhY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QpIHtcclxuICAgICAgICAgIGFjdGl2ZUVsZW1lbnQgPSBhY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzRWRpdGFibGUoYWN0aXZlRWxlbWVudCkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2YXIgZGVsdGFYID0gMDtcclxuICAgIHZhciBkZWx0YVkgPSAwO1xyXG5cclxuICAgIHN3aXRjaCAoZS53aGljaCkge1xyXG4gICAgICBjYXNlIDM3OiAvLyBsZWZ0XHJcbiAgICAgICAgaWYgKGUubWV0YUtleSkge1xyXG4gICAgICAgICAgZGVsdGFYID0gLWkuY29udGVudFdpZHRoO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZS5hbHRLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWCA9IC1pLmNvbnRhaW5lcldpZHRoO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBkZWx0YVggPSAtMzA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM4OiAvLyB1cFxyXG4gICAgICAgIGlmIChlLm1ldGFLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWSA9IGkuY29udGVudEhlaWdodDtcclxuICAgICAgICB9IGVsc2UgaWYgKGUuYWx0S2V5KSB7XHJcbiAgICAgICAgICBkZWx0YVkgPSBpLmNvbnRhaW5lckhlaWdodDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZGVsdGFZID0gMzA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM5OiAvLyByaWdodFxyXG4gICAgICAgIGlmIChlLm1ldGFLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWCA9IGkuY29udGVudFdpZHRoO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZS5hbHRLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWCA9IGkuY29udGFpbmVyV2lkdGg7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGRlbHRhWCA9IDMwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA0MDogLy8gZG93blxyXG4gICAgICAgIGlmIChlLm1ldGFLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWSA9IC1pLmNvbnRlbnRIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlLmFsdEtleSkge1xyXG4gICAgICAgICAgZGVsdGFZID0gLWkuY29udGFpbmVySGVpZ2h0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBkZWx0YVkgPSAtMzA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDMyOiAvLyBzcGFjZSBiYXJcclxuICAgICAgICBpZiAoZS5zaGlmdEtleSkge1xyXG4gICAgICAgICAgZGVsdGFZID0gaS5jb250YWluZXJIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGRlbHRhWSA9IC1pLmNvbnRhaW5lckhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMzM6IC8vIHBhZ2UgdXBcclxuICAgICAgICBkZWx0YVkgPSBpLmNvbnRhaW5lckhlaWdodDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAzNDogLy8gcGFnZSBkb3duXHJcbiAgICAgICAgZGVsdGFZID0gLWkuY29udGFpbmVySGVpZ2h0O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM2OiAvLyBob21lXHJcbiAgICAgICAgZGVsdGFZID0gaS5jb250ZW50SGVpZ2h0O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM1OiAvLyBlbmRcclxuICAgICAgICBkZWx0YVkgPSAtaS5jb250ZW50SGVpZ2h0O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaS5zZXR0aW5ncy5zdXBwcmVzc1Njcm9sbFggJiYgZGVsdGFYICE9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChpLnNldHRpbmdzLnN1cHByZXNzU2Nyb2xsWSAmJiBkZWx0YVkgIT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGVsZW1lbnQuc2Nyb2xsVG9wIC09IGRlbHRhWTtcclxuICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkZWx0YVg7XHJcbiAgICB1cGRhdGVHZW9tZXRyeShpKTtcclxuXHJcbiAgICBpZiAoc2hvdWxkUHJldmVudERlZmF1bHQoZGVsdGFYLCBkZWx0YVkpKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gd2hlZWwoaSkge1xyXG4gIHZhciBlbGVtZW50ID0gaS5lbGVtZW50O1xyXG5cclxuICBmdW5jdGlvbiBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSkge1xyXG4gICAgdmFyIHJvdW5kZWRTY3JvbGxUb3AgPSBNYXRoLmZsb29yKGVsZW1lbnQuc2Nyb2xsVG9wKTtcclxuICAgIHZhciBpc1RvcCA9IGVsZW1lbnQuc2Nyb2xsVG9wID09PSAwO1xyXG4gICAgdmFyIGlzQm90dG9tID1cclxuICAgICAgcm91bmRlZFNjcm9sbFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0ID09PSBlbGVtZW50LnNjcm9sbEhlaWdodDtcclxuICAgIHZhciBpc0xlZnQgPSBlbGVtZW50LnNjcm9sbExlZnQgPT09IDA7XHJcbiAgICB2YXIgaXNSaWdodCA9XHJcbiAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggPT09IGVsZW1lbnQuc2Nyb2xsV2lkdGg7XHJcblxyXG4gICAgdmFyIGhpdHNCb3VuZDtcclxuXHJcbiAgICAvLyBwaWNrIGF4aXMgd2l0aCBwcmltYXJ5IGRpcmVjdGlvblxyXG4gICAgaWYgKE1hdGguYWJzKGRlbHRhWSkgPiBNYXRoLmFicyhkZWx0YVgpKSB7XHJcbiAgICAgIGhpdHNCb3VuZCA9IGlzVG9wIHx8IGlzQm90dG9tO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaGl0c0JvdW5kID0gaXNMZWZ0IHx8IGlzUmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGhpdHNCb3VuZCA/ICFpLnNldHRpbmdzLndoZWVsUHJvcGFnYXRpb24gOiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gZ2V0RGVsdGFGcm9tRXZlbnQoZSkge1xyXG4gICAgdmFyIGRlbHRhWCA9IGUuZGVsdGFYO1xyXG4gICAgdmFyIGRlbHRhWSA9IC0xICogZS5kZWx0YVk7XHJcblxyXG4gICAgaWYgKHR5cGVvZiBkZWx0YVggPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBkZWx0YVkgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIC8vIE9TIFggU2FmYXJpXHJcbiAgICAgIGRlbHRhWCA9ICgtMSAqIGUud2hlZWxEZWx0YVgpIC8gNjtcclxuICAgICAgZGVsdGFZID0gZS53aGVlbERlbHRhWSAvIDY7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGUuZGVsdGFNb2RlICYmIGUuZGVsdGFNb2RlID09PSAxKSB7XHJcbiAgICAgIC8vIEZpcmVmb3ggaW4gZGVsdGFNb2RlIDE6IExpbmUgc2Nyb2xsaW5nXHJcbiAgICAgIGRlbHRhWCAqPSAxMDtcclxuICAgICAgZGVsdGFZICo9IDEwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkZWx0YVggIT09IGRlbHRhWCAmJiBkZWx0YVkgIT09IGRlbHRhWSAvKiBOYU4gY2hlY2tzICovKSB7XHJcbiAgICAgIC8vIElFIGluIHNvbWUgbW91c2UgZHJpdmVyc1xyXG4gICAgICBkZWx0YVggPSAwO1xyXG4gICAgICBkZWx0YVkgPSBlLndoZWVsRGVsdGE7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcclxuICAgICAgLy8gcmV2ZXJzZSBheGlzIHdpdGggc2hpZnQga2V5XHJcbiAgICAgIHJldHVybiBbLWRlbHRhWSwgLWRlbHRhWF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW2RlbHRhWCwgZGVsdGFZXTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIHNob3VsZEJlQ29uc3VtZWRCeUNoaWxkKHRhcmdldCwgZGVsdGFYLCBkZWx0YVkpIHtcclxuICAgIC8vIEZJWE1FOiB0aGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgPHNlbGVjdD4gaXNzdWUgaW4gRkYgYW5kIElFICM1NzFcclxuICAgIGlmICghZW52LmlzV2ViS2l0ICYmIGVsZW1lbnQucXVlcnlTZWxlY3Rvcignc2VsZWN0OmZvY3VzJykpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFlbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciBjdXJzb3IgPSB0YXJnZXQ7XHJcblxyXG4gICAgd2hpbGUgKGN1cnNvciAmJiBjdXJzb3IgIT09IGVsZW1lbnQpIHtcclxuICAgICAgaWYgKGN1cnNvci5jbGFzc0xpc3QuY29udGFpbnMoY2xzLmVsZW1lbnQuY29uc3VtaW5nKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgc3R5bGUgPSBnZXQoY3Vyc29yKTtcclxuXHJcbiAgICAgIC8vIGlmIGRlbHRhWSAmJiB2ZXJ0aWNhbCBzY3JvbGxhYmxlXHJcbiAgICAgIGlmIChkZWx0YVkgJiYgc3R5bGUub3ZlcmZsb3dZLm1hdGNoKC8oc2Nyb2xsfGF1dG8pLykpIHtcclxuICAgICAgICB2YXIgbWF4U2Nyb2xsVG9wID0gY3Vyc29yLnNjcm9sbEhlaWdodCAtIGN1cnNvci5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgaWYgKG1heFNjcm9sbFRvcCA+IDApIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgKGN1cnNvci5zY3JvbGxUb3AgPiAwICYmIGRlbHRhWSA8IDApIHx8XHJcbiAgICAgICAgICAgIChjdXJzb3Iuc2Nyb2xsVG9wIDwgbWF4U2Nyb2xsVG9wICYmIGRlbHRhWSA+IDApXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmIGRlbHRhWCAmJiBob3Jpem9udGFsIHNjcm9sbGFibGVcclxuICAgICAgaWYgKGRlbHRhWCAmJiBzdHlsZS5vdmVyZmxvd1gubWF0Y2goLyhzY3JvbGx8YXV0bykvKSkge1xyXG4gICAgICAgIHZhciBtYXhTY3JvbGxMZWZ0ID0gY3Vyc29yLnNjcm9sbFdpZHRoIC0gY3Vyc29yLmNsaWVudFdpZHRoO1xyXG4gICAgICAgIGlmIChtYXhTY3JvbGxMZWZ0ID4gMCkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAoY3Vyc29yLnNjcm9sbExlZnQgPiAwICYmIGRlbHRhWCA8IDApIHx8XHJcbiAgICAgICAgICAgIChjdXJzb3Iuc2Nyb2xsTGVmdCA8IG1heFNjcm9sbExlZnQgJiYgZGVsdGFYID4gMClcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGN1cnNvciA9IGN1cnNvci5wYXJlbnROb2RlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIG1vdXNld2hlZWxIYW5kbGVyKGUpIHtcclxuICAgIHZhciByZWYgPSBnZXREZWx0YUZyb21FdmVudChlKTtcclxuICAgIHZhciBkZWx0YVggPSByZWZbMF07XHJcbiAgICB2YXIgZGVsdGFZID0gcmVmWzFdO1xyXG5cclxuICAgIGlmIChzaG91bGRCZUNvbnN1bWVkQnlDaGlsZChlLnRhcmdldCwgZGVsdGFYLCBkZWx0YVkpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgc2hvdWxkUHJldmVudCA9IGZhbHNlO1xyXG4gICAgaWYgKCFpLnNldHRpbmdzLnVzZUJvdGhXaGVlbEF4ZXMpIHtcclxuICAgICAgLy8gZGVsdGFYIHdpbGwgb25seSBiZSB1c2VkIGZvciBob3Jpem9udGFsIHNjcm9sbGluZyBhbmQgZGVsdGFZIHdpbGxcclxuICAgICAgLy8gb25seSBiZSB1c2VkIGZvciB2ZXJ0aWNhbCBzY3JvbGxpbmcgLSB0aGlzIGlzIHRoZSBkZWZhdWx0XHJcbiAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wIC09IGRlbHRhWSAqIGkuc2V0dGluZ3Mud2hlZWxTcGVlZDtcclxuICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0ICs9IGRlbHRhWCAqIGkuc2V0dGluZ3Mud2hlZWxTcGVlZDtcclxuICAgIH0gZWxzZSBpZiAoaS5zY3JvbGxiYXJZQWN0aXZlICYmICFpLnNjcm9sbGJhclhBY3RpdmUpIHtcclxuICAgICAgLy8gb25seSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaXMgYWN0aXZlIGFuZCB1c2VCb3RoV2hlZWxBeGVzIG9wdGlvbiBpc1xyXG4gICAgICAvLyBhY3RpdmUsIHNvIGxldCdzIHNjcm9sbCB2ZXJ0aWNhbCBiYXIgdXNpbmcgYm90aCBtb3VzZSB3aGVlbCBheGVzXHJcbiAgICAgIGlmIChkZWx0YVkpIHtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbFRvcCAtPSBkZWx0YVkgKiBpLnNldHRpbmdzLndoZWVsU3BlZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgKz0gZGVsdGFYICogaS5zZXR0aW5ncy53aGVlbFNwZWVkO1xyXG4gICAgICB9XHJcbiAgICAgIHNob3VsZFByZXZlbnQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChpLnNjcm9sbGJhclhBY3RpdmUgJiYgIWkuc2Nyb2xsYmFyWUFjdGl2ZSkge1xyXG4gICAgICAvLyB1c2VCb3RoV2hlZWxBeGVzIGFuZCBvbmx5IGhvcml6b250YWwgYmFyIGlzIGFjdGl2ZSwgc28gdXNlIGJvdGhcclxuICAgICAgLy8gd2hlZWwgYXhlcyBmb3IgaG9yaXpvbnRhbCBiYXJcclxuICAgICAgaWYgKGRlbHRhWCkge1xyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkZWx0YVggKiBpLnNldHRpbmdzLndoZWVsU3BlZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0IC09IGRlbHRhWSAqIGkuc2V0dGluZ3Mud2hlZWxTcGVlZDtcclxuICAgICAgfVxyXG4gICAgICBzaG91bGRQcmV2ZW50ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVHZW9tZXRyeShpKTtcclxuXHJcbiAgICBzaG91bGRQcmV2ZW50ID0gc2hvdWxkUHJldmVudCB8fCBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSk7XHJcbiAgICBpZiAoc2hvdWxkUHJldmVudCAmJiAhZS5jdHJsS2V5KSB7XHJcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmICh0eXBlb2Ygd2luZG93Lm9ud2hlZWwgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ3doZWVsJywgbW91c2V3aGVlbEhhbmRsZXIpO1xyXG4gIH0gZWxzZSBpZiAodHlwZW9mIHdpbmRvdy5vbm1vdXNld2hlZWwgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ21vdXNld2hlZWwnLCBtb3VzZXdoZWVsSGFuZGxlcik7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiB0b3VjaChpKSB7XHJcbiAgaWYgKCFlbnYuc3VwcG9ydHNUb3VjaCAmJiAhZW52LnN1cHBvcnRzSWVQb2ludGVyKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICB2YXIgZWxlbWVudCA9IGkuZWxlbWVudDtcclxuXHJcbiAgZnVuY3Rpb24gc2hvdWxkUHJldmVudChkZWx0YVgsIGRlbHRhWSkge1xyXG4gICAgdmFyIHNjcm9sbFRvcCA9IE1hdGguZmxvb3IoZWxlbWVudC5zY3JvbGxUb3ApO1xyXG4gICAgdmFyIHNjcm9sbExlZnQgPSBlbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgICB2YXIgbWFnbml0dWRlWCA9IE1hdGguYWJzKGRlbHRhWCk7XHJcbiAgICB2YXIgbWFnbml0dWRlWSA9IE1hdGguYWJzKGRlbHRhWSk7XHJcblxyXG4gICAgaWYgKG1hZ25pdHVkZVkgPiBtYWduaXR1ZGVYKSB7XHJcbiAgICAgIC8vIHVzZXIgaXMgcGVyaGFwcyB0cnlpbmcgdG8gc3dpcGUgdXAvZG93biB0aGUgcGFnZVxyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIChkZWx0YVkgPCAwICYmIHNjcm9sbFRvcCA9PT0gaS5jb250ZW50SGVpZ2h0IC0gaS5jb250YWluZXJIZWlnaHQpIHx8XHJcbiAgICAgICAgKGRlbHRhWSA+IDAgJiYgc2Nyb2xsVG9wID09PSAwKVxyXG4gICAgICApIHtcclxuICAgICAgICAvLyBzZXQgcHJldmVudCBmb3IgbW9iaWxlIENocm9tZSByZWZyZXNoXHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5zY3JvbGxZID09PSAwICYmIGRlbHRhWSA+IDAgJiYgZW52LmlzQ2hyb21lO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG1hZ25pdHVkZVggPiBtYWduaXR1ZGVZKSB7XHJcbiAgICAgIC8vIHVzZXIgaXMgcGVyaGFwcyB0cnlpbmcgdG8gc3dpcGUgbGVmdC9yaWdodCBhY3Jvc3MgdGhlIHBhZ2VcclxuXHJcbiAgICAgIGlmIChcclxuICAgICAgICAoZGVsdGFYIDwgMCAmJiBzY3JvbGxMZWZ0ID09PSBpLmNvbnRlbnRXaWR0aCAtIGkuY29udGFpbmVyV2lkdGgpIHx8XHJcbiAgICAgICAgKGRlbHRhWCA+IDAgJiYgc2Nyb2xsTGVmdCA9PT0gMClcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIGFwcGx5VG91Y2hNb3ZlKGRpZmZlcmVuY2VYLCBkaWZmZXJlbmNlWSkge1xyXG4gICAgZWxlbWVudC5zY3JvbGxUb3AgLT0gZGlmZmVyZW5jZVk7XHJcbiAgICBlbGVtZW50LnNjcm9sbExlZnQgLT0gZGlmZmVyZW5jZVg7XHJcblxyXG4gICAgdXBkYXRlR2VvbWV0cnkoaSk7XHJcbiAgfVxyXG5cclxuICB2YXIgc3RhcnRPZmZzZXQgPSB7fTtcclxuICB2YXIgc3RhcnRUaW1lID0gMDtcclxuICB2YXIgc3BlZWQgPSB7fTtcclxuICB2YXIgZWFzaW5nTG9vcCA9IG51bGw7XHJcblxyXG4gIGZ1bmN0aW9uIGdldFRvdWNoKGUpIHtcclxuICAgIGlmIChlLnRhcmdldFRvdWNoZXMpIHtcclxuICAgICAgcmV0dXJuIGUudGFyZ2V0VG91Y2hlc1swXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIE1heWJlIElFIHBvaW50ZXJcclxuICAgICAgcmV0dXJuIGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBzaG91bGRIYW5kbGUoZSkge1xyXG4gICAgaWYgKGUucG9pbnRlclR5cGUgJiYgZS5wb2ludGVyVHlwZSA9PT0gJ3BlbicgJiYgZS5idXR0b25zID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChlLnRhcmdldFRvdWNoZXMgJiYgZS50YXJnZXRUb3VjaGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgZS5wb2ludGVyVHlwZSAmJlxyXG4gICAgICBlLnBvaW50ZXJUeXBlICE9PSAnbW91c2UnICYmXHJcbiAgICAgIGUucG9pbnRlclR5cGUgIT09IGUuTVNQT0lOVEVSX1RZUEVfTU9VU0VcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIHRvdWNoU3RhcnQoZSkge1xyXG4gICAgaWYgKCFzaG91bGRIYW5kbGUoZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciB0b3VjaCA9IGdldFRvdWNoKGUpO1xyXG5cclxuICAgIHN0YXJ0T2Zmc2V0LnBhZ2VYID0gdG91Y2gucGFnZVg7XHJcbiAgICBzdGFydE9mZnNldC5wYWdlWSA9IHRvdWNoLnBhZ2VZO1xyXG5cclxuICAgIHN0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cclxuICAgIGlmIChlYXNpbmdMb29wICE9PSBudWxsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwoZWFzaW5nTG9vcCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBzaG91bGRCZUNvbnN1bWVkQnlDaGlsZCh0YXJnZXQsIGRlbHRhWCwgZGVsdGFZKSB7XHJcbiAgICBpZiAoIWVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGN1cnNvciA9IHRhcmdldDtcclxuXHJcbiAgICB3aGlsZSAoY3Vyc29yICYmIGN1cnNvciAhPT0gZWxlbWVudCkge1xyXG4gICAgICBpZiAoY3Vyc29yLmNsYXNzTGlzdC5jb250YWlucyhjbHMuZWxlbWVudC5jb25zdW1pbmcpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBzdHlsZSA9IGdldChjdXJzb3IpO1xyXG5cclxuICAgICAgLy8gaWYgZGVsdGFZICYmIHZlcnRpY2FsIHNjcm9sbGFibGVcclxuICAgICAgaWYgKGRlbHRhWSAmJiBzdHlsZS5vdmVyZmxvd1kubWF0Y2goLyhzY3JvbGx8YXV0bykvKSkge1xyXG4gICAgICAgIHZhciBtYXhTY3JvbGxUb3AgPSBjdXJzb3Iuc2Nyb2xsSGVpZ2h0IC0gY3Vyc29yLmNsaWVudEhlaWdodDtcclxuICAgICAgICBpZiAobWF4U2Nyb2xsVG9wID4gMCkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAoY3Vyc29yLnNjcm9sbFRvcCA+IDAgJiYgZGVsdGFZIDwgMCkgfHxcclxuICAgICAgICAgICAgKGN1cnNvci5zY3JvbGxUb3AgPCBtYXhTY3JvbGxUb3AgJiYgZGVsdGFZID4gMClcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgZGVsdGFYICYmIGhvcml6b250YWwgc2Nyb2xsYWJsZVxyXG4gICAgICBpZiAoZGVsdGFYICYmIHN0eWxlLm92ZXJmbG93WC5tYXRjaCgvKHNjcm9sbHxhdXRvKS8pKSB7XHJcbiAgICAgICAgdmFyIG1heFNjcm9sbExlZnQgPSBjdXJzb3Iuc2Nyb2xsV2lkdGggLSBjdXJzb3IuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgaWYgKG1heFNjcm9sbExlZnQgPiAwKSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIChjdXJzb3Iuc2Nyb2xsTGVmdCA+IDAgJiYgZGVsdGFYIDwgMCkgfHxcclxuICAgICAgICAgICAgKGN1cnNvci5zY3JvbGxMZWZ0IDwgbWF4U2Nyb2xsTGVmdCAmJiBkZWx0YVggPiAwKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY3Vyc29yID0gY3Vyc29yLnBhcmVudE5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gdG91Y2hNb3ZlKGUpIHtcclxuICAgIGlmIChzaG91bGRIYW5kbGUoZSkpIHtcclxuICAgICAgdmFyIHRvdWNoID0gZ2V0VG91Y2goZSk7XHJcblxyXG4gICAgICB2YXIgY3VycmVudE9mZnNldCA9IHsgcGFnZVg6IHRvdWNoLnBhZ2VYLCBwYWdlWTogdG91Y2gucGFnZVkgfTtcclxuXHJcbiAgICAgIHZhciBkaWZmZXJlbmNlWCA9IGN1cnJlbnRPZmZzZXQucGFnZVggLSBzdGFydE9mZnNldC5wYWdlWDtcclxuICAgICAgdmFyIGRpZmZlcmVuY2VZID0gY3VycmVudE9mZnNldC5wYWdlWSAtIHN0YXJ0T2Zmc2V0LnBhZ2VZO1xyXG5cclxuICAgICAgaWYgKHNob3VsZEJlQ29uc3VtZWRCeUNoaWxkKGUudGFyZ2V0LCBkaWZmZXJlbmNlWCwgZGlmZmVyZW5jZVkpKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhcHBseVRvdWNoTW92ZShkaWZmZXJlbmNlWCwgZGlmZmVyZW5jZVkpO1xyXG4gICAgICBzdGFydE9mZnNldCA9IGN1cnJlbnRPZmZzZXQ7XHJcblxyXG4gICAgICB2YXIgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuXHJcbiAgICAgIHZhciB0aW1lR2FwID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWU7XHJcbiAgICAgIGlmICh0aW1lR2FwID4gMCkge1xyXG4gICAgICAgIHNwZWVkLnggPSBkaWZmZXJlbmNlWCAvIHRpbWVHYXA7XHJcbiAgICAgICAgc3BlZWQueSA9IGRpZmZlcmVuY2VZIC8gdGltZUdhcDtcclxuICAgICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHNob3VsZFByZXZlbnQoZGlmZmVyZW5jZVgsIGRpZmZlcmVuY2VZKSkge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBmdW5jdGlvbiB0b3VjaEVuZCgpIHtcclxuICAgIGlmIChpLnNldHRpbmdzLnN3aXBlRWFzaW5nKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwoZWFzaW5nTG9vcCk7XHJcbiAgICAgIGVhc2luZ0xvb3AgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHtcclxuICAgICAgICBpZiAoaS5pc0luaXRpYWxpemVkKSB7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKGVhc2luZ0xvb3ApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFzcGVlZC54ICYmICFzcGVlZC55KSB7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKGVhc2luZ0xvb3ApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKE1hdGguYWJzKHNwZWVkLngpIDwgMC4wMSAmJiBNYXRoLmFicyhzcGVlZC55KSA8IDAuMDEpIHtcclxuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoZWFzaW5nTG9vcCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhcHBseVRvdWNoTW92ZShzcGVlZC54ICogMzAsIHNwZWVkLnkgKiAzMCk7XHJcblxyXG4gICAgICAgIHNwZWVkLnggKj0gMC44O1xyXG4gICAgICAgIHNwZWVkLnkgKj0gMC44O1xyXG4gICAgICB9LCAxMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZiAoZW52LnN1cHBvcnRzVG91Y2gpIHtcclxuICAgIGkuZXZlbnQuYmluZChlbGVtZW50LCAndG91Y2hzdGFydCcsIHRvdWNoU3RhcnQpO1xyXG4gICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICd0b3VjaG1vdmUnLCB0b3VjaE1vdmUpO1xyXG4gICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICd0b3VjaGVuZCcsIHRvdWNoRW5kKTtcclxuICB9IGVsc2UgaWYgKGVudi5zdXBwb3J0c0llUG9pbnRlcikge1xyXG4gICAgaWYgKHdpbmRvdy5Qb2ludGVyRXZlbnQpIHtcclxuICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdwb2ludGVyZG93bicsIHRvdWNoU3RhcnQpO1xyXG4gICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ3BvaW50ZXJtb3ZlJywgdG91Y2hNb3ZlKTtcclxuICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdwb2ludGVydXAnLCB0b3VjaEVuZCk7XHJcbiAgICB9IGVsc2UgaWYgKHdpbmRvdy5NU1BvaW50ZXJFdmVudCkge1xyXG4gICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ01TUG9pbnRlckRvd24nLCB0b3VjaFN0YXJ0KTtcclxuICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdNU1BvaW50ZXJNb3ZlJywgdG91Y2hNb3ZlKTtcclxuICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdNU1BvaW50ZXJVcCcsIHRvdWNoRW5kKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbnZhciBkZWZhdWx0U2V0dGluZ3MgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAoe1xyXG4gIGhhbmRsZXJzOiBbJ2NsaWNrLXJhaWwnLCAnZHJhZy10aHVtYicsICdrZXlib2FyZCcsICd3aGVlbCcsICd0b3VjaCddLFxyXG4gIG1heFNjcm9sbGJhckxlbmd0aDogbnVsbCxcclxuICBtaW5TY3JvbGxiYXJMZW5ndGg6IG51bGwsXHJcbiAgc2Nyb2xsaW5nVGhyZXNob2xkOiAxMDAwLFxyXG4gIHNjcm9sbFhNYXJnaW5PZmZzZXQ6IDAsXHJcbiAgc2Nyb2xsWU1hcmdpbk9mZnNldDogMCxcclxuICBzdXBwcmVzc1Njcm9sbFg6IGZhbHNlLFxyXG4gIHN1cHByZXNzU2Nyb2xsWTogZmFsc2UsXHJcbiAgc3dpcGVFYXNpbmc6IHRydWUsXHJcbiAgdXNlQm90aFdoZWVsQXhlczogZmFsc2UsXHJcbiAgd2hlZWxQcm9wYWdhdGlvbjogdHJ1ZSxcclxuICB3aGVlbFNwZWVkOiAxLFxyXG59KTsgfTtcclxuXHJcbnZhciBoYW5kbGVycyA9IHtcclxuICAnY2xpY2stcmFpbCc6IGNsaWNrUmFpbCxcclxuICAnZHJhZy10aHVtYic6IGRyYWdUaHVtYixcclxuICBrZXlib2FyZDoga2V5Ym9hcmQsXHJcbiAgd2hlZWw6IHdoZWVsLFxyXG4gIHRvdWNoOiB0b3VjaCxcclxufTtcclxuXHJcbnZhciBQZXJmZWN0U2Nyb2xsYmFyID0gZnVuY3Rpb24gUGVyZmVjdFNjcm9sbGJhcihlbGVtZW50LCB1c2VyU2V0dGluZ3MpIHtcclxuICB2YXIgdGhpcyQxID0gdGhpcztcclxuICBpZiAoIHVzZXJTZXR0aW5ncyA9PT0gdm9pZCAwICkgdXNlclNldHRpbmdzID0ge307XHJcblxyXG4gIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgIGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50Lm5vZGVOYW1lKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGVsZW1lbnQgaXMgc3BlY2lmaWVkIHRvIGluaXRpYWxpemUgUGVyZmVjdFNjcm9sbGJhcicpO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcclxuXHJcbiAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNscy5tYWluKTtcclxuXHJcbiAgdGhpcy5zZXR0aW5ncyA9IGRlZmF1bHRTZXR0aW5ncygpO1xyXG4gIGZvciAodmFyIGtleSBpbiB1c2VyU2V0dGluZ3MpIHtcclxuICAgIHRoaXMuc2V0dGluZ3Nba2V5XSA9IHVzZXJTZXR0aW5nc1trZXldO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5jb250YWluZXJXaWR0aCA9IG51bGw7XHJcbiAgdGhpcy5jb250YWluZXJIZWlnaHQgPSBudWxsO1xyXG4gIHRoaXMuY29udGVudFdpZHRoID0gbnVsbDtcclxuICB0aGlzLmNvbnRlbnRIZWlnaHQgPSBudWxsO1xyXG5cclxuICB2YXIgZm9jdXMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBlbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xzLnN0YXRlLmZvY3VzKTsgfTtcclxuICB2YXIgYmx1ciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbHMuc3RhdGUuZm9jdXMpOyB9O1xyXG5cclxuICB0aGlzLmlzUnRsID0gZ2V0KGVsZW1lbnQpLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XHJcbiAgaWYgKHRoaXMuaXNSdGwgPT09IHRydWUpIHtcclxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbHMucnRsKTtcclxuICB9XHJcbiAgdGhpcy5pc05lZ2F0aXZlU2Nyb2xsID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBvcmlnaW5hbFNjcm9sbExlZnQgPSBlbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgICB2YXIgcmVzdWx0ID0gbnVsbDtcclxuICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IC0xO1xyXG4gICAgcmVzdWx0ID0gZWxlbWVudC5zY3JvbGxMZWZ0IDwgMDtcclxuICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IG9yaWdpbmFsU2Nyb2xsTGVmdDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfSkoKTtcclxuICB0aGlzLm5lZ2F0aXZlU2Nyb2xsQWRqdXN0bWVudCA9IHRoaXMuaXNOZWdhdGl2ZVNjcm9sbFxyXG4gICAgPyBlbGVtZW50LnNjcm9sbFdpZHRoIC0gZWxlbWVudC5jbGllbnRXaWR0aFxyXG4gICAgOiAwO1xyXG4gIHRoaXMuZXZlbnQgPSBuZXcgRXZlbnRNYW5hZ2VyKCk7XHJcbiAgdGhpcy5vd25lckRvY3VtZW50ID0gZWxlbWVudC5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50O1xyXG5cclxuICB0aGlzLnNjcm9sbGJhclhSYWlsID0gZGl2KGNscy5lbGVtZW50LnJhaWwoJ3gnKSk7XHJcbiAgZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnNjcm9sbGJhclhSYWlsKTtcclxuICB0aGlzLnNjcm9sbGJhclggPSBkaXYoY2xzLmVsZW1lbnQudGh1bWIoJ3gnKSk7XHJcbiAgdGhpcy5zY3JvbGxiYXJYUmFpbC5hcHBlbmRDaGlsZCh0aGlzLnNjcm9sbGJhclgpO1xyXG4gIHRoaXMuc2Nyb2xsYmFyWC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgMCk7XHJcbiAgdGhpcy5ldmVudC5iaW5kKHRoaXMuc2Nyb2xsYmFyWCwgJ2ZvY3VzJywgZm9jdXMpO1xyXG4gIHRoaXMuZXZlbnQuYmluZCh0aGlzLnNjcm9sbGJhclgsICdibHVyJywgYmx1cik7XHJcbiAgdGhpcy5zY3JvbGxiYXJYQWN0aXZlID0gbnVsbDtcclxuICB0aGlzLnNjcm9sbGJhclhXaWR0aCA9IG51bGw7XHJcbiAgdGhpcy5zY3JvbGxiYXJYTGVmdCA9IG51bGw7XHJcbiAgdmFyIHJhaWxYU3R5bGUgPSBnZXQodGhpcy5zY3JvbGxiYXJYUmFpbCk7XHJcbiAgdGhpcy5zY3JvbGxiYXJYQm90dG9tID0gcGFyc2VJbnQocmFpbFhTdHlsZS5ib3R0b20sIDEwKTtcclxuICBpZiAoaXNOYU4odGhpcy5zY3JvbGxiYXJYQm90dG9tKSkge1xyXG4gICAgdGhpcy5pc1Njcm9sbGJhclhVc2luZ0JvdHRvbSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zY3JvbGxiYXJYVG9wID0gdG9JbnQocmFpbFhTdHlsZS50b3ApO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLmlzU2Nyb2xsYmFyWFVzaW5nQm90dG9tID0gdHJ1ZTtcclxuICB9XHJcbiAgdGhpcy5yYWlsQm9yZGVyWFdpZHRoID1cclxuICAgIHRvSW50KHJhaWxYU3R5bGUuYm9yZGVyTGVmdFdpZHRoKSArIHRvSW50KHJhaWxYU3R5bGUuYm9yZGVyUmlnaHRXaWR0aCk7XHJcbiAgLy8gU2V0IHJhaWwgdG8gZGlzcGxheTpibG9jayB0byBjYWxjdWxhdGUgbWFyZ2luc1xyXG4gIHNldCh0aGlzLnNjcm9sbGJhclhSYWlsLCB7IGRpc3BsYXk6ICdibG9jaycgfSk7XHJcbiAgdGhpcy5yYWlsWE1hcmdpbldpZHRoID1cclxuICAgIHRvSW50KHJhaWxYU3R5bGUubWFyZ2luTGVmdCkgKyB0b0ludChyYWlsWFN0eWxlLm1hcmdpblJpZ2h0KTtcclxuICBzZXQodGhpcy5zY3JvbGxiYXJYUmFpbCwgeyBkaXNwbGF5OiAnJyB9KTtcclxuICB0aGlzLnJhaWxYV2lkdGggPSBudWxsO1xyXG4gIHRoaXMucmFpbFhSYXRpbyA9IG51bGw7XHJcblxyXG4gIHRoaXMuc2Nyb2xsYmFyWVJhaWwgPSBkaXYoY2xzLmVsZW1lbnQucmFpbCgneScpKTtcclxuICBlbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuc2Nyb2xsYmFyWVJhaWwpO1xyXG4gIHRoaXMuc2Nyb2xsYmFyWSA9IGRpdihjbHMuZWxlbWVudC50aHVtYigneScpKTtcclxuICB0aGlzLnNjcm9sbGJhcllSYWlsLmFwcGVuZENoaWxkKHRoaXMuc2Nyb2xsYmFyWSk7XHJcbiAgdGhpcy5zY3JvbGxiYXJZLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAwKTtcclxuICB0aGlzLmV2ZW50LmJpbmQodGhpcy5zY3JvbGxiYXJZLCAnZm9jdXMnLCBmb2N1cyk7XHJcbiAgdGhpcy5ldmVudC5iaW5kKHRoaXMuc2Nyb2xsYmFyWSwgJ2JsdXInLCBibHVyKTtcclxuICB0aGlzLnNjcm9sbGJhcllBY3RpdmUgPSBudWxsO1xyXG4gIHRoaXMuc2Nyb2xsYmFyWUhlaWdodCA9IG51bGw7XHJcbiAgdGhpcy5zY3JvbGxiYXJZVG9wID0gbnVsbDtcclxuICB2YXIgcmFpbFlTdHlsZSA9IGdldCh0aGlzLnNjcm9sbGJhcllSYWlsKTtcclxuICB0aGlzLnNjcm9sbGJhcllSaWdodCA9IHBhcnNlSW50KHJhaWxZU3R5bGUucmlnaHQsIDEwKTtcclxuICBpZiAoaXNOYU4odGhpcy5zY3JvbGxiYXJZUmlnaHQpKSB7XHJcbiAgICB0aGlzLmlzU2Nyb2xsYmFyWVVzaW5nUmlnaHQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2Nyb2xsYmFyWUxlZnQgPSB0b0ludChyYWlsWVN0eWxlLmxlZnQpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLmlzU2Nyb2xsYmFyWVVzaW5nUmlnaHQgPSB0cnVlO1xyXG4gIH1cclxuICB0aGlzLnNjcm9sbGJhcllPdXRlcldpZHRoID0gdGhpcy5pc1J0bCA/IG91dGVyV2lkdGgodGhpcy5zY3JvbGxiYXJZKSA6IG51bGw7XHJcbiAgdGhpcy5yYWlsQm9yZGVyWVdpZHRoID1cclxuICAgIHRvSW50KHJhaWxZU3R5bGUuYm9yZGVyVG9wV2lkdGgpICsgdG9JbnQocmFpbFlTdHlsZS5ib3JkZXJCb3R0b21XaWR0aCk7XHJcbiAgc2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwsIHsgZGlzcGxheTogJ2Jsb2NrJyB9KTtcclxuICB0aGlzLnJhaWxZTWFyZ2luSGVpZ2h0ID1cclxuICAgIHRvSW50KHJhaWxZU3R5bGUubWFyZ2luVG9wKSArIHRvSW50KHJhaWxZU3R5bGUubWFyZ2luQm90dG9tKTtcclxuICBzZXQodGhpcy5zY3JvbGxiYXJZUmFpbCwgeyBkaXNwbGF5OiAnJyB9KTtcclxuICB0aGlzLnJhaWxZSGVpZ2h0ID0gbnVsbDtcclxuICB0aGlzLnJhaWxZUmF0aW8gPSBudWxsO1xyXG5cclxuICB0aGlzLnJlYWNoID0ge1xyXG4gICAgeDpcclxuICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0IDw9IDBcclxuICAgICAgICA/ICdzdGFydCdcclxuICAgICAgICA6IGVsZW1lbnQuc2Nyb2xsTGVmdCA+PSB0aGlzLmNvbnRlbnRXaWR0aCAtIHRoaXMuY29udGFpbmVyV2lkdGhcclxuICAgICAgICA/ICdlbmQnXHJcbiAgICAgICAgOiBudWxsLFxyXG4gICAgeTpcclxuICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPD0gMFxyXG4gICAgICAgID8gJ3N0YXJ0J1xyXG4gICAgICAgIDogZWxlbWVudC5zY3JvbGxUb3AgPj0gdGhpcy5jb250ZW50SGVpZ2h0IC0gdGhpcy5jb250YWluZXJIZWlnaHRcclxuICAgICAgICA/ICdlbmQnXHJcbiAgICAgICAgOiBudWxsLFxyXG4gIH07XHJcblxyXG4gIHRoaXMuaXNBbGl2ZSA9IHRydWU7XHJcblxyXG4gIHRoaXMuc2V0dGluZ3MuaGFuZGxlcnMuZm9yRWFjaChmdW5jdGlvbiAoaGFuZGxlck5hbWUpIHsgcmV0dXJuIGhhbmRsZXJzW2hhbmRsZXJOYW1lXSh0aGlzJDEpOyB9KTtcclxuXHJcbiAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gTWF0aC5mbG9vcihlbGVtZW50LnNjcm9sbFRvcCk7IC8vIGZvciBvblNjcm9sbCBvbmx5XHJcbiAgdGhpcy5sYXN0U2Nyb2xsTGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDsgLy8gZm9yIG9uU2Nyb2xsIG9ubHlcclxuICB0aGlzLmV2ZW50LmJpbmQodGhpcy5lbGVtZW50LCAnc2Nyb2xsJywgZnVuY3Rpb24gKGUpIHsgcmV0dXJuIHRoaXMkMS5vblNjcm9sbChlKTsgfSk7XHJcbiAgdXBkYXRlR2VvbWV0cnkodGhpcyk7XHJcbn07XHJcblxyXG5QZXJmZWN0U2Nyb2xsYmFyLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUgKCkge1xyXG4gIGlmICghdGhpcy5pc0FsaXZlKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICAvLyBSZWNhbGN1YXRlIG5lZ2F0aXZlIHNjcm9sbExlZnQgYWRqdXN0bWVudFxyXG4gIHRoaXMubmVnYXRpdmVTY3JvbGxBZGp1c3RtZW50ID0gdGhpcy5pc05lZ2F0aXZlU2Nyb2xsXHJcbiAgICA/IHRoaXMuZWxlbWVudC5zY3JvbGxXaWR0aCAtIHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aFxyXG4gICAgOiAwO1xyXG5cclxuICAvLyBSZWNhbGN1bGF0ZSByYWlsIG1hcmdpbnNcclxuICBzZXQodGhpcy5zY3JvbGxiYXJYUmFpbCwgeyBkaXNwbGF5OiAnYmxvY2snIH0pO1xyXG4gIHNldCh0aGlzLnNjcm9sbGJhcllSYWlsLCB7IGRpc3BsYXk6ICdibG9jaycgfSk7XHJcbiAgdGhpcy5yYWlsWE1hcmdpbldpZHRoID1cclxuICAgIHRvSW50KGdldCh0aGlzLnNjcm9sbGJhclhSYWlsKS5tYXJnaW5MZWZ0KSArXHJcbiAgICB0b0ludChnZXQodGhpcy5zY3JvbGxiYXJYUmFpbCkubWFyZ2luUmlnaHQpO1xyXG4gIHRoaXMucmFpbFlNYXJnaW5IZWlnaHQgPVxyXG4gICAgdG9JbnQoZ2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwpLm1hcmdpblRvcCkgK1xyXG4gICAgdG9JbnQoZ2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwpLm1hcmdpbkJvdHRvbSk7XHJcblxyXG4gIC8vIEhpZGUgc2Nyb2xsYmFycyBub3QgdG8gYWZmZWN0IHNjcm9sbFdpZHRoIGFuZCBzY3JvbGxIZWlnaHRcclxuICBzZXQodGhpcy5zY3JvbGxiYXJYUmFpbCwgeyBkaXNwbGF5OiAnbm9uZScgfSk7XHJcbiAgc2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwsIHsgZGlzcGxheTogJ25vbmUnIH0pO1xyXG5cclxuICB1cGRhdGVHZW9tZXRyeSh0aGlzKTtcclxuXHJcbiAgcHJvY2Vzc1Njcm9sbERpZmYodGhpcywgJ3RvcCcsIDAsIGZhbHNlLCB0cnVlKTtcclxuICBwcm9jZXNzU2Nyb2xsRGlmZih0aGlzLCAnbGVmdCcsIDAsIGZhbHNlLCB0cnVlKTtcclxuXHJcbiAgc2V0KHRoaXMuc2Nyb2xsYmFyWFJhaWwsIHsgZGlzcGxheTogJycgfSk7XHJcbiAgc2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwsIHsgZGlzcGxheTogJycgfSk7XHJcbn07XHJcblxyXG5QZXJmZWN0U2Nyb2xsYmFyLnByb3RvdHlwZS5vblNjcm9sbCA9IGZ1bmN0aW9uIG9uU2Nyb2xsIChlKSB7XHJcbiAgaWYgKCF0aGlzLmlzQWxpdmUpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUdlb21ldHJ5KHRoaXMpO1xyXG4gIHByb2Nlc3NTY3JvbGxEaWZmKHRoaXMsICd0b3AnLCB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wIC0gdGhpcy5sYXN0U2Nyb2xsVG9wKTtcclxuICBwcm9jZXNzU2Nyb2xsRGlmZihcclxuICAgIHRoaXMsXHJcbiAgICAnbGVmdCcsXHJcbiAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsTGVmdCAtIHRoaXMubGFzdFNjcm9sbExlZnRcclxuICApO1xyXG5cclxuICB0aGlzLmxhc3RTY3JvbGxUb3AgPSBNYXRoLmZsb29yKHRoaXMuZWxlbWVudC5zY3JvbGxUb3ApO1xyXG4gIHRoaXMubGFzdFNjcm9sbExlZnQgPSB0aGlzLmVsZW1lbnQuc2Nyb2xsTGVmdDtcclxufTtcclxuXHJcblBlcmZlY3RTY3JvbGxiYXIucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiBkZXN0cm95ICgpIHtcclxuICBpZiAoIXRoaXMuaXNBbGl2ZSkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5ldmVudC51bmJpbmRBbGwoKTtcclxuICByZW1vdmUodGhpcy5zY3JvbGxiYXJYKTtcclxuICByZW1vdmUodGhpcy5zY3JvbGxiYXJZKTtcclxuICByZW1vdmUodGhpcy5zY3JvbGxiYXJYUmFpbCk7XHJcbiAgcmVtb3ZlKHRoaXMuc2Nyb2xsYmFyWVJhaWwpO1xyXG4gIHRoaXMucmVtb3ZlUHNDbGFzc2VzKCk7XHJcblxyXG4gIC8vIHVuc2V0IGVsZW1lbnRzXHJcbiAgdGhpcy5lbGVtZW50ID0gbnVsbDtcclxuICB0aGlzLnNjcm9sbGJhclggPSBudWxsO1xyXG4gIHRoaXMuc2Nyb2xsYmFyWSA9IG51bGw7XHJcbiAgdGhpcy5zY3JvbGxiYXJYUmFpbCA9IG51bGw7XHJcbiAgdGhpcy5zY3JvbGxiYXJZUmFpbCA9IG51bGw7XHJcblxyXG4gIHRoaXMuaXNBbGl2ZSA9IGZhbHNlO1xyXG59O1xyXG5cclxuUGVyZmVjdFNjcm9sbGJhci5wcm90b3R5cGUucmVtb3ZlUHNDbGFzc2VzID0gZnVuY3Rpb24gcmVtb3ZlUHNDbGFzc2VzICgpIHtcclxuICB0aGlzLmVsZW1lbnQuY2xhc3NOYW1lID0gdGhpcy5lbGVtZW50LmNsYXNzTmFtZVxyXG4gICAgLnNwbGl0KCcgJylcclxuICAgIC5maWx0ZXIoZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuICFuYW1lLm1hdGNoKC9ecHMoWy1fXS4rfCkkLyk7IH0pXHJcbiAgICAuam9pbignICcpO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgUGVyZmVjdFNjcm9sbGJhcjtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGVyZmVjdC1zY3JvbGxiYXIuZXNtLmpzLm1hcFxyXG4iXSwibmFtZXMiOlsid2luZG93IiwiJCIsImpRdWVyeSIsInJlcXVpcmUiLCJTd2FsIiwicGVybWlzc2lvblRyZWUiLCJvbiIsImlzIiwic2libGluZ3MiLCJmaW5kIiwiYXR0ciIsInJlbW92ZUF0dHIiLCJlYWNoIiwiZGlzYWJsZVN1Ym1pdEJ1dHRvbnMiLCJmb3JtIiwiZW5hYmxlU3VibWl0QnV0dG9ucyIsInN1Ym1pdCIsImUiLCJfdGhpcyIsInByZXZlbnREZWZhdWx0IiwiZmlyZSIsInRpdGxlIiwic2hvd0NhbmNlbEJ1dHRvbiIsImNvbmZpcm1CdXR0b25UZXh0IiwiY2FuY2VsQnV0dG9uVGV4dCIsImljb24iLCJ0aGVuIiwicmVzdWx0IiwidmFsdWUiLCJfdGhpczIiLCJfdGhpczMiLCJsb2NhdGlvbiIsImFzc2lnbiIsImhhc2giLCJ0YXJnZXQiLCJoaXN0b3J5IiwicHVzaFN0YXRlIiwidGFiIiwidG9vbHRpcCJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2pzL2JhY2tlbmQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDOEM7QUFDRzs7QUFFakQ7QUFDQSxrQkFBa0Isa0JBQWtCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixzQkFBc0I7QUFDeEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwREFBMEQ7O0FBRTFEO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0NBQStDOztBQUUvQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qjs7QUFFeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0MsMkJBQTJCO0FBQy9ELHVDQUF1QyxJQUFJO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw2Q0FBNkMsU0FBUztBQUN0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2REFBNkQ7O0FBRTdEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNkRBQTZEO0FBQzdEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qjs7QUFFN0IsK0NBQStDOztBQUUvQztBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRDs7QUFFakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0Esb0RBQW9EOztBQUVwRDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsZ0RBQWdEOztBQUVoRDtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSO0FBQ0E7QUFDQSxLQUFLLEdBQUc7O0FBRVI7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0EsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsc0JBQXNCLHVCQUF1QjtBQUM3QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBLGtEQUFrRDs7QUFFbEQ7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxpREFBaUQ7O0FBRWpEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLDBDQUEwQyxTQUFTO0FBQ25EO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1QsUUFBUTtBQUNSOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBOztBQUVBO0FBQ0EsV0FBVztBQUNYLFVBQVU7QUFDVjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkNBQTZDLFNBQVM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLHNCQUFzQix3QkFBd0I7QUFDOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0EsNkNBQTZDO0FBQzdDLDRDQUE0Qzs7QUFFNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBLGlFQUFpRSx5R0FBeUc7O0FBRTFLO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qjs7QUFFNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE1BQU07OztBQUdOO0FBQ0EsaUJBQWlCLHdEQUFZO0FBQzdCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUixtREFBbUQ7O0FBRW5EO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLDREQUFZO0FBQ2pDLE1BQU07QUFDTjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLDREQUE0RDtBQUM1RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7QUFDM0MsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsMENBQTBDLFNBQVM7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFFBQVE7QUFDUjs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sR0FBRzs7QUFFVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxHQUFHOztBQUVWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssR0FBRzs7QUFFUjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxHQUFHOztBQUVSOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbUVBQW1FLHNHQUFzRzs7QUFFeks7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0EsaURBQWlEOztBQUVqRDtBQUNBOztBQUVBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFJQUFxSTs7QUFFckk7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHLEdBQUc7O0FBRU4sdUNBQXVDLFNBQVM7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBLHlDQUF5QyxTQUFTO0FBQ2xEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZUFBZSx3REFBWTtBQUMzQjtBQUNBLE1BQU07OztBQUdOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCOztBQUV6QjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxJQUFJOzs7QUFHSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsdURBQXVEOzs7QUFHdkQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUJBQXFCLDREQUFZO0FBQ2pDLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7OztBQUdSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQyxJQUFJO0FBQ0osNkNBQTZDLGFBQWEsR0FBRyxXQUFXO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE1BQU07QUFDTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLG9EQUFvRCxrQkFBa0I7QUFDdEU7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQSw0REFBNEQsZ0dBQWdHOztBQUU1SjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnREFBZ0Qsc0JBQXNCO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCxvREFBb0QsMEJBQTBCO0FBQzlFO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQ0FBb0M7O0FBRXBDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBLDZDQUE2QyxnRUFBZ0U7O0FBRTdHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsdUNBQXVDLElBQUk7QUFDM0M7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsR0FBRzs7QUFFWjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGVBQWUseURBQWdCO0FBQy9CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLElBQUk7OztBQUdKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsTUFBTTtBQUNOOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQTtBQUNBLFFBQVE7O0FBRVIsTUFBTTs7QUFFTjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQSw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQix5REFBZ0I7QUFDckM7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0JBQXNCOztBQUV0QixXQUFXLGlDQUFpQztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0RBQW9EOztBQUVwRDtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0Esb0RBQW9EOztBQUVwRDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsSUFBSTs7O0FBR0o7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQSw0REFBNEQsK0dBQStHO0FBQzNLO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNKO0FBQ3RKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN2cU0rRDtBQUNOO0FBQ1E7QUFDSjtBQUNOO0FBQ1o7QUFDTTtBQUNNO0FBQ0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNFQUFzRSxhQUFhO0FBQ25GO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1Asb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QztBQUN4QztBQUNBLHFCQUFxQixtRUFBUyxjQUFjLDJFQUFpQix5Q0FBeUMsMkVBQWlCO0FBQ3ZILGtCQUFrQiwyRUFBaUI7QUFDbkMsV0FBVztBQUNYOztBQUVBLCtCQUErQixvRUFBYyxDQUFDLGlFQUFXLHlEQUF5RDs7QUFFbEg7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDOztBQUVBO0FBQ0E7QUFDQSxVQUFVOzs7QUFHVjtBQUNBLHFCQUFxQiwwRUFBZ0IsWUFBWSx5RUFBZTtBQUNoRSxrQkFBa0IsdUVBQWE7QUFDL0IsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQSw2Q0FBNkMsS0FBSzs7QUFFbEQ7QUFDQSxzRUFBc0U7QUFDdEUsU0FBUzs7QUFFVCw0QkFBNEIsdUNBQXVDO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0VBQWdFO0FBQ2hFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxjQUFjLDhEQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLEdBQUc7QUFDUjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRDtBQUNuRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOztBQUVYOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ08sbURBQW1EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNwTVg7QUFDaEM7QUFDZiwyREFBMkQ7O0FBRTNEO0FBQ0E7QUFDQSxJQUFJO0FBQ0osdUJBQXVCLDREQUFZO0FBQ25DOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7OztBQUdWO0FBQ0EsUUFBUTtBQUNSLE1BQU07OztBQUdOO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN0QjJEO0FBQ2xCO0FBQ0Y7QUFDYztBQUN0QztBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHNCQUFzQiw2REFBYTtBQUNuQyx1Q0FBdUMscURBQUs7QUFDNUMsd0NBQXdDLHFEQUFLO0FBQzdDOztBQUVBLGFBQWEseURBQVMsWUFBWSx5REFBUztBQUMzQzs7QUFFQSwwQkFBMEIsZ0VBQWdCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN4Q3VDO0FBQ1k7QUFDQTtBQUNJO0FBQ0o7QUFDTTtBQUNKO0FBQ007QUFDSTtBQUNoQjtBQUNWO0FBQ007QUFDaUI7QUFDaEI7O0FBRTVDO0FBQ0EsYUFBYSxxRUFBcUI7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw0QkFBNEIsK0NBQVEsR0FBRyxzRUFBZ0IsQ0FBQywrREFBZSx1QkFBdUIseURBQVMsMEVBQTBFLHNFQUFnQixDQUFDLCtEQUFlLENBQUMsa0VBQWtCO0FBQ3BPLEVBQUU7QUFDRjtBQUNBOzs7QUFHQTtBQUNBLHdCQUF3QixpRUFBaUIsQ0FBQyw2REFBYTtBQUN2RCx3REFBd0QsZ0VBQWdCO0FBQ3hFLDRDQUE0Qyw2REFBYSxZQUFZLGdFQUFlOztBQUVwRixPQUFPLHlEQUFTO0FBQ2hCO0FBQ0EsSUFBSTs7O0FBR0o7QUFDQSxXQUFXLHlEQUFTLG9CQUFvQix5REFBUSxvQ0FBb0MsNERBQVc7QUFDL0YsR0FBRztBQUNILEVBQUU7QUFDRjs7O0FBR2U7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLG9EQUFHO0FBQ3JCLG9CQUFvQixvREFBRztBQUN2QixxQkFBcUIsb0RBQUc7QUFDeEIsbUJBQW1CLG9EQUFHO0FBQ3RCO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNyRStEO0FBQ2hCO0FBQ0o7QUFDSztBQUNXO0FBQ0Y7QUFDUjtBQUNSOztBQUV6QztBQUNBO0FBQ0EsZUFBZSxxREFBSztBQUNwQixlQUFlLHFEQUFLO0FBQ3BCO0FBQ0EsRUFBRTtBQUNGOzs7QUFHZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQSxnQ0FBZ0MsNkRBQWE7QUFDN0MsNkJBQTZCLDZEQUFhO0FBQzFDLHdCQUF3QixrRUFBa0I7QUFDMUMsYUFBYSxxRUFBcUI7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVEsMkRBQVc7QUFDbkIsSUFBSSw4REFBYztBQUNsQixlQUFlLDZEQUFhO0FBQzVCOztBQUVBLFFBQVEsNkRBQWE7QUFDckIsZ0JBQWdCLHFFQUFxQjtBQUNyQztBQUNBO0FBQ0EsTUFBTTtBQUNOLGtCQUFrQixtRUFBbUI7QUFDckM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQ3pEdUM7QUFDeEI7QUFDZixTQUFTLHlEQUFTO0FBQ2xCOzs7Ozs7Ozs7Ozs7Ozs7O0FDSDRDO0FBQzdCO0FBQ2Y7QUFDQSxXQUFXLHlEQUFTO0FBQ3BCO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDTHlEO0FBQ0o7QUFDTTtBQUNSO0FBQ1osQ0FBQztBQUN4Qzs7QUFFZTtBQUNmOztBQUVBLGFBQWEsa0VBQWtCO0FBQy9CLGtCQUFrQiwrREFBZTtBQUNqQztBQUNBLGNBQWMsbURBQUc7QUFDakIsZUFBZSxtREFBRztBQUNsQixrQ0FBa0MsbUVBQW1CO0FBQ3JEOztBQUVBLE1BQU0sZ0VBQWdCO0FBQ3RCLFNBQVMsbURBQUc7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0FDNUJlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQ0wrRCxDQUFDO0FBQ2hFOztBQUVlO0FBQ2YsbUJBQW1CLHFFQUFxQixXQUFXO0FBQ25EOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0FDeEJlO0FBQ2Y7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0ZtRDtBQUNaO0FBQ1M7QUFDYTtBQUM5QztBQUNmLGVBQWUseURBQVMsV0FBVyw2REFBYTtBQUNoRCxXQUFXLCtEQUFlO0FBQzFCLElBQUk7QUFDSixXQUFXLG9FQUFvQjtBQUMvQjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDVnVDO0FBQ0k7QUFDVTtBQUNTO0FBQ2I7QUFDRjtBQUNDOztBQUVoRDtBQUNBLE9BQU8sNkRBQWE7QUFDcEIsRUFBRSxnRUFBZ0I7QUFDbEI7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQSxrQ0FBa0MsK0RBQVc7QUFDN0MsNkJBQTZCLCtEQUFXOztBQUV4QyxjQUFjLDZEQUFhO0FBQzNCO0FBQ0EscUJBQXFCLGdFQUFnQjs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLDZEQUFhOztBQUVqQyxNQUFNLDREQUFZO0FBQ2xCO0FBQ0E7O0FBRUEsU0FBUyw2REFBYSwwQ0FBMEMsMkRBQVc7QUFDM0UsY0FBYyxnRUFBZ0IsZUFBZTtBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHZTtBQUNmLGVBQWUseURBQVM7QUFDeEI7O0FBRUEseUJBQXlCLDhEQUFjLGtCQUFrQixnRUFBZ0I7QUFDekU7QUFDQTs7QUFFQSx1QkFBdUIsMkRBQVcsNkJBQTZCLDJEQUFXLDZCQUE2QixnRUFBZ0I7QUFDdkg7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNwRTJDO0FBQ2M7QUFDVjtBQUNoQztBQUNmLE1BQU0sMkRBQVc7QUFDakI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSw0REFBWTtBQUNoQjtBQUNBLElBQUksa0VBQWtCOztBQUV0QjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbEIrQztBQUNFO0FBQ047QUFDSztBQUNqQztBQUNmLDRDQUE0QywyREFBVztBQUN2RDtBQUNBO0FBQ0E7O0FBRUEsTUFBTSw2REFBYSxVQUFVLDhEQUFjO0FBQzNDO0FBQ0E7O0FBRUEseUJBQXlCLDZEQUFhO0FBQ3RDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDZnVDO0FBQ2tCO0FBQ0U7QUFDTjtBQUN0QztBQUNmLFlBQVkseURBQVM7QUFDckIsYUFBYSxrRUFBa0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsZ0VBQWdCOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsbUVBQW1CO0FBQzlCO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7O0FDOUJlO0FBQ2Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUNYdUM7QUFDeEI7QUFDZixZQUFZLHlEQUFTO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNUK0Q7QUFDTjtBQUNOO0FBQ3BDO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHFFQUFxQixDQUFDLGtFQUFrQixrQkFBa0IsK0RBQWU7QUFDbEY7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1p1Qzs7QUFFdkM7QUFDQSxtQkFBbUIseURBQVM7QUFDNUI7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQix5REFBUztBQUM1QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLHlEQUFTO0FBQzVCO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3BCZ0Q7QUFDakM7QUFDZixnREFBZ0QsK0RBQVc7QUFDM0Q7Ozs7Ozs7Ozs7Ozs7Ozs7QUNIcUQ7QUFDdEM7QUFDZjtBQUNBLDBCQUEwQixnRUFBZ0I7QUFDMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUNUMkM7QUFDNUI7QUFDZix1Q0FBdUMsMkRBQVc7QUFDbEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNIbUQ7QUFDSjtBQUNSO0FBQ1U7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQiwrREFBZTtBQUNwQztBQUNBLFlBQVkseURBQVM7QUFDckIsK0RBQStELDhEQUFjO0FBQzdFO0FBQ0E7QUFDQSx1Q0FBdUMsNkRBQWE7QUFDcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDekJPO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ1A7QUFDQSxDQUFDO0FBQ007QUFDUDtBQUNBLENBQUMsT0FBTzs7QUFFRDtBQUNBO0FBQ0EsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0EsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM5QitDO0FBQ0ssQ0FBQztBQUM1RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDOztBQUV4QyxTQUFTLHVFQUFhLGNBQWMscUVBQVc7QUFDL0M7QUFDQSxNQUFNO0FBQ047QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVIQUF1SDs7QUFFdkg7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFJLEdBQUc7O0FBRWQsV0FBVyx1RUFBYSxjQUFjLHFFQUFXO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBLEVBQUU7OztBQUdGLGlFQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbkYyRDtBQUNGO0FBQ1Y7QUFDYztBQUNjO0FBQ2hDO0FBQ29CO0FBQ047QUFDYSxDQUFDOztBQUV4RTtBQUNBLG9FQUFvRTtBQUNwRTtBQUNBLEdBQUc7QUFDSCxTQUFTLHdFQUFrQix5Q0FBeUMscUVBQWUsVUFBVSxxREFBYztBQUMzRzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0VBQWdCO0FBQ3RDLGFBQWEsOEVBQXdCO0FBQ3JDLG9CQUFvQiwyQ0FBSSxFQUFFLDRDQUFLO0FBQy9COztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQix1RUFBYTtBQUMvQiwrQkFBK0IsMENBQUcsR0FBRywyQ0FBSTtBQUN6QywrQkFBK0IsNkNBQU0sR0FBRyw0Q0FBSztBQUM3QztBQUNBO0FBQ0EsMEJBQTBCLHlFQUFlO0FBQ3pDO0FBQ0EsdURBQXVEO0FBQ3ZEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsd0RBQU0sb0JBQW9COztBQUV6QztBQUNBLHlEQUF5RDtBQUN6RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU8sa0VBQVE7QUFDZjtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3pGMkQ7QUFDRTtBQUNaO0FBQ2tCO0FBQ0o7QUFDSjtBQUNSO0FBQ1gsQ0FBQzs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLHFEQUFLO0FBQ1osT0FBTyxxREFBSztBQUNaO0FBQ0E7O0FBRU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDJDQUFJO0FBQ2xCLGNBQWMsMENBQUc7QUFDakI7O0FBRUE7QUFDQSx1QkFBdUIseUVBQWU7QUFDdEM7QUFDQTs7QUFFQSx5QkFBeUIsbUVBQVM7QUFDbEMscUJBQXFCLDRFQUFrQjs7QUFFdkMsVUFBVSwwRUFBZ0I7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7O0FBR047O0FBRUEsc0JBQXNCLDBDQUFHLG1CQUFtQiwyQ0FBSSxrQkFBa0IsNENBQUssbUJBQW1CLDBDQUFHO0FBQzdGLGNBQWMsNkNBQU07QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsMkNBQUksbUJBQW1CLDBDQUFHLGtCQUFrQiw2Q0FBTSxtQkFBbUIsMENBQUc7QUFDOUYsY0FBYyw0Q0FBSztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsR0FBRyxFQUFFLG1FQUFTO0FBQ2Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSwyQkFBMkIsb0NBQW9DO0FBQy9EOztBQUVBLHlCQUF5QixxQ0FBcUM7QUFDOUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHNFQUFnQjtBQUMvQixlQUFlLGtFQUFZO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBMEMsbURBQW1EO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EseUNBQXlDLGtEQUFrRDtBQUMzRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQSw0Q0FBNEM7QUFDNUM7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQ3hLaUQsQ0FBQzs7QUFFbkQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG1FQUFTO0FBQ3hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRixpRUFBZTtBQUNmO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2hEbUU7QUFDUjtBQUMwQjtBQUM5QjtBQUNZO0FBQ0E7QUFDaEIsQ0FBQzs7QUFFckQ7QUFDQSxNQUFNLHNFQUFnQixnQkFBZ0IsMkNBQUk7QUFDMUM7QUFDQTs7QUFFQSwwQkFBMEIsMEVBQW9CO0FBQzlDLFVBQVUsbUZBQTZCLGdDQUFnQyxtRkFBNkI7QUFDcEc7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNFQUFnQjtBQUN0QztBQUNBLGlHQUFpRywwRUFBb0I7QUFDckg7QUFDQSxzQkFBc0Isc0VBQWdCLGdCQUFnQiwyQ0FBSSxHQUFHLDBFQUFvQjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCLHVCQUF1QjtBQUN6Qzs7QUFFQSx5QkFBeUIsc0VBQWdCOztBQUV6QywyQkFBMkIsa0VBQVksZ0JBQWdCLDRDQUFLO0FBQzVELHNCQUFzQiwwQ0FBRyxFQUFFLDZDQUFNO0FBQ2pDO0FBQ0EsbUJBQW1CLG9FQUFjO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsNERBQTRELDRDQUFLLEdBQUcsMkNBQUksc0JBQXNCLDZDQUFNLEdBQUcsMENBQUc7O0FBRTFHO0FBQ0EsMEJBQTBCLDBFQUFvQjtBQUM5Qzs7QUFFQSwyQkFBMkIsMEVBQW9CO0FBQy9DOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxRQUFRO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNsSnNEO0FBQ0M7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsVUFBVSwwQ0FBRyxFQUFFLDRDQUFLLEVBQUUsNkNBQU0sRUFBRSwyQ0FBSTtBQUNsQztBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsb0VBQWM7QUFDeEM7QUFDQSxHQUFHO0FBQ0gsMEJBQTBCLG9FQUFjO0FBQ3hDO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM1RHlEO0FBQ1o7QUFDZ0I7QUFDRTtBQUNwQjtBQUNBO0FBQ0k7QUFDYzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1BGO0FBQ0QsQ0FBQzs7QUFFckQ7QUFDUCxzQkFBc0Isc0VBQWdCO0FBQ3RDLHdCQUF3QiwyQ0FBSSxFQUFFLDBDQUFHOztBQUVqQyxtRUFBbUU7QUFDbkU7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVSwyQ0FBSSxFQUFFLDRDQUFLO0FBQ3JCO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpREFBVTtBQUN2QjtBQUNBO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQ3JEdUQ7O0FBRXhEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLG9FQUFjO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7OztBQUdGLGlFQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDeEI2RDtBQUNGO0FBQ2dCO0FBQzVCO0FBQ1k7QUFDRjtBQUNJO0FBQ047QUFDSjtBQUNZO0FBQ0U7O0FBRWxFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLG9FQUFjO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILHNCQUFzQixzRUFBZ0I7QUFDdEMsa0JBQWtCLGtFQUFZO0FBQzlCO0FBQ0EsaUJBQWlCLDhFQUF3QjtBQUN6QyxnQkFBZ0IsZ0VBQVU7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsNEZBQTRGO0FBQzVGO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsc0NBQXNDLDBDQUFHLEdBQUcsMkNBQUk7QUFDaEQscUNBQXFDLDZDQUFNLEdBQUcsNENBQUs7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiw0Q0FBSztBQUNwQywrQkFBK0IsNENBQUssMkNBQTJDO0FBQy9FOztBQUVBO0FBQ0EsNkNBQTZDLHVFQUFhO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLHlIQUF5SCx3RUFBa0I7QUFDM0k7QUFDQSx1REFBdUQ7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLHdEQUFNO0FBQ3pCO0FBQ0E7QUFDQSxvREFBb0QseUVBQWU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsd0RBQU0sVUFBVSxvREFBTyx5Q0FBeUMsb0RBQU87QUFDakc7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsdUNBQXVDLDBDQUFHLEdBQUcsMkNBQUk7O0FBRWpELHNDQUFzQyw2Q0FBTSxHQUFHLDRDQUFLOztBQUVwRDs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSx3QkFBd0IsMENBQUcsRUFBRSwyQ0FBSTs7QUFFakM7O0FBRUE7O0FBRUE7O0FBRUEsb0RBQW9ELGdFQUFjLG9DQUFvQyx3REFBTTs7QUFFNUc7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7O0FBR0YsaUVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDN0ltRTtBQUNUO0FBQ0Y7QUFDQTtBQUNKO0FBQ3JELHdCQUF3QixvRUFBYyxFQUFFLG1FQUFhLEVBQUUsbUVBQWEsRUFBRSxpRUFBVztBQUNqRixnQ0FBZ0MsaUVBQWU7QUFDL0M7QUFDQSxDQUFDLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNSZ0U7QUFDVDtBQUNGO0FBQ0E7QUFDSjtBQUNWO0FBQ0o7QUFDc0I7QUFDcEI7QUFDRjtBQUN2Qyx3QkFBd0Isb0VBQWMsRUFBRSxtRUFBYSxFQUFFLG1FQUFhLEVBQUUsaUVBQVcsRUFBRSw0REFBTSxFQUFFLDBEQUFJLEVBQUUscUVBQWUsRUFBRSwyREFBSyxFQUFFLDBEQUFJO0FBQzdILGdDQUFnQyxpRUFBZTtBQUMvQztBQUNBLENBQUMsR0FBRzs7QUFFdUUsQ0FBQzs7QUFFUixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNqQnhCO0FBQ2tEO0FBQzlDO0FBQ0k7QUFDdEM7QUFDZjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUUsaURBQWE7QUFDOUUsa0JBQWtCLDREQUFZO0FBQzlCLGdEQUFnRCwwREFBbUIsR0FBRywwREFBbUI7QUFDekYsV0FBVyw0REFBWTtBQUN2QixHQUFHLElBQUkscURBQWM7QUFDckI7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLElBQUk7OztBQUdKO0FBQ0EscUJBQXFCLDhEQUFjO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxFQUFFLGdFQUFnQjtBQUN2QjtBQUNBLEdBQUcsSUFBSTtBQUNQO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQ3FEO0FBQ1I7QUFDd0I7QUFDRjtBQUNwRDtBQUNmO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxnRUFBZ0I7QUFDbEQsOEJBQThCLDREQUFZO0FBQzFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVMsMENBQUc7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsNkNBQU07QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsNENBQUs7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVMsMkNBQUk7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUMsd0VBQXdCOztBQUV6RDtBQUNBOztBQUVBO0FBQ0EsV0FBVyw0Q0FBSztBQUNoQjtBQUNBOztBQUVBLFdBQVcsMENBQUc7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNyRWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNkOEQ7QUFDTTtBQUNNO0FBQ3pCO0FBQ0k7QUFDMEQ7QUFDeEQ7QUFDRTtBQUNOLENBQUM7O0FBRXJDO0FBQ2Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxzREFBZTtBQUMvRDtBQUNBLHdEQUF3RCwrQ0FBUTtBQUNoRTtBQUNBLDBEQUEwRCw2Q0FBTTtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixrRUFBa0IseUNBQXlDLCtEQUFlLFVBQVUscURBQWM7QUFDeEgsc0NBQXNDLDZDQUFNLEdBQUcsZ0RBQVMsR0FBRyw2Q0FBTTtBQUNqRTtBQUNBO0FBQ0EsMkJBQTJCLHlFQUFlLENBQUMsbUVBQVMsZ0RBQWdELDRFQUFrQjtBQUN0SCw0QkFBNEIsK0VBQXFCO0FBQ2pELHNCQUFzQiw4REFBYztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCx5QkFBeUIsZ0VBQWdCLGlCQUFpQjtBQUMxRCw2Q0FBNkMsNkNBQU0sMkNBQTJDO0FBQzlGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQzs7QUFFL0MseUJBQXlCLDZDQUFNO0FBQy9CO0FBQ0E7QUFDQSxzQkFBc0IsNENBQUssRUFBRSw2Q0FBTTtBQUNuQyxrQkFBa0IsMENBQUcsRUFBRSw2Q0FBTTtBQUM3QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNoRWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDs7Ozs7Ozs7Ozs7Ozs7O0FDTGU7QUFDZjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNGbUM7QUFDcEI7QUFDZjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNIZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNQZTtBQUNmO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlO0FBQ2Y7QUFDQTtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7Ozs7O0FDVkE7QUFDQTtBQUNBO0FBQ0E7QUFDZTtBQUNmO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7OztBQ1JlO0FBQ2Y7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNGTztBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQ0ZRO0FBQ2Y7QUFDQTtBQUNBLHNEQUFzRDtBQUN0RCwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLEtBQUs7QUFDTDtBQUNBLEdBQUcsSUFBSSxHQUFHOztBQUVWO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7QUNieUQ7QUFDMUM7QUFDZix5QkFBeUIsRUFBRSxrRUFBa0I7QUFDN0M7Ozs7Ozs7Ozs7Ozs7Ozs7QUNINkMsQ0FBQzs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxHQUFHOztBQUVOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFZTtBQUNmO0FBQ0EsMkNBQTJDOztBQUUzQyxTQUFTLHFEQUFjO0FBQ3ZCO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOzs7Ozs7Ozs7Ozs7Ozs7QUMzQ2U7QUFDZix5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7OztBQ1BlO0FBQ2Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDVjJEO0FBQ3BEO0FBQ1AsU0FBUyw2Q0FBTyxNQUFNLDZDQUFPO0FBQzdCO0FBQ087QUFDUDtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FDUGlCO0FBRWpCQSxNQUFNLENBQUNDLENBQUMsR0FBR0QsTUFBTSxDQUFDRSxNQUFNLEdBQUdDLG1CQUFPLENBQUMsb0RBQVEsQ0FBQztBQUM1Q0gsTUFBTSxDQUFDSSxJQUFJLEdBQUdELG1CQUFPLENBQUMsdUVBQWEsQ0FBQzs7QUFFcEM7QUFDQUEsbUJBQU8sQ0FBQywyRUFBZ0IsQ0FBQzs7QUFFekI7QUFDQUEsbUJBQU8sQ0FBQyw2Q0FBWSxDQUFDOzs7Ozs7Ozs7O0FDVHJCO0FBQ0E7QUFDQTtBQUNBRixDQUFDLENBQUMsWUFBWTtFQUNWO0FBQ0o7QUFDQTtFQUNJLElBQUlJLGNBQWMsR0FBR0osQ0FBQyxDQUFDLDRCQUE0QixDQUFDO0VBRXBESSxjQUFjLENBQUNDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsWUFBVztJQUN6QyxJQUFHTCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNNLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtNQUN2Qk4sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDQSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUN0RyxDQUFDLE1BQU07TUFDSFQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUNBLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDdEc7RUFDSixDQUFDLENBQUM7RUFFRk4sY0FBYyxDQUFDTyxJQUFJLENBQUMsWUFBWTtJQUM1QixJQUFHWCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNNLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtNQUN2Qk4sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDQSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUN0RztFQUNKLENBQUMsQ0FBQzs7RUFFRjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksU0FBU0csb0JBQW9CQSxDQUFDQyxJQUFJLEVBQUU7SUFDaENBLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0lBQ3hESSxJQUFJLENBQUNMLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztFQUM3RDs7RUFFQTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksU0FBU0ssbUJBQW1CQSxDQUFDRCxJQUFJLEVBQUU7SUFDL0JBLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNFLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDeERHLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUNFLFVBQVUsQ0FBQyxVQUFVLENBQUM7RUFDN0Q7O0VBRUE7QUFDSjtBQUNBO0VBQ0lWLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQ2UsTUFBTSxDQUFDLFlBQVk7SUFDekJILG9CQUFvQixDQUFDWixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsT0FBTyxJQUFJO0VBQ2YsQ0FBQyxDQUFDOztFQUVGO0FBQ0o7QUFDQTtFQUNJQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsVUFBU1csQ0FBQyxFQUFFO0lBQUEsSUFBQUMsS0FBQTtJQUN6REQsQ0FBQyxDQUFDRSxjQUFjLENBQUMsQ0FBQztJQUVsQmYsSUFBSSxDQUFDZ0IsSUFBSSxDQUFDO01BQ05DLEtBQUssRUFBRSw0Q0FBNEM7TUFDbkRDLGdCQUFnQixFQUFFLElBQUk7TUFDdEJDLGlCQUFpQixFQUFFLGdCQUFnQjtNQUNuQ0MsZ0JBQWdCLEVBQUUsUUFBUTtNQUMxQkMsSUFBSSxFQUFFO0lBQ1YsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxNQUFNLEVBQUs7TUFDaEIsSUFBSUEsTUFBTSxDQUFDQyxLQUFLLEVBQUU7UUFDZFYsS0FBSSxDQUFDRixNQUFNLENBQUMsQ0FBQztNQUNqQixDQUFDLE1BQU07UUFDSEQsbUJBQW1CLENBQUNkLENBQUMsQ0FBQ2lCLEtBQUksQ0FBQyxDQUFDO01BQ2hDO0lBQ0osQ0FBQyxDQUFDO0VBQ04sQ0FBQyxDQUFDLENBQ0daLEVBQUUsQ0FBQyxRQUFRLEVBQUUseUJBQXlCLEVBQUUsVUFBVVcsQ0FBQyxFQUFFO0lBQUEsSUFBQVksTUFBQTtJQUNsRFosQ0FBQyxDQUFDRSxjQUFjLENBQUMsQ0FBQztJQUVsQmYsSUFBSSxDQUFDZ0IsSUFBSSxDQUFDO01BQ05DLEtBQUssRUFBRSxtQ0FBbUM7TUFDMUNDLGdCQUFnQixFQUFFLElBQUk7TUFDdEJDLGlCQUFpQixFQUFFLFVBQVU7TUFDN0JDLGdCQUFnQixFQUFFLFFBQVE7TUFDMUJDLElBQUksRUFBRTtJQUNWLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsTUFBTSxFQUFLO01BQ2hCLElBQUlBLE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO1FBQ2RDLE1BQUksQ0FBQ2IsTUFBTSxDQUFDLENBQUM7TUFDakIsQ0FBQyxNQUFNO1FBQ0hELG1CQUFtQixDQUFDZCxDQUFDLENBQUM0QixNQUFJLENBQUMsQ0FBQztNQUNoQztJQUNKLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQyxDQUNEdkIsRUFBRSxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxVQUFVVyxDQUFDLEVBQUU7SUFBQSxJQUFBYSxNQUFBO0lBQ2xEO0FBQ1I7QUFDQTtJQUNRYixDQUFDLENBQUNFLGNBQWMsQ0FBQyxDQUFDO0lBRWxCZixJQUFJLENBQUNnQixJQUFJLENBQUM7TUFDTkMsS0FBSyxFQUFFLG1DQUFtQztNQUMxQ0MsZ0JBQWdCLEVBQUUsSUFBSTtNQUN0QkMsaUJBQWlCLEVBQUUsVUFBVTtNQUM3QkMsZ0JBQWdCLEVBQUUsUUFBUTtNQUMxQkMsSUFBSSxFQUFFO0lBQ1YsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxNQUFNLEVBQUs7TUFDaEJBLE1BQU0sQ0FBQ0MsS0FBSyxJQUFJNUIsTUFBTSxDQUFDK0IsUUFBUSxDQUFDQyxNQUFNLENBQUMvQixDQUFDLENBQUM2QixNQUFJLENBQUMsQ0FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDLENBQUM7RUFDTixDQUFDLENBQUM7O0VBRUY7RUFDQVQsQ0FBQyxDQUFDLDZDQUE2QyxDQUFDLENBQUNLLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVVcsQ0FBQyxFQUFFO0lBQzdFLElBQUlnQixJQUFJLEdBQUdoQyxDQUFDLENBQUNnQixDQUFDLENBQUNpQixNQUFNLENBQUMsQ0FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbkN5QixPQUFPLENBQUNDLFNBQVMsR0FBR0QsT0FBTyxDQUFDQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRUgsSUFBSSxDQUFDLEdBQUdGLFFBQVEsQ0FBQ0UsSUFBSSxHQUFHQSxJQUFJO0VBQ2xGLENBQUMsQ0FBQztFQUVGLElBQUlBLElBQUksR0FBR2pDLE1BQU0sQ0FBQytCLFFBQVEsQ0FBQ0UsSUFBSTtFQUMvQixJQUFJQSxJQUFJLEVBQUU7SUFDTmhDLENBQUMsQ0FBQyxrQkFBa0IsR0FBQ2dDLElBQUksR0FBQyxJQUFJLENBQUMsQ0FBQ0ksR0FBRyxDQUFDLE1BQU0sQ0FBQztFQUMvQzs7RUFFQTtFQUNBcEMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUNxQyxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQ3RIRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEU7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsNEJBQTRCO0FBQ3RELHlCQUF5QiwyQkFBMkI7QUFDcEQ7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLDZCQUE2QjtBQUN4RCw4QkFBOEIsZ0NBQWdDO0FBQzlELEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQix5RUFBeUU7QUFDM0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixXQUFXO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsZ0NBQWdDO0FBQ3JGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLHVCQUF1QjtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCw2QkFBNkI7QUFDdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLHlEQUF5RCw2QkFBNkI7QUFDdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQyx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QiwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGtCQUFrQjtBQUMvQztBQUNBO0FBQ0EsNkJBQTZCLGFBQWE7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsa0JBQWtCO0FBQy9DO0FBQ0E7QUFDQSw2QkFBNkIsYUFBYTtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELHVDQUF1QztBQUNqRztBQUNBLHNEQUFzRDtBQUN0RCw0Q0FBNEM7QUFDNUMseURBQXlELDRCQUE0QjtBQUNyRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGtCQUFrQjtBQUMvQyw2QkFBNkIsa0JBQWtCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsaUJBQWlCO0FBQzlDLDZCQUE2QixpQkFBaUI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGFBQWE7QUFDMUMsNkJBQTZCLGFBQWE7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixzQ0FBc0M7QUFDcEU7QUFDQTtBQUNBO0FBQ0EsaUVBQWUsZ0JBQWdCLEVBQUM7QUFDaEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvZGlzdC9qcy9jb3JldWkuZXNtLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvY3JlYXRlUG9wcGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2NvbnRhaW5zLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRDbGlwcGluZ1JlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0Q29tcG9zaXRlUmVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRDb21wdXRlZFN0eWxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldERvY3VtZW50RWxlbWVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXREb2N1bWVudFJlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0SFRNTEVsZW1lbnRTY3JvbGwuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0TGF5b3V0UmVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXROb2RlTmFtZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXROb2RlU2Nyb2xsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldE9mZnNldFBhcmVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRQYXJlbnROb2RlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFNjcm9sbFBhcmVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRWaWV3cG9ydFJlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvZ2V0V2luZG93LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2dldFdpbmRvd1Njcm9sbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9nZXRXaW5kb3dTY3JvbGxCYXJYLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvZG9tLXV0aWxzL2luc3RhbmNlT2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9kb20tdXRpbHMvaXNMYXlvdXRWaWV3cG9ydC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9pc1Njcm9sbFBhcmVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9pc1RhYmxlRWxlbWVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2RvbS11dGlscy9saXN0U2Nyb2xsUGFyZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL2VudW1zLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2FwcGx5U3R5bGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2Fycm93LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2NvbXB1dGVTdHlsZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvZXZlbnRMaXN0ZW5lcnMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi9tb2RpZmllcnMvZmxpcC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL29mZnNldC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL21vZGlmaWVycy9wb3BwZXJPZmZzZXRzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvbW9kaWZpZXJzL3ByZXZlbnRPdmVyZmxvdy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3BvcHBlci1saXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvcG9wcGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvY29tcHV0ZUF1dG9QbGFjZW1lbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9jb21wdXRlT2Zmc2V0cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2RlYm91bmNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZGV0ZWN0T3ZlcmZsb3cuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9leHBhbmRUb0hhc2hNYXAuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9nZXRBbHRBeGlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldEZyZXNoU2lkZU9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE1haW5BeGlzRnJvbVBsYWNlbWVudC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL2dldE9wcG9zaXRlUGxhY2VtZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9nZXRWYXJpYXRpb24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9tYXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AcG9wcGVyanMvY29yZS9saWIvdXRpbHMvbWVyZ2VCeU5hbWUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9tZXJnZVBhZGRpbmdPYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy9vcmRlck1vZGlmaWVycy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHBvcHBlcmpzL2NvcmUvbGliL3V0aWxzL3JlY3RUb0NsaWVudFJlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy91c2VyQWdlbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bwb3BwZXJqcy9jb3JlL2xpYi91dGlscy93aXRoaW4uanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2JhY2tlbmQvYXBwLmpzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9wbHVnaW5zLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wZXJmZWN0LXNjcm9sbGJhci9kaXN0L3BlcmZlY3Qtc2Nyb2xsYmFyLmVzbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAgKiBDb3JlVUkgdjMuNC4wIChodHRwczovL2NvcmV1aS5pbylcbiAgKiBDb3B5cmlnaHQgMjAyMCBjcmVhdGl2ZUxhYnMgxYF1a2FzeiBIb2xlY3pla1xuICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9jb3JldWkuaW8pXG4gICovXG5pbXBvcnQgeyBjcmVhdGVQb3BwZXIgfSBmcm9tICdAcG9wcGVyanMvY29yZSc7XG5pbXBvcnQgUGVyZmVjdFNjcm9sbGJhciBmcm9tICdwZXJmZWN0LXNjcm9sbGJhcic7XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gIGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gIHJldHVybiBDb25zdHJ1Y3Rvcjtcbn1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkge1xuICBpZiAoa2V5IGluIG9iaikge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59XG5cbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkge1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7XG5cbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTtcbiAgICBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTtcbiAgICB9KTtcbiAgICBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7XG4gIH1cblxuICByZXR1cm4ga2V5cztcbn1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZDIodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307XG5cbiAgICBpZiAoaSAlIDIpIHtcbiAgICAgIG93bktleXMoT2JqZWN0KHNvdXJjZSksIHRydWUpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF9pbmhlcml0c0xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7XG4gIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpO1xuICBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzcztcbiAgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzcztcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4wLjAtYWxwaGExKTogdXRpbC9pbmRleC5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbnZhciBNQVhfVUlEID0gMTAwMDAwMDtcbnZhciBNSUxMSVNFQ09ORFNfTVVMVElQTElFUiA9IDEwMDA7XG52YXIgVFJBTlNJVElPTl9FTkQgPSAndHJhbnNpdGlvbmVuZCc7IC8vIFNob3V0b3V0IEFuZ3VzQ3JvbGwgKGh0dHBzOi8vZ29vLmdsL3B4d1FHcClcblxudmFyIHRvVHlwZSA9IGZ1bmN0aW9uIHRvVHlwZShvYmopIHtcbiAgaWYgKG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBcIlwiICsgb2JqO1xuICB9XG5cbiAgcmV0dXJuIHt9LnRvU3RyaW5nLmNhbGwob2JqKS5tYXRjaCgvXFxzKFthLXpdKykvaSlbMV0udG9Mb3dlckNhc2UoKTtcbn07XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBQdWJsaWMgVXRpbCBBcGlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG52YXIgZ2V0VUlEID0gZnVuY3Rpb24gZ2V0VUlEKHByZWZpeCkge1xuICBkbyB7XG4gICAgcHJlZml4ICs9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1BWF9VSUQpO1xuICB9IHdoaWxlIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwcmVmaXgpKTtcblxuICByZXR1cm4gcHJlZml4O1xufTtcblxudmFyIGdldFNlbGVjdG9yID0gZnVuY3Rpb24gZ2V0U2VsZWN0b3IoZWxlbWVudCkge1xuICB2YXIgc2VsZWN0b3IgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10YXJnZXQnKTtcblxuICBpZiAoIXNlbGVjdG9yIHx8IHNlbGVjdG9yID09PSAnIycpIHtcbiAgICB2YXIgaHJlZkF0dHIgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICAgIHNlbGVjdG9yID0gaHJlZkF0dHIgJiYgaHJlZkF0dHIgIT09ICcjJyA/IGhyZWZBdHRyLnRyaW0oKSA6IG51bGw7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0b3I7XG59O1xuXG52YXIgZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCA9IGZ1bmN0aW9uIGdldFNlbGVjdG9yRnJvbUVsZW1lbnQoZWxlbWVudCkge1xuICB2YXIgc2VsZWN0b3IgPSBnZXRTZWxlY3RvcihlbGVtZW50KTtcblxuICBpZiAoc2VsZWN0b3IpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3RvcikgPyBzZWxlY3RvciA6IG51bGw7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG5cbnZhciBnZXRFbGVtZW50RnJvbVNlbGVjdG9yID0gZnVuY3Rpb24gZ2V0RWxlbWVudEZyb21TZWxlY3RvcihlbGVtZW50KSB7XG4gIHZhciBzZWxlY3RvciA9IGdldFNlbGVjdG9yKGVsZW1lbnQpO1xuICByZXR1cm4gc2VsZWN0b3IgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSA6IG51bGw7XG59O1xuXG52YXIgZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQgPSBmdW5jdGlvbiBnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChlbGVtZW50KSB7XG4gIGlmICghZWxlbWVudCkge1xuICAgIHJldHVybiAwO1xuICB9IC8vIEdldCB0cmFuc2l0aW9uLWR1cmF0aW9uIG9mIHRoZSBlbGVtZW50XG5cblxuICB2YXIgX3dpbmRvdyRnZXRDb21wdXRlZFN0ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCksXG4gICAgICB0cmFuc2l0aW9uRHVyYXRpb24gPSBfd2luZG93JGdldENvbXB1dGVkU3QudHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgdHJhbnNpdGlvbkRlbGF5ID0gX3dpbmRvdyRnZXRDb21wdXRlZFN0LnRyYW5zaXRpb25EZWxheTtcblxuICB2YXIgZmxvYXRUcmFuc2l0aW9uRHVyYXRpb24gPSBwYXJzZUZsb2F0KHRyYW5zaXRpb25EdXJhdGlvbik7XG4gIHZhciBmbG9hdFRyYW5zaXRpb25EZWxheSA9IHBhcnNlRmxvYXQodHJhbnNpdGlvbkRlbGF5KTsgLy8gUmV0dXJuIDAgaWYgZWxlbWVudCBvciB0cmFuc2l0aW9uIGR1cmF0aW9uIGlzIG5vdCBmb3VuZFxuXG4gIGlmICghZmxvYXRUcmFuc2l0aW9uRHVyYXRpb24gJiYgIWZsb2F0VHJhbnNpdGlvbkRlbGF5KSB7XG4gICAgcmV0dXJuIDA7XG4gIH0gLy8gSWYgbXVsdGlwbGUgZHVyYXRpb25zIGFyZSBkZWZpbmVkLCB0YWtlIHRoZSBmaXJzdFxuXG5cbiAgdHJhbnNpdGlvbkR1cmF0aW9uID0gdHJhbnNpdGlvbkR1cmF0aW9uLnNwbGl0KCcsJylbMF07XG4gIHRyYW5zaXRpb25EZWxheSA9IHRyYW5zaXRpb25EZWxheS5zcGxpdCgnLCcpWzBdO1xuICByZXR1cm4gKHBhcnNlRmxvYXQodHJhbnNpdGlvbkR1cmF0aW9uKSArIHBhcnNlRmxvYXQodHJhbnNpdGlvbkRlbGF5KSkgKiBNSUxMSVNFQ09ORFNfTVVMVElQTElFUjtcbn07XG5cbnZhciB0cmlnZ2VyVHJhbnNpdGlvbkVuZCA9IGZ1bmN0aW9uIHRyaWdnZXJUcmFuc2l0aW9uRW5kKGVsZW1lbnQpIHtcbiAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudChUUkFOU0lUSU9OX0VORCkpO1xufTtcblxudmFyIGlzRWxlbWVudCA9IGZ1bmN0aW9uIGlzRWxlbWVudChvYmopIHtcbiAgcmV0dXJuIChvYmpbMF0gfHwgb2JqKS5ub2RlVHlwZTtcbn07XG5cbnZhciBlbXVsYXRlVHJhbnNpdGlvbkVuZCA9IGZ1bmN0aW9uIGVtdWxhdGVUcmFuc2l0aW9uRW5kKGVsZW1lbnQsIGR1cmF0aW9uKSB7XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgdmFyIGR1cmF0aW9uUGFkZGluZyA9IDU7XG4gIHZhciBlbXVsYXRlZER1cmF0aW9uID0gZHVyYXRpb24gKyBkdXJhdGlvblBhZGRpbmc7XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoKSB7XG4gICAgY2FsbGVkID0gdHJ1ZTtcbiAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVFJBTlNJVElPTl9FTkQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihUUkFOU0lUSU9OX0VORCwgbGlzdGVuZXIpO1xuICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgdHJpZ2dlclRyYW5zaXRpb25FbmQoZWxlbWVudCk7XG4gICAgfVxuICB9LCBlbXVsYXRlZER1cmF0aW9uKTtcbn07XG5cbnZhciB0eXBlQ2hlY2tDb25maWcgPSBmdW5jdGlvbiB0eXBlQ2hlY2tDb25maWcoY29tcG9uZW50TmFtZSwgY29uZmlnLCBjb25maWdUeXBlcykge1xuICBPYmplY3Qua2V5cyhjb25maWdUeXBlcykuZm9yRWFjaChmdW5jdGlvbiAocHJvcGVydHkpIHtcbiAgICB2YXIgZXhwZWN0ZWRUeXBlcyA9IGNvbmZpZ1R5cGVzW3Byb3BlcnR5XTtcbiAgICB2YXIgdmFsdWUgPSBjb25maWdbcHJvcGVydHldO1xuICAgIHZhciB2YWx1ZVR5cGUgPSB2YWx1ZSAmJiBpc0VsZW1lbnQodmFsdWUpID8gJ2VsZW1lbnQnIDogdG9UeXBlKHZhbHVlKTtcblxuICAgIGlmICghbmV3IFJlZ0V4cChleHBlY3RlZFR5cGVzKS50ZXN0KHZhbHVlVHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihjb21wb25lbnROYW1lLnRvVXBwZXJDYXNlKCkgKyBcIjogXCIgKyAoXCJPcHRpb24gXFxcIlwiICsgcHJvcGVydHkgKyBcIlxcXCIgcHJvdmlkZWQgdHlwZSBcXFwiXCIgKyB2YWx1ZVR5cGUgKyBcIlxcXCIgXCIpICsgKFwiYnV0IGV4cGVjdGVkIHR5cGUgXFxcIlwiICsgZXhwZWN0ZWRUeXBlcyArIFwiXFxcIi5cIikpO1xuICAgIH1cbiAgfSk7XG59O1xuXG52YXIgaXNWaXNpYmxlID0gZnVuY3Rpb24gaXNWaXNpYmxlKGVsZW1lbnQpIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGVsZW1lbnQuc3R5bGUgJiYgZWxlbWVudC5wYXJlbnROb2RlICYmIGVsZW1lbnQucGFyZW50Tm9kZS5zdHlsZSkge1xuICAgIHZhciBlbGVtZW50U3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIHZhciBwYXJlbnROb2RlU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQucGFyZW50Tm9kZSk7XG4gICAgcmV0dXJuIGVsZW1lbnRTdHlsZS5kaXNwbGF5ICE9PSAnbm9uZScgJiYgcGFyZW50Tm9kZVN0eWxlLmRpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50U3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59O1xuXG52YXIgZmluZFNoYWRvd1Jvb3QgPSBmdW5jdGlvbiBmaW5kU2hhZG93Um9vdChlbGVtZW50KSB7XG4gIGlmICghZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmF0dGFjaFNoYWRvdykge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIENhbiBmaW5kIHRoZSBzaGFkb3cgcm9vdCBvdGhlcndpc2UgaXQnbGwgcmV0dXJuIHRoZSBkb2N1bWVudFxuXG5cbiAgaWYgKHR5cGVvZiBlbGVtZW50LmdldFJvb3ROb2RlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdmFyIHJvb3QgPSBlbGVtZW50LmdldFJvb3ROb2RlKCk7XG4gICAgcmV0dXJuIHJvb3QgaW5zdGFuY2VvZiBTaGFkb3dSb290ID8gcm9vdCA6IG51bGw7XG4gIH1cblxuICBpZiAoZWxlbWVudCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpIHtcbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfSAvLyB3aGVuIHdlIGRvbid0IGZpbmQgYSBzaGFkb3cgcm9vdFxuXG5cbiAgaWYgKCFlbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBmaW5kU2hhZG93Um9vdChlbGVtZW50LnBhcmVudE5vZGUpO1xufTtcblxudmFyIG5vb3AgPSBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge307XG59O1xuXG52YXIgcmVmbG93ID0gZnVuY3Rpb24gcmVmbG93KGVsZW1lbnQpIHtcbiAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xufTtcblxudmFyIGdldGpRdWVyeSA9IGZ1bmN0aW9uIGdldGpRdWVyeSgpIHtcbiAgdmFyIF93aW5kb3cgPSB3aW5kb3csXG4gICAgICBqUXVlcnkgPSBfd2luZG93LmpRdWVyeTtcblxuICBpZiAoalF1ZXJ5ICYmICFkb2N1bWVudC5ib2R5Lmhhc0F0dHJpYnV0ZSgnZGF0YS1uby1qcXVlcnknKSkge1xuICAgIHJldHVybiBqUXVlcnk7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMC4wLWFscGhhMSk6IGRvbS9kYXRhLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xudmFyIG1hcERhdGEgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzdG9yZURhdGEgPSB7fTtcbiAgdmFyIGlkID0gMTtcbiAgcmV0dXJuIHtcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldChlbGVtZW50LCBrZXksIGRhdGEpIHtcbiAgICAgIGlmICh0eXBlb2YgZWxlbWVudC5rZXkgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGVsZW1lbnQua2V5ID0ge1xuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIGlkOiBpZFxuICAgICAgICB9O1xuICAgICAgICBpZCsrO1xuICAgICAgfVxuXG4gICAgICBzdG9yZURhdGFbZWxlbWVudC5rZXkuaWRdID0gZGF0YTtcbiAgICB9LFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KGVsZW1lbnQsIGtleSkge1xuICAgICAgaWYgKCFlbGVtZW50IHx8IHR5cGVvZiBlbGVtZW50LmtleSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHZhciBrZXlQcm9wZXJ0aWVzID0gZWxlbWVudC5rZXk7XG5cbiAgICAgIGlmIChrZXlQcm9wZXJ0aWVzLmtleSA9PT0ga2V5KSB7XG4gICAgICAgIHJldHVybiBzdG9yZURhdGFba2V5UHJvcGVydGllcy5pZF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gICAgZGVsZXRlOiBmdW5jdGlvbiBfZGVsZXRlKGVsZW1lbnQsIGtleSkge1xuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LmtleSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIga2V5UHJvcGVydGllcyA9IGVsZW1lbnQua2V5O1xuXG4gICAgICBpZiAoa2V5UHJvcGVydGllcy5rZXkgPT09IGtleSkge1xuICAgICAgICBkZWxldGUgc3RvcmVEYXRhW2tleVByb3BlcnRpZXMuaWRdO1xuICAgICAgICBkZWxldGUgZWxlbWVudC5rZXk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufSgpO1xuXG52YXIgRGF0YSA9IHtcbiAgc2V0RGF0YTogZnVuY3Rpb24gc2V0RGF0YShpbnN0YW5jZSwga2V5LCBkYXRhKSB7XG4gICAgbWFwRGF0YS5zZXQoaW5zdGFuY2UsIGtleSwgZGF0YSk7XG4gIH0sXG4gIGdldERhdGE6IGZ1bmN0aW9uIGdldERhdGEoaW5zdGFuY2UsIGtleSkge1xuICAgIHJldHVybiBtYXBEYXRhLmdldChpbnN0YW5jZSwga2V5KTtcbiAgfSxcbiAgcmVtb3ZlRGF0YTogZnVuY3Rpb24gcmVtb3ZlRGF0YShpbnN0YW5jZSwga2V5KSB7XG4gICAgbWFwRGF0YS5kZWxldGUoaW5zdGFuY2UsIGtleSk7XG4gIH1cbn07XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG52YXIgZmluZCA9IEVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGw7XG52YXIgZmluZE9uZSA9IEVsZW1lbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3I7IC8vIE1TRWRnZSByZXNldHMgZGVmYXVsdFByZXZlbnRlZCBmbGFnIHVwb24gZGlzcGF0Y2hFdmVudCBjYWxsIGlmIGF0IGxlYXN0IG9uZSBsaXN0ZW5lciBpcyBhdHRhY2hlZFxuXG52YXIgZGVmYXVsdFByZXZlbnRlZFByZXNlcnZlZE9uRGlzcGF0Y2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBlID0gbmV3IEN1c3RvbUV2ZW50KCdCb290c3RyYXAnLCB7XG4gICAgY2FuY2VsYWJsZTogdHJ1ZVxuICB9KTtcbiAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdCb290c3RyYXAnLCBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0pO1xuICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChlKTtcbiAgcmV0dXJuIGUuZGVmYXVsdFByZXZlbnRlZDtcbn0oKTtcblxudmFyIHNjb3BlU2VsZWN0b3JSZWdleCA9IC86c2NvcGVcXGIvO1xuXG52YXIgc3VwcG9ydFNjb3BlUXVlcnkgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgdHJ5IHtcbiAgICBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJzpzY29wZSAqJyk7XG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn0oKTtcblxuaWYgKCFzdXBwb3J0U2NvcGVRdWVyeSkge1xuICBmaW5kID0gZnVuY3Rpb24gZmluZChzZWxlY3Rvcikge1xuICAgIGlmICghc2NvcGVTZWxlY3RvclJlZ2V4LnRlc3Qoc2VsZWN0b3IpKSB7XG4gICAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICB9XG5cbiAgICB2YXIgaGFzSWQgPSBCb29sZWFuKHRoaXMuaWQpO1xuXG4gICAgaWYgKCFoYXNJZCkge1xuICAgICAgdGhpcy5pZCA9IGdldFVJRCgnc2NvcGUnKTtcbiAgICB9XG5cbiAgICB2YXIgbm9kZUxpc3QgPSBudWxsO1xuXG4gICAgdHJ5IHtcbiAgICAgIHNlbGVjdG9yID0gc2VsZWN0b3IucmVwbGFjZShzY29wZVNlbGVjdG9yUmVnZXgsIFwiI1wiICsgdGhpcy5pZCk7XG4gICAgICBub2RlTGlzdCA9IHRoaXMucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmICghaGFzSWQpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ2lkJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVMaXN0O1xuICB9O1xuXG4gIGZpbmRPbmUgPSBmdW5jdGlvbiBmaW5kT25lKHNlbGVjdG9yKSB7XG4gICAgaWYgKCFzY29wZVNlbGVjdG9yUmVnZXgudGVzdChzZWxlY3RvcikpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICAgIH1cblxuICAgIHZhciBtYXRjaGVzID0gZmluZC5jYWxsKHRoaXMsIHNlbGVjdG9yKTtcblxuICAgIGlmICh0eXBlb2YgbWF0Y2hlc1swXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiBtYXRjaGVzWzBdO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCb290c3RyYXAgKHY1LjAuMC1hbHBoYTEpOiBkb20vZXZlbnQtaGFuZGxlci5qc1xuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgJCA9IGdldGpRdWVyeSgpO1xudmFyIG5hbWVzcGFjZVJlZ2V4ID0gL1teLl0qKD89XFwuLiopXFwufC4qLztcbnZhciBzdHJpcE5hbWVSZWdleCA9IC9cXC4uKi87XG52YXIgc3RyaXBVaWRSZWdleCA9IC86OlxcZCskLztcbnZhciBldmVudFJlZ2lzdHJ5ID0ge307IC8vIEV2ZW50cyBzdG9yYWdlXG5cbnZhciB1aWRFdmVudCA9IDE7XG52YXIgY3VzdG9tRXZlbnRzID0ge1xuICBtb3VzZWVudGVyOiAnbW91c2VvdmVyJyxcbiAgbW91c2VsZWF2ZTogJ21vdXNlb3V0J1xufTtcbnZhciBuYXRpdmVFdmVudHMgPSBbJ2NsaWNrJywgJ2RibGNsaWNrJywgJ21vdXNldXAnLCAnbW91c2Vkb3duJywgJ2NvbnRleHRtZW51JywgJ21vdXNld2hlZWwnLCAnRE9NTW91c2VTY3JvbGwnLCAnbW91c2VvdmVyJywgJ21vdXNlb3V0JywgJ21vdXNlbW92ZScsICdzZWxlY3RzdGFydCcsICdzZWxlY3RlbmQnLCAna2V5ZG93bicsICdrZXlwcmVzcycsICdrZXl1cCcsICdvcmllbnRhdGlvbmNoYW5nZScsICd0b3VjaHN0YXJ0JywgJ3RvdWNobW92ZScsICd0b3VjaGVuZCcsICd0b3VjaGNhbmNlbCcsICdwb2ludGVyZG93bicsICdwb2ludGVybW92ZScsICdwb2ludGVydXAnLCAncG9pbnRlcmxlYXZlJywgJ3BvaW50ZXJjYW5jZWwnLCAnZ2VzdHVyZXN0YXJ0JywgJ2dlc3R1cmVjaGFuZ2UnLCAnZ2VzdHVyZWVuZCcsICdmb2N1cycsICdibHVyJywgJ2NoYW5nZScsICdyZXNldCcsICdzZWxlY3QnLCAnc3VibWl0JywgJ2ZvY3VzaW4nLCAnZm9jdXNvdXQnLCAnbG9hZCcsICd1bmxvYWQnLCAnYmVmb3JldW5sb2FkJywgJ3Jlc2l6ZScsICdtb3ZlJywgJ0RPTUNvbnRlbnRMb2FkZWQnLCAncmVhZHlzdGF0ZWNoYW5nZScsICdlcnJvcicsICdhYm9ydCcsICdzY3JvbGwnXTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBQcml2YXRlIG1ldGhvZHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmZ1bmN0aW9uIGdldFVpZEV2ZW50KGVsZW1lbnQsIHVpZCkge1xuICByZXR1cm4gdWlkICYmIHVpZCArIFwiOjpcIiArIHVpZEV2ZW50KysgfHwgZWxlbWVudC51aWRFdmVudCB8fCB1aWRFdmVudCsrO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudChlbGVtZW50KSB7XG4gIHZhciB1aWQgPSBnZXRVaWRFdmVudChlbGVtZW50KTtcbiAgZWxlbWVudC51aWRFdmVudCA9IHVpZDtcbiAgZXZlbnRSZWdpc3RyeVt1aWRdID0gZXZlbnRSZWdpc3RyeVt1aWRdIHx8IHt9O1xuICByZXR1cm4gZXZlbnRSZWdpc3RyeVt1aWRdO1xufVxuXG5mdW5jdGlvbiBib290c3RyYXBIYW5kbGVyKGVsZW1lbnQsIGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7XG4gICAgZXZlbnQuZGVsZWdhdGVUYXJnZXQgPSBlbGVtZW50O1xuXG4gICAgaWYgKGhhbmRsZXIub25lT2ZmKSB7XG4gICAgICBFdmVudEhhbmRsZXIub2ZmKGVsZW1lbnQsIGV2ZW50LnR5cGUsIGZuKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4uYXBwbHkoZWxlbWVudCwgW2V2ZW50XSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGJvb3RzdHJhcERlbGVnYXRpb25IYW5kbGVyKGVsZW1lbnQsIHNlbGVjdG9yLCBmbikge1xuICByZXR1cm4gZnVuY3Rpb24gaGFuZGxlcihldmVudCkge1xuICAgIHZhciBkb21FbGVtZW50cyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG5cbiAgICBmb3IgKHZhciB0YXJnZXQgPSBldmVudC50YXJnZXQ7IHRhcmdldCAmJiB0YXJnZXQgIT09IHRoaXM7IHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlKSB7XG4gICAgICBmb3IgKHZhciBpID0gZG9tRWxlbWVudHMubGVuZ3RoOyBpLS07KSB7XG4gICAgICAgIGlmIChkb21FbGVtZW50c1tpXSA9PT0gdGFyZ2V0KSB7XG4gICAgICAgICAgZXZlbnQuZGVsZWdhdGVUYXJnZXQgPSB0YXJnZXQ7XG5cbiAgICAgICAgICBpZiAoaGFuZGxlci5vbmVPZmYpIHtcbiAgICAgICAgICAgIEV2ZW50SGFuZGxlci5vZmYoZWxlbWVudCwgZXZlbnQudHlwZSwgZm4pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmbi5hcHBseSh0YXJnZXQsIFtldmVudF0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAvLyBUbyBwbGVhc2UgRVNMaW50XG5cblxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuXG5mdW5jdGlvbiBmaW5kSGFuZGxlcihldmVudHMsIGhhbmRsZXIsIGRlbGVnYXRpb25TZWxlY3Rvcikge1xuICBpZiAoZGVsZWdhdGlvblNlbGVjdG9yID09PSB2b2lkIDApIHtcbiAgICBkZWxlZ2F0aW9uU2VsZWN0b3IgPSBudWxsO1xuICB9XG5cbiAgdmFyIHVpZEV2ZW50TGlzdCA9IE9iamVjdC5rZXlzKGV2ZW50cyk7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHVpZEV2ZW50TGlzdC5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIHZhciBldmVudCA9IGV2ZW50c1t1aWRFdmVudExpc3RbaV1dO1xuXG4gICAgaWYgKGV2ZW50Lm9yaWdpbmFsSGFuZGxlciA9PT0gaGFuZGxlciAmJiBldmVudC5kZWxlZ2F0aW9uU2VsZWN0b3IgPT09IGRlbGVnYXRpb25TZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIGV2ZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVQYXJhbXMob3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25Gbikge1xuICB2YXIgZGVsZWdhdGlvbiA9IHR5cGVvZiBoYW5kbGVyID09PSAnc3RyaW5nJztcbiAgdmFyIG9yaWdpbmFsSGFuZGxlciA9IGRlbGVnYXRpb24gPyBkZWxlZ2F0aW9uRm4gOiBoYW5kbGVyOyAvLyBhbGxvdyB0byBnZXQgdGhlIG5hdGl2ZSBldmVudHMgZnJvbSBuYW1lc3BhY2VkIGV2ZW50cyAoJ2NsaWNrLmJzLmJ1dHRvbicgLS0+ICdjbGljaycpXG5cbiAgdmFyIHR5cGVFdmVudCA9IG9yaWdpbmFsVHlwZUV2ZW50LnJlcGxhY2Uoc3RyaXBOYW1lUmVnZXgsICcnKTtcbiAgdmFyIGN1c3RvbSA9IGN1c3RvbUV2ZW50c1t0eXBlRXZlbnRdO1xuXG4gIGlmIChjdXN0b20pIHtcbiAgICB0eXBlRXZlbnQgPSBjdXN0b207XG4gIH1cblxuICB2YXIgaXNOYXRpdmUgPSBuYXRpdmVFdmVudHMuaW5kZXhPZih0eXBlRXZlbnQpID4gLTE7XG5cbiAgaWYgKCFpc05hdGl2ZSkge1xuICAgIHR5cGVFdmVudCA9IG9yaWdpbmFsVHlwZUV2ZW50O1xuICB9XG5cbiAgcmV0dXJuIFtkZWxlZ2F0aW9uLCBvcmlnaW5hbEhhbmRsZXIsIHR5cGVFdmVudF07XG59XG5cbmZ1bmN0aW9uIGFkZEhhbmRsZXIoZWxlbWVudCwgb3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25Gbiwgb25lT2ZmKSB7XG4gIGlmICh0eXBlb2Ygb3JpZ2luYWxUeXBlRXZlbnQgIT09ICdzdHJpbmcnIHx8ICFlbGVtZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKCFoYW5kbGVyKSB7XG4gICAgaGFuZGxlciA9IGRlbGVnYXRpb25GbjtcbiAgICBkZWxlZ2F0aW9uRm4gPSBudWxsO1xuICB9XG5cbiAgdmFyIF9ub3JtYWxpemVQYXJhbXMgPSBub3JtYWxpemVQYXJhbXMob3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25GbiksXG4gICAgICBkZWxlZ2F0aW9uID0gX25vcm1hbGl6ZVBhcmFtc1swXSxcbiAgICAgIG9yaWdpbmFsSGFuZGxlciA9IF9ub3JtYWxpemVQYXJhbXNbMV0sXG4gICAgICB0eXBlRXZlbnQgPSBfbm9ybWFsaXplUGFyYW1zWzJdO1xuXG4gIHZhciBldmVudHMgPSBnZXRFdmVudChlbGVtZW50KTtcbiAgdmFyIGhhbmRsZXJzID0gZXZlbnRzW3R5cGVFdmVudF0gfHwgKGV2ZW50c1t0eXBlRXZlbnRdID0ge30pO1xuICB2YXIgcHJldmlvdXNGbiA9IGZpbmRIYW5kbGVyKGhhbmRsZXJzLCBvcmlnaW5hbEhhbmRsZXIsIGRlbGVnYXRpb24gPyBoYW5kbGVyIDogbnVsbCk7XG5cbiAgaWYgKHByZXZpb3VzRm4pIHtcbiAgICBwcmV2aW91c0ZuLm9uZU9mZiA9IHByZXZpb3VzRm4ub25lT2ZmICYmIG9uZU9mZjtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgdWlkID0gZ2V0VWlkRXZlbnQob3JpZ2luYWxIYW5kbGVyLCBvcmlnaW5hbFR5cGVFdmVudC5yZXBsYWNlKG5hbWVzcGFjZVJlZ2V4LCAnJykpO1xuICB2YXIgZm4gPSBkZWxlZ2F0aW9uID8gYm9vdHN0cmFwRGVsZWdhdGlvbkhhbmRsZXIoZWxlbWVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuKSA6IGJvb3RzdHJhcEhhbmRsZXIoZWxlbWVudCwgaGFuZGxlcik7XG4gIGZuLmRlbGVnYXRpb25TZWxlY3RvciA9IGRlbGVnYXRpb24gPyBoYW5kbGVyIDogbnVsbDtcbiAgZm4ub3JpZ2luYWxIYW5kbGVyID0gb3JpZ2luYWxIYW5kbGVyO1xuICBmbi5vbmVPZmYgPSBvbmVPZmY7XG4gIGZuLnVpZEV2ZW50ID0gdWlkO1xuICBoYW5kbGVyc1t1aWRdID0gZm47XG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlRXZlbnQsIGZuLCBkZWxlZ2F0aW9uKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgaGFuZGxlciwgZGVsZWdhdGlvblNlbGVjdG9yKSB7XG4gIHZhciBmbiA9IGZpbmRIYW5kbGVyKGV2ZW50c1t0eXBlRXZlbnRdLCBoYW5kbGVyLCBkZWxlZ2F0aW9uU2VsZWN0b3IpO1xuXG4gIGlmICghZm4pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZUV2ZW50LCBmbiwgQm9vbGVhbihkZWxlZ2F0aW9uU2VsZWN0b3IpKTtcbiAgZGVsZXRlIGV2ZW50c1t0eXBlRXZlbnRdW2ZuLnVpZEV2ZW50XTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTmFtZXNwYWNlZEhhbmRsZXJzKGVsZW1lbnQsIGV2ZW50cywgdHlwZUV2ZW50LCBuYW1lc3BhY2UpIHtcbiAgdmFyIHN0b3JlRWxlbWVudEV2ZW50ID0gZXZlbnRzW3R5cGVFdmVudF0gfHwge307XG4gIE9iamVjdC5rZXlzKHN0b3JlRWxlbWVudEV2ZW50KS5mb3JFYWNoKGZ1bmN0aW9uIChoYW5kbGVyS2V5KSB7XG4gICAgaWYgKGhhbmRsZXJLZXkuaW5kZXhPZihuYW1lc3BhY2UpID4gLTEpIHtcbiAgICAgIHZhciBldmVudCA9IHN0b3JlRWxlbWVudEV2ZW50W2hhbmRsZXJLZXldO1xuICAgICAgcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgZXZlbnQub3JpZ2luYWxIYW5kbGVyLCBldmVudC5kZWxlZ2F0aW9uU2VsZWN0b3IpO1xuICAgIH1cbiAgfSk7XG59XG5cbnZhciBFdmVudEhhbmRsZXIgPSB7XG4gIG9uOiBmdW5jdGlvbiBvbihlbGVtZW50LCBldmVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuKSB7XG4gICAgYWRkSGFuZGxlcihlbGVtZW50LCBldmVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuLCBmYWxzZSk7XG4gIH0sXG4gIG9uZTogZnVuY3Rpb24gb25lKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4pIHtcbiAgICBhZGRIYW5kbGVyKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyLCBkZWxlZ2F0aW9uRm4sIHRydWUpO1xuICB9LFxuICBvZmY6IGZ1bmN0aW9uIG9mZihlbGVtZW50LCBvcmlnaW5hbFR5cGVFdmVudCwgaGFuZGxlciwgZGVsZWdhdGlvbkZuKSB7XG4gICAgaWYgKHR5cGVvZiBvcmlnaW5hbFR5cGVFdmVudCAhPT0gJ3N0cmluZycgfHwgIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgX25vcm1hbGl6ZVBhcmFtczIgPSBub3JtYWxpemVQYXJhbXMob3JpZ2luYWxUeXBlRXZlbnQsIGhhbmRsZXIsIGRlbGVnYXRpb25GbiksXG4gICAgICAgIGRlbGVnYXRpb24gPSBfbm9ybWFsaXplUGFyYW1zMlswXSxcbiAgICAgICAgb3JpZ2luYWxIYW5kbGVyID0gX25vcm1hbGl6ZVBhcmFtczJbMV0sXG4gICAgICAgIHR5cGVFdmVudCA9IF9ub3JtYWxpemVQYXJhbXMyWzJdO1xuXG4gICAgdmFyIGluTmFtZXNwYWNlID0gdHlwZUV2ZW50ICE9PSBvcmlnaW5hbFR5cGVFdmVudDtcbiAgICB2YXIgZXZlbnRzID0gZ2V0RXZlbnQoZWxlbWVudCk7XG4gICAgdmFyIGlzTmFtZXNwYWNlID0gb3JpZ2luYWxUeXBlRXZlbnQuY2hhckF0KDApID09PSAnLic7XG5cbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsSGFuZGxlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIFNpbXBsZXN0IGNhc2U6IGhhbmRsZXIgaXMgcGFzc2VkLCByZW1vdmUgdGhhdCBsaXN0ZW5lciBPTkxZLlxuICAgICAgaWYgKCFldmVudHMgfHwgIWV2ZW50c1t0eXBlRXZlbnRdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgb3JpZ2luYWxIYW5kbGVyLCBkZWxlZ2F0aW9uID8gaGFuZGxlciA6IG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc05hbWVzcGFjZSkge1xuICAgICAgT2JqZWN0LmtleXMoZXZlbnRzKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50RXZlbnQpIHtcbiAgICAgICAgcmVtb3ZlTmFtZXNwYWNlZEhhbmRsZXJzKGVsZW1lbnQsIGV2ZW50cywgZWxlbWVudEV2ZW50LCBvcmlnaW5hbFR5cGVFdmVudC5zbGljZSgxKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgc3RvcmVFbGVtZW50RXZlbnQgPSBldmVudHNbdHlwZUV2ZW50XSB8fCB7fTtcbiAgICBPYmplY3Qua2V5cyhzdG9yZUVsZW1lbnRFdmVudCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5SGFuZGxlcnMpIHtcbiAgICAgIHZhciBoYW5kbGVyS2V5ID0ga2V5SGFuZGxlcnMucmVwbGFjZShzdHJpcFVpZFJlZ2V4LCAnJyk7XG5cbiAgICAgIGlmICghaW5OYW1lc3BhY2UgfHwgb3JpZ2luYWxUeXBlRXZlbnQuaW5kZXhPZihoYW5kbGVyS2V5KSA+IC0xKSB7XG4gICAgICAgIHZhciBldmVudCA9IHN0b3JlRWxlbWVudEV2ZW50W2tleUhhbmRsZXJzXTtcbiAgICAgICAgcmVtb3ZlSGFuZGxlcihlbGVtZW50LCBldmVudHMsIHR5cGVFdmVudCwgZXZlbnQub3JpZ2luYWxIYW5kbGVyLCBldmVudC5kZWxlZ2F0aW9uU2VsZWN0b3IpO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuICB0cmlnZ2VyOiBmdW5jdGlvbiB0cmlnZ2VyKGVsZW1lbnQsIGV2ZW50LCBhcmdzKSB7XG4gICAgaWYgKHR5cGVvZiBldmVudCAhPT0gJ3N0cmluZycgfHwgIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciB0eXBlRXZlbnQgPSBldmVudC5yZXBsYWNlKHN0cmlwTmFtZVJlZ2V4LCAnJyk7XG4gICAgdmFyIGluTmFtZXNwYWNlID0gZXZlbnQgIT09IHR5cGVFdmVudDtcbiAgICB2YXIgaXNOYXRpdmUgPSBuYXRpdmVFdmVudHMuaW5kZXhPZih0eXBlRXZlbnQpID4gLTE7XG4gICAgdmFyIGpRdWVyeUV2ZW50O1xuICAgIHZhciBidWJibGVzID0gdHJ1ZTtcbiAgICB2YXIgbmF0aXZlRGlzcGF0Y2ggPSB0cnVlO1xuICAgIHZhciBkZWZhdWx0UHJldmVudGVkID0gZmFsc2U7XG4gICAgdmFyIGV2dCA9IG51bGw7XG5cbiAgICBpZiAoaW5OYW1lc3BhY2UgJiYgJCkge1xuICAgICAgalF1ZXJ5RXZlbnQgPSAkLkV2ZW50KGV2ZW50LCBhcmdzKTtcbiAgICAgICQoZWxlbWVudCkudHJpZ2dlcihqUXVlcnlFdmVudCk7XG4gICAgICBidWJibGVzID0gIWpRdWVyeUV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7XG4gICAgICBuYXRpdmVEaXNwYXRjaCA9ICFqUXVlcnlFdmVudC5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO1xuICAgICAgZGVmYXVsdFByZXZlbnRlZCA9IGpRdWVyeUV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpO1xuICAgIH1cblxuICAgIGlmIChpc05hdGl2ZSkge1xuICAgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxFdmVudHMnKTtcbiAgICAgIGV2dC5pbml0RXZlbnQodHlwZUV2ZW50LCBidWJibGVzLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KGV2ZW50LCB7XG4gICAgICAgIGJ1YmJsZXM6IGJ1YmJsZXMsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICAgIH0pO1xuICAgIH0gLy8gbWVyZ2UgY3VzdG9tIGluZm9ybWF0aW9uIGluIG91ciBldmVudFxuXG5cbiAgICBpZiAodHlwZW9mIGFyZ3MgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBPYmplY3Qua2V5cyhhcmdzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV2dCwga2V5LCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJnc1trZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmICghZGVmYXVsdFByZXZlbnRlZFByZXNlcnZlZE9uRGlzcGF0Y2gpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV2dCwgJ2RlZmF1bHRQcmV2ZW50ZWQnLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuYXRpdmVEaXNwYXRjaCkge1xuICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGV2dCk7XG4gICAgfVxuXG4gICAgaWYgKGV2dC5kZWZhdWx0UHJldmVudGVkICYmIHR5cGVvZiBqUXVlcnlFdmVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGpRdWVyeUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV2dDtcbiAgfVxufTtcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUgPSAnYXN5bmNMb2FkJztcbnZhciBWRVJTSU9OID0gJzMuMi4yJztcbnZhciBEQVRBX0tFWSA9ICdjb3JldWkuYXN5bmNMb2FkJztcbnZhciBFVkVOVF9LRVkgPSBcIi5cIiArIERBVEFfS0VZO1xudmFyIERBVEFfQVBJX0tFWSA9ICcuZGF0YS1hcGknO1xudmFyIENMQVNTX05BTUVfQUNUSVZFID0gJ2MtYWN0aXZlJztcbnZhciBDTEFTU19OQU1FX05BVl9EUk9QRE9XTl9UT0dHTEUgPSAnYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUnO1xudmFyIENMQVNTX05BTUVfTkFWX0xJTksgPSAnYy1zaWRlYmFyLW5hdi1saW5rJztcbnZhciBDTEFTU19OQU1FX1NIT1cgPSAnYy1zaG93JztcbnZhciBDTEFTU19OQU1FX1ZJRVdfU0NSSVBUID0gJ3ZpZXctc2NyaXB0JztcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSA9IFwiY2xpY2tcIiArIEVWRU5UX0tFWSArIERBVEFfQVBJX0tFWTtcbnZhciBFVkVOVF9YSFJfU1RBVFVTID0gJ3hocic7XG52YXIgU0VMRUNUT1JfTkFWX0RST1BET1dOID0gJy5jLXNpZGViYXItbmF2LWRyb3Bkb3duJztcbnZhciBTRUxFQ1RPUl9OQVZfTElOSyA9ICcuYy14aHItbGluaywgLmMtc2lkZWJhci1uYXYtbGluayc7XG52YXIgU0VMRUNUT1JfTkFWX0lURU0gPSAnLmMtc2lkZWJhci1uYXYtaXRlbSc7XG52YXIgU0VMRUNUT1JfVklFV19TQ1JJUFQgPSAnLnZpZXctc2NyaXB0JztcbnZhciBEZWZhdWx0ID0ge1xuICBkZWZhdWx0UGFnZTogJ21haW4uaHRtbCcsXG4gIGVycm9yUGFnZTogJzQwNC5odG1sJyxcbiAgc3VicGFnZXNEaXJlY3Rvcnk6ICd2aWV3cy8nXG59O1xuXG52YXIgQXN5bmNMb2FkID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQXN5bmNMb2FkKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50OyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzXG5cbiAgICB2YXIgdXJsID0gbG9jYXRpb24uaGFzaC5yZXBsYWNlKC9eIy8sICcnKTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5lZ2F0ZWQtY29uZGl0aW9uXG5cbiAgICBpZiAodXJsICE9PSAnJykge1xuICAgICAgdGhpcy5fc2V0VXBVcmwodXJsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0VXBVcmwodGhpcy5fY29uZmlnLmRlZmF1bHRQYWdlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9hZGRFdmVudExpc3RlbmVycygpO1xuICB9IC8vIEdldHRlcnNcblxuXG4gIHZhciBfcHJvdG8gPSBBc3luY0xvYWQucHJvdG90eXBlO1xuXG4gIC8vIFByaXZhdGVcbiAgX3Byb3RvLl9nZXRDb25maWcgPSBmdW5jdGlvbiBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgIGNvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0KSwgY29uZmlnKTtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xuXG4gIF9wcm90by5fbG9hZFBhZ2UgPSBmdW5jdGlvbiBfbG9hZFBhZ2UodXJsKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHZhciBlbGVtZW50ID0gdGhpcy5fZWxlbWVudDtcbiAgICB2YXIgY29uZmlnID0gdGhpcy5fY29uZmlnO1xuXG4gICAgdmFyIGxvYWRTY3JpcHRzID0gZnVuY3Rpb24gbG9hZFNjcmlwdHMoc3JjLCBlbGVtZW50KSB7XG4gICAgICBpZiAoZWxlbWVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIGVsZW1lbnQgPSAwO1xuICAgICAgfVxuXG4gICAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgc2NyaXB0LnNyYyA9IHNyY1tlbGVtZW50XTtcbiAgICAgIHNjcmlwdC5jbGFzc05hbWUgPSBDTEFTU19OQU1FX1ZJRVdfU0NSSVBUOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbXVsdGktYXNzaWduLCB1bmljb3JuL3ByZWZlci1hZGQtZXZlbnQtbGlzdGVuZXJcblxuICAgICAgc2NyaXB0Lm9ubG9hZCA9IHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghX3RoaXMucmVhZHlTdGF0ZSB8fCBfdGhpcy5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICAgICAgaWYgKHNyYy5sZW5ndGggPiBlbGVtZW50ICsgMSkge1xuICAgICAgICAgICAgbG9hZFNjcmlwdHMoc3JjLCBlbGVtZW50ICsgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICB2YXIgYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XG4gICAgICBib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgfTtcblxuICAgIHZhciByZW1vdmVTY3JpcHRzID0gZnVuY3Rpb24gcmVtb3ZlU2NyaXB0cygpIHtcbiAgICAgIHZhciBvbGRTY3JpcHRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTRUxFQ1RPUl9WSUVXX1NDUklQVCk7XG5cbiAgICAgIGlmIChvbGRTY3JpcHRzLmxlbmd0aCkge1xuICAgICAgICBvbGRTY3JpcHRzLmZvckVhY2goZnVuY3Rpb24gKG9sZFNjcmlwdCkge1xuICAgICAgICAgIG9sZFNjcmlwdC5yZW1vdmUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICB4aHIub3BlbignR0VUJywgY29uZmlnLnN1YnBhZ2VzRGlyZWN0b3J5ICsgdXJsKTtcbiAgICB2YXIgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoRVZFTlRfWEhSX1NUQVRVUywge1xuICAgICAgZGV0YWlsOiB7XG4gICAgICAgIHVybDogdXJsLFxuICAgICAgICBzdGF0dXM6IHhoci5zdGF0dXNcbiAgICAgIH1cbiAgICB9KTtcbiAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItYWRkLWV2ZW50LWxpc3RlbmVyXG5cbiAgICB4aHIub25sb2FkID0gZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBldmVudCA9IG5ldyBDdXN0b21FdmVudChFVkVOVF9YSFJfU1RBVFVTLCB7XG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgIHN0YXR1czogeGhyLnN0YXR1c1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgIHZhciB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHdyYXBwZXIuaW5uZXJIVE1MID0gcmVzdWx0LnRhcmdldC5yZXNwb25zZTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vcHJlZmVyLXNwcmVhZFxuXG4gICAgICAgIHZhciBzY3JpcHRzID0gQXJyYXkuZnJvbSh3cmFwcGVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NjcmlwdCcpKS5tYXAoZnVuY3Rpb24gKHNjcmlwdCkge1xuICAgICAgICAgIHJldHVybiBzY3JpcHQuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ3NyYycpLm5vZGVWYWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHdyYXBwZXIucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0JykuZm9yRWFjaChmdW5jdGlvbiAoc2NyaXB0KSB7XG4gICAgICAgICAgcmV0dXJuIHNjcmlwdC5yZW1vdmUoc2NyaXB0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZCh3cmFwcGVyKTtcbiAgICAgICAgcmVtb3ZlU2NyaXB0cygpO1xuXG4gICAgICAgIGlmIChzY3JpcHRzLmxlbmd0aCkge1xuICAgICAgICAgIGxvYWRTY3JpcHRzKHNjcmlwdHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSB1cmw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGNvbmZpZy5lcnJvclBhZ2U7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHhoci5zZW5kKCk7XG4gIH07XG5cbiAgX3Byb3RvLl9zZXRVcFVybCA9IGZ1bmN0aW9uIF9zZXRVcFVybCh1cmwpIHtcbiAgICB1cmwgPSB1cmwucmVwbGFjZSgvXlxcLy8sICcnKS5zcGxpdCgnPycpWzBdOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG5cbiAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1JfTkFWX0xJTkspKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUpO1xuICAgIH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG5cbiAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1JfTkFWX0xJTkspKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUpO1xuICAgIH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG5cbiAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1JfTkFWX0RST1BET1dOKSkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyk7XG4gICAgfSk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcblxuICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTRUxFQ1RPUl9OQVZfRFJPUERPV04pKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG4gICAgICBpZiAoQXJyYXkuZnJvbShlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJhW2hyZWYqPVxcXCJcIiArIHVybCArIFwiXFxcIl1cIikpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVyk7XG4gICAgICB9XG4gICAgfSk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcblxuICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTRUxFQ1RPUl9OQVZfSVRFTSArIFwiIGFbaHJlZio9XFxcIlwiICsgdXJsICsgXCJcXFwiXVwiKSkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX2xvYWRQYWdlKHVybCk7XG4gIH07XG5cbiAgX3Byb3RvLl9sb2FkQmxhbmsgPSBmdW5jdGlvbiBfbG9hZEJsYW5rKHVybCkge1xuICAgIHdpbmRvdy5vcGVuKHVybCk7XG4gIH07XG5cbiAgX3Byb3RvLl9sb2FkVG9wID0gZnVuY3Rpb24gX2xvYWRUb3AodXJsKSB7XG4gICAgd2luZG93LmxvY2F0aW9uID0gdXJsO1xuICB9O1xuXG4gIF9wcm90by5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShsaW5rKSB7XG4gICAgaWYgKGxpbmsuaHJlZiAhPT0gJyMnKSB7XG4gICAgICBpZiAodHlwZW9mIGxpbmsuZGF0YXNldC50b2dnbGUgPT09ICd1bmRlZmluZWQnIHx8IGxpbmsuZGF0YXNldC50b2dnbGUgPT09ICdudWxsJykge1xuICAgICAgICBpZiAobGluay50YXJnZXQgPT09ICdfdG9wJykge1xuICAgICAgICAgIHRoaXMuX2xvYWRUb3AobGluay5ocmVmKTtcbiAgICAgICAgfSBlbHNlIGlmIChsaW5rLnRhcmdldCA9PT0gJ19ibGFuaycpIHtcbiAgICAgICAgICB0aGlzLl9sb2FkQmxhbmsobGluay5ocmVmKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9zZXRVcFVybChsaW5rLmdldEF0dHJpYnV0ZSgnaHJlZicpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2FkZEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24gX2FkZEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSwgU0VMRUNUT1JfTkFWX0xJTkssIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHZhciBsaW5rID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICBpZiAoIWxpbmsuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfTkFWX0xJTkspKSB7XG4gICAgICAgIGxpbmsgPSBsaW5rLmNsb3Nlc3QoU0VMRUNUT1JfTkFWX0xJTkspO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWxpbmsuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfTkFWX0RST1BET1dOX1RPR0dMRSkgJiYgbGluay5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSAhPT0gJyMnKSB7XG4gICAgICAgIF90aGlzMi5fdXBkYXRlKGxpbmspO1xuICAgICAgfVxuICAgIH0pO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgQXN5bmNMb2FkLl9hc3luY0xvYWRJbnRlcmZhY2UgPSBmdW5jdGlvbiBfYXN5bmNMb2FkSW50ZXJmYWNlKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZKTtcblxuICAgIHZhciBfY29uZmlnID0gdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnO1xuXG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICBkYXRhID0gbmV3IEFzeW5jTG9hZChlbGVtZW50LCBfY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtjb25maWddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgIH1cblxuICAgICAgZGF0YVtjb25maWddKCk7XG4gICAgfVxuICB9O1xuXG4gIEFzeW5jTG9hZC5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBBc3luY0xvYWQuX2FzeW5jTG9hZEludGVyZmFjZSh0aGlzLCBjb25maWcpO1xuICAgIH0pO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhBc3luY0xvYWQsIG51bGwsIFt7XG4gICAga2V5OiBcIlZFUlNJT05cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBWRVJTSU9OO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdDtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQXN5bmNMb2FkO1xufSgpO1xuXG52YXIgJCQxID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuYXN5bmNMb2FkIHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuaWYgKCQkMSkge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUID0gJCQxLmZuW05BTUVdO1xuICAkJDEuZm5bTkFNRV0gPSBBc3luY0xvYWQualF1ZXJ5SW50ZXJmYWNlO1xuICAkJDEuZm5bTkFNRV0uQ29uc3RydWN0b3IgPSBBc3luY0xvYWQ7XG5cbiAgJCQxLmZuW05BTUVdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJCQxLmZuW05BTUVdID0gSlFVRVJZX05PX0NPTkZMSUNUO1xuICAgIHJldHVybiBBc3luY0xvYWQualF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTkFNRSQxID0gJ2FsZXJ0JztcbnZhciBWRVJTSU9OJDEgPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJDEgPSAnY29yZXVpLmFsZXJ0JztcbnZhciBFVkVOVF9LRVkkMSA9IFwiLlwiICsgREFUQV9LRVkkMTtcbnZhciBEQVRBX0FQSV9LRVkkMSA9ICcuZGF0YS1hcGknO1xudmFyIFNFTEVDVE9SX0RJU01JU1MgPSAnW2RhdGEtZGlzbWlzcz1cImFsZXJ0XCJdJztcbnZhciBFVkVOVF9DTE9TRSA9IFwiY2xvc2VcIiArIEVWRU5UX0tFWSQxO1xudmFyIEVWRU5UX0NMT1NFRCA9IFwiY2xvc2VkXCIgKyBFVkVOVF9LRVkkMTtcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSQxID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJDEgKyBEQVRBX0FQSV9LRVkkMTtcbnZhciBDTEFTU05BTUVfQUxFUlQgPSAnYWxlcnQnO1xudmFyIENMQVNTTkFNRV9GQURFID0gJ2ZhZGUnO1xudmFyIENMQVNTTkFNRV9TSE9XID0gJ3Nob3cnO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBBbGVydCA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEFsZXJ0KGVsZW1lbnQpIHtcbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcblxuICAgIGlmICh0aGlzLl9lbGVtZW50KSB7XG4gICAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkMSwgdGhpcyk7XG4gICAgfVxuICB9IC8vIEdldHRlcnNcblxuXG4gIHZhciBfcHJvdG8gPSBBbGVydC5wcm90b3R5cGU7XG5cbiAgLy8gUHVibGljXG4gIF9wcm90by5jbG9zZSA9IGZ1bmN0aW9uIGNsb3NlKGVsZW1lbnQpIHtcbiAgICB2YXIgcm9vdEVsZW1lbnQgPSBlbGVtZW50ID8gdGhpcy5fZ2V0Um9vdEVsZW1lbnQoZWxlbWVudCkgOiB0aGlzLl9lbGVtZW50O1xuXG4gICAgdmFyIGN1c3RvbUV2ZW50ID0gdGhpcy5fdHJpZ2dlckNsb3NlRXZlbnQocm9vdEVsZW1lbnQpO1xuXG4gICAgaWYgKGN1c3RvbUV2ZW50ID09PSBudWxsIHx8IGN1c3RvbUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZW1vdmVFbGVtZW50KHJvb3RFbGVtZW50KTtcbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgRGF0YS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDEpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBudWxsO1xuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fZ2V0Um9vdEVsZW1lbnQgPSBmdW5jdGlvbiBfZ2V0Um9vdEVsZW1lbnQoZWxlbWVudCkge1xuICAgIHJldHVybiBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKGVsZW1lbnQpIHx8IGVsZW1lbnQuY2xvc2VzdChcIi5cIiArIENMQVNTTkFNRV9BTEVSVCk7XG4gIH07XG5cbiAgX3Byb3RvLl90cmlnZ2VyQ2xvc2VFdmVudCA9IGZ1bmN0aW9uIF90cmlnZ2VyQ2xvc2VFdmVudChlbGVtZW50KSB7XG4gICAgcmV0dXJuIEV2ZW50SGFuZGxlci50cmlnZ2VyKGVsZW1lbnQsIEVWRU5UX0NMT1NFKTtcbiAgfTtcblxuICBfcHJvdG8uX3JlbW92ZUVsZW1lbnQgPSBmdW5jdGlvbiBfcmVtb3ZlRWxlbWVudChlbGVtZW50KSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU05BTUVfU0hPVyk7XG5cbiAgICBpZiAoIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTTkFNRV9GQURFKSkge1xuICAgICAgdGhpcy5fZGVzdHJveUVsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoZWxlbWVudCk7XG4gICAgRXZlbnRIYW5kbGVyLm9uZShlbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLl9kZXN0cm95RWxlbWVudChlbGVtZW50KTtcbiAgICB9KTtcbiAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZChlbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICB9O1xuXG4gIF9wcm90by5fZGVzdHJveUVsZW1lbnQgPSBmdW5jdGlvbiBfZGVzdHJveUVsZW1lbnQoZWxlbWVudCkge1xuICAgIGlmIChlbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgIGVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50KTtcbiAgICB9XG5cbiAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihlbGVtZW50LCBFVkVOVF9DTE9TRUQpO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgQWxlcnQualF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24galF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGRhdGEgPSBEYXRhLmdldERhdGEodGhpcywgREFUQV9LRVkkMSk7XG5cbiAgICAgIGlmICghZGF0YSkge1xuICAgICAgICBkYXRhID0gbmV3IEFsZXJ0KHRoaXMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29uZmlnID09PSAnY2xvc2UnKSB7XG4gICAgICAgIGRhdGFbY29uZmlnXSh0aGlzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBBbGVydC5oYW5kbGVEaXNtaXNzID0gZnVuY3Rpb24gaGFuZGxlRGlzbWlzcyhhbGVydEluc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG5cbiAgICAgIGFsZXJ0SW5zdGFuY2UuY2xvc2UodGhpcyk7XG4gICAgfTtcbiAgfTtcblxuICBBbGVydC5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDEpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhBbGVydCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kMTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gQWxlcnQ7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSQxLCBTRUxFQ1RPUl9ESVNNSVNTLCBBbGVydC5oYW5kbGVEaXNtaXNzKG5ldyBBbGVydCgpKSk7XG52YXIgJCQyID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuYWxlcnQgdG8galF1ZXJ5IG9ubHkgaWYgalF1ZXJ5IGlzIHByZXNlbnRcbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkMikge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJDEgPSAkJDIuZm5bTkFNRSQxXTtcbiAgJCQyLmZuW05BTUUkMV0gPSBBbGVydC5qUXVlcnlJbnRlcmZhY2U7XG4gICQkMi5mbltOQU1FJDFdLkNvbnN0cnVjdG9yID0gQWxlcnQ7XG5cbiAgJCQyLmZuW05BTUUkMV0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkJDIuZm5bTkFNRSQxXSA9IEpRVUVSWV9OT19DT05GTElDVCQxO1xuICAgIHJldHVybiBBbGVydC5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEJvb3RzdHJhcCAodjUuMC4wLWFscGhhMSk6IGRvbS9zZWxlY3Rvci1lbmdpbmUuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTk9ERV9URVhUID0gMztcbnZhciBTZWxlY3RvckVuZ2luZSA9IHtcbiAgbWF0Y2hlczogZnVuY3Rpb24gbWF0Y2hlcyhlbGVtZW50LCBzZWxlY3Rvcikge1xuICAgIHJldHVybiBlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpO1xuICB9LFxuICBmaW5kOiBmdW5jdGlvbiBmaW5kJDEoc2VsZWN0b3IsIGVsZW1lbnQpIHtcbiAgICB2YXIgX3JlZjtcblxuICAgIGlmIChlbGVtZW50ID09PSB2b2lkIDApIHtcbiAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIChfcmVmID0gW10pLmNvbmNhdC5hcHBseShfcmVmLCBmaW5kLmNhbGwoZWxlbWVudCwgc2VsZWN0b3IpKTtcbiAgfSxcbiAgZmluZE9uZTogZnVuY3Rpb24gZmluZE9uZSQxKHNlbGVjdG9yLCBlbGVtZW50KSB7XG4gICAgaWYgKGVsZW1lbnQgPT09IHZvaWQgMCkge1xuICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmluZE9uZS5jYWxsKGVsZW1lbnQsIHNlbGVjdG9yKTtcbiAgfSxcbiAgY2hpbGRyZW46IGZ1bmN0aW9uIGNoaWxkcmVuKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgdmFyIF9yZWYyO1xuXG4gICAgdmFyIGNoaWxkcmVuID0gKF9yZWYyID0gW10pLmNvbmNhdC5hcHBseShfcmVmMiwgZWxlbWVudC5jaGlsZHJlbik7XG5cbiAgICByZXR1cm4gY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgcmV0dXJuIGNoaWxkLm1hdGNoZXMoc2VsZWN0b3IpO1xuICAgIH0pO1xuICB9LFxuICBwYXJlbnRzOiBmdW5jdGlvbiBwYXJlbnRzKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgdmFyIHBhcmVudHMgPSBbXTtcbiAgICB2YXIgYW5jZXN0b3IgPSBlbGVtZW50LnBhcmVudE5vZGU7XG5cbiAgICB3aGlsZSAoYW5jZXN0b3IgJiYgYW5jZXN0b3Iubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFICYmIGFuY2VzdG9yLm5vZGVUeXBlICE9PSBOT0RFX1RFWFQpIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoZXMoYW5jZXN0b3IsIHNlbGVjdG9yKSkge1xuICAgICAgICBwYXJlbnRzLnB1c2goYW5jZXN0b3IpO1xuICAgICAgfVxuXG4gICAgICBhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudE5vZGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudHM7XG4gIH0sXG4gIHByZXY6IGZ1bmN0aW9uIHByZXYoZWxlbWVudCwgc2VsZWN0b3IpIHtcbiAgICB2YXIgcHJldmlvdXMgPSBlbGVtZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG5cbiAgICB3aGlsZSAocHJldmlvdXMpIHtcbiAgICAgIGlmIChwcmV2aW91cy5tYXRjaGVzKHNlbGVjdG9yKSkge1xuICAgICAgICByZXR1cm4gW3ByZXZpb3VzXTtcbiAgICAgIH1cblxuICAgICAgcHJldmlvdXMgPSBwcmV2aW91cy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfSxcbiAgbmV4dDogZnVuY3Rpb24gbmV4dChlbGVtZW50LCBzZWxlY3Rvcikge1xuICAgIHZhciBuZXh0ID0gZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmc7XG5cbiAgICB3aGlsZSAobmV4dCkge1xuICAgICAgaWYgKHRoaXMubWF0Y2hlcyhuZXh0LCBzZWxlY3RvcikpIHtcbiAgICAgICAgcmV0dXJuIFtuZXh0XTtcbiAgICAgIH1cblxuICAgICAgbmV4dCA9IG5leHQubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIHJldHVybiBbXTtcbiAgfVxufTtcblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUkMiA9ICdidXR0b24nO1xudmFyIFZFUlNJT04kMiA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkMiA9ICdjb3JldWkuYnV0dG9uJztcbnZhciBFVkVOVF9LRVkkMiA9IFwiLlwiICsgREFUQV9LRVkkMjtcbnZhciBEQVRBX0FQSV9LRVkkMiA9ICcuZGF0YS1hcGknO1xudmFyIENMQVNTX05BTUVfQUNUSVZFJDEgPSAnYWN0aXZlJztcbnZhciBDTEFTU19OQU1FX0RJU0FCTEVEID0gJ2Rpc2FibGVkJztcbnZhciBDTEFTU19OQU1FX0ZPQ1VTID0gJ2ZvY3VzJztcbnZhciBTRUxFQ1RPUl9EQVRBX1RPR0dMRV9DQVJST1QgPSAnW2RhdGEtdG9nZ2xlXj1cImJ1dHRvblwiXSc7XG52YXIgU0VMRUNUT1JfREFUQV9UT0dHTEUgPSAnW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSc7XG52YXIgU0VMRUNUT1JfSU5QVVQgPSAnaW5wdXQ6bm90KFt0eXBlPVwiaGlkZGVuXCJdKSc7XG52YXIgU0VMRUNUT1JfQUNUSVZFID0gJy5hY3RpdmUnO1xudmFyIFNFTEVDVE9SX0JVVFRPTiA9ICcuYnRuJztcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSQyID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJDIgKyBEQVRBX0FQSV9LRVkkMjtcbnZhciBFVkVOVF9GT0NVU19EQVRBX0FQSSA9IFwiZm9jdXNcIiArIEVWRU5UX0tFWSQyICsgREFUQV9BUElfS0VZJDI7XG52YXIgRVZFTlRfQkxVUl9EQVRBX0FQSSA9IFwiYmx1clwiICsgRVZFTlRfS0VZJDIgKyBEQVRBX0FQSV9LRVkkMjtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgQnV0dG9uID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQnV0dG9uKGVsZW1lbnQpIHtcbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkMiwgdGhpcyk7XG4gIH0gLy8gR2V0dGVyc1xuXG5cbiAgdmFyIF9wcm90byA9IEJ1dHRvbi5wcm90b3R5cGU7XG5cbiAgLy8gUHVibGljXG4gIF9wcm90by50b2dnbGUgPSBmdW5jdGlvbiB0b2dnbGUoKSB7XG4gICAgdmFyIHRyaWdnZXJDaGFuZ2VFdmVudCA9IHRydWU7XG4gICAgdmFyIGFkZEFyaWFQcmVzc2VkID0gdHJ1ZTtcblxuICAgIHZhciByb290RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY2xvc2VzdChTRUxFQ1RPUl9EQVRBX1RPR0dMRSk7XG5cbiAgICBpZiAocm9vdEVsZW1lbnQpIHtcbiAgICAgIHZhciBpbnB1dCA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfSU5QVVQsIHRoaXMuX2VsZW1lbnQpO1xuXG4gICAgICBpZiAoaW5wdXQgJiYgaW5wdXQudHlwZSA9PT0gJ3JhZGlvJykge1xuICAgICAgICBpZiAoaW5wdXQuY2hlY2tlZCAmJiB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQxKSkge1xuICAgICAgICAgIHRyaWdnZXJDaGFuZ2VFdmVudCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBhY3RpdmVFbGVtZW50ID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9BQ1RJVkUsIHJvb3RFbGVtZW50KTtcblxuICAgICAgICAgIGlmIChhY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUkMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2VFdmVudCkge1xuICAgICAgICAgIGlmIChpbnB1dC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgfHwgcm9vdEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpIHx8IGlucHV0LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0RJU0FCTEVEKSB8fCByb290RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9ESVNBQkxFRCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbnB1dC5jaGVja2VkID0gIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfQUNUSVZFJDEpO1xuICAgICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKGlucHV0LCAnY2hhbmdlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgICBhZGRBcmlhUHJlc3NlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChhZGRBcmlhUHJlc3NlZCkge1xuICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsICF0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQxKSk7XG4gICAgfVxuXG4gICAgaWYgKHRyaWdnZXJDaGFuZ2VFdmVudCkge1xuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKENMQVNTX05BTUVfQUNUSVZFJDEpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgRGF0YS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDIpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBudWxsO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgQnV0dG9uLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJDIpO1xuXG4gICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgZGF0YSA9IG5ldyBCdXR0b24odGhpcyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcgPT09ICd0b2dnbGUnKSB7XG4gICAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIEJ1dHRvbi5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDIpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhCdXR0b24sIG51bGwsIFt7XG4gICAga2V5OiBcIlZFUlNJT05cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBWRVJTSU9OJDI7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIEJ1dHRvbjtcbn0oKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDIsIFNFTEVDVE9SX0RBVEFfVE9HR0xFX0NBUlJPVCwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIHZhciBidXR0b24gPSBldmVudC50YXJnZXQuY2xvc2VzdChTRUxFQ1RPUl9CVVRUT04pO1xuICB2YXIgZGF0YSA9IERhdGEuZ2V0RGF0YShidXR0b24sIERBVEFfS0VZJDIpO1xuXG4gIGlmICghZGF0YSkge1xuICAgIGRhdGEgPSBuZXcgQnV0dG9uKGJ1dHRvbik7XG4gIH1cblxuICBkYXRhLnRvZ2dsZSgpO1xufSk7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0ZPQ1VTX0RBVEFfQVBJLCBTRUxFQ1RPUl9EQVRBX1RPR0dMRV9DQVJST1QsIGZ1bmN0aW9uIChldmVudCkge1xuICB2YXIgYnV0dG9uID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoU0VMRUNUT1JfQlVUVE9OKTtcblxuICBpZiAoYnV0dG9uKSB7XG4gICAgYnV0dG9uLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9GT0NVUyk7XG4gIH1cbn0pO1xuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9CTFVSX0RBVEFfQVBJLCBTRUxFQ1RPUl9EQVRBX1RPR0dMRV9DQVJST1QsIGZ1bmN0aW9uIChldmVudCkge1xuICB2YXIgYnV0dG9uID0gZXZlbnQudGFyZ2V0LmNsb3Nlc3QoU0VMRUNUT1JfQlVUVE9OKTtcblxuICBpZiAoYnV0dG9uKSB7XG4gICAgYnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9GT0NVUyk7XG4gIH1cbn0pO1xudmFyICQkMyA9IGdldGpRdWVyeSgpO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGpRdWVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBhZGQgLmJ1dHRvbiB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCQzKSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkMiA9ICQkMy5mbltOQU1FJDJdO1xuICAkJDMuZm5bTkFNRSQyXSA9IEJ1dHRvbi5qUXVlcnlJbnRlcmZhY2U7XG4gICQkMy5mbltOQU1FJDJdLkNvbnN0cnVjdG9yID0gQnV0dG9uO1xuXG4gICQkMy5mbltOQU1FJDJdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJCQzLmZuW05BTUUkMl0gPSBKUVVFUllfTk9fQ09ORkxJQ1QkMjtcbiAgICByZXR1cm4gQnV0dG9uLmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4wLjAtYWxwaGExKTogZG9tL21hbmlwdWxhdG9yLmpzXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplRGF0YSh2YWwpIHtcbiAgaWYgKHZhbCA9PT0gJ3RydWUnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodmFsID09PSAnZmFsc2UnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHZhbCA9PT0gTnVtYmVyKHZhbCkudG9TdHJpbmcoKSkge1xuICAgIHJldHVybiBOdW1iZXIodmFsKTtcbiAgfVxuXG4gIGlmICh2YWwgPT09ICcnIHx8IHZhbCA9PT0gJ251bGwnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gdmFsO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVEYXRhS2V5KGtleSkge1xuICByZXR1cm4ga2V5LnJlcGxhY2UoL1tBLVpdL2csIGZ1bmN0aW9uIChjaHIpIHtcbiAgICByZXR1cm4gXCItXCIgKyBjaHIudG9Mb3dlckNhc2UoKTtcbiAgfSk7XG59XG5cbnZhciBNYW5pcHVsYXRvciA9IHtcbiAgc2V0RGF0YUF0dHJpYnV0ZTogZnVuY3Rpb24gc2V0RGF0YUF0dHJpYnV0ZShlbGVtZW50LCBrZXksIHZhbHVlKSB7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLVwiICsgbm9ybWFsaXplRGF0YUtleShrZXkpLCB2YWx1ZSk7XG4gIH0sXG4gIHJlbW92ZURhdGFBdHRyaWJ1dGU6IGZ1bmN0aW9uIHJlbW92ZURhdGFBdHRyaWJ1dGUoZWxlbWVudCwga2V5KSB7XG4gICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLVwiICsgbm9ybWFsaXplRGF0YUtleShrZXkpKTtcbiAgfSxcbiAgZ2V0RGF0YUF0dHJpYnV0ZXM6IGZ1bmN0aW9uIGdldERhdGFBdHRyaWJ1dGVzKGVsZW1lbnQpIHtcbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICB2YXIgYXR0cmlidXRlcyA9IF9vYmplY3RTcHJlYWQyKHt9LCBlbGVtZW50LmRhdGFzZXQpO1xuXG4gICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICBhdHRyaWJ1dGVzW2tleV0gPSBub3JtYWxpemVEYXRhKGF0dHJpYnV0ZXNba2V5XSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGF0dHJpYnV0ZXM7XG4gIH0sXG4gIGdldERhdGFBdHRyaWJ1dGU6IGZ1bmN0aW9uIGdldERhdGFBdHRyaWJ1dGUoZWxlbWVudCwga2V5KSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZURhdGEoZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJkYXRhLVwiICsgbm9ybWFsaXplRGF0YUtleShrZXkpKSk7XG4gIH0sXG4gIG9mZnNldDogZnVuY3Rpb24gb2Zmc2V0KGVsZW1lbnQpIHtcbiAgICB2YXIgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRvcDogcmVjdC50b3AgKyBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCxcbiAgICAgIGxlZnQ6IHJlY3QubGVmdCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdFxuICAgIH07XG4gIH0sXG4gIHBvc2l0aW9uOiBmdW5jdGlvbiBwb3NpdGlvbihlbGVtZW50KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRvcDogZWxlbWVudC5vZmZzZXRUb3AsXG4gICAgICBsZWZ0OiBlbGVtZW50Lm9mZnNldExlZnRcbiAgICB9O1xuICB9LFxuICB0b2dnbGVDbGFzczogZnVuY3Rpb24gdG9nZ2xlQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7XG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpIHtcbiAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJDMgPSAnY2Fyb3VzZWwnO1xudmFyIFZFUlNJT04kMyA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkMyA9ICdjb3JldWkuY2Fyb3VzZWwnO1xudmFyIEVWRU5UX0tFWSQzID0gXCIuXCIgKyBEQVRBX0tFWSQzO1xudmFyIERBVEFfQVBJX0tFWSQzID0gJy5kYXRhLWFwaSc7XG52YXIgQVJST1dfTEVGVF9LRVkgPSAnQXJyb3dMZWZ0JztcbnZhciBBUlJPV19SSUdIVF9LRVkgPSAnQXJyb3dSaWdodCc7XG52YXIgVE9VQ0hFVkVOVF9DT01QQVRfV0FJVCA9IDUwMDsgLy8gVGltZSBmb3IgbW91c2UgY29tcGF0IGV2ZW50cyB0byBmaXJlIGFmdGVyIHRvdWNoXG5cbnZhciBTV0lQRV9USFJFU0hPTEQgPSA0MDtcbnZhciBEZWZhdWx0JDEgPSB7XG4gIGludGVydmFsOiA1MDAwLFxuICBrZXlib2FyZDogdHJ1ZSxcbiAgc2xpZGU6IGZhbHNlLFxuICBwYXVzZTogJ2hvdmVyJyxcbiAgd3JhcDogdHJ1ZSxcbiAgdG91Y2g6IHRydWVcbn07XG52YXIgRGVmYXVsdFR5cGUgPSB7XG4gIGludGVydmFsOiAnKG51bWJlcnxib29sZWFuKScsXG4gIGtleWJvYXJkOiAnYm9vbGVhbicsXG4gIHNsaWRlOiAnKGJvb2xlYW58c3RyaW5nKScsXG4gIHBhdXNlOiAnKHN0cmluZ3xib29sZWFuKScsXG4gIHdyYXA6ICdib29sZWFuJyxcbiAgdG91Y2g6ICdib29sZWFuJ1xufTtcbnZhciBESVJFQ1RJT05fTkVYVCA9ICduZXh0JztcbnZhciBESVJFQ1RJT05fUFJFViA9ICdwcmV2JztcbnZhciBESVJFQ1RJT05fTEVGVCA9ICdsZWZ0JztcbnZhciBESVJFQ1RJT05fUklHSFQgPSAncmlnaHQnO1xudmFyIEVWRU5UX1NMSURFID0gXCJzbGlkZVwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfU0xJRCA9IFwic2xpZFwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfS0VZRE9XTiA9IFwia2V5ZG93blwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfTU9VU0VFTlRFUiA9IFwibW91c2VlbnRlclwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfTU9VU0VMRUFWRSA9IFwibW91c2VsZWF2ZVwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfVE9VQ0hTVEFSVCA9IFwidG91Y2hzdGFydFwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfVE9VQ0hNT1ZFID0gXCJ0b3VjaG1vdmVcIiArIEVWRU5UX0tFWSQzO1xudmFyIEVWRU5UX1RPVUNIRU5EID0gXCJ0b3VjaGVuZFwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfUE9JTlRFUkRPV04gPSBcInBvaW50ZXJkb3duXCIgKyBFVkVOVF9LRVkkMztcbnZhciBFVkVOVF9QT0lOVEVSVVAgPSBcInBvaW50ZXJ1cFwiICsgRVZFTlRfS0VZJDM7XG52YXIgRVZFTlRfRFJBR19TVEFSVCA9IFwiZHJhZ3N0YXJ0XCIgKyBFVkVOVF9LRVkkMztcbnZhciBFVkVOVF9MT0FEX0RBVEFfQVBJID0gXCJsb2FkXCIgKyBFVkVOVF9LRVkkMyArIERBVEFfQVBJX0tFWSQzO1xudmFyIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDMgPSBcImNsaWNrXCIgKyBFVkVOVF9LRVkkMyArIERBVEFfQVBJX0tFWSQzO1xudmFyIENMQVNTX05BTUVfQ0FST1VTRUwgPSAnY2Fyb3VzZWwnO1xudmFyIENMQVNTX05BTUVfQUNUSVZFJDIgPSAnYWN0aXZlJztcbnZhciBDTEFTU19OQU1FX1NMSURFID0gJ3NsaWRlJztcbnZhciBDTEFTU19OQU1FX1JJR0hUID0gJ2Nhcm91c2VsLWl0ZW0tcmlnaHQnO1xudmFyIENMQVNTX05BTUVfTEVGVCA9ICdjYXJvdXNlbC1pdGVtLWxlZnQnO1xudmFyIENMQVNTX05BTUVfTkVYVCA9ICdjYXJvdXNlbC1pdGVtLW5leHQnO1xudmFyIENMQVNTX05BTUVfUFJFViA9ICdjYXJvdXNlbC1pdGVtLXByZXYnO1xudmFyIENMQVNTX05BTUVfUE9JTlRFUl9FVkVOVCA9ICdwb2ludGVyLWV2ZW50JztcbnZhciBTRUxFQ1RPUl9BQ1RJVkUkMSA9ICcuYWN0aXZlJztcbnZhciBTRUxFQ1RPUl9BQ1RJVkVfSVRFTSA9ICcuYWN0aXZlLmNhcm91c2VsLWl0ZW0nO1xudmFyIFNFTEVDVE9SX0lURU0gPSAnLmNhcm91c2VsLWl0ZW0nO1xudmFyIFNFTEVDVE9SX0lURU1fSU1HID0gJy5jYXJvdXNlbC1pdGVtIGltZyc7XG52YXIgU0VMRUNUT1JfTkVYVF9QUkVWID0gJy5jYXJvdXNlbC1pdGVtLW5leHQsIC5jYXJvdXNlbC1pdGVtLXByZXYnO1xudmFyIFNFTEVDVE9SX0lORElDQVRPUlMgPSAnLmNhcm91c2VsLWluZGljYXRvcnMnO1xudmFyIFNFTEVDVE9SX0RBVEFfU0xJREUgPSAnW2RhdGEtc2xpZGVdLCBbZGF0YS1zbGlkZS10b10nO1xudmFyIFNFTEVDVE9SX0RBVEFfUklERSA9ICdbZGF0YS1yaWRlPVwiY2Fyb3VzZWxcIl0nO1xudmFyIFBvaW50ZXJUeXBlID0ge1xuICBUT1VDSDogJ3RvdWNoJyxcbiAgUEVOOiAncGVuJ1xufTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgQ2Fyb3VzZWwgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBDYXJvdXNlbChlbGVtZW50LCBjb25maWcpIHtcbiAgICB0aGlzLl9pdGVtcyA9IG51bGw7XG4gICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX2lzUGF1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5faXNTbGlkaW5nID0gZmFsc2U7XG4gICAgdGhpcy50b3VjaFRpbWVvdXQgPSBudWxsO1xuICAgIHRoaXMudG91Y2hTdGFydFggPSAwO1xuICAgIHRoaXMudG91Y2hEZWx0YVggPSAwO1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX2luZGljYXRvcnNFbGVtZW50ID0gU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9JTkRJQ0FUT1JTLCB0aGlzLl9lbGVtZW50KTtcbiAgICB0aGlzLl90b3VjaFN1cHBvcnRlZCA9ICdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCB8fCBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAwO1xuICAgIHRoaXMuX3BvaW50ZXJFdmVudCA9IEJvb2xlYW4od2luZG93LlBvaW50ZXJFdmVudCB8fCB3aW5kb3cuTVNQb2ludGVyRXZlbnQpO1xuXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQzLCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gQ2Fyb3VzZWwucHJvdG90eXBlO1xuXG4gIC8vIFB1YmxpY1xuICBfcHJvdG8ubmV4dCA9IGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgaWYgKCF0aGlzLl9pc1NsaWRpbmcpIHtcbiAgICAgIHRoaXMuX3NsaWRlKERJUkVDVElPTl9ORVhUKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLm5leHRXaGVuVmlzaWJsZSA9IGZ1bmN0aW9uIG5leHRXaGVuVmlzaWJsZSgpIHtcbiAgICAvLyBEb24ndCBjYWxsIG5leHQgd2hlbiB0aGUgcGFnZSBpc24ndCB2aXNpYmxlXG4gICAgLy8gb3IgdGhlIGNhcm91c2VsIG9yIGl0cyBwYXJlbnQgaXNuJ3QgdmlzaWJsZVxuICAgIGlmICghZG9jdW1lbnQuaGlkZGVuICYmIGlzVmlzaWJsZSh0aGlzLl9lbGVtZW50KSkge1xuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5wcmV2ID0gZnVuY3Rpb24gcHJldigpIHtcbiAgICBpZiAoIXRoaXMuX2lzU2xpZGluZykge1xuICAgICAgdGhpcy5fc2xpZGUoRElSRUNUSU9OX1BSRVYpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8ucGF1c2UgPSBmdW5jdGlvbiBwYXVzZShldmVudCkge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHRoaXMuX2lzUGF1c2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoU2VsZWN0b3JFbmdpbmUuZmluZE9uZShTRUxFQ1RPUl9ORVhUX1BSRVYsIHRoaXMuX2VsZW1lbnQpKSB7XG4gICAgICB0cmlnZ2VyVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50KTtcbiAgICAgIHRoaXMuY3ljbGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7XG4gICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICB9O1xuXG4gIF9wcm90by5jeWNsZSA9IGZ1bmN0aW9uIGN5Y2xlKGV2ZW50KSB7XG4gICAgaWYgKCFldmVudCkge1xuICAgICAgdGhpcy5faXNQYXVzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faW50ZXJ2YWwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpO1xuICAgICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb25maWcgJiYgdGhpcy5fY29uZmlnLmludGVydmFsICYmICF0aGlzLl9pc1BhdXNlZCkge1xuICAgICAgdGhpcy5faW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID8gdGhpcy5uZXh0V2hlblZpc2libGUgOiB0aGlzLm5leHQpLmJpbmQodGhpcyksIHRoaXMuX2NvbmZpZy5pbnRlcnZhbCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by50byA9IGZ1bmN0aW9uIHRvKGluZGV4KSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX0FDVElWRV9JVEVNLCB0aGlzLl9lbGVtZW50KTtcblxuICAgIHZhciBhY3RpdmVJbmRleCA9IHRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9hY3RpdmVFbGVtZW50KTtcblxuICAgIGlmIChpbmRleCA+IHRoaXMuX2l0ZW1zLmxlbmd0aCAtIDEgfHwgaW5kZXggPCAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lzU2xpZGluZykge1xuICAgICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBFVkVOVF9TTElELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfdGhpcy50byhpbmRleCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoYWN0aXZlSW5kZXggPT09IGluZGV4KSB7XG4gICAgICB0aGlzLnBhdXNlKCk7XG4gICAgICB0aGlzLmN5Y2xlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGRpcmVjdGlvbiA9IGluZGV4ID4gYWN0aXZlSW5kZXggPyBESVJFQ1RJT05fTkVYVCA6IERJUkVDVElPTl9QUkVWO1xuXG4gICAgdGhpcy5fc2xpZGUoZGlyZWN0aW9uLCB0aGlzLl9pdGVtc1tpbmRleF0pO1xuICB9O1xuXG4gIF9wcm90by5kaXNwb3NlID0gZnVuY3Rpb24gZGlzcG9zZSgpIHtcbiAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWSQzKTtcbiAgICBEYXRhLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgREFUQV9LRVkkMyk7XG4gICAgdGhpcy5faXRlbXMgPSBudWxsO1xuICAgIHRoaXMuX2NvbmZpZyA9IG51bGw7XG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICAgIHRoaXMuX2lzUGF1c2VkID0gbnVsbDtcbiAgICB0aGlzLl9pc1NsaWRpbmcgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX2luZGljYXRvcnNFbGVtZW50ID0gbnVsbDtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkMSksIGNvbmZpZyk7XG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUkMywgY29uZmlnLCBEZWZhdWx0VHlwZSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX2hhbmRsZVN3aXBlID0gZnVuY3Rpb24gX2hhbmRsZVN3aXBlKCkge1xuICAgIHZhciBhYnNEZWx0YXggPSBNYXRoLmFicyh0aGlzLnRvdWNoRGVsdGFYKTtcblxuICAgIGlmIChhYnNEZWx0YXggPD0gU1dJUEVfVEhSRVNIT0xEKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGRpcmVjdGlvbiA9IGFic0RlbHRheCAvIHRoaXMudG91Y2hEZWx0YVg7XG4gICAgdGhpcy50b3VjaERlbHRhWCA9IDA7IC8vIHN3aXBlIGxlZnRcblxuICAgIGlmIChkaXJlY3Rpb24gPiAwKSB7XG4gICAgICB0aGlzLnByZXYoKTtcbiAgICB9IC8vIHN3aXBlIHJpZ2h0XG5cblxuICAgIGlmIChkaXJlY3Rpb24gPCAwKSB7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9hZGRFdmVudExpc3RlbmVycyA9IGZ1bmN0aW9uIF9hZGRFdmVudExpc3RlbmVycygpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIGlmICh0aGlzLl9jb25maWcua2V5Ym9hcmQpIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9LRVlET1dOLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMi5fa2V5ZG93bihldmVudCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfTU9VU0VFTlRFUiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdGhpczIucGF1c2UoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfTU9VU0VMRUFWRSwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdGhpczIuY3ljbGUoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy50b3VjaCAmJiB0aGlzLl90b3VjaFN1cHBvcnRlZCkge1xuICAgICAgdGhpcy5fYWRkVG91Y2hFdmVudExpc3RlbmVycygpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2FkZFRvdWNoRXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbiBfYWRkVG91Y2hFdmVudExpc3RlbmVycygpIHtcbiAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgIHZhciBzdGFydCA9IGZ1bmN0aW9uIHN0YXJ0KGV2ZW50KSB7XG4gICAgICBpZiAoX3RoaXMzLl9wb2ludGVyRXZlbnQgJiYgUG9pbnRlclR5cGVbZXZlbnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0pIHtcbiAgICAgICAgX3RoaXMzLnRvdWNoU3RhcnRYID0gZXZlbnQuY2xpZW50WDtcbiAgICAgIH0gZWxzZSBpZiAoIV90aGlzMy5fcG9pbnRlckV2ZW50KSB7XG4gICAgICAgIF90aGlzMy50b3VjaFN0YXJ0WCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIG1vdmUgPSBmdW5jdGlvbiBtb3ZlKGV2ZW50KSB7XG4gICAgICAvLyBlbnN1cmUgc3dpcGluZyB3aXRoIG9uZSB0b3VjaCBhbmQgbm90IHBpbmNoaW5nXG4gICAgICBpZiAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgX3RoaXMzLnRvdWNoRGVsdGFYID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF90aGlzMy50b3VjaERlbHRhWCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCAtIF90aGlzMy50b3VjaFN0YXJ0WDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdmFyIGVuZCA9IGZ1bmN0aW9uIGVuZChldmVudCkge1xuICAgICAgaWYgKF90aGlzMy5fcG9pbnRlckV2ZW50ICYmIFBvaW50ZXJUeXBlW2V2ZW50LnBvaW50ZXJUeXBlLnRvVXBwZXJDYXNlKCldKSB7XG4gICAgICAgIF90aGlzMy50b3VjaERlbHRhWCA9IGV2ZW50LmNsaWVudFggLSBfdGhpczMudG91Y2hTdGFydFg7XG4gICAgICB9XG5cbiAgICAgIF90aGlzMy5faGFuZGxlU3dpcGUoKTtcblxuICAgICAgaWYgKF90aGlzMy5fY29uZmlnLnBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICAgIC8vIElmIGl0J3MgYSB0b3VjaC1lbmFibGVkIGRldmljZSwgbW91c2VlbnRlci9sZWF2ZSBhcmUgZmlyZWQgYXNcbiAgICAgICAgLy8gcGFydCBvZiB0aGUgbW91c2UgY29tcGF0aWJpbGl0eSBldmVudHMgb24gZmlyc3QgdGFwIC0gdGhlIGNhcm91c2VsXG4gICAgICAgIC8vIHdvdWxkIHN0b3AgY3ljbGluZyB1bnRpbCB1c2VyIHRhcHBlZCBvdXQgb2YgaXQ7XG4gICAgICAgIC8vIGhlcmUsIHdlIGxpc3RlbiBmb3IgdG91Y2hlbmQsIGV4cGxpY2l0bHkgcGF1c2UgdGhlIGNhcm91c2VsXG4gICAgICAgIC8vIChhcyBpZiBpdCdzIHRoZSBzZWNvbmQgdGltZSB3ZSB0YXAgb24gaXQsIG1vdXNlZW50ZXIgY29tcGF0IGV2ZW50XG4gICAgICAgIC8vIGlzIE5PVCBmaXJlZCkgYW5kIGFmdGVyIGEgdGltZW91dCAodG8gYWxsb3cgZm9yIG1vdXNlIGNvbXBhdGliaWxpdHlcbiAgICAgICAgLy8gZXZlbnRzIHRvIGZpcmUpIHdlIGV4cGxpY2l0bHkgcmVzdGFydCBjeWNsaW5nXG4gICAgICAgIF90aGlzMy5wYXVzZSgpO1xuXG4gICAgICAgIGlmIChfdGhpczMudG91Y2hUaW1lb3V0KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KF90aGlzMy50b3VjaFRpbWVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgX3RoaXMzLnRvdWNoVGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIF90aGlzMy5jeWNsZShldmVudCk7XG4gICAgICAgIH0sIFRPVUNIRVZFTlRfQ09NUEFUX1dBSVQgKyBfdGhpczMuX2NvbmZpZy5pbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfSVRFTV9JTUcsIHRoaXMuX2VsZW1lbnQpLmZvckVhY2goZnVuY3Rpb24gKGl0ZW1JbWcpIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vbihpdGVtSW1nLCBFVkVOVF9EUkFHX1NUQVJULCBmdW5jdGlvbiAoZSkge1xuICAgICAgICByZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5fcG9pbnRlckV2ZW50KSB7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfUE9JTlRFUkRPV04sIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICByZXR1cm4gc3RhcnQoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfUE9JTlRFUlVQLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGVuZChldmVudCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfUE9JTlRFUl9FVkVOVCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9UT1VDSFNUQVJULCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIHN0YXJ0KGV2ZW50KTtcbiAgICAgIH0pO1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1RPVUNITU9WRSwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBtb3ZlKGV2ZW50KTtcbiAgICAgIH0pO1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1RPVUNIRU5ELCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGVuZChldmVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9rZXlkb3duID0gZnVuY3Rpb24gX2tleWRvd24oZXZlbnQpIHtcbiAgICBpZiAoL2lucHV0fHRleHRhcmVhL2kudGVzdChldmVudC50YXJnZXQudGFnTmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSBBUlJPV19MRUZUX0tFWTpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcmV2KCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEFSUk9XX1JJR0hUX0tFWTpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2dldEl0ZW1JbmRleCA9IGZ1bmN0aW9uIF9nZXRJdGVtSW5kZXgoZWxlbWVudCkge1xuICAgIHRoaXMuX2l0ZW1zID0gZWxlbWVudCAmJiBlbGVtZW50LnBhcmVudE5vZGUgPyBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0lURU0sIGVsZW1lbnQucGFyZW50Tm9kZSkgOiBbXTtcbiAgICByZXR1cm4gdGhpcy5faXRlbXMuaW5kZXhPZihlbGVtZW50KTtcbiAgfTtcblxuICBfcHJvdG8uX2dldEl0ZW1CeURpcmVjdGlvbiA9IGZ1bmN0aW9uIF9nZXRJdGVtQnlEaXJlY3Rpb24oZGlyZWN0aW9uLCBhY3RpdmVFbGVtZW50KSB7XG4gICAgdmFyIGlzTmV4dERpcmVjdGlvbiA9IGRpcmVjdGlvbiA9PT0gRElSRUNUSU9OX05FWFQ7XG4gICAgdmFyIGlzUHJldkRpcmVjdGlvbiA9IGRpcmVjdGlvbiA9PT0gRElSRUNUSU9OX1BSRVY7XG5cbiAgICB2YXIgYWN0aXZlSW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgoYWN0aXZlRWxlbWVudCk7XG5cbiAgICB2YXIgbGFzdEl0ZW1JbmRleCA9IHRoaXMuX2l0ZW1zLmxlbmd0aCAtIDE7XG4gICAgdmFyIGlzR29pbmdUb1dyYXAgPSBpc1ByZXZEaXJlY3Rpb24gJiYgYWN0aXZlSW5kZXggPT09IDAgfHwgaXNOZXh0RGlyZWN0aW9uICYmIGFjdGl2ZUluZGV4ID09PSBsYXN0SXRlbUluZGV4O1xuXG4gICAgaWYgKGlzR29pbmdUb1dyYXAgJiYgIXRoaXMuX2NvbmZpZy53cmFwKSB7XG4gICAgICByZXR1cm4gYWN0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICB2YXIgZGVsdGEgPSBkaXJlY3Rpb24gPT09IERJUkVDVElPTl9QUkVWID8gLTEgOiAxO1xuICAgIHZhciBpdGVtSW5kZXggPSAoYWN0aXZlSW5kZXggKyBkZWx0YSkgJSB0aGlzLl9pdGVtcy5sZW5ndGg7XG4gICAgcmV0dXJuIGl0ZW1JbmRleCA9PT0gLTEgPyB0aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGggLSAxXSA6IHRoaXMuX2l0ZW1zW2l0ZW1JbmRleF07XG4gIH07XG5cbiAgX3Byb3RvLl90cmlnZ2VyU2xpZGVFdmVudCA9IGZ1bmN0aW9uIF90cmlnZ2VyU2xpZGVFdmVudChyZWxhdGVkVGFyZ2V0LCBldmVudERpcmVjdGlvbk5hbWUpIHtcbiAgICB2YXIgdGFyZ2V0SW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgocmVsYXRlZFRhcmdldCk7XG5cbiAgICB2YXIgZnJvbUluZGV4ID0gdGhpcy5fZ2V0SXRlbUluZGV4KFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfQUNUSVZFX0lURU0sIHRoaXMuX2VsZW1lbnQpKTtcblxuICAgIHJldHVybiBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9TTElERSwge1xuICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldCxcbiAgICAgIGRpcmVjdGlvbjogZXZlbnREaXJlY3Rpb25OYW1lLFxuICAgICAgZnJvbTogZnJvbUluZGV4LFxuICAgICAgdG86IHRhcmdldEluZGV4XG4gICAgfSk7XG4gIH07XG5cbiAgX3Byb3RvLl9zZXRBY3RpdmVJbmRpY2F0b3JFbGVtZW50ID0gZnVuY3Rpb24gX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQoZWxlbWVudCkge1xuICAgIGlmICh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCkge1xuICAgICAgdmFyIGluZGljYXRvcnMgPSBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0FDVElWRSQxLCB0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCk7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5kaWNhdG9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpbmRpY2F0b3JzW2ldLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUkMik7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXh0SW5kaWNhdG9yID0gdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQuY2hpbGRyZW5bdGhpcy5fZ2V0SXRlbUluZGV4KGVsZW1lbnQpXTtcblxuICAgICAgaWYgKG5leHRJbmRpY2F0b3IpIHtcbiAgICAgICAgbmV4dEluZGljYXRvci5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDIpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX3NsaWRlID0gZnVuY3Rpb24gX3NsaWRlKGRpcmVjdGlvbiwgZWxlbWVudCkge1xuICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgdmFyIGFjdGl2ZUVsZW1lbnQgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX0FDVElWRV9JVEVNLCB0aGlzLl9lbGVtZW50KTtcblxuICAgIHZhciBhY3RpdmVFbGVtZW50SW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgoYWN0aXZlRWxlbWVudCk7XG5cbiAgICB2YXIgbmV4dEVsZW1lbnQgPSBlbGVtZW50IHx8IGFjdGl2ZUVsZW1lbnQgJiYgdGhpcy5fZ2V0SXRlbUJ5RGlyZWN0aW9uKGRpcmVjdGlvbiwgYWN0aXZlRWxlbWVudCk7XG5cbiAgICB2YXIgbmV4dEVsZW1lbnRJbmRleCA9IHRoaXMuX2dldEl0ZW1JbmRleChuZXh0RWxlbWVudCk7XG5cbiAgICB2YXIgaXNDeWNsaW5nID0gQm9vbGVhbih0aGlzLl9pbnRlcnZhbCk7XG4gICAgdmFyIGRpcmVjdGlvbmFsQ2xhc3NOYW1lO1xuICAgIHZhciBvcmRlckNsYXNzTmFtZTtcbiAgICB2YXIgZXZlbnREaXJlY3Rpb25OYW1lO1xuXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gRElSRUNUSU9OX05FWFQpIHtcbiAgICAgIGRpcmVjdGlvbmFsQ2xhc3NOYW1lID0gQ0xBU1NfTkFNRV9MRUZUO1xuICAgICAgb3JkZXJDbGFzc05hbWUgPSBDTEFTU19OQU1FX05FWFQ7XG4gICAgICBldmVudERpcmVjdGlvbk5hbWUgPSBESVJFQ1RJT05fTEVGVDtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlyZWN0aW9uYWxDbGFzc05hbWUgPSBDTEFTU19OQU1FX1JJR0hUO1xuICAgICAgb3JkZXJDbGFzc05hbWUgPSBDTEFTU19OQU1FX1BSRVY7XG4gICAgICBldmVudERpcmVjdGlvbk5hbWUgPSBESVJFQ1RJT05fUklHSFQ7XG4gICAgfVxuXG4gICAgaWYgKG5leHRFbGVtZW50ICYmIG5leHRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQyKSkge1xuICAgICAgdGhpcy5faXNTbGlkaW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHNsaWRlRXZlbnQgPSB0aGlzLl90cmlnZ2VyU2xpZGVFdmVudChuZXh0RWxlbWVudCwgZXZlbnREaXJlY3Rpb25OYW1lKTtcblxuICAgIGlmIChzbGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWFjdGl2ZUVsZW1lbnQgfHwgIW5leHRFbGVtZW50KSB7XG4gICAgICAvLyBTb21lIHdlaXJkbmVzcyBpcyBoYXBwZW5pbmcsIHNvIHdlIGJhaWxcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1NsaWRpbmcgPSB0cnVlO1xuXG4gICAgaWYgKGlzQ3ljbGluZykge1xuICAgICAgdGhpcy5wYXVzZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQobmV4dEVsZW1lbnQpO1xuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0xJREUpKSB7XG4gICAgICBuZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKG9yZGVyQ2xhc3NOYW1lKTtcbiAgICAgIHJlZmxvdyhuZXh0RWxlbWVudCk7XG4gICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoZGlyZWN0aW9uYWxDbGFzc05hbWUpO1xuICAgICAgbmV4dEVsZW1lbnQuY2xhc3NMaXN0LmFkZChkaXJlY3Rpb25hbENsYXNzTmFtZSk7XG4gICAgICB2YXIgbmV4dEVsZW1lbnRJbnRlcnZhbCA9IHBhcnNlSW50KG5leHRFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1pbnRlcnZhbCcpLCAxMCk7XG5cbiAgICAgIGlmIChuZXh0RWxlbWVudEludGVydmFsKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWwgPSB0aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsIHx8IHRoaXMuX2NvbmZpZy5pbnRlcnZhbDtcbiAgICAgICAgdGhpcy5fY29uZmlnLmludGVydmFsID0gbmV4dEVsZW1lbnRJbnRlcnZhbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZy5pbnRlcnZhbCA9IHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWwgfHwgdGhpcy5fY29uZmlnLmludGVydmFsO1xuICAgICAgfVxuXG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoYWN0aXZlRWxlbWVudCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKGFjdGl2ZUVsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIG5leHRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoZGlyZWN0aW9uYWxDbGFzc05hbWUsIG9yZGVyQ2xhc3NOYW1lKTtcbiAgICAgICAgbmV4dEVsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSQyKTtcbiAgICAgICAgYWN0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQUNUSVZFJDIsIG9yZGVyQ2xhc3NOYW1lLCBkaXJlY3Rpb25hbENsYXNzTmFtZSk7XG4gICAgICAgIF90aGlzNC5faXNTbGlkaW5nID0gZmFsc2U7XG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzNC5fZWxlbWVudCwgRVZFTlRfU0xJRCwge1xuICAgICAgICAgICAgcmVsYXRlZFRhcmdldDogbmV4dEVsZW1lbnQsXG4gICAgICAgICAgICBkaXJlY3Rpb246IGV2ZW50RGlyZWN0aW9uTmFtZSxcbiAgICAgICAgICAgIGZyb206IGFjdGl2ZUVsZW1lbnRJbmRleCxcbiAgICAgICAgICAgIHRvOiBuZXh0RWxlbWVudEluZGV4XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sIDApO1xuICAgICAgfSk7XG4gICAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZChhY3RpdmVFbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUkMik7XG4gICAgICBuZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDIpO1xuICAgICAgdGhpcy5faXNTbGlkaW5nID0gZmFsc2U7XG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9TTElELCB7XG4gICAgICAgIHJlbGF0ZWRUYXJnZXQ6IG5leHRFbGVtZW50LFxuICAgICAgICBkaXJlY3Rpb246IGV2ZW50RGlyZWN0aW9uTmFtZSxcbiAgICAgICAgZnJvbTogYWN0aXZlRWxlbWVudEluZGV4LFxuICAgICAgICB0bzogbmV4dEVsZW1lbnRJbmRleFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQ3ljbGluZykge1xuICAgICAgdGhpcy5jeWNsZSgpO1xuICAgIH1cbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIENhcm91c2VsLmNhcm91c2VsSW50ZXJmYWNlID0gZnVuY3Rpb24gY2Fyb3VzZWxJbnRlcmZhY2UoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgdmFyIGRhdGEgPSBEYXRhLmdldERhdGEoZWxlbWVudCwgREFUQV9LRVkkMyk7XG5cbiAgICB2YXIgX2NvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0JDEpLCBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyhlbGVtZW50KSk7XG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcpIHtcbiAgICAgIF9jb25maWcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgX2NvbmZpZyksIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgdmFyIGFjdGlvbiA9IHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gY29uZmlnIDogX2NvbmZpZy5zbGlkZTtcblxuICAgIGlmICghZGF0YSkge1xuICAgICAgZGF0YSA9IG5ldyBDYXJvdXNlbChlbGVtZW50LCBfY29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ251bWJlcicpIHtcbiAgICAgIGRhdGEudG8oY29uZmlnKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbYWN0aW9uXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBhY3Rpb24gKyBcIlxcXCJcIik7XG4gICAgICB9XG5cbiAgICAgIGRhdGFbYWN0aW9uXSgpO1xuICAgIH0gZWxzZSBpZiAoX2NvbmZpZy5pbnRlcnZhbCAmJiBfY29uZmlnLnJpZGUpIHtcbiAgICAgIGRhdGEucGF1c2UoKTtcbiAgICAgIGRhdGEuY3ljbGUoKTtcbiAgICB9XG4gIH07XG5cbiAgQ2Fyb3VzZWwualF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24galF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgQ2Fyb3VzZWwuY2Fyb3VzZWxJbnRlcmZhY2UodGhpcywgY29uZmlnKTtcbiAgICB9KTtcbiAgfTtcblxuICBDYXJvdXNlbC5kYXRhQXBpQ2xpY2tIYW5kbGVyID0gZnVuY3Rpb24gZGF0YUFwaUNsaWNrSGFuZGxlcihldmVudCkge1xuICAgIHZhciB0YXJnZXQgPSBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKHRoaXMpO1xuXG4gICAgaWYgKCF0YXJnZXQgfHwgIXRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9DQVJPVVNFTCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKHRhcmdldCkpLCBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0aGlzKSk7XG5cbiAgICB2YXIgc2xpZGVJbmRleCA9IHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXNsaWRlLXRvJyk7XG5cbiAgICBpZiAoc2xpZGVJbmRleCkge1xuICAgICAgY29uZmlnLmludGVydmFsID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQ2Fyb3VzZWwuY2Fyb3VzZWxJbnRlcmZhY2UodGFyZ2V0LCBjb25maWcpO1xuXG4gICAgaWYgKHNsaWRlSW5kZXgpIHtcbiAgICAgIERhdGEuZ2V0RGF0YSh0YXJnZXQsIERBVEFfS0VZJDMpLnRvKHNsaWRlSW5kZXgpO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgQ2Fyb3VzZWwuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRJbnN0YW5jZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQzKTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoQ2Fyb3VzZWwsIG51bGwsIFt7XG4gICAga2V5OiBcIlZFUlNJT05cIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBWRVJTSU9OJDM7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkRlZmF1bHRcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEZWZhdWx0JDE7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIENhcm91c2VsO1xufSgpO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5cbkV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfQ0xJQ0tfREFUQV9BUEkkMywgU0VMRUNUT1JfREFUQV9TTElERSwgQ2Fyb3VzZWwuZGF0YUFwaUNsaWNrSGFuZGxlcik7XG5FdmVudEhhbmRsZXIub24od2luZG93LCBFVkVOVF9MT0FEX0RBVEFfQVBJLCBmdW5jdGlvbiAoKSB7XG4gIHZhciBjYXJvdXNlbHMgPSBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0RBVEFfUklERSk7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNhcm91c2Vscy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIENhcm91c2VsLmNhcm91c2VsSW50ZXJmYWNlKGNhcm91c2Vsc1tpXSwgRGF0YS5nZXREYXRhKGNhcm91c2Vsc1tpXSwgREFUQV9LRVkkMykpO1xuICB9XG59KTtcbnZhciAkJDQgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5jYXJvdXNlbCB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCQ0KSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkMyA9ICQkNC5mbltOQU1FJDNdO1xuICAkJDQuZm5bTkFNRSQzXSA9IENhcm91c2VsLmpRdWVyeUludGVyZmFjZTtcbiAgJCQ0LmZuW05BTUUkM10uQ29uc3RydWN0b3IgPSBDYXJvdXNlbDtcblxuICAkJDQuZm5bTkFNRSQzXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkNC5mbltOQU1FJDNdID0gSlFVRVJZX05PX0NPTkZMSUNUJDM7XG4gICAgcmV0dXJuIENhcm91c2VsLmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUkNCA9ICdjbGFzcy10b2dnbGVyJztcbnZhciBWRVJTSU9OJDQgPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJDQgPSAnY29yZXVpLmNsYXNzLXRvZ2dsZXInO1xudmFyIEVWRU5UX0tFWSQ0ID0gXCIuXCIgKyBEQVRBX0tFWSQ0O1xudmFyIERBVEFfQVBJX0tFWSQ0ID0gJy5kYXRhLWFwaSc7XG52YXIgRGVmYXVsdFR5cGUkMSA9IHtcbiAgYWRkQ2xhc3M6ICcobnVsbHxhcnJheXxzdHJpbmcpJyxcbiAgYnJlYWtwb2ludHM6ICcobnVsbHxhcnJheXxzdHJpbmcpJyxcbiAgcmVtb3ZlQ2xhc3M6ICcobnVsbHxhcnJheXxzdHJpbmcpJyxcbiAgcmVzcG9uc2l2ZTogJyhudWxsfGJvb2xlYW4pJyxcbiAgdGFyZ2V0OiAnKG51bGx8c3RyaW5nKScsXG4gIHRvZ2dsZUNsYXNzOiAnKG51bGx8YXJyYXl8c3RyaW5nKSdcbn07XG52YXIgRGVmYXVsdCQyID0ge1xuICBhZGRDbGFzczogbnVsbCxcbiAgYnJlYWtwb2ludHM6IFsnJywgJ3NtJywgJ21kJywgJ2xnJywgJ3hsJ10sXG4gIHJlbW92ZUNsYXNzOiBudWxsLFxuICByZXNwb25zaXZlOiBmYWxzZSxcbiAgdGFyZ2V0OiAnYm9keScsXG4gIHRvZ2dsZUNsYXNzOiBudWxsXG59O1xudmFyIENMQVNTX05BTUVfQ0xBU1NfVE9HR0xFUiA9ICdjLWNsYXNzLXRvZ2dsZXInO1xudmFyIEVWRU5UX0NMQVNTX0FEREVEID0gJ2NsYXNzYWRkZWQnO1xudmFyIEVWRU5UX0NMQVNTX1JFTU9WRUQgPSAnY2xhc3NyZW1vdmVkJztcbnZhciBFVkVOVF9DTEFTU19UT0dHTEUgPSAnY2xhc3N0b2dnbGUnO1xudmFyIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDQgPSBcImNsaWNrXCIgKyBFVkVOVF9LRVkkNCArIERBVEFfQVBJX0tFWSQ0O1xudmFyIFNFTEVDVE9SX0NMQVNTX1RPR0dMRVIgPSAnLmMtY2xhc3MtdG9nZ2xlcic7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2xhc3MgRGVmaW5pdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIENsYXNzVG9nZ2xlciA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIENsYXNzVG9nZ2xlcihlbGVtZW50LCBjb25maWcpIHtcbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkNCwgdGhpcyk7XG4gIH0gLy8gR2V0dGVyc1xuXG5cbiAgdmFyIF9wcm90byA9IENsYXNzVG9nZ2xlci5wcm90b3R5cGU7XG5cbiAgLy8gUHVibGljXG4gIF9wcm90by5hZGQgPSBmdW5jdGlvbiBhZGQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIHZhciB0YXJnZXQgPSB0aGlzLl90YXJnZXQoKTtcblxuICAgIHZhciBjbGFzc05hbWVzID0gdGhpcy5fY29uZmlnLmFkZENsYXNzLnJlcGxhY2UoL1xccy9nLCAnJykuc3BsaXQoJywnKTtcblxuICAgIGNsYXNzTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAoY2xhc3NOYW1lKSB7XG4gICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuXG4gICAgICBfdGhpcy5fY3VzdG9tRXZlbnQoRVZFTlRfQ0xBU1NfQURERUQsIHRhcmdldCwgdHJ1ZSwgY2xhc3NOYW1lKTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8ucmVtb3ZlID0gZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdmFyIHRhcmdldCA9IHRoaXMuX3RhcmdldCgpO1xuXG4gICAgdmFyIGNsYXNzTmFtZXMgPSB0aGlzLl9jb25maWcucmVtb3ZlQ2xhc3MucmVwbGFjZSgvXFxzL2csICcnKS5zcGxpdCgnLCcpO1xuXG4gICAgY2xhc3NOYW1lcy5mb3JFYWNoKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgIGlmIChfdGhpczIuX2NvbmZpZy5yZXNwb25zaXZlKSB7XG4gICAgICAgIF90aGlzMi5fdXBkYXRlUmVzcG9uc2l2ZUNsYXNzTmFtZXMoY2xhc3NOYW1lKS5mb3JFYWNoKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuXG4gICAgICAgICAgX3RoaXMyLl9jdXN0b21FdmVudChFVkVOVF9DTEFTU19SRU1PVkVELCB0YXJnZXQsIGZhbHNlLCBjbGFzc05hbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG5cbiAgICAgICAgX3RoaXMyLl9jdXN0b21FdmVudChFVkVOVF9DTEFTU19SRU1PVkVELCB0YXJnZXQsIGZhbHNlLCBjbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIF9wcm90by50b2dnbGUgPSBmdW5jdGlvbiB0b2dnbGUoKSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICB2YXIgdGFyZ2V0ID0gdGhpcy5fdGFyZ2V0KCk7XG5cbiAgICB2YXIgY2xhc3NOYW1lcyA9IHRoaXMuX2NvbmZpZy50b2dnbGVDbGFzcy5yZXBsYWNlKC9cXHMvZywgJycpLnNwbGl0KCcsJyk7XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnJlc3BvbnNpdmUpIHtcbiAgICAgIGNsYXNzTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAoY2xhc3NOYW1lKSB7XG4gICAgICAgIHZhciByZXNwb25zaXZlQ2xhc3NOYW1lcyA9IF90aGlzMy5fdXBkYXRlUmVzcG9uc2l2ZUNsYXNzTmFtZXMoY2xhc3NOYW1lKTtcblxuICAgICAgICBpZiAocmVzcG9uc2l2ZUNsYXNzTmFtZXMuZmlsdGVyKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgICAgICByZXR1cm4gdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpO1xuICAgICAgICB9KS5sZW5ndGgpIHtcbiAgICAgICAgICBfdGhpczMuX3VwZGF0ZVJlc3BvbnNpdmVDbGFzc05hbWVzKGNsYXNzTmFtZSkuZm9yRWFjaChmdW5jdGlvbiAoY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICBfdGhpczMuX2NvbmZpZy5yZW1vdmVDbGFzcyA9IGNsYXNzTmFtZTtcblxuICAgICAgICAgICAgX3RoaXMzLnJlbW92ZSgpO1xuXG4gICAgICAgICAgICBfdGhpczMuX2N1c3RvbUV2ZW50KEVWRU5UX0NMQVNTX1RPR0dMRSwgdGFyZ2V0LCBmYWxzZSwgY2xhc3NOYW1lKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpczMuX2NvbmZpZy5hZGRDbGFzcyA9IGNsYXNzTmFtZTtcblxuICAgICAgICAgIF90aGlzMy5hZGQoKTtcblxuICAgICAgICAgIF90aGlzMy5fY3VzdG9tRXZlbnQoRVZFTlRfQ0xBU1NfVE9HR0xFLCB0YXJnZXQsIHRydWUsIGNsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGFzc05hbWVzLmZvckVhY2goZnVuY3Rpb24gKGNsYXNzTmFtZSkge1xuICAgICAgICBpZiAodGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICAgICAgX3RoaXMzLl9jb25maWcucmVtb3ZlQ2xhc3MgPSBjbGFzc05hbWU7XG5cbiAgICAgICAgICBfdGhpczMucmVtb3ZlKCk7XG5cbiAgICAgICAgICBfdGhpczMuX2N1c3RvbUV2ZW50KEVWRU5UX0NMQVNTX1RPR0dMRSwgdGFyZ2V0LCBmYWxzZSwgY2xhc3NOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpczMuX2NvbmZpZy5hZGRDbGFzcyA9IGNsYXNzTmFtZTtcblxuICAgICAgICAgIF90aGlzMy5hZGQoKTtcblxuICAgICAgICAgIF90aGlzMy5fY3VzdG9tRXZlbnQoRVZFTlRfQ0xBU1NfVE9HR0xFLCB0YXJnZXQsIHRydWUsIGNsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uY2xhc3MgPSBmdW5jdGlvbiBfY2xhc3MoKSB7XG4gICAgdGhpcy5fY29uZmlnLnRvZ2dsZUNsYXNzID0gdGhpcy5fY29uZmlnLmNsYXNzO1xuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnQuZ2V0QXR0cmlidXRlKCdyZXNwb25zaXZlJykpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy5yZXNwb25zaXZlID0gdGhpcy5fZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3Jlc3BvbnNpdmUnKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZSgpO1xuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fdGFyZ2V0ID0gZnVuY3Rpb24gX3RhcmdldCgpIHtcbiAgICBpZiAodGhpcy5fY29uZmlnLnRhcmdldCA9PT0gJ2JvZHknKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLl9jb25maWcudGFyZ2V0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29uZmlnLnRhcmdldCA9PT0gJ19wYXJlbnQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlO1xuICAgIH1cblxuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuX2NvbmZpZy50YXJnZXQpO1xuICB9O1xuXG4gIF9wcm90by5fY3VzdG9tRXZlbnQgPSBmdW5jdGlvbiBfY3VzdG9tRXZlbnQoZXZlbnROYW1lLCB0YXJnZXQsIGFkZCwgY2xhc3NOYW1lKSB7XG4gICAgdmFyIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KGV2ZW50TmFtZSwge1xuICAgICAgZGV0YWlsOiB7XG4gICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICBhZGQ6IGFkZCxcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWVcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gIH07XG5cbiAgX3Byb3RvLl9icmVha3BvaW50ID0gZnVuY3Rpb24gX2JyZWFrcG9pbnQoY2xhc3NOYW1lKSB7XG4gICAgdmFyIGJyZWFrcG9pbnRzID0gdGhpcy5fY29uZmlnLmJyZWFrcG9pbnRzO1xuICAgIHJldHVybiBicmVha3BvaW50cy5maWx0ZXIoZnVuY3Rpb24gKGJyZWFrcG9pbnQpIHtcbiAgICAgIHJldHVybiBicmVha3BvaW50Lmxlbmd0aCA+IDA7XG4gICAgfSkuZmlsdGVyKGZ1bmN0aW9uIChicmVha3BvaW50KSB7XG4gICAgICByZXR1cm4gY2xhc3NOYW1lLmluY2x1ZGVzKGJyZWFrcG9pbnQpO1xuICAgIH0pWzBdO1xuICB9O1xuXG4gIF9wcm90by5fYnJlYWtwb2ludHMgPSBmdW5jdGlvbiBfYnJlYWtwb2ludHMoY2xhc3NOYW1lKSB7XG4gICAgdmFyIGJyZWFrcG9pbnRzID0gdGhpcy5fY29uZmlnLmJyZWFrcG9pbnRzO1xuICAgIHJldHVybiBicmVha3BvaW50cy5zbGljZSgwLCBicmVha3BvaW50cy5pbmRleE9mKGJyZWFrcG9pbnRzLmZpbHRlcihmdW5jdGlvbiAoYnJlYWtwb2ludCkge1xuICAgICAgcmV0dXJuIGJyZWFrcG9pbnQubGVuZ3RoID4gMDtcbiAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKGJyZWFrcG9pbnQpIHtcbiAgICAgIHJldHVybiBjbGFzc05hbWUuaW5jbHVkZXMoYnJlYWtwb2ludCk7XG4gICAgfSlbMF0pICsgMSk7XG4gIH07XG5cbiAgX3Byb3RvLl91cGRhdGVSZXNwb25zaXZlQ2xhc3NOYW1lcyA9IGZ1bmN0aW9uIF91cGRhdGVSZXNwb25zaXZlQ2xhc3NOYW1lcyhjbGFzc05hbWUpIHtcbiAgICB2YXIgYnAgPSB0aGlzLl9icmVha3BvaW50KGNsYXNzTmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludHMoY2xhc3NOYW1lKS5tYXAoZnVuY3Rpb24gKGJyZWFrcG9pbnQpIHtcbiAgICAgIHJldHVybiBicmVha3BvaW50Lmxlbmd0aCA+IDAgPyBjbGFzc05hbWUucmVwbGFjZShicCwgYnJlYWtwb2ludCkgOiBjbGFzc05hbWUucmVwbGFjZShcIi1cIiArIGJwLCBicmVha3BvaW50KTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uX2luY2x1ZGVzUmVzcG9uc2l2ZUNsYXNzID0gZnVuY3Rpb24gX2luY2x1ZGVzUmVzcG9uc2l2ZUNsYXNzKGNsYXNzTmFtZSkge1xuICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgcmV0dXJuIHRoaXMuX3VwZGF0ZVJlc3BvbnNpdmVDbGFzc05hbWVzKGNsYXNzTmFtZSkuZmlsdGVyKGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICAgIHJldHVybiBfdGhpczQuX2NvbmZpZy50YXJnZXQuY29udGFpbnMoY2xhc3NOYW1lKTtcbiAgICB9KTtcbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIF9wcm90by5fZ2V0Q29uZmlnID0gZnVuY3Rpb24gX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0KSwgTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCkpLCBjb25maWcpO1xuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJDQsIGNvbmZpZywgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBDbGFzc1RvZ2dsZXIuY2xhc3NUb2dnbGVySW50ZXJmYWNlID0gZnVuY3Rpb24gY2xhc3NUb2dnbGVySW50ZXJmYWNlKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDQpO1xuXG4gICAgdmFyIF9jb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiBjb25maWc7XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGRhdGEgPSBuZXcgQ2xhc3NUb2dnbGVyKGVsZW1lbnQsIF9jb25maWcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgfVxuXG4gICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICB9XG4gIH07XG5cbiAgQ2xhc3NUb2dnbGVyLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIENsYXNzVG9nZ2xlci5jbGFzc1RvZ2dsZXJJbnRlcmZhY2UodGhpcywgY29uZmlnKTtcbiAgICB9KTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoQ2xhc3NUb2dnbGVyLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiQ0O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQyO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDE7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIENsYXNzVG9nZ2xlcjtcbn0oKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDQsIFNFTEVDVE9SX0NMQVNTX1RPR0dMRVIsIGZ1bmN0aW9uIChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgdmFyIHRvZ2dsZXIgPSBldmVudC50YXJnZXQ7XG5cbiAgaWYgKCF0b2dnbGVyLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0NMQVNTX1RPR0dMRVIpKSB7XG4gICAgdG9nZ2xlciA9IHRvZ2dsZXIuY2xvc2VzdChTRUxFQ1RPUl9DTEFTU19UT0dHTEVSKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdG9nZ2xlci5kYXRhc2V0LmFkZENsYXNzICE9PSAndW5kZWZpbmVkJykge1xuICAgIENsYXNzVG9nZ2xlci5jbGFzc1RvZ2dsZXJJbnRlcmZhY2UodG9nZ2xlciwgJ2FkZCcpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0b2dnbGVyLmRhdGFzZXQucmVtb3ZlQ2xhc3MgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgQ2xhc3NUb2dnbGVyLmNsYXNzVG9nZ2xlckludGVyZmFjZSh0b2dnbGVyLCAncmVtb3ZlJyk7XG4gIH1cblxuICBpZiAodHlwZW9mIHRvZ2dsZXIuZGF0YXNldC50b2dnbGVDbGFzcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBDbGFzc1RvZ2dsZXIuY2xhc3NUb2dnbGVySW50ZXJmYWNlKHRvZ2dsZXIsICd0b2dnbGUnKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdG9nZ2xlci5kYXRhc2V0LmNsYXNzICE9PSAndW5kZWZpbmVkJykge1xuICAgIENsYXNzVG9nZ2xlci5jbGFzc1RvZ2dsZXJJbnRlcmZhY2UodG9nZ2xlciwgJ2NsYXNzJyk7XG4gIH1cbn0pO1xudmFyICQkNSA9IGdldGpRdWVyeSgpO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGpRdWVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBhZGQgLmMtY2xhc3MtdG9nZ2xlciB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbmlmICgkJDUpIHtcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCQ0ID0gJCQ1LmZuW05BTUUkNF07XG4gICQkNS5mbltOQU1FJDRdID0gQ2xhc3NUb2dnbGVyLmpRdWVyeUludGVyZmFjZTtcbiAgJCQ1LmZuW05BTUUkNF0uQ29uc3RydWN0b3IgPSBDbGFzc1RvZ2dsZXI7XG5cbiAgJCQ1LmZuW05BTUUkNF0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkJDUuZm5bTkFNRSQ0XSA9IEpRVUVSWV9OT19DT05GTElDVCQ0O1xuICAgIHJldHVybiBDbGFzc1RvZ2dsZXIualF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTkFNRSQ1ID0gJ2NvbGxhcHNlJztcbnZhciBWRVJTSU9OJDUgPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJDUgPSAnY29yZXVpLmNvbGxhcHNlJztcbnZhciBFVkVOVF9LRVkkNSA9IFwiLlwiICsgREFUQV9LRVkkNTtcbnZhciBEQVRBX0FQSV9LRVkkNSA9ICcuZGF0YS1hcGknO1xudmFyIERlZmF1bHQkMyA9IHtcbiAgdG9nZ2xlOiB0cnVlLFxuICBwYXJlbnQ6ICcnXG59O1xudmFyIERlZmF1bHRUeXBlJDIgPSB7XG4gIHRvZ2dsZTogJ2Jvb2xlYW4nLFxuICBwYXJlbnQ6ICcoc3RyaW5nfGVsZW1lbnQpJ1xufTtcbnZhciBFVkVOVF9TSE9XID0gXCJzaG93XCIgKyBFVkVOVF9LRVkkNTtcbnZhciBFVkVOVF9TSE9XTiA9IFwic2hvd25cIiArIEVWRU5UX0tFWSQ1O1xudmFyIEVWRU5UX0hJREUgPSBcImhpZGVcIiArIEVWRU5UX0tFWSQ1O1xudmFyIEVWRU5UX0hJRERFTiA9IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkNTtcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSQ1ID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJDUgKyBEQVRBX0FQSV9LRVkkNTtcbnZhciBDTEFTU19OQU1FX1NIT1ckMSA9ICdzaG93JztcbnZhciBDTEFTU19OQU1FX0NPTExBUFNFID0gJ2NvbGxhcHNlJztcbnZhciBDTEFTU19OQU1FX0NPTExBUFNJTkcgPSAnY29sbGFwc2luZyc7XG52YXIgQ0xBU1NfTkFNRV9DT0xMQVBTRUQgPSAnY29sbGFwc2VkJztcbnZhciBXSURUSCA9ICd3aWR0aCc7XG52YXIgSEVJR0hUID0gJ2hlaWdodCc7XG52YXIgU0VMRUNUT1JfQUNUSVZFUyA9ICcuc2hvdywgLmNvbGxhcHNpbmcnO1xudmFyIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDEgPSAnW2RhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIl0nO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBDb2xsYXBzZSA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIENvbGxhcHNlKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX3RyaWdnZXJBcnJheSA9IFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfREFUQV9UT0dHTEUkMSArIFwiW2hyZWY9XFxcIiNcIiArIGVsZW1lbnQuaWQgKyBcIlxcXCJdLFwiICsgKFNFTEVDVE9SX0RBVEFfVE9HR0xFJDEgKyBcIltkYXRhLXRhcmdldD1cXFwiI1wiICsgZWxlbWVudC5pZCArIFwiXFxcIl1cIikpO1xuICAgIHZhciB0b2dnbGVMaXN0ID0gU2VsZWN0b3JFbmdpbmUuZmluZChTRUxFQ1RPUl9EQVRBX1RPR0dMRSQxKTtcblxuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB0b2dnbGVMaXN0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICB2YXIgZWxlbSA9IHRvZ2dsZUxpc3RbaV07XG4gICAgICB2YXIgc2VsZWN0b3IgPSBnZXRTZWxlY3RvckZyb21FbGVtZW50KGVsZW0pO1xuICAgICAgdmFyIGZpbHRlckVsZW1lbnQgPSBTZWxlY3RvckVuZ2luZS5maW5kKHNlbGVjdG9yKS5maWx0ZXIoZnVuY3Rpb24gKGZvdW5kRWxlbSkge1xuICAgICAgICByZXR1cm4gZm91bmRFbGVtID09PSBlbGVtZW50O1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChzZWxlY3RvciAhPT0gbnVsbCAmJiBmaWx0ZXJFbGVtZW50Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9zZWxlY3RvciA9IHNlbGVjdG9yO1xuXG4gICAgICAgIHRoaXMuX3RyaWdnZXJBcnJheS5wdXNoKGVsZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3BhcmVudCA9IHRoaXMuX2NvbmZpZy5wYXJlbnQgPyB0aGlzLl9nZXRQYXJlbnQoKSA6IG51bGw7XG5cbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5wYXJlbnQpIHtcbiAgICAgIHRoaXMuX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyh0aGlzLl9lbGVtZW50LCB0aGlzLl90cmlnZ2VyQXJyYXkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb25maWcudG9nZ2xlKSB7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ1LCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gQ29sbGFwc2UucHJvdG90eXBlO1xuXG4gIC8vIFB1YmxpY1xuICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMSkpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLnNob3cgPSBmdW5jdGlvbiBzaG93KCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNUcmFuc2l0aW9uaW5nIHx8IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQxKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBhY3RpdmVzO1xuICAgIHZhciBhY3RpdmVzRGF0YTtcblxuICAgIGlmICh0aGlzLl9wYXJlbnQpIHtcbiAgICAgIGFjdGl2ZXMgPSBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0FDVElWRVMsIHRoaXMuX3BhcmVudCkuZmlsdGVyKGZ1bmN0aW9uIChlbGVtKSB7XG4gICAgICAgIGlmICh0eXBlb2YgX3RoaXMuX2NvbmZpZy5wYXJlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXBhcmVudCcpID09PSBfdGhpcy5fY29uZmlnLnBhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBlbGVtLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0NPTExBUFNFKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoYWN0aXZlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgYWN0aXZlcyA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGNvbnRhaW5lciA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUodGhpcy5fc2VsZWN0b3IpO1xuXG4gICAgaWYgKGFjdGl2ZXMpIHtcbiAgICAgIHZhciB0ZW1wQWN0aXZlRGF0YSA9IGFjdGl2ZXMuZmlsdGVyKGZ1bmN0aW9uIChlbGVtKSB7XG4gICAgICAgIHJldHVybiBjb250YWluZXIgIT09IGVsZW07XG4gICAgICB9KTtcbiAgICAgIGFjdGl2ZXNEYXRhID0gdGVtcEFjdGl2ZURhdGFbMF0gPyBEYXRhLmdldERhdGEodGVtcEFjdGl2ZURhdGFbMF0sIERBVEFfS0VZJDUpIDogbnVsbDtcblxuICAgICAgaWYgKGFjdGl2ZXNEYXRhICYmIGFjdGl2ZXNEYXRhLl9pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBzdGFydEV2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVyk7XG5cbiAgICBpZiAoc3RhcnRFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFjdGl2ZXMpIHtcbiAgICAgIGFjdGl2ZXMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbUFjdGl2ZSkge1xuICAgICAgICBpZiAoY29udGFpbmVyICE9PSBlbGVtQWN0aXZlKSB7XG4gICAgICAgICAgQ29sbGFwc2UuY29sbGFwc2VJbnRlcmZhY2UoZWxlbUFjdGl2ZSwgJ2hpZGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYWN0aXZlc0RhdGEpIHtcbiAgICAgICAgICBEYXRhLnNldERhdGEoZWxlbUFjdGl2ZSwgREFUQV9LRVkkNSwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhciBkaW1lbnNpb24gPSB0aGlzLl9nZXREaW1lbnNpb24oKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0NPTExBUFNFKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0NPTExBUFNJTkcpO1xuXG4gICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gMDtcblxuICAgIGlmICh0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTRUQpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIHRydWUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRUcmFuc2l0aW9uaW5nKHRydWUpO1xuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBfdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQ09MTEFQU0lORyk7XG5cbiAgICAgIF90aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9DT0xMQVBTRSwgQ0xBU1NfTkFNRV9TSE9XJDEpO1xuXG4gICAgICBfdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gJyc7XG5cbiAgICAgIF90aGlzLnNldFRyYW5zaXRpb25pbmcoZmFsc2UpO1xuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04pO1xuICAgIH07XG5cbiAgICB2YXIgY2FwaXRhbGl6ZWREaW1lbnNpb24gPSBkaW1lbnNpb25bMF0udG9VcHBlckNhc2UoKSArIGRpbWVuc2lvbi5zbGljZSgxKTtcbiAgICB2YXIgc2Nyb2xsU2l6ZSA9IFwic2Nyb2xsXCIgKyBjYXBpdGFsaXplZERpbWVuc2lvbjtcbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQsIHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gdGhpcy5fZWxlbWVudFtzY3JvbGxTaXplXSArIFwicHhcIjtcbiAgfTtcblxuICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNUcmFuc2l0aW9uaW5nIHx8ICF0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgc3RhcnRFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJREUpO1xuXG4gICAgaWYgKHN0YXJ0RXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBkaW1lbnNpb24gPSB0aGlzLl9nZXREaW1lbnNpb24oKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGVbZGltZW5zaW9uXSA9IHRoaXMuX2VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbZGltZW5zaW9uXSArIFwicHhcIjtcbiAgICByZWZsb3codGhpcy5fZWxlbWVudCk7XG5cbiAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9DT0xMQVBTSU5HKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0NPTExBUFNFLCBDTEFTU19OQU1FX1NIT1ckMSk7XG5cbiAgICB2YXIgdHJpZ2dlckFycmF5TGVuZ3RoID0gdGhpcy5fdHJpZ2dlckFycmF5Lmxlbmd0aDtcblxuICAgIGlmICh0cmlnZ2VyQXJyYXlMZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyaWdnZXJBcnJheUxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciB0cmlnZ2VyID0gdGhpcy5fdHJpZ2dlckFycmF5W2ldO1xuICAgICAgICB2YXIgZWxlbSA9IGdldEVsZW1lbnRGcm9tU2VsZWN0b3IodHJpZ2dlcik7XG5cbiAgICAgICAgaWYgKGVsZW0gJiYgIWVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQxKSkge1xuICAgICAgICAgIHRyaWdnZXIuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0NPTExBUFNFRCk7XG4gICAgICAgICAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFRyYW5zaXRpb25pbmcodHJ1ZSk7XG5cbiAgICB2YXIgY29tcGxldGUgPSBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcbiAgICAgIF90aGlzMi5zZXRUcmFuc2l0aW9uaW5nKGZhbHNlKTtcblxuICAgICAgX3RoaXMyLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTSU5HKTtcblxuICAgICAgX3RoaXMyLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9DT0xMQVBTRSk7XG5cbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzMi5fZWxlbWVudCwgRVZFTlRfSElEREVOKTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gJyc7XG4gICAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbiA9IGdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO1xuICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZWxlbWVudCwgVFJBTlNJVElPTl9FTkQsIGNvbXBsZXRlKTtcbiAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICB9O1xuXG4gIF9wcm90by5zZXRUcmFuc2l0aW9uaW5nID0gZnVuY3Rpb24gc2V0VHJhbnNpdGlvbmluZyhpc1RyYW5zaXRpb25pbmcpIHtcbiAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSBpc1RyYW5zaXRpb25pbmc7XG4gIH07XG5cbiAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgIERhdGEucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBEQVRBX0tFWSQ1KTtcbiAgICB0aGlzLl9jb25maWcgPSBudWxsO1xuICAgIHRoaXMuX3BhcmVudCA9IG51bGw7XG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFycmF5ID0gbnVsbDtcbiAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSBudWxsO1xuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fZ2V0Q29uZmlnID0gZnVuY3Rpb24gX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgRGVmYXVsdCQzKSwgY29uZmlnKTtcbiAgICBjb25maWcudG9nZ2xlID0gQm9vbGVhbihjb25maWcudG9nZ2xlKTsgLy8gQ29lcmNlIHN0cmluZyB2YWx1ZXNcblxuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJDUsIGNvbmZpZywgRGVmYXVsdFR5cGUkMik7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX2dldERpbWVuc2lvbiA9IGZ1bmN0aW9uIF9nZXREaW1lbnNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFdJRFRIKSA/IFdJRFRIIDogSEVJR0hUO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0UGFyZW50ID0gZnVuY3Rpb24gX2dldFBhcmVudCgpIHtcbiAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgIHZhciBwYXJlbnQgPSB0aGlzLl9jb25maWcucGFyZW50O1xuXG4gICAgaWYgKGlzRWxlbWVudChwYXJlbnQpKSB7XG4gICAgICAvLyBpdCdzIGEgalF1ZXJ5IG9iamVjdFxuICAgICAgaWYgKHR5cGVvZiBwYXJlbnQuanF1ZXJ5ICE9PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgcGFyZW50WzBdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBwYXJlbnQgPSBwYXJlbnRbMF07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmVudCA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUocGFyZW50KTtcbiAgICB9XG5cbiAgICB2YXIgc2VsZWN0b3IgPSBTRUxFQ1RPUl9EQVRBX1RPR0dMRSQxICsgXCJbZGF0YS1wYXJlbnQ9XFxcIlwiICsgcGFyZW50ICsgXCJcXFwiXVwiO1xuICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoc2VsZWN0b3IsIHBhcmVudCkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgdmFyIHNlbGVjdGVkID0gZ2V0RWxlbWVudEZyb21TZWxlY3RvcihlbGVtZW50KTtcblxuICAgICAgX3RoaXMzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3Moc2VsZWN0ZWQsIFtlbGVtZW50XSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmVudDtcbiAgfTtcblxuICBfcHJvdG8uX2FkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyA9IGZ1bmN0aW9uIF9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MoZWxlbWVudCwgdHJpZ2dlckFycmF5KSB7XG4gICAgaWYgKCFlbGVtZW50IHx8ICF0cmlnZ2VyQXJyYXkubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGlzT3BlbiA9IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQxKTtcbiAgICB0cmlnZ2VyQXJyYXkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICBlbGVtLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9DT0xMQVBTRUQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQ09MTEFQU0VEKTtcbiAgICAgIH1cblxuICAgICAgZWxlbS5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBpc09wZW4pO1xuICAgIH0pO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgQ29sbGFwc2UuY29sbGFwc2VJbnRlcmZhY2UgPSBmdW5jdGlvbiBjb2xsYXBzZUludGVyZmFjZShlbGVtZW50LCBjb25maWcpIHtcbiAgICB2YXIgZGF0YSA9IERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ1KTtcblxuICAgIHZhciBfY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkMyksIE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKGVsZW1lbnQpKSwgdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pO1xuXG4gICAgaWYgKCFkYXRhICYmIF9jb25maWcudG9nZ2xlICYmIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnICYmIC9zaG93fGhpZGUvLnRlc3QoY29uZmlnKSkge1xuICAgICAgX2NvbmZpZy50b2dnbGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGRhdGEgPSBuZXcgQ29sbGFwc2UoZWxlbWVudCwgX2NvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICB9XG5cbiAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgIH1cbiAgfTtcblxuICBDb2xsYXBzZS5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBDb2xsYXBzZS5jb2xsYXBzZUludGVyZmFjZSh0aGlzLCBjb25maWcpO1xuICAgIH0pO1xuICB9O1xuXG4gIENvbGxhcHNlLmdldEluc3RhbmNlID0gZnVuY3Rpb24gZ2V0SW5zdGFuY2UoZWxlbWVudCkge1xuICAgIHJldHVybiBEYXRhLmdldERhdGEoZWxlbWVudCwgREFUQV9LRVkkNSk7XG4gIH07XG5cbiAgX2NyZWF0ZUNsYXNzKENvbGxhcHNlLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiQ1O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQzO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBDb2xsYXBzZTtcbn0oKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDUsIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDEsIGZ1bmN0aW9uIChldmVudCkge1xuICAvLyBwcmV2ZW50RGVmYXVsdCBvbmx5IGZvciA8YT4gZWxlbWVudHMgKHdoaWNoIGNoYW5nZSB0aGUgVVJMKSBub3QgaW5zaWRlIHRoZSBjb2xsYXBzaWJsZSBlbGVtZW50XG4gIGlmIChldmVudC50YXJnZXQudGFnTmFtZSA9PT0gJ0EnKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHZhciB0cmlnZ2VyRGF0YSA9IE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKHRoaXMpO1xuICB2YXIgc2VsZWN0b3IgPSBnZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO1xuICB2YXIgc2VsZWN0b3JFbGVtZW50cyA9IFNlbGVjdG9yRW5naW5lLmZpbmQoc2VsZWN0b3IpO1xuICBzZWxlY3RvckVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICB2YXIgZGF0YSA9IERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ1KTtcbiAgICB2YXIgY29uZmlnO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIC8vIHVwZGF0ZSBwYXJlbnQgYXR0cmlidXRlXG4gICAgICBpZiAoZGF0YS5fcGFyZW50ID09PSBudWxsICYmIHR5cGVvZiB0cmlnZ2VyRGF0YS5wYXJlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGRhdGEuX2NvbmZpZy5wYXJlbnQgPSB0cmlnZ2VyRGF0YS5wYXJlbnQ7XG4gICAgICAgIGRhdGEuX3BhcmVudCA9IGRhdGEuX2dldFBhcmVudCgpO1xuICAgICAgfVxuXG4gICAgICBjb25maWcgPSAndG9nZ2xlJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmlnID0gdHJpZ2dlckRhdGE7XG4gICAgfVxuXG4gICAgQ29sbGFwc2UuY29sbGFwc2VJbnRlcmZhY2UoZWxlbWVudCwgY29uZmlnKTtcbiAgfSk7XG59KTtcbnZhciAkJDYgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5jb2xsYXBzZSB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCQ2KSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkNSA9ICQkNi5mbltOQU1FJDVdO1xuICAkJDYuZm5bTkFNRSQ1XSA9IENvbGxhcHNlLmpRdWVyeUludGVyZmFjZTtcbiAgJCQ2LmZuW05BTUUkNV0uQ29uc3RydWN0b3IgPSBDb2xsYXBzZTtcblxuICAkJDYuZm5bTkFNRSQ1XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkNi5mbltOQU1FJDVdID0gSlFVRVJZX05PX0NPTkZMSUNUJDU7XG4gICAgcmV0dXJuIENvbGxhcHNlLmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUkNiA9ICdkcm9wZG93bic7XG52YXIgVkVSU0lPTiQ2ID0gJzMuMi4yJztcbnZhciBEQVRBX0tFWSQ2ID0gJ2NvcmV1aS5kcm9wZG93bic7XG52YXIgRVZFTlRfS0VZJDYgPSBcIi5cIiArIERBVEFfS0VZJDY7XG52YXIgREFUQV9BUElfS0VZJDYgPSAnLmRhdGEtYXBpJztcbnZhciBFU0NBUEVfS0VZID0gJ0VzY2FwZSc7XG52YXIgU1BBQ0VfS0VZID0gJ1NwYWNlJztcbnZhciBUQUJfS0VZID0gJ1RhYic7XG52YXIgQVJST1dfVVBfS0VZID0gJ0Fycm93VXAnO1xudmFyIEFSUk9XX0RPV05fS0VZID0gJ0Fycm93RG93bic7XG52YXIgUklHSFRfTU9VU0VfQlVUVE9OID0gMjsgLy8gTW91c2VFdmVudC5idXR0b24gdmFsdWUgZm9yIHRoZSBzZWNvbmRhcnkgYnV0dG9uLCB1c3VhbGx5IHRoZSByaWdodCBidXR0b25cblxudmFyIFJFR0VYUF9LRVlET1dOID0gbmV3IFJlZ0V4cChBUlJPV19VUF9LRVkgKyBcInxcIiArIEFSUk9XX0RPV05fS0VZICsgXCJ8XCIgKyBFU0NBUEVfS0VZKTtcbnZhciBFVkVOVF9ISURFJDEgPSBcImhpZGVcIiArIEVWRU5UX0tFWSQ2O1xudmFyIEVWRU5UX0hJRERFTiQxID0gXCJoaWRkZW5cIiArIEVWRU5UX0tFWSQ2O1xudmFyIEVWRU5UX1NIT1ckMSA9IFwic2hvd1wiICsgRVZFTlRfS0VZJDY7XG52YXIgRVZFTlRfU0hPV04kMSA9IFwic2hvd25cIiArIEVWRU5UX0tFWSQ2O1xudmFyIEVWRU5UX0NMSUNLID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJDY7XG52YXIgRVZFTlRfQ0xJQ0tfREFUQV9BUEkkNiA9IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ2ICsgREFUQV9BUElfS0VZJDY7XG52YXIgRVZFTlRfS0VZRE9XTl9EQVRBX0FQSSA9IFwia2V5ZG93blwiICsgRVZFTlRfS0VZJDYgKyBEQVRBX0FQSV9LRVkkNjtcbnZhciBFVkVOVF9LRVlVUF9EQVRBX0FQSSA9IFwia2V5dXBcIiArIEVWRU5UX0tFWSQ2ICsgREFUQV9BUElfS0VZJDY7XG52YXIgQ0xBU1NfTkFNRV9ESVNBQkxFRCQxID0gJ2Rpc2FibGVkJztcbnZhciBDTEFTU19OQU1FX1NIT1ckMiA9ICdzaG93JztcbnZhciBDTEFTU19OQU1FX0RST1BVUCA9ICdkcm9wdXAnO1xudmFyIENMQVNTX05BTUVfRFJPUFJJR0hUID0gJ2Ryb3ByaWdodCc7XG52YXIgQ0xBU1NfTkFNRV9EUk9QTEVGVCA9ICdkcm9wbGVmdCc7XG52YXIgQ0xBU1NfTkFNRV9IRUFERVIgPSAnYy1oZWFkZXInO1xudmFyIENMQVNTX05BTUVfTUVOVVJJR0hUID0gJ2Ryb3Bkb3duLW1lbnUtcmlnaHQnO1xudmFyIENMQVNTX05BTUVfTkFWQkFSID0gJ25hdmJhcic7XG52YXIgQ0xBU1NfTkFNRV9QT1NJVElPTl9TVEFUSUMgPSAncG9zaXRpb24tc3RhdGljJztcbnZhciBTRUxFQ1RPUl9EQVRBX1RPR0dMRSQyID0gJ1tkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJdJztcbnZhciBTRUxFQ1RPUl9GT1JNX0NISUxEID0gJy5kcm9wZG93biBmb3JtJztcbnZhciBTRUxFQ1RPUl9IRUFERVJfTkFWID0gJy5jLWhlYWRlci1uYXYnO1xudmFyIFNFTEVDVE9SX01FTlUgPSAnLmRyb3Bkb3duLW1lbnUnO1xudmFyIFNFTEVDVE9SX05BVkJBUl9OQVYgPSAnLm5hdmJhci1uYXYnO1xudmFyIFNFTEVDVE9SX1ZJU0lCTEVfSVRFTVMgPSAnLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW06bm90KC5kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCknO1xudmFyIFBMQUNFTUVOVF9UT1AgPSAndG9wLXN0YXJ0JztcbnZhciBQTEFDRU1FTlRfVE9QRU5EID0gJ3RvcC1lbmQnO1xudmFyIFBMQUNFTUVOVF9CT1RUT00gPSAnYm90dG9tLXN0YXJ0JztcbnZhciBQTEFDRU1FTlRfQk9UVE9NRU5EID0gJ2JvdHRvbS1lbmQnO1xudmFyIFBMQUNFTUVOVF9SSUdIVCA9ICdyaWdodC1zdGFydCc7XG52YXIgUExBQ0VNRU5UX0xFRlQgPSAnbGVmdC1zdGFydCc7XG52YXIgRGVmYXVsdCQ0ID0ge1xuICBvZmZzZXQ6IFswLCAwXSxcbiAgZmxpcDogdHJ1ZSxcbiAgYm91bmRhcnk6ICdzY3JvbGxQYXJlbnQnLFxuICByZWZlcmVuY2U6ICd0b2dnbGUnLFxuICBkaXNwbGF5OiAnZHluYW1pYycsXG4gIHBvcHBlckNvbmZpZzogbnVsbFxufTtcbnZhciBEZWZhdWx0VHlwZSQzID0ge1xuICBvZmZzZXQ6ICcoYXJyYXl8ZnVuY3Rpb24pJyxcbiAgZmxpcDogJ2Jvb2xlYW4nLFxuICBib3VuZGFyeTogJyhzdHJpbmd8ZWxlbWVudCknLFxuICByZWZlcmVuY2U6ICcoc3RyaW5nfGVsZW1lbnQpJyxcbiAgZGlzcGxheTogJ3N0cmluZycsXG4gIHBvcHBlckNvbmZpZzogJyhudWxsfG9iamVjdCknXG59O1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBEcm9wZG93biA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIERyb3Bkb3duKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX3BvcHBlciA9IG51bGw7XG4gICAgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGNvbmZpZyk7XG4gICAgdGhpcy5fbWVudSA9IHRoaXMuX2dldE1lbnVFbGVtZW50KCk7XG4gICAgdGhpcy5faW5OYXZiYXIgPSB0aGlzLl9kZXRlY3ROYXZiYXIoKTtcbiAgICB0aGlzLl9pbkhlYWRlciA9IHRoaXMuX2RldGVjdEhlYWRlcigpO1xuXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ2LCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gRHJvcGRvd24ucHJvdG90eXBlO1xuXG4gIC8vIFB1YmxpY1xuICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgIGlmICh0aGlzLl9lbGVtZW50LmRpc2FibGVkIHx8IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRElTQUJMRUQkMSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgaXNBY3RpdmUgPSB0aGlzLl9tZW51LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMik7XG5cbiAgICBEcm9wZG93bi5jbGVhck1lbnVzKCk7XG5cbiAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3coKTtcbiAgfTtcblxuICBfcHJvdG8uc2hvdyA9IGZ1bmN0aW9uIHNob3coKSB7XG4gICAgaWYgKHRoaXMuX2VsZW1lbnQuZGlzYWJsZWQgfHwgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9ESVNBQkxFRCQxKSB8fCB0aGlzLl9tZW51LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50ID0gRHJvcGRvd24uZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSB7XG4gICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50XG4gICAgfTtcbiAgICB2YXIgc2hvd0V2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIocGFyZW50LCBFVkVOVF9TSE9XJDEsIHJlbGF0ZWRUYXJnZXQpO1xuXG4gICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBEaXNhYmxlIHRvdGFsbHkgUG9wcGVyLmpzIGZvciBEcm9wZG93biBpbiBOYXZiYXJcblxuXG4gICAgaWYgKCF0aGlzLl9pbk5hdmJhciAmJiAhdGhpcy5faW5IZWFkZXIpIHtcbiAgICAgIGlmICh0eXBlb2YgY3JlYXRlUG9wcGVyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdDb3JlVUlcXCdzIGRyb3Bkb3ducyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKScpO1xuICAgICAgfVxuXG4gICAgICB2YXIgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQ7XG5cbiAgICAgIGlmICh0aGlzLl9jb25maWcucmVmZXJlbmNlID09PSAncGFyZW50Jykge1xuICAgICAgICByZWZlcmVuY2VFbGVtZW50ID0gcGFyZW50O1xuICAgICAgfSBlbHNlIGlmIChpc0VsZW1lbnQodGhpcy5fY29uZmlnLnJlZmVyZW5jZSkpIHtcbiAgICAgICAgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2NvbmZpZy5yZWZlcmVuY2U7IC8vIENoZWNrIGlmIGl0J3MgalF1ZXJ5IGVsZW1lbnRcblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX2NvbmZpZy5yZWZlcmVuY2UuanF1ZXJ5ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHJlZmVyZW5jZUVsZW1lbnQgPSB0aGlzLl9jb25maWcucmVmZXJlbmNlWzBdO1xuICAgICAgICB9XG4gICAgICB9IC8vIElmIGJvdW5kYXJ5IGlzIG5vdCBgc2Nyb2xsUGFyZW50YCwgdGhlbiBzZXQgcG9zaXRpb24gdG8gYHN0YXRpY2BcbiAgICAgIC8vIHRvIGFsbG93IHRoZSBtZW51IHRvIFwiZXNjYXBlXCIgdGhlIHNjcm9sbCBwYXJlbnQncyBib3VuZGFyaWVzXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MjUxXG5cblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5ib3VuZGFyeSAhPT0gJ3Njcm9sbFBhcmVudCcpIHtcbiAgICAgICAgcGFyZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9QT1NJVElPTl9TVEFUSUMpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9wb3BwZXIgPSBjcmVhdGVQb3BwZXIocmVmZXJlbmNlRWxlbWVudCwgdGhpcy5fbWVudSwgdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKCkpO1xuICAgIH0gLy8gSWYgdGhpcyBpcyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlIHdlIGFkZCBleHRyYVxuICAgIC8vIGVtcHR5IG1vdXNlb3ZlciBsaXN0ZW5lcnMgdG8gdGhlIGJvZHkncyBpbW1lZGlhdGUgY2hpbGRyZW47XG4gICAgLy8gb25seSBuZWVkZWQgYmVjYXVzZSBvZiBicm9rZW4gZXZlbnQgZGVsZWdhdGlvbiBvbiBpT1NcbiAgICAvLyBodHRwczovL3d3dy5xdWlya3Ntb2RlLm9yZy9ibG9nL2FyY2hpdmVzLzIwMTQvMDIvbW91c2VfZXZlbnRfYnViLmh0bWxcblxuXG4gICAgaWYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiAhcGFyZW50LmNsb3Nlc3QoU0VMRUNUT1JfTkFWQkFSX05BVikpIHtcbiAgICAgIHZhciBfcmVmO1xuXG4gICAgICAoX3JlZiA9IFtdKS5jb25jYXQuYXBwbHkoX3JlZiwgZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgICByZXR1cm4gRXZlbnRIYW5kbGVyLm9uKGVsZW0sICdtb3VzZW92ZXInLCBudWxsLCBub29wKCkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiAhcGFyZW50LmNsb3Nlc3QoU0VMRUNUT1JfSEVBREVSX05BVikpIHtcbiAgICAgIHZhciBfcmVmMjtcblxuICAgICAgKF9yZWYyID0gW10pLmNvbmNhdC5hcHBseShfcmVmMiwgZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgICByZXR1cm4gRXZlbnRIYW5kbGVyLm9uKGVsZW0sICdtb3VzZW92ZXInLCBudWxsLCBub29wKCkpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudC5mb2N1cygpO1xuXG4gICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCB0cnVlKTtcblxuICAgIE1hbmlwdWxhdG9yLnRvZ2dsZUNsYXNzKHRoaXMuX21lbnUsIENMQVNTX05BTUVfU0hPVyQyKTtcbiAgICBNYW5pcHVsYXRvci50b2dnbGVDbGFzcyhwYXJlbnQsIENMQVNTX05BTUVfU0hPVyQyKTtcbiAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihwYXJlbnQsIEVWRU5UX1NIT1dOJDEsIHJlbGF0ZWRUYXJnZXQpO1xuICB9O1xuXG4gIF9wcm90by5oaWRlID0gZnVuY3Rpb24gaGlkZSgpIHtcbiAgICBpZiAodGhpcy5fZWxlbWVudC5kaXNhYmxlZCB8fCB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0RJU0FCTEVEJDEpIHx8ICF0aGlzLl9tZW51LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50ID0gRHJvcGRvd24uZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSB7XG4gICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50XG4gICAgfTtcbiAgICB2YXIgaGlkZUV2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIocGFyZW50LCBFVkVOVF9ISURFJDEsIHJlbGF0ZWRUYXJnZXQpO1xuXG4gICAgaWYgKGhpZGVFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3BvcHBlcikge1xuICAgICAgdGhpcy5fcG9wcGVyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBNYW5pcHVsYXRvci50b2dnbGVDbGFzcyh0aGlzLl9tZW51LCBDTEFTU19OQU1FX1NIT1ckMik7XG4gICAgTWFuaXB1bGF0b3IudG9nZ2xlQ2xhc3MocGFyZW50LCBDTEFTU19OQU1FX1NIT1ckMik7XG4gICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIocGFyZW50LCBFVkVOVF9ISURERU4kMSwgcmVsYXRlZFRhcmdldCk7XG4gIH07XG5cbiAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgIERhdGEucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBEQVRBX0tFWSQ2KTtcbiAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWSQ2KTtcbiAgICB0aGlzLl9lbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl9tZW51ID0gbnVsbDtcblxuICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgIHRoaXMuX3BvcHBlci5kZXN0cm95KCk7XG5cbiAgICAgIHRoaXMuX3BvcHBlciA9IG51bGw7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUoKSB7XG4gICAgdGhpcy5faW5OYXZiYXIgPSB0aGlzLl9kZXRlY3ROYXZiYXIoKTtcbiAgICB0aGlzLl9pbkhlYWRlciA9IHRoaXMuX2RldGVjdEhlYWRlcigpO1xuXG4gICAgaWYgKHRoaXMuX3BvcHBlcikge1xuICAgICAgdGhpcy5fcG9wcGVyLnVwZGF0ZSgpO1xuICAgIH1cbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2FkZEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24gX2FkZEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xJQ0ssIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICBfdGhpcy50b2dnbGUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCksIE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKHRoaXMuX2VsZW1lbnQpKSwgY29uZmlnKTtcbiAgICB0eXBlQ2hlY2tDb25maWcoTkFNRSQ2LCBjb25maWcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpO1xuICAgIHJldHVybiBjb25maWc7XG4gIH07XG5cbiAgX3Byb3RvLl9nZXRNZW51RWxlbWVudCA9IGZ1bmN0aW9uIF9nZXRNZW51RWxlbWVudCgpIHtcbiAgICB2YXIgcGFyZW50ID0gRHJvcGRvd24uZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgcmV0dXJuIFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfTUVOVSwgcGFyZW50KTtcbiAgfTtcblxuICBfcHJvdG8uX2dldFBsYWNlbWVudCA9IGZ1bmN0aW9uIF9nZXRQbGFjZW1lbnQoKSB7XG4gICAgdmFyIHBhcmVudERyb3Bkb3duID0gdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlO1xuICAgIHZhciBwbGFjZW1lbnQgPSBQTEFDRU1FTlRfQk9UVE9NOyAvLyBIYW5kbGUgZHJvcHVwXG5cbiAgICBpZiAocGFyZW50RHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUFVQKSkge1xuICAgICAgcGxhY2VtZW50ID0gUExBQ0VNRU5UX1RPUDtcblxuICAgICAgaWYgKHRoaXMuX21lbnUuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfTUVOVVJJR0hUKSkge1xuICAgICAgICBwbGFjZW1lbnQgPSBQTEFDRU1FTlRfVE9QRU5EO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocGFyZW50RHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUFJJR0hUKSkge1xuICAgICAgcGxhY2VtZW50ID0gUExBQ0VNRU5UX1JJR0hUO1xuICAgIH0gZWxzZSBpZiAocGFyZW50RHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUExFRlQpKSB7XG4gICAgICBwbGFjZW1lbnQgPSBQTEFDRU1FTlRfTEVGVDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21lbnUuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfTUVOVVJJR0hUKSkge1xuICAgICAgcGxhY2VtZW50ID0gUExBQ0VNRU5UX0JPVFRPTUVORDtcbiAgICB9XG5cbiAgICByZXR1cm4gcGxhY2VtZW50O1xuICB9O1xuXG4gIF9wcm90by5fZGV0ZWN0TmF2YmFyID0gZnVuY3Rpb24gX2RldGVjdE5hdmJhcigpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9lbGVtZW50LmNsb3Nlc3QoXCIuXCIgKyBDTEFTU19OQU1FX05BVkJBUikpO1xuICB9O1xuXG4gIF9wcm90by5fZGV0ZWN0SGVhZGVyID0gZnVuY3Rpb24gX2RldGVjdEhlYWRlcigpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9lbGVtZW50LmNsb3Nlc3QoXCIuXCIgKyBDTEFTU19OQU1FX0hFQURFUikpO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0T2Zmc2V0ID0gZnVuY3Rpb24gX2dldE9mZnNldCgpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHZhciBvZmZzZXQgPSBbXTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5fY29uZmlnLm9mZnNldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb2Zmc2V0ID0gZnVuY3Rpb24gb2Zmc2V0KF9yZWYzKSB7XG4gICAgICAgIHZhciBwbGFjZW1lbnQgPSBfcmVmMy5wbGFjZW1lbnQsXG4gICAgICAgICAgICByZWZlcmVuY2UgPSBfcmVmMy5yZWZlcmVuY2UsXG4gICAgICAgICAgICBwb3BwZXIgPSBfcmVmMy5wb3BwZXI7XG4gICAgICAgIHJldHVybiBfdGhpczIuX2NvbmZpZy5vZmZzZXQoe1xuICAgICAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50LFxuICAgICAgICAgIHJlZmVyZW5jZTogcmVmZXJlbmNlLFxuICAgICAgICAgIHBvcHBlcjogcG9wcGVyXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgb2Zmc2V0ID0gdGhpcy5fY29uZmlnLm9mZnNldDtcbiAgICB9XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9O1xuXG4gIF9wcm90by5fZ2V0UG9wcGVyQ29uZmlnID0gZnVuY3Rpb24gX2dldFBvcHBlckNvbmZpZygpIHtcbiAgICB2YXIgcG9wcGVyQ29uZmlnID0ge1xuICAgICAgcGxhY2VtZW50OiB0aGlzLl9nZXRQbGFjZW1lbnQoKSxcbiAgICAgIG1vZGlmaWVyczogW3tcbiAgICAgICAgbmFtZTogJ29mZnNldCcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBvZmZzZXQ6IHRoaXMuX2dldE9mZnNldCgpXG4gICAgICAgIH1cbiAgICAgIH0sIHtcbiAgICAgICAgbmFtZTogJ2ZsaXAnLFxuICAgICAgICBlbmFibGVkOiB0aGlzLl9jb25maWcuZmxpcFxuICAgICAgfSwge1xuICAgICAgICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGJvdW5kYXJ5OiB0aGlzLl9jb25maWcuYm91bmRhcnlcbiAgICAgICAgfVxuICAgICAgfV1cbiAgICB9OyAvLyBEaXNhYmxlIFBvcHBlci5qcyBpZiB3ZSBoYXZlIGEgc3RhdGljIGRpc3BsYXlcblxuICAgIGlmICh0aGlzLl9jb25maWcuZGlzcGxheSA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIHBvcHBlckNvbmZpZy5tb2RpZmllcnMgPSB7XG4gICAgICAgIG5hbWU6ICdhcHBseVN0eWxlcycsXG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgcG9wcGVyQ29uZmlnKSwgdGhpcy5fY29uZmlnLnBvcHBlckNvbmZpZyk7XG4gIH0gLy8gU3RhdGljXG4gIDtcblxuICBEcm9wZG93bi5kcm9wZG93bkludGVyZmFjZSA9IGZ1bmN0aW9uIGRyb3Bkb3duSW50ZXJmYWNlKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDYpO1xuXG4gICAgdmFyIF9jb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyA/IGNvbmZpZyA6IG51bGw7XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGRhdGEgPSBuZXcgRHJvcGRvd24oZWxlbWVudCwgX2NvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICB9XG5cbiAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgIH1cbiAgfTtcblxuICBEcm9wZG93bi5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBEcm9wZG93bi5kcm9wZG93bkludGVyZmFjZSh0aGlzLCBjb25maWcpO1xuICAgIH0pO1xuICB9O1xuXG4gIERyb3Bkb3duLmNsZWFyTWVudXMgPSBmdW5jdGlvbiBjbGVhck1lbnVzKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50ICYmIChldmVudC5idXR0b24gPT09IFJJR0hUX01PVVNFX0JVVFRPTiB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIGV2ZW50LmtleSAhPT0gVEFCX0tFWSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgdG9nZ2xlcyA9IFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfREFUQV9UT0dHTEUkMik7XG5cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gdG9nZ2xlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgdmFyIHBhcmVudCA9IERyb3Bkb3duLmdldFBhcmVudEZyb21FbGVtZW50KHRvZ2dsZXNbaV0pO1xuICAgICAgdmFyIGNvbnRleHQgPSBEYXRhLmdldERhdGEodG9nZ2xlc1tpXSwgREFUQV9LRVkkNik7XG4gICAgICB2YXIgcmVsYXRlZFRhcmdldCA9IHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogdG9nZ2xlc1tpXVxuICAgICAgfTtcblxuICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnR5cGUgPT09ICdjbGljaycpIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldC5jbGlja0V2ZW50ID0gZXZlbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmICghY29udGV4dCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdmFyIGRyb3Bkb3duTWVudSA9IGNvbnRleHQuX21lbnU7XG5cbiAgICAgIGlmICghcGFyZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NIT1ckMikpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudCAmJiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiAvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGV2ZW50LnRhcmdldC50YWdOYW1lKSB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIGV2ZW50LmtleSA9PT0gVEFCX0tFWSkgJiYgcGFyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhciBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcihwYXJlbnQsIEVWRU5UX0hJREUkMSwgcmVsYXRlZFRhcmdldCk7XG5cbiAgICAgIGlmIChoaWRlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gLy8gSWYgdGhpcyBpcyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlIHdlIHJlbW92ZSB0aGUgZXh0cmFcbiAgICAgIC8vIGVtcHR5IG1vdXNlb3ZlciBsaXN0ZW5lcnMgd2UgYWRkZWQgZm9yIGlPUyBzdXBwb3J0XG5cblxuICAgICAgaWYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgICB2YXIgX3JlZjQ7XG5cbiAgICAgICAgKF9yZWY0ID0gW10pLmNvbmNhdC5hcHBseShfcmVmNCwgZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWxlbSkge1xuICAgICAgICAgIHJldHVybiBFdmVudEhhbmRsZXIub2ZmKGVsZW0sICdtb3VzZW92ZXInLCBudWxsLCBub29wKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdG9nZ2xlc1tpXS5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcblxuICAgICAgaWYgKGNvbnRleHQuX3BvcHBlcikge1xuICAgICAgICBjb250ZXh0Ll9wb3BwZXIuZGVzdHJveSgpO1xuICAgICAgfVxuXG4gICAgICBkcm9wZG93bk1lbnUuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1ckMik7XG4gICAgICBwYXJlbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1ckMik7XG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihwYXJlbnQsIEVWRU5UX0hJRERFTiQxLCByZWxhdGVkVGFyZ2V0KTtcbiAgICB9XG4gIH07XG5cbiAgRHJvcGRvd24uZ2V0UGFyZW50RnJvbUVsZW1lbnQgPSBmdW5jdGlvbiBnZXRQYXJlbnRGcm9tRWxlbWVudChlbGVtZW50KSB7XG4gICAgcmV0dXJuIGdldEVsZW1lbnRGcm9tU2VsZWN0b3IoZWxlbWVudCkgfHwgZWxlbWVudC5wYXJlbnROb2RlO1xuICB9O1xuXG4gIERyb3Bkb3duLmRhdGFBcGlLZXlkb3duSGFuZGxlciA9IGZ1bmN0aW9uIGRhdGFBcGlLZXlkb3duSGFuZGxlcihldmVudCkge1xuICAgIC8vIElmIG5vdCBpbnB1dC90ZXh0YXJlYTpcbiAgICAvLyAgLSBBbmQgbm90IGEga2V5IGluIFJFR0VYUF9LRVlET1dOID0+IG5vdCBhIGRyb3Bkb3duIGNvbW1hbmRcbiAgICAvLyBJZiBpbnB1dC90ZXh0YXJlYTpcbiAgICAvLyAgLSBJZiBzcGFjZSBrZXkgPT4gbm90IGEgZHJvcGRvd24gY29tbWFuZFxuICAgIC8vICAtIElmIGtleSBpcyBvdGhlciB0aGFuIGVzY2FwZVxuICAgIC8vICAgIC0gSWYga2V5IGlzIG5vdCB1cCBvciBkb3duID0+IG5vdCBhIGRyb3Bkb3duIGNvbW1hbmRcbiAgICAvLyAgICAtIElmIHRyaWdnZXIgaW5zaWRlIHRoZSBtZW51ID0+IG5vdCBhIGRyb3Bkb3duIGNvbW1hbmRcbiAgICBpZiAoL2lucHV0fHRleHRhcmVhL2kudGVzdChldmVudC50YXJnZXQudGFnTmFtZSkgPyBldmVudC5rZXkgPT09IFNQQUNFX0tFWSB8fCBldmVudC5rZXkgIT09IEVTQ0FQRV9LRVkgJiYgKGV2ZW50LmtleSAhPT0gQVJST1dfRE9XTl9LRVkgJiYgZXZlbnQua2V5ICE9PSBBUlJPV19VUF9LRVkgfHwgZXZlbnQudGFyZ2V0LmNsb3Nlc3QoU0VMRUNUT1JfTUVOVSkpIDogIVJFR0VYUF9LRVlET1dOLnRlc3QoZXZlbnQua2V5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0RJU0FCTEVEJDEpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHBhcmVudCA9IERyb3Bkb3duLmdldFBhcmVudEZyb21FbGVtZW50KHRoaXMpO1xuICAgIHZhciBpc0FjdGl2ZSA9IHBhcmVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSE9XJDIpO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSkge1xuICAgICAgdmFyIGJ1dHRvbiA9IHRoaXMubWF0Y2hlcyhTRUxFQ1RPUl9EQVRBX1RPR0dMRSQyKSA/IHRoaXMgOiBTZWxlY3RvckVuZ2luZS5wcmV2KHRoaXMsIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDIpWzBdO1xuICAgICAgYnV0dG9uLmZvY3VzKCk7XG4gICAgICBEcm9wZG93bi5jbGVhck1lbnVzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpc0FjdGl2ZSB8fCBldmVudC5rZXkgPT09IFNQQUNFX0tFWSkge1xuICAgICAgRHJvcGRvd24uY2xlYXJNZW51cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBpdGVtcyA9IFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfVklTSUJMRV9JVEVNUywgcGFyZW50KS5maWx0ZXIoaXNWaXNpYmxlKTtcblxuICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGluZGV4ID0gaXRlbXMuaW5kZXhPZihldmVudC50YXJnZXQpO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gQVJST1dfVVBfS0VZICYmIGluZGV4ID4gMCkge1xuICAgICAgLy8gVXBcbiAgICAgIGluZGV4LS07XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gQVJST1dfRE9XTl9LRVkgJiYgaW5kZXggPCBpdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAvLyBEb3duXG4gICAgICBpbmRleCsrO1xuICAgIH0gLy8gaW5kZXggaXMgLTEgaWYgdGhlIGZpcnN0IGtleWRvd24gaXMgYW4gQXJyb3dVcFxuXG5cbiAgICBpbmRleCA9IGluZGV4ID09PSAtMSA/IDAgOiBpbmRleDtcbiAgICBpdGVtc1tpbmRleF0uZm9jdXMoKTtcbiAgfTtcblxuICBEcm9wZG93bi5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDYpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhEcm9wZG93biwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kNjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHQkNDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFR5cGVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEZWZhdWx0VHlwZSQzO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBEcm9wZG93bjtcbn0oKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0tFWURPV05fREFUQV9BUEksIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDIsIERyb3Bkb3duLmRhdGFBcGlLZXlkb3duSGFuZGxlcik7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0tFWURPV05fREFUQV9BUEksIFNFTEVDVE9SX01FTlUsIERyb3Bkb3duLmRhdGFBcGlLZXlkb3duSGFuZGxlcik7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDYsIERyb3Bkb3duLmNsZWFyTWVudXMpO1xuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9LRVlVUF9EQVRBX0FQSSwgRHJvcGRvd24uY2xlYXJNZW51cyk7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDYsIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDIsIGZ1bmN0aW9uIChldmVudCkge1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgRHJvcGRvd24uZHJvcGRvd25JbnRlcmZhY2UodGhpcywgJ3RvZ2dsZScpO1xufSk7XG5FdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDYsIFNFTEVDVE9SX0ZPUk1fQ0hJTEQsIGZ1bmN0aW9uIChlKSB7XG4gIHJldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpO1xufSk7XG52YXIgJCQ3ID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFkZCAuZHJvcGRvd24gdG8galF1ZXJ5IG9ubHkgaWYgalF1ZXJ5IGlzIHByZXNlbnRcbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkNykge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJDYgPSAkJDcuZm5bTkFNRSQ2XTtcbiAgJCQ3LmZuW05BTUUkNl0gPSBEcm9wZG93bi5qUXVlcnlJbnRlcmZhY2U7XG4gICQkNy5mbltOQU1FJDZdLkNvbnN0cnVjdG9yID0gRHJvcGRvd247XG5cbiAgJCQ3LmZuW05BTUUkNl0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkJDcuZm5bTkFNRSQ2XSA9IEpRVUVSWV9OT19DT05GTElDVCQ2O1xuICAgIHJldHVybiBEcm9wZG93bi5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJDcgPSAnbW9kYWwnO1xudmFyIFZFUlNJT04kNyA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkNyA9ICdjb3JldWkubW9kYWwnO1xudmFyIEVWRU5UX0tFWSQ3ID0gXCIuXCIgKyBEQVRBX0tFWSQ3O1xudmFyIERBVEFfQVBJX0tFWSQ3ID0gJy5kYXRhLWFwaSc7XG52YXIgRVNDQVBFX0tFWSQxID0gJ0VzY2FwZSc7XG52YXIgRGVmYXVsdCQ1ID0ge1xuICBiYWNrZHJvcDogdHJ1ZSxcbiAga2V5Ym9hcmQ6IHRydWUsXG4gIGZvY3VzOiB0cnVlLFxuICBzaG93OiB0cnVlXG59O1xudmFyIERlZmF1bHRUeXBlJDQgPSB7XG4gIGJhY2tkcm9wOiAnKGJvb2xlYW58c3RyaW5nKScsXG4gIGtleWJvYXJkOiAnYm9vbGVhbicsXG4gIGZvY3VzOiAnYm9vbGVhbicsXG4gIHNob3c6ICdib29sZWFuJ1xufTtcbnZhciBFVkVOVF9ISURFJDIgPSBcImhpZGVcIiArIEVWRU5UX0tFWSQ3O1xudmFyIEVWRU5UX0hJREVfUFJFVkVOVEVEID0gXCJoaWRlUHJldmVudGVkXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9ISURERU4kMiA9IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9TSE9XJDIgPSBcInNob3dcIiArIEVWRU5UX0tFWSQ3O1xudmFyIEVWRU5UX1NIT1dOJDIgPSBcInNob3duXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9GT0NVU0lOID0gXCJmb2N1c2luXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9SRVNJWkUgPSBcInJlc2l6ZVwiICsgRVZFTlRfS0VZJDc7XG52YXIgRVZFTlRfQ0xJQ0tfRElTTUlTUyA9IFwiY2xpY2suZGlzbWlzc1wiICsgRVZFTlRfS0VZJDc7XG52YXIgRVZFTlRfS0VZRE9XTl9ESVNNSVNTID0gXCJrZXlkb3duLmRpc21pc3NcIiArIEVWRU5UX0tFWSQ3O1xudmFyIEVWRU5UX01PVVNFVVBfRElTTUlTUyA9IFwibW91c2V1cC5kaXNtaXNzXCIgKyBFVkVOVF9LRVkkNztcbnZhciBFVkVOVF9NT1VTRURPV05fRElTTUlTUyA9IFwibW91c2Vkb3duLmRpc21pc3NcIiArIEVWRU5UX0tFWSQ3O1xudmFyIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDcgPSBcImNsaWNrXCIgKyBFVkVOVF9LRVkkNyArIERBVEFfQVBJX0tFWSQ3O1xudmFyIENMQVNTX05BTUVfU0NST0xMQkFSX01FQVNVUkVSID0gJ21vZGFsLXNjcm9sbGJhci1tZWFzdXJlJztcbnZhciBDTEFTU19OQU1FX0JBQ0tEUk9QID0gJ21vZGFsLWJhY2tkcm9wJztcbnZhciBDTEFTU19OQU1FX09QRU4gPSAnbW9kYWwtb3Blbic7XG52YXIgQ0xBU1NfTkFNRV9GQURFID0gJ2ZhZGUnO1xudmFyIENMQVNTX05BTUVfU0hPVyQzID0gJ3Nob3cnO1xudmFyIENMQVNTX05BTUVfU1RBVElDID0gJ21vZGFsLXN0YXRpYyc7XG52YXIgU0VMRUNUT1JfRElBTE9HID0gJy5tb2RhbC1kaWFsb2cnO1xudmFyIFNFTEVDVE9SX01PREFMX0JPRFkgPSAnLm1vZGFsLWJvZHknO1xudmFyIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDMgPSAnW2RhdGEtdG9nZ2xlPVwibW9kYWxcIl0nO1xudmFyIFNFTEVDVE9SX0RBVEFfRElTTUlTUyA9ICdbZGF0YS1kaXNtaXNzPVwibW9kYWxcIl0nO1xudmFyIFNFTEVDVE9SX0ZJWEVEX0NPTlRFTlQgPSAnLmZpeGVkLXRvcCwgLmZpeGVkLWJvdHRvbSwgLmlzLWZpeGVkLCAuc3RpY2t5LXRvcCc7XG52YXIgU0VMRUNUT1JfU1RJQ0tZX0NPTlRFTlQgPSAnLnN0aWNreS10b3AnO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBNb2RhbCA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIE1vZGFsKGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX2RpYWxvZyA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfRElBTE9HLCBlbGVtZW50KTtcbiAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgdGhpcy5faXNTaG93biA9IGZhbHNlO1xuICAgIHRoaXMuX2lzQm9keU92ZXJmbG93aW5nID0gZmFsc2U7XG4gICAgdGhpcy5faWdub3JlQmFja2Ryb3BDbGljayA9IGZhbHNlO1xuICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgIHRoaXMuX3Njcm9sbGJhcldpZHRoID0gMDtcbiAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkNywgdGhpcyk7XG4gIH0gLy8gR2V0dGVyc1xuXG5cbiAgdmFyIF9wcm90byA9IE1vZGFsLnByb3RvdHlwZTtcblxuICAvLyBQdWJsaWNcbiAgX3Byb3RvLnRvZ2dsZSA9IGZ1bmN0aW9uIHRvZ2dsZShyZWxhdGVkVGFyZ2V0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzU2hvd24gPyB0aGlzLmhpZGUoKSA6IHRoaXMuc2hvdyhyZWxhdGVkVGFyZ2V0KTtcbiAgfTtcblxuICBfcHJvdG8uc2hvdyA9IGZ1bmN0aW9uIHNob3cocmVsYXRlZFRhcmdldCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNTaG93biB8fCB0aGlzLl9pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFKSkge1xuICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YXIgc2hvd0V2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVyQyLCB7XG4gICAgICByZWxhdGVkVGFyZ2V0OiByZWxhdGVkVGFyZ2V0XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5faXNTaG93biB8fCBzaG93RXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzU2hvd24gPSB0cnVlO1xuXG4gICAgdGhpcy5fY2hlY2tTY3JvbGxiYXIoKTtcblxuICAgIHRoaXMuX3NldFNjcm9sbGJhcigpO1xuXG4gICAgdGhpcy5fYWRqdXN0RGlhbG9nKCk7XG5cbiAgICB0aGlzLl9zZXRFc2NhcGVFdmVudCgpO1xuXG4gICAgdGhpcy5fc2V0UmVzaXplRXZlbnQoKTtcblxuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9DTElDS19ESVNNSVNTLCBTRUxFQ1RPUl9EQVRBX0RJU01JU1MsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgcmV0dXJuIF90aGlzLmhpZGUoZXZlbnQpO1xuICAgIH0pO1xuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9kaWFsb2csIEVWRU5UX01PVVNFRE9XTl9ESVNNSVNTLCBmdW5jdGlvbiAoKSB7XG4gICAgICBFdmVudEhhbmRsZXIub25lKF90aGlzLl9lbGVtZW50LCBFVkVOVF9NT1VTRVVQX0RJU01JU1MsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSBfdGhpcy5fZWxlbWVudCkge1xuICAgICAgICAgIF90aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzLl9zaG93RWxlbWVudChyZWxhdGVkVGFyZ2V0KTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoZXZlbnQpIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2lzU2hvd24gfHwgdGhpcy5faXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGhpZGVFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0hJREUkMik7XG5cbiAgICBpZiAoaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1Nob3duID0gZmFsc2U7XG5cbiAgICB2YXIgdHJhbnNpdGlvbiA9IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRkFERSk7XG5cbiAgICBpZiAodHJhbnNpdGlvbikge1xuICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRFc2NhcGVFdmVudCgpO1xuXG4gICAgdGhpcy5fc2V0UmVzaXplRXZlbnQoKTtcblxuICAgIEV2ZW50SGFuZGxlci5vZmYoZG9jdW1lbnQsIEVWRU5UX0ZPQ1VTSU4pO1xuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyQzKTtcblxuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xJQ0tfRElTTUlTUyk7XG4gICAgRXZlbnRIYW5kbGVyLm9mZih0aGlzLl9kaWFsb2csIEVWRU5UX01PVVNFRE9XTl9ESVNNSVNTKTtcblxuICAgIGlmICh0cmFuc2l0aW9uKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzMi5faGlkZU1vZGFsKGV2ZW50KTtcbiAgICAgIH0pO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQodGhpcy5fZWxlbWVudCwgdHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faGlkZU1vZGFsKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5kaXNwb3NlID0gZnVuY3Rpb24gZGlzcG9zZSgpIHtcbiAgICBbd2luZG93LCB0aGlzLl9lbGVtZW50LCB0aGlzLl9kaWFsb2ddLmZvckVhY2goZnVuY3Rpb24gKGh0bWxFbGVtZW50KSB7XG4gICAgICByZXR1cm4gRXZlbnRIYW5kbGVyLm9mZihodG1sRWxlbWVudCwgRVZFTlRfS0VZJDcpO1xuICAgIH0pO1xuICAgIC8qKlxuICAgICAqIGBkb2N1bWVudGAgaGFzIDIgZXZlbnRzIGBFVkVOVF9GT0NVU0lOYCBhbmQgYEVWRU5UX0NMSUNLX0RBVEFfQVBJYFxuICAgICAqIERvIG5vdCBtb3ZlIGBkb2N1bWVudGAgaW4gYGh0bWxFbGVtZW50c2AgYXJyYXlcbiAgICAgKiBJdCB3aWxsIHJlbW92ZSBgRVZFTlRfQ0xJQ0tfREFUQV9BUElgIGV2ZW50IHRoYXQgc2hvdWxkIHJlbWFpblxuICAgICAqL1xuXG4gICAgRXZlbnRIYW5kbGVyLm9mZihkb2N1bWVudCwgRVZFTlRfRk9DVVNJTik7XG4gICAgRGF0YS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDcpO1xuICAgIHRoaXMuX2NvbmZpZyA9IG51bGw7XG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fZGlhbG9nID0gbnVsbDtcbiAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgdGhpcy5faXNTaG93biA9IG51bGw7XG4gICAgdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgPSBudWxsO1xuICAgIHRoaXMuX2lnbm9yZUJhY2tkcm9wQ2xpY2sgPSBudWxsO1xuICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IG51bGw7XG4gICAgdGhpcy5fc2Nyb2xsYmFyV2lkdGggPSBudWxsO1xuICB9O1xuXG4gIF9wcm90by5oYW5kbGVVcGRhdGUgPSBmdW5jdGlvbiBoYW5kbGVVcGRhdGUoKSB7XG4gICAgdGhpcy5fYWRqdXN0RGlhbG9nKCk7XG4gIH0gLy8gUHJpdmF0ZVxuICA7XG5cbiAgX3Byb3RvLl9nZXRDb25maWcgPSBmdW5jdGlvbiBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgIGNvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0JDUpLCBjb25maWcpO1xuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJDcsIGNvbmZpZywgRGVmYXVsdFR5cGUkNCk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX3Nob3dFbGVtZW50ID0gZnVuY3Rpb24gX3Nob3dFbGVtZW50KHJlbGF0ZWRUYXJnZXQpIHtcbiAgICB2YXIgX3RoaXMzID0gdGhpcztcblxuICAgIHZhciB0cmFuc2l0aW9uID0gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFKTtcblxuICAgIHZhciBtb2RhbEJvZHkgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX01PREFMX0JPRFksIHRoaXMuX2RpYWxvZyk7XG5cbiAgICBpZiAoIXRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSB8fCB0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGUgIT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XG4gICAgICAvLyBEb24ndCBtb3ZlIG1vZGFsJ3MgRE9NIHBvc2l0aW9uXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICB0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLW1vZGFsJywgdHJ1ZSk7XG5cbiAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgncm9sZScsICdkaWFsb2cnKTtcblxuICAgIHRoaXMuX2VsZW1lbnQuc2Nyb2xsVG9wID0gMDtcblxuICAgIGlmIChtb2RhbEJvZHkpIHtcbiAgICAgIG1vZGFsQm9keS5zY3JvbGxUb3AgPSAwO1xuICAgIH1cblxuICAgIGlmICh0cmFuc2l0aW9uKSB7XG4gICAgICByZWZsb3codGhpcy5fZWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVyQzKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcuZm9jdXMpIHtcbiAgICAgIHRoaXMuX2VuZm9yY2VGb2N1cygpO1xuICAgIH1cblxuICAgIHZhciB0cmFuc2l0aW9uQ29tcGxldGUgPSBmdW5jdGlvbiB0cmFuc2l0aW9uQ29tcGxldGUoKSB7XG4gICAgICBpZiAoX3RoaXMzLl9jb25maWcuZm9jdXMpIHtcbiAgICAgICAgX3RoaXMzLl9lbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG5cbiAgICAgIF90aGlzMy5faXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpczMuX2VsZW1lbnQsIEVWRU5UX1NIT1dOJDIsIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICh0cmFuc2l0aW9uKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZGlhbG9nKTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZGlhbG9nLCBUUkFOU0lUSU9OX0VORCwgdHJhbnNpdGlvbkNvbXBsZXRlKTtcbiAgICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMuX2RpYWxvZywgdHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbkNvbXBsZXRlKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fZW5mb3JjZUZvY3VzID0gZnVuY3Rpb24gX2VuZm9yY2VGb2N1cygpIHtcbiAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgIEV2ZW50SGFuZGxlci5vZmYoZG9jdW1lbnQsIEVWRU5UX0ZPQ1VTSU4pOyAvLyBndWFyZCBhZ2FpbnN0IGluZmluaXRlIGZvY3VzIGxvb3BcblxuICAgIEV2ZW50SGFuZGxlci5vbihkb2N1bWVudCwgRVZFTlRfRk9DVVNJTiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICBpZiAoZG9jdW1lbnQgIT09IGV2ZW50LnRhcmdldCAmJiBfdGhpczQuX2VsZW1lbnQgIT09IGV2ZW50LnRhcmdldCAmJiAhX3RoaXM0Ll9lbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgX3RoaXM0Ll9lbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgX3Byb3RvLl9zZXRFc2NhcGVFdmVudCA9IGZ1bmN0aW9uIF9zZXRFc2NhcGVFdmVudCgpIHtcbiAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgIGlmICh0aGlzLl9pc1Nob3duKSB7XG4gICAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfS0VZRE9XTl9ESVNNSVNTLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgaWYgKF90aGlzNS5fY29uZmlnLmtleWJvYXJkICYmIGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSQxKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgIF90aGlzNS5oaWRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIV90aGlzNS5fY29uZmlnLmtleWJvYXJkICYmIGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSQxKSB7XG4gICAgICAgICAgX3RoaXM1Ll90cmlnZ2VyQmFja2Ryb3BUcmFuc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0tFWURPV05fRElTTUlTUyk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fc2V0UmVzaXplRXZlbnQgPSBmdW5jdGlvbiBfc2V0UmVzaXplRXZlbnQoKSB7XG4gICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNTaG93bikge1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfUkVTSVpFLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBfdGhpczYuX2FkanVzdERpYWxvZygpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIEV2ZW50SGFuZGxlci5vZmYod2luZG93LCBFVkVOVF9SRVNJWkUpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2hpZGVNb2RhbCA9IGZ1bmN0aW9uIF9oaWRlTW9kYWwoKSB7XG4gICAgdmFyIF90aGlzNyA9IHRoaXM7XG5cbiAgICB0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cbiAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCB0cnVlKTtcblxuICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW1vZGFsJyk7XG5cbiAgICB0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgncm9sZScpO1xuXG4gICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG5cbiAgICB0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24gKCkge1xuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfT1BFTik7XG5cbiAgICAgIF90aGlzNy5fcmVzZXRBZGp1c3RtZW50cygpO1xuXG4gICAgICBfdGhpczcuX3Jlc2V0U2Nyb2xsYmFyKCk7XG5cbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzNy5fZWxlbWVudCwgRVZFTlRfSElEREVOJDIpO1xuICAgIH0pO1xuICB9O1xuXG4gIF9wcm90by5fcmVtb3ZlQmFja2Ryb3AgPSBmdW5jdGlvbiBfcmVtb3ZlQmFja2Ryb3AoKSB7XG4gICAgdGhpcy5fYmFja2Ryb3AucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLl9iYWNrZHJvcCk7XG5cbiAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gIH07XG5cbiAgX3Byb3RvLl9zaG93QmFja2Ryb3AgPSBmdW5jdGlvbiBfc2hvd0JhY2tkcm9wKGNhbGxiYWNrKSB7XG4gICAgdmFyIF90aGlzOCA9IHRoaXM7XG5cbiAgICB2YXIgYW5pbWF0ZSA9IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRkFERSkgPyBDTEFTU19OQU1FX0ZBREUgOiAnJztcblxuICAgIGlmICh0aGlzLl9pc1Nob3duICYmIHRoaXMuX2NvbmZpZy5iYWNrZHJvcCkge1xuICAgICAgdGhpcy5fYmFja2Ryb3AgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuX2JhY2tkcm9wLmNsYXNzTmFtZSA9IENMQVNTX05BTUVfQkFDS0RST1A7XG5cbiAgICAgIGlmIChhbmltYXRlKSB7XG4gICAgICAgIHRoaXMuX2JhY2tkcm9wLmNsYXNzTGlzdC5hZGQoYW5pbWF0ZSk7XG4gICAgICB9XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fYmFja2Ryb3ApO1xuICAgICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0NMSUNLX0RJU01JU1MsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBpZiAoX3RoaXM4Ll9pZ25vcmVCYWNrZHJvcENsaWNrKSB7XG4gICAgICAgICAgX3RoaXM4Ll9pZ25vcmVCYWNrZHJvcENsaWNrID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIF90aGlzOC5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChhbmltYXRlKSB7XG4gICAgICAgIHJlZmxvdyh0aGlzLl9iYWNrZHJvcCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2JhY2tkcm9wLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDMpO1xuXG4gICAgICBpZiAoIWFuaW1hdGUpIHtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgYmFja2Ryb3BUcmFuc2l0aW9uRHVyYXRpb24gPSBnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9iYWNrZHJvcCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2JhY2tkcm9wLCBUUkFOU0lUSU9OX0VORCwgY2FsbGJhY2spO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQodGhpcy5fYmFja2Ryb3AsIGJhY2tkcm9wVHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc1Nob3duICYmIHRoaXMuX2JhY2tkcm9wKSB7XG4gICAgICB0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyQzKTtcblxuICAgICAgdmFyIGNhbGxiYWNrUmVtb3ZlID0gZnVuY3Rpb24gY2FsbGJhY2tSZW1vdmUoKSB7XG4gICAgICAgIF90aGlzOC5fcmVtb3ZlQmFja2Ryb3AoKTtcblxuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfTtcblxuICAgICAgaWYgKHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRkFERSkpIHtcbiAgICAgICAgdmFyIF9iYWNrZHJvcFRyYW5zaXRpb25EdXJhdGlvbiA9IGdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTtcblxuICAgICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2JhY2tkcm9wLCBUUkFOU0lUSU9OX0VORCwgY2FsbGJhY2tSZW1vdmUpO1xuICAgICAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZCh0aGlzLl9iYWNrZHJvcCwgX2JhY2tkcm9wVHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhbGxiYWNrUmVtb3ZlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhbGxiYWNrKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbiA9IGZ1bmN0aW9uIF90cmlnZ2VyQmFja2Ryb3BUcmFuc2l0aW9uKCkge1xuICAgIHZhciBfdGhpczkgPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5iYWNrZHJvcCA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIHZhciBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9ISURFX1BSRVZFTlRFRCk7XG5cbiAgICAgIGlmIChoaWRlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBpc01vZGFsT3ZlcmZsb3dpbmcgPSB0aGlzLl9lbGVtZW50LnNjcm9sbEhlaWdodCA+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICAgIGlmICghaXNNb2RhbE92ZXJmbG93aW5nKSB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUub3ZlcmZsb3dZID0gJ2hpZGRlbic7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX1NUQVRJQyk7XG5cbiAgICAgIHZhciBtb2RhbFRyYW5zaXRpb25EdXJhdGlvbiA9IGdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2RpYWxvZyk7XG4gICAgICBFdmVudEhhbmRsZXIub2ZmKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5EKTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZWxlbWVudCwgVFJBTlNJVElPTl9FTkQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgX3RoaXM5Ll9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9TVEFUSUMpO1xuXG4gICAgICAgIGlmICghaXNNb2RhbE92ZXJmbG93aW5nKSB7XG4gICAgICAgICAgRXZlbnRIYW5kbGVyLm9uZShfdGhpczkuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBfdGhpczkuX2VsZW1lbnQuc3R5bGUub3ZlcmZsb3dZID0gJyc7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQoX3RoaXM5Ll9lbGVtZW50LCBtb2RhbFRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQodGhpcy5fZWxlbWVudCwgbW9kYWxUcmFuc2l0aW9uRHVyYXRpb24pO1xuXG4gICAgICB0aGlzLl9lbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgdXNlZCB0byBoYW5kbGUgb3ZlcmZsb3dpbmcgbW9kYWxzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgO1xuXG4gIF9wcm90by5fYWRqdXN0RGlhbG9nID0gZnVuY3Rpb24gX2FkanVzdERpYWxvZygpIHtcbiAgICB2YXIgaXNNb2RhbE92ZXJmbG93aW5nID0gdGhpcy5fZWxlbWVudC5zY3JvbGxIZWlnaHQgPiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgaWYgKCF0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyAmJiBpc01vZGFsT3ZlcmZsb3dpbmcpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQgPSB0aGlzLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgJiYgIWlzTW9kYWxPdmVyZmxvd2luZykge1xuICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQgPSB0aGlzLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9yZXNldEFkanVzdG1lbnRzID0gZnVuY3Rpb24gX3Jlc2V0QWRqdXN0bWVudHMoKSB7XG4gICAgdGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdCA9ICcnO1xuICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0ID0gJyc7XG4gIH07XG5cbiAgX3Byb3RvLl9jaGVja1Njcm9sbGJhciA9IGZ1bmN0aW9uIF9jaGVja1Njcm9sbGJhcigpIHtcbiAgICB2YXIgcmVjdCA9IGRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgPSBNYXRoLnJvdW5kKHJlY3QubGVmdCArIHJlY3QucmlnaHQpIDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgdGhpcy5fc2Nyb2xsYmFyV2lkdGggPSB0aGlzLl9nZXRTY3JvbGxiYXJXaWR0aCgpO1xuICB9O1xuXG4gIF9wcm90by5fc2V0U2Nyb2xsYmFyID0gZnVuY3Rpb24gX3NldFNjcm9sbGJhcigpIHtcbiAgICB2YXIgX3RoaXMxMCA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcpIHtcbiAgICAgIC8vIE5vdGU6IERPTU5vZGUuc3R5bGUucGFkZGluZ1JpZ2h0IHJldHVybnMgdGhlIGFjdHVhbCB2YWx1ZSBvciAnJyBpZiBub3Qgc2V0XG4gICAgICAvLyAgIHdoaWxlICQoRE9NTm9kZSkuY3NzKCdwYWRkaW5nLXJpZ2h0JykgcmV0dXJucyB0aGUgY2FsY3VsYXRlZCB2YWx1ZSBvciAwIGlmIG5vdCBzZXRcbiAgICAgIC8vIEFkanVzdCBmaXhlZCBjb250ZW50IHBhZGRpbmdcbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfRklYRURfQ09OVEVOVCkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICB2YXIgYWN0dWFsUGFkZGluZyA9IGVsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0O1xuICAgICAgICB2YXIgY2FsY3VsYXRlZFBhZGRpbmcgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KVsncGFkZGluZy1yaWdodCddO1xuICAgICAgICBNYW5pcHVsYXRvci5zZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsICdwYWRkaW5nLXJpZ2h0JywgYWN0dWFsUGFkZGluZyk7XG4gICAgICAgIGVsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0ID0gcGFyc2VGbG9hdChjYWxjdWxhdGVkUGFkZGluZykgKyBfdGhpczEwLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICAgIH0pOyAvLyBBZGp1c3Qgc3RpY2t5IGNvbnRlbnQgbWFyZ2luXG5cbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfU1RJQ0tZX0NPTlRFTlQpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgdmFyIGFjdHVhbE1hcmdpbiA9IGVsZW1lbnQuc3R5bGUubWFyZ2luUmlnaHQ7XG4gICAgICAgIHZhciBjYWxjdWxhdGVkTWFyZ2luID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudClbJ21hcmdpbi1yaWdodCddO1xuICAgICAgICBNYW5pcHVsYXRvci5zZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsICdtYXJnaW4tcmlnaHQnLCBhY3R1YWxNYXJnaW4pO1xuICAgICAgICBlbGVtZW50LnN0eWxlLm1hcmdpblJpZ2h0ID0gcGFyc2VGbG9hdChjYWxjdWxhdGVkTWFyZ2luKSAtIF90aGlzMTAuX3Njcm9sbGJhcldpZHRoICsgXCJweFwiO1xuICAgICAgfSk7IC8vIEFkanVzdCBib2R5IHBhZGRpbmdcblxuICAgICAgdmFyIGFjdHVhbFBhZGRpbmcgPSBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodDtcbiAgICAgIHZhciBjYWxjdWxhdGVkUGFkZGluZyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpWydwYWRkaW5nLXJpZ2h0J107XG4gICAgICBNYW5pcHVsYXRvci5zZXREYXRhQXR0cmlidXRlKGRvY3VtZW50LmJvZHksICdwYWRkaW5nLXJpZ2h0JywgYWN0dWFsUGFkZGluZyk7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IHBhcnNlRmxvYXQoY2FsY3VsYXRlZFBhZGRpbmcpICsgdGhpcy5fc2Nyb2xsYmFyV2lkdGggKyBcInB4XCI7XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfT1BFTik7XG4gIH07XG5cbiAgX3Byb3RvLl9yZXNldFNjcm9sbGJhciA9IGZ1bmN0aW9uIF9yZXNldFNjcm9sbGJhcigpIHtcbiAgICAvLyBSZXN0b3JlIGZpeGVkIGNvbnRlbnQgcGFkZGluZ1xuICAgIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfRklYRURfQ09OVEVOVCkuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgdmFyIHBhZGRpbmcgPSBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsICdwYWRkaW5nLXJpZ2h0Jyk7XG5cbiAgICAgIGlmICh0eXBlb2YgcGFkZGluZyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgTWFuaXB1bGF0b3IucmVtb3ZlRGF0YUF0dHJpYnV0ZShlbGVtZW50LCAncGFkZGluZy1yaWdodCcpO1xuICAgICAgICBlbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodCA9IHBhZGRpbmc7XG4gICAgICB9XG4gICAgfSk7IC8vIFJlc3RvcmUgc3RpY2t5IGNvbnRlbnQgYW5kIG5hdmJhci10b2dnbGVyIG1hcmdpblxuXG4gICAgU2VsZWN0b3JFbmdpbmUuZmluZChcIlwiICsgU0VMRUNUT1JfU1RJQ0tZX0NPTlRFTlQpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgIHZhciBtYXJnaW4gPSBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlKGVsZW1lbnQsICdtYXJnaW4tcmlnaHQnKTtcblxuICAgICAgaWYgKHR5cGVvZiBtYXJnaW4gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIE1hbmlwdWxhdG9yLnJlbW92ZURhdGFBdHRyaWJ1dGUoZWxlbWVudCwgJ21hcmdpbi1yaWdodCcpO1xuICAgICAgICBlbGVtZW50LnN0eWxlLm1hcmdpblJpZ2h0ID0gbWFyZ2luO1xuICAgICAgfVxuICAgIH0pOyAvLyBSZXN0b3JlIGJvZHkgcGFkZGluZ1xuXG4gICAgdmFyIHBhZGRpbmcgPSBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlKGRvY3VtZW50LmJvZHksICdwYWRkaW5nLXJpZ2h0Jyk7XG5cbiAgICBpZiAodHlwZW9mIHBhZGRpbmcgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9ICcnO1xuICAgIH0gZWxzZSB7XG4gICAgICBNYW5pcHVsYXRvci5yZW1vdmVEYXRhQXR0cmlidXRlKGRvY3VtZW50LmJvZHksICdwYWRkaW5nLXJpZ2h0Jyk7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IHBhZGRpbmc7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fZ2V0U2Nyb2xsYmFyV2lkdGggPSBmdW5jdGlvbiBfZ2V0U2Nyb2xsYmFyV2lkdGgoKSB7XG4gICAgLy8gdGh4IGQud2Fsc2hcbiAgICB2YXIgc2Nyb2xsRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgc2Nyb2xsRGl2LmNsYXNzTmFtZSA9IENMQVNTX05BTUVfU0NST0xMQkFSX01FQVNVUkVSO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2Nyb2xsRGl2KTtcbiAgICB2YXIgc2Nyb2xsYmFyV2lkdGggPSBzY3JvbGxEaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLSBzY3JvbGxEaXYuY2xpZW50V2lkdGg7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JvbGxEaXYpO1xuICAgIHJldHVybiBzY3JvbGxiYXJXaWR0aDtcbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIE1vZGFsLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcsIHJlbGF0ZWRUYXJnZXQpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJDcpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0JDUpLCBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0aGlzKSksIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZyA/IGNvbmZpZyA6IHt9KTtcblxuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIGRhdGEgPSBuZXcgTW9kYWwodGhpcywgX2NvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbY29uZmlnXShyZWxhdGVkVGFyZ2V0KTtcbiAgICAgIH0gZWxzZSBpZiAoX2NvbmZpZy5zaG93KSB7XG4gICAgICAgIGRhdGEuc2hvdyhyZWxhdGVkVGFyZ2V0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBNb2RhbC5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDcpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhNb2RhbCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kNztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHQkNTtcbiAgICB9XG4gIH1dKTtcblxuICByZXR1cm4gTW9kYWw7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSQ3LCBTRUxFQ1RPUl9EQVRBX1RPR0dMRSQzLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgdmFyIF90aGlzMTEgPSB0aGlzO1xuXG4gIHZhciB0YXJnZXQgPSBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKHRoaXMpO1xuXG4gIGlmICh0aGlzLnRhZ05hbWUgPT09ICdBJyB8fCB0aGlzLnRhZ05hbWUgPT09ICdBUkVBJykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBFdmVudEhhbmRsZXIub25lKHRhcmdldCwgRVZFTlRfU0hPVyQyLCBmdW5jdGlvbiAoc2hvd0V2ZW50KSB7XG4gICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAvLyBvbmx5IHJlZ2lzdGVyIGZvY3VzIHJlc3RvcmVyIGlmIG1vZGFsIHdpbGwgYWN0dWFsbHkgZ2V0IHNob3duXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgRXZlbnRIYW5kbGVyLm9uZSh0YXJnZXQsIEVWRU5UX0hJRERFTiQyLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoaXNWaXNpYmxlKF90aGlzMTEpKSB7XG4gICAgICAgIF90aGlzMTEuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRhcmdldCwgREFUQV9LRVkkNyk7XG5cbiAgaWYgKCFkYXRhKSB7XG4gICAgdmFyIGNvbmZpZyA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBNYW5pcHVsYXRvci5nZXREYXRhQXR0cmlidXRlcyh0YXJnZXQpKSwgTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcykpO1xuXG4gICAgZGF0YSA9IG5ldyBNb2RhbCh0YXJnZXQsIGNvbmZpZyk7XG4gIH1cblxuICBkYXRhLnNob3codGhpcyk7XG59KTtcbnZhciAkJDggPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC5tb2RhbCB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCQ4KSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkNyA9ICQkOC5mbltOQU1FJDddO1xuICAkJDguZm5bTkFNRSQ3XSA9IE1vZGFsLmpRdWVyeUludGVyZmFjZTtcbiAgJCQ4LmZuW05BTUUkN10uQ29uc3RydWN0b3IgPSBNb2RhbDtcblxuICAkJDguZm5bTkFNRSQ3XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkOC5mbltOQU1FJDddID0gSlFVRVJZX05PX0NPTkZMSUNUJDc7XG4gICAgcmV0dXJuIE1vZGFsLmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQm9vdHN0cmFwICh2NS4wLjAtYWxwaGExKTogdXRpbC9zYW5pdGl6ZXIuanNcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG52YXIgdXJpQXR0cnMgPSBbJ2JhY2tncm91bmQnLCAnY2l0ZScsICdocmVmJywgJ2l0ZW10eXBlJywgJ2xvbmdkZXNjJywgJ3Bvc3RlcicsICdzcmMnLCAneGxpbms6aHJlZiddO1xudmFyIEFSSUFfQVRUUklCVVRFX1BBVFRFUk4gPSAvXmFyaWEtW1xcdy1dKiQvaTtcbi8qKlxuICogQSBwYXR0ZXJuIHRoYXQgcmVjb2duaXplcyBhIGNvbW1vbmx5IHVzZWZ1bCBzdWJzZXQgb2YgVVJMcyB0aGF0IGFyZSBzYWZlLlxuICpcbiAqIFNob3V0b3V0IHRvIEFuZ3VsYXIgNyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvNy4yLjQvcGFja2FnZXMvY29yZS9zcmMvc2FuaXRpemF0aW9uL3VybF9zYW5pdGl6ZXIudHNcbiAqL1xuXG52YXIgU0FGRV9VUkxfUEFUVEVSTiA9IC9eKD86KD86aHR0cHM/fG1haWx0b3xmdHB8dGVsfGZpbGUpOnxbXiMmLzo/XSooPzpbIy8/XXwkKSkvZ2k7XG4vKipcbiAqIEEgcGF0dGVybiB0aGF0IG1hdGNoZXMgc2FmZSBkYXRhIFVSTHMuIE9ubHkgbWF0Y2hlcyBpbWFnZSwgdmlkZW8gYW5kIGF1ZGlvIHR5cGVzLlxuICpcbiAqIFNob3V0b3V0IHRvIEFuZ3VsYXIgNyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvNy4yLjQvcGFja2FnZXMvY29yZS9zcmMvc2FuaXRpemF0aW9uL3VybF9zYW5pdGl6ZXIudHNcbiAqL1xuXG52YXIgREFUQV9VUkxfUEFUVEVSTiA9IC9eZGF0YTooPzppbWFnZVxcLyg/OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cXC8oPzptcGVnfG1wNHxvZ2d8d2VibSl8YXVkaW9cXC8oPzptcDN8b2dhfG9nZ3xvcHVzKSk7YmFzZTY0LFtcXGQrL2Etel0rPSokL2k7XG5cbnZhciBhbGxvd2VkQXR0cmlidXRlID0gZnVuY3Rpb24gYWxsb3dlZEF0dHJpYnV0ZShhdHRyLCBhbGxvd2VkQXR0cmlidXRlTGlzdCkge1xuICB2YXIgYXR0ck5hbWUgPSBhdHRyLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgaWYgKGFsbG93ZWRBdHRyaWJ1dGVMaXN0LmluZGV4T2YoYXR0ck5hbWUpICE9PSAtMSkge1xuICAgIGlmICh1cmlBdHRycy5pbmRleE9mKGF0dHJOYW1lKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiBCb29sZWFuKGF0dHIubm9kZVZhbHVlLm1hdGNoKFNBRkVfVVJMX1BBVFRFUk4pIHx8IGF0dHIubm9kZVZhbHVlLm1hdGNoKERBVEFfVVJMX1BBVFRFUk4pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhciByZWdFeHAgPSBhbGxvd2VkQXR0cmlidXRlTGlzdC5maWx0ZXIoZnVuY3Rpb24gKGF0dHJSZWdleCkge1xuICAgIHJldHVybiBhdHRyUmVnZXggaW5zdGFuY2VvZiBSZWdFeHA7XG4gIH0pOyAvLyBDaGVjayBpZiBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB2YWxpZGF0ZXMgdGhlIGF0dHJpYnV0ZS5cblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gcmVnRXhwLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKGF0dHJOYW1lLm1hdGNoKHJlZ0V4cFtpXSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbnZhciBEZWZhdWx0V2hpdGVsaXN0ID0ge1xuICAvLyBHbG9iYWwgYXR0cmlidXRlcyBhbGxvd2VkIG9uIGFueSBzdXBwbGllZCBlbGVtZW50IGJlbG93LlxuICAnKic6IFsnY2xhc3MnLCAnZGlyJywgJ2lkJywgJ2xhbmcnLCAncm9sZScsIEFSSUFfQVRUUklCVVRFX1BBVFRFUk5dLFxuICBhOiBbJ3RhcmdldCcsICdocmVmJywgJ3RpdGxlJywgJ3JlbCddLFxuICBhcmVhOiBbXSxcbiAgYjogW10sXG4gIGJyOiBbXSxcbiAgY29sOiBbXSxcbiAgY29kZTogW10sXG4gIGRpdjogW10sXG4gIGVtOiBbXSxcbiAgaHI6IFtdLFxuICBoMTogW10sXG4gIGgyOiBbXSxcbiAgaDM6IFtdLFxuICBoNDogW10sXG4gIGg1OiBbXSxcbiAgaDY6IFtdLFxuICBpOiBbXSxcbiAgaW1nOiBbJ3NyYycsICdzcmNzZXQnLCAnYWx0JywgJ3RpdGxlJywgJ3dpZHRoJywgJ2hlaWdodCddLFxuICBsaTogW10sXG4gIG9sOiBbXSxcbiAgcDogW10sXG4gIHByZTogW10sXG4gIHM6IFtdLFxuICBzbWFsbDogW10sXG4gIHNwYW46IFtdLFxuICBzdWI6IFtdLFxuICBzdXA6IFtdLFxuICBzdHJvbmc6IFtdLFxuICB1OiBbXSxcbiAgdWw6IFtdXG59O1xuZnVuY3Rpb24gc2FuaXRpemVIdG1sKHVuc2FmZUh0bWwsIHdoaXRlTGlzdCwgc2FuaXRpemVGbikge1xuICB2YXIgX3JlZjtcblxuICBpZiAoIXVuc2FmZUh0bWwubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHVuc2FmZUh0bWw7XG4gIH1cblxuICBpZiAoc2FuaXRpemVGbiAmJiB0eXBlb2Ygc2FuaXRpemVGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBzYW5pdGl6ZUZuKHVuc2FmZUh0bWwpO1xuICB9XG5cbiAgdmFyIGRvbVBhcnNlciA9IG5ldyB3aW5kb3cuRE9NUGFyc2VyKCk7XG4gIHZhciBjcmVhdGVkRG9jdW1lbnQgPSBkb21QYXJzZXIucGFyc2VGcm9tU3RyaW5nKHVuc2FmZUh0bWwsICd0ZXh0L2h0bWwnKTtcbiAgdmFyIHdoaXRlbGlzdEtleXMgPSBPYmplY3Qua2V5cyh3aGl0ZUxpc3QpO1xuXG4gIHZhciBlbGVtZW50cyA9IChfcmVmID0gW10pLmNvbmNhdC5hcHBseShfcmVmLCBjcmVhdGVkRG9jdW1lbnQuYm9keS5xdWVyeVNlbGVjdG9yQWxsKCcqJykpO1xuXG4gIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKGksIGxlbikge1xuICAgIHZhciBfcmVmMjtcblxuICAgIHZhciBlbCA9IGVsZW1lbnRzW2ldO1xuICAgIHZhciBlbE5hbWUgPSBlbC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKHdoaXRlbGlzdEtleXMuaW5kZXhPZihlbE5hbWUpID09PSAtMSkge1xuICAgICAgZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbCk7XG4gICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgIH1cblxuICAgIHZhciBhdHRyaWJ1dGVMaXN0ID0gKF9yZWYyID0gW10pLmNvbmNhdC5hcHBseShfcmVmMiwgZWwuYXR0cmlidXRlcyk7XG5cbiAgICB2YXIgd2hpdGVsaXN0ZWRBdHRyaWJ1dGVzID0gW10uY29uY2F0KHdoaXRlTGlzdFsnKiddIHx8IFtdLCB3aGl0ZUxpc3RbZWxOYW1lXSB8fCBbXSk7XG4gICAgYXR0cmlidXRlTGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyKSB7XG4gICAgICBpZiAoIWFsbG93ZWRBdHRyaWJ1dGUoYXR0ciwgd2hpdGVsaXN0ZWRBdHRyaWJ1dGVzKSkge1xuICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoYXR0ci5ub2RlTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGVsZW1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgdmFyIF9yZXQgPSBfbG9vcChpKTtcblxuICAgIGlmIChfcmV0ID09PSBcImNvbnRpbnVlXCIpIGNvbnRpbnVlO1xuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZWREb2N1bWVudC5ib2R5LmlubmVySFRNTDtcbn1cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENvbnN0YW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIE5BTUUkOCA9ICd0b29sdGlwJztcbnZhciBWRVJTSU9OJDggPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJDggPSAnY29yZXVpLnRvb2x0aXAnO1xudmFyIEVWRU5UX0tFWSQ4ID0gXCIuXCIgKyBEQVRBX0tFWSQ4O1xudmFyIENMQVNTX1BSRUZJWCA9ICdicy10b29sdGlwJztcbnZhciBCU0NMU19QUkVGSVhfUkVHRVggPSBuZXcgUmVnRXhwKFwiKF58XFxcXHMpXCIgKyBDTEFTU19QUkVGSVggKyBcIlxcXFxTK1wiLCAnZycpO1xudmFyIERJU0FMTE9XRURfQVRUUklCVVRFUyA9IFsnc2FuaXRpemUnLCAnd2hpdGVMaXN0JywgJ3Nhbml0aXplRm4nXTtcbnZhciBEZWZhdWx0VHlwZSQ1ID0ge1xuICBhbmltYXRpb246ICdib29sZWFuJyxcbiAgdGVtcGxhdGU6ICdzdHJpbmcnLFxuICB0aXRsZTogJyhzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbiknLFxuICB0cmlnZ2VyOiAnc3RyaW5nJyxcbiAgZGVsYXk6ICcobnVtYmVyfG9iamVjdCknLFxuICBodG1sOiAnYm9vbGVhbicsXG4gIHNlbGVjdG9yOiAnKHN0cmluZ3xib29sZWFuKScsXG4gIHBsYWNlbWVudDogJyhzdHJpbmd8ZnVuY3Rpb24pJyxcbiAgb2Zmc2V0OiAnKGFycmF5fGZ1bmN0aW9uKScsXG4gIGNvbnRhaW5lcjogJyhzdHJpbmd8ZWxlbWVudHxib29sZWFuKScsXG4gIGJvdW5kYXJ5OiAnKHN0cmluZ3xlbGVtZW50KScsXG4gIHNhbml0aXplOiAnYm9vbGVhbicsXG4gIHNhbml0aXplRm46ICcobnVsbHxmdW5jdGlvbiknLFxuICB3aGl0ZUxpc3Q6ICdvYmplY3QnLFxuICBwb3BwZXJDb25maWc6ICcobnVsbHxvYmplY3QpJ1xufTtcbnZhciBBdHRhY2htZW50TWFwID0ge1xuICBBVVRPOiAnYXV0bycsXG4gIFRPUDogJ3RvcCcsXG4gIFJJR0hUOiAncmlnaHQnLFxuICBCT1RUT006ICdib3R0b20nLFxuICBMRUZUOiAnbGVmdCdcbn07XG52YXIgRGVmYXVsdCQ2ID0ge1xuICBhbmltYXRpb246IHRydWUsXG4gIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cInRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiPicgKyAnPGRpdiBjbGFzcz1cInRvb2x0aXAtYXJyb3dcIj48L2Rpdj4nICsgJzxkaXYgY2xhc3M9XCJ0b29sdGlwLWlubmVyXCI+PC9kaXY+PC9kaXY+JyxcbiAgdHJpZ2dlcjogJ2hvdmVyIGZvY3VzJyxcbiAgdGl0bGU6ICcnLFxuICBkZWxheTogMCxcbiAgaHRtbDogZmFsc2UsXG4gIHNlbGVjdG9yOiBmYWxzZSxcbiAgcGxhY2VtZW50OiAndG9wJyxcbiAgb2Zmc2V0OiBbMCwgMF0sXG4gIGNvbnRhaW5lcjogZmFsc2UsXG4gIGJvdW5kYXJ5OiAnc2Nyb2xsUGFyZW50JyxcbiAgc2FuaXRpemU6IHRydWUsXG4gIHNhbml0aXplRm46IG51bGwsXG4gIHdoaXRlTGlzdDogRGVmYXVsdFdoaXRlbGlzdCxcbiAgcG9wcGVyQ29uZmlnOiBudWxsXG59O1xudmFyIEV2ZW50JDEgPSB7XG4gIEhJREU6IFwiaGlkZVwiICsgRVZFTlRfS0VZJDgsXG4gIEhJRERFTjogXCJoaWRkZW5cIiArIEVWRU5UX0tFWSQ4LFxuICBTSE9XOiBcInNob3dcIiArIEVWRU5UX0tFWSQ4LFxuICBTSE9XTjogXCJzaG93blwiICsgRVZFTlRfS0VZJDgsXG4gIElOU0VSVEVEOiBcImluc2VydGVkXCIgKyBFVkVOVF9LRVkkOCxcbiAgQ0xJQ0s6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ4LFxuICBGT0NVU0lOOiBcImZvY3VzaW5cIiArIEVWRU5UX0tFWSQ4LFxuICBGT0NVU09VVDogXCJmb2N1c291dFwiICsgRVZFTlRfS0VZJDgsXG4gIE1PVVNFRU5URVI6IFwibW91c2VlbnRlclwiICsgRVZFTlRfS0VZJDgsXG4gIE1PVVNFTEVBVkU6IFwibW91c2VsZWF2ZVwiICsgRVZFTlRfS0VZJDhcbn07XG52YXIgQ0xBU1NfTkFNRV9GQURFJDEgPSAnZmFkZSc7XG52YXIgQ0xBU1NfTkFNRV9NT0RBTCA9ICdtb2RhbCc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XJDQgPSAnc2hvdyc7XG52YXIgSE9WRVJfU1RBVEVfU0hPVyA9ICdzaG93JztcbnZhciBIT1ZFUl9TVEFURV9PVVQgPSAnb3V0JztcbnZhciBTRUxFQ1RPUl9UT09MVElQX0lOTkVSID0gJy50b29sdGlwLWlubmVyJztcbnZhciBUUklHR0VSX0hPVkVSID0gJ2hvdmVyJztcbnZhciBUUklHR0VSX0ZPQ1VTID0gJ2ZvY3VzJztcbnZhciBUUklHR0VSX0NMSUNLID0gJ2NsaWNrJztcbnZhciBUUklHR0VSX01BTlVBTCA9ICdtYW51YWwnO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBUb29sdGlwID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gVG9vbHRpcChlbGVtZW50LCBjb25maWcpIHtcbiAgICBpZiAodHlwZW9mIGNyZWF0ZVBvcHBlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0NvcmVVSVxcJ3MgdG9vbHRpcHMgcmVxdWlyZSBQb3BwZXIuanMgKGh0dHBzOi8vcG9wcGVyLmpzLm9yZyknKTtcbiAgICB9IC8vIHByaXZhdGVcblxuXG4gICAgdGhpcy5faXNFbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLl90aW1lb3V0ID0gMDtcbiAgICB0aGlzLl9ob3ZlclN0YXRlID0gJyc7XG4gICAgdGhpcy5fYWN0aXZlVHJpZ2dlciA9IHt9O1xuICAgIHRoaXMuX3BvcHBlciA9IG51bGw7IC8vIFByb3RlY3RlZFxuXG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMudGlwID0gbnVsbDtcblxuICAgIHRoaXMuX3NldExpc3RlbmVycygpO1xuXG4gICAgRGF0YS5zZXREYXRhKGVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksIHRoaXMpO1xuICB9IC8vIEdldHRlcnNcblxuXG4gIHZhciBfcHJvdG8gPSBUb29sdGlwLnByb3RvdHlwZTtcblxuICAvLyBQdWJsaWNcbiAgX3Byb3RvLmVuYWJsZSA9IGZ1bmN0aW9uIGVuYWJsZSgpIHtcbiAgICB0aGlzLl9pc0VuYWJsZWQgPSB0cnVlO1xuICB9O1xuXG4gIF9wcm90by5kaXNhYmxlID0gZnVuY3Rpb24gZGlzYWJsZSgpIHtcbiAgICB0aGlzLl9pc0VuYWJsZWQgPSBmYWxzZTtcbiAgfTtcblxuICBfcHJvdG8udG9nZ2xlRW5hYmxlZCA9IGZ1bmN0aW9uIHRvZ2dsZUVuYWJsZWQoKSB7XG4gICAgdGhpcy5faXNFbmFibGVkID0gIXRoaXMuX2lzRW5hYmxlZDtcbiAgfTtcblxuICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKGV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHZhciBkYXRhS2V5ID0gdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTtcbiAgICAgIHZhciBjb250ZXh0ID0gRGF0YS5nZXREYXRhKGV2ZW50LmRlbGVnYXRlVGFyZ2V0LCBkYXRhS2V5KTtcblxuICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIGNvbnRleHQgPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcihldmVudC5kZWxlZ2F0ZVRhcmdldCwgdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSk7XG4gICAgICAgIERhdGEuc2V0RGF0YShldmVudC5kZWxlZ2F0ZVRhcmdldCwgZGF0YUtleSwgY29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQuX2FjdGl2ZVRyaWdnZXIuY2xpY2sgPSAhY29udGV4dC5fYWN0aXZlVHJpZ2dlci5jbGljaztcblxuICAgICAgaWYgKGNvbnRleHQuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSkge1xuICAgICAgICBjb250ZXh0Ll9lbnRlcihudWxsLCBjb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRleHQuX2xlYXZlKG51bGwsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQ0KSkge1xuICAgICAgICB0aGlzLl9sZWF2ZShudWxsLCB0aGlzKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2VudGVyKG51bGwsIHRoaXMpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpO1xuICAgIERhdGEucmVtb3ZlRGF0YSh0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVkpO1xuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSk7XG4gICAgRXZlbnRIYW5kbGVyLm9mZih0aGlzLmVsZW1lbnQuY2xvc2VzdChcIi5cIiArIENMQVNTX05BTUVfTU9EQUwpLCAnaGlkZS5jb3JldWkubW9kYWwnLCB0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKTtcblxuICAgIGlmICh0aGlzLnRpcCkge1xuICAgICAgdGhpcy50aXAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnRpcCk7XG4gICAgfVxuXG4gICAgdGhpcy5faXNFbmFibGVkID0gbnVsbDtcbiAgICB0aGlzLl90aW1lb3V0ID0gbnVsbDtcbiAgICB0aGlzLl9ob3ZlclN0YXRlID0gbnVsbDtcbiAgICB0aGlzLl9hY3RpdmVUcmlnZ2VyID0gbnVsbDtcblxuICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgIHRoaXMuX3BvcHBlci5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcG9wcGVyID0gbnVsbDtcbiAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuY29uZmlnID0gbnVsbDtcbiAgICB0aGlzLnRpcCA9IG51bGw7XG4gIH07XG5cbiAgX3Byb3RvLnNob3cgPSBmdW5jdGlvbiBzaG93KCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LnN0eWxlLmRpc3BsYXkgPT09ICdub25lJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgdXNlIHNob3cgb24gdmlzaWJsZSBlbGVtZW50cycpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzV2l0aENvbnRlbnQoKSAmJiB0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgIHZhciBzaG93RXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuU0hPVyk7XG4gICAgICB2YXIgc2hhZG93Um9vdCA9IGZpbmRTaGFkb3dSb290KHRoaXMuZWxlbWVudCk7XG4gICAgICB2YXIgaXNJblRoZURvbSA9IHNoYWRvd1Jvb3QgPT09IG51bGwgPyB0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnModGhpcy5lbGVtZW50KSA6IHNoYWRvd1Jvb3QuY29udGFpbnModGhpcy5lbGVtZW50KTtcblxuICAgICAgaWYgKHNob3dFdmVudC5kZWZhdWx0UHJldmVudGVkIHx8ICFpc0luVGhlRG9tKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIHRpcCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpO1xuICAgICAgdmFyIHRpcElkID0gZ2V0VUlEKHRoaXMuY29uc3RydWN0b3IuTkFNRSk7XG4gICAgICB0aXAuc2V0QXR0cmlidXRlKCdpZCcsIHRpcElkKTtcbiAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCB0aXBJZCk7XG4gICAgICB0aGlzLnNldENvbnRlbnQoKTtcblxuICAgICAgaWYgKHRoaXMuY29uZmlnLmFuaW1hdGlvbikge1xuICAgICAgICB0aXAuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0ZBREUkMSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBwbGFjZW1lbnQgPSB0eXBlb2YgdGhpcy5jb25maWcucGxhY2VtZW50ID09PSAnZnVuY3Rpb24nID8gdGhpcy5jb25maWcucGxhY2VtZW50LmNhbGwodGhpcywgdGlwLCB0aGlzLmVsZW1lbnQpIDogdGhpcy5jb25maWcucGxhY2VtZW50O1xuXG4gICAgICB2YXIgYXR0YWNobWVudCA9IHRoaXMuX2dldEF0dGFjaG1lbnQocGxhY2VtZW50KTsgLy8gdGhpcy5fYWRkQXR0YWNobWVudENsYXNzKGF0dGFjaG1lbnQpXG5cblxuICAgICAgdmFyIGNvbnRhaW5lciA9IHRoaXMuX2dldENvbnRhaW5lcigpO1xuXG4gICAgICBEYXRhLnNldERhdGEodGlwLCB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLCB0aGlzKTtcblxuICAgICAgaWYgKCF0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnModGhpcy50aXApKSB7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aXApO1xuICAgICAgfVxuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSU5TRVJURUQpO1xuICAgICAgdGhpcy5fcG9wcGVyID0gY3JlYXRlUG9wcGVyKHRoaXMuZWxlbWVudCwgdGlwLCB0aGlzLl9nZXRQb3BwZXJDb25maWcoYXR0YWNobWVudCkpO1xuICAgICAgdGlwLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDQpOyAvLyBJZiB0aGlzIGlzIGEgdG91Y2gtZW5hYmxlZCBkZXZpY2Ugd2UgYWRkIGV4dHJhXG4gICAgICAvLyBlbXB0eSBtb3VzZW92ZXIgbGlzdGVuZXJzIHRvIHRoZSBib2R5J3MgaW1tZWRpYXRlIGNoaWxkcmVuO1xuICAgICAgLy8gb25seSBuZWVkZWQgYmVjYXVzZSBvZiBicm9rZW4gZXZlbnQgZGVsZWdhdGlvbiBvbiBpT1NcbiAgICAgIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxNC8wMi9tb3VzZV9ldmVudF9idWIuaHRtbFxuXG4gICAgICBpZiAoJ29udG91Y2hzdGFydCcgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICAgIHZhciBfcmVmO1xuXG4gICAgICAgIChfcmVmID0gW10pLmNvbmNhdC5hcHBseShfcmVmLCBkb2N1bWVudC5ib2R5LmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAgICAgRXZlbnRIYW5kbGVyLm9uKGVsZW1lbnQsICdtb3VzZW92ZXInLCBub29wKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICAgIGlmIChfdGhpcy5jb25maWcuYW5pbWF0aW9uKSB7XG4gICAgICAgICAgX3RoaXMuX2ZpeFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBwcmV2SG92ZXJTdGF0ZSA9IF90aGlzLl9ob3ZlclN0YXRlO1xuICAgICAgICBfdGhpcy5faG92ZXJTdGF0ZSA9IG51bGw7XG4gICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzLmVsZW1lbnQsIF90aGlzLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1dOKTtcblxuICAgICAgICBpZiAocHJldkhvdmVyU3RhdGUgPT09IEhPVkVSX1NUQVRFX09VVCkge1xuICAgICAgICAgIF90aGlzLl9sZWF2ZShudWxsLCBfdGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLnRpcC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFJDEpKSB7XG4gICAgICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSBnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLnRpcCk7XG4gICAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy50aXAsIFRSQU5TSVRJT05fRU5ELCBjb21wbGV0ZSk7XG4gICAgICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMudGlwLCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLmhpZGUgPSBmdW5jdGlvbiBoaWRlKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdmFyIHRpcCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpO1xuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBpZiAoX3RoaXMyLl9ob3ZlclN0YXRlICE9PSBIT1ZFUl9TVEFURV9TSE9XICYmIHRpcC5wYXJlbnROb2RlKSB7XG4gICAgICAgIHRpcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRpcCk7XG4gICAgICB9XG5cbiAgICAgIF90aGlzMi5fY2xlYW5UaXBDbGFzcygpO1xuXG4gICAgICBfdGhpczIuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcblxuICAgICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIoX3RoaXMyLmVsZW1lbnQsIF90aGlzMi5jb25zdHJ1Y3Rvci5FdmVudC5ISURERU4pO1xuXG4gICAgICBfdGhpczIuX3BvcHBlci5kZXN0cm95KCk7XG4gICAgfTtcblxuICAgIHZhciBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLmVsZW1lbnQsIHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSElERSk7XG5cbiAgICBpZiAoaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aXAuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1ckNCk7IC8vIElmIHRoaXMgaXMgYSB0b3VjaC1lbmFibGVkIGRldmljZSB3ZSByZW1vdmUgdGhlIGV4dHJhXG4gICAgLy8gZW1wdHkgbW91c2VvdmVyIGxpc3RlbmVycyB3ZSBhZGRlZCBmb3IgaU9TIHN1cHBvcnRcblxuICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIHZhciBfcmVmMjtcblxuICAgICAgKF9yZWYyID0gW10pLmNvbmNhdC5hcHBseShfcmVmMiwgZG9jdW1lbnQuYm9keS5jaGlsZHJlbikuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gRXZlbnRIYW5kbGVyLm9mZihlbGVtZW50LCAnbW91c2VvdmVyJywgbm9vcCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl9hY3RpdmVUcmlnZ2VyW1RSSUdHRVJfQ0xJQ0tdID0gZmFsc2U7XG4gICAgdGhpcy5fYWN0aXZlVHJpZ2dlcltUUklHR0VSX0ZPQ1VTXSA9IGZhbHNlO1xuICAgIHRoaXMuX2FjdGl2ZVRyaWdnZXJbVFJJR0dFUl9IT1ZFUl0gPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLnRpcC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFJDEpKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGlwKTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGlwLCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQodGlwLCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX2hvdmVyU3RhdGUgPSAnJztcbiAgfTtcblxuICBfcHJvdG8udXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKCkge1xuICAgIGlmICh0aGlzLl9wb3BwZXIgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3BvcHBlci51cGRhdGUoKTtcbiAgICB9XG4gIH0gLy8gUHJvdGVjdGVkXG4gIDtcblxuICBfcHJvdG8uaXNXaXRoQ29udGVudCA9IGZ1bmN0aW9uIGlzV2l0aENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5nZXRUaXRsZSgpKTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0VGlwRWxlbWVudCA9IGZ1bmN0aW9uIGdldFRpcEVsZW1lbnQoKSB7XG4gICAgaWYgKHRoaXMudGlwKSB7XG4gICAgICByZXR1cm4gdGhpcy50aXA7XG4gICAgfVxuXG4gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBlbGVtZW50LmlubmVySFRNTCA9IHRoaXMuY29uZmlnLnRlbXBsYXRlO1xuICAgIHRoaXMudGlwID0gZWxlbWVudC5jaGlsZHJlblswXTtcbiAgICByZXR1cm4gdGhpcy50aXA7XG4gIH07XG5cbiAgX3Byb3RvLnNldENvbnRlbnQgPSBmdW5jdGlvbiBzZXRDb250ZW50KCkge1xuICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTtcbiAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfVE9PTFRJUF9JTk5FUiwgdGlwKSwgdGhpcy5nZXRUaXRsZSgpKTtcbiAgICB0aXAuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX0ZBREUkMSwgQ0xBU1NfTkFNRV9TSE9XJDQpO1xuICB9O1xuXG4gIF9wcm90by5zZXRFbGVtZW50Q29udGVudCA9IGZ1bmN0aW9uIHNldEVsZW1lbnRDb250ZW50KGVsZW1lbnQsIGNvbnRlbnQpIHtcbiAgICBpZiAoZWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ29iamVjdCcgJiYgaXNFbGVtZW50KGNvbnRlbnQpKSB7XG4gICAgICBpZiAoY29udGVudC5qcXVlcnkpIHtcbiAgICAgICAgY29udGVudCA9IGNvbnRlbnRbMF07XG4gICAgICB9IC8vIGNvbnRlbnQgaXMgYSBET00gbm9kZSBvciBhIGpRdWVyeVxuXG5cbiAgICAgIGlmICh0aGlzLmNvbmZpZy5odG1sKSB7XG4gICAgICAgIGlmIChjb250ZW50LnBhcmVudE5vZGUgIT09IGVsZW1lbnQpIHtcbiAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSBjb250ZW50LnRleHRDb250ZW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnLmh0bWwpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5zYW5pdGl6ZSkge1xuICAgICAgICBjb250ZW50ID0gc2FuaXRpemVIdG1sKGNvbnRlbnQsIHRoaXMuY29uZmlnLndoaXRlTGlzdCwgdGhpcy5jb25maWcuc2FuaXRpemVGbik7XG4gICAgICB9XG5cbiAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC50ZXh0Q29udGVudCA9IGNvbnRlbnQ7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5nZXRUaXRsZSA9IGZ1bmN0aW9uIGdldFRpdGxlKCkge1xuICAgIHZhciB0aXRsZSA9IHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtb3JpZ2luYWwtdGl0bGUnKTtcblxuICAgIGlmICghdGl0bGUpIHtcbiAgICAgIHRpdGxlID0gdHlwZW9mIHRoaXMuY29uZmlnLnRpdGxlID09PSAnZnVuY3Rpb24nID8gdGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpIDogdGhpcy5jb25maWcudGl0bGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRpdGxlO1xuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fZ2V0UG9wcGVyQ29uZmlnID0gZnVuY3Rpb24gX2dldFBvcHBlckNvbmZpZyhhdHRhY2htZW50KSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICB2YXIgZGVmYXVsdEJzQ29uZmlnID0ge1xuICAgICAgcGxhY2VtZW50OiBhdHRhY2htZW50LFxuICAgICAgbW9kaWZpZXJzOiBbe1xuICAgICAgICBuYW1lOiAnb2Zmc2V0JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG9mZnNldDogdGhpcy5fZ2V0T2Zmc2V0KClcbiAgICAgICAgfVxuICAgICAgfSwge1xuICAgICAgICBuYW1lOiAnYXJyb3cnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZWxlbWVudDogXCIuXCIgKyB0aGlzLmNvbnN0cnVjdG9yLk5BTUUgKyBcIi1hcnJvd1wiXG4gICAgICAgIH1cbiAgICAgIH0sIHtcbiAgICAgICAgbmFtZTogJ3ByZXZlbnRPdmVyZmxvdycsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBib3VuZGFyeTogdGhpcy5jb25maWcuYm91bmRhcnlcbiAgICAgICAgfVxuICAgICAgfV0sXG4gICAgICBvbkZpcnN0VXBkYXRlOiBmdW5jdGlvbiBvbkZpcnN0VXBkYXRlKGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEub3JpZ2luYWxQbGFjZW1lbnQgIT09IGRhdGEucGxhY2VtZW50KSB7XG4gICAgICAgICAgLy8gdGhpcy5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKGRhdGEpXG4gICAgICAgICAgLy8gZml4IFBvcHBlciBwb3NpdGlvbiBpc3N1ZVxuICAgICAgICAgIC8vVE9ETzogZmluZCB3aGVyZSBpcyB0aGUgcHJvYmxlbSBvciBmaW5kIGJldHRlciBzb2x1dGlvblxuICAgICAgICAgIF90aGlzMy5fcG9wcGVyLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIGRlZmF1bHRCc0NvbmZpZyksIHRoaXMuY29uZmlnLnBvcHBlckNvbmZpZyk7XG4gIH0gLy8gX2FkZEF0dGFjaG1lbnRDbGFzcyhhdHRhY2htZW50KSB7XG4gIC8vICAgdGhpcy5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmFkZChgJHtDTEFTU19QUkVGSVh9LSR7YXR0YWNobWVudH1gKVxuICAvLyB9XG4gIC8vIF9nZXRPZmZzZXQoKSB7XG4gIC8vICAgY29uc3Qgb2Zmc2V0ID0ge31cbiAgLy8gICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLm9mZnNldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAvLyAgICAgb2Zmc2V0LmZuID0gZGF0YSA9PiB7XG4gIC8vICAgICAgIGRhdGEub2Zmc2V0cyA9IHtcbiAgLy8gICAgICAgICAuLi5kYXRhLm9mZnNldHMsXG4gIC8vICAgICAgICAgLi4udGhpcy5jb25maWcub2Zmc2V0KGRhdGEub2Zmc2V0cywgdGhpcy5lbGVtZW50KSB8fCB7fVxuICAvLyAgICAgICB9XG4gIC8vICAgICAgIHJldHVybiBkYXRhXG4gIC8vICAgICB9XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIG9mZnNldC5vZmZzZXQgPSB0aGlzLmNvbmZpZy5vZmZzZXRcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIG9mZnNldFxuICAvLyB9XG4gIDtcblxuICBfcHJvdG8uX2dldE9mZnNldCA9IGZ1bmN0aW9uIF9nZXRPZmZzZXQoKSB7XG4gICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICB2YXIgb2Zmc2V0ID0gW107XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLm9mZnNldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb2Zmc2V0ID0gZnVuY3Rpb24gb2Zmc2V0KF9yZWYzKSB7XG4gICAgICAgIHZhciBwbGFjZW1lbnQgPSBfcmVmMy5wbGFjZW1lbnQsXG4gICAgICAgICAgICByZWZlcmVuY2UgPSBfcmVmMy5yZWZlcmVuY2UsXG4gICAgICAgICAgICBwb3BwZXIgPSBfcmVmMy5wb3BwZXI7XG4gICAgICAgIHJldHVybiBfdGhpczQuY29uZmlnLm9mZnNldCh7XG4gICAgICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICAgICAgcmVmZXJlbmNlOiByZWZlcmVuY2UsXG4gICAgICAgICAgcG9wcGVyOiBwb3BwZXJcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBvZmZzZXQgPSB0aGlzLmNvbmZpZy5vZmZzZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfTtcblxuICBfcHJvdG8uX2dldENvbnRhaW5lciA9IGZ1bmN0aW9uIF9nZXRDb250YWluZXIoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmNvbnRhaW5lciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBkb2N1bWVudC5ib2R5O1xuICAgIH1cblxuICAgIGlmIChpc0VsZW1lbnQodGhpcy5jb25maWcuY29udGFpbmVyKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICByZXR1cm4gU2VsZWN0b3JFbmdpbmUuZmluZE9uZSh0aGlzLmNvbmZpZy5jb250YWluZXIpO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0QXR0YWNobWVudCA9IGZ1bmN0aW9uIF9nZXRBdHRhY2htZW50KHBsYWNlbWVudCkge1xuICAgIHJldHVybiBBdHRhY2htZW50TWFwW3BsYWNlbWVudC50b1VwcGVyQ2FzZSgpXTtcbiAgfTtcblxuICBfcHJvdG8uX3NldExpc3RlbmVycyA9IGZ1bmN0aW9uIF9zZXRMaXN0ZW5lcnMoKSB7XG4gICAgdmFyIF90aGlzNSA9IHRoaXM7XG5cbiAgICB2YXIgdHJpZ2dlcnMgPSB0aGlzLmNvbmZpZy50cmlnZ2VyLnNwbGl0KCcgJyk7XG4gICAgdHJpZ2dlcnMuZm9yRWFjaChmdW5jdGlvbiAodHJpZ2dlcikge1xuICAgICAgaWYgKHRyaWdnZXIgPT09ICdjbGljaycpIHtcbiAgICAgICAgRXZlbnRIYW5kbGVyLm9uKF90aGlzNS5lbGVtZW50LCBfdGhpczUuY29uc3RydWN0b3IuRXZlbnQuQ0xJQ0ssIF90aGlzNS5jb25maWcuc2VsZWN0b3IsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczUudG9nZ2xlKGV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHRyaWdnZXIgIT09IFRSSUdHRVJfTUFOVUFMKSB7XG4gICAgICAgIHZhciBldmVudEluID0gdHJpZ2dlciA9PT0gVFJJR0dFUl9IT1ZFUiA/IF90aGlzNS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUVOVEVSIDogX3RoaXM1LmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTSU47XG4gICAgICAgIHZhciBldmVudE91dCA9IHRyaWdnZXIgPT09IFRSSUdHRVJfSE9WRVIgPyBfdGhpczUuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VMRUFWRSA6IF90aGlzNS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU09VVDtcbiAgICAgICAgRXZlbnRIYW5kbGVyLm9uKF90aGlzNS5lbGVtZW50LCBldmVudEluLCBfdGhpczUuY29uZmlnLnNlbGVjdG9yLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXM1Ll9lbnRlcihldmVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICBFdmVudEhhbmRsZXIub24oX3RoaXM1LmVsZW1lbnQsIGV2ZW50T3V0LCBfdGhpczUuY29uZmlnLnNlbGVjdG9yLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXM1Ll9sZWF2ZShldmVudCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5faGlkZU1vZGFsSGFuZGxlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChfdGhpczUuZWxlbWVudCkge1xuICAgICAgICBfdGhpczUuaGlkZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5lbGVtZW50LmNsb3Nlc3QoXCIuXCIgKyBDTEFTU19OQU1FX01PREFMKSwgJ2hpZGUuY29yZXVpLm1vZGFsJywgdGhpcy5faGlkZU1vZGFsSGFuZGxlcik7XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0b3IpIHtcbiAgICAgIHRoaXMuY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHRoaXMuY29uZmlnKSwge30sIHtcbiAgICAgICAgdHJpZ2dlcjogJ21hbnVhbCcsXG4gICAgICAgIHNlbGVjdG9yOiAnJ1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZpeFRpdGxlKCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fZml4VGl0bGUgPSBmdW5jdGlvbiBfZml4VGl0bGUoKSB7XG4gICAgdmFyIHRpdGxlVHlwZSA9IHR5cGVvZiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLW9yaWdpbmFsLXRpdGxlJyk7XG5cbiAgICBpZiAodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgndGl0bGUnKSB8fCB0aXRsZVR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLW9yaWdpbmFsLXRpdGxlJywgdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgndGl0bGUnKSB8fCAnJyk7XG4gICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCd0aXRsZScsICcnKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9lbnRlciA9IGZ1bmN0aW9uIF9lbnRlcihldmVudCwgY29udGV4dCkge1xuICAgIHZhciBkYXRhS2V5ID0gdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTtcbiAgICBjb250ZXh0ID0gY29udGV4dCB8fCBEYXRhLmdldERhdGEoZXZlbnQuZGVsZWdhdGVUYXJnZXQsIGRhdGFLZXkpO1xuXG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICBjb250ZXh0ID0gbmV3IHRoaXMuY29uc3RydWN0b3IoZXZlbnQuZGVsZWdhdGVUYXJnZXQsIHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpO1xuICAgICAgRGF0YS5zZXREYXRhKGV2ZW50LmRlbGVnYXRlVGFyZ2V0LCBkYXRhS2V5LCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGNvbnRleHQuX2FjdGl2ZVRyaWdnZXJbZXZlbnQudHlwZSA9PT0gJ2ZvY3VzaW4nID8gVFJJR0dFUl9GT0NVUyA6IFRSSUdHRVJfSE9WRVJdID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dC5nZXRUaXBFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQ0KSB8fCBjb250ZXh0Ll9ob3ZlclN0YXRlID09PSBIT1ZFUl9TVEFURV9TSE9XKSB7XG4gICAgICBjb250ZXh0Ll9ob3ZlclN0YXRlID0gSE9WRVJfU1RBVEVfU0hPVztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjbGVhclRpbWVvdXQoY29udGV4dC5fdGltZW91dCk7XG4gICAgY29udGV4dC5faG92ZXJTdGF0ZSA9IEhPVkVSX1NUQVRFX1NIT1c7XG5cbiAgICBpZiAoIWNvbnRleHQuY29uZmlnLmRlbGF5IHx8ICFjb250ZXh0LmNvbmZpZy5kZWxheS5zaG93KSB7XG4gICAgICBjb250ZXh0LnNob3coKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb250ZXh0Ll90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoY29udGV4dC5faG92ZXJTdGF0ZSA9PT0gSE9WRVJfU1RBVEVfU0hPVykge1xuICAgICAgICBjb250ZXh0LnNob3coKTtcbiAgICAgIH1cbiAgICB9LCBjb250ZXh0LmNvbmZpZy5kZWxheS5zaG93KTtcbiAgfTtcblxuICBfcHJvdG8uX2xlYXZlID0gZnVuY3Rpb24gX2xlYXZlKGV2ZW50LCBjb250ZXh0KSB7XG4gICAgdmFyIGRhdGFLZXkgPSB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZO1xuICAgIGNvbnRleHQgPSBjb250ZXh0IHx8IERhdGEuZ2V0RGF0YShldmVudC5kZWxlZ2F0ZVRhcmdldCwgZGF0YUtleSk7XG5cbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgIGNvbnRleHQgPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcihldmVudC5kZWxlZ2F0ZVRhcmdldCwgdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSk7XG4gICAgICBEYXRhLnNldERhdGEoZXZlbnQuZGVsZWdhdGVUYXJnZXQsIGRhdGFLZXksIGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChldmVudCkge1xuICAgICAgY29udGV4dC5fYWN0aXZlVHJpZ2dlcltldmVudC50eXBlID09PSAnZm9jdXNvdXQnID8gVFJJR0dFUl9GT0NVUyA6IFRSSUdHRVJfSE9WRVJdID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRleHQuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNsZWFyVGltZW91dChjb250ZXh0Ll90aW1lb3V0KTtcbiAgICBjb250ZXh0Ll9ob3ZlclN0YXRlID0gSE9WRVJfU1RBVEVfT1VUO1xuXG4gICAgaWYgKCFjb250ZXh0LmNvbmZpZy5kZWxheSB8fCAhY29udGV4dC5jb25maWcuZGVsYXkuaGlkZSkge1xuICAgICAgY29udGV4dC5oaWRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udGV4dC5fdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKGNvbnRleHQuX2hvdmVyU3RhdGUgPT09IEhPVkVSX1NUQVRFX09VVCkge1xuICAgICAgICBjb250ZXh0LmhpZGUoKTtcbiAgICAgIH1cbiAgICB9LCBjb250ZXh0LmNvbmZpZy5kZWxheS5oaWRlKTtcbiAgfTtcblxuICBfcHJvdG8uX2lzV2l0aEFjdGl2ZVRyaWdnZXIgPSBmdW5jdGlvbiBfaXNXaXRoQWN0aXZlVHJpZ2dlcigpIHtcbiAgICBmb3IgKHZhciB0cmlnZ2VyIGluIHRoaXMuX2FjdGl2ZVRyaWdnZXIpIHtcbiAgICAgIGlmICh0aGlzLl9hY3RpdmVUcmlnZ2VyW3RyaWdnZXJdKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgdmFyIGRhdGFBdHRyaWJ1dGVzID0gTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5lbGVtZW50KTtcbiAgICBPYmplY3Qua2V5cyhkYXRhQXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoZGF0YUF0dHIpIHtcbiAgICAgIGlmIChESVNBTExPV0VEX0FUVFJJQlVURVMuaW5kZXhPZihkYXRhQXR0cikgIT09IC0xKSB7XG4gICAgICAgIGRlbGV0ZSBkYXRhQXR0cmlidXRlc1tkYXRhQXR0cl07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoY29uZmlnICYmIHR5cGVvZiBjb25maWcuY29udGFpbmVyID09PSAnb2JqZWN0JyAmJiBjb25maWcuY29udGFpbmVyLmpxdWVyeSkge1xuICAgICAgY29uZmlnLmNvbnRhaW5lciA9IGNvbmZpZy5jb250YWluZXJbMF07XG4gICAgfVxuXG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCksIGRhdGFBdHRyaWJ1dGVzKSwgdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pO1xuXG4gICAgaWYgKHR5cGVvZiBjb25maWcuZGVsYXkgPT09ICdudW1iZXInKSB7XG4gICAgICBjb25maWcuZGVsYXkgPSB7XG4gICAgICAgIHNob3c6IGNvbmZpZy5kZWxheSxcbiAgICAgICAgaGlkZTogY29uZmlnLmRlbGF5XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29uZmlnLnRpdGxlID09PSAnbnVtYmVyJykge1xuICAgICAgY29uZmlnLnRpdGxlID0gY29uZmlnLnRpdGxlLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjb25maWcuY29udGVudCA9PT0gJ251bWJlcicpIHtcbiAgICAgIGNvbmZpZy5jb250ZW50ID0gY29uZmlnLmNvbnRlbnQudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICB0eXBlQ2hlY2tDb25maWcoTkFNRSQ4LCBjb25maWcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpO1xuXG4gICAgaWYgKGNvbmZpZy5zYW5pdGl6ZSkge1xuICAgICAgY29uZmlnLnRlbXBsYXRlID0gc2FuaXRpemVIdG1sKGNvbmZpZy50ZW1wbGF0ZSwgY29uZmlnLndoaXRlTGlzdCwgY29uZmlnLnNhbml0aXplRm4pO1xuICAgIH1cblxuICAgIHJldHVybiBjb25maWc7XG4gIH07XG5cbiAgX3Byb3RvLl9nZXREZWxlZ2F0ZUNvbmZpZyA9IGZ1bmN0aW9uIF9nZXREZWxlZ2F0ZUNvbmZpZygpIHtcbiAgICB2YXIgY29uZmlnID0ge307XG5cbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIGZvciAodmFyIGtleSBpbiB0aGlzLmNvbmZpZykge1xuICAgICAgICBpZiAodGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0W2tleV0gIT09IHRoaXMuY29uZmlnW2tleV0pIHtcbiAgICAgICAgICBjb25maWdba2V5XSA9IHRoaXMuY29uZmlnW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xuXG4gIF9wcm90by5fY2xlYW5UaXBDbGFzcyA9IGZ1bmN0aW9uIF9jbGVhblRpcENsYXNzKCkge1xuICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTtcbiAgICB2YXIgdGFiQ2xhc3MgPSB0aXAuZ2V0QXR0cmlidXRlKCdjbGFzcycpLm1hdGNoKEJTQ0xTX1BSRUZJWF9SRUdFWCk7XG5cbiAgICBpZiAodGFiQ2xhc3MgIT09IG51bGwgJiYgdGFiQ2xhc3MubGVuZ3RoID4gMCkge1xuICAgICAgdGFiQ2xhc3MubWFwKGZ1bmN0aW9uICh0b2tlbikge1xuICAgICAgICByZXR1cm4gdG9rZW4udHJpbSgpO1xuICAgICAgfSkuZm9yRWFjaChmdW5jdGlvbiAodENsYXNzKSB7XG4gICAgICAgIHJldHVybiB0aXAuY2xhc3NMaXN0LnJlbW92ZSh0Q2xhc3MpO1xuICAgICAgfSk7XG4gICAgfVxuICB9IC8vIF9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UocG9wcGVyRGF0YSkge1xuICAvLyAgIGNvbnNvbGUubG9nKHBvcHBlckRhdGEpXG4gIC8vICAgY29uc3QgcG9wcGVySW5zdGFuY2UgPSBwb3BwZXJEYXRhLmVsZW1lbnRzLnBvcHBlclxuICAvLyAgIHRoaXMudGlwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocG9wcGVySW5zdGFuY2UuZ2V0QXR0cmlidXRlKCdpZCcpKVxuICAvLyAgIGNvbnNvbGUubG9nKHRoaXMudGlwKVxuICAvLyAgIHRoaXMuX2NsZWFuVGlwQ2xhc3MoKVxuICAvLyAgIHRoaXMuX2FkZEF0dGFjaG1lbnRDbGFzcyh0aGlzLl9nZXRBdHRhY2htZW50KHBvcHBlckRhdGEucGxhY2VtZW50KSlcbiAgLy8gfVxuICA7XG5cbiAgX3Byb3RvLl9maXhUcmFuc2l0aW9uID0gZnVuY3Rpb24gX2ZpeFRyYW5zaXRpb24oKSB7XG4gICAgdmFyIHRpcCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpO1xuICAgIHZhciBpbml0Q29uZmlnQW5pbWF0aW9uID0gdGhpcy5jb25maWcuYW5pbWF0aW9uO1xuXG4gICAgaWYgKHRpcC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcG9wcGVyLXBsYWNlbWVudCcpICE9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGlwLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9GQURFJDEpO1xuICAgIHRoaXMuY29uZmlnLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIHRoaXMuaGlkZSgpO1xuICAgIHRoaXMuc2hvdygpO1xuICAgIHRoaXMuY29uZmlnLmFuaW1hdGlvbiA9IGluaXRDb25maWdBbmltYXRpb247XG4gIH0gLy8gU3RhdGljXG4gIDtcblxuICBUb29sdGlwLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJDgpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgICAgaWYgKCFkYXRhICYmIC9kaXNwb3NlfGhpZGUvLnRlc3QoY29uZmlnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZGF0YSkge1xuICAgICAgICBkYXRhID0gbmV3IFRvb2x0aXAodGhpcywgX2NvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIFRvb2x0aXAuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRJbnN0YW5jZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSQ4KTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoVG9vbHRpcCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kODtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHQkNjtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiTkFNRVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIE5BTUUkODtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiREFUQV9LRVlcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEQVRBX0tFWSQ4O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJFdmVudFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIEV2ZW50JDE7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkVWRU5UX0tFWVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIEVWRU5UX0tFWSQ4O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDU7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFRvb2x0aXA7XG59KCk7XG5cbnZhciAkJDkgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC50b29sdGlwIHRvIGpRdWVyeSBvbmx5IGlmIGpRdWVyeSBpcyBwcmVzZW50XG4gKi9cblxuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5cbmlmICgkJDkpIHtcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCQ4ID0gJCQ5LmZuW05BTUUkOF07XG4gICQkOS5mbltOQU1FJDhdID0gVG9vbHRpcC5qUXVlcnlJbnRlcmZhY2U7XG4gICQkOS5mbltOQU1FJDhdLkNvbnN0cnVjdG9yID0gVG9vbHRpcDtcblxuICAkJDkuZm5bTkFNRSQ4XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkOS5mbltOQU1FJDhdID0gSlFVRVJZX05PX0NPTkZMSUNUJDg7XG4gICAgcmV0dXJuIFRvb2x0aXAualF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTkFNRSQ5ID0gJ3BvcG92ZXInO1xudmFyIFZFUlNJT04kOSA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkOSA9ICdjb3JldWkucG9wb3Zlcic7XG52YXIgRVZFTlRfS0VZJDkgPSBcIi5cIiArIERBVEFfS0VZJDk7XG52YXIgQ0xBU1NfUFJFRklYJDEgPSAnYnMtcG9wb3Zlcic7XG52YXIgQlNDTFNfUFJFRklYX1JFR0VYJDEgPSBuZXcgUmVnRXhwKFwiKF58XFxcXHMpXCIgKyBDTEFTU19QUkVGSVgkMSArIFwiXFxcXFMrXCIsICdnJyk7XG5cbnZhciBEZWZhdWx0JDcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgVG9vbHRpcC5EZWZhdWx0KSwge30sIHtcbiAgcGxhY2VtZW50OiAncmlnaHQnLFxuICB0cmlnZ2VyOiAnY2xpY2snLFxuICBjb250ZW50OiAnJyxcbiAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPVwicG9wb3ZlclwiIHJvbGU9XCJ0b29sdGlwXCI+JyArICc8ZGl2IGNsYXNzPVwicG9wb3Zlci1hcnJvd1wiPjwvZGl2PicgKyAnPGgzIGNsYXNzPVwicG9wb3Zlci1oZWFkZXJcIj48L2gzPicgKyAnPGRpdiBjbGFzcz1cInBvcG92ZXItYm9keVwiPjwvZGl2PjwvZGl2Pidcbn0pO1xuXG52YXIgRGVmYXVsdFR5cGUkNiA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBUb29sdGlwLkRlZmF1bHRUeXBlKSwge30sIHtcbiAgY29udGVudDogJyhzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbiknXG59KTtcblxudmFyIEV2ZW50JDIgPSB7XG4gIEhJREU6IFwiaGlkZVwiICsgRVZFTlRfS0VZJDksXG4gIEhJRERFTjogXCJoaWRkZW5cIiArIEVWRU5UX0tFWSQ5LFxuICBTSE9XOiBcInNob3dcIiArIEVWRU5UX0tFWSQ5LFxuICBTSE9XTjogXCJzaG93blwiICsgRVZFTlRfS0VZJDksXG4gIElOU0VSVEVEOiBcImluc2VydGVkXCIgKyBFVkVOVF9LRVkkOSxcbiAgQ0xJQ0s6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ5LFxuICBGT0NVU0lOOiBcImZvY3VzaW5cIiArIEVWRU5UX0tFWSQ5LFxuICBGT0NVU09VVDogXCJmb2N1c291dFwiICsgRVZFTlRfS0VZJDksXG4gIE1PVVNFRU5URVI6IFwibW91c2VlbnRlclwiICsgRVZFTlRfS0VZJDksXG4gIE1PVVNFTEVBVkU6IFwibW91c2VsZWF2ZVwiICsgRVZFTlRfS0VZJDlcbn07XG52YXIgQ0xBU1NfTkFNRV9GQURFJDIgPSAnZmFkZSc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XJDUgPSAnc2hvdyc7XG52YXIgU0VMRUNUT1JfVElUTEUgPSAnLnBvcG92ZXItaGVhZGVyJztcbnZhciBTRUxFQ1RPUl9DT05URU5UID0gJy5wb3BvdmVyLWJvZHknO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBQb3BvdmVyID0gLyojX19QVVJFX18qL2Z1bmN0aW9uIChfVG9vbHRpcCkge1xuICBfaW5oZXJpdHNMb29zZShQb3BvdmVyLCBfVG9vbHRpcCk7XG5cbiAgZnVuY3Rpb24gUG9wb3ZlcigpIHtcbiAgICByZXR1cm4gX1Rvb2x0aXAuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IFBvcG92ZXIucHJvdG90eXBlO1xuXG4gIC8vIE92ZXJyaWRlc1xuICBfcHJvdG8uaXNXaXRoQ29udGVudCA9IGZ1bmN0aW9uIGlzV2l0aENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGl0bGUoKSB8fCB0aGlzLl9nZXRDb250ZW50KCk7XG4gIH07XG5cbiAgX3Byb3RvLnNldENvbnRlbnQgPSBmdW5jdGlvbiBzZXRDb250ZW50KCkge1xuICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTsgLy8gd2UgdXNlIGFwcGVuZCBmb3IgaHRtbCBvYmplY3RzIHRvIG1haW50YWluIGpzIGV2ZW50c1xuXG4gICAgdGhpcy5zZXRFbGVtZW50Q29udGVudChTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX1RJVExFLCB0aXApLCB0aGlzLmdldFRpdGxlKCkpO1xuXG4gICAgdmFyIGNvbnRlbnQgPSB0aGlzLl9nZXRDb250ZW50KCk7XG5cbiAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnRlbnQgPSBjb250ZW50LmNhbGwodGhpcy5lbGVtZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfQ09OVEVOVCwgdGlwKSwgY29udGVudCk7XG4gICAgdGlwLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9GQURFJDIsIENMQVNTX05BTUVfU0hPVyQ1KTtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2FkZEF0dGFjaG1lbnRDbGFzcyA9IGZ1bmN0aW9uIF9hZGRBdHRhY2htZW50Q2xhc3MoYXR0YWNobWVudCkge1xuICAgIHRoaXMuZ2V0VGlwRWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoQ0xBU1NfUFJFRklYJDEgKyBcIi1cIiArIGF0dGFjaG1lbnQpO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0Q29udGVudCA9IGZ1bmN0aW9uIF9nZXRDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWNvbnRlbnQnKSB8fCB0aGlzLmNvbmZpZy5jb250ZW50O1xuICB9O1xuXG4gIF9wcm90by5fY2xlYW5UaXBDbGFzcyA9IGZ1bmN0aW9uIF9jbGVhblRpcENsYXNzKCkge1xuICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTtcbiAgICB2YXIgdGFiQ2xhc3MgPSB0aXAuZ2V0QXR0cmlidXRlKCdjbGFzcycpLm1hdGNoKEJTQ0xTX1BSRUZJWF9SRUdFWCQxKTtcblxuICAgIGlmICh0YWJDbGFzcyAhPT0gbnVsbCAmJiB0YWJDbGFzcy5sZW5ndGggPiAwKSB7XG4gICAgICB0YWJDbGFzcy5tYXAoZnVuY3Rpb24gKHRva2VuKSB7XG4gICAgICAgIHJldHVybiB0b2tlbi50cmltKCk7XG4gICAgICB9KS5mb3JFYWNoKGZ1bmN0aW9uICh0Q2xhc3MpIHtcbiAgICAgICAgcmV0dXJuIHRpcC5jbGFzc0xpc3QucmVtb3ZlKHRDbGFzcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0gLy8gU3RhdGljXG4gIDtcblxuICBQb3BvdmVyLmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJDkpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnID8gY29uZmlnIDogbnVsbDtcblxuICAgICAgaWYgKCFkYXRhICYmIC9kaXNwb3NlfGhpZGUvLnRlc3QoY29uZmlnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghZGF0YSkge1xuICAgICAgICBkYXRhID0gbmV3IFBvcG92ZXIodGhpcywgX2NvbmZpZyk7XG4gICAgICAgIERhdGEuc2V0RGF0YSh0aGlzLCBEQVRBX0tFWSQ5LCBkYXRhKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YVtjb25maWddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGF0YVtjb25maWddKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgUG9wb3Zlci5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJDkpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhQb3BvdmVyLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgLy8gR2V0dGVyc1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kOTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHQkNztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiTkFNRVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIE5BTUUkOTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiREFUQV9LRVlcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEQVRBX0tFWSQ5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJFdmVudFwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIEV2ZW50JDI7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcIkVWRU5UX0tFWVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIEVWRU5UX0tFWSQ5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDY7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFBvcG92ZXI7XG59KFRvb2x0aXApO1xuXG52YXIgJCRhID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkYSkge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJDkgPSAkJGEuZm5bTkFNRSQ5XTtcbiAgJCRhLmZuW05BTUUkOV0gPSBQb3BvdmVyLmpRdWVyeUludGVyZmFjZTtcbiAgJCRhLmZuW05BTUUkOV0uQ29uc3RydWN0b3IgPSBQb3BvdmVyO1xuXG4gICQkYS5mbltOQU1FJDldLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJCRhLmZuW05BTUUkOV0gPSBKUVVFUllfTk9fQ09ORkxJQ1QkOTtcbiAgICByZXR1cm4gUG9wb3Zlci5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJGEgPSAnc2Nyb2xsc3B5JztcbnZhciBWRVJTSU9OJGEgPSAnMy4yLjInO1xudmFyIERBVEFfS0VZJGEgPSAnY29yZXVpLnNjcm9sbHNweSc7XG52YXIgRVZFTlRfS0VZJGEgPSBcIi5cIiArIERBVEFfS0VZJGE7XG52YXIgREFUQV9BUElfS0VZJDggPSAnLmRhdGEtYXBpJztcbnZhciBEZWZhdWx0JDggPSB7XG4gIG9mZnNldDogMTAsXG4gIG1ldGhvZDogJ2F1dG8nLFxuICB0YXJnZXQ6ICcnXG59O1xudmFyIERlZmF1bHRUeXBlJDcgPSB7XG4gIG9mZnNldDogJ251bWJlcicsXG4gIG1ldGhvZDogJ3N0cmluZycsXG4gIHRhcmdldDogJyhzdHJpbmd8ZWxlbWVudCknXG59O1xudmFyIEVWRU5UX0FDVElWQVRFID0gXCJhY3RpdmF0ZVwiICsgRVZFTlRfS0VZJGE7XG52YXIgRVZFTlRfU0NST0xMID0gXCJzY3JvbGxcIiArIEVWRU5UX0tFWSRhO1xudmFyIEVWRU5UX0xPQURfREFUQV9BUEkkMSA9IFwibG9hZFwiICsgRVZFTlRfS0VZJGEgKyBEQVRBX0FQSV9LRVkkODtcbnZhciBDTEFTU19OQU1FX0RST1BET1dOX0lURU0gPSAnZHJvcGRvd24taXRlbSc7XG52YXIgQ0xBU1NfTkFNRV9BQ1RJVkUkMyA9ICdhY3RpdmUnO1xudmFyIFNFTEVDVE9SX0RBVEFfU1BZID0gJ1tkYXRhLXNweT1cInNjcm9sbFwiXSc7XG52YXIgU0VMRUNUT1JfTkFWX0xJU1RfR1JPVVAgPSAnLm5hdiwgLmxpc3QtZ3JvdXAnO1xudmFyIFNFTEVDVE9SX05BVl9MSU5LUyA9ICcubmF2LWxpbmsnO1xudmFyIFNFTEVDVE9SX05BVl9JVEVNUyA9ICcubmF2LWl0ZW0nO1xudmFyIFNFTEVDVE9SX0xJU1RfSVRFTVMgPSAnLmxpc3QtZ3JvdXAtaXRlbSc7XG52YXIgU0VMRUNUT1JfRFJPUERPV04gPSAnLmRyb3Bkb3duJztcbnZhciBTRUxFQ1RPUl9EUk9QRE9XTl9UT0dHTEUgPSAnLmRyb3Bkb3duLXRvZ2dsZSc7XG52YXIgTUVUSE9EX09GRlNFVCA9ICdvZmZzZXQnO1xudmFyIE1FVEhPRF9QT1NJVElPTiA9ICdwb3NpdGlvbic7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2xhc3MgRGVmaW5pdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIFNjcm9sbFNweSA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFNjcm9sbFNweShlbGVtZW50LCBjb25maWcpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IGVsZW1lbnQudGFnTmFtZSA9PT0gJ0JPRFknID8gd2luZG93IDogZWxlbWVudDtcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICB0aGlzLl9zZWxlY3RvciA9IHRoaXMuX2NvbmZpZy50YXJnZXQgKyBcIiBcIiArIFNFTEVDVE9SX05BVl9MSU5LUyArIFwiLCBcIiArIHRoaXMuX2NvbmZpZy50YXJnZXQgKyBcIiBcIiArIFNFTEVDVE9SX0xJU1RfSVRFTVMgKyBcIiwgXCIgKyB0aGlzLl9jb25maWcudGFyZ2V0ICsgXCIgLlwiICsgQ0xBU1NfTkFNRV9EUk9QRE9XTl9JVEVNO1xuICAgIHRoaXMuX29mZnNldHMgPSBbXTtcbiAgICB0aGlzLl90YXJnZXRzID0gW107XG4gICAgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbDtcbiAgICB0aGlzLl9zY3JvbGxIZWlnaHQgPSAwO1xuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9zY3JvbGxFbGVtZW50LCBFVkVOVF9TQ1JPTEwsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgcmV0dXJuIF90aGlzLl9wcm9jZXNzKGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnJlZnJlc2goKTtcblxuICAgIHRoaXMuX3Byb2Nlc3MoKTtcblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSRhLCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gU2Nyb2xsU3B5LnByb3RvdHlwZTtcblxuICAvLyBQdWJsaWNcbiAgX3Byb3RvLnJlZnJlc2ggPSBmdW5jdGlvbiByZWZyZXNoKCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgdmFyIGF1dG9NZXRob2QgPSB0aGlzLl9zY3JvbGxFbGVtZW50ID09PSB0aGlzLl9zY3JvbGxFbGVtZW50LndpbmRvdyA/IE1FVEhPRF9PRkZTRVQgOiBNRVRIT0RfUE9TSVRJT047XG4gICAgdmFyIG9mZnNldE1ldGhvZCA9IHRoaXMuX2NvbmZpZy5tZXRob2QgPT09ICdhdXRvJyA/IGF1dG9NZXRob2QgOiB0aGlzLl9jb25maWcubWV0aG9kO1xuICAgIHZhciBvZmZzZXRCYXNlID0gb2Zmc2V0TWV0aG9kID09PSBNRVRIT0RfUE9TSVRJT04gPyB0aGlzLl9nZXRTY3JvbGxUb3AoKSA6IDA7XG4gICAgdGhpcy5fb2Zmc2V0cyA9IFtdO1xuICAgIHRoaXMuX3RhcmdldHMgPSBbXTtcbiAgICB0aGlzLl9zY3JvbGxIZWlnaHQgPSB0aGlzLl9nZXRTY3JvbGxIZWlnaHQoKTtcbiAgICB2YXIgdGFyZ2V0cyA9IFNlbGVjdG9yRW5naW5lLmZpbmQodGhpcy5fc2VsZWN0b3IpO1xuICAgIHRhcmdldHMubWFwKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICB2YXIgdGFyZ2V0U2VsZWN0b3IgPSBnZXRTZWxlY3RvckZyb21FbGVtZW50KGVsZW1lbnQpO1xuICAgICAgdmFyIHRhcmdldCA9IHRhcmdldFNlbGVjdG9yID8gU2VsZWN0b3JFbmdpbmUuZmluZE9uZSh0YXJnZXRTZWxlY3RvcikgOiBudWxsO1xuXG4gICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgIHZhciB0YXJnZXRCQ1IgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgaWYgKHRhcmdldEJDUi53aWR0aCB8fCB0YXJnZXRCQ1IuaGVpZ2h0KSB7XG4gICAgICAgICAgcmV0dXJuIFtNYW5pcHVsYXRvcltvZmZzZXRNZXRob2RdKHRhcmdldCkudG9wICsgb2Zmc2V0QmFzZSwgdGFyZ2V0U2VsZWN0b3JdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfSkuc29ydChmdW5jdGlvbiAoYSwgYikge1xuICAgICAgcmV0dXJuIGFbMF0gLSBiWzBdO1xuICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIF90aGlzMi5fb2Zmc2V0cy5wdXNoKGl0ZW1bMF0pO1xuXG4gICAgICBfdGhpczIuX3RhcmdldHMucHVzaChpdGVtWzFdKTtcbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgRGF0YS5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJGEpO1xuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fc2Nyb2xsRWxlbWVudCwgRVZFTlRfS0VZJGEpO1xuICAgIHRoaXMuX2VsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3Njcm9sbEVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX2NvbmZpZyA9IG51bGw7XG4gICAgdGhpcy5fc2VsZWN0b3IgPSBudWxsO1xuICAgIHRoaXMuX29mZnNldHMgPSBudWxsO1xuICAgIHRoaXMuX3RhcmdldHMgPSBudWxsO1xuICAgIHRoaXMuX2FjdGl2ZVRhcmdldCA9IG51bGw7XG4gICAgdGhpcy5fc2Nyb2xsSGVpZ2h0ID0gbnVsbDtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkOCksIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZyA/IGNvbmZpZyA6IHt9KTtcblxuICAgIGlmICh0eXBlb2YgY29uZmlnLnRhcmdldCAhPT0gJ3N0cmluZycgJiYgaXNFbGVtZW50KGNvbmZpZy50YXJnZXQpKSB7XG4gICAgICB2YXIgaWQgPSBjb25maWcudGFyZ2V0LmlkO1xuXG4gICAgICBpZiAoIWlkKSB7XG4gICAgICAgIGlkID0gZ2V0VUlEKE5BTUUkYSk7XG4gICAgICAgIGNvbmZpZy50YXJnZXQuaWQgPSBpZDtcbiAgICAgIH1cblxuICAgICAgY29uZmlnLnRhcmdldCA9IFwiI1wiICsgaWQ7XG4gICAgfVxuXG4gICAgdHlwZUNoZWNrQ29uZmlnKE5BTUUkYSwgY29uZmlnLCBEZWZhdWx0VHlwZSQ3KTtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0U2Nyb2xsVG9wID0gZnVuY3Rpb24gX2dldFNjcm9sbFRvcCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gd2luZG93ID8gdGhpcy5fc2Nyb2xsRWxlbWVudC5wYWdlWU9mZnNldCA6IHRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0U2Nyb2xsSGVpZ2h0ID0gZnVuY3Rpb24gX2dldFNjcm9sbEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHQgfHwgTWF0aC5tYXgoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpO1xuICB9O1xuXG4gIF9wcm90by5fZ2V0T2Zmc2V0SGVpZ2h0ID0gZnVuY3Rpb24gX2dldE9mZnNldEhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gd2luZG93ID8gd2luZG93LmlubmVySGVpZ2h0IDogdGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gIH07XG5cbiAgX3Byb3RvLl9wcm9jZXNzID0gZnVuY3Rpb24gX3Byb2Nlc3MoKSB7XG4gICAgdmFyIHNjcm9sbFRvcCA9IHRoaXMuX2dldFNjcm9sbFRvcCgpICsgdGhpcy5fY29uZmlnLm9mZnNldDtcblxuICAgIHZhciBzY3JvbGxIZWlnaHQgPSB0aGlzLl9nZXRTY3JvbGxIZWlnaHQoKTtcblxuICAgIHZhciBtYXhTY3JvbGwgPSB0aGlzLl9jb25maWcub2Zmc2V0ICsgc2Nyb2xsSGVpZ2h0IC0gdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7XG5cbiAgICBpZiAodGhpcy5fc2Nyb2xsSGVpZ2h0ICE9PSBzY3JvbGxIZWlnaHQpIHtcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cblxuICAgIGlmIChzY3JvbGxUb3AgPj0gbWF4U2Nyb2xsKSB7XG4gICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aCAtIDFdO1xuXG4gICAgICBpZiAodGhpcy5fYWN0aXZlVGFyZ2V0ICE9PSB0YXJnZXQpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZhdGUodGFyZ2V0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9hY3RpdmVUYXJnZXQgJiYgc2Nyb2xsVG9wIDwgdGhpcy5fb2Zmc2V0c1swXSAmJiB0aGlzLl9vZmZzZXRzWzBdID4gMCkge1xuICAgICAgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbDtcblxuICAgICAgdGhpcy5fY2xlYXIoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAodmFyIGkgPSB0aGlzLl9vZmZzZXRzLmxlbmd0aDsgaS0tOykge1xuICAgICAgdmFyIGlzQWN0aXZlVGFyZ2V0ID0gdGhpcy5fYWN0aXZlVGFyZ2V0ICE9PSB0aGlzLl90YXJnZXRzW2ldICYmIHNjcm9sbFRvcCA+PSB0aGlzLl9vZmZzZXRzW2ldICYmICh0eXBlb2YgdGhpcy5fb2Zmc2V0c1tpICsgMV0gPT09ICd1bmRlZmluZWQnIHx8IHNjcm9sbFRvcCA8IHRoaXMuX29mZnNldHNbaSArIDFdKTtcblxuICAgICAgaWYgKGlzQWN0aXZlVGFyZ2V0KSB7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlKHRoaXMuX3RhcmdldHNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX2FjdGl2YXRlID0gZnVuY3Rpb24gX2FjdGl2YXRlKHRhcmdldCkge1xuICAgIHRoaXMuX2FjdGl2ZVRhcmdldCA9IHRhcmdldDtcblxuICAgIHRoaXMuX2NsZWFyKCk7XG5cbiAgICB2YXIgcXVlcmllcyA9IHRoaXMuX3NlbGVjdG9yLnNwbGl0KCcsJykubWFwKGZ1bmN0aW9uIChzZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIHNlbGVjdG9yICsgXCJbZGF0YS10YXJnZXQ9XFxcIlwiICsgdGFyZ2V0ICsgXCJcXFwiXSxcIiArIHNlbGVjdG9yICsgXCJbaHJlZj1cXFwiXCIgKyB0YXJnZXQgKyBcIlxcXCJdXCI7XG4gICAgfSk7XG5cbiAgICB2YXIgbGluayA9IFNlbGVjdG9yRW5naW5lLmZpbmRPbmUocXVlcmllcy5qb2luKCcsJykpO1xuXG4gICAgaWYgKGxpbmsuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUERPV05fSVRFTSkpIHtcbiAgICAgIFNlbGVjdG9yRW5naW5lLmZpbmRPbmUoU0VMRUNUT1JfRFJPUERPV05fVE9HR0xFLCBsaW5rLmNsb3Nlc3QoU0VMRUNUT1JfRFJPUERPV04pKS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDMpO1xuICAgICAgbGluay5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTZXQgdHJpZ2dlcmVkIGxpbmsgYXMgYWN0aXZlXG4gICAgICBsaW5rLmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUkMyk7XG4gICAgICBTZWxlY3RvckVuZ2luZS5wYXJlbnRzKGxpbmssIFNFTEVDVE9SX05BVl9MSVNUX0dST1VQKS5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0R3JvdXApIHtcbiAgICAgICAgLy8gU2V0IHRyaWdnZXJlZCBsaW5rcyBwYXJlbnRzIGFzIGFjdGl2ZVxuICAgICAgICAvLyBXaXRoIGJvdGggPHVsPiBhbmQgPG5hdj4gbWFya3VwIGEgcGFyZW50IGlzIHRoZSBwcmV2aW91cyBzaWJsaW5nIG9mIGFueSBuYXYgYW5jZXN0b3JcbiAgICAgICAgU2VsZWN0b3JFbmdpbmUucHJldihsaXN0R3JvdXAsIFNFTEVDVE9SX05BVl9MSU5LUyArIFwiLCBcIiArIFNFTEVDVE9SX0xJU1RfSVRFTVMpLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gaXRlbS5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDMpO1xuICAgICAgICB9KTsgLy8gSGFuZGxlIHNwZWNpYWwgY2FzZSB3aGVuIC5uYXYtbGluayBpcyBpbnNpZGUgLm5hdi1pdGVtXG5cbiAgICAgICAgU2VsZWN0b3JFbmdpbmUucHJldihsaXN0R3JvdXAsIFNFTEVDVE9SX05BVl9JVEVNUykuZm9yRWFjaChmdW5jdGlvbiAobmF2SXRlbSkge1xuICAgICAgICAgIFNlbGVjdG9yRW5naW5lLmNoaWxkcmVuKG5hdkl0ZW0sIFNFTEVDVE9SX05BVl9MSU5LUykuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSQzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9zY3JvbGxFbGVtZW50LCBFVkVOVF9BQ1RJVkFURSwge1xuICAgICAgcmVsYXRlZFRhcmdldDogdGFyZ2V0XG4gICAgfSk7XG4gIH07XG5cbiAgX3Byb3RvLl9jbGVhciA9IGZ1bmN0aW9uIF9jbGVhcigpIHtcbiAgICBTZWxlY3RvckVuZ2luZS5maW5kKHRoaXMuX3NlbGVjdG9yKS5maWx0ZXIoZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgIHJldHVybiBub2RlLmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQzKTtcbiAgICB9KS5mb3JFYWNoKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICByZXR1cm4gbm9kZS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQUNUSVZFJDMpO1xuICAgIH0pO1xuICB9IC8vIFN0YXRpY1xuICA7XG5cbiAgU2Nyb2xsU3B5LmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJGEpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIGRhdGEgPSBuZXcgU2Nyb2xsU3B5KHRoaXMsIF9jb25maWcpO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBTY3JvbGxTcHkuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRJbnN0YW5jZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSRhKTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoU2Nyb2xsU3B5LCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiRhO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQ4O1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBTY3JvbGxTcHk7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfTE9BRF9EQVRBX0FQSSQxLCBmdW5jdGlvbiAoKSB7XG4gIFNlbGVjdG9yRW5naW5lLmZpbmQoU0VMRUNUT1JfREFUQV9TUFkpLmZvckVhY2goZnVuY3Rpb24gKHNweSkge1xuICAgIHJldHVybiBuZXcgU2Nyb2xsU3B5KHNweSwgTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXMoc3B5KSk7XG4gIH0pO1xufSk7XG52YXIgJCRiID0gZ2V0alF1ZXJ5KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogalF1ZXJ5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkYikge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJGEgPSAkJGIuZm5bTkFNRSRhXTtcbiAgJCRiLmZuW05BTUUkYV0gPSBTY3JvbGxTcHkualF1ZXJ5SW50ZXJmYWNlO1xuICAkJGIuZm5bTkFNRSRhXS5Db25zdHJ1Y3RvciA9IFNjcm9sbFNweTtcblxuICAkJGIuZm5bTkFNRSRhXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkYi5mbltOQU1FJGFdID0gSlFVRVJZX05PX0NPTkZMSUNUJGE7XG4gICAgcmV0dXJuIFNjcm9sbFNweS5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJGIgPSAnc2lkZWJhcic7XG52YXIgVkVSU0lPTiRiID0gJzMuMi4yJztcbnZhciBEQVRBX0tFWSRiID0gJ2NvcmV1aS5zaWRlYmFyJztcbnZhciBFVkVOVF9LRVkkYiA9IFwiLlwiICsgREFUQV9LRVkkYjtcbnZhciBEQVRBX0FQSV9LRVkkOSA9ICcuZGF0YS1hcGknO1xudmFyIERlZmF1bHQkOSA9IHtcbiAgYWN0aXZlTGlua3NFeGFjdDogdHJ1ZSxcbiAgYnJlYWtwb2ludHM6IHtcbiAgICB4czogJ2Mtc2lkZWJhci1zaG93JyxcbiAgICBzbTogJ2Mtc2lkZWJhci1zbS1zaG93JyxcbiAgICBtZDogJ2Mtc2lkZWJhci1tZC1zaG93JyxcbiAgICBsZzogJ2Mtc2lkZWJhci1sZy1zaG93JyxcbiAgICB4bDogJ2Mtc2lkZWJhci14bC1zaG93JyxcbiAgICB4eGw6ICdjLXNpZGViYXIteHhsLXNob3cnXG4gIH0sXG4gIGRyb3Bkb3duQWNjb3JkaW9uOiB0cnVlXG59O1xudmFyIERlZmF1bHRUeXBlJDggPSB7XG4gIGFjdGl2ZUxpbmtzRXhhY3Q6ICdib29sZWFuJyxcbiAgYnJlYWtwb2ludHM6ICdvYmplY3QnLFxuICBkcm9wZG93bkFjY29yZGlvbjogJyhzdHJpbmd8Ym9vbGVhbiknXG59O1xudmFyIENMQVNTX05BTUVfQUNUSVZFJDQgPSAnYy1hY3RpdmUnO1xudmFyIENMQVNTX05BTUVfQkFDS0RST1AkMSA9ICdjLXNpZGViYXItYmFja2Ryb3AnO1xudmFyIENMQVNTX05BTUVfRkFERSQzID0gJ2MtZmFkZSc7XG52YXIgQ0xBU1NfTkFNRV9OQVZfRFJPUERPV04gPSAnYy1zaWRlYmFyLW5hdi1kcm9wZG93bic7XG52YXIgQ0xBU1NfTkFNRV9OQVZfRFJPUERPV05fVE9HR0xFJDEgPSAnYy1zaWRlYmFyLW5hdi1kcm9wZG93bi10b2dnbGUnO1xudmFyIENMQVNTX05BTUVfU0hPVyQ2ID0gJ2Mtc2hvdyc7XG52YXIgQ0xBU1NfTkFNRV9TSURFQkFSX01JTklNSVpFRCA9ICdjLXNpZGViYXItbWluaW1pemVkJztcbnZhciBDTEFTU19OQU1FX1NJREVCQVJfT1ZFUkxBSUQgPSAnYy1zaWRlYmFyLW92ZXJsYWlkJztcbnZhciBDTEFTU19OQU1FX1NJREVCQVJfVU5GT0xEQUJMRSA9ICdjLXNpZGViYXItdW5mb2xkYWJsZSc7XG52YXIgRVZFTlRfQ0xBU1NfVE9HR0xFJDEgPSAnY2xhc3N0b2dnbGUnO1xudmFyIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDggPSBcImNsaWNrXCIgKyBFVkVOVF9LRVkkYiArIERBVEFfQVBJX0tFWSQ5O1xudmFyIEVWRU5UX0NMT1NFJDEgPSBcImNsb3NlXCIgKyBFVkVOVF9LRVkkYjtcbnZhciBFVkVOVF9DTE9TRUQkMSA9IFwiY2xvc2VkXCIgKyBFVkVOVF9LRVkkYjtcbnZhciBFVkVOVF9MT0FEX0RBVEFfQVBJJDIgPSBcImxvYWRcIiArIEVWRU5UX0tFWSRiICsgREFUQV9BUElfS0VZJDk7XG52YXIgRVZFTlRfT1BFTiA9IFwib3BlblwiICsgRVZFTlRfS0VZJGI7XG52YXIgRVZFTlRfT1BFTkVEID0gXCJvcGVuZWRcIiArIEVWRU5UX0tFWSRiO1xudmFyIFNFTEVDVE9SX05BVl9EUk9QRE9XTl9UT0dHTEUgPSAnLmMtc2lkZWJhci1uYXYtZHJvcGRvd24tdG9nZ2xlJztcbnZhciBTRUxFQ1RPUl9OQVZfRFJPUERPV04kMSA9ICcuYy1zaWRlYmFyLW5hdi1kcm9wZG93bic7XG52YXIgU0VMRUNUT1JfTkFWX0xJTkskMSA9ICcuYy1zaWRlYmFyLW5hdi1saW5rJztcbnZhciBTRUxFQ1RPUl9OQVZJR0FUSU9OX0NPTlRBSU5FUiA9ICcuYy1zaWRlYmFyLW5hdic7XG52YXIgU0VMRUNUT1JfU0lERUJBUiA9ICcuYy1zaWRlYmFyJztcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDbGFzcyBEZWZpbml0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgU2lkZWJhciA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFNpZGViYXIoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgaWYgKHR5cGVvZiBQZXJmZWN0U2Nyb2xsYmFyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQ29yZVVJXFwncyBzaWRlYmFyIHJlcXVpcmUgUGVyZmVjdCBTY3JvbGxiYXInKTtcbiAgICB9XG5cbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICB0aGlzLl9vcGVuID0gdGhpcy5faXNWaXNpYmxlKCk7XG4gICAgdGhpcy5fbW9iaWxlID0gdGhpcy5faXNNb2JpbGUoKTtcbiAgICB0aGlzLl9vdmVybGFpZCA9IHRoaXMuX2lzT3ZlcmxhaWQoKTtcbiAgICB0aGlzLl9taW5pbWl6ZSA9IHRoaXMuX2lzTWluaW1pemVkKCk7XG4gICAgdGhpcy5fdW5mb2xkYWJsZSA9IHRoaXMuX2lzVW5mb2xkYWJsZSgpO1xuXG4gICAgdGhpcy5fc2V0QWN0aXZlTGluaygpO1xuXG4gICAgdGhpcy5fcHMgPSBudWxsO1xuICAgIHRoaXMuX2JhY2tkcm9wID0gbnVsbDtcblxuICAgIHRoaXMuX3BzSW5pdCgpO1xuXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIERhdGEuc2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSRiLCB0aGlzKTtcbiAgfSAvLyBHZXR0ZXJzXG5cblxuICB2YXIgX3Byb3RvID0gU2lkZWJhci5wcm90b3R5cGU7XG5cbiAgLy8gUHVibGljXG4gIF9wcm90by5vcGVuID0gZnVuY3Rpb24gb3BlbihicmVha3BvaW50KSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX09QRU4pO1xuXG4gICAgaWYgKHRoaXMuX2lzTW9iaWxlKCkpIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzTmFtZSh0aGlzLl9maXJzdEJyZWFrcG9pbnRDbGFzc05hbWUoKSk7XG5cbiAgICAgIHRoaXMuX3Nob3dCYWNrZHJvcCgpO1xuXG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIF90aGlzLl9hZGRDbGlja091dExpc3RlbmVyKCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQpIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzTmFtZSh0aGlzLl9nZXRCcmVha3BvaW50Q2xhc3NOYW1lKGJyZWFrcG9pbnQpKTtcblxuICAgICAgaWYgKHRoaXMuX2lzT3ZlcmxhaWQoKSkge1xuICAgICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXMuX2FkZENsaWNrT3V0TGlzdGVuZXIoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzTmFtZSh0aGlzLl9maXJzdEJyZWFrcG9pbnRDbGFzc05hbWUoKSk7XG5cbiAgICAgIGlmICh0aGlzLl9pc092ZXJsYWlkKCkpIHtcbiAgICAgICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIF90aGlzLl9hZGRDbGlja091dExpc3RlbmVyKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjb21wbGV0ZSA9IGZ1bmN0aW9uIGNvbXBsZXRlKCkge1xuICAgICAgaWYgKF90aGlzLl9pc1Zpc2libGUoKSA9PT0gdHJ1ZSkge1xuICAgICAgICBfdGhpcy5fb3BlbiA9IHRydWU7XG4gICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzLl9lbGVtZW50LCBFVkVOVF9PUEVORUQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQsIHRyYW5zaXRpb25EdXJhdGlvbik7XG4gIH07XG5cbiAgX3Byb3RvLmNsb3NlID0gZnVuY3Rpb24gY2xvc2UoYnJlYWtwb2ludCkge1xuICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xPU0UkMSk7XG5cbiAgICBpZiAodGhpcy5faXNNb2JpbGUoKSkge1xuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2ZpcnN0QnJlYWtwb2ludENsYXNzTmFtZSgpKTtcblxuICAgICAgdGhpcy5fcmVtb3ZlQmFja2Ryb3AoKTtcblxuICAgICAgdGhpcy5fcmVtb3ZlQ2xpY2tPdXRMaXN0ZW5lcigpO1xuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCkge1xuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2dldEJyZWFrcG9pbnRDbGFzc05hbWUoYnJlYWtwb2ludCkpO1xuXG4gICAgICBpZiAodGhpcy5faXNPdmVybGFpZCgpKSB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUNsaWNrT3V0TGlzdGVuZXIoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2ZpcnN0QnJlYWtwb2ludENsYXNzTmFtZSgpKTtcblxuICAgICAgaWYgKHRoaXMuX2lzT3ZlcmxhaWQoKSkge1xuICAgICAgICB0aGlzLl9yZW1vdmVDbGlja091dExpc3RlbmVyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBpZiAoX3RoaXMyLl9pc1Zpc2libGUoKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgX3RoaXMyLl9vcGVuID0gZmFsc2U7XG4gICAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKF90aGlzMi5fZWxlbWVudCwgRVZFTlRfQ0xPU0VEJDEpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgRXZlbnRIYW5kbGVyLm9uZSh0aGlzLl9lbGVtZW50LCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgIGVtdWxhdGVUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQsIHRyYW5zaXRpb25EdXJhdGlvbik7XG4gIH07XG5cbiAgX3Byb3RvLnRvZ2dsZSA9IGZ1bmN0aW9uIHRvZ2dsZShicmVha3BvaW50KSB7XG4gICAgaWYgKHRoaXMuX29wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2UoYnJlYWtwb2ludCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbihicmVha3BvaW50KTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLm1pbmltaXplID0gZnVuY3Rpb24gbWluaW1pemUoKSB7XG4gICAgaWYgKCF0aGlzLl9pc01vYmlsZSgpKSB7XG4gICAgICB0aGlzLl9hZGRDbGFzc05hbWUoQ0xBU1NfTkFNRV9TSURFQkFSX01JTklNSVpFRCk7XG5cbiAgICAgIHRoaXMuX21pbmltaXplID0gdHJ1ZTtcblxuICAgICAgdGhpcy5fcHNEZXN0cm95KCk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by51bmZvbGRhYmxlID0gZnVuY3Rpb24gdW5mb2xkYWJsZSgpIHtcbiAgICBpZiAoIXRoaXMuX2lzTW9iaWxlKCkpIHtcbiAgICAgIHRoaXMuX2FkZENsYXNzTmFtZShDTEFTU19OQU1FX1NJREVCQVJfVU5GT0xEQUJMRSk7XG5cbiAgICAgIHRoaXMuX3VuZm9sZGFibGUgPSB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8ucmVzZXQgPSBmdW5jdGlvbiByZXNldCgpIHtcbiAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX01JTklNSVpFRCkpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NJREVCQVJfTUlOSU1JWkVEKTtcblxuICAgICAgdGhpcy5fbWluaW1pemUgPSBmYWxzZTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUodGhpcy5fZWxlbWVudCwgVFJBTlNJVElPTl9FTkQsIHRoaXMuX3BzSW5pdCgpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX1VORk9MREFCTEUpKSB7XG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9TSURFQkFSX1VORk9MREFCTEUpO1xuXG4gICAgICB0aGlzLl91bmZvbGRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IC8vIFByaXZhdGVcbiAgO1xuXG4gIF9wcm90by5fZ2V0Q29uZmlnID0gZnVuY3Rpb24gX2dldENvbmZpZyhjb25maWcpIHtcbiAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0KSwgTWFuaXB1bGF0b3IuZ2V0RGF0YUF0dHJpYnV0ZXModGhpcy5fZWxlbWVudCkpLCBjb25maWcpO1xuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJGIsIGNvbmZpZywgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX2lzTW9iaWxlID0gZnVuY3Rpb24gX2lzTW9iaWxlKCkge1xuICAgIHJldHVybiBCb29sZWFuKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2VsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJy0taXMtbW9iaWxlJykpO1xuICB9O1xuXG4gIF9wcm90by5faXNJT1MgPSBmdW5jdGlvbiBfaXNJT1MoKSB7XG4gICAgdmFyIGlPU0RldmljZXMgPSBbJ2lQYWQgU2ltdWxhdG9yJywgJ2lQaG9uZSBTaW11bGF0b3InLCAnaVBvZCBTaW11bGF0b3InLCAnaVBhZCcsICdpUGhvbmUnLCAnaVBvZCddO1xuICAgIHZhciBwbGF0Zm9ybSA9IEJvb2xlYW4obmF2aWdhdG9yLnBsYXRmb3JtKTtcblxuICAgIGlmIChwbGF0Zm9ybSkge1xuICAgICAgd2hpbGUgKGlPU0RldmljZXMubGVuZ3RoKSB7XG4gICAgICAgIGlmIChuYXZpZ2F0b3IucGxhdGZvcm0gPT09IGlPU0RldmljZXMucG9wKCkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBfcHJvdG8uX2lzTWluaW1pemVkID0gZnVuY3Rpb24gX2lzTWluaW1pemVkKCkge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX1NJREVCQVJfTUlOSU1JWkVEKTtcbiAgfTtcblxuICBfcHJvdG8uX2lzT3ZlcmxhaWQgPSBmdW5jdGlvbiBfaXNPdmVybGFpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX09WRVJMQUlEKTtcbiAgfTtcblxuICBfcHJvdG8uX2lzVW5mb2xkYWJsZSA9IGZ1bmN0aW9uIF9pc1VuZm9sZGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0lERUJBUl9VTkZPTERBQkxFKTtcbiAgfTtcblxuICBfcHJvdG8uX2lzVmlzaWJsZSA9IGZ1bmN0aW9uIF9pc1Zpc2libGUoKSB7XG4gICAgdmFyIHJlY3QgPSB0aGlzLl9lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgcmV0dXJuIHJlY3QudG9wID49IDAgJiYgcmVjdC5sZWZ0ID49IDAgJiYgcmVjdC5ib3R0b20gPD0gKHdpbmRvdy5pbm5lckhlaWdodCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSAmJlxuICAgIC8qIG9yICQod2luZG93KS5oZWlnaHQoKSAqL1xuICAgIHJlY3QucmlnaHQgPD0gKHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvKiBvciAkKHdpbmRvdykud2lkdGgoKSAqL1xuICAgIDtcbiAgfTtcblxuICBfcHJvdG8uX2FkZENsYXNzTmFtZSA9IGZ1bmN0aW9uIF9hZGRDbGFzc05hbWUoY2xhc3NOYW1lKSB7XG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gIH07XG5cbiAgX3Byb3RvLl9maXJzdEJyZWFrcG9pbnRDbGFzc05hbWUgPSBmdW5jdGlvbiBfZmlyc3RCcmVha3BvaW50Q2xhc3NOYW1lKCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhEZWZhdWx0JDkuYnJlYWtwb2ludHMpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQ5LmJyZWFrcG9pbnRzW2tleV07XG4gICAgfSlbMF07XG4gIH07XG5cbiAgX3Byb3RvLl9nZXRCcmVha3BvaW50Q2xhc3NOYW1lID0gZnVuY3Rpb24gX2dldEJyZWFrcG9pbnRDbGFzc05hbWUoYnJlYWtwb2ludCkge1xuICAgIHJldHVybiBEZWZhdWx0JDkuYnJlYWtwb2ludHNbYnJlYWtwb2ludF07XG4gIH07XG5cbiAgX3Byb3RvLl9yZW1vdmVCYWNrZHJvcCA9IGZ1bmN0aW9uIF9yZW1vdmVCYWNrZHJvcCgpIHtcbiAgICBpZiAodGhpcy5fYmFja2Ryb3ApIHtcbiAgICAgIHRoaXMuX2JhY2tkcm9wLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fYmFja2Ryb3ApO1xuXG4gICAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fc2hvd0JhY2tkcm9wID0gZnVuY3Rpb24gX3Nob3dCYWNrZHJvcCgpIHtcbiAgICBpZiAoIXRoaXMuX2JhY2tkcm9wKSB7XG4gICAgICB0aGlzLl9iYWNrZHJvcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5fYmFja2Ryb3AuY2xhc3NOYW1lID0gQ0xBU1NfTkFNRV9CQUNLRFJPUCQxO1xuXG4gICAgICB0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfRkFERSQzKTtcblxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9iYWNrZHJvcCk7XG4gICAgICByZWZsb3codGhpcy5fYmFja2Ryb3ApO1xuXG4gICAgICB0aGlzLl9iYWNrZHJvcC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfU0hPVyQ2KTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9jbGlja091dExpc3RlbmVyID0gZnVuY3Rpb24gX2NsaWNrT3V0TGlzdGVuZXIoZXZlbnQsIHNpZGViYXIpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmNsb3Nlc3QoU0VMRUNUT1JfU0lERUJBUikgPT09IG51bGwpIHtcbiAgICAgIC8vIG9yIHVzZTpcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHNpZGViYXIuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9hZGRDbGlja091dExpc3RlbmVyID0gZnVuY3Rpb24gX2FkZENsaWNrT3V0TGlzdGVuZXIoKSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICBFdmVudEhhbmRsZXIub24oZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDgsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgX3RoaXMzLl9jbGlja091dExpc3RlbmVyKGV2ZW50LCBfdGhpczMpO1xuICAgIH0pO1xuICB9O1xuXG4gIF9wcm90by5fcmVtb3ZlQ2xpY2tPdXRMaXN0ZW5lciA9IGZ1bmN0aW9uIF9yZW1vdmVDbGlja091dExpc3RlbmVyKCkge1xuICAgIEV2ZW50SGFuZGxlci5vZmYoZG9jdW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDgpO1xuICB9IC8vIFNpZGViYXIgbmF2aWdhdGlvblxuICA7XG5cbiAgX3Byb3RvLl9nZXRBbGxTaWJsaW5ncyA9IGZ1bmN0aW9uIF9nZXRBbGxTaWJsaW5ncyhlbGVtZW50LCBmaWx0ZXIpIHtcbiAgICB2YXIgc2libGluZ3MgPSBbXTtcbiAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlLmZpcnN0Q2hpbGQ7XG5cbiAgICBkbyB7XG4gICAgICBpZiAoZWxlbWVudC5ub2RlVHlwZSA9PT0gMykge1xuICAgICAgICBjb250aW51ZTsgLy8gdGV4dCBub2RlXG4gICAgICB9XG5cbiAgICAgIGlmIChlbGVtZW50Lm5vZGVUeXBlID09PSA4KSB7XG4gICAgICAgIGNvbnRpbnVlOyAvLyBjb21tZW50IG5vZGVcbiAgICAgIH1cblxuICAgICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKGVsZW1lbnQpKSB7XG4gICAgICAgIHNpYmxpbmdzLnB1c2goZWxlbWVudCk7XG4gICAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25kLWFzc2lnblxuXG4gICAgfSB3aGlsZSAoZWxlbWVudCA9IGVsZW1lbnQubmV4dFNpYmxpbmcpO1xuXG4gICAgcmV0dXJuIHNpYmxpbmdzO1xuICB9O1xuXG4gIF9wcm90by5fdG9nZ2xlRHJvcGRvd24gPSBmdW5jdGlvbiBfdG9nZ2xlRHJvcGRvd24oZXZlbnQsIHNpZGViYXIpIHtcbiAgICB2YXIgdG9nZ2xlciA9IGV2ZW50LnRhcmdldDtcblxuICAgIGlmICghdG9nZ2xlci5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9OQVZfRFJPUERPV05fVE9HR0xFJDEpKSB7XG4gICAgICB0b2dnbGVyID0gdG9nZ2xlci5jbG9zZXN0KFNFTEVDVE9SX05BVl9EUk9QRE9XTl9UT0dHTEUpO1xuICAgIH1cblxuICAgIHZhciBkYXRhQXR0cmlidXRlcyA9IHRvZ2dsZXIuY2xvc2VzdChTRUxFQ1RPUl9OQVZJR0FUSU9OX0NPTlRBSU5FUikuZGF0YXNldDtcblxuICAgIGlmICh0eXBlb2YgZGF0YUF0dHJpYnV0ZXMuZHJvcGRvd25BY2NvcmRpb24gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBEZWZhdWx0JDkuZHJvcGRvd25BY2NvcmRpb24gPSBKU09OLnBhcnNlKGRhdGFBdHRyaWJ1dGVzLmRyb3Bkb3duQWNjb3JkaW9uKTtcbiAgICB9IC8vIFRPRE86IGZpbmQgYmV0dGVyIHNvbHV0aW9uXG5cblxuICAgIGlmIChEZWZhdWx0JDkuZHJvcGRvd25BY2NvcmRpb24gPT09IHRydWUpIHtcbiAgICAgIHRoaXMuX2dldEFsbFNpYmxpbmdzKHRvZ2dsZXIucGFyZW50RWxlbWVudCwgZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9OQVZfRFJPUERPV04pKTtcbiAgICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQgIT09IHRvZ2dsZXIucGFyZW50Tm9kZSkge1xuICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX05BVl9EUk9QRE9XTikpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShDTEFTU19OQU1FX1NIT1ckNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0b2dnbGVyLnBhcmVudE5vZGUuY2xhc3NMaXN0LnRvZ2dsZShDTEFTU19OQU1FX1NIT1ckNik7IC8vIFRPRE86IFNldCB0aGUgdG9nZ2xlcidzIHBvc2l0aW9uIG5lYXIgdG8gY3Vyc29yIGFmdGVyIHRoZSBjbGljay5cbiAgICAvLyBUT0RPOiBhZGQgdHJhbnNpdGlvbiBlbmRcblxuICAgIHNpZGViYXIuX3BzVXBkYXRlKCk7XG4gIH0gLy8gUGVyZmVjdFNjcm9sbGJhclxuICA7XG5cbiAgX3Byb3RvLl9wc0luaXQgPSBmdW5jdGlvbiBfcHNJbml0KCkge1xuICAgIGlmICh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoU0VMRUNUT1JfTkFWSUdBVElPTl9DT05UQUlORVIpICYmICF0aGlzLl9pc0lPUygpKSB7XG4gICAgICB0aGlzLl9wcyA9IG5ldyBQZXJmZWN0U2Nyb2xsYmFyKHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihTRUxFQ1RPUl9OQVZJR0FUSU9OX0NPTlRBSU5FUiksIHtcbiAgICAgICAgc3VwcHJlc3NTY3JvbGxYOiB0cnVlLFxuICAgICAgICB3aGVlbFByb3BhZ2F0aW9uOiBmYWxzZVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fcHNVcGRhdGUgPSBmdW5jdGlvbiBfcHNVcGRhdGUoKSB7XG4gICAgaWYgKHRoaXMuX3BzKSB7XG4gICAgICB0aGlzLl9wcy51cGRhdGUoKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLl9wc0Rlc3Ryb3kgPSBmdW5jdGlvbiBfcHNEZXN0cm95KCkge1xuICAgIGlmICh0aGlzLl9wcykge1xuICAgICAgdGhpcy5fcHMuZGVzdHJveSgpO1xuXG4gICAgICB0aGlzLl9wcyA9IG51bGw7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5fZ2V0UGFyZW50cyA9IGZ1bmN0aW9uIF9nZXRQYXJlbnRzKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgLy8gU2V0dXAgcGFyZW50cyBhcnJheVxuICAgIHZhciBwYXJlbnRzID0gW107IC8vIEdldCBtYXRjaGluZyBwYXJlbnQgZWxlbWVudHNcblxuICAgIGZvciAoOyBlbGVtZW50ICYmIGVsZW1lbnQgIT09IGRvY3VtZW50OyBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgICAvLyBBZGQgbWF0Y2hpbmcgcGFyZW50cyB0byBhcnJheVxuICAgICAgaWYgKHNlbGVjdG9yKSB7XG4gICAgICAgIGlmIChlbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG4gICAgICAgICAgcGFyZW50cy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJlbnRzLnB1c2goZWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudHM7XG4gIH07XG5cbiAgX3Byb3RvLl9zZXRBY3RpdmVMaW5rID0gZnVuY3Rpb24gX3NldEFjdGl2ZUxpbmsoKSB7XG4gICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItc3ByZWFkXG4gICAgQXJyYXkuZnJvbSh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1JfTkFWX0xJTkskMSkpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgIHZhciBjdXJyZW50VXJsID0gU3RyaW5nKHdpbmRvdy5sb2NhdGlvbik7XG4gICAgICB2YXIgdXJsSGFzUGFyYW1zID0gL1xcPy4qPS87XG4gICAgICB2YXIgdXJsSGFzUXVlcnlTdHJpbmcgPSAvXFw/Li87XG4gICAgICB2YXIgdXJsSGFzSGFzaCA9IC8jLi87XG5cbiAgICAgIGlmICh1cmxIYXNQYXJhbXMudGVzdChjdXJyZW50VXJsKSB8fCB1cmxIYXNRdWVyeVN0cmluZy50ZXN0KGN1cnJlbnRVcmwpKSB7XG4gICAgICAgIGN1cnJlbnRVcmwgPSBjdXJyZW50VXJsLnNwbGl0KCc/JylbMF07XG4gICAgICB9XG5cbiAgICAgIGlmICh1cmxIYXNIYXNoLnRlc3QoY3VycmVudFVybCkpIHtcbiAgICAgICAgY3VycmVudFVybCA9IGN1cnJlbnRVcmwuc3BsaXQoJyMnKVswXTtcbiAgICAgIH1cblxuICAgICAgdmFyIGRhdGFBdHRyaWJ1dGVzID0gZWxlbWVudC5jbG9zZXN0KFNFTEVDVE9SX05BVklHQVRJT05fQ09OVEFJTkVSKS5kYXRhc2V0O1xuXG4gICAgICBpZiAodHlwZW9mIGRhdGFBdHRyaWJ1dGVzLmFjdGl2ZUxpbmtzRXhhY3QgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIERlZmF1bHQkOS5hY3RpdmVMaW5rc0V4YWN0ID0gSlNPTi5wYXJzZShkYXRhQXR0cmlidXRlcy5hY3RpdmVMaW5rc0V4YWN0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKERlZmF1bHQkOS5hY3RpdmVMaW5rc0V4YWN0ICYmIGVsZW1lbnQuaHJlZiA9PT0gY3VycmVudFVybCkge1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUkNCk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcblxuICAgICAgICBBcnJheS5mcm9tKF90aGlzNC5fZ2V0UGFyZW50cyhlbGVtZW50LCBTRUxFQ1RPUl9OQVZfRFJPUERPV04kMSkpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDYpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFEZWZhdWx0JDkuYWN0aXZlTGlua3NFeGFjdCAmJiBlbGVtZW50LmhyZWYuc3RhcnRzV2l0aChjdXJyZW50VXJsKSkge1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9BQ1RJVkUkNCk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcblxuICAgICAgICBBcnJheS5mcm9tKF90aGlzNC5fZ2V0UGFyZW50cyhlbGVtZW50LCBTRUxFQ1RPUl9OQVZfRFJPUERPV04kMSkpLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDYpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBfcHJvdG8uX2FkZEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24gX2FkZEV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMuX21vYmlsZSAmJiB0aGlzLl9vcGVuKSB7XG4gICAgICB0aGlzLl9hZGRDbGlja091dExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX292ZXJsYWlkICYmIHRoaXMuX29wZW4pIHtcbiAgICAgIHRoaXMuX2FkZENsaWNrT3V0TGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xBU1NfVE9HR0xFJDEsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgaWYgKGV2ZW50LmRldGFpbC5jbGFzc05hbWUgPT09IENMQVNTX05BTUVfU0lERUJBUl9NSU5JTUlaRUQpIHtcbiAgICAgICAgaWYgKF90aGlzNS5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX01JTklNSVpFRCkpIHtcbiAgICAgICAgICBfdGhpczUubWluaW1pemUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpczUucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQuZGV0YWlsLmNsYXNzTmFtZSA9PT0gQ0xBU1NfTkFNRV9TSURFQkFSX1VORk9MREFCTEUpIHtcbiAgICAgICAgaWYgKF90aGlzNS5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSURFQkFSX1VORk9MREFCTEUpKSB7XG4gICAgICAgICAgX3RoaXM1LnVuZm9sZGFibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfdGhpczUucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIE9iamVjdC5rZXlzKERlZmF1bHQkOS5icmVha3BvaW50cykuZmluZChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIHJldHVybiBEZWZhdWx0JDkuYnJlYWtwb2ludHNba2V5XSA9PT0gZXZlbnQuZGV0YWlsLmNsYXNzTmFtZTtcbiAgICAgIH0pICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB2YXIgY2xhc3NOYW1lID0gZXZlbnQuZGV0YWlsLmNsYXNzTmFtZTtcbiAgICAgICAgdmFyIGJyZWFrcG9pbnQgPSBPYmplY3Qua2V5cyhEZWZhdWx0JDkuYnJlYWtwb2ludHMpLmZpbmQoZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgIHJldHVybiBEZWZhdWx0JDkuYnJlYWtwb2ludHNba2V5XSA9PT0gY2xhc3NOYW1lO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZXZlbnQuZGV0YWlsLmFkZCkge1xuICAgICAgICAgIF90aGlzNS5vcGVuKGJyZWFrcG9pbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF90aGlzNS5jbG9zZShicmVha3BvaW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIEV2ZW50SGFuZGxlci5vbih0aGlzLl9lbGVtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSQ4LCBTRUxFQ1RPUl9OQVZfRFJPUERPV05fVE9HR0xFLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIF90aGlzNS5fdG9nZ2xlRHJvcGRvd24oZXZlbnQsIF90aGlzNSk7XG4gICAgfSk7XG4gICAgRXZlbnRIYW5kbGVyLm9uKHRoaXMuX2VsZW1lbnQsIEVWRU5UX0NMSUNLX0RBVEFfQVBJJDgsIFNFTEVDVE9SX05BVl9MSU5LJDEsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmIChfdGhpczUuX2lzTW9iaWxlKCkpIHtcbiAgICAgICAgX3RoaXM1LmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gLy8gU3RhdGljXG4gIDtcblxuICBTaWRlYmFyLl9zaWRlYmFySW50ZXJmYWNlID0gZnVuY3Rpb24gX3NpZGViYXJJbnRlcmZhY2UoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgdmFyIGRhdGEgPSBEYXRhLmdldERhdGEoZWxlbWVudCwgREFUQV9LRVkkYik7XG5cbiAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgIGlmICghZGF0YSkge1xuICAgICAgZGF0YSA9IG5ldyBTaWRlYmFyKGVsZW1lbnQsIF9jb25maWcpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgfVxuXG4gICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICB9XG4gIH07XG5cbiAgU2lkZWJhci5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICBTaWRlYmFyLl9zaWRlYmFySW50ZXJmYWNlKHRoaXMsIGNvbmZpZyk7XG4gICAgfSk7XG4gIH07XG5cbiAgU2lkZWJhci5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJGIpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhTaWRlYmFyLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiRiO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCQ5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDg7XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFNpZGViYXI7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKHdpbmRvdywgRVZFTlRfTE9BRF9EQVRBX0FQSSQyLCBmdW5jdGlvbiAoKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1zcHJlYWRcbiAgQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFNFTEVDVE9SX1NJREVCQVIpKS5mb3JFYWNoKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgU2lkZWJhci5fc2lkZWJhckludGVyZmFjZShlbGVtZW50KTtcbiAgfSk7XG59KTtcbnZhciAkJGMgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmlmICgkJGMpIHtcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCRiID0gJCRjLmZuW05BTUUkYl07XG4gICQkYy5mbltOQU1FJGJdID0gU2lkZWJhci5qUXVlcnlJbnRlcmZhY2U7XG4gICQkYy5mbltOQU1FJGJdLkNvbnN0cnVjdG9yID0gU2lkZWJhcjtcblxuICAkJGMuZm5bTkFNRSRiXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkYy5mbltOQU1FJGJdID0gSlFVRVJZX05PX0NPTkZMSUNUJGI7XG4gICAgcmV0dXJuIFNpZGViYXIualF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xufVxuXG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ29uc3RhbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG52YXIgTkFNRSRjID0gJ3RhYic7XG52YXIgVkVSU0lPTiRjID0gJzMuMi4yJztcbnZhciBEQVRBX0tFWSRjID0gJ2NvcmV1aS50YWInO1xudmFyIEVWRU5UX0tFWSRjID0gXCIuXCIgKyBEQVRBX0tFWSRjO1xudmFyIERBVEFfQVBJX0tFWSRhID0gJy5kYXRhLWFwaSc7XG52YXIgRVZFTlRfSElERSQzID0gXCJoaWRlXCIgKyBFVkVOVF9LRVkkYztcbnZhciBFVkVOVF9ISURERU4kMyA9IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkYztcbnZhciBFVkVOVF9TSE9XJDMgPSBcInNob3dcIiArIEVWRU5UX0tFWSRjO1xudmFyIEVWRU5UX1NIT1dOJDMgPSBcInNob3duXCIgKyBFVkVOVF9LRVkkYztcbnZhciBFVkVOVF9DTElDS19EQVRBX0FQSSQ5ID0gXCJjbGlja1wiICsgRVZFTlRfS0VZJGMgKyBEQVRBX0FQSV9LRVkkYTtcbnZhciBDTEFTU19OQU1FX0RST1BET1dOX01FTlUgPSAnZHJvcGRvd24tbWVudSc7XG52YXIgQ0xBU1NfTkFNRV9BQ1RJVkUkNSA9ICdhY3RpdmUnO1xudmFyIENMQVNTX05BTUVfRElTQUJMRUQkMiA9ICdkaXNhYmxlZCc7XG52YXIgQ0xBU1NfTkFNRV9GQURFJDQgPSAnZmFkZSc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XJDcgPSAnc2hvdyc7XG52YXIgU0VMRUNUT1JfRFJPUERPV04kMSA9ICcuZHJvcGRvd24nO1xudmFyIFNFTEVDVE9SX05BVl9MSVNUX0dST1VQJDEgPSAnLm5hdiwgLmxpc3QtZ3JvdXAnO1xudmFyIFNFTEVDVE9SX0FDVElWRSQyID0gJy5hY3RpdmUnO1xudmFyIFNFTEVDVE9SX0FDVElWRV9VTCA9ICc6c2NvcGUgPiBsaSA+IC5hY3RpdmUnO1xudmFyIFNFTEVDVE9SX0RBVEFfVE9HR0xFJDQgPSAnW2RhdGEtdG9nZ2xlPVwidGFiXCJdLCBbZGF0YS10b2dnbGU9XCJwaWxsXCJdLCBbZGF0YS10b2dnbGU9XCJsaXN0XCJdJztcbnZhciBTRUxFQ1RPUl9EUk9QRE9XTl9UT0dHTEUkMSA9ICcuZHJvcGRvd24tdG9nZ2xlJztcbnZhciBTRUxFQ1RPUl9EUk9QRE9XTl9BQ1RJVkVfQ0hJTEQgPSAnOnNjb3BlID4gLmRyb3Bkb3duLW1lbnUgLmFjdGl2ZSc7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2xhc3MgRGVmaW5pdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxudmFyIFRhYiA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFRhYihlbGVtZW50KSB7XG4gICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgRGF0YS5zZXREYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJGMsIHRoaXMpO1xuICB9IC8vIEdldHRlcnNcblxuXG4gIHZhciBfcHJvdG8gPSBUYWIucHJvdG90eXBlO1xuXG4gIC8vIFB1YmxpY1xuICBfcHJvdG8uc2hvdyA9IGZ1bmN0aW9uIHNob3coKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGlmICh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUgJiYgdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSAmJiB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0FDVElWRSQ1KSB8fCB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0RJU0FCTEVEJDIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHByZXZpb3VzO1xuICAgIHZhciB0YXJnZXQgPSBnZXRFbGVtZW50RnJvbVNlbGVjdG9yKHRoaXMuX2VsZW1lbnQpO1xuXG4gICAgdmFyIGxpc3RFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jbG9zZXN0KFNFTEVDVE9SX05BVl9MSVNUX0dST1VQJDEpO1xuXG4gICAgaWYgKGxpc3RFbGVtZW50KSB7XG4gICAgICB2YXIgaXRlbVNlbGVjdG9yID0gbGlzdEVsZW1lbnQubm9kZU5hbWUgPT09ICdVTCcgfHwgbGlzdEVsZW1lbnQubm9kZU5hbWUgPT09ICdPTCcgPyBTRUxFQ1RPUl9BQ1RJVkVfVUwgOiBTRUxFQ1RPUl9BQ1RJVkUkMjtcbiAgICAgIHByZXZpb3VzID0gU2VsZWN0b3JFbmdpbmUuZmluZChpdGVtU2VsZWN0b3IsIGxpc3RFbGVtZW50KTtcbiAgICAgIHByZXZpb3VzID0gcHJldmlvdXNbcHJldmlvdXMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgdmFyIGhpZGVFdmVudCA9IG51bGw7XG5cbiAgICBpZiAocHJldmlvdXMpIHtcbiAgICAgIGhpZGVFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHByZXZpb3VzLCBFVkVOVF9ISURFJDMsIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogdGhpcy5fZWxlbWVudFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFyIHNob3dFdmVudCA9IEV2ZW50SGFuZGxlci50cmlnZ2VyKHRoaXMuX2VsZW1lbnQsIEVWRU5UX1NIT1ckMywge1xuICAgICAgcmVsYXRlZFRhcmdldDogcHJldmlvdXNcbiAgICB9KTtcblxuICAgIGlmIChzaG93RXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCBoaWRlRXZlbnQgIT09IG51bGwgJiYgaGlkZUV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9hY3RpdmF0ZSh0aGlzLl9lbGVtZW50LCBsaXN0RWxlbWVudCk7XG5cbiAgICB2YXIgY29tcGxldGUgPSBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcbiAgICAgIEV2ZW50SGFuZGxlci50cmlnZ2VyKHByZXZpb3VzLCBFVkVOVF9ISURERU4kMywge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiBfdGhpcy5fZWxlbWVudFxuICAgICAgfSk7XG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04kMywge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiBwcmV2aW91c1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICh0YXJnZXQpIHtcbiAgICAgIHRoaXMuX2FjdGl2YXRlKHRhcmdldCwgdGFyZ2V0LnBhcmVudE5vZGUsIGNvbXBsZXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tcGxldGUoKTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgIERhdGEucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBEQVRBX0tFWSRjKTtcbiAgICB0aGlzLl9lbGVtZW50ID0gbnVsbDtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2FjdGl2YXRlID0gZnVuY3Rpb24gX2FjdGl2YXRlKGVsZW1lbnQsIGNvbnRhaW5lciwgY2FsbGJhY2spIHtcbiAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgIHZhciBhY3RpdmVFbGVtZW50cyA9IGNvbnRhaW5lciAmJiAoY29udGFpbmVyLm5vZGVOYW1lID09PSAnVUwnIHx8IGNvbnRhaW5lci5ub2RlTmFtZSA9PT0gJ09MJykgPyBTZWxlY3RvckVuZ2luZS5maW5kKFNFTEVDVE9SX0FDVElWRV9VTCwgY29udGFpbmVyKSA6IFNlbGVjdG9yRW5naW5lLmNoaWxkcmVuKGNvbnRhaW5lciwgU0VMRUNUT1JfQUNUSVZFJDIpO1xuICAgIHZhciBhY3RpdmUgPSBhY3RpdmVFbGVtZW50c1swXTtcbiAgICB2YXIgaXNUcmFuc2l0aW9uaW5nID0gY2FsbGJhY2sgJiYgYWN0aXZlICYmIGFjdGl2ZS5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9GQURFJDQpO1xuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICByZXR1cm4gX3RoaXMyLl90cmFuc2l0aW9uQ29tcGxldGUoZWxlbWVudCwgYWN0aXZlLCBjYWxsYmFjayk7XG4gICAgfTtcblxuICAgIGlmIChhY3RpdmUgJiYgaXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoYWN0aXZlKTtcbiAgICAgIGFjdGl2ZS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyQ3KTtcbiAgICAgIEV2ZW50SGFuZGxlci5vbmUoYWN0aXZlLCBUUkFOU0lUSU9OX0VORCwgY29tcGxldGUpO1xuICAgICAgZW11bGF0ZVRyYW5zaXRpb25FbmQoYWN0aXZlLCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uX3RyYW5zaXRpb25Db21wbGV0ZSA9IGZ1bmN0aW9uIF90cmFuc2l0aW9uQ29tcGxldGUoZWxlbWVudCwgYWN0aXZlLCBjYWxsYmFjaykge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIGFjdGl2ZS5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfQUNUSVZFJDUpO1xuICAgICAgdmFyIGRyb3Bkb3duQ2hpbGQgPSBTZWxlY3RvckVuZ2luZS5maW5kT25lKFNFTEVDVE9SX0RST1BET1dOX0FDVElWRV9DSElMRCwgYWN0aXZlLnBhcmVudE5vZGUpO1xuXG4gICAgICBpZiAoZHJvcGRvd25DaGlsZCkge1xuICAgICAgICBkcm9wZG93bkNoaWxkLmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9BQ1RJVkUkNSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhY3RpdmUuZ2V0QXR0cmlidXRlKCdyb2xlJykgPT09ICd0YWInKSB7XG4gICAgICAgIGFjdGl2ZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKENMQVNTX05BTUVfQUNUSVZFJDUpO1xuXG4gICAgaWYgKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyb2xlJykgPT09ICd0YWInKSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsIHRydWUpO1xuICAgIH1cblxuICAgIHJlZmxvdyhlbGVtZW50KTtcblxuICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDTEFTU19OQU1FX0ZBREUkNCkpIHtcbiAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX1NIT1ckNyk7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQucGFyZW50Tm9kZSAmJiBlbGVtZW50LnBhcmVudE5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfRFJPUERPV05fTUVOVSkpIHtcbiAgICAgIHZhciBkcm9wZG93bkVsZW1lbnQgPSBlbGVtZW50LmNsb3Nlc3QoU0VMRUNUT1JfRFJPUERPV04kMSk7XG5cbiAgICAgIGlmIChkcm9wZG93bkVsZW1lbnQpIHtcbiAgICAgICAgU2VsZWN0b3JFbmdpbmUuZmluZChTRUxFQ1RPUl9EUk9QRE9XTl9UT0dHTEUkMSkuZm9yRWFjaChmdW5jdGlvbiAoZHJvcGRvd24pIHtcbiAgICAgICAgICByZXR1cm4gZHJvcGRvd24uY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0FDVElWRSQ1KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH1cbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIFRhYi5qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBqUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgZGF0YSA9IERhdGEuZ2V0RGF0YSh0aGlzLCBEQVRBX0tFWSRjKSB8fCBuZXcgVGFiKHRoaXMpO1xuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBUYWIuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiBnZXRJbnN0YW5jZShlbGVtZW50KSB7XG4gICAgcmV0dXJuIERhdGEuZ2V0RGF0YShlbGVtZW50LCBEQVRBX0tFWSRjKTtcbiAgfTtcblxuICBfY3JlYXRlQ2xhc3MoVGFiLCBudWxsLCBbe1xuICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gVkVSU0lPTiRjO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBUYWI7XG59KCk7XG4vKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogRGF0YSBBcGkgaW1wbGVtZW50YXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cblxuRXZlbnRIYW5kbGVyLm9uKGRvY3VtZW50LCBFVkVOVF9DTElDS19EQVRBX0FQSSQ5LCBTRUxFQ1RPUl9EQVRBX1RPR0dMRSQ0LCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgdmFyIGRhdGEgPSBEYXRhLmdldERhdGEodGhpcywgREFUQV9LRVkkYykgfHwgbmV3IFRhYih0aGlzKTtcbiAgZGF0YS5zaG93KCk7XG59KTtcbnZhciAkJGQgPSBnZXRqUXVlcnkoKTtcbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBqUXVlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogYWRkIC50YWIgdG8galF1ZXJ5IG9ubHkgaWYgalF1ZXJ5IGlzIHByZXNlbnRcbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cblxuaWYgKCQkZCkge1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJGMgPSAkJGQuZm5bTkFNRSRjXTtcbiAgJCRkLmZuW05BTUUkY10gPSBUYWIualF1ZXJ5SW50ZXJmYWNlO1xuICAkJGQuZm5bTkFNRSRjXS5Db25zdHJ1Y3RvciA9IFRhYjtcblxuICAkJGQuZm5bTkFNRSRjXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkZC5mbltOQU1FJGNdID0gSlFVRVJZX05PX0NPTkZMSUNUJGM7XG4gICAgcmV0dXJuIFRhYi5qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG59XG5cbi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDb25zdGFudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBOQU1FJGQgPSAndG9hc3QnO1xudmFyIFZFUlNJT04kZCA9ICczLjIuMic7XG52YXIgREFUQV9LRVkkZCA9ICdjb3JldWkudG9hc3QnO1xudmFyIEVWRU5UX0tFWSRkID0gXCIuXCIgKyBEQVRBX0tFWSRkO1xudmFyIEVWRU5UX0NMSUNLX0RJU01JU1MkMSA9IFwiY2xpY2suZGlzbWlzc1wiICsgRVZFTlRfS0VZJGQ7XG52YXIgRVZFTlRfSElERSQ0ID0gXCJoaWRlXCIgKyBFVkVOVF9LRVkkZDtcbnZhciBFVkVOVF9ISURERU4kNCA9IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkZDtcbnZhciBFVkVOVF9TSE9XJDQgPSBcInNob3dcIiArIEVWRU5UX0tFWSRkO1xudmFyIEVWRU5UX1NIT1dOJDQgPSBcInNob3duXCIgKyBFVkVOVF9LRVkkZDtcbnZhciBDTEFTU19OQU1FX0ZBREUkNSA9ICdmYWRlJztcbnZhciBDTEFTU19OQU1FX0hJREUgPSAnaGlkZSc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XJDggPSAnc2hvdyc7XG52YXIgQ0xBU1NfTkFNRV9TSE9XSU5HID0gJ3Nob3dpbmcnO1xudmFyIERlZmF1bHRUeXBlJDkgPSB7XG4gIGFuaW1hdGlvbjogJ2Jvb2xlYW4nLFxuICBhdXRvaGlkZTogJ2Jvb2xlYW4nLFxuICBkZWxheTogJ251bWJlcidcbn07XG52YXIgRGVmYXVsdCRhID0ge1xuICBhbmltYXRpb246IHRydWUsXG4gIGF1dG9oaWRlOiB0cnVlLFxuICBkZWxheTogNTAwMFxufTtcbnZhciBTRUxFQ1RPUl9EQVRBX0RJU01JU1MkMSA9ICdbZGF0YS1kaXNtaXNzPVwidG9hc3RcIl0nO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENsYXNzIERlZmluaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbnZhciBUb2FzdCA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFRvYXN0KGVsZW1lbnQsIGNvbmZpZykge1xuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgIHRoaXMuX3RpbWVvdXQgPSBudWxsO1xuXG4gICAgdGhpcy5fc2V0TGlzdGVuZXJzKCk7XG5cbiAgICBEYXRhLnNldERhdGEoZWxlbWVudCwgREFUQV9LRVkkZCwgdGhpcyk7XG4gIH0gLy8gR2V0dGVyc1xuXG5cbiAgdmFyIF9wcm90byA9IFRvYXN0LnByb3RvdHlwZTtcblxuICAvLyBQdWJsaWNcbiAgX3Byb3RvLnNob3cgPSBmdW5jdGlvbiBzaG93KCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgc2hvd0V2ZW50ID0gRXZlbnRIYW5kbGVyLnRyaWdnZXIodGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPVyQ0KTtcblxuICAgIGlmIChzaG93RXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2NsZWFyVGltZW91dCgpO1xuXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5hbmltYXRpb24pIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0ZBREUkNSk7XG4gICAgfVxuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBfdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPV0lORyk7XG5cbiAgICAgIF90aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XJDgpO1xuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpcy5fZWxlbWVudCwgRVZFTlRfU0hPV04kNCk7XG5cbiAgICAgIGlmIChfdGhpcy5fY29uZmlnLmF1dG9oaWRlKSB7XG4gICAgICAgIF90aGlzLl90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXMuaGlkZSgpO1xuICAgICAgICB9LCBfdGhpcy5fY29uZmlnLmRlbGF5KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfSElERSk7XG5cbiAgICByZWZsb3codGhpcy5fZWxlbWVudCk7XG5cbiAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ0xBU1NfTkFNRV9TSE9XSU5HKTtcblxuICAgIGlmICh0aGlzLl9jb25maWcuYW5pbWF0aW9uKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBjb21wbGV0ZSk7XG4gICAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICBpZiAoIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENMQVNTX05BTUVfU0hPVyQ4KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBoaWRlRXZlbnQgPSBFdmVudEhhbmRsZXIudHJpZ2dlcih0aGlzLl9lbGVtZW50LCBFVkVOVF9ISURFJDQpO1xuXG4gICAgaWYgKGhpZGVFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICBfdGhpczIuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDTEFTU19OQU1FX0hJREUpO1xuXG4gICAgICBFdmVudEhhbmRsZXIudHJpZ2dlcihfdGhpczIuX2VsZW1lbnQsIEVWRU5UX0hJRERFTiQ0KTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENMQVNTX05BTUVfU0hPVyQ4KTtcblxuICAgIGlmICh0aGlzLl9jb25maWcuYW5pbWF0aW9uKSB7XG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgICBFdmVudEhhbmRsZXIub25lKHRoaXMuX2VsZW1lbnQsIFRSQU5TSVRJT05fRU5ELCBjb21wbGV0ZSk7XG4gICAgICBlbXVsYXRlVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50LCB0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wbGV0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgdGhpcy5fY2xlYXJUaW1lb3V0KCk7XG5cbiAgICBpZiAodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ0xBU1NfTkFNRV9TSE9XJDgpKSB7XG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NfTkFNRV9TSE9XJDgpO1xuICAgIH1cblxuICAgIEV2ZW50SGFuZGxlci5vZmYodGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xJQ0tfRElTTUlTUyQxKTtcbiAgICBEYXRhLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgREFUQV9LRVkkZCk7XG4gICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fY29uZmlnID0gbnVsbDtcbiAgfSAvLyBQcml2YXRlXG4gIDtcblxuICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkYSksIE1hbmlwdWxhdG9yLmdldERhdGFBdHRyaWJ1dGVzKHRoaXMuX2VsZW1lbnQpKSwgdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pO1xuICAgIHR5cGVDaGVja0NvbmZpZyhOQU1FJGQsIGNvbmZpZywgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfTtcblxuICBfcHJvdG8uX3NldExpc3RlbmVycyA9IGZ1bmN0aW9uIF9zZXRMaXN0ZW5lcnMoKSB7XG4gICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICBFdmVudEhhbmRsZXIub24odGhpcy5fZWxlbWVudCwgRVZFTlRfQ0xJQ0tfRElTTUlTUyQxLCBTRUxFQ1RPUl9EQVRBX0RJU01JU1MkMSwgZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIF90aGlzMy5oaWRlKCk7XG4gICAgfSk7XG4gIH07XG5cbiAgX3Byb3RvLl9jbGVhclRpbWVvdXQgPSBmdW5jdGlvbiBfY2xlYXJUaW1lb3V0KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KTtcbiAgICB0aGlzLl90aW1lb3V0ID0gbnVsbDtcbiAgfSAvLyBTdGF0aWNcbiAgO1xuXG4gIFRvYXN0LmpRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIGpRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBkYXRhID0gRGF0YS5nZXREYXRhKHRoaXMsIERBVEFfS0VZJGQpO1xuXG4gICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgIGRhdGEgPSBuZXcgVG9hc3QodGhpcywgX2NvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRhdGFbY29uZmlnXSh0aGlzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBUb2FzdC5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uIGdldEluc3RhbmNlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gRGF0YS5nZXREYXRhKGVsZW1lbnQsIERBVEFfS0VZJGQpO1xuICB9O1xuXG4gIF9jcmVhdGVDbGFzcyhUb2FzdCwgbnVsbCwgW3tcbiAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgcmV0dXJuIFZFUlNJT04kZDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiRGVmYXVsdFR5cGVcIixcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiBEZWZhdWx0VHlwZSQ5O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICByZXR1cm4gRGVmYXVsdCRhO1xuICAgIH1cbiAgfV0pO1xuXG4gIHJldHVybiBUb2FzdDtcbn0oKTtcblxudmFyICQkZSA9IGdldGpRdWVyeSgpO1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGpRdWVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAgYWRkIC50b2FzdCB0byBqUXVlcnkgb25seSBpZiBqUXVlcnkgaXMgcHJlc2VudFxuICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXG5pZiAoJCRlKSB7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkZCA9ICQkZS5mbltOQU1FJGRdO1xuICAkJGUuZm5bTkFNRSRkXSA9IFRvYXN0LmpRdWVyeUludGVyZmFjZTtcbiAgJCRlLmZuW05BTUUkZF0uQ29uc3RydWN0b3IgPSBUb2FzdDtcblxuICAkJGUuZm5bTkFNRSRkXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQkZS5mbltOQU1FJGRdID0gSlFVRVJZX05PX0NPTkZMSUNUJGQ7XG4gICAgcmV0dXJuIFRvYXN0LmpRdWVyeUludGVyZmFjZTtcbiAgfTtcbn1cblxuZXhwb3J0IHsgQWxlcnQsIEFzeW5jTG9hZCwgQnV0dG9uLCBDYXJvdXNlbCwgQ2xhc3NUb2dnbGVyLCBDb2xsYXBzZSwgRHJvcGRvd24sIE1vZGFsLCBQb3BvdmVyLCBTY3JvbGxTcHkgYXMgU2Nyb2xsc3B5LCBTaWRlYmFyLCBUYWIsIFRvYXN0LCBUb29sdGlwIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb3JldWkuZXNtLmpzLm1hcFxuIiwiaW1wb3J0IGdldENvbXBvc2l0ZVJlY3QgZnJvbSBcIi4vZG9tLXV0aWxzL2dldENvbXBvc2l0ZVJlY3QuanNcIjtcbmltcG9ydCBnZXRMYXlvdXRSZWN0IGZyb20gXCIuL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgbGlzdFNjcm9sbFBhcmVudHMgZnJvbSBcIi4vZG9tLXV0aWxzL2xpc3RTY3JvbGxQYXJlbnRzLmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuL2RvbS11dGlscy9nZXRPZmZzZXRQYXJlbnQuanNcIjtcbmltcG9ydCBvcmRlck1vZGlmaWVycyBmcm9tIFwiLi91dGlscy9vcmRlck1vZGlmaWVycy5qc1wiO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gXCIuL3V0aWxzL2RlYm91bmNlLmpzXCI7XG5pbXBvcnQgbWVyZ2VCeU5hbWUgZnJvbSBcIi4vdXRpbHMvbWVyZ2VCeU5hbWUuanNcIjtcbmltcG9ydCBkZXRlY3RPdmVyZmxvdyBmcm9tIFwiLi91dGlscy9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IHsgaXNFbGVtZW50IH0gZnJvbSBcIi4vZG9tLXV0aWxzL2luc3RhbmNlT2YuanNcIjtcbnZhciBERUZBVUxUX09QVElPTlMgPSB7XG4gIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gIG1vZGlmaWVyczogW10sXG4gIHN0cmF0ZWd5OiAnYWJzb2x1dGUnXG59O1xuXG5mdW5jdGlvbiBhcmVWYWxpZEVsZW1lbnRzKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuICFhcmdzLnNvbWUoZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gIShlbGVtZW50ICYmIHR5cGVvZiBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCA9PT0gJ2Z1bmN0aW9uJyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9wcGVyR2VuZXJhdG9yKGdlbmVyYXRvck9wdGlvbnMpIHtcbiAgaWYgKGdlbmVyYXRvck9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIGdlbmVyYXRvck9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHZhciBfZ2VuZXJhdG9yT3B0aW9ucyA9IGdlbmVyYXRvck9wdGlvbnMsXG4gICAgICBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYgPSBfZ2VuZXJhdG9yT3B0aW9ucy5kZWZhdWx0TW9kaWZpZXJzLFxuICAgICAgZGVmYXVsdE1vZGlmaWVycyA9IF9nZW5lcmF0b3JPcHRpb25zJGRlZiA9PT0gdm9pZCAwID8gW10gOiBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYsXG4gICAgICBfZ2VuZXJhdG9yT3B0aW9ucyRkZWYyID0gX2dlbmVyYXRvck9wdGlvbnMuZGVmYXVsdE9wdGlvbnMsXG4gICAgICBkZWZhdWx0T3B0aW9ucyA9IF9nZW5lcmF0b3JPcHRpb25zJGRlZjIgPT09IHZvaWQgMCA/IERFRkFVTFRfT1BUSU9OUyA6IF9nZW5lcmF0b3JPcHRpb25zJGRlZjI7XG4gIHJldHVybiBmdW5jdGlvbiBjcmVhdGVQb3BwZXIocmVmZXJlbmNlLCBwb3BwZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgICBvcHRpb25zID0gZGVmYXVsdE9wdGlvbnM7XG4gICAgfVxuXG4gICAgdmFyIHN0YXRlID0ge1xuICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgIG9yZGVyZWRNb2RpZmllcnM6IFtdLFxuICAgICAgb3B0aW9uczogT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9PUFRJT05TLCBkZWZhdWx0T3B0aW9ucyksXG4gICAgICBtb2RpZmllcnNEYXRhOiB7fSxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIHJlZmVyZW5jZTogcmVmZXJlbmNlLFxuICAgICAgICBwb3BwZXI6IHBvcHBlclxuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgc3R5bGVzOiB7fVxuICAgIH07XG4gICAgdmFyIGVmZmVjdENsZWFudXBGbnMgPSBbXTtcbiAgICB2YXIgaXNEZXN0cm95ZWQgPSBmYWxzZTtcbiAgICB2YXIgaW5zdGFuY2UgPSB7XG4gICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICBzZXRPcHRpb25zOiBmdW5jdGlvbiBzZXRPcHRpb25zKHNldE9wdGlvbnNBY3Rpb24pIHtcbiAgICAgICAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygc2V0T3B0aW9uc0FjdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IHNldE9wdGlvbnNBY3Rpb24oc3RhdGUub3B0aW9ucykgOiBzZXRPcHRpb25zQWN0aW9uO1xuICAgICAgICBjbGVhbnVwTW9kaWZpZXJFZmZlY3RzKCk7XG4gICAgICAgIHN0YXRlLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgc3RhdGUub3B0aW9ucywgb3B0aW9ucyk7XG4gICAgICAgIHN0YXRlLnNjcm9sbFBhcmVudHMgPSB7XG4gICAgICAgICAgcmVmZXJlbmNlOiBpc0VsZW1lbnQocmVmZXJlbmNlKSA/IGxpc3RTY3JvbGxQYXJlbnRzKHJlZmVyZW5jZSkgOiByZWZlcmVuY2UuY29udGV4dEVsZW1lbnQgPyBsaXN0U2Nyb2xsUGFyZW50cyhyZWZlcmVuY2UuY29udGV4dEVsZW1lbnQpIDogW10sXG4gICAgICAgICAgcG9wcGVyOiBsaXN0U2Nyb2xsUGFyZW50cyhwb3BwZXIpXG4gICAgICAgIH07IC8vIE9yZGVycyB0aGUgbW9kaWZpZXJzIGJhc2VkIG9uIHRoZWlyIGRlcGVuZGVuY2llcyBhbmQgYHBoYXNlYFxuICAgICAgICAvLyBwcm9wZXJ0aWVzXG5cbiAgICAgICAgdmFyIG9yZGVyZWRNb2RpZmllcnMgPSBvcmRlck1vZGlmaWVycyhtZXJnZUJ5TmFtZShbXS5jb25jYXQoZGVmYXVsdE1vZGlmaWVycywgc3RhdGUub3B0aW9ucy5tb2RpZmllcnMpKSk7IC8vIFN0cmlwIG91dCBkaXNhYmxlZCBtb2RpZmllcnNcblxuICAgICAgICBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzID0gb3JkZXJlZE1vZGlmaWVycy5maWx0ZXIoZnVuY3Rpb24gKG0pIHtcbiAgICAgICAgICByZXR1cm4gbS5lbmFibGVkO1xuICAgICAgICB9KTtcbiAgICAgICAgcnVuTW9kaWZpZXJFZmZlY3RzKCk7XG4gICAgICAgIHJldHVybiBpbnN0YW5jZS51cGRhdGUoKTtcbiAgICAgIH0sXG4gICAgICAvLyBTeW5jIHVwZGF0ZSDigJMgaXQgd2lsbCBhbHdheXMgYmUgZXhlY3V0ZWQsIGV2ZW4gaWYgbm90IG5lY2Vzc2FyeS4gVGhpc1xuICAgICAgLy8gaXMgdXNlZnVsIGZvciBsb3cgZnJlcXVlbmN5IHVwZGF0ZXMgd2hlcmUgc3luYyBiZWhhdmlvciBzaW1wbGlmaWVzIHRoZVxuICAgICAgLy8gbG9naWMuXG4gICAgICAvLyBGb3IgaGlnaCBmcmVxdWVuY3kgdXBkYXRlcyAoZS5nLiBgcmVzaXplYCBhbmQgYHNjcm9sbGAgZXZlbnRzKSwgYWx3YXlzXG4gICAgICAvLyBwcmVmZXIgdGhlIGFzeW5jIFBvcHBlciN1cGRhdGUgbWV0aG9kXG4gICAgICBmb3JjZVVwZGF0ZTogZnVuY3Rpb24gZm9yY2VVcGRhdGUoKSB7XG4gICAgICAgIGlmIChpc0Rlc3Ryb3llZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfc3RhdGUkZWxlbWVudHMgPSBzdGF0ZS5lbGVtZW50cyxcbiAgICAgICAgICAgIHJlZmVyZW5jZSA9IF9zdGF0ZSRlbGVtZW50cy5yZWZlcmVuY2UsXG4gICAgICAgICAgICBwb3BwZXIgPSBfc3RhdGUkZWxlbWVudHMucG9wcGVyOyAvLyBEb24ndCBwcm9jZWVkIGlmIGByZWZlcmVuY2VgIG9yIGBwb3BwZXJgIGFyZSBub3QgdmFsaWQgZWxlbWVudHNcbiAgICAgICAgLy8gYW55bW9yZVxuXG4gICAgICAgIGlmICghYXJlVmFsaWRFbGVtZW50cyhyZWZlcmVuY2UsIHBvcHBlcikpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gLy8gU3RvcmUgdGhlIHJlZmVyZW5jZSBhbmQgcG9wcGVyIHJlY3RzIHRvIGJlIHJlYWQgYnkgbW9kaWZpZXJzXG5cblxuICAgICAgICBzdGF0ZS5yZWN0cyA9IHtcbiAgICAgICAgICByZWZlcmVuY2U6IGdldENvbXBvc2l0ZVJlY3QocmVmZXJlbmNlLCBnZXRPZmZzZXRQYXJlbnQocG9wcGVyKSwgc3RhdGUub3B0aW9ucy5zdHJhdGVneSA9PT0gJ2ZpeGVkJyksXG4gICAgICAgICAgcG9wcGVyOiBnZXRMYXlvdXRSZWN0KHBvcHBlcilcbiAgICAgICAgfTsgLy8gTW9kaWZpZXJzIGhhdmUgdGhlIGFiaWxpdHkgdG8gcmVzZXQgdGhlIGN1cnJlbnQgdXBkYXRlIGN5Y2xlLiBUaGVcbiAgICAgICAgLy8gbW9zdCBjb21tb24gdXNlIGNhc2UgZm9yIHRoaXMgaXMgdGhlIGBmbGlwYCBtb2RpZmllciBjaGFuZ2luZyB0aGVcbiAgICAgICAgLy8gcGxhY2VtZW50LCB3aGljaCB0aGVuIG5lZWRzIHRvIHJlLXJ1biBhbGwgdGhlIG1vZGlmaWVycywgYmVjYXVzZSB0aGVcbiAgICAgICAgLy8gbG9naWMgd2FzIHByZXZpb3VzbHkgcmFuIGZvciB0aGUgcHJldmlvdXMgcGxhY2VtZW50IGFuZCBpcyB0aGVyZWZvcmVcbiAgICAgICAgLy8gc3RhbGUvaW5jb3JyZWN0XG5cbiAgICAgICAgc3RhdGUucmVzZXQgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucGxhY2VtZW50ID0gc3RhdGUub3B0aW9ucy5wbGFjZW1lbnQ7IC8vIE9uIGVhY2ggdXBkYXRlIGN5Y2xlLCB0aGUgYG1vZGlmaWVyc0RhdGFgIHByb3BlcnR5IGZvciBlYWNoIG1vZGlmaWVyXG4gICAgICAgIC8vIGlzIGZpbGxlZCB3aXRoIHRoZSBpbml0aWFsIGRhdGEgc3BlY2lmaWVkIGJ5IHRoZSBtb2RpZmllci4gVGhpcyBtZWFuc1xuICAgICAgICAvLyBpdCBkb2Vzbid0IHBlcnNpc3QgYW5kIGlzIGZyZXNoIG9uIGVhY2ggdXBkYXRlLlxuICAgICAgICAvLyBUbyBlbnN1cmUgcGVyc2lzdGVudCBkYXRhLCB1c2UgYCR7bmFtZX0jcGVyc2lzdGVudGBcblxuICAgICAgICBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgICAgICAgcmV0dXJuIHN0YXRlLm1vZGlmaWVyc0RhdGFbbW9kaWZpZXIubmFtZV0gPSBPYmplY3QuYXNzaWduKHt9LCBtb2RpZmllci5kYXRhKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHN0YXRlLm9yZGVyZWRNb2RpZmllcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgaWYgKHN0YXRlLnJlc2V0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICBzdGF0ZS5yZXNldCA9IGZhbHNlO1xuICAgICAgICAgICAgaW5kZXggPSAtMTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfc3RhdGUkb3JkZXJlZE1vZGlmaWUgPSBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzW2luZGV4XSxcbiAgICAgICAgICAgICAgZm4gPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUuZm4sXG4gICAgICAgICAgICAgIF9zdGF0ZSRvcmRlcmVkTW9kaWZpZTIgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUub3B0aW9ucyxcbiAgICAgICAgICAgICAgX29wdGlvbnMgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUyID09PSB2b2lkIDAgPyB7fSA6IF9zdGF0ZSRvcmRlcmVkTW9kaWZpZTIsXG4gICAgICAgICAgICAgIG5hbWUgPSBfc3RhdGUkb3JkZXJlZE1vZGlmaWUubmFtZTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHN0YXRlID0gZm4oe1xuICAgICAgICAgICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICAgICAgICAgIG9wdGlvbnM6IF9vcHRpb25zLFxuICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICBpbnN0YW5jZTogaW5zdGFuY2VcbiAgICAgICAgICAgIH0pIHx8IHN0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIEFzeW5jIGFuZCBvcHRpbWlzdGljYWxseSBvcHRpbWl6ZWQgdXBkYXRlIOKAkyBpdCB3aWxsIG5vdCBiZSBleGVjdXRlZCBpZlxuICAgICAgLy8gbm90IG5lY2Vzc2FyeSAoZGVib3VuY2VkIHRvIHJ1biBhdCBtb3N0IG9uY2UtcGVyLXRpY2spXG4gICAgICB1cGRhdGU6IGRlYm91bmNlKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgaW5zdGFuY2UuZm9yY2VVcGRhdGUoKTtcbiAgICAgICAgICByZXNvbHZlKHN0YXRlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGNsZWFudXBNb2RpZmllckVmZmVjdHMoKTtcbiAgICAgICAgaXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoIWFyZVZhbGlkRWxlbWVudHMocmVmZXJlbmNlLCBwb3BwZXIpKSB7XG4gICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgaW5zdGFuY2Uuc2V0T3B0aW9ucyhvcHRpb25zKS50aGVuKGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgaWYgKCFpc0Rlc3Ryb3llZCAmJiBvcHRpb25zLm9uRmlyc3RVcGRhdGUpIHtcbiAgICAgICAgb3B0aW9ucy5vbkZpcnN0VXBkYXRlKHN0YXRlKTtcbiAgICAgIH1cbiAgICB9KTsgLy8gTW9kaWZpZXJzIGhhdmUgdGhlIGFiaWxpdHkgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSBiZWZvcmUgdGhlIGZpcnN0XG4gICAgLy8gdXBkYXRlIGN5Y2xlIHJ1bnMuIFRoZXkgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgdXBkYXRlXG4gICAgLy8gY3ljbGUuIFRoaXMgaXMgdXNlZnVsIHdoZW4gYSBtb2RpZmllciBhZGRzIHNvbWUgcGVyc2lzdGVudCBkYXRhIHRoYXRcbiAgICAvLyBvdGhlciBtb2RpZmllcnMgbmVlZCB0byB1c2UsIGJ1dCB0aGUgbW9kaWZpZXIgaXMgcnVuIGFmdGVyIHRoZSBkZXBlbmRlbnRcbiAgICAvLyBvbmUuXG5cbiAgICBmdW5jdGlvbiBydW5Nb2RpZmllckVmZmVjdHMoKSB7XG4gICAgICBzdGF0ZS5vcmRlcmVkTW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKF9yZWYpIHtcbiAgICAgICAgdmFyIG5hbWUgPSBfcmVmLm5hbWUsXG4gICAgICAgICAgICBfcmVmJG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICAgICAgICBvcHRpb25zID0gX3JlZiRvcHRpb25zID09PSB2b2lkIDAgPyB7fSA6IF9yZWYkb3B0aW9ucyxcbiAgICAgICAgICAgIGVmZmVjdCA9IF9yZWYuZWZmZWN0O1xuXG4gICAgICAgIGlmICh0eXBlb2YgZWZmZWN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdmFyIGNsZWFudXBGbiA9IGVmZmVjdCh7XG4gICAgICAgICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgaW5zdGFuY2U6IGluc3RhbmNlLFxuICAgICAgICAgICAgb3B0aW9uczogb3B0aW9uc1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdmFyIG5vb3BGbiA9IGZ1bmN0aW9uIG5vb3BGbigpIHt9O1xuXG4gICAgICAgICAgZWZmZWN0Q2xlYW51cEZucy5wdXNoKGNsZWFudXBGbiB8fCBub29wRm4pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjbGVhbnVwTW9kaWZpZXJFZmZlY3RzKCkge1xuICAgICAgZWZmZWN0Q2xlYW51cEZucy5mb3JFYWNoKGZ1bmN0aW9uIChmbikge1xuICAgICAgICByZXR1cm4gZm4oKTtcbiAgICAgIH0pO1xuICAgICAgZWZmZWN0Q2xlYW51cEZucyA9IFtdO1xuICAgIH1cblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfTtcbn1cbmV4cG9ydCB2YXIgY3JlYXRlUG9wcGVyID0gLyojX19QVVJFX18qL3BvcHBlckdlbmVyYXRvcigpOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGRldGVjdE92ZXJmbG93IH07IiwiaW1wb3J0IHsgaXNTaGFkb3dSb290IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29udGFpbnMocGFyZW50LCBjaGlsZCkge1xuICB2YXIgcm9vdE5vZGUgPSBjaGlsZC5nZXRSb290Tm9kZSAmJiBjaGlsZC5nZXRSb290Tm9kZSgpOyAvLyBGaXJzdCwgYXR0ZW1wdCB3aXRoIGZhc3RlciBuYXRpdmUgbWV0aG9kXG5cbiAgaWYgKHBhcmVudC5jb250YWlucyhjaGlsZCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSAvLyB0aGVuIGZhbGxiYWNrIHRvIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiB3aXRoIFNoYWRvdyBET00gc3VwcG9ydFxuICBlbHNlIGlmIChyb290Tm9kZSAmJiBpc1NoYWRvd1Jvb3Qocm9vdE5vZGUpKSB7XG4gICAgICB2YXIgbmV4dCA9IGNoaWxkO1xuXG4gICAgICBkbyB7XG4gICAgICAgIGlmIChuZXh0ICYmIHBhcmVudC5pc1NhbWVOb2RlKG5leHQpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddOiBuZWVkIGEgYmV0dGVyIHdheSB0byBoYW5kbGUgdGhpcy4uLlxuXG5cbiAgICAgICAgbmV4dCA9IG5leHQucGFyZW50Tm9kZSB8fCBuZXh0Lmhvc3Q7XG4gICAgICB9IHdoaWxlIChuZXh0KTtcbiAgICB9IC8vIEdpdmUgdXAsIHRoZSByZXN1bHQgaXMgZmFsc2VcblxuXG4gIHJldHVybiBmYWxzZTtcbn0iLCJpbXBvcnQgeyBpc0VsZW1lbnQsIGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgeyByb3VuZCB9IGZyb20gXCIuLi91dGlscy9tYXRoLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGlzTGF5b3V0Vmlld3BvcnQgZnJvbSBcIi4vaXNMYXlvdXRWaWV3cG9ydC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIGluY2x1ZGVTY2FsZSwgaXNGaXhlZFN0cmF0ZWd5KSB7XG4gIGlmIChpbmNsdWRlU2NhbGUgPT09IHZvaWQgMCkge1xuICAgIGluY2x1ZGVTY2FsZSA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzRml4ZWRTdHJhdGVneSA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZFN0cmF0ZWd5ID0gZmFsc2U7XG4gIH1cblxuICB2YXIgY2xpZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIHZhciBzY2FsZVggPSAxO1xuICB2YXIgc2NhbGVZID0gMTtcblxuICBpZiAoaW5jbHVkZVNjYWxlICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBzY2FsZVggPSBlbGVtZW50Lm9mZnNldFdpZHRoID4gMCA/IHJvdW5kKGNsaWVudFJlY3Qud2lkdGgpIC8gZWxlbWVudC5vZmZzZXRXaWR0aCB8fCAxIDogMTtcbiAgICBzY2FsZVkgPSBlbGVtZW50Lm9mZnNldEhlaWdodCA+IDAgPyByb3VuZChjbGllbnRSZWN0LmhlaWdodCkgLyBlbGVtZW50Lm9mZnNldEhlaWdodCB8fCAxIDogMTtcbiAgfVxuXG4gIHZhciBfcmVmID0gaXNFbGVtZW50KGVsZW1lbnQpID8gZ2V0V2luZG93KGVsZW1lbnQpIDogd2luZG93LFxuICAgICAgdmlzdWFsVmlld3BvcnQgPSBfcmVmLnZpc3VhbFZpZXdwb3J0O1xuXG4gIHZhciBhZGRWaXN1YWxPZmZzZXRzID0gIWlzTGF5b3V0Vmlld3BvcnQoKSAmJiBpc0ZpeGVkU3RyYXRlZ3k7XG4gIHZhciB4ID0gKGNsaWVudFJlY3QubGVmdCArIChhZGRWaXN1YWxPZmZzZXRzICYmIHZpc3VhbFZpZXdwb3J0ID8gdmlzdWFsVmlld3BvcnQub2Zmc2V0TGVmdCA6IDApKSAvIHNjYWxlWDtcbiAgdmFyIHkgPSAoY2xpZW50UmVjdC50b3AgKyAoYWRkVmlzdWFsT2Zmc2V0cyAmJiB2aXN1YWxWaWV3cG9ydCA/IHZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcCA6IDApKSAvIHNjYWxlWTtcbiAgdmFyIHdpZHRoID0gY2xpZW50UmVjdC53aWR0aCAvIHNjYWxlWDtcbiAgdmFyIGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0IC8gc2NhbGVZO1xuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB0b3A6IHksXG4gICAgcmlnaHQ6IHggKyB3aWR0aCxcbiAgICBib3R0b206IHkgKyBoZWlnaHQsXG4gICAgbGVmdDogeCxcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcbn0iLCJpbXBvcnQgeyB2aWV3cG9ydCB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldFZpZXdwb3J0UmVjdCBmcm9tIFwiLi9nZXRWaWV3cG9ydFJlY3QuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudFJlY3QgZnJvbSBcIi4vZ2V0RG9jdW1lbnRSZWN0LmpzXCI7XG5pbXBvcnQgbGlzdFNjcm9sbFBhcmVudHMgZnJvbSBcIi4vbGlzdFNjcm9sbFBhcmVudHMuanNcIjtcbmltcG9ydCBnZXRPZmZzZXRQYXJlbnQgZnJvbSBcIi4vZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldENvbXB1dGVkU3R5bGUgZnJvbSBcIi4vZ2V0Q29tcHV0ZWRTdHlsZS5qc1wiO1xuaW1wb3J0IHsgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIFwiLi9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBnZXRQYXJlbnROb2RlIGZyb20gXCIuL2dldFBhcmVudE5vZGUuanNcIjtcbmltcG9ydCBjb250YWlucyBmcm9tIFwiLi9jb250YWlucy5qc1wiO1xuaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgcmVjdFRvQ2xpZW50UmVjdCBmcm9tIFwiLi4vdXRpbHMvcmVjdFRvQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IHsgbWF4LCBtaW4gfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiO1xuXG5mdW5jdGlvbiBnZXRJbm5lckJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICB2YXIgcmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50LCBmYWxzZSwgc3RyYXRlZ3kgPT09ICdmaXhlZCcpO1xuICByZWN0LnRvcCA9IHJlY3QudG9wICsgZWxlbWVudC5jbGllbnRUb3A7XG4gIHJlY3QubGVmdCA9IHJlY3QubGVmdCArIGVsZW1lbnQuY2xpZW50TGVmdDtcbiAgcmVjdC5ib3R0b20gPSByZWN0LnRvcCArIGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICByZWN0LnJpZ2h0ID0gcmVjdC5sZWZ0ICsgZWxlbWVudC5jbGllbnRXaWR0aDtcbiAgcmVjdC53aWR0aCA9IGVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIHJlY3QuaGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIHJlY3QueCA9IHJlY3QubGVmdDtcbiAgcmVjdC55ID0gcmVjdC50b3A7XG4gIHJldHVybiByZWN0O1xufVxuXG5mdW5jdGlvbiBnZXRDbGllbnRSZWN0RnJvbU1peGVkVHlwZShlbGVtZW50LCBjbGlwcGluZ1BhcmVudCwgc3RyYXRlZ3kpIHtcbiAgcmV0dXJuIGNsaXBwaW5nUGFyZW50ID09PSB2aWV3cG9ydCA/IHJlY3RUb0NsaWVudFJlY3QoZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSkgOiBpc0VsZW1lbnQoY2xpcHBpbmdQYXJlbnQpID8gZ2V0SW5uZXJCb3VuZGluZ0NsaWVudFJlY3QoY2xpcHBpbmdQYXJlbnQsIHN0cmF0ZWd5KSA6IHJlY3RUb0NsaWVudFJlY3QoZ2V0RG9jdW1lbnRSZWN0KGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSkpO1xufSAvLyBBIFwiY2xpcHBpbmcgcGFyZW50XCIgaXMgYW4gb3ZlcmZsb3dhYmxlIGNvbnRhaW5lciB3aXRoIHRoZSBjaGFyYWN0ZXJpc3RpYyBvZlxuLy8gY2xpcHBpbmcgKG9yIGhpZGluZykgb3ZlcmZsb3dpbmcgZWxlbWVudHMgd2l0aCBhIHBvc2l0aW9uIGRpZmZlcmVudCBmcm9tXG4vLyBgaW5pdGlhbGBcblxuXG5mdW5jdGlvbiBnZXRDbGlwcGluZ1BhcmVudHMoZWxlbWVudCkge1xuICB2YXIgY2xpcHBpbmdQYXJlbnRzID0gbGlzdFNjcm9sbFBhcmVudHMoZ2V0UGFyZW50Tm9kZShlbGVtZW50KSk7XG4gIHZhciBjYW5Fc2NhcGVDbGlwcGluZyA9IFsnYWJzb2x1dGUnLCAnZml4ZWQnXS5pbmRleE9mKGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24pID49IDA7XG4gIHZhciBjbGlwcGVyRWxlbWVudCA9IGNhbkVzY2FwZUNsaXBwaW5nICYmIGlzSFRNTEVsZW1lbnQoZWxlbWVudCkgPyBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudCkgOiBlbGVtZW50O1xuXG4gIGlmICghaXNFbGVtZW50KGNsaXBwZXJFbGVtZW50KSkge1xuICAgIHJldHVybiBbXTtcbiAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvMTQxNFxuXG5cbiAgcmV0dXJuIGNsaXBwaW5nUGFyZW50cy5maWx0ZXIoZnVuY3Rpb24gKGNsaXBwaW5nUGFyZW50KSB7XG4gICAgcmV0dXJuIGlzRWxlbWVudChjbGlwcGluZ1BhcmVudCkgJiYgY29udGFpbnMoY2xpcHBpbmdQYXJlbnQsIGNsaXBwZXJFbGVtZW50KSAmJiBnZXROb2RlTmFtZShjbGlwcGluZ1BhcmVudCkgIT09ICdib2R5JztcbiAgfSk7XG59IC8vIEdldHMgdGhlIG1heGltdW0gYXJlYSB0aGF0IHRoZSBlbGVtZW50IGlzIHZpc2libGUgaW4gZHVlIHRvIGFueSBudW1iZXIgb2Zcbi8vIGNsaXBwaW5nIHBhcmVudHNcblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRDbGlwcGluZ1JlY3QoZWxlbWVudCwgYm91bmRhcnksIHJvb3RCb3VuZGFyeSwgc3RyYXRlZ3kpIHtcbiAgdmFyIG1haW5DbGlwcGluZ1BhcmVudHMgPSBib3VuZGFyeSA9PT0gJ2NsaXBwaW5nUGFyZW50cycgPyBnZXRDbGlwcGluZ1BhcmVudHMoZWxlbWVudCkgOiBbXS5jb25jYXQoYm91bmRhcnkpO1xuICB2YXIgY2xpcHBpbmdQYXJlbnRzID0gW10uY29uY2F0KG1haW5DbGlwcGluZ1BhcmVudHMsIFtyb290Qm91bmRhcnldKTtcbiAgdmFyIGZpcnN0Q2xpcHBpbmdQYXJlbnQgPSBjbGlwcGluZ1BhcmVudHNbMF07XG4gIHZhciBjbGlwcGluZ1JlY3QgPSBjbGlwcGluZ1BhcmVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2NSZWN0LCBjbGlwcGluZ1BhcmVudCkge1xuICAgIHZhciByZWN0ID0gZ2V0Q2xpZW50UmVjdEZyb21NaXhlZFR5cGUoZWxlbWVudCwgY2xpcHBpbmdQYXJlbnQsIHN0cmF0ZWd5KTtcbiAgICBhY2NSZWN0LnRvcCA9IG1heChyZWN0LnRvcCwgYWNjUmVjdC50b3ApO1xuICAgIGFjY1JlY3QucmlnaHQgPSBtaW4ocmVjdC5yaWdodCwgYWNjUmVjdC5yaWdodCk7XG4gICAgYWNjUmVjdC5ib3R0b20gPSBtaW4ocmVjdC5ib3R0b20sIGFjY1JlY3QuYm90dG9tKTtcbiAgICBhY2NSZWN0LmxlZnQgPSBtYXgocmVjdC5sZWZ0LCBhY2NSZWN0LmxlZnQpO1xuICAgIHJldHVybiBhY2NSZWN0O1xuICB9LCBnZXRDbGllbnRSZWN0RnJvbU1peGVkVHlwZShlbGVtZW50LCBmaXJzdENsaXBwaW5nUGFyZW50LCBzdHJhdGVneSkpO1xuICBjbGlwcGluZ1JlY3Qud2lkdGggPSBjbGlwcGluZ1JlY3QucmlnaHQgLSBjbGlwcGluZ1JlY3QubGVmdDtcbiAgY2xpcHBpbmdSZWN0LmhlaWdodCA9IGNsaXBwaW5nUmVjdC5ib3R0b20gLSBjbGlwcGluZ1JlY3QudG9wO1xuICBjbGlwcGluZ1JlY3QueCA9IGNsaXBwaW5nUmVjdC5sZWZ0O1xuICBjbGlwcGluZ1JlY3QueSA9IGNsaXBwaW5nUmVjdC50b3A7XG4gIHJldHVybiBjbGlwcGluZ1JlY3Q7XG59IiwiaW1wb3J0IGdldEJvdW5kaW5nQ2xpZW50UmVjdCBmcm9tIFwiLi9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBnZXROb2RlU2Nyb2xsIGZyb20gXCIuL2dldE5vZGVTY3JvbGwuanNcIjtcbmltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi9nZXROb2RlTmFtZS5qc1wiO1xuaW1wb3J0IHsgaXNIVE1MRWxlbWVudCB9IGZyb20gXCIuL2luc3RhbmNlT2YuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4vZ2V0RG9jdW1lbnRFbGVtZW50LmpzXCI7XG5pbXBvcnQgaXNTY3JvbGxQYXJlbnQgZnJvbSBcIi4vaXNTY3JvbGxQYXJlbnQuanNcIjtcbmltcG9ydCB7IHJvdW5kIH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcblxuZnVuY3Rpb24gaXNFbGVtZW50U2NhbGVkKGVsZW1lbnQpIHtcbiAgdmFyIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB2YXIgc2NhbGVYID0gcm91bmQocmVjdC53aWR0aCkgLyBlbGVtZW50Lm9mZnNldFdpZHRoIHx8IDE7XG4gIHZhciBzY2FsZVkgPSByb3VuZChyZWN0LmhlaWdodCkgLyBlbGVtZW50Lm9mZnNldEhlaWdodCB8fCAxO1xuICByZXR1cm4gc2NhbGVYICE9PSAxIHx8IHNjYWxlWSAhPT0gMTtcbn0gLy8gUmV0dXJucyB0aGUgY29tcG9zaXRlIHJlY3Qgb2YgYW4gZWxlbWVudCByZWxhdGl2ZSB0byBpdHMgb2Zmc2V0UGFyZW50LlxuLy8gQ29tcG9zaXRlIG1lYW5zIGl0IHRha2VzIGludG8gYWNjb3VudCB0cmFuc2Zvcm1zIGFzIHdlbGwgYXMgbGF5b3V0LlxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldENvbXBvc2l0ZVJlY3QoZWxlbWVudE9yVmlydHVhbEVsZW1lbnQsIG9mZnNldFBhcmVudCwgaXNGaXhlZCkge1xuICBpZiAoaXNGaXhlZCA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZCA9IGZhbHNlO1xuICB9XG5cbiAgdmFyIGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICB2YXIgb2Zmc2V0UGFyZW50SXNTY2FsZWQgPSBpc0hUTUxFbGVtZW50KG9mZnNldFBhcmVudCkgJiYgaXNFbGVtZW50U2NhbGVkKG9mZnNldFBhcmVudCk7XG4gIHZhciBkb2N1bWVudEVsZW1lbnQgPSBnZXREb2N1bWVudEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgdmFyIHJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudE9yVmlydHVhbEVsZW1lbnQsIG9mZnNldFBhcmVudElzU2NhbGVkLCBpc0ZpeGVkKTtcbiAgdmFyIHNjcm9sbCA9IHtcbiAgICBzY3JvbGxMZWZ0OiAwLFxuICAgIHNjcm9sbFRvcDogMFxuICB9O1xuICB2YXIgb2Zmc2V0cyA9IHtcbiAgICB4OiAwLFxuICAgIHk6IDBcbiAgfTtcblxuICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQgfHwgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkKSB7XG4gICAgaWYgKGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgIT09ICdib2R5JyB8fCAvLyBodHRwczovL2dpdGh1Yi5jb20vcG9wcGVyanMvcG9wcGVyLWNvcmUvaXNzdWVzLzEwNzhcbiAgICBpc1Njcm9sbFBhcmVudChkb2N1bWVudEVsZW1lbnQpKSB7XG4gICAgICBzY3JvbGwgPSBnZXROb2RlU2Nyb2xsKG9mZnNldFBhcmVudCk7XG4gICAgfVxuXG4gICAgaWYgKGlzSFRNTEVsZW1lbnQob2Zmc2V0UGFyZW50KSkge1xuICAgICAgb2Zmc2V0cyA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChvZmZzZXRQYXJlbnQsIHRydWUpO1xuICAgICAgb2Zmc2V0cy54ICs9IG9mZnNldFBhcmVudC5jbGllbnRMZWZ0O1xuICAgICAgb2Zmc2V0cy55ICs9IG9mZnNldFBhcmVudC5jbGllbnRUb3A7XG4gICAgfSBlbHNlIGlmIChkb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgIG9mZnNldHMueCA9IGdldFdpbmRvd1Njcm9sbEJhclgoZG9jdW1lbnRFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHg6IHJlY3QubGVmdCArIHNjcm9sbC5zY3JvbGxMZWZ0IC0gb2Zmc2V0cy54LFxuICAgIHk6IHJlY3QudG9wICsgc2Nyb2xsLnNjcm9sbFRvcCAtIG9mZnNldHMueSxcbiAgICB3aWR0aDogcmVjdC53aWR0aCxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0XG4gIH07XG59IiwiaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkge1xuICByZXR1cm4gZ2V0V2luZG93KGVsZW1lbnQpLmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG59IiwiaW1wb3J0IHsgaXNFbGVtZW50IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpIHtcbiAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXTogYXNzdW1lIGJvZHkgaXMgYWx3YXlzIGF2YWlsYWJsZVxuICByZXR1cm4gKChpc0VsZW1lbnQoZWxlbWVudCkgPyBlbGVtZW50Lm93bmVyRG9jdW1lbnQgOiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgZWxlbWVudC5kb2N1bWVudCkgfHwgd2luZG93LmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQ7XG59IiwiaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGwgZnJvbSBcIi4vZ2V0V2luZG93U2Nyb2xsLmpzXCI7XG5pbXBvcnQgeyBtYXggfSBmcm9tIFwiLi4vdXRpbHMvbWF0aC5qc1wiOyAvLyBHZXRzIHRoZSBlbnRpcmUgc2l6ZSBvZiB0aGUgc2Nyb2xsYWJsZSBkb2N1bWVudCBhcmVhLCBldmVuIGV4dGVuZGluZyBvdXRzaWRlXG4vLyBvZiB0aGUgYDxodG1sPmAgYW5kIGA8Ym9keT5gIHJlY3QgYm91bmRzIGlmIGhvcml6b250YWxseSBzY3JvbGxhYmxlXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERvY3VtZW50UmVjdChlbGVtZW50KSB7XG4gIHZhciBfZWxlbWVudCRvd25lckRvY3VtZW47XG5cbiAgdmFyIGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIHZhciB3aW5TY3JvbGwgPSBnZXRXaW5kb3dTY3JvbGwoZWxlbWVudCk7XG4gIHZhciBib2R5ID0gKF9lbGVtZW50JG93bmVyRG9jdW1lbiA9IGVsZW1lbnQub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9lbGVtZW50JG93bmVyRG9jdW1lbi5ib2R5O1xuICB2YXIgd2lkdGggPSBtYXgoaHRtbC5zY3JvbGxXaWR0aCwgaHRtbC5jbGllbnRXaWR0aCwgYm9keSA/IGJvZHkuc2Nyb2xsV2lkdGggOiAwLCBib2R5ID8gYm9keS5jbGllbnRXaWR0aCA6IDApO1xuICB2YXIgaGVpZ2h0ID0gbWF4KGh0bWwuc2Nyb2xsSGVpZ2h0LCBodG1sLmNsaWVudEhlaWdodCwgYm9keSA/IGJvZHkuc2Nyb2xsSGVpZ2h0IDogMCwgYm9keSA/IGJvZHkuY2xpZW50SGVpZ2h0IDogMCk7XG4gIHZhciB4ID0gLXdpblNjcm9sbC5zY3JvbGxMZWZ0ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KTtcbiAgdmFyIHkgPSAtd2luU2Nyb2xsLnNjcm9sbFRvcDtcblxuICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShib2R5IHx8IGh0bWwpLmRpcmVjdGlvbiA9PT0gJ3J0bCcpIHtcbiAgICB4ICs9IG1heChodG1sLmNsaWVudFdpZHRoLCBib2R5ID8gYm9keS5jbGllbnRXaWR0aCA6IDApIC0gd2lkdGg7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRIVE1MRWxlbWVudFNjcm9sbChlbGVtZW50KSB7XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogZWxlbWVudC5zY3JvbGxMZWZ0LFxuICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxUb3BcbiAgfTtcbn0iLCJpbXBvcnQgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGZyb20gXCIuL2dldEJvdW5kaW5nQ2xpZW50UmVjdC5qc1wiOyAvLyBSZXR1cm5zIHRoZSBsYXlvdXQgcmVjdCBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGl0cyBvZmZzZXRQYXJlbnQuIExheW91dFxuLy8gbWVhbnMgaXQgZG9lc24ndCB0YWtlIGludG8gYWNjb3VudCB0cmFuc2Zvcm1zLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRMYXlvdXRSZWN0KGVsZW1lbnQpIHtcbiAgdmFyIGNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCk7IC8vIFVzZSB0aGUgY2xpZW50UmVjdCBzaXplcyBpZiBpdCdzIG5vdCBiZWVuIHRyYW5zZm9ybWVkLlxuICAvLyBGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vcG9wcGVyanMvcG9wcGVyLWNvcmUvaXNzdWVzLzEyMjNcblxuICB2YXIgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgaWYgKE1hdGguYWJzKGNsaWVudFJlY3Qud2lkdGggLSB3aWR0aCkgPD0gMSkge1xuICAgIHdpZHRoID0gY2xpZW50UmVjdC53aWR0aDtcbiAgfVxuXG4gIGlmIChNYXRoLmFicyhjbGllbnRSZWN0LmhlaWdodCAtIGhlaWdodCkgPD0gMSkge1xuICAgIGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBlbGVtZW50Lm9mZnNldExlZnQsXG4gICAgeTogZWxlbWVudC5vZmZzZXRUb3AsXG4gICAgd2lkdGg6IHdpZHRoLFxuICAgIGhlaWdodDogaGVpZ2h0XG4gIH07XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0Tm9kZU5hbWUoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudCA/IChlbGVtZW50Lm5vZGVOYW1lIHx8ICcnKS50b0xvd2VyQ2FzZSgpIDogbnVsbDtcbn0iLCJpbXBvcnQgZ2V0V2luZG93U2Nyb2xsIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvdyBmcm9tIFwiLi9nZXRXaW5kb3cuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgZ2V0SFRNTEVsZW1lbnRTY3JvbGwgZnJvbSBcIi4vZ2V0SFRNTEVsZW1lbnRTY3JvbGwuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE5vZGVTY3JvbGwobm9kZSkge1xuICBpZiAobm9kZSA9PT0gZ2V0V2luZG93KG5vZGUpIHx8ICFpc0hUTUxFbGVtZW50KG5vZGUpKSB7XG4gICAgcmV0dXJuIGdldFdpbmRvd1Njcm9sbChub2RlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZ2V0SFRNTEVsZW1lbnRTY3JvbGwobm9kZSk7XG4gIH1cbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSBmcm9tIFwiLi9nZXRDb21wdXRlZFN0eWxlLmpzXCI7XG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50LCBpc1NoYWRvd1Jvb3QgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5pbXBvcnQgaXNUYWJsZUVsZW1lbnQgZnJvbSBcIi4vaXNUYWJsZUVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRQYXJlbnROb2RlIGZyb20gXCIuL2dldFBhcmVudE5vZGUuanNcIjtcbmltcG9ydCBnZXRVQVN0cmluZyBmcm9tIFwiLi4vdXRpbHMvdXNlckFnZW50LmpzXCI7XG5cbmZ1bmN0aW9uIGdldFRydWVPZmZzZXRQYXJlbnQoZWxlbWVudCkge1xuICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkgfHwgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BvcHBlcmpzL3BvcHBlci1jb3JlL2lzc3Vlcy84MzdcbiAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0UGFyZW50O1xufSAvLyBgLm9mZnNldFBhcmVudGAgcmVwb3J0cyBgbnVsbGAgZm9yIGZpeGVkIGVsZW1lbnRzLCB3aGlsZSBhYnNvbHV0ZSBlbGVtZW50c1xuLy8gcmV0dXJuIHRoZSBjb250YWluaW5nIGJsb2NrXG5cblxuZnVuY3Rpb24gZ2V0Q29udGFpbmluZ0Jsb2NrKGVsZW1lbnQpIHtcbiAgdmFyIGlzRmlyZWZveCA9IC9maXJlZm94L2kudGVzdChnZXRVQVN0cmluZygpKTtcbiAgdmFyIGlzSUUgPSAvVHJpZGVudC9pLnRlc3QoZ2V0VUFTdHJpbmcoKSk7XG5cbiAgaWYgKGlzSUUgJiYgaXNIVE1MRWxlbWVudChlbGVtZW50KSkge1xuICAgIC8vIEluIElFIDksIDEwIGFuZCAxMSBmaXhlZCBlbGVtZW50cyBjb250YWluaW5nIGJsb2NrIGlzIGFsd2F5cyBlc3RhYmxpc2hlZCBieSB0aGUgdmlld3BvcnRcbiAgICB2YXIgZWxlbWVudENzcyA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG5cbiAgICBpZiAoZWxlbWVudENzcy5wb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgdmFyIGN1cnJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShlbGVtZW50KTtcblxuICBpZiAoaXNTaGFkb3dSb290KGN1cnJlbnROb2RlKSkge1xuICAgIGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUuaG9zdDtcbiAgfVxuXG4gIHdoaWxlIChpc0hUTUxFbGVtZW50KGN1cnJlbnROb2RlKSAmJiBbJ2h0bWwnLCAnYm9keSddLmluZGV4T2YoZ2V0Tm9kZU5hbWUoY3VycmVudE5vZGUpKSA8IDApIHtcbiAgICB2YXIgY3NzID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50Tm9kZSk7IC8vIFRoaXMgaXMgbm9uLWV4aGF1c3RpdmUgYnV0IGNvdmVycyB0aGUgbW9zdCBjb21tb24gQ1NTIHByb3BlcnRpZXMgdGhhdFxuICAgIC8vIGNyZWF0ZSBhIGNvbnRhaW5pbmcgYmxvY2suXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0NvbnRhaW5pbmdfYmxvY2sjaWRlbnRpZnlpbmdfdGhlX2NvbnRhaW5pbmdfYmxvY2tcblxuICAgIGlmIChjc3MudHJhbnNmb3JtICE9PSAnbm9uZScgfHwgY3NzLnBlcnNwZWN0aXZlICE9PSAnbm9uZScgfHwgY3NzLmNvbnRhaW4gPT09ICdwYWludCcgfHwgWyd0cmFuc2Zvcm0nLCAncGVyc3BlY3RpdmUnXS5pbmRleE9mKGNzcy53aWxsQ2hhbmdlKSAhPT0gLTEgfHwgaXNGaXJlZm94ICYmIGNzcy53aWxsQ2hhbmdlID09PSAnZmlsdGVyJyB8fCBpc0ZpcmVmb3ggJiYgY3NzLmZpbHRlciAmJiBjc3MuZmlsdGVyICE9PSAnbm9uZScpIHtcbiAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5wYXJlbnROb2RlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufSAvLyBHZXRzIHRoZSBjbG9zZXN0IGFuY2VzdG9yIHBvc2l0aW9uZWQgZWxlbWVudC4gSGFuZGxlcyBzb21lIGVkZ2UgY2FzZXMsXG4vLyBzdWNoIGFzIHRhYmxlIGFuY2VzdG9ycyBhbmQgY3Jvc3MgYnJvd3NlciBidWdzLlxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldE9mZnNldFBhcmVudChlbGVtZW50KSB7XG4gIHZhciB3aW5kb3cgPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIHZhciBvZmZzZXRQYXJlbnQgPSBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQpO1xuXG4gIHdoaWxlIChvZmZzZXRQYXJlbnQgJiYgaXNUYWJsZUVsZW1lbnQob2Zmc2V0UGFyZW50KSAmJiBnZXRDb21wdXRlZFN0eWxlKG9mZnNldFBhcmVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnKSB7XG4gICAgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChvZmZzZXRQYXJlbnQpO1xuICB9XG5cbiAgaWYgKG9mZnNldFBhcmVudCAmJiAoZ2V0Tm9kZU5hbWUob2Zmc2V0UGFyZW50KSA9PT0gJ2h0bWwnIHx8IGdldE5vZGVOYW1lKG9mZnNldFBhcmVudCkgPT09ICdib2R5JyAmJiBnZXRDb21wdXRlZFN0eWxlKG9mZnNldFBhcmVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnKSkge1xuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICByZXR1cm4gb2Zmc2V0UGFyZW50IHx8IGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB8fCB3aW5kb3c7XG59IiwiaW1wb3J0IGdldE5vZGVOYW1lIGZyb20gXCIuL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IHsgaXNTaGFkb3dSb290IH0gZnJvbSBcIi4vaW5zdGFuY2VPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0UGFyZW50Tm9kZShlbGVtZW50KSB7XG4gIGlmIChnZXROb2RlTmFtZShlbGVtZW50KSA9PT0gJ2h0bWwnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4gKC8vIHRoaXMgaXMgYSBxdWlja2VyIChidXQgbGVzcyB0eXBlIHNhZmUpIHdheSB0byBzYXZlIHF1aXRlIHNvbWUgYnl0ZXMgZnJvbSB0aGUgYnVuZGxlXG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtcmV0dXJuXVxuICAgIC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXVxuICAgIGVsZW1lbnQuYXNzaWduZWRTbG90IHx8IC8vIHN0ZXAgaW50byB0aGUgc2hhZG93IERPTSBvZiB0aGUgcGFyZW50IG9mIGEgc2xvdHRlZCBub2RlXG4gICAgZWxlbWVudC5wYXJlbnROb2RlIHx8ICggLy8gRE9NIEVsZW1lbnQgZGV0ZWN0ZWRcbiAgICBpc1NoYWRvd1Jvb3QoZWxlbWVudCkgPyBlbGVtZW50Lmhvc3QgOiBudWxsKSB8fCAvLyBTaGFkb3dSb290IGRldGVjdGVkXG4gICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF06IEhUTUxFbGVtZW50IGlzIGEgTm9kZVxuICAgIGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSAvLyBmYWxsYmFja1xuXG4gICk7XG59IiwiaW1wb3J0IGdldFBhcmVudE5vZGUgZnJvbSBcIi4vZ2V0UGFyZW50Tm9kZS5qc1wiO1xuaW1wb3J0IGlzU2Nyb2xsUGFyZW50IGZyb20gXCIuL2lzU2Nyb2xsUGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmltcG9ydCB7IGlzSFRNTEVsZW1lbnQgfSBmcm9tIFwiLi9pbnN0YW5jZU9mLmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRTY3JvbGxQYXJlbnQobm9kZSkge1xuICBpZiAoWydodG1sJywgJ2JvZHknLCAnI2RvY3VtZW50J10uaW5kZXhPZihnZXROb2RlTmFtZShub2RlKSkgPj0gMCkge1xuICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXJldHVybl06IGFzc3VtZSBib2R5IGlzIGFsd2F5cyBhdmFpbGFibGVcbiAgICByZXR1cm4gbm9kZS5vd25lckRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBpZiAoaXNIVE1MRWxlbWVudChub2RlKSAmJiBpc1Njcm9sbFBhcmVudChub2RlKSkge1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgcmV0dXJuIGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKG5vZGUpKTtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGdldERvY3VtZW50RWxlbWVudCBmcm9tIFwiLi9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRXaW5kb3dTY3JvbGxCYXJYIGZyb20gXCIuL2dldFdpbmRvd1Njcm9sbEJhclguanNcIjtcbmltcG9ydCBpc0xheW91dFZpZXdwb3J0IGZyb20gXCIuL2lzTGF5b3V0Vmlld3BvcnQuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFZpZXdwb3J0UmVjdChlbGVtZW50LCBzdHJhdGVneSkge1xuICB2YXIgd2luID0gZ2V0V2luZG93KGVsZW1lbnQpO1xuICB2YXIgaHRtbCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgdmFyIHZpc3VhbFZpZXdwb3J0ID0gd2luLnZpc3VhbFZpZXdwb3J0O1xuICB2YXIgd2lkdGggPSBodG1sLmNsaWVudFdpZHRoO1xuICB2YXIgaGVpZ2h0ID0gaHRtbC5jbGllbnRIZWlnaHQ7XG4gIHZhciB4ID0gMDtcbiAgdmFyIHkgPSAwO1xuXG4gIGlmICh2aXN1YWxWaWV3cG9ydCkge1xuICAgIHdpZHRoID0gdmlzdWFsVmlld3BvcnQud2lkdGg7XG4gICAgaGVpZ2h0ID0gdmlzdWFsVmlld3BvcnQuaGVpZ2h0O1xuICAgIHZhciBsYXlvdXRWaWV3cG9ydCA9IGlzTGF5b3V0Vmlld3BvcnQoKTtcblxuICAgIGlmIChsYXlvdXRWaWV3cG9ydCB8fCAhbGF5b3V0Vmlld3BvcnQgJiYgc3RyYXRlZ3kgPT09ICdmaXhlZCcpIHtcbiAgICAgIHggPSB2aXN1YWxWaWV3cG9ydC5vZmZzZXRMZWZ0O1xuICAgICAgeSA9IHZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICB4OiB4ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KSxcbiAgICB5OiB5XG4gIH07XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2luZG93KG5vZGUpIHtcbiAgaWYgKG5vZGUgPT0gbnVsbCkge1xuICAgIHJldHVybiB3aW5kb3c7XG4gIH1cblxuICBpZiAobm9kZS50b1N0cmluZygpICE9PSAnW29iamVjdCBXaW5kb3ddJykge1xuICAgIHZhciBvd25lckRvY3VtZW50ID0gbm9kZS5vd25lckRvY3VtZW50O1xuICAgIHJldHVybiBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3cgOiB3aW5kb3c7XG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0V2luZG93U2Nyb2xsKG5vZGUpIHtcbiAgdmFyIHdpbiA9IGdldFdpbmRvdyhub2RlKTtcbiAgdmFyIHNjcm9sbExlZnQgPSB3aW4ucGFnZVhPZmZzZXQ7XG4gIHZhciBzY3JvbGxUb3AgPSB3aW4ucGFnZVlPZmZzZXQ7XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogc2Nyb2xsTGVmdCxcbiAgICBzY3JvbGxUb3A6IHNjcm9sbFRvcFxuICB9O1xufSIsImltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4vZ2V0Qm91bmRpbmdDbGllbnRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuL2dldERvY3VtZW50RWxlbWVudC5qc1wiO1xuaW1wb3J0IGdldFdpbmRvd1Njcm9sbCBmcm9tIFwiLi9nZXRXaW5kb3dTY3JvbGwuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFdpbmRvd1Njcm9sbEJhclgoZWxlbWVudCkge1xuICAvLyBJZiA8aHRtbD4gaGFzIGEgQ1NTIHdpZHRoIGdyZWF0ZXIgdGhhbiB0aGUgdmlld3BvcnQsIHRoZW4gdGhpcyB3aWxsIGJlXG4gIC8vIGluY29ycmVjdCBmb3IgUlRMLlxuICAvLyBQb3BwZXIgMSBpcyBicm9rZW4gaW4gdGhpcyBjYXNlIGFuZCBuZXZlciBoYWQgYSBidWcgcmVwb3J0IHNvIGxldCdzIGFzc3VtZVxuICAvLyBpdCdzIG5vdCBhbiBpc3N1ZS4gSSBkb24ndCB0aGluayBhbnlvbmUgZXZlciBzcGVjaWZpZXMgd2lkdGggb24gPGh0bWw+XG4gIC8vIGFueXdheS5cbiAgLy8gQnJvd3NlcnMgd2hlcmUgdGhlIGxlZnQgc2Nyb2xsYmFyIGRvZXNuJ3QgY2F1c2UgYW4gaXNzdWUgcmVwb3J0IGAwYCBmb3JcbiAgLy8gdGhpcyAoZS5nLiBFZGdlIDIwMTksIElFMTEsIFNhZmFyaSlcbiAgcmV0dXJuIGdldEJvdW5kaW5nQ2xpZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpLmxlZnQgKyBnZXRXaW5kb3dTY3JvbGwoZWxlbWVudCkuc2Nyb2xsTGVmdDtcbn0iLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuXG5mdW5jdGlvbiBpc0VsZW1lbnQobm9kZSkge1xuICB2YXIgT3duRWxlbWVudCA9IGdldFdpbmRvdyhub2RlKS5FbGVtZW50O1xuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIE93bkVsZW1lbnQgfHwgbm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGlzSFRNTEVsZW1lbnQobm9kZSkge1xuICB2YXIgT3duRWxlbWVudCA9IGdldFdpbmRvdyhub2RlKS5IVE1MRWxlbWVudDtcbiAgcmV0dXJuIG5vZGUgaW5zdGFuY2VvZiBPd25FbGVtZW50IHx8IG5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDtcbn1cblxuZnVuY3Rpb24gaXNTaGFkb3dSb290KG5vZGUpIHtcbiAgLy8gSUUgMTEgaGFzIG5vIFNoYWRvd1Jvb3RcbiAgaWYgKHR5cGVvZiBTaGFkb3dSb290ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBPd25FbGVtZW50ID0gZ2V0V2luZG93KG5vZGUpLlNoYWRvd1Jvb3Q7XG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgT3duRWxlbWVudCB8fCBub2RlIGluc3RhbmNlb2YgU2hhZG93Um9vdDtcbn1cblxuZXhwb3J0IHsgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50LCBpc1NoYWRvd1Jvb3QgfTsiLCJpbXBvcnQgZ2V0VUFTdHJpbmcgZnJvbSBcIi4uL3V0aWxzL3VzZXJBZ2VudC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaXNMYXlvdXRWaWV3cG9ydCgpIHtcbiAgcmV0dXJuICEvXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KGdldFVBU3RyaW5nKCkpO1xufSIsImltcG9ydCBnZXRDb21wdXRlZFN0eWxlIGZyb20gXCIuL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzU2Nyb2xsUGFyZW50KGVsZW1lbnQpIHtcbiAgLy8gRmlyZWZveCB3YW50cyB1cyB0byBjaGVjayBgLXhgIGFuZCBgLXlgIHZhcmlhdGlvbnMgYXMgd2VsbFxuICB2YXIgX2dldENvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLFxuICAgICAgb3ZlcmZsb3cgPSBfZ2V0Q29tcHV0ZWRTdHlsZS5vdmVyZmxvdyxcbiAgICAgIG92ZXJmbG93WCA9IF9nZXRDb21wdXRlZFN0eWxlLm92ZXJmbG93WCxcbiAgICAgIG92ZXJmbG93WSA9IF9nZXRDb21wdXRlZFN0eWxlLm92ZXJmbG93WTtcblxuICByZXR1cm4gL2F1dG98c2Nyb2xsfG92ZXJsYXl8aGlkZGVuLy50ZXN0KG92ZXJmbG93ICsgb3ZlcmZsb3dZICsgb3ZlcmZsb3dYKTtcbn0iLCJpbXBvcnQgZ2V0Tm9kZU5hbWUgZnJvbSBcIi4vZ2V0Tm9kZU5hbWUuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzVGFibGVFbGVtZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuIFsndGFibGUnLCAndGQnLCAndGgnXS5pbmRleE9mKGdldE5vZGVOYW1lKGVsZW1lbnQpKSA+PSAwO1xufSIsImltcG9ydCBnZXRTY3JvbGxQYXJlbnQgZnJvbSBcIi4vZ2V0U2Nyb2xsUGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0UGFyZW50Tm9kZSBmcm9tIFwiLi9nZXRQYXJlbnROb2RlLmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuL2dldFdpbmRvdy5qc1wiO1xuaW1wb3J0IGlzU2Nyb2xsUGFyZW50IGZyb20gXCIuL2lzU2Nyb2xsUGFyZW50LmpzXCI7XG4vKlxuZ2l2ZW4gYSBET00gZWxlbWVudCwgcmV0dXJuIHRoZSBsaXN0IG9mIGFsbCBzY3JvbGwgcGFyZW50cywgdXAgdGhlIGxpc3Qgb2YgYW5jZXNvcnNcbnVudGlsIHdlIGdldCB0byB0aGUgdG9wIHdpbmRvdyBvYmplY3QuIFRoaXMgbGlzdCBpcyB3aGF0IHdlIGF0dGFjaCBzY3JvbGwgbGlzdGVuZXJzXG50bywgYmVjYXVzZSBpZiBhbnkgb2YgdGhlc2UgcGFyZW50IGVsZW1lbnRzIHNjcm9sbCwgd2UnbGwgbmVlZCB0byByZS1jYWxjdWxhdGUgdGhlXG5yZWZlcmVuY2UgZWxlbWVudCdzIHBvc2l0aW9uLlxuKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbGlzdFNjcm9sbFBhcmVudHMoZWxlbWVudCwgbGlzdCkge1xuICB2YXIgX2VsZW1lbnQkb3duZXJEb2N1bWVuO1xuXG4gIGlmIChsaXN0ID09PSB2b2lkIDApIHtcbiAgICBsaXN0ID0gW107XG4gIH1cblxuICB2YXIgc2Nyb2xsUGFyZW50ID0gZ2V0U2Nyb2xsUGFyZW50KGVsZW1lbnQpO1xuICB2YXIgaXNCb2R5ID0gc2Nyb2xsUGFyZW50ID09PSAoKF9lbGVtZW50JG93bmVyRG9jdW1lbiA9IGVsZW1lbnQub3duZXJEb2N1bWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9lbGVtZW50JG93bmVyRG9jdW1lbi5ib2R5KTtcbiAgdmFyIHdpbiA9IGdldFdpbmRvdyhzY3JvbGxQYXJlbnQpO1xuICB2YXIgdGFyZ2V0ID0gaXNCb2R5ID8gW3dpbl0uY29uY2F0KHdpbi52aXN1YWxWaWV3cG9ydCB8fCBbXSwgaXNTY3JvbGxQYXJlbnQoc2Nyb2xsUGFyZW50KSA/IHNjcm9sbFBhcmVudCA6IFtdKSA6IHNjcm9sbFBhcmVudDtcbiAgdmFyIHVwZGF0ZWRMaXN0ID0gbGlzdC5jb25jYXQodGFyZ2V0KTtcbiAgcmV0dXJuIGlzQm9keSA/IHVwZGF0ZWRMaXN0IDogLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF06IGlzQm9keSB0ZWxscyB1cyB0YXJnZXQgd2lsbCBiZSBhbiBIVE1MRWxlbWVudCBoZXJlXG4gIHVwZGF0ZWRMaXN0LmNvbmNhdChsaXN0U2Nyb2xsUGFyZW50cyhnZXRQYXJlbnROb2RlKHRhcmdldCkpKTtcbn0iLCJleHBvcnQgdmFyIHRvcCA9ICd0b3AnO1xuZXhwb3J0IHZhciBib3R0b20gPSAnYm90dG9tJztcbmV4cG9ydCB2YXIgcmlnaHQgPSAncmlnaHQnO1xuZXhwb3J0IHZhciBsZWZ0ID0gJ2xlZnQnO1xuZXhwb3J0IHZhciBhdXRvID0gJ2F1dG8nO1xuZXhwb3J0IHZhciBiYXNlUGxhY2VtZW50cyA9IFt0b3AsIGJvdHRvbSwgcmlnaHQsIGxlZnRdO1xuZXhwb3J0IHZhciBzdGFydCA9ICdzdGFydCc7XG5leHBvcnQgdmFyIGVuZCA9ICdlbmQnO1xuZXhwb3J0IHZhciBjbGlwcGluZ1BhcmVudHMgPSAnY2xpcHBpbmdQYXJlbnRzJztcbmV4cG9ydCB2YXIgdmlld3BvcnQgPSAndmlld3BvcnQnO1xuZXhwb3J0IHZhciBwb3BwZXIgPSAncG9wcGVyJztcbmV4cG9ydCB2YXIgcmVmZXJlbmNlID0gJ3JlZmVyZW5jZSc7XG5leHBvcnQgdmFyIHZhcmlhdGlvblBsYWNlbWVudHMgPSAvKiNfX1BVUkVfXyovYmFzZVBsYWNlbWVudHMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICByZXR1cm4gYWNjLmNvbmNhdChbcGxhY2VtZW50ICsgXCItXCIgKyBzdGFydCwgcGxhY2VtZW50ICsgXCItXCIgKyBlbmRdKTtcbn0sIFtdKTtcbmV4cG9ydCB2YXIgcGxhY2VtZW50cyA9IC8qI19fUFVSRV9fKi9bXS5jb25jYXQoYmFzZVBsYWNlbWVudHMsIFthdXRvXSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsYWNlbWVudCkge1xuICByZXR1cm4gYWNjLmNvbmNhdChbcGxhY2VtZW50LCBwbGFjZW1lbnQgKyBcIi1cIiArIHN0YXJ0LCBwbGFjZW1lbnQgKyBcIi1cIiArIGVuZF0pO1xufSwgW10pOyAvLyBtb2RpZmllcnMgdGhhdCBuZWVkIHRvIHJlYWQgdGhlIERPTVxuXG5leHBvcnQgdmFyIGJlZm9yZVJlYWQgPSAnYmVmb3JlUmVhZCc7XG5leHBvcnQgdmFyIHJlYWQgPSAncmVhZCc7XG5leHBvcnQgdmFyIGFmdGVyUmVhZCA9ICdhZnRlclJlYWQnOyAvLyBwdXJlLWxvZ2ljIG1vZGlmaWVyc1xuXG5leHBvcnQgdmFyIGJlZm9yZU1haW4gPSAnYmVmb3JlTWFpbic7XG5leHBvcnQgdmFyIG1haW4gPSAnbWFpbic7XG5leHBvcnQgdmFyIGFmdGVyTWFpbiA9ICdhZnRlck1haW4nOyAvLyBtb2RpZmllciB3aXRoIHRoZSBwdXJwb3NlIHRvIHdyaXRlIHRvIHRoZSBET00gKG9yIHdyaXRlIGludG8gYSBmcmFtZXdvcmsgc3RhdGUpXG5cbmV4cG9ydCB2YXIgYmVmb3JlV3JpdGUgPSAnYmVmb3JlV3JpdGUnO1xuZXhwb3J0IHZhciB3cml0ZSA9ICd3cml0ZSc7XG5leHBvcnQgdmFyIGFmdGVyV3JpdGUgPSAnYWZ0ZXJXcml0ZSc7XG5leHBvcnQgdmFyIG1vZGlmaWVyUGhhc2VzID0gW2JlZm9yZVJlYWQsIHJlYWQsIGFmdGVyUmVhZCwgYmVmb3JlTWFpbiwgbWFpbiwgYWZ0ZXJNYWluLCBiZWZvcmVXcml0ZSwgd3JpdGUsIGFmdGVyV3JpdGVdOyIsImltcG9ydCBnZXROb2RlTmFtZSBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldE5vZGVOYW1lLmpzXCI7XG5pbXBvcnQgeyBpc0hUTUxFbGVtZW50IH0gZnJvbSBcIi4uL2RvbS11dGlscy9pbnN0YW5jZU9mLmpzXCI7IC8vIFRoaXMgbW9kaWZpZXIgdGFrZXMgdGhlIHN0eWxlcyBwcmVwYXJlZCBieSB0aGUgYGNvbXB1dGVTdHlsZXNgIG1vZGlmaWVyXG4vLyBhbmQgYXBwbGllcyB0aGVtIHRvIHRoZSBIVE1MRWxlbWVudHMgc3VjaCBhcyBwb3BwZXIgYW5kIGFycm93XG5cbmZ1bmN0aW9uIGFwcGx5U3R5bGVzKF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZTtcbiAgT2JqZWN0LmtleXMoc3RhdGUuZWxlbWVudHMpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB2YXIgc3R5bGUgPSBzdGF0ZS5zdHlsZXNbbmFtZV0gfHwge307XG4gICAgdmFyIGF0dHJpYnV0ZXMgPSBzdGF0ZS5hdHRyaWJ1dGVzW25hbWVdIHx8IHt9O1xuICAgIHZhciBlbGVtZW50ID0gc3RhdGUuZWxlbWVudHNbbmFtZV07IC8vIGFycm93IGlzIG9wdGlvbmFsICsgdmlydHVhbCBlbGVtZW50c1xuXG4gICAgaWYgKCFpc0hUTUxFbGVtZW50KGVsZW1lbnQpIHx8ICFnZXROb2RlTmFtZShlbGVtZW50KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gRmxvdyBkb2Vzbid0IHN1cHBvcnQgdG8gZXh0ZW5kIHRoaXMgcHJvcGVydHksIGJ1dCBpdCdzIHRoZSBtb3N0XG4gICAgLy8gZWZmZWN0aXZlIHdheSB0byBhcHBseSBzdHlsZXMgdG8gYW4gSFRNTEVsZW1lbnRcbiAgICAvLyAkRmxvd0ZpeE1lW2Nhbm5vdC13cml0ZV1cblxuXG4gICAgT2JqZWN0LmFzc2lnbihlbGVtZW50LnN0eWxlLCBzdHlsZSk7XG4gICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgdmFyIHZhbHVlID0gYXR0cmlidXRlc1tuYW1lXTtcblxuICAgICAgaWYgKHZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShuYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlID09PSB0cnVlID8gJycgOiB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBlZmZlY3QoX3JlZjIpIHtcbiAgdmFyIHN0YXRlID0gX3JlZjIuc3RhdGU7XG4gIHZhciBpbml0aWFsU3R5bGVzID0ge1xuICAgIHBvcHBlcjoge1xuICAgICAgcG9zaXRpb246IHN0YXRlLm9wdGlvbnMuc3RyYXRlZ3ksXG4gICAgICBsZWZ0OiAnMCcsXG4gICAgICB0b3A6ICcwJyxcbiAgICAgIG1hcmdpbjogJzAnXG4gICAgfSxcbiAgICBhcnJvdzoge1xuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSdcbiAgICB9LFxuICAgIHJlZmVyZW5jZToge31cbiAgfTtcbiAgT2JqZWN0LmFzc2lnbihzdGF0ZS5lbGVtZW50cy5wb3BwZXIuc3R5bGUsIGluaXRpYWxTdHlsZXMucG9wcGVyKTtcbiAgc3RhdGUuc3R5bGVzID0gaW5pdGlhbFN0eWxlcztcblxuICBpZiAoc3RhdGUuZWxlbWVudHMuYXJyb3cpIHtcbiAgICBPYmplY3QuYXNzaWduKHN0YXRlLmVsZW1lbnRzLmFycm93LnN0eWxlLCBpbml0aWFsU3R5bGVzLmFycm93KTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgT2JqZWN0LmtleXMoc3RhdGUuZWxlbWVudHMpLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIHZhciBlbGVtZW50ID0gc3RhdGUuZWxlbWVudHNbbmFtZV07XG4gICAgICB2YXIgYXR0cmlidXRlcyA9IHN0YXRlLmF0dHJpYnV0ZXNbbmFtZV0gfHwge307XG4gICAgICB2YXIgc3R5bGVQcm9wZXJ0aWVzID0gT2JqZWN0LmtleXMoc3RhdGUuc3R5bGVzLmhhc093blByb3BlcnR5KG5hbWUpID8gc3RhdGUuc3R5bGVzW25hbWVdIDogaW5pdGlhbFN0eWxlc1tuYW1lXSk7IC8vIFNldCBhbGwgdmFsdWVzIHRvIGFuIGVtcHR5IHN0cmluZyB0byB1bnNldCB0aGVtXG5cbiAgICAgIHZhciBzdHlsZSA9IHN0eWxlUHJvcGVydGllcy5yZWR1Y2UoZnVuY3Rpb24gKHN0eWxlLCBwcm9wZXJ0eSkge1xuICAgICAgICBzdHlsZVtwcm9wZXJ0eV0gPSAnJztcbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgfSwge30pOyAvLyBhcnJvdyBpcyBvcHRpb25hbCArIHZpcnR1YWwgZWxlbWVudHNcblxuICAgICAgaWYgKCFpc0hUTUxFbGVtZW50KGVsZW1lbnQpIHx8ICFnZXROb2RlTmFtZShlbGVtZW50KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgc3R5bGUpO1xuICAgICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlKSB7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2FwcGx5U3R5bGVzJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICd3cml0ZScsXG4gIGZuOiBhcHBseVN0eWxlcyxcbiAgZWZmZWN0OiBlZmZlY3QsXG4gIHJlcXVpcmVzOiBbJ2NvbXB1dGVTdHlsZXMnXVxufTsiLCJpbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldExheW91dFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgY29udGFpbnMgZnJvbSBcIi4uL2RvbS11dGlscy9jb250YWlucy5qc1wiO1xuaW1wb3J0IGdldE9mZnNldFBhcmVudCBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldE9mZnNldFBhcmVudC5qc1wiO1xuaW1wb3J0IGdldE1haW5BeGlzRnJvbVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyB3aXRoaW4gfSBmcm9tIFwiLi4vdXRpbHMvd2l0aGluLmpzXCI7XG5pbXBvcnQgbWVyZ2VQYWRkaW5nT2JqZWN0IGZyb20gXCIuLi91dGlscy9tZXJnZVBhZGRpbmdPYmplY3QuanNcIjtcbmltcG9ydCBleHBhbmRUb0hhc2hNYXAgZnJvbSBcIi4uL3V0aWxzL2V4cGFuZFRvSGFzaE1hcC5qc1wiO1xuaW1wb3J0IHsgbGVmdCwgcmlnaHQsIGJhc2VQbGFjZW1lbnRzLCB0b3AsIGJvdHRvbSB9IGZyb20gXCIuLi9lbnVtcy5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbnZhciB0b1BhZGRpbmdPYmplY3QgPSBmdW5jdGlvbiB0b1BhZGRpbmdPYmplY3QocGFkZGluZywgc3RhdGUpIHtcbiAgcGFkZGluZyA9IHR5cGVvZiBwYWRkaW5nID09PSAnZnVuY3Rpb24nID8gcGFkZGluZyhPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5yZWN0cywge1xuICAgIHBsYWNlbWVudDogc3RhdGUucGxhY2VtZW50XG4gIH0pKSA6IHBhZGRpbmc7XG4gIHJldHVybiBtZXJnZVBhZGRpbmdPYmplY3QodHlwZW9mIHBhZGRpbmcgIT09ICdudW1iZXInID8gcGFkZGluZyA6IGV4cGFuZFRvSGFzaE1hcChwYWRkaW5nLCBiYXNlUGxhY2VtZW50cykpO1xufTtcblxuZnVuY3Rpb24gYXJyb3coX3JlZikge1xuICB2YXIgX3N0YXRlJG1vZGlmaWVyc0RhdGEkO1xuXG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lLFxuICAgICAgb3B0aW9ucyA9IF9yZWYub3B0aW9ucztcbiAgdmFyIGFycm93RWxlbWVudCA9IHN0YXRlLmVsZW1lbnRzLmFycm93O1xuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cztcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBnZXRCYXNlUGxhY2VtZW50KHN0YXRlLnBsYWNlbWVudCk7XG4gIHZhciBheGlzID0gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KGJhc2VQbGFjZW1lbnQpO1xuICB2YXIgaXNWZXJ0aWNhbCA9IFtsZWZ0LCByaWdodF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSA+PSAwO1xuICB2YXIgbGVuID0gaXNWZXJ0aWNhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICBpZiAoIWFycm93RWxlbWVudCB8fCAhcG9wcGVyT2Zmc2V0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBwYWRkaW5nT2JqZWN0ID0gdG9QYWRkaW5nT2JqZWN0KG9wdGlvbnMucGFkZGluZywgc3RhdGUpO1xuICB2YXIgYXJyb3dSZWN0ID0gZ2V0TGF5b3V0UmVjdChhcnJvd0VsZW1lbnQpO1xuICB2YXIgbWluUHJvcCA9IGF4aXMgPT09ICd5JyA/IHRvcCA6IGxlZnQ7XG4gIHZhciBtYXhQcm9wID0gYXhpcyA9PT0gJ3knID8gYm90dG9tIDogcmlnaHQ7XG4gIHZhciBlbmREaWZmID0gc3RhdGUucmVjdHMucmVmZXJlbmNlW2xlbl0gKyBzdGF0ZS5yZWN0cy5yZWZlcmVuY2VbYXhpc10gLSBwb3BwZXJPZmZzZXRzW2F4aXNdIC0gc3RhdGUucmVjdHMucG9wcGVyW2xlbl07XG4gIHZhciBzdGFydERpZmYgPSBwb3BwZXJPZmZzZXRzW2F4aXNdIC0gc3RhdGUucmVjdHMucmVmZXJlbmNlW2F4aXNdO1xuICB2YXIgYXJyb3dPZmZzZXRQYXJlbnQgPSBnZXRPZmZzZXRQYXJlbnQoYXJyb3dFbGVtZW50KTtcbiAgdmFyIGNsaWVudFNpemUgPSBhcnJvd09mZnNldFBhcmVudCA/IGF4aXMgPT09ICd5JyA/IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudEhlaWdodCB8fCAwIDogYXJyb3dPZmZzZXRQYXJlbnQuY2xpZW50V2lkdGggfHwgMCA6IDA7XG4gIHZhciBjZW50ZXJUb1JlZmVyZW5jZSA9IGVuZERpZmYgLyAyIC0gc3RhcnREaWZmIC8gMjsgLy8gTWFrZSBzdXJlIHRoZSBhcnJvdyBkb2Vzbid0IG92ZXJmbG93IHRoZSBwb3BwZXIgaWYgdGhlIGNlbnRlciBwb2ludCBpc1xuICAvLyBvdXRzaWRlIG9mIHRoZSBwb3BwZXIgYm91bmRzXG5cbiAgdmFyIG1pbiA9IHBhZGRpbmdPYmplY3RbbWluUHJvcF07XG4gIHZhciBtYXggPSBjbGllbnRTaXplIC0gYXJyb3dSZWN0W2xlbl0gLSBwYWRkaW5nT2JqZWN0W21heFByb3BdO1xuICB2YXIgY2VudGVyID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd1JlY3RbbGVuXSAvIDIgKyBjZW50ZXJUb1JlZmVyZW5jZTtcbiAgdmFyIG9mZnNldCA9IHdpdGhpbihtaW4sIGNlbnRlciwgbWF4KTsgLy8gUHJldmVudHMgYnJlYWtpbmcgc3ludGF4IGhpZ2hsaWdodGluZy4uLlxuXG4gIHZhciBheGlzUHJvcCA9IGF4aXM7XG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSAoX3N0YXRlJG1vZGlmaWVyc0RhdGEkID0ge30sIF9zdGF0ZSRtb2RpZmllcnNEYXRhJFtheGlzUHJvcF0gPSBvZmZzZXQsIF9zdGF0ZSRtb2RpZmllcnNEYXRhJC5jZW50ZXJPZmZzZXQgPSBvZmZzZXQgLSBjZW50ZXIsIF9zdGF0ZSRtb2RpZmllcnNEYXRhJCk7XG59XG5cbmZ1bmN0aW9uIGVmZmVjdChfcmVmMikge1xuICB2YXIgc3RhdGUgPSBfcmVmMi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmMi5vcHRpb25zO1xuICB2YXIgX29wdGlvbnMkZWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudCxcbiAgICAgIGFycm93RWxlbWVudCA9IF9vcHRpb25zJGVsZW1lbnQgPT09IHZvaWQgMCA/ICdbZGF0YS1wb3BwZXItYXJyb3ddJyA6IF9vcHRpb25zJGVsZW1lbnQ7XG5cbiAgaWYgKGFycm93RWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIENTUyBzZWxlY3RvclxuXG5cbiAgaWYgKHR5cGVvZiBhcnJvd0VsZW1lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgYXJyb3dFbGVtZW50ID0gc3RhdGUuZWxlbWVudHMucG9wcGVyLnF1ZXJ5U2VsZWN0b3IoYXJyb3dFbGVtZW50KTtcblxuICAgIGlmICghYXJyb3dFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKCFjb250YWlucyhzdGF0ZS5lbGVtZW50cy5wb3BwZXIsIGFycm93RWxlbWVudCkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBzdGF0ZS5lbGVtZW50cy5hcnJvdyA9IGFycm93RWxlbWVudDtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2Fycm93JyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgZm46IGFycm93LFxuICBlZmZlY3Q6IGVmZmVjdCxcbiAgcmVxdWlyZXM6IFsncG9wcGVyT2Zmc2V0cyddLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ3ByZXZlbnRPdmVyZmxvdyddXG59OyIsImltcG9ydCB7IHRvcCwgbGVmdCwgcmlnaHQsIGJvdHRvbSwgZW5kIH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0V2luZG93LmpzXCI7XG5pbXBvcnQgZ2V0RG9jdW1lbnRFbGVtZW50IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0RG9jdW1lbnRFbGVtZW50LmpzXCI7XG5pbXBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSBmcm9tIFwiLi4vZG9tLXV0aWxzL2dldENvbXB1dGVkU3R5bGUuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0VmFyaWF0aW9uIGZyb20gXCIuLi91dGlscy9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCB7IHJvdW5kIH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG52YXIgdW5zZXRTaWRlcyA9IHtcbiAgdG9wOiAnYXV0bycsXG4gIHJpZ2h0OiAnYXV0bycsXG4gIGJvdHRvbTogJ2F1dG8nLFxuICBsZWZ0OiAnYXV0bydcbn07IC8vIFJvdW5kIHRoZSBvZmZzZXRzIHRvIHRoZSBuZWFyZXN0IHN1aXRhYmxlIHN1YnBpeGVsIGJhc2VkIG9uIHRoZSBEUFIuXG4vLyBab29taW5nIGNhbiBjaGFuZ2UgdGhlIERQUiwgYnV0IGl0IHNlZW1zIHRvIHJlcG9ydCBhIHZhbHVlIHRoYXQgd2lsbFxuLy8gY2xlYW5seSBkaXZpZGUgdGhlIHZhbHVlcyBpbnRvIHRoZSBhcHByb3ByaWF0ZSBzdWJwaXhlbHMuXG5cbmZ1bmN0aW9uIHJvdW5kT2Zmc2V0c0J5RFBSKF9yZWYsIHdpbikge1xuICB2YXIgeCA9IF9yZWYueCxcbiAgICAgIHkgPSBfcmVmLnk7XG4gIHZhciBkcHIgPSB3aW4uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxO1xuICByZXR1cm4ge1xuICAgIHg6IHJvdW5kKHggKiBkcHIpIC8gZHByIHx8IDAsXG4gICAgeTogcm91bmQoeSAqIGRwcikgLyBkcHIgfHwgMFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVG9TdHlsZXMoX3JlZjIpIHtcbiAgdmFyIF9PYmplY3QkYXNzaWduMjtcblxuICB2YXIgcG9wcGVyID0gX3JlZjIucG9wcGVyLFxuICAgICAgcG9wcGVyUmVjdCA9IF9yZWYyLnBvcHBlclJlY3QsXG4gICAgICBwbGFjZW1lbnQgPSBfcmVmMi5wbGFjZW1lbnQsXG4gICAgICB2YXJpYXRpb24gPSBfcmVmMi52YXJpYXRpb24sXG4gICAgICBvZmZzZXRzID0gX3JlZjIub2Zmc2V0cyxcbiAgICAgIHBvc2l0aW9uID0gX3JlZjIucG9zaXRpb24sXG4gICAgICBncHVBY2NlbGVyYXRpb24gPSBfcmVmMi5ncHVBY2NlbGVyYXRpb24sXG4gICAgICBhZGFwdGl2ZSA9IF9yZWYyLmFkYXB0aXZlLFxuICAgICAgcm91bmRPZmZzZXRzID0gX3JlZjIucm91bmRPZmZzZXRzLFxuICAgICAgaXNGaXhlZCA9IF9yZWYyLmlzRml4ZWQ7XG4gIHZhciBfb2Zmc2V0cyR4ID0gb2Zmc2V0cy54LFxuICAgICAgeCA9IF9vZmZzZXRzJHggPT09IHZvaWQgMCA/IDAgOiBfb2Zmc2V0cyR4LFxuICAgICAgX29mZnNldHMkeSA9IG9mZnNldHMueSxcbiAgICAgIHkgPSBfb2Zmc2V0cyR5ID09PSB2b2lkIDAgPyAwIDogX29mZnNldHMkeTtcblxuICB2YXIgX3JlZjMgPSB0eXBlb2Ygcm91bmRPZmZzZXRzID09PSAnZnVuY3Rpb24nID8gcm91bmRPZmZzZXRzKHtcbiAgICB4OiB4LFxuICAgIHk6IHlcbiAgfSkgOiB7XG4gICAgeDogeCxcbiAgICB5OiB5XG4gIH07XG5cbiAgeCA9IF9yZWYzLng7XG4gIHkgPSBfcmVmMy55O1xuICB2YXIgaGFzWCA9IG9mZnNldHMuaGFzT3duUHJvcGVydHkoJ3gnKTtcbiAgdmFyIGhhc1kgPSBvZmZzZXRzLmhhc093blByb3BlcnR5KCd5Jyk7XG4gIHZhciBzaWRlWCA9IGxlZnQ7XG4gIHZhciBzaWRlWSA9IHRvcDtcbiAgdmFyIHdpbiA9IHdpbmRvdztcblxuICBpZiAoYWRhcHRpdmUpIHtcbiAgICB2YXIgb2Zmc2V0UGFyZW50ID0gZ2V0T2Zmc2V0UGFyZW50KHBvcHBlcik7XG4gICAgdmFyIGhlaWdodFByb3AgPSAnY2xpZW50SGVpZ2h0JztcbiAgICB2YXIgd2lkdGhQcm9wID0gJ2NsaWVudFdpZHRoJztcblxuICAgIGlmIChvZmZzZXRQYXJlbnQgPT09IGdldFdpbmRvdyhwb3BwZXIpKSB7XG4gICAgICBvZmZzZXRQYXJlbnQgPSBnZXREb2N1bWVudEVsZW1lbnQocG9wcGVyKTtcblxuICAgICAgaWYgKGdldENvbXB1dGVkU3R5bGUob2Zmc2V0UGFyZW50KS5wb3NpdGlvbiAhPT0gJ3N0YXRpYycgJiYgcG9zaXRpb24gPT09ICdhYnNvbHV0ZScpIHtcbiAgICAgICAgaGVpZ2h0UHJvcCA9ICdzY3JvbGxIZWlnaHQnO1xuICAgICAgICB3aWR0aFByb3AgPSAnc2Nyb2xsV2lkdGgnO1xuICAgICAgfVxuICAgIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FzdF06IGZvcmNlIHR5cGUgcmVmaW5lbWVudCwgd2UgY29tcGFyZSBvZmZzZXRQYXJlbnQgd2l0aCB3aW5kb3cgYWJvdmUsIGJ1dCBGbG93IGRvZXNuJ3QgZGV0ZWN0IGl0XG5cblxuICAgIG9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudDtcblxuICAgIGlmIChwbGFjZW1lbnQgPT09IHRvcCB8fCAocGxhY2VtZW50ID09PSBsZWZ0IHx8IHBsYWNlbWVudCA9PT0gcmlnaHQpICYmIHZhcmlhdGlvbiA9PT0gZW5kKSB7XG4gICAgICBzaWRlWSA9IGJvdHRvbTtcbiAgICAgIHZhciBvZmZzZXRZID0gaXNGaXhlZCAmJiBvZmZzZXRQYXJlbnQgPT09IHdpbiAmJiB3aW4udmlzdWFsVmlld3BvcnQgPyB3aW4udmlzdWFsVmlld3BvcnQuaGVpZ2h0IDogLy8gJEZsb3dGaXhNZVtwcm9wLW1pc3NpbmddXG4gICAgICBvZmZzZXRQYXJlbnRbaGVpZ2h0UHJvcF07XG4gICAgICB5IC09IG9mZnNldFkgLSBwb3BwZXJSZWN0LmhlaWdodDtcbiAgICAgIHkgKj0gZ3B1QWNjZWxlcmF0aW9uID8gMSA6IC0xO1xuICAgIH1cblxuICAgIGlmIChwbGFjZW1lbnQgPT09IGxlZnQgfHwgKHBsYWNlbWVudCA9PT0gdG9wIHx8IHBsYWNlbWVudCA9PT0gYm90dG9tKSAmJiB2YXJpYXRpb24gPT09IGVuZCkge1xuICAgICAgc2lkZVggPSByaWdodDtcbiAgICAgIHZhciBvZmZzZXRYID0gaXNGaXhlZCAmJiBvZmZzZXRQYXJlbnQgPT09IHdpbiAmJiB3aW4udmlzdWFsVmlld3BvcnQgPyB3aW4udmlzdWFsVmlld3BvcnQud2lkdGggOiAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cbiAgICAgIG9mZnNldFBhcmVudFt3aWR0aFByb3BdO1xuICAgICAgeCAtPSBvZmZzZXRYIC0gcG9wcGVyUmVjdC53aWR0aDtcbiAgICAgIHggKj0gZ3B1QWNjZWxlcmF0aW9uID8gMSA6IC0xO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjb21tb25TdHlsZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICBwb3NpdGlvbjogcG9zaXRpb25cbiAgfSwgYWRhcHRpdmUgJiYgdW5zZXRTaWRlcyk7XG5cbiAgdmFyIF9yZWY0ID0gcm91bmRPZmZzZXRzID09PSB0cnVlID8gcm91bmRPZmZzZXRzQnlEUFIoe1xuICAgIHg6IHgsXG4gICAgeTogeVxuICB9LCBnZXRXaW5kb3cocG9wcGVyKSkgOiB7XG4gICAgeDogeCxcbiAgICB5OiB5XG4gIH07XG5cbiAgeCA9IF9yZWY0Lng7XG4gIHkgPSBfcmVmNC55O1xuXG4gIGlmIChncHVBY2NlbGVyYXRpb24pIHtcbiAgICB2YXIgX09iamVjdCRhc3NpZ247XG5cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgY29tbW9uU3R5bGVzLCAoX09iamVjdCRhc3NpZ24gPSB7fSwgX09iamVjdCRhc3NpZ25bc2lkZVldID0gaGFzWSA/ICcwJyA6ICcnLCBfT2JqZWN0JGFzc2lnbltzaWRlWF0gPSBoYXNYID8gJzAnIDogJycsIF9PYmplY3QkYXNzaWduLnRyYW5zZm9ybSA9ICh3aW4uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxKSA8PSAxID8gXCJ0cmFuc2xhdGUoXCIgKyB4ICsgXCJweCwgXCIgKyB5ICsgXCJweClcIiA6IFwidHJhbnNsYXRlM2QoXCIgKyB4ICsgXCJweCwgXCIgKyB5ICsgXCJweCwgMClcIiwgX09iamVjdCRhc3NpZ24pKTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBjb21tb25TdHlsZXMsIChfT2JqZWN0JGFzc2lnbjIgPSB7fSwgX09iamVjdCRhc3NpZ24yW3NpZGVZXSA9IGhhc1kgPyB5ICsgXCJweFwiIDogJycsIF9PYmplY3QkYXNzaWduMltzaWRlWF0gPSBoYXNYID8geCArIFwicHhcIiA6ICcnLCBfT2JqZWN0JGFzc2lnbjIudHJhbnNmb3JtID0gJycsIF9PYmplY3QkYXNzaWduMikpO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlU3R5bGVzKF9yZWY1KSB7XG4gIHZhciBzdGF0ZSA9IF9yZWY1LnN0YXRlLFxuICAgICAgb3B0aW9ucyA9IF9yZWY1Lm9wdGlvbnM7XG4gIHZhciBfb3B0aW9ucyRncHVBY2NlbGVyYXQgPSBvcHRpb25zLmdwdUFjY2VsZXJhdGlvbixcbiAgICAgIGdwdUFjY2VsZXJhdGlvbiA9IF9vcHRpb25zJGdwdUFjY2VsZXJhdCA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJGdwdUFjY2VsZXJhdCxcbiAgICAgIF9vcHRpb25zJGFkYXB0aXZlID0gb3B0aW9ucy5hZGFwdGl2ZSxcbiAgICAgIGFkYXB0aXZlID0gX29wdGlvbnMkYWRhcHRpdmUgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRhZGFwdGl2ZSxcbiAgICAgIF9vcHRpb25zJHJvdW5kT2Zmc2V0cyA9IG9wdGlvbnMucm91bmRPZmZzZXRzLFxuICAgICAgcm91bmRPZmZzZXRzID0gX29wdGlvbnMkcm91bmRPZmZzZXRzID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkcm91bmRPZmZzZXRzO1xuICB2YXIgY29tbW9uU3R5bGVzID0ge1xuICAgIHBsYWNlbWVudDogZ2V0QmFzZVBsYWNlbWVudChzdGF0ZS5wbGFjZW1lbnQpLFxuICAgIHZhcmlhdGlvbjogZ2V0VmFyaWF0aW9uKHN0YXRlLnBsYWNlbWVudCksXG4gICAgcG9wcGVyOiBzdGF0ZS5lbGVtZW50cy5wb3BwZXIsXG4gICAgcG9wcGVyUmVjdDogc3RhdGUucmVjdHMucG9wcGVyLFxuICAgIGdwdUFjY2VsZXJhdGlvbjogZ3B1QWNjZWxlcmF0aW9uLFxuICAgIGlzRml4ZWQ6IHN0YXRlLm9wdGlvbnMuc3RyYXRlZ3kgPT09ICdmaXhlZCdcbiAgfTtcblxuICBpZiAoc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzICE9IG51bGwpIHtcbiAgICBzdGF0ZS5zdHlsZXMucG9wcGVyID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUuc3R5bGVzLnBvcHBlciwgbWFwVG9TdHlsZXMoT2JqZWN0LmFzc2lnbih7fSwgY29tbW9uU3R5bGVzLCB7XG4gICAgICBvZmZzZXRzOiBzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMsXG4gICAgICBwb3NpdGlvbjogc3RhdGUub3B0aW9ucy5zdHJhdGVneSxcbiAgICAgIGFkYXB0aXZlOiBhZGFwdGl2ZSxcbiAgICAgIHJvdW5kT2Zmc2V0czogcm91bmRPZmZzZXRzXG4gICAgfSkpKTtcbiAgfVxuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhLmFycm93ICE9IG51bGwpIHtcbiAgICBzdGF0ZS5zdHlsZXMuYXJyb3cgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5zdHlsZXMuYXJyb3csIG1hcFRvU3R5bGVzKE9iamVjdC5hc3NpZ24oe30sIGNvbW1vblN0eWxlcywge1xuICAgICAgb2Zmc2V0czogc3RhdGUubW9kaWZpZXJzRGF0YS5hcnJvdyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgYWRhcHRpdmU6IGZhbHNlLFxuICAgICAgcm91bmRPZmZzZXRzOiByb3VuZE9mZnNldHNcbiAgICB9KSkpO1xuICB9XG5cbiAgc3RhdGUuYXR0cmlidXRlcy5wb3BwZXIgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5hdHRyaWJ1dGVzLnBvcHBlciwge1xuICAgICdkYXRhLXBvcHBlci1wbGFjZW1lbnQnOiBzdGF0ZS5wbGFjZW1lbnRcbiAgfSk7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdjb21wdXRlU3R5bGVzJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdiZWZvcmVXcml0ZScsXG4gIGZuOiBjb21wdXRlU3R5bGVzLFxuICBkYXRhOiB7fVxufTsiLCJpbXBvcnQgZ2V0V2luZG93IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0V2luZG93LmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxudmFyIHBhc3NpdmUgPSB7XG4gIHBhc3NpdmU6IHRydWVcbn07XG5cbmZ1bmN0aW9uIGVmZmVjdChfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBpbnN0YW5jZSA9IF9yZWYuaW5zdGFuY2UsXG4gICAgICBvcHRpb25zID0gX3JlZi5vcHRpb25zO1xuICB2YXIgX29wdGlvbnMkc2Nyb2xsID0gb3B0aW9ucy5zY3JvbGwsXG4gICAgICBzY3JvbGwgPSBfb3B0aW9ucyRzY3JvbGwgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRzY3JvbGwsXG4gICAgICBfb3B0aW9ucyRyZXNpemUgPSBvcHRpb25zLnJlc2l6ZSxcbiAgICAgIHJlc2l6ZSA9IF9vcHRpb25zJHJlc2l6ZSA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJHJlc2l6ZTtcbiAgdmFyIHdpbmRvdyA9IGdldFdpbmRvdyhzdGF0ZS5lbGVtZW50cy5wb3BwZXIpO1xuICB2YXIgc2Nyb2xsUGFyZW50cyA9IFtdLmNvbmNhdChzdGF0ZS5zY3JvbGxQYXJlbnRzLnJlZmVyZW5jZSwgc3RhdGUuc2Nyb2xsUGFyZW50cy5wb3BwZXIpO1xuXG4gIGlmIChzY3JvbGwpIHtcbiAgICBzY3JvbGxQYXJlbnRzLmZvckVhY2goZnVuY3Rpb24gKHNjcm9sbFBhcmVudCkge1xuICAgICAgc2Nyb2xsUGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGluc3RhbmNlLnVwZGF0ZSwgcGFzc2l2ZSk7XG4gICAgfSk7XG4gIH1cblxuICBpZiAocmVzaXplKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGluc3RhbmNlLnVwZGF0ZSwgcGFzc2l2ZSk7XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmIChzY3JvbGwpIHtcbiAgICAgIHNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbiAoc2Nyb2xsUGFyZW50KSB7XG4gICAgICAgIHNjcm9sbFBhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBpbnN0YW5jZS51cGRhdGUsIHBhc3NpdmUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHJlc2l6ZSkge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGluc3RhbmNlLnVwZGF0ZSwgcGFzc2l2ZSk7XG4gICAgfVxuICB9O1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnZXZlbnRMaXN0ZW5lcnMnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ3dyaXRlJyxcbiAgZm46IGZ1bmN0aW9uIGZuKCkge30sXG4gIGVmZmVjdDogZWZmZWN0LFxuICBkYXRhOiB7fVxufTsiLCJpbXBvcnQgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQgZnJvbSBcIi4uL3V0aWxzL2dldE9wcG9zaXRlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGRldGVjdE92ZXJmbG93IGZyb20gXCIuLi91dGlscy9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IGNvbXB1dGVBdXRvUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9jb21wdXRlQXV0b1BsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgYm90dG9tLCB0b3AsIHN0YXJ0LCByaWdodCwgbGVmdCwgYXV0byB9IGZyb20gXCIuLi9lbnVtcy5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi4vdXRpbHMvZ2V0VmFyaWF0aW9uLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZnVuY3Rpb24gZ2V0RXhwYW5kZWRGYWxsYmFja1BsYWNlbWVudHMocGxhY2VtZW50KSB7XG4gIGlmIChnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgPT09IGF1dG8pIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICB2YXIgb3Bwb3NpdGVQbGFjZW1lbnQgPSBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpO1xuICByZXR1cm4gW2dldE9wcG9zaXRlVmFyaWF0aW9uUGxhY2VtZW50KHBsYWNlbWVudCksIG9wcG9zaXRlUGxhY2VtZW50LCBnZXRPcHBvc2l0ZVZhcmlhdGlvblBsYWNlbWVudChvcHBvc2l0ZVBsYWNlbWVudCldO1xufVxuXG5mdW5jdGlvbiBmbGlwKF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhW25hbWVdLl9za2lwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIF9vcHRpb25zJG1haW5BeGlzID0gb3B0aW9ucy5tYWluQXhpcyxcbiAgICAgIGNoZWNrTWFpbkF4aXMgPSBfb3B0aW9ucyRtYWluQXhpcyA9PT0gdm9pZCAwID8gdHJ1ZSA6IF9vcHRpb25zJG1haW5BeGlzLFxuICAgICAgX29wdGlvbnMkYWx0QXhpcyA9IG9wdGlvbnMuYWx0QXhpcyxcbiAgICAgIGNoZWNrQWx0QXhpcyA9IF9vcHRpb25zJGFsdEF4aXMgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRhbHRBeGlzLFxuICAgICAgc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzID0gb3B0aW9ucy5mYWxsYmFja1BsYWNlbWVudHMsXG4gICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgYm91bmRhcnkgPSBvcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IG9wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBfb3B0aW9ucyRmbGlwVmFyaWF0aW8gPSBvcHRpb25zLmZsaXBWYXJpYXRpb25zLFxuICAgICAgZmxpcFZhcmlhdGlvbnMgPSBfb3B0aW9ucyRmbGlwVmFyaWF0aW8gPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyRmbGlwVmFyaWF0aW8sXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHMgPSBvcHRpb25zLmFsbG93ZWRBdXRvUGxhY2VtZW50cztcbiAgdmFyIHByZWZlcnJlZFBsYWNlbWVudCA9IHN0YXRlLm9wdGlvbnMucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocHJlZmVycmVkUGxhY2VtZW50KTtcbiAgdmFyIGlzQmFzZVBsYWNlbWVudCA9IGJhc2VQbGFjZW1lbnQgPT09IHByZWZlcnJlZFBsYWNlbWVudDtcbiAgdmFyIGZhbGxiYWNrUGxhY2VtZW50cyA9IHNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyB8fCAoaXNCYXNlUGxhY2VtZW50IHx8ICFmbGlwVmFyaWF0aW9ucyA/IFtnZXRPcHBvc2l0ZVBsYWNlbWVudChwcmVmZXJyZWRQbGFjZW1lbnQpXSA6IGdldEV4cGFuZGVkRmFsbGJhY2tQbGFjZW1lbnRzKHByZWZlcnJlZFBsYWNlbWVudCkpO1xuICB2YXIgcGxhY2VtZW50cyA9IFtwcmVmZXJyZWRQbGFjZW1lbnRdLmNvbmNhdChmYWxsYmFja1BsYWNlbWVudHMpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICByZXR1cm4gYWNjLmNvbmNhdChnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCkgPT09IGF1dG8gPyBjb21wdXRlQXV0b1BsYWNlbWVudChzdGF0ZSwge1xuICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnQsXG4gICAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgICByb290Qm91bmRhcnk6IHJvb3RCb3VuZGFyeSxcbiAgICAgIHBhZGRpbmc6IHBhZGRpbmcsXG4gICAgICBmbGlwVmFyaWF0aW9uczogZmxpcFZhcmlhdGlvbnMsXG4gICAgICBhbGxvd2VkQXV0b1BsYWNlbWVudHM6IGFsbG93ZWRBdXRvUGxhY2VtZW50c1xuICAgIH0pIDogcGxhY2VtZW50KTtcbiAgfSwgW10pO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciBjaGVja3NNYXAgPSBuZXcgTWFwKCk7XG4gIHZhciBtYWtlRmFsbGJhY2tDaGVja3MgPSB0cnVlO1xuICB2YXIgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gcGxhY2VtZW50c1swXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBsYWNlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcGxhY2VtZW50ID0gcGxhY2VtZW50c1tpXTtcblxuICAgIHZhciBfYmFzZVBsYWNlbWVudCA9IGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KTtcblxuICAgIHZhciBpc1N0YXJ0VmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCkgPT09IHN0YXJ0O1xuICAgIHZhciBpc1ZlcnRpY2FsID0gW3RvcCwgYm90dG9tXS5pbmRleE9mKF9iYXNlUGxhY2VtZW50KSA+PSAwO1xuICAgIHZhciBsZW4gPSBpc1ZlcnRpY2FsID8gJ3dpZHRoJyA6ICdoZWlnaHQnO1xuICAgIHZhciBvdmVyZmxvdyA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIGJvdW5kYXJ5OiBib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeTogcm9vdEJvdW5kYXJ5LFxuICAgICAgYWx0Qm91bmRhcnk6IGFsdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZzogcGFkZGluZ1xuICAgIH0pO1xuICAgIHZhciBtYWluVmFyaWF0aW9uU2lkZSA9IGlzVmVydGljYWwgPyBpc1N0YXJ0VmFyaWF0aW9uID8gcmlnaHQgOiBsZWZ0IDogaXNTdGFydFZhcmlhdGlvbiA/IGJvdHRvbSA6IHRvcDtcblxuICAgIGlmIChyZWZlcmVuY2VSZWN0W2xlbl0gPiBwb3BwZXJSZWN0W2xlbl0pIHtcbiAgICAgIG1haW5WYXJpYXRpb25TaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpblZhcmlhdGlvblNpZGUpO1xuICAgIH1cblxuICAgIHZhciBhbHRWYXJpYXRpb25TaWRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQobWFpblZhcmlhdGlvblNpZGUpO1xuICAgIHZhciBjaGVja3MgPSBbXTtcblxuICAgIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgICBjaGVja3MucHVzaChvdmVyZmxvd1tfYmFzZVBsYWNlbWVudF0gPD0gMCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrQWx0QXhpcykge1xuICAgICAgY2hlY2tzLnB1c2gob3ZlcmZsb3dbbWFpblZhcmlhdGlvblNpZGVdIDw9IDAsIG92ZXJmbG93W2FsdFZhcmlhdGlvblNpZGVdIDw9IDApO1xuICAgIH1cblxuICAgIGlmIChjaGVja3MuZXZlcnkoZnVuY3Rpb24gKGNoZWNrKSB7XG4gICAgICByZXR1cm4gY2hlY2s7XG4gICAgfSkpIHtcbiAgICAgIGZpcnN0Rml0dGluZ1BsYWNlbWVudCA9IHBsYWNlbWVudDtcbiAgICAgIG1ha2VGYWxsYmFja0NoZWNrcyA9IGZhbHNlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2hlY2tzTWFwLnNldChwbGFjZW1lbnQsIGNoZWNrcyk7XG4gIH1cblxuICBpZiAobWFrZUZhbGxiYWNrQ2hlY2tzKSB7XG4gICAgLy8gYDJgIG1heSBiZSBkZXNpcmVkIGluIHNvbWUgY2FzZXMg4oCTIHJlc2VhcmNoIGxhdGVyXG4gICAgdmFyIG51bWJlck9mQ2hlY2tzID0gZmxpcFZhcmlhdGlvbnMgPyAzIDogMTtcblxuICAgIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKF9pKSB7XG4gICAgICB2YXIgZml0dGluZ1BsYWNlbWVudCA9IHBsYWNlbWVudHMuZmluZChmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgICAgIHZhciBjaGVja3MgPSBjaGVja3NNYXAuZ2V0KHBsYWNlbWVudCk7XG5cbiAgICAgICAgaWYgKGNoZWNrcykge1xuICAgICAgICAgIHJldHVybiBjaGVja3Muc2xpY2UoMCwgX2kpLmV2ZXJ5KGZ1bmN0aW9uIChjaGVjaykge1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGZpdHRpbmdQbGFjZW1lbnQpIHtcbiAgICAgICAgZmlyc3RGaXR0aW5nUGxhY2VtZW50ID0gZml0dGluZ1BsYWNlbWVudDtcbiAgICAgICAgcmV0dXJuIFwiYnJlYWtcIjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9yICh2YXIgX2kgPSBudW1iZXJPZkNoZWNrczsgX2kgPiAwOyBfaS0tKSB7XG4gICAgICB2YXIgX3JldCA9IF9sb29wKF9pKTtcblxuICAgICAgaWYgKF9yZXQgPT09IFwiYnJlYWtcIikgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKHN0YXRlLnBsYWNlbWVudCAhPT0gZmlyc3RGaXR0aW5nUGxhY2VtZW50KSB7XG4gICAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXS5fc2tpcCA9IHRydWU7XG4gICAgc3RhdGUucGxhY2VtZW50ID0gZmlyc3RGaXR0aW5nUGxhY2VtZW50O1xuICAgIHN0YXRlLnJlc2V0ID0gdHJ1ZTtcbiAgfVxufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnZmxpcCcsXG4gIGVuYWJsZWQ6IHRydWUsXG4gIHBoYXNlOiAnbWFpbicsXG4gIGZuOiBmbGlwLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ29mZnNldCddLFxuICBkYXRhOiB7XG4gICAgX3NraXA6IGZhbHNlXG4gIH1cbn07IiwiaW1wb3J0IHsgdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0IH0gZnJvbSBcIi4uL2VudW1zLmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4uL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5cbmZ1bmN0aW9uIGdldFNpZGVPZmZzZXRzKG92ZXJmbG93LCByZWN0LCBwcmV2ZW50ZWRPZmZzZXRzKSB7XG4gIGlmIChwcmV2ZW50ZWRPZmZzZXRzID09PSB2b2lkIDApIHtcbiAgICBwcmV2ZW50ZWRPZmZzZXRzID0ge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0b3A6IG92ZXJmbG93LnRvcCAtIHJlY3QuaGVpZ2h0IC0gcHJldmVudGVkT2Zmc2V0cy55LFxuICAgIHJpZ2h0OiBvdmVyZmxvdy5yaWdodCAtIHJlY3Qud2lkdGggKyBwcmV2ZW50ZWRPZmZzZXRzLngsXG4gICAgYm90dG9tOiBvdmVyZmxvdy5ib3R0b20gLSByZWN0LmhlaWdodCArIHByZXZlbnRlZE9mZnNldHMueSxcbiAgICBsZWZ0OiBvdmVyZmxvdy5sZWZ0IC0gcmVjdC53aWR0aCAtIHByZXZlbnRlZE9mZnNldHMueFxuICB9O1xufVxuXG5mdW5jdGlvbiBpc0FueVNpZGVGdWxseUNsaXBwZWQob3ZlcmZsb3cpIHtcbiAgcmV0dXJuIFt0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnRdLnNvbWUoZnVuY3Rpb24gKHNpZGUpIHtcbiAgICByZXR1cm4gb3ZlcmZsb3dbc2lkZV0gPj0gMDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhpZGUoX3JlZikge1xuICB2YXIgc3RhdGUgPSBfcmVmLnN0YXRlLFxuICAgICAgbmFtZSA9IF9yZWYubmFtZTtcbiAgdmFyIHJlZmVyZW5jZVJlY3QgPSBzdGF0ZS5yZWN0cy5yZWZlcmVuY2U7XG4gIHZhciBwb3BwZXJSZWN0ID0gc3RhdGUucmVjdHMucG9wcGVyO1xuICB2YXIgcHJldmVudGVkT2Zmc2V0cyA9IHN0YXRlLm1vZGlmaWVyc0RhdGEucHJldmVudE92ZXJmbG93O1xuICB2YXIgcmVmZXJlbmNlT3ZlcmZsb3cgPSBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwge1xuICAgIGVsZW1lbnRDb250ZXh0OiAncmVmZXJlbmNlJ1xuICB9KTtcbiAgdmFyIHBvcHBlckFsdE92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICBhbHRCb3VuZGFyeTogdHJ1ZVxuICB9KTtcbiAgdmFyIHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKHJlZmVyZW5jZU92ZXJmbG93LCByZWZlcmVuY2VSZWN0KTtcbiAgdmFyIHBvcHBlckVzY2FwZU9mZnNldHMgPSBnZXRTaWRlT2Zmc2V0cyhwb3BwZXJBbHRPdmVyZmxvdywgcG9wcGVyUmVjdCwgcHJldmVudGVkT2Zmc2V0cyk7XG4gIHZhciBpc1JlZmVyZW5jZUhpZGRlbiA9IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChyZWZlcmVuY2VDbGlwcGluZ09mZnNldHMpO1xuICB2YXIgaGFzUG9wcGVyRXNjYXBlZCA9IGlzQW55U2lkZUZ1bGx5Q2xpcHBlZChwb3BwZXJFc2NhcGVPZmZzZXRzKTtcbiAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXSA9IHtcbiAgICByZWZlcmVuY2VDbGlwcGluZ09mZnNldHM6IHJlZmVyZW5jZUNsaXBwaW5nT2Zmc2V0cyxcbiAgICBwb3BwZXJFc2NhcGVPZmZzZXRzOiBwb3BwZXJFc2NhcGVPZmZzZXRzLFxuICAgIGlzUmVmZXJlbmNlSGlkZGVuOiBpc1JlZmVyZW5jZUhpZGRlbixcbiAgICBoYXNQb3BwZXJFc2NhcGVkOiBoYXNQb3BwZXJFc2NhcGVkXG4gIH07XG4gIHN0YXRlLmF0dHJpYnV0ZXMucG9wcGVyID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUuYXR0cmlidXRlcy5wb3BwZXIsIHtcbiAgICAnZGF0YS1wb3BwZXItcmVmZXJlbmNlLWhpZGRlbic6IGlzUmVmZXJlbmNlSGlkZGVuLFxuICAgICdkYXRhLXBvcHBlci1lc2NhcGVkJzogaGFzUG9wcGVyRXNjYXBlZFxuICB9KTtcbn0gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbmFtZTogJ2hpZGUnLFxuICBlbmFibGVkOiB0cnVlLFxuICBwaGFzZTogJ21haW4nLFxuICByZXF1aXJlc0lmRXhpc3RzOiBbJ3ByZXZlbnRPdmVyZmxvdyddLFxuICBmbjogaGlkZVxufTsiLCJleHBvcnQgeyBkZWZhdWx0IGFzIGFwcGx5U3R5bGVzIH0gZnJvbSBcIi4vYXBwbHlTdHlsZXMuanNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXJyb3cgfSBmcm9tIFwiLi9hcnJvdy5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjb21wdXRlU3R5bGVzIH0gZnJvbSBcIi4vY29tcHV0ZVN0eWxlcy5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBldmVudExpc3RlbmVycyB9IGZyb20gXCIuL2V2ZW50TGlzdGVuZXJzLmpzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZsaXAgfSBmcm9tIFwiLi9mbGlwLmpzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGhpZGUgfSBmcm9tIFwiLi9oaWRlLmpzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIG9mZnNldCB9IGZyb20gXCIuL29mZnNldC5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwb3BwZXJPZmZzZXRzIH0gZnJvbSBcIi4vcG9wcGVyT2Zmc2V0cy5qc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBwcmV2ZW50T3ZlcmZsb3cgfSBmcm9tIFwiLi9wcmV2ZW50T3ZlcmZsb3cuanNcIjsiLCJpbXBvcnQgZ2V0QmFzZVBsYWNlbWVudCBmcm9tIFwiLi4vdXRpbHMvZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IHsgdG9wLCBsZWZ0LCByaWdodCwgcGxhY2VtZW50cyB9IGZyb20gXCIuLi9lbnVtcy5qc1wiOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCBmdW5jdGlvbiBkaXN0YW5jZUFuZFNraWRkaW5nVG9YWShwbGFjZW1lbnQsIHJlY3RzLCBvZmZzZXQpIHtcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBnZXRCYXNlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIHZhciBpbnZlcnREaXN0YW5jZSA9IFtsZWZ0LCB0b3BdLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgPj0gMCA/IC0xIDogMTtcblxuICB2YXIgX3JlZiA9IHR5cGVvZiBvZmZzZXQgPT09ICdmdW5jdGlvbicgPyBvZmZzZXQoT2JqZWN0LmFzc2lnbih7fSwgcmVjdHMsIHtcbiAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudFxuICB9KSkgOiBvZmZzZXQsXG4gICAgICBza2lkZGluZyA9IF9yZWZbMF0sXG4gICAgICBkaXN0YW5jZSA9IF9yZWZbMV07XG5cbiAgc2tpZGRpbmcgPSBza2lkZGluZyB8fCAwO1xuICBkaXN0YW5jZSA9IChkaXN0YW5jZSB8fCAwKSAqIGludmVydERpc3RhbmNlO1xuICByZXR1cm4gW2xlZnQsIHJpZ2h0XS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpID49IDAgPyB7XG4gICAgeDogZGlzdGFuY2UsXG4gICAgeTogc2tpZGRpbmdcbiAgfSA6IHtcbiAgICB4OiBza2lkZGluZyxcbiAgICB5OiBkaXN0YW5jZVxuICB9O1xufVxuXG5mdW5jdGlvbiBvZmZzZXQoX3JlZjIpIHtcbiAgdmFyIHN0YXRlID0gX3JlZjIuc3RhdGUsXG4gICAgICBvcHRpb25zID0gX3JlZjIub3B0aW9ucyxcbiAgICAgIG5hbWUgPSBfcmVmMi5uYW1lO1xuICB2YXIgX29wdGlvbnMkb2Zmc2V0ID0gb3B0aW9ucy5vZmZzZXQsXG4gICAgICBvZmZzZXQgPSBfb3B0aW9ucyRvZmZzZXQgPT09IHZvaWQgMCA/IFswLCAwXSA6IF9vcHRpb25zJG9mZnNldDtcbiAgdmFyIGRhdGEgPSBwbGFjZW1lbnRzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICBhY2NbcGxhY2VtZW50XSA9IGRpc3RhbmNlQW5kU2tpZGRpbmdUb1hZKHBsYWNlbWVudCwgc3RhdGUucmVjdHMsIG9mZnNldCk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICB2YXIgX2RhdGEkc3RhdGUkcGxhY2VtZW50ID0gZGF0YVtzdGF0ZS5wbGFjZW1lbnRdLFxuICAgICAgeCA9IF9kYXRhJHN0YXRlJHBsYWNlbWVudC54LFxuICAgICAgeSA9IF9kYXRhJHN0YXRlJHBsYWNlbWVudC55O1xuXG4gIGlmIChzdGF0ZS5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMgIT0gbnVsbCkge1xuICAgIHN0YXRlLm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cy54ICs9IHg7XG4gICAgc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzLnkgKz0geTtcbiAgfVxuXG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSBkYXRhO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnb2Zmc2V0JyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgcmVxdWlyZXM6IFsncG9wcGVyT2Zmc2V0cyddLFxuICBmbjogb2Zmc2V0XG59OyIsImltcG9ydCBjb21wdXRlT2Zmc2V0cyBmcm9tIFwiLi4vdXRpbHMvY29tcHV0ZU9mZnNldHMuanNcIjtcblxuZnVuY3Rpb24gcG9wcGVyT2Zmc2V0cyhfcmVmKSB7XG4gIHZhciBzdGF0ZSA9IF9yZWYuc3RhdGUsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuICAvLyBPZmZzZXRzIGFyZSB0aGUgYWN0dWFsIHBvc2l0aW9uIHRoZSBwb3BwZXIgbmVlZHMgdG8gaGF2ZSB0byBiZVxuICAvLyBwcm9wZXJseSBwb3NpdGlvbmVkIG5lYXIgaXRzIHJlZmVyZW5jZSBlbGVtZW50XG4gIC8vIFRoaXMgaXMgdGhlIG1vc3QgYmFzaWMgcGxhY2VtZW50LCBhbmQgd2lsbCBiZSBhZGp1c3RlZCBieVxuICAvLyB0aGUgbW9kaWZpZXJzIGluIHRoZSBuZXh0IHN0ZXBcbiAgc3RhdGUubW9kaWZpZXJzRGF0YVtuYW1lXSA9IGNvbXB1dGVPZmZzZXRzKHtcbiAgICByZWZlcmVuY2U6IHN0YXRlLnJlY3RzLnJlZmVyZW5jZSxcbiAgICBlbGVtZW50OiBzdGF0ZS5yZWN0cy5wb3BwZXIsXG4gICAgc3RyYXRlZ3k6ICdhYnNvbHV0ZScsXG4gICAgcGxhY2VtZW50OiBzdGF0ZS5wbGFjZW1lbnRcbiAgfSk7XG59IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdwb3BwZXJPZmZzZXRzJyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdyZWFkJyxcbiAgZm46IHBvcHBlck9mZnNldHMsXG4gIGRhdGE6IHt9XG59OyIsImltcG9ydCB7IHRvcCwgbGVmdCwgcmlnaHQsIGJvdHRvbSwgc3RhcnQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBnZXRCYXNlUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRCYXNlUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50IGZyb20gXCIuLi91dGlscy9nZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQuanNcIjtcbmltcG9ydCBnZXRBbHRBeGlzIGZyb20gXCIuLi91dGlscy9nZXRBbHRBeGlzLmpzXCI7XG5pbXBvcnQgeyB3aXRoaW4sIHdpdGhpbk1heENsYW1wIH0gZnJvbSBcIi4uL3V0aWxzL3dpdGhpbi5qc1wiO1xuaW1wb3J0IGdldExheW91dFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRMYXlvdXRSZWN0LmpzXCI7XG5pbXBvcnQgZ2V0T2Zmc2V0UGFyZW50IGZyb20gXCIuLi9kb20tdXRpbHMvZ2V0T2Zmc2V0UGFyZW50LmpzXCI7XG5pbXBvcnQgZGV0ZWN0T3ZlcmZsb3cgZnJvbSBcIi4uL3V0aWxzL2RldGVjdE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgZ2V0VmFyaWF0aW9uIGZyb20gXCIuLi91dGlscy9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCBnZXRGcmVzaFNpZGVPYmplY3QgZnJvbSBcIi4uL3V0aWxzL2dldEZyZXNoU2lkZU9iamVjdC5qc1wiO1xuaW1wb3J0IHsgbWluIGFzIG1hdGhNaW4sIG1heCBhcyBtYXRoTWF4IH0gZnJvbSBcIi4uL3V0aWxzL21hdGguanNcIjtcblxuZnVuY3Rpb24gcHJldmVudE92ZXJmbG93KF9yZWYpIHtcbiAgdmFyIHN0YXRlID0gX3JlZi5zdGF0ZSxcbiAgICAgIG9wdGlvbnMgPSBfcmVmLm9wdGlvbnMsXG4gICAgICBuYW1lID0gX3JlZi5uYW1lO1xuICB2YXIgX29wdGlvbnMkbWFpbkF4aXMgPSBvcHRpb25zLm1haW5BeGlzLFxuICAgICAgY2hlY2tNYWluQXhpcyA9IF9vcHRpb25zJG1haW5BeGlzID09PSB2b2lkIDAgPyB0cnVlIDogX29wdGlvbnMkbWFpbkF4aXMsXG4gICAgICBfb3B0aW9ucyRhbHRBeGlzID0gb3B0aW9ucy5hbHRBeGlzLFxuICAgICAgY2hlY2tBbHRBeGlzID0gX29wdGlvbnMkYWx0QXhpcyA9PT0gdm9pZCAwID8gZmFsc2UgOiBfb3B0aW9ucyRhbHRBeGlzLFxuICAgICAgYm91bmRhcnkgPSBvcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gb3B0aW9ucy5yb290Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IG9wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBwYWRkaW5nID0gb3B0aW9ucy5wYWRkaW5nLFxuICAgICAgX29wdGlvbnMkdGV0aGVyID0gb3B0aW9ucy50ZXRoZXIsXG4gICAgICB0ZXRoZXIgPSBfb3B0aW9ucyR0ZXRoZXIgPT09IHZvaWQgMCA/IHRydWUgOiBfb3B0aW9ucyR0ZXRoZXIsXG4gICAgICBfb3B0aW9ucyR0ZXRoZXJPZmZzZXQgPSBvcHRpb25zLnRldGhlck9mZnNldCxcbiAgICAgIHRldGhlck9mZnNldCA9IF9vcHRpb25zJHRldGhlck9mZnNldCA9PT0gdm9pZCAwID8gMCA6IF9vcHRpb25zJHRldGhlck9mZnNldDtcbiAgdmFyIG92ZXJmbG93ID0gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIHtcbiAgICBib3VuZGFyeTogYm91bmRhcnksXG4gICAgcm9vdEJvdW5kYXJ5OiByb290Qm91bmRhcnksXG4gICAgcGFkZGluZzogcGFkZGluZyxcbiAgICBhbHRCb3VuZGFyeTogYWx0Qm91bmRhcnlcbiAgfSk7XG4gIHZhciBiYXNlUGxhY2VtZW50ID0gZ2V0QmFzZVBsYWNlbWVudChzdGF0ZS5wbGFjZW1lbnQpO1xuICB2YXIgdmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHN0YXRlLnBsYWNlbWVudCk7XG4gIHZhciBpc0Jhc2VQbGFjZW1lbnQgPSAhdmFyaWF0aW9uO1xuICB2YXIgbWFpbkF4aXMgPSBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQoYmFzZVBsYWNlbWVudCk7XG4gIHZhciBhbHRBeGlzID0gZ2V0QWx0QXhpcyhtYWluQXhpcyk7XG4gIHZhciBwb3BwZXJPZmZzZXRzID0gc3RhdGUubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzO1xuICB2YXIgcmVmZXJlbmNlUmVjdCA9IHN0YXRlLnJlY3RzLnJlZmVyZW5jZTtcbiAgdmFyIHBvcHBlclJlY3QgPSBzdGF0ZS5yZWN0cy5wb3BwZXI7XG4gIHZhciB0ZXRoZXJPZmZzZXRWYWx1ZSA9IHR5cGVvZiB0ZXRoZXJPZmZzZXQgPT09ICdmdW5jdGlvbicgPyB0ZXRoZXJPZmZzZXQoT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUucmVjdHMsIHtcbiAgICBwbGFjZW1lbnQ6IHN0YXRlLnBsYWNlbWVudFxuICB9KSkgOiB0ZXRoZXJPZmZzZXQ7XG4gIHZhciBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUgPSB0eXBlb2YgdGV0aGVyT2Zmc2V0VmFsdWUgPT09ICdudW1iZXInID8ge1xuICAgIG1haW5BeGlzOiB0ZXRoZXJPZmZzZXRWYWx1ZSxcbiAgICBhbHRBeGlzOiB0ZXRoZXJPZmZzZXRWYWx1ZVxuICB9IDogT2JqZWN0LmFzc2lnbih7XG4gICAgbWFpbkF4aXM6IDAsXG4gICAgYWx0QXhpczogMFxuICB9LCB0ZXRoZXJPZmZzZXRWYWx1ZSk7XG4gIHZhciBvZmZzZXRNb2RpZmllclN0YXRlID0gc3RhdGUubW9kaWZpZXJzRGF0YS5vZmZzZXQgPyBzdGF0ZS5tb2RpZmllcnNEYXRhLm9mZnNldFtzdGF0ZS5wbGFjZW1lbnRdIDogbnVsbDtcbiAgdmFyIGRhdGEgPSB7XG4gICAgeDogMCxcbiAgICB5OiAwXG4gIH07XG5cbiAgaWYgKCFwb3BwZXJPZmZzZXRzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICB2YXIgX29mZnNldE1vZGlmaWVyU3RhdGUkO1xuXG4gICAgdmFyIG1haW5TaWRlID0gbWFpbkF4aXMgPT09ICd5JyA/IHRvcCA6IGxlZnQ7XG4gICAgdmFyIGFsdFNpZGUgPSBtYWluQXhpcyA9PT0gJ3knID8gYm90dG9tIDogcmlnaHQ7XG4gICAgdmFyIGxlbiA9IG1haW5BeGlzID09PSAneScgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG4gICAgdmFyIG9mZnNldCA9IHBvcHBlck9mZnNldHNbbWFpbkF4aXNdO1xuICAgIHZhciBtaW4gPSBvZmZzZXQgKyBvdmVyZmxvd1ttYWluU2lkZV07XG4gICAgdmFyIG1heCA9IG9mZnNldCAtIG92ZXJmbG93W2FsdFNpZGVdO1xuICAgIHZhciBhZGRpdGl2ZSA9IHRldGhlciA/IC1wb3BwZXJSZWN0W2xlbl0gLyAyIDogMDtcbiAgICB2YXIgbWluTGVuID0gdmFyaWF0aW9uID09PSBzdGFydCA/IHJlZmVyZW5jZVJlY3RbbGVuXSA6IHBvcHBlclJlY3RbbGVuXTtcbiAgICB2YXIgbWF4TGVuID0gdmFyaWF0aW9uID09PSBzdGFydCA/IC1wb3BwZXJSZWN0W2xlbl0gOiAtcmVmZXJlbmNlUmVjdFtsZW5dOyAvLyBXZSBuZWVkIHRvIGluY2x1ZGUgdGhlIGFycm93IGluIHRoZSBjYWxjdWxhdGlvbiBzbyB0aGUgYXJyb3cgZG9lc24ndCBnb1xuICAgIC8vIG91dHNpZGUgdGhlIHJlZmVyZW5jZSBib3VuZHNcblxuICAgIHZhciBhcnJvd0VsZW1lbnQgPSBzdGF0ZS5lbGVtZW50cy5hcnJvdztcbiAgICB2YXIgYXJyb3dSZWN0ID0gdGV0aGVyICYmIGFycm93RWxlbWVudCA/IGdldExheW91dFJlY3QoYXJyb3dFbGVtZW50KSA6IHtcbiAgICAgIHdpZHRoOiAwLFxuICAgICAgaGVpZ2h0OiAwXG4gICAgfTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nT2JqZWN0ID0gc3RhdGUubW9kaWZpZXJzRGF0YVsnYXJyb3cjcGVyc2lzdGVudCddID8gc3RhdGUubW9kaWZpZXJzRGF0YVsnYXJyb3cjcGVyc2lzdGVudCddLnBhZGRpbmcgOiBnZXRGcmVzaFNpZGVPYmplY3QoKTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nTWluID0gYXJyb3dQYWRkaW5nT2JqZWN0W21haW5TaWRlXTtcbiAgICB2YXIgYXJyb3dQYWRkaW5nTWF4ID0gYXJyb3dQYWRkaW5nT2JqZWN0W2FsdFNpZGVdOyAvLyBJZiB0aGUgcmVmZXJlbmNlIGxlbmd0aCBpcyBzbWFsbGVyIHRoYW4gdGhlIGFycm93IGxlbmd0aCwgd2UgZG9uJ3Qgd2FudFxuICAgIC8vIHRvIGluY2x1ZGUgaXRzIGZ1bGwgc2l6ZSBpbiB0aGUgY2FsY3VsYXRpb24uIElmIHRoZSByZWZlcmVuY2UgaXMgc21hbGxcbiAgICAvLyBhbmQgbmVhciB0aGUgZWRnZSBvZiBhIGJvdW5kYXJ5LCB0aGUgcG9wcGVyIGNhbiBvdmVyZmxvdyBldmVuIGlmIHRoZVxuICAgIC8vIHJlZmVyZW5jZSBpcyBub3Qgb3ZlcmZsb3dpbmcgYXMgd2VsbCAoZS5nLiB2aXJ0dWFsIGVsZW1lbnRzIHdpdGggbm9cbiAgICAvLyB3aWR0aCBvciBoZWlnaHQpXG5cbiAgICB2YXIgYXJyb3dMZW4gPSB3aXRoaW4oMCwgcmVmZXJlbmNlUmVjdFtsZW5dLCBhcnJvd1JlY3RbbGVuXSk7XG4gICAgdmFyIG1pbk9mZnNldCA9IGlzQmFzZVBsYWNlbWVudCA/IHJlZmVyZW5jZVJlY3RbbGVuXSAvIDIgLSBhZGRpdGl2ZSAtIGFycm93TGVuIC0gYXJyb3dQYWRkaW5nTWluIC0gbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLm1haW5BeGlzIDogbWluTGVuIC0gYXJyb3dMZW4gLSBhcnJvd1BhZGRpbmdNaW4gLSBub3JtYWxpemVkVGV0aGVyT2Zmc2V0VmFsdWUubWFpbkF4aXM7XG4gICAgdmFyIG1heE9mZnNldCA9IGlzQmFzZVBsYWNlbWVudCA/IC1yZWZlcmVuY2VSZWN0W2xlbl0gLyAyICsgYWRkaXRpdmUgKyBhcnJvd0xlbiArIGFycm93UGFkZGluZ01heCArIG5vcm1hbGl6ZWRUZXRoZXJPZmZzZXRWYWx1ZS5tYWluQXhpcyA6IG1heExlbiArIGFycm93TGVuICsgYXJyb3dQYWRkaW5nTWF4ICsgbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLm1haW5BeGlzO1xuICAgIHZhciBhcnJvd09mZnNldFBhcmVudCA9IHN0YXRlLmVsZW1lbnRzLmFycm93ICYmIGdldE9mZnNldFBhcmVudChzdGF0ZS5lbGVtZW50cy5hcnJvdyk7XG4gICAgdmFyIGNsaWVudE9mZnNldCA9IGFycm93T2Zmc2V0UGFyZW50ID8gbWFpbkF4aXMgPT09ICd5JyA/IGFycm93T2Zmc2V0UGFyZW50LmNsaWVudFRvcCB8fCAwIDogYXJyb3dPZmZzZXRQYXJlbnQuY2xpZW50TGVmdCB8fCAwIDogMDtcbiAgICB2YXIgb2Zmc2V0TW9kaWZpZXJWYWx1ZSA9IChfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQgPSBvZmZzZXRNb2RpZmllclN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBvZmZzZXRNb2RpZmllclN0YXRlW21haW5BeGlzXSkgIT0gbnVsbCA/IF9vZmZzZXRNb2RpZmllclN0YXRlJCA6IDA7XG4gICAgdmFyIHRldGhlck1pbiA9IG9mZnNldCArIG1pbk9mZnNldCAtIG9mZnNldE1vZGlmaWVyVmFsdWUgLSBjbGllbnRPZmZzZXQ7XG4gICAgdmFyIHRldGhlck1heCA9IG9mZnNldCArIG1heE9mZnNldCAtIG9mZnNldE1vZGlmaWVyVmFsdWU7XG4gICAgdmFyIHByZXZlbnRlZE9mZnNldCA9IHdpdGhpbih0ZXRoZXIgPyBtYXRoTWluKG1pbiwgdGV0aGVyTWluKSA6IG1pbiwgb2Zmc2V0LCB0ZXRoZXIgPyBtYXRoTWF4KG1heCwgdGV0aGVyTWF4KSA6IG1heCk7XG4gICAgcG9wcGVyT2Zmc2V0c1ttYWluQXhpc10gPSBwcmV2ZW50ZWRPZmZzZXQ7XG4gICAgZGF0YVttYWluQXhpc10gPSBwcmV2ZW50ZWRPZmZzZXQgLSBvZmZzZXQ7XG4gIH1cblxuICBpZiAoY2hlY2tBbHRBeGlzKSB7XG4gICAgdmFyIF9vZmZzZXRNb2RpZmllclN0YXRlJDI7XG5cbiAgICB2YXIgX21haW5TaWRlID0gbWFpbkF4aXMgPT09ICd4JyA/IHRvcCA6IGxlZnQ7XG5cbiAgICB2YXIgX2FsdFNpZGUgPSBtYWluQXhpcyA9PT0gJ3gnID8gYm90dG9tIDogcmlnaHQ7XG5cbiAgICB2YXIgX29mZnNldCA9IHBvcHBlck9mZnNldHNbYWx0QXhpc107XG5cbiAgICB2YXIgX2xlbiA9IGFsdEF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblxuICAgIHZhciBfbWluID0gX29mZnNldCArIG92ZXJmbG93W19tYWluU2lkZV07XG5cbiAgICB2YXIgX21heCA9IF9vZmZzZXQgLSBvdmVyZmxvd1tfYWx0U2lkZV07XG5cbiAgICB2YXIgaXNPcmlnaW5TaWRlID0gW3RvcCwgbGVmdF0uaW5kZXhPZihiYXNlUGxhY2VtZW50KSAhPT0gLTE7XG5cbiAgICB2YXIgX29mZnNldE1vZGlmaWVyVmFsdWUgPSAoX29mZnNldE1vZGlmaWVyU3RhdGUkMiA9IG9mZnNldE1vZGlmaWVyU3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IG9mZnNldE1vZGlmaWVyU3RhdGVbYWx0QXhpc10pICE9IG51bGwgPyBfb2Zmc2V0TW9kaWZpZXJTdGF0ZSQyIDogMDtcblxuICAgIHZhciBfdGV0aGVyTWluID0gaXNPcmlnaW5TaWRlID8gX21pbiA6IF9vZmZzZXQgLSByZWZlcmVuY2VSZWN0W19sZW5dIC0gcG9wcGVyUmVjdFtfbGVuXSAtIF9vZmZzZXRNb2RpZmllclZhbHVlICsgbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLmFsdEF4aXM7XG5cbiAgICB2YXIgX3RldGhlck1heCA9IGlzT3JpZ2luU2lkZSA/IF9vZmZzZXQgKyByZWZlcmVuY2VSZWN0W19sZW5dICsgcG9wcGVyUmVjdFtfbGVuXSAtIF9vZmZzZXRNb2RpZmllclZhbHVlIC0gbm9ybWFsaXplZFRldGhlck9mZnNldFZhbHVlLmFsdEF4aXMgOiBfbWF4O1xuXG4gICAgdmFyIF9wcmV2ZW50ZWRPZmZzZXQgPSB0ZXRoZXIgJiYgaXNPcmlnaW5TaWRlID8gd2l0aGluTWF4Q2xhbXAoX3RldGhlck1pbiwgX29mZnNldCwgX3RldGhlck1heCkgOiB3aXRoaW4odGV0aGVyID8gX3RldGhlck1pbiA6IF9taW4sIF9vZmZzZXQsIHRldGhlciA/IF90ZXRoZXJNYXggOiBfbWF4KTtcblxuICAgIHBvcHBlck9mZnNldHNbYWx0QXhpc10gPSBfcHJldmVudGVkT2Zmc2V0O1xuICAgIGRhdGFbYWx0QXhpc10gPSBfcHJldmVudGVkT2Zmc2V0IC0gX29mZnNldDtcbiAgfVxuXG4gIHN0YXRlLm1vZGlmaWVyc0RhdGFbbmFtZV0gPSBkYXRhO1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAncHJldmVudE92ZXJmbG93JyxcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgcGhhc2U6ICdtYWluJyxcbiAgZm46IHByZXZlbnRPdmVyZmxvdyxcbiAgcmVxdWlyZXNJZkV4aXN0czogWydvZmZzZXQnXVxufTsiLCJpbXBvcnQgeyBwb3BwZXJHZW5lcmF0b3IsIGRldGVjdE92ZXJmbG93IH0gZnJvbSBcIi4vY3JlYXRlUG9wcGVyLmpzXCI7XG5pbXBvcnQgZXZlbnRMaXN0ZW5lcnMgZnJvbSBcIi4vbW9kaWZpZXJzL2V2ZW50TGlzdGVuZXJzLmpzXCI7XG5pbXBvcnQgcG9wcGVyT2Zmc2V0cyBmcm9tIFwiLi9tb2RpZmllcnMvcG9wcGVyT2Zmc2V0cy5qc1wiO1xuaW1wb3J0IGNvbXB1dGVTdHlsZXMgZnJvbSBcIi4vbW9kaWZpZXJzL2NvbXB1dGVTdHlsZXMuanNcIjtcbmltcG9ydCBhcHBseVN0eWxlcyBmcm9tIFwiLi9tb2RpZmllcnMvYXBwbHlTdHlsZXMuanNcIjtcbnZhciBkZWZhdWx0TW9kaWZpZXJzID0gW2V2ZW50TGlzdGVuZXJzLCBwb3BwZXJPZmZzZXRzLCBjb21wdXRlU3R5bGVzLCBhcHBseVN0eWxlc107XG52YXIgY3JlYXRlUG9wcGVyID0gLyojX19QVVJFX18qL3BvcHBlckdlbmVyYXRvcih7XG4gIGRlZmF1bHRNb2RpZmllcnM6IGRlZmF1bHRNb2RpZmllcnNcbn0pOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLXVudXNlZC1tb2R1bGVzXG5cbmV4cG9ydCB7IGNyZWF0ZVBvcHBlciwgcG9wcGVyR2VuZXJhdG9yLCBkZWZhdWx0TW9kaWZpZXJzLCBkZXRlY3RPdmVyZmxvdyB9OyIsImltcG9ydCB7IHBvcHBlckdlbmVyYXRvciwgZGV0ZWN0T3ZlcmZsb3cgfSBmcm9tIFwiLi9jcmVhdGVQb3BwZXIuanNcIjtcbmltcG9ydCBldmVudExpc3RlbmVycyBmcm9tIFwiLi9tb2RpZmllcnMvZXZlbnRMaXN0ZW5lcnMuanNcIjtcbmltcG9ydCBwb3BwZXJPZmZzZXRzIGZyb20gXCIuL21vZGlmaWVycy9wb3BwZXJPZmZzZXRzLmpzXCI7XG5pbXBvcnQgY29tcHV0ZVN0eWxlcyBmcm9tIFwiLi9tb2RpZmllcnMvY29tcHV0ZVN0eWxlcy5qc1wiO1xuaW1wb3J0IGFwcGx5U3R5bGVzIGZyb20gXCIuL21vZGlmaWVycy9hcHBseVN0eWxlcy5qc1wiO1xuaW1wb3J0IG9mZnNldCBmcm9tIFwiLi9tb2RpZmllcnMvb2Zmc2V0LmpzXCI7XG5pbXBvcnQgZmxpcCBmcm9tIFwiLi9tb2RpZmllcnMvZmxpcC5qc1wiO1xuaW1wb3J0IHByZXZlbnRPdmVyZmxvdyBmcm9tIFwiLi9tb2RpZmllcnMvcHJldmVudE92ZXJmbG93LmpzXCI7XG5pbXBvcnQgYXJyb3cgZnJvbSBcIi4vbW9kaWZpZXJzL2Fycm93LmpzXCI7XG5pbXBvcnQgaGlkZSBmcm9tIFwiLi9tb2RpZmllcnMvaGlkZS5qc1wiO1xudmFyIGRlZmF1bHRNb2RpZmllcnMgPSBbZXZlbnRMaXN0ZW5lcnMsIHBvcHBlck9mZnNldHMsIGNvbXB1dGVTdHlsZXMsIGFwcGx5U3R5bGVzLCBvZmZzZXQsIGZsaXAsIHByZXZlbnRPdmVyZmxvdywgYXJyb3csIGhpZGVdO1xudmFyIGNyZWF0ZVBvcHBlciA9IC8qI19fUFVSRV9fKi9wb3BwZXJHZW5lcmF0b3Ioe1xuICBkZWZhdWx0TW9kaWZpZXJzOiBkZWZhdWx0TW9kaWZpZXJzXG59KTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBjcmVhdGVQb3BwZXIsIHBvcHBlckdlbmVyYXRvciwgZGVmYXVsdE1vZGlmaWVycywgZGV0ZWN0T3ZlcmZsb3cgfTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnVzZWQtbW9kdWxlc1xuXG5leHBvcnQgeyBjcmVhdGVQb3BwZXIgYXMgY3JlYXRlUG9wcGVyTGl0ZSB9IGZyb20gXCIuL3BvcHBlci1saXRlLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0ICogZnJvbSBcIi4vbW9kaWZpZXJzL2luZGV4LmpzXCI7IiwiaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCB7IHZhcmlhdGlvblBsYWNlbWVudHMsIGJhc2VQbGFjZW1lbnRzLCBwbGFjZW1lbnRzIGFzIGFsbFBsYWNlbWVudHMgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCBkZXRlY3RPdmVyZmxvdyBmcm9tIFwiLi9kZXRlY3RPdmVyZmxvdy5qc1wiO1xuaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4vZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcHV0ZUF1dG9QbGFjZW1lbnQoc3RhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHZhciBfb3B0aW9ucyA9IG9wdGlvbnMsXG4gICAgICBwbGFjZW1lbnQgPSBfb3B0aW9ucy5wbGFjZW1lbnQsXG4gICAgICBib3VuZGFyeSA9IF9vcHRpb25zLmJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMucm9vdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZyA9IF9vcHRpb25zLnBhZGRpbmcsXG4gICAgICBmbGlwVmFyaWF0aW9ucyA9IF9vcHRpb25zLmZsaXBWYXJpYXRpb25zLFxuICAgICAgX29wdGlvbnMkYWxsb3dlZEF1dG9QID0gX29wdGlvbnMuYWxsb3dlZEF1dG9QbGFjZW1lbnRzLFxuICAgICAgYWxsb3dlZEF1dG9QbGFjZW1lbnRzID0gX29wdGlvbnMkYWxsb3dlZEF1dG9QID09PSB2b2lkIDAgPyBhbGxQbGFjZW1lbnRzIDogX29wdGlvbnMkYWxsb3dlZEF1dG9QO1xuICB2YXIgdmFyaWF0aW9uID0gZ2V0VmFyaWF0aW9uKHBsYWNlbWVudCk7XG4gIHZhciBwbGFjZW1lbnRzID0gdmFyaWF0aW9uID8gZmxpcFZhcmlhdGlvbnMgPyB2YXJpYXRpb25QbGFjZW1lbnRzIDogdmFyaWF0aW9uUGxhY2VtZW50cy5maWx0ZXIoZnVuY3Rpb24gKHBsYWNlbWVudCkge1xuICAgIHJldHVybiBnZXRWYXJpYXRpb24ocGxhY2VtZW50KSA9PT0gdmFyaWF0aW9uO1xuICB9KSA6IGJhc2VQbGFjZW1lbnRzO1xuICB2YXIgYWxsb3dlZFBsYWNlbWVudHMgPSBwbGFjZW1lbnRzLmZpbHRlcihmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgcmV0dXJuIGFsbG93ZWRBdXRvUGxhY2VtZW50cy5pbmRleE9mKHBsYWNlbWVudCkgPj0gMDtcbiAgfSk7XG5cbiAgaWYgKGFsbG93ZWRQbGFjZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGFsbG93ZWRQbGFjZW1lbnRzID0gcGxhY2VtZW50cztcbiAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS10eXBlXTogRmxvdyBzZWVtcyB0byBoYXZlIHByb2JsZW1zIHdpdGggdHdvIGFycmF5IHVuaW9ucy4uLlxuXG5cbiAgdmFyIG92ZXJmbG93cyA9IGFsbG93ZWRQbGFjZW1lbnRzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBwbGFjZW1lbnQpIHtcbiAgICBhY2NbcGxhY2VtZW50XSA9IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICBwbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIGJvdW5kYXJ5OiBib3VuZGFyeSxcbiAgICAgIHJvb3RCb3VuZGFyeTogcm9vdEJvdW5kYXJ5LFxuICAgICAgcGFkZGluZzogcGFkZGluZ1xuICAgIH0pW2dldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KV07XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuICByZXR1cm4gT2JqZWN0LmtleXMob3ZlcmZsb3dzKS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIG92ZXJmbG93c1thXSAtIG92ZXJmbG93c1tiXTtcbiAgfSk7XG59IiwiaW1wb3J0IGdldEJhc2VQbGFjZW1lbnQgZnJvbSBcIi4vZ2V0QmFzZVBsYWNlbWVudC5qc1wiO1xuaW1wb3J0IGdldFZhcmlhdGlvbiBmcm9tIFwiLi9nZXRWYXJpYXRpb24uanNcIjtcbmltcG9ydCBnZXRNYWluQXhpc0Zyb21QbGFjZW1lbnQgZnJvbSBcIi4vZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50LmpzXCI7XG5pbXBvcnQgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIHN0YXJ0LCBlbmQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXB1dGVPZmZzZXRzKF9yZWYpIHtcbiAgdmFyIHJlZmVyZW5jZSA9IF9yZWYucmVmZXJlbmNlLFxuICAgICAgZWxlbWVudCA9IF9yZWYuZWxlbWVudCxcbiAgICAgIHBsYWNlbWVudCA9IF9yZWYucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IHBsYWNlbWVudCA/IGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KSA6IG51bGw7XG4gIHZhciB2YXJpYXRpb24gPSBwbGFjZW1lbnQgPyBnZXRWYXJpYXRpb24ocGxhY2VtZW50KSA6IG51bGw7XG4gIHZhciBjb21tb25YID0gcmVmZXJlbmNlLnggKyByZWZlcmVuY2Uud2lkdGggLyAyIC0gZWxlbWVudC53aWR0aCAvIDI7XG4gIHZhciBjb21tb25ZID0gcmVmZXJlbmNlLnkgKyByZWZlcmVuY2UuaGVpZ2h0IC8gMiAtIGVsZW1lbnQuaGVpZ2h0IC8gMjtcbiAgdmFyIG9mZnNldHM7XG5cbiAgc3dpdGNoIChiYXNlUGxhY2VtZW50KSB7XG4gICAgY2FzZSB0b3A6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiBjb21tb25YLFxuICAgICAgICB5OiByZWZlcmVuY2UueSAtIGVsZW1lbnQuaGVpZ2h0XG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIGJvdHRvbTpcbiAgICAgIG9mZnNldHMgPSB7XG4gICAgICAgIHg6IGNvbW1vblgsXG4gICAgICAgIHk6IHJlZmVyZW5jZS55ICsgcmVmZXJlbmNlLmhlaWdodFxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSByaWdodDpcbiAgICAgIG9mZnNldHMgPSB7XG4gICAgICAgIHg6IHJlZmVyZW5jZS54ICsgcmVmZXJlbmNlLndpZHRoLFxuICAgICAgICB5OiBjb21tb25ZXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIGxlZnQ6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCAtIGVsZW1lbnQud2lkdGgsXG4gICAgICAgIHk6IGNvbW1vbllcbiAgICAgIH07XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBvZmZzZXRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnlcbiAgICAgIH07XG4gIH1cblxuICB2YXIgbWFpbkF4aXMgPSBiYXNlUGxhY2VtZW50ID8gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KGJhc2VQbGFjZW1lbnQpIDogbnVsbDtcblxuICBpZiAobWFpbkF4aXMgIT0gbnVsbCkge1xuICAgIHZhciBsZW4gPSBtYWluQXhpcyA9PT0gJ3knID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuXG4gICAgc3dpdGNoICh2YXJpYXRpb24pIHtcbiAgICAgIGNhc2Ugc3RhcnQ6XG4gICAgICAgIG9mZnNldHNbbWFpbkF4aXNdID0gb2Zmc2V0c1ttYWluQXhpc10gLSAocmVmZXJlbmNlW2xlbl0gLyAyIC0gZWxlbWVudFtsZW5dIC8gMik7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIGVuZDpcbiAgICAgICAgb2Zmc2V0c1ttYWluQXhpc10gPSBvZmZzZXRzW21haW5BeGlzXSArIChyZWZlcmVuY2VbbGVuXSAvIDIgLSBlbGVtZW50W2xlbl0gLyAyKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9mZnNldHM7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGVib3VuY2UoZm4pIHtcbiAgdmFyIHBlbmRpbmc7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICBwZW5kaW5nID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcGVuZGluZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXNvbHZlKGZuKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBwZW5kaW5nO1xuICB9O1xufSIsImltcG9ydCBnZXRDbGlwcGluZ1JlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRDbGlwcGluZ1JlY3QuanNcIjtcbmltcG9ydCBnZXREb2N1bWVudEVsZW1lbnQgZnJvbSBcIi4uL2RvbS11dGlscy9nZXREb2N1bWVudEVsZW1lbnQuanNcIjtcbmltcG9ydCBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZnJvbSBcIi4uL2RvbS11dGlscy9nZXRCb3VuZGluZ0NsaWVudFJlY3QuanNcIjtcbmltcG9ydCBjb21wdXRlT2Zmc2V0cyBmcm9tIFwiLi9jb21wdXRlT2Zmc2V0cy5qc1wiO1xuaW1wb3J0IHJlY3RUb0NsaWVudFJlY3QgZnJvbSBcIi4vcmVjdFRvQ2xpZW50UmVjdC5qc1wiO1xuaW1wb3J0IHsgY2xpcHBpbmdQYXJlbnRzLCByZWZlcmVuY2UsIHBvcHBlciwgYm90dG9tLCB0b3AsIHJpZ2h0LCBiYXNlUGxhY2VtZW50cywgdmlld3BvcnQgfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmltcG9ydCB7IGlzRWxlbWVudCB9IGZyb20gXCIuLi9kb20tdXRpbHMvaW5zdGFuY2VPZi5qc1wiO1xuaW1wb3J0IG1lcmdlUGFkZGluZ09iamVjdCBmcm9tIFwiLi9tZXJnZVBhZGRpbmdPYmplY3QuanNcIjtcbmltcG9ydCBleHBhbmRUb0hhc2hNYXAgZnJvbSBcIi4vZXhwYW5kVG9IYXNoTWFwLmpzXCI7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tdW51c2VkLW1vZHVsZXNcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGV0ZWN0T3ZlcmZsb3coc3RhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHZhciBfb3B0aW9ucyA9IG9wdGlvbnMsXG4gICAgICBfb3B0aW9ucyRwbGFjZW1lbnQgPSBfb3B0aW9ucy5wbGFjZW1lbnQsXG4gICAgICBwbGFjZW1lbnQgPSBfb3B0aW9ucyRwbGFjZW1lbnQgPT09IHZvaWQgMCA/IHN0YXRlLnBsYWNlbWVudCA6IF9vcHRpb25zJHBsYWNlbWVudCxcbiAgICAgIF9vcHRpb25zJHN0cmF0ZWd5ID0gX29wdGlvbnMuc3RyYXRlZ3ksXG4gICAgICBzdHJhdGVneSA9IF9vcHRpb25zJHN0cmF0ZWd5ID09PSB2b2lkIDAgPyBzdGF0ZS5zdHJhdGVneSA6IF9vcHRpb25zJHN0cmF0ZWd5LFxuICAgICAgX29wdGlvbnMkYm91bmRhcnkgPSBfb3B0aW9ucy5ib3VuZGFyeSxcbiAgICAgIGJvdW5kYXJ5ID0gX29wdGlvbnMkYm91bmRhcnkgPT09IHZvaWQgMCA/IGNsaXBwaW5nUGFyZW50cyA6IF9vcHRpb25zJGJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMucm9vdEJvdW5kYXJ5LFxuICAgICAgcm9vdEJvdW5kYXJ5ID0gX29wdGlvbnMkcm9vdEJvdW5kYXJ5ID09PSB2b2lkIDAgPyB2aWV3cG9ydCA6IF9vcHRpb25zJHJvb3RCb3VuZGFyeSxcbiAgICAgIF9vcHRpb25zJGVsZW1lbnRDb250ZSA9IF9vcHRpb25zLmVsZW1lbnRDb250ZXh0LFxuICAgICAgZWxlbWVudENvbnRleHQgPSBfb3B0aW9ucyRlbGVtZW50Q29udGUgPT09IHZvaWQgMCA/IHBvcHBlciA6IF9vcHRpb25zJGVsZW1lbnRDb250ZSxcbiAgICAgIF9vcHRpb25zJGFsdEJvdW5kYXJ5ID0gX29wdGlvbnMuYWx0Qm91bmRhcnksXG4gICAgICBhbHRCb3VuZGFyeSA9IF9vcHRpb25zJGFsdEJvdW5kYXJ5ID09PSB2b2lkIDAgPyBmYWxzZSA6IF9vcHRpb25zJGFsdEJvdW5kYXJ5LFxuICAgICAgX29wdGlvbnMkcGFkZGluZyA9IF9vcHRpb25zLnBhZGRpbmcsXG4gICAgICBwYWRkaW5nID0gX29wdGlvbnMkcGFkZGluZyA9PT0gdm9pZCAwID8gMCA6IF9vcHRpb25zJHBhZGRpbmc7XG4gIHZhciBwYWRkaW5nT2JqZWN0ID0gbWVyZ2VQYWRkaW5nT2JqZWN0KHR5cGVvZiBwYWRkaW5nICE9PSAnbnVtYmVyJyA/IHBhZGRpbmcgOiBleHBhbmRUb0hhc2hNYXAocGFkZGluZywgYmFzZVBsYWNlbWVudHMpKTtcbiAgdmFyIGFsdENvbnRleHQgPSBlbGVtZW50Q29udGV4dCA9PT0gcG9wcGVyID8gcmVmZXJlbmNlIDogcG9wcGVyO1xuICB2YXIgcG9wcGVyUmVjdCA9IHN0YXRlLnJlY3RzLnBvcHBlcjtcbiAgdmFyIGVsZW1lbnQgPSBzdGF0ZS5lbGVtZW50c1thbHRCb3VuZGFyeSA/IGFsdENvbnRleHQgOiBlbGVtZW50Q29udGV4dF07XG4gIHZhciBjbGlwcGluZ0NsaWVudFJlY3QgPSBnZXRDbGlwcGluZ1JlY3QoaXNFbGVtZW50KGVsZW1lbnQpID8gZWxlbWVudCA6IGVsZW1lbnQuY29udGV4dEVsZW1lbnQgfHwgZ2V0RG9jdW1lbnRFbGVtZW50KHN0YXRlLmVsZW1lbnRzLnBvcHBlciksIGJvdW5kYXJ5LCByb290Qm91bmRhcnksIHN0cmF0ZWd5KTtcbiAgdmFyIHJlZmVyZW5jZUNsaWVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qoc3RhdGUuZWxlbWVudHMucmVmZXJlbmNlKTtcbiAgdmFyIHBvcHBlck9mZnNldHMgPSBjb21wdXRlT2Zmc2V0cyh7XG4gICAgcmVmZXJlbmNlOiByZWZlcmVuY2VDbGllbnRSZWN0LFxuICAgIGVsZW1lbnQ6IHBvcHBlclJlY3QsXG4gICAgc3RyYXRlZ3k6ICdhYnNvbHV0ZScsXG4gICAgcGxhY2VtZW50OiBwbGFjZW1lbnRcbiAgfSk7XG4gIHZhciBwb3BwZXJDbGllbnRSZWN0ID0gcmVjdFRvQ2xpZW50UmVjdChPYmplY3QuYXNzaWduKHt9LCBwb3BwZXJSZWN0LCBwb3BwZXJPZmZzZXRzKSk7XG4gIHZhciBlbGVtZW50Q2xpZW50UmVjdCA9IGVsZW1lbnRDb250ZXh0ID09PSBwb3BwZXIgPyBwb3BwZXJDbGllbnRSZWN0IDogcmVmZXJlbmNlQ2xpZW50UmVjdDsgLy8gcG9zaXRpdmUgPSBvdmVyZmxvd2luZyB0aGUgY2xpcHBpbmcgcmVjdFxuICAvLyAwIG9yIG5lZ2F0aXZlID0gd2l0aGluIHRoZSBjbGlwcGluZyByZWN0XG5cbiAgdmFyIG92ZXJmbG93T2Zmc2V0cyA9IHtcbiAgICB0b3A6IGNsaXBwaW5nQ2xpZW50UmVjdC50b3AgLSBlbGVtZW50Q2xpZW50UmVjdC50b3AgKyBwYWRkaW5nT2JqZWN0LnRvcCxcbiAgICBib3R0b206IGVsZW1lbnRDbGllbnRSZWN0LmJvdHRvbSAtIGNsaXBwaW5nQ2xpZW50UmVjdC5ib3R0b20gKyBwYWRkaW5nT2JqZWN0LmJvdHRvbSxcbiAgICBsZWZ0OiBjbGlwcGluZ0NsaWVudFJlY3QubGVmdCAtIGVsZW1lbnRDbGllbnRSZWN0LmxlZnQgKyBwYWRkaW5nT2JqZWN0LmxlZnQsXG4gICAgcmlnaHQ6IGVsZW1lbnRDbGllbnRSZWN0LnJpZ2h0IC0gY2xpcHBpbmdDbGllbnRSZWN0LnJpZ2h0ICsgcGFkZGluZ09iamVjdC5yaWdodFxuICB9O1xuICB2YXIgb2Zmc2V0RGF0YSA9IHN0YXRlLm1vZGlmaWVyc0RhdGEub2Zmc2V0OyAvLyBPZmZzZXRzIGNhbiBiZSBhcHBsaWVkIG9ubHkgdG8gdGhlIHBvcHBlciBlbGVtZW50XG5cbiAgaWYgKGVsZW1lbnRDb250ZXh0ID09PSBwb3BwZXIgJiYgb2Zmc2V0RGF0YSkge1xuICAgIHZhciBvZmZzZXQgPSBvZmZzZXREYXRhW3BsYWNlbWVudF07XG4gICAgT2JqZWN0LmtleXMob3ZlcmZsb3dPZmZzZXRzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIHZhciBtdWx0aXBseSA9IFtyaWdodCwgYm90dG9tXS5pbmRleE9mKGtleSkgPj0gMCA/IDEgOiAtMTtcbiAgICAgIHZhciBheGlzID0gW3RvcCwgYm90dG9tXS5pbmRleE9mKGtleSkgPj0gMCA/ICd5JyA6ICd4JztcbiAgICAgIG92ZXJmbG93T2Zmc2V0c1trZXldICs9IG9mZnNldFtheGlzXSAqIG11bHRpcGx5O1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIG92ZXJmbG93T2Zmc2V0cztcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBleHBhbmRUb0hhc2hNYXAodmFsdWUsIGtleXMpIHtcbiAgcmV0dXJuIGtleXMucmVkdWNlKGZ1bmN0aW9uIChoYXNoTWFwLCBrZXkpIHtcbiAgICBoYXNoTWFwW2tleV0gPSB2YWx1ZTtcbiAgICByZXR1cm4gaGFzaE1hcDtcbiAgfSwge30pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEFsdEF4aXMoYXhpcykge1xuICByZXR1cm4gYXhpcyA9PT0gJ3gnID8gJ3knIDogJ3gnO1xufSIsImltcG9ydCB7IGF1dG8gfSBmcm9tIFwiLi4vZW51bXMuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldEJhc2VQbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRGcmVzaFNpZGVPYmplY3QoKSB7XG4gIHJldHVybiB7XG4gICAgdG9wOiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGJvdHRvbTogMCxcbiAgICBsZWZ0OiAwXG4gIH07XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0TWFpbkF4aXNGcm9tUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gWyd0b3AnLCAnYm90dG9tJ10uaW5kZXhPZihwbGFjZW1lbnQpID49IDAgPyAneCcgOiAneSc7XG59IiwidmFyIGhhc2ggPSB7XG4gIGxlZnQ6ICdyaWdodCcsXG4gIHJpZ2h0OiAnbGVmdCcsXG4gIGJvdHRvbTogJ3RvcCcsXG4gIHRvcDogJ2JvdHRvbSdcbn07XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRPcHBvc2l0ZVBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9sZWZ0fHJpZ2h0fGJvdHRvbXx0b3AvZywgZnVuY3Rpb24gKG1hdGNoZWQpIHtcbiAgICByZXR1cm4gaGFzaFttYXRjaGVkXTtcbiAgfSk7XG59IiwidmFyIGhhc2ggPSB7XG4gIHN0YXJ0OiAnZW5kJyxcbiAgZW5kOiAnc3RhcnQnXG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0T3Bwb3NpdGVWYXJpYXRpb25QbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQucmVwbGFjZSgvc3RhcnR8ZW5kL2csIGZ1bmN0aW9uIChtYXRjaGVkKSB7XG4gICAgcmV0dXJuIGhhc2hbbWF0Y2hlZF07XG4gIH0pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFZhcmlhdGlvbihwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5zcGxpdCgnLScpWzFdO1xufSIsImV4cG9ydCB2YXIgbWF4ID0gTWF0aC5tYXg7XG5leHBvcnQgdmFyIG1pbiA9IE1hdGgubWluO1xuZXhwb3J0IHZhciByb3VuZCA9IE1hdGgucm91bmQ7IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWVyZ2VCeU5hbWUobW9kaWZpZXJzKSB7XG4gIHZhciBtZXJnZWQgPSBtb2RpZmllcnMucmVkdWNlKGZ1bmN0aW9uIChtZXJnZWQsIGN1cnJlbnQpIHtcbiAgICB2YXIgZXhpc3RpbmcgPSBtZXJnZWRbY3VycmVudC5uYW1lXTtcbiAgICBtZXJnZWRbY3VycmVudC5uYW1lXSA9IGV4aXN0aW5nID8gT2JqZWN0LmFzc2lnbih7fSwgZXhpc3RpbmcsIGN1cnJlbnQsIHtcbiAgICAgIG9wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIGV4aXN0aW5nLm9wdGlvbnMsIGN1cnJlbnQub3B0aW9ucyksXG4gICAgICBkYXRhOiBPYmplY3QuYXNzaWduKHt9LCBleGlzdGluZy5kYXRhLCBjdXJyZW50LmRhdGEpXG4gICAgfSkgOiBjdXJyZW50O1xuICAgIHJldHVybiBtZXJnZWQ7XG4gIH0sIHt9KTsgLy8gSUUxMSBkb2VzIG5vdCBzdXBwb3J0IE9iamVjdC52YWx1ZXNcblxuICByZXR1cm4gT2JqZWN0LmtleXMobWVyZ2VkKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBtZXJnZWRba2V5XTtcbiAgfSk7XG59IiwiaW1wb3J0IGdldEZyZXNoU2lkZU9iamVjdCBmcm9tIFwiLi9nZXRGcmVzaFNpZGVPYmplY3QuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1lcmdlUGFkZGluZ09iamVjdChwYWRkaW5nT2JqZWN0KSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBnZXRGcmVzaFNpZGVPYmplY3QoKSwgcGFkZGluZ09iamVjdCk7XG59IiwiaW1wb3J0IHsgbW9kaWZpZXJQaGFzZXMgfSBmcm9tIFwiLi4vZW51bXMuanNcIjsgLy8gc291cmNlOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80OTg3NTI1NVxuXG5mdW5jdGlvbiBvcmRlcihtb2RpZmllcnMpIHtcbiAgdmFyIG1hcCA9IG5ldyBNYXAoKTtcbiAgdmFyIHZpc2l0ZWQgPSBuZXcgU2V0KCk7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgbW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgbWFwLnNldChtb2RpZmllci5uYW1lLCBtb2RpZmllcik7XG4gIH0pOyAvLyBPbiB2aXNpdGluZyBvYmplY3QsIGNoZWNrIGZvciBpdHMgZGVwZW5kZW5jaWVzIGFuZCB2aXNpdCB0aGVtIHJlY3Vyc2l2ZWx5XG5cbiAgZnVuY3Rpb24gc29ydChtb2RpZmllcikge1xuICAgIHZpc2l0ZWQuYWRkKG1vZGlmaWVyLm5hbWUpO1xuICAgIHZhciByZXF1aXJlcyA9IFtdLmNvbmNhdChtb2RpZmllci5yZXF1aXJlcyB8fCBbXSwgbW9kaWZpZXIucmVxdWlyZXNJZkV4aXN0cyB8fCBbXSk7XG4gICAgcmVxdWlyZXMuZm9yRWFjaChmdW5jdGlvbiAoZGVwKSB7XG4gICAgICBpZiAoIXZpc2l0ZWQuaGFzKGRlcCkpIHtcbiAgICAgICAgdmFyIGRlcE1vZGlmaWVyID0gbWFwLmdldChkZXApO1xuXG4gICAgICAgIGlmIChkZXBNb2RpZmllcikge1xuICAgICAgICAgIHNvcnQoZGVwTW9kaWZpZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmVzdWx0LnB1c2gobW9kaWZpZXIpO1xuICB9XG5cbiAgbW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgaWYgKCF2aXNpdGVkLmhhcyhtb2RpZmllci5uYW1lKSkge1xuICAgICAgLy8gY2hlY2sgZm9yIHZpc2l0ZWQgb2JqZWN0XG4gICAgICBzb3J0KG1vZGlmaWVyKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBvcmRlck1vZGlmaWVycyhtb2RpZmllcnMpIHtcbiAgLy8gb3JkZXIgYmFzZWQgb24gZGVwZW5kZW5jaWVzXG4gIHZhciBvcmRlcmVkTW9kaWZpZXJzID0gb3JkZXIobW9kaWZpZXJzKTsgLy8gb3JkZXIgYmFzZWQgb24gcGhhc2VcblxuICByZXR1cm4gbW9kaWZpZXJQaGFzZXMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBoYXNlKSB7XG4gICAgcmV0dXJuIGFjYy5jb25jYXQob3JkZXJlZE1vZGlmaWVycy5maWx0ZXIoZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgICByZXR1cm4gbW9kaWZpZXIucGhhc2UgPT09IHBoYXNlO1xuICAgIH0pKTtcbiAgfSwgW10pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlY3RUb0NsaWVudFJlY3QocmVjdCkge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgcmVjdCwge1xuICAgIGxlZnQ6IHJlY3QueCxcbiAgICB0b3A6IHJlY3QueSxcbiAgICByaWdodDogcmVjdC54ICsgcmVjdC53aWR0aCxcbiAgICBib3R0b206IHJlY3QueSArIHJlY3QuaGVpZ2h0XG4gIH0pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFVBU3RyaW5nKCkge1xuICB2YXIgdWFEYXRhID0gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGE7XG5cbiAgaWYgKHVhRGF0YSAhPSBudWxsICYmIHVhRGF0YS5icmFuZHMgJiYgQXJyYXkuaXNBcnJheSh1YURhdGEuYnJhbmRzKSkge1xuICAgIHJldHVybiB1YURhdGEuYnJhbmRzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGl0ZW0uYnJhbmQgKyBcIi9cIiArIGl0ZW0udmVyc2lvbjtcbiAgICB9KS5qb2luKCcgJyk7XG4gIH1cblxuICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbn0iLCJpbXBvcnQgeyBtYXggYXMgbWF0aE1heCwgbWluIGFzIG1hdGhNaW4gfSBmcm9tIFwiLi9tYXRoLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gd2l0aGluKG1pbiwgdmFsdWUsIG1heCkge1xuICByZXR1cm4gbWF0aE1heChtaW4sIG1hdGhNaW4odmFsdWUsIG1heCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhpbk1heENsYW1wKG1pbiwgdmFsdWUsIG1heCkge1xuICB2YXIgdiA9IHdpdGhpbihtaW4sIHZhbHVlLCBtYXgpO1xuICByZXR1cm4gdiA+IG1heCA/IG1heCA6IHY7XG59IiwiaW1wb3J0ICdhbHBpbmVqcydcclxuXHJcbndpbmRvdy4kID0gd2luZG93LmpRdWVyeSA9IHJlcXVpcmUoJ2pxdWVyeScpO1xyXG53aW5kb3cuU3dhbCA9IHJlcXVpcmUoJ3N3ZWV0YWxlcnQyJyk7XHJcblxyXG4vLyBDb3JlVUlcclxucmVxdWlyZSgnQGNvcmV1aS9jb3JldWknKTtcclxuXHJcbi8vIEJvaWxlcnBsYXRlXHJcbnJlcXVpcmUoJy4uL3BsdWdpbnMnKTtcclxuIiwiLyoqXHJcbiAqIFBsYWNlIGFueSBqUXVlcnkvaGVscGVyIHBsdWdpbnMgaW4gaGVyZS5cclxuICovXHJcbiQoZnVuY3Rpb24gKCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVja2JveCB0cmVlIGZvciBwZXJtaXNzaW9uIHNlbGVjdGluZ1xyXG4gICAgICovXHJcbiAgICBsZXQgcGVybWlzc2lvblRyZWUgPSAkKCcucGVybWlzc2lvbi10cmVlIDpjaGVja2JveCcpO1xyXG5cclxuICAgIHBlcm1pc3Npb25UcmVlLm9uKCdjbGljayBjaGFuZ2UnLCBmdW5jdGlvbiAoKXtcclxuICAgICAgICBpZigkKHRoaXMpLmlzKCc6Y2hlY2tlZCcpKSB7XHJcbiAgICAgICAgICAgICQodGhpcykuc2libGluZ3MoJ3VsJykuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykuYXR0cignY2hlY2tlZCcsIHRydWUpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgJCh0aGlzKS5zaWJsaW5ncygndWwnKS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS5yZW1vdmVBdHRyKCdjaGVja2VkJykucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBwZXJtaXNzaW9uVHJlZS5lYWNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZigkKHRoaXMpLmlzKCc6Y2hlY2tlZCcpKSB7XHJcbiAgICAgICAgICAgICQodGhpcykuc2libGluZ3MoJ3VsJykuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykuYXR0cignY2hlY2tlZCcsIHRydWUpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXNhYmxlIHN1Ym1pdCBpbnB1dHMgaW4gdGhlIGdpdmVuIGZvcm1cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZm9ybVxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBkaXNhYmxlU3VibWl0QnV0dG9ucyhmb3JtKSB7XHJcbiAgICAgICAgZm9ybS5maW5kKCdpbnB1dFt0eXBlPVwic3VibWl0XCJdJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcclxuICAgICAgICBmb3JtLmZpbmQoJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVuYWJsZSB0aGUgc3VibWl0IGlucHV0cyBpbiBhIGdpdmVuIGZvcm1cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZm9ybVxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBlbmFibGVTdWJtaXRCdXR0b25zKGZvcm0pIHtcclxuICAgICAgICBmb3JtLmZpbmQoJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpO1xyXG4gICAgICAgIGZvcm0uZmluZCgnYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0nKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGlzYWJsZSBhbGwgc3VibWl0IGJ1dHRvbnMgb25jZSBjbGlja2VkXHJcbiAgICAgKi9cclxuICAgICQoJ2Zvcm0nKS5zdWJtaXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGRpc2FibGVTdWJtaXRCdXR0b25zKCQodGhpcykpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgYSBjb25maXJtYXRpb24gdG8gYSBkZWxldGUgYnV0dG9uL2Zvcm1cclxuICAgICAqL1xyXG4gICAgJCgnYm9keScpLm9uKCdzdWJtaXQnLCAnZm9ybVtuYW1lPWRlbGV0ZS1pdGVtXScsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/JyxcclxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICdDb25maXJtIERlbGV0ZScsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdDYW5jZWwnLFxyXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcclxuICAgICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJtaXQoKVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZW5hYmxlU3VibWl0QnV0dG9ucygkKHRoaXMpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSlcclxuICAgICAgICAub24oJ3N1Ym1pdCcsICdmb3JtW25hbWU9Y29uZmlybS1pdGVtXScsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyB0aGlzPycsXHJcbiAgICAgICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICdDb250aW51ZScsXHJcbiAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAnQ2FuY2VsJyxcclxuICAgICAgICAgICAgICAgIGljb246ICd3YXJuaW5nJ1xyXG4gICAgICAgICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdCgpXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZVN1Ym1pdEJ1dHRvbnMoJCh0aGlzKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLm9uKCdjbGljaycsICdhW25hbWU9Y29uZmlybS1pdGVtXScsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQWRkIGFuICdhcmUgeW91IHN1cmUnIHBvcC11cCB0byBhbnkgYnV0dG9uL2xpbmtcclxuICAgICAgICAgKi9cclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgIFN3YWwuZmlyZSh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRvIHRoaXM/JyxcclxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICdDb250aW51ZScsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdDYW5jZWwnLFxyXG4gICAgICAgICAgICBpY29uOiAnaW5mbycsXHJcbiAgICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIHJlc3VsdC52YWx1ZSAmJiB3aW5kb3cubG9jYXRpb24uYXNzaWduKCQodGhpcykuYXR0cignaHJlZicpKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIFJlbWVtYmVyIHRhYiBvbiBwYWdlIGxvYWRcclxuICAgICQoJ2FbZGF0YS10b2dnbGU9XCJ0YWJcIl0sIGFbZGF0YS10b2dnbGU9XCJwaWxsXCJdJykub24oJ3Nob3duLmJzLnRhYicsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgbGV0IGhhc2ggPSAkKGUudGFyZ2V0KS5hdHRyKCdocmVmJyk7XHJcbiAgICAgICAgaGlzdG9yeS5wdXNoU3RhdGUgPyBoaXN0b3J5LnB1c2hTdGF0ZShudWxsLCBudWxsLCBoYXNoKSA6IGxvY2F0aW9uLmhhc2ggPSBoYXNoO1xyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaDtcclxuICAgIGlmIChoYXNoKSB7XHJcbiAgICAgICAgJCgnLm5hdi1saW5rW2hyZWY9XCInK2hhc2grJ1wiXScpLnRhYignc2hvdycpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEVuYWJsZSB0b29sdGlwcyBldmVyeXdoZXJlXHJcbiAgICAkKCdbZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJdJykudG9vbHRpcCgpO1xyXG59KTtcclxuIiwiLyohXHJcbiAqIHBlcmZlY3Qtc2Nyb2xsYmFyIHYxLjUuMFxyXG4gKiBDb3B5cmlnaHQgMjAyMCBIeXVuamUgSnVuLCBNREJvb3RzdHJhcCBhbmQgQ29udHJpYnV0b3JzXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVFxyXG4gKi9cclxuXHJcbmZ1bmN0aW9uIGdldChlbGVtZW50KSB7XHJcbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHNldChlbGVtZW50LCBvYmopIHtcclxuICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XHJcbiAgICB2YXIgdmFsID0gb2JqW2tleV07XHJcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgdmFsID0gdmFsICsgXCJweFwiO1xyXG4gICAgfVxyXG4gICAgZWxlbWVudC5zdHlsZVtrZXldID0gdmFsO1xyXG4gIH1cclxuICByZXR1cm4gZWxlbWVudDtcclxufVxyXG5cclxuZnVuY3Rpb24gZGl2KGNsYXNzTmFtZSkge1xyXG4gIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICBkaXYuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xyXG4gIHJldHVybiBkaXY7XHJcbn1cclxuXHJcbnZhciBlbE1hdGNoZXMgPVxyXG4gIHR5cGVvZiBFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJlxyXG4gIChFbGVtZW50LnByb3RvdHlwZS5tYXRjaGVzIHx8XHJcbiAgICBFbGVtZW50LnByb3RvdHlwZS53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHxcclxuICAgIEVsZW1lbnQucHJvdG90eXBlLm1vek1hdGNoZXNTZWxlY3RvciB8fFxyXG4gICAgRWxlbWVudC5wcm90b3R5cGUubXNNYXRjaGVzU2VsZWN0b3IpO1xyXG5cclxuZnVuY3Rpb24gbWF0Y2hlcyhlbGVtZW50LCBxdWVyeSkge1xyXG4gIGlmICghZWxNYXRjaGVzKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGVsZW1lbnQgbWF0Y2hpbmcgbWV0aG9kIHN1cHBvcnRlZCcpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGVsTWF0Y2hlcy5jYWxsKGVsZW1lbnQsIHF1ZXJ5KTtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVtb3ZlKGVsZW1lbnQpIHtcclxuICBpZiAoZWxlbWVudC5yZW1vdmUpIHtcclxuICAgIGVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmIChlbGVtZW50LnBhcmVudE5vZGUpIHtcclxuICAgICAgZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gcXVlcnlDaGlsZHJlbihlbGVtZW50LCBzZWxlY3Rvcikge1xyXG4gIHJldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZWxlbWVudC5jaGlsZHJlbiwgZnVuY3Rpb24gKGNoaWxkKSB7IHJldHVybiBtYXRjaGVzKGNoaWxkLCBzZWxlY3Rvcik7IH1cclxuICApO1xyXG59XHJcblxyXG52YXIgY2xzID0ge1xyXG4gIG1haW46ICdwcycsXHJcbiAgcnRsOiAncHNfX3J0bCcsXHJcbiAgZWxlbWVudDoge1xyXG4gICAgdGh1bWI6IGZ1bmN0aW9uICh4KSB7IHJldHVybiAoXCJwc19fdGh1bWItXCIgKyB4KTsgfSxcclxuICAgIHJhaWw6IGZ1bmN0aW9uICh4KSB7IHJldHVybiAoXCJwc19fcmFpbC1cIiArIHgpOyB9LFxyXG4gICAgY29uc3VtaW5nOiAncHNfX2NoaWxkLS1jb25zdW1lJyxcclxuICB9LFxyXG4gIHN0YXRlOiB7XHJcbiAgICBmb2N1czogJ3BzLS1mb2N1cycsXHJcbiAgICBjbGlja2luZzogJ3BzLS1jbGlja2luZycsXHJcbiAgICBhY3RpdmU6IGZ1bmN0aW9uICh4KSB7IHJldHVybiAoXCJwcy0tYWN0aXZlLVwiICsgeCk7IH0sXHJcbiAgICBzY3JvbGxpbmc6IGZ1bmN0aW9uICh4KSB7IHJldHVybiAoXCJwcy0tc2Nyb2xsaW5nLVwiICsgeCk7IH0sXHJcbiAgfSxcclxufTtcclxuXHJcbi8qXHJcbiAqIEhlbHBlciBtZXRob2RzXHJcbiAqL1xyXG52YXIgc2Nyb2xsaW5nQ2xhc3NUaW1lb3V0ID0geyB4OiBudWxsLCB5OiBudWxsIH07XHJcblxyXG5mdW5jdGlvbiBhZGRTY3JvbGxpbmdDbGFzcyhpLCB4KSB7XHJcbiAgdmFyIGNsYXNzTGlzdCA9IGkuZWxlbWVudC5jbGFzc0xpc3Q7XHJcbiAgdmFyIGNsYXNzTmFtZSA9IGNscy5zdGF0ZS5zY3JvbGxpbmcoeCk7XHJcblxyXG4gIGlmIChjbGFzc0xpc3QuY29udGFpbnMoY2xhc3NOYW1lKSkge1xyXG4gICAgY2xlYXJUaW1lb3V0KHNjcm9sbGluZ0NsYXNzVGltZW91dFt4XSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbW92ZVNjcm9sbGluZ0NsYXNzKGksIHgpIHtcclxuICBzY3JvbGxpbmdDbGFzc1RpbWVvdXRbeF0gPSBzZXRUaW1lb3V0KFxyXG4gICAgZnVuY3Rpb24gKCkgeyByZXR1cm4gaS5pc0FsaXZlICYmIGkuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNscy5zdGF0ZS5zY3JvbGxpbmcoeCkpOyB9LFxyXG4gICAgaS5zZXR0aW5ncy5zY3JvbGxpbmdUaHJlc2hvbGRcclxuICApO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzZXRTY3JvbGxpbmdDbGFzc0luc3RhbnRseShpLCB4KSB7XHJcbiAgYWRkU2Nyb2xsaW5nQ2xhc3MoaSwgeCk7XHJcbiAgcmVtb3ZlU2Nyb2xsaW5nQ2xhc3MoaSwgeCk7XHJcbn1cclxuXHJcbnZhciBFdmVudEVsZW1lbnQgPSBmdW5jdGlvbiBFdmVudEVsZW1lbnQoZWxlbWVudCkge1xyXG4gIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XHJcbiAgdGhpcy5oYW5kbGVycyA9IHt9O1xyXG59O1xyXG5cclxudmFyIHByb3RvdHlwZUFjY2Vzc29ycyA9IHsgaXNFbXB0eTogeyBjb25maWd1cmFibGU6IHRydWUgfSB9O1xyXG5cclxuRXZlbnRFbGVtZW50LnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gYmluZCAoZXZlbnROYW1lLCBoYW5kbGVyKSB7XHJcbiAgaWYgKHR5cGVvZiB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0gPSBbXTtcclxuICB9XHJcbiAgdGhpcy5oYW5kbGVyc1tldmVudE5hbWVdLnB1c2goaGFuZGxlcik7XHJcbiAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyLCBmYWxzZSk7XHJcbn07XHJcblxyXG5FdmVudEVsZW1lbnQucHJvdG90eXBlLnVuYmluZCA9IGZ1bmN0aW9uIHVuYmluZCAoZXZlbnROYW1lLCB0YXJnZXQpIHtcclxuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xyXG5cclxuICB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0gPSB0aGlzLmhhbmRsZXJzW2V2ZW50TmFtZV0uZmlsdGVyKGZ1bmN0aW9uIChoYW5kbGVyKSB7XHJcbiAgICBpZiAodGFyZ2V0ICYmIGhhbmRsZXIgIT09IHRhcmdldCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMkMS5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyLCBmYWxzZSk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfSk7XHJcbn07XHJcblxyXG5FdmVudEVsZW1lbnQucHJvdG90eXBlLnVuYmluZEFsbCA9IGZ1bmN0aW9uIHVuYmluZEFsbCAoKSB7XHJcbiAgZm9yICh2YXIgbmFtZSBpbiB0aGlzLmhhbmRsZXJzKSB7XHJcbiAgICB0aGlzLnVuYmluZChuYW1lKTtcclxuICB9XHJcbn07XHJcblxyXG5wcm90b3R5cGVBY2Nlc3NvcnMuaXNFbXB0eS5nZXQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcclxuXHJcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuaGFuZGxlcnMpLmV2ZXJ5KFxyXG4gICAgZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gdGhpcyQxLmhhbmRsZXJzW2tleV0ubGVuZ3RoID09PSAwOyB9XHJcbiAgKTtcclxufTtcclxuXHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCBFdmVudEVsZW1lbnQucHJvdG90eXBlLCBwcm90b3R5cGVBY2Nlc3NvcnMgKTtcclxuXHJcbnZhciBFdmVudE1hbmFnZXIgPSBmdW5jdGlvbiBFdmVudE1hbmFnZXIoKSB7XHJcbiAgdGhpcy5ldmVudEVsZW1lbnRzID0gW107XHJcbn07XHJcblxyXG5FdmVudE1hbmFnZXIucHJvdG90eXBlLmV2ZW50RWxlbWVudCA9IGZ1bmN0aW9uIGV2ZW50RWxlbWVudCAoZWxlbWVudCkge1xyXG4gIHZhciBlZSA9IHRoaXMuZXZlbnRFbGVtZW50cy5maWx0ZXIoZnVuY3Rpb24gKGVlKSB7IHJldHVybiBlZS5lbGVtZW50ID09PSBlbGVtZW50OyB9KVswXTtcclxuICBpZiAoIWVlKSB7XHJcbiAgICBlZSA9IG5ldyBFdmVudEVsZW1lbnQoZWxlbWVudCk7XHJcbiAgICB0aGlzLmV2ZW50RWxlbWVudHMucHVzaChlZSk7XHJcbiAgfVxyXG4gIHJldHVybiBlZTtcclxufTtcclxuXHJcbkV2ZW50TWFuYWdlci5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uIGJpbmQgKGVsZW1lbnQsIGV2ZW50TmFtZSwgaGFuZGxlcikge1xyXG4gIHRoaXMuZXZlbnRFbGVtZW50KGVsZW1lbnQpLmJpbmQoZXZlbnROYW1lLCBoYW5kbGVyKTtcclxufTtcclxuXHJcbkV2ZW50TWFuYWdlci5wcm90b3R5cGUudW5iaW5kID0gZnVuY3Rpb24gdW5iaW5kIChlbGVtZW50LCBldmVudE5hbWUsIGhhbmRsZXIpIHtcclxuICB2YXIgZWUgPSB0aGlzLmV2ZW50RWxlbWVudChlbGVtZW50KTtcclxuICBlZS51bmJpbmQoZXZlbnROYW1lLCBoYW5kbGVyKTtcclxuXHJcbiAgaWYgKGVlLmlzRW1wdHkpIHtcclxuICAgIC8vIHJlbW92ZVxyXG4gICAgdGhpcy5ldmVudEVsZW1lbnRzLnNwbGljZSh0aGlzLmV2ZW50RWxlbWVudHMuaW5kZXhPZihlZSksIDEpO1xyXG4gIH1cclxufTtcclxuXHJcbkV2ZW50TWFuYWdlci5wcm90b3R5cGUudW5iaW5kQWxsID0gZnVuY3Rpb24gdW5iaW5kQWxsICgpIHtcclxuICB0aGlzLmV2ZW50RWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS51bmJpbmRBbGwoKTsgfSk7XHJcbiAgdGhpcy5ldmVudEVsZW1lbnRzID0gW107XHJcbn07XHJcblxyXG5FdmVudE1hbmFnZXIucHJvdG90eXBlLm9uY2UgPSBmdW5jdGlvbiBvbmNlIChlbGVtZW50LCBldmVudE5hbWUsIGhhbmRsZXIpIHtcclxuICB2YXIgZWUgPSB0aGlzLmV2ZW50RWxlbWVudChlbGVtZW50KTtcclxuICB2YXIgb25jZUhhbmRsZXIgPSBmdW5jdGlvbiAoZXZ0KSB7XHJcbiAgICBlZS51bmJpbmQoZXZlbnROYW1lLCBvbmNlSGFuZGxlcik7XHJcbiAgICBoYW5kbGVyKGV2dCk7XHJcbiAgfTtcclxuICBlZS5iaW5kKGV2ZW50TmFtZSwgb25jZUhhbmRsZXIpO1xyXG59O1xyXG5cclxuZnVuY3Rpb24gY3JlYXRlRXZlbnQobmFtZSkge1xyXG4gIGlmICh0eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gbmV3IEN1c3RvbUV2ZW50KG5hbWUpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7XHJcbiAgICBldnQuaW5pdEN1c3RvbUV2ZW50KG5hbWUsIGZhbHNlLCBmYWxzZSwgdW5kZWZpbmVkKTtcclxuICAgIHJldHVybiBldnQ7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBwcm9jZXNzU2Nyb2xsRGlmZihcclxuICBpLFxyXG4gIGF4aXMsXHJcbiAgZGlmZixcclxuICB1c2VTY3JvbGxpbmdDbGFzcyxcclxuICBmb3JjZUZpcmVSZWFjaEV2ZW50XHJcbikge1xyXG4gIGlmICggdXNlU2Nyb2xsaW5nQ2xhc3MgPT09IHZvaWQgMCApIHVzZVNjcm9sbGluZ0NsYXNzID0gdHJ1ZTtcclxuICBpZiAoIGZvcmNlRmlyZVJlYWNoRXZlbnQgPT09IHZvaWQgMCApIGZvcmNlRmlyZVJlYWNoRXZlbnQgPSBmYWxzZTtcclxuXHJcbiAgdmFyIGZpZWxkcztcclxuICBpZiAoYXhpcyA9PT0gJ3RvcCcpIHtcclxuICAgIGZpZWxkcyA9IFtcclxuICAgICAgJ2NvbnRlbnRIZWlnaHQnLFxyXG4gICAgICAnY29udGFpbmVySGVpZ2h0JyxcclxuICAgICAgJ3Njcm9sbFRvcCcsXHJcbiAgICAgICd5JyxcclxuICAgICAgJ3VwJyxcclxuICAgICAgJ2Rvd24nIF07XHJcbiAgfSBlbHNlIGlmIChheGlzID09PSAnbGVmdCcpIHtcclxuICAgIGZpZWxkcyA9IFtcclxuICAgICAgJ2NvbnRlbnRXaWR0aCcsXHJcbiAgICAgICdjb250YWluZXJXaWR0aCcsXHJcbiAgICAgICdzY3JvbGxMZWZ0JyxcclxuICAgICAgJ3gnLFxyXG4gICAgICAnbGVmdCcsXHJcbiAgICAgICdyaWdodCcgXTtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIHByb3BlciBheGlzIHNob3VsZCBiZSBwcm92aWRlZCcpO1xyXG4gIH1cclxuXHJcbiAgcHJvY2Vzc1Njcm9sbERpZmYkMShpLCBkaWZmLCBmaWVsZHMsIHVzZVNjcm9sbGluZ0NsYXNzLCBmb3JjZUZpcmVSZWFjaEV2ZW50KTtcclxufVxyXG5cclxuZnVuY3Rpb24gcHJvY2Vzc1Njcm9sbERpZmYkMShcclxuICBpLFxyXG4gIGRpZmYsXHJcbiAgcmVmLFxyXG4gIHVzZVNjcm9sbGluZ0NsYXNzLFxyXG4gIGZvcmNlRmlyZVJlYWNoRXZlbnRcclxuKSB7XHJcbiAgdmFyIGNvbnRlbnRIZWlnaHQgPSByZWZbMF07XHJcbiAgdmFyIGNvbnRhaW5lckhlaWdodCA9IHJlZlsxXTtcclxuICB2YXIgc2Nyb2xsVG9wID0gcmVmWzJdO1xyXG4gIHZhciB5ID0gcmVmWzNdO1xyXG4gIHZhciB1cCA9IHJlZls0XTtcclxuICB2YXIgZG93biA9IHJlZls1XTtcclxuICBpZiAoIHVzZVNjcm9sbGluZ0NsYXNzID09PSB2b2lkIDAgKSB1c2VTY3JvbGxpbmdDbGFzcyA9IHRydWU7XHJcbiAgaWYgKCBmb3JjZUZpcmVSZWFjaEV2ZW50ID09PSB2b2lkIDAgKSBmb3JjZUZpcmVSZWFjaEV2ZW50ID0gZmFsc2U7XHJcblxyXG4gIHZhciBlbGVtZW50ID0gaS5lbGVtZW50O1xyXG5cclxuICAvLyByZXNldCByZWFjaFxyXG4gIGkucmVhY2hbeV0gPSBudWxsO1xyXG5cclxuICAvLyAxIGZvciBzdWJwaXhlbCByb3VuZGluZ1xyXG4gIGlmIChlbGVtZW50W3Njcm9sbFRvcF0gPCAxKSB7XHJcbiAgICBpLnJlYWNoW3ldID0gJ3N0YXJ0JztcclxuICB9XHJcblxyXG4gIC8vIDEgZm9yIHN1YnBpeGVsIHJvdW5kaW5nXHJcbiAgaWYgKGVsZW1lbnRbc2Nyb2xsVG9wXSA+IGlbY29udGVudEhlaWdodF0gLSBpW2NvbnRhaW5lckhlaWdodF0gLSAxKSB7XHJcbiAgICBpLnJlYWNoW3ldID0gJ2VuZCc7XHJcbiAgfVxyXG5cclxuICBpZiAoZGlmZikge1xyXG4gICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGNyZWF0ZUV2ZW50KChcInBzLXNjcm9sbC1cIiArIHkpKSk7XHJcblxyXG4gICAgaWYgKGRpZmYgPCAwKSB7XHJcbiAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudCgoXCJwcy1zY3JvbGwtXCIgKyB1cCkpKTtcclxuICAgIH0gZWxzZSBpZiAoZGlmZiA+IDApIHtcclxuICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGNyZWF0ZUV2ZW50KChcInBzLXNjcm9sbC1cIiArIGRvd24pKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHVzZVNjcm9sbGluZ0NsYXNzKSB7XHJcbiAgICAgIHNldFNjcm9sbGluZ0NsYXNzSW5zdGFudGx5KGksIHkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYgKGkucmVhY2hbeV0gJiYgKGRpZmYgfHwgZm9yY2VGaXJlUmVhY2hFdmVudCkpIHtcclxuICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChjcmVhdGVFdmVudCgoXCJwcy1cIiArIHkgKyBcIi1yZWFjaC1cIiArIChpLnJlYWNoW3ldKSkpKTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvSW50KHgpIHtcclxuICByZXR1cm4gcGFyc2VJbnQoeCwgMTApIHx8IDA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzRWRpdGFibGUoZWwpIHtcclxuICByZXR1cm4gKFxyXG4gICAgbWF0Y2hlcyhlbCwgJ2lucHV0LFtjb250ZW50ZWRpdGFibGVdJykgfHxcclxuICAgIG1hdGNoZXMoZWwsICdzZWxlY3QsW2NvbnRlbnRlZGl0YWJsZV0nKSB8fFxyXG4gICAgbWF0Y2hlcyhlbCwgJ3RleHRhcmVhLFtjb250ZW50ZWRpdGFibGVdJykgfHxcclxuICAgIG1hdGNoZXMoZWwsICdidXR0b24sW2NvbnRlbnRlZGl0YWJsZV0nKVxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG91dGVyV2lkdGgoZWxlbWVudCkge1xyXG4gIHZhciBzdHlsZXMgPSBnZXQoZWxlbWVudCk7XHJcbiAgcmV0dXJuIChcclxuICAgIHRvSW50KHN0eWxlcy53aWR0aCkgK1xyXG4gICAgdG9JbnQoc3R5bGVzLnBhZGRpbmdMZWZ0KSArXHJcbiAgICB0b0ludChzdHlsZXMucGFkZGluZ1JpZ2h0KSArXHJcbiAgICB0b0ludChzdHlsZXMuYm9yZGVyTGVmdFdpZHRoKSArXHJcbiAgICB0b0ludChzdHlsZXMuYm9yZGVyUmlnaHRXaWR0aClcclxuICApO1xyXG59XHJcblxyXG52YXIgZW52ID0ge1xyXG4gIGlzV2ViS2l0OlxyXG4gICAgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJlxyXG4gICAgJ1dlYmtpdEFwcGVhcmFuY2UnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSxcclxuICBzdXBwb3J0c1RvdWNoOlxyXG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcclxuICAgICgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cgfHxcclxuICAgICAgKCdtYXhUb3VjaFBvaW50cycgaW4gd2luZG93Lm5hdmlnYXRvciAmJlxyXG4gICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAwKSB8fFxyXG4gICAgICAod2luZG93LkRvY3VtZW50VG91Y2ggJiYgZG9jdW1lbnQgaW5zdGFuY2VvZiB3aW5kb3cuRG9jdW1lbnRUb3VjaCkpLFxyXG4gIHN1cHBvcnRzSWVQb2ludGVyOlxyXG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHMsXHJcbiAgaXNDaHJvbWU6XHJcbiAgICB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJlxyXG4gICAgL0Nocm9tZS9pLnRlc3QobmF2aWdhdG9yICYmIG5hdmlnYXRvci51c2VyQWdlbnQpLFxyXG59O1xyXG5cclxuZnVuY3Rpb24gdXBkYXRlR2VvbWV0cnkoaSkge1xyXG4gIHZhciBlbGVtZW50ID0gaS5lbGVtZW50O1xyXG4gIHZhciByb3VuZGVkU2Nyb2xsVG9wID0gTWF0aC5mbG9vcihlbGVtZW50LnNjcm9sbFRvcCk7XHJcbiAgdmFyIHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICBpLmNvbnRhaW5lcldpZHRoID0gTWF0aC5jZWlsKHJlY3Qud2lkdGgpO1xyXG4gIGkuY29udGFpbmVySGVpZ2h0ID0gTWF0aC5jZWlsKHJlY3QuaGVpZ2h0KTtcclxuICBpLmNvbnRlbnRXaWR0aCA9IGVsZW1lbnQuc2Nyb2xsV2lkdGg7XHJcbiAgaS5jb250ZW50SGVpZ2h0ID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcblxyXG4gIGlmICghZWxlbWVudC5jb250YWlucyhpLnNjcm9sbGJhclhSYWlsKSkge1xyXG4gICAgLy8gY2xlYW4gdXAgYW5kIGFwcGVuZFxyXG4gICAgcXVlcnlDaGlsZHJlbihlbGVtZW50LCBjbHMuZWxlbWVudC5yYWlsKCd4JykpLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7IHJldHVybiByZW1vdmUoZWwpOyB9XHJcbiAgICApO1xyXG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZChpLnNjcm9sbGJhclhSYWlsKTtcclxuICB9XHJcbiAgaWYgKCFlbGVtZW50LmNvbnRhaW5zKGkuc2Nyb2xsYmFyWVJhaWwpKSB7XHJcbiAgICAvLyBjbGVhbiB1cCBhbmQgYXBwZW5kXHJcbiAgICBxdWVyeUNoaWxkcmVuKGVsZW1lbnQsIGNscy5lbGVtZW50LnJhaWwoJ3knKSkuZm9yRWFjaChmdW5jdGlvbiAoZWwpIHsgcmV0dXJuIHJlbW92ZShlbCk7IH1cclxuICAgICk7XHJcbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKGkuc2Nyb2xsYmFyWVJhaWwpO1xyXG4gIH1cclxuXHJcbiAgaWYgKFxyXG4gICAgIWkuc2V0dGluZ3Muc3VwcHJlc3NTY3JvbGxYICYmXHJcbiAgICBpLmNvbnRhaW5lcldpZHRoICsgaS5zZXR0aW5ncy5zY3JvbGxYTWFyZ2luT2Zmc2V0IDwgaS5jb250ZW50V2lkdGhcclxuICApIHtcclxuICAgIGkuc2Nyb2xsYmFyWEFjdGl2ZSA9IHRydWU7XHJcbiAgICBpLnJhaWxYV2lkdGggPSBpLmNvbnRhaW5lcldpZHRoIC0gaS5yYWlsWE1hcmdpbldpZHRoO1xyXG4gICAgaS5yYWlsWFJhdGlvID0gaS5jb250YWluZXJXaWR0aCAvIGkucmFpbFhXaWR0aDtcclxuICAgIGkuc2Nyb2xsYmFyWFdpZHRoID0gZ2V0VGh1bWJTaXplKFxyXG4gICAgICBpLFxyXG4gICAgICB0b0ludCgoaS5yYWlsWFdpZHRoICogaS5jb250YWluZXJXaWR0aCkgLyBpLmNvbnRlbnRXaWR0aClcclxuICAgICk7XHJcbiAgICBpLnNjcm9sbGJhclhMZWZ0ID0gdG9JbnQoXHJcbiAgICAgICgoaS5uZWdhdGl2ZVNjcm9sbEFkanVzdG1lbnQgKyBlbGVtZW50LnNjcm9sbExlZnQpICpcclxuICAgICAgICAoaS5yYWlsWFdpZHRoIC0gaS5zY3JvbGxiYXJYV2lkdGgpKSAvXHJcbiAgICAgICAgKGkuY29udGVudFdpZHRoIC0gaS5jb250YWluZXJXaWR0aClcclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGkuc2Nyb2xsYmFyWEFjdGl2ZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaWYgKFxyXG4gICAgIWkuc2V0dGluZ3Muc3VwcHJlc3NTY3JvbGxZICYmXHJcbiAgICBpLmNvbnRhaW5lckhlaWdodCArIGkuc2V0dGluZ3Muc2Nyb2xsWU1hcmdpbk9mZnNldCA8IGkuY29udGVudEhlaWdodFxyXG4gICkge1xyXG4gICAgaS5zY3JvbGxiYXJZQWN0aXZlID0gdHJ1ZTtcclxuICAgIGkucmFpbFlIZWlnaHQgPSBpLmNvbnRhaW5lckhlaWdodCAtIGkucmFpbFlNYXJnaW5IZWlnaHQ7XHJcbiAgICBpLnJhaWxZUmF0aW8gPSBpLmNvbnRhaW5lckhlaWdodCAvIGkucmFpbFlIZWlnaHQ7XHJcbiAgICBpLnNjcm9sbGJhcllIZWlnaHQgPSBnZXRUaHVtYlNpemUoXHJcbiAgICAgIGksXHJcbiAgICAgIHRvSW50KChpLnJhaWxZSGVpZ2h0ICogaS5jb250YWluZXJIZWlnaHQpIC8gaS5jb250ZW50SGVpZ2h0KVxyXG4gICAgKTtcclxuICAgIGkuc2Nyb2xsYmFyWVRvcCA9IHRvSW50KFxyXG4gICAgICAocm91bmRlZFNjcm9sbFRvcCAqIChpLnJhaWxZSGVpZ2h0IC0gaS5zY3JvbGxiYXJZSGVpZ2h0KSkgL1xyXG4gICAgICAgIChpLmNvbnRlbnRIZWlnaHQgLSBpLmNvbnRhaW5lckhlaWdodClcclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGkuc2Nyb2xsYmFyWUFjdGl2ZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaWYgKGkuc2Nyb2xsYmFyWExlZnQgPj0gaS5yYWlsWFdpZHRoIC0gaS5zY3JvbGxiYXJYV2lkdGgpIHtcclxuICAgIGkuc2Nyb2xsYmFyWExlZnQgPSBpLnJhaWxYV2lkdGggLSBpLnNjcm9sbGJhclhXaWR0aDtcclxuICB9XHJcbiAgaWYgKGkuc2Nyb2xsYmFyWVRvcCA+PSBpLnJhaWxZSGVpZ2h0IC0gaS5zY3JvbGxiYXJZSGVpZ2h0KSB7XHJcbiAgICBpLnNjcm9sbGJhcllUb3AgPSBpLnJhaWxZSGVpZ2h0IC0gaS5zY3JvbGxiYXJZSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ3NzKGVsZW1lbnQsIGkpO1xyXG5cclxuICBpZiAoaS5zY3JvbGxiYXJYQWN0aXZlKSB7XHJcbiAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xzLnN0YXRlLmFjdGl2ZSgneCcpKTtcclxuICB9IGVsc2Uge1xyXG4gICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNscy5zdGF0ZS5hY3RpdmUoJ3gnKSk7XHJcbiAgICBpLnNjcm9sbGJhclhXaWR0aCA9IDA7XHJcbiAgICBpLnNjcm9sbGJhclhMZWZ0ID0gMDtcclxuICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IGkuaXNSdGwgPT09IHRydWUgPyBpLmNvbnRlbnRXaWR0aCA6IDA7XHJcbiAgfVxyXG4gIGlmIChpLnNjcm9sbGJhcllBY3RpdmUpIHtcclxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbHMuc3RhdGUuYWN0aXZlKCd5JykpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xzLnN0YXRlLmFjdGl2ZSgneScpKTtcclxuICAgIGkuc2Nyb2xsYmFyWUhlaWdodCA9IDA7XHJcbiAgICBpLnNjcm9sbGJhcllUb3AgPSAwO1xyXG4gICAgZWxlbWVudC5zY3JvbGxUb3AgPSAwO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0VGh1bWJTaXplKGksIHRodW1iU2l6ZSkge1xyXG4gIGlmIChpLnNldHRpbmdzLm1pblNjcm9sbGJhckxlbmd0aCkge1xyXG4gICAgdGh1bWJTaXplID0gTWF0aC5tYXgodGh1bWJTaXplLCBpLnNldHRpbmdzLm1pblNjcm9sbGJhckxlbmd0aCk7XHJcbiAgfVxyXG4gIGlmIChpLnNldHRpbmdzLm1heFNjcm9sbGJhckxlbmd0aCkge1xyXG4gICAgdGh1bWJTaXplID0gTWF0aC5taW4odGh1bWJTaXplLCBpLnNldHRpbmdzLm1heFNjcm9sbGJhckxlbmd0aCk7XHJcbiAgfVxyXG4gIHJldHVybiB0aHVtYlNpemU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZUNzcyhlbGVtZW50LCBpKSB7XHJcbiAgdmFyIHhSYWlsT2Zmc2V0ID0geyB3aWR0aDogaS5yYWlsWFdpZHRoIH07XHJcbiAgdmFyIHJvdW5kZWRTY3JvbGxUb3AgPSBNYXRoLmZsb29yKGVsZW1lbnQuc2Nyb2xsVG9wKTtcclxuXHJcbiAgaWYgKGkuaXNSdGwpIHtcclxuICAgIHhSYWlsT2Zmc2V0LmxlZnQgPVxyXG4gICAgICBpLm5lZ2F0aXZlU2Nyb2xsQWRqdXN0bWVudCArXHJcbiAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArXHJcbiAgICAgIGkuY29udGFpbmVyV2lkdGggLVxyXG4gICAgICBpLmNvbnRlbnRXaWR0aDtcclxuICB9IGVsc2Uge1xyXG4gICAgeFJhaWxPZmZzZXQubGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICB9XHJcbiAgaWYgKGkuaXNTY3JvbGxiYXJYVXNpbmdCb3R0b20pIHtcclxuICAgIHhSYWlsT2Zmc2V0LmJvdHRvbSA9IGkuc2Nyb2xsYmFyWEJvdHRvbSAtIHJvdW5kZWRTY3JvbGxUb3A7XHJcbiAgfSBlbHNlIHtcclxuICAgIHhSYWlsT2Zmc2V0LnRvcCA9IGkuc2Nyb2xsYmFyWFRvcCArIHJvdW5kZWRTY3JvbGxUb3A7XHJcbiAgfVxyXG4gIHNldChpLnNjcm9sbGJhclhSYWlsLCB4UmFpbE9mZnNldCk7XHJcblxyXG4gIHZhciB5UmFpbE9mZnNldCA9IHsgdG9wOiByb3VuZGVkU2Nyb2xsVG9wLCBoZWlnaHQ6IGkucmFpbFlIZWlnaHQgfTtcclxuICBpZiAoaS5pc1Njcm9sbGJhcllVc2luZ1JpZ2h0KSB7XHJcbiAgICBpZiAoaS5pc1J0bCkge1xyXG4gICAgICB5UmFpbE9mZnNldC5yaWdodCA9XHJcbiAgICAgICAgaS5jb250ZW50V2lkdGggLVxyXG4gICAgICAgIChpLm5lZ2F0aXZlU2Nyb2xsQWRqdXN0bWVudCArIGVsZW1lbnQuc2Nyb2xsTGVmdCkgLVxyXG4gICAgICAgIGkuc2Nyb2xsYmFyWVJpZ2h0IC1cclxuICAgICAgICBpLnNjcm9sbGJhcllPdXRlcldpZHRoIC1cclxuICAgICAgICA5O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgeVJhaWxPZmZzZXQucmlnaHQgPSBpLnNjcm9sbGJhcllSaWdodCAtIGVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgaWYgKGkuaXNSdGwpIHtcclxuICAgICAgeVJhaWxPZmZzZXQubGVmdCA9XHJcbiAgICAgICAgaS5uZWdhdGl2ZVNjcm9sbEFkanVzdG1lbnQgK1xyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArXHJcbiAgICAgICAgaS5jb250YWluZXJXaWR0aCAqIDIgLVxyXG4gICAgICAgIGkuY29udGVudFdpZHRoIC1cclxuICAgICAgICBpLnNjcm9sbGJhcllMZWZ0IC1cclxuICAgICAgICBpLnNjcm9sbGJhcllPdXRlcldpZHRoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgeVJhaWxPZmZzZXQubGVmdCA9IGkuc2Nyb2xsYmFyWUxlZnQgKyBlbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldChpLnNjcm9sbGJhcllSYWlsLCB5UmFpbE9mZnNldCk7XHJcblxyXG4gIHNldChpLnNjcm9sbGJhclgsIHtcclxuICAgIGxlZnQ6IGkuc2Nyb2xsYmFyWExlZnQsXHJcbiAgICB3aWR0aDogaS5zY3JvbGxiYXJYV2lkdGggLSBpLnJhaWxCb3JkZXJYV2lkdGgsXHJcbiAgfSk7XHJcbiAgc2V0KGkuc2Nyb2xsYmFyWSwge1xyXG4gICAgdG9wOiBpLnNjcm9sbGJhcllUb3AsXHJcbiAgICBoZWlnaHQ6IGkuc2Nyb2xsYmFyWUhlaWdodCAtIGkucmFpbEJvcmRlcllXaWR0aCxcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2xpY2tSYWlsKGkpIHtcclxuICB2YXIgZWxlbWVudCA9IGkuZWxlbWVudDtcclxuXHJcbiAgaS5ldmVudC5iaW5kKGkuc2Nyb2xsYmFyWSwgJ21vdXNlZG93bicsIGZ1bmN0aW9uIChlKSB7IHJldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpOyB9KTtcclxuICBpLmV2ZW50LmJpbmQoaS5zY3JvbGxiYXJZUmFpbCwgJ21vdXNlZG93bicsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICB2YXIgcG9zaXRpb25Ub3AgPVxyXG4gICAgICBlLnBhZ2VZIC1cclxuICAgICAgd2luZG93LnBhZ2VZT2Zmc2V0IC1cclxuICAgICAgaS5zY3JvbGxiYXJZUmFpbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XHJcbiAgICB2YXIgZGlyZWN0aW9uID0gcG9zaXRpb25Ub3AgPiBpLnNjcm9sbGJhcllUb3AgPyAxIDogLTE7XHJcblxyXG4gICAgaS5lbGVtZW50LnNjcm9sbFRvcCArPSBkaXJlY3Rpb24gKiBpLmNvbnRhaW5lckhlaWdodDtcclxuICAgIHVwZGF0ZUdlb21ldHJ5KGkpO1xyXG5cclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfSk7XHJcblxyXG4gIGkuZXZlbnQuYmluZChpLnNjcm9sbGJhclgsICdtb3VzZWRvd24nLCBmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKTsgfSk7XHJcbiAgaS5ldmVudC5iaW5kKGkuc2Nyb2xsYmFyWFJhaWwsICdtb3VzZWRvd24nLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgdmFyIHBvc2l0aW9uTGVmdCA9XHJcbiAgICAgIGUucGFnZVggLVxyXG4gICAgICB3aW5kb3cucGFnZVhPZmZzZXQgLVxyXG4gICAgICBpLnNjcm9sbGJhclhSYWlsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XHJcbiAgICB2YXIgZGlyZWN0aW9uID0gcG9zaXRpb25MZWZ0ID4gaS5zY3JvbGxiYXJYTGVmdCA/IDEgOiAtMTtcclxuXHJcbiAgICBpLmVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkaXJlY3Rpb24gKiBpLmNvbnRhaW5lcldpZHRoO1xyXG4gICAgdXBkYXRlR2VvbWV0cnkoaSk7XHJcblxyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gZHJhZ1RodW1iKGkpIHtcclxuICBiaW5kTW91c2VTY3JvbGxIYW5kbGVyKGksIFtcclxuICAgICdjb250YWluZXJXaWR0aCcsXHJcbiAgICAnY29udGVudFdpZHRoJyxcclxuICAgICdwYWdlWCcsXHJcbiAgICAncmFpbFhXaWR0aCcsXHJcbiAgICAnc2Nyb2xsYmFyWCcsXHJcbiAgICAnc2Nyb2xsYmFyWFdpZHRoJyxcclxuICAgICdzY3JvbGxMZWZ0JyxcclxuICAgICd4JyxcclxuICAgICdzY3JvbGxiYXJYUmFpbCcgXSk7XHJcbiAgYmluZE1vdXNlU2Nyb2xsSGFuZGxlcihpLCBbXHJcbiAgICAnY29udGFpbmVySGVpZ2h0JyxcclxuICAgICdjb250ZW50SGVpZ2h0JyxcclxuICAgICdwYWdlWScsXHJcbiAgICAncmFpbFlIZWlnaHQnLFxyXG4gICAgJ3Njcm9sbGJhclknLFxyXG4gICAgJ3Njcm9sbGJhcllIZWlnaHQnLFxyXG4gICAgJ3Njcm9sbFRvcCcsXHJcbiAgICAneScsXHJcbiAgICAnc2Nyb2xsYmFyWVJhaWwnIF0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBiaW5kTW91c2VTY3JvbGxIYW5kbGVyKFxyXG4gIGksXHJcbiAgcmVmXHJcbikge1xyXG4gIHZhciBjb250YWluZXJIZWlnaHQgPSByZWZbMF07XHJcbiAgdmFyIGNvbnRlbnRIZWlnaHQgPSByZWZbMV07XHJcbiAgdmFyIHBhZ2VZID0gcmVmWzJdO1xyXG4gIHZhciByYWlsWUhlaWdodCA9IHJlZlszXTtcclxuICB2YXIgc2Nyb2xsYmFyWSA9IHJlZls0XTtcclxuICB2YXIgc2Nyb2xsYmFyWUhlaWdodCA9IHJlZls1XTtcclxuICB2YXIgc2Nyb2xsVG9wID0gcmVmWzZdO1xyXG4gIHZhciB5ID0gcmVmWzddO1xyXG4gIHZhciBzY3JvbGxiYXJZUmFpbCA9IHJlZls4XTtcclxuXHJcbiAgdmFyIGVsZW1lbnQgPSBpLmVsZW1lbnQ7XHJcblxyXG4gIHZhciBzdGFydGluZ1Njcm9sbFRvcCA9IG51bGw7XHJcbiAgdmFyIHN0YXJ0aW5nTW91c2VQYWdlWSA9IG51bGw7XHJcbiAgdmFyIHNjcm9sbEJ5ID0gbnVsbDtcclxuXHJcbiAgZnVuY3Rpb24gbW91c2VNb3ZlSGFuZGxlcihlKSB7XHJcbiAgICBpZiAoZS50b3VjaGVzICYmIGUudG91Y2hlc1swXSkge1xyXG4gICAgICBlW3BhZ2VZXSA9IGUudG91Y2hlc1swXS5wYWdlWTtcclxuICAgIH1cclxuICAgIGVsZW1lbnRbc2Nyb2xsVG9wXSA9XHJcbiAgICAgIHN0YXJ0aW5nU2Nyb2xsVG9wICsgc2Nyb2xsQnkgKiAoZVtwYWdlWV0gLSBzdGFydGluZ01vdXNlUGFnZVkpO1xyXG4gICAgYWRkU2Nyb2xsaW5nQ2xhc3MoaSwgeSk7XHJcbiAgICB1cGRhdGVHZW9tZXRyeShpKTtcclxuXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gbW91c2VVcEhhbmRsZXIoKSB7XHJcbiAgICByZW1vdmVTY3JvbGxpbmdDbGFzcyhpLCB5KTtcclxuICAgIGlbc2Nyb2xsYmFyWVJhaWxdLmNsYXNzTGlzdC5yZW1vdmUoY2xzLnN0YXRlLmNsaWNraW5nKTtcclxuICAgIGkuZXZlbnQudW5iaW5kKGkub3duZXJEb2N1bWVudCwgJ21vdXNlbW92ZScsIG1vdXNlTW92ZUhhbmRsZXIpO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gYmluZE1vdmVzKGUsIHRvdWNoTW9kZSkge1xyXG4gICAgc3RhcnRpbmdTY3JvbGxUb3AgPSBlbGVtZW50W3Njcm9sbFRvcF07XHJcbiAgICBpZiAodG91Y2hNb2RlICYmIGUudG91Y2hlcykge1xyXG4gICAgICBlW3BhZ2VZXSA9IGUudG91Y2hlc1swXS5wYWdlWTtcclxuICAgIH1cclxuICAgIHN0YXJ0aW5nTW91c2VQYWdlWSA9IGVbcGFnZVldO1xyXG4gICAgc2Nyb2xsQnkgPVxyXG4gICAgICAoaVtjb250ZW50SGVpZ2h0XSAtIGlbY29udGFpbmVySGVpZ2h0XSkgL1xyXG4gICAgICAoaVtyYWlsWUhlaWdodF0gLSBpW3Njcm9sbGJhcllIZWlnaHRdKTtcclxuICAgIGlmICghdG91Y2hNb2RlKSB7XHJcbiAgICAgIGkuZXZlbnQuYmluZChpLm93bmVyRG9jdW1lbnQsICdtb3VzZW1vdmUnLCBtb3VzZU1vdmVIYW5kbGVyKTtcclxuICAgICAgaS5ldmVudC5vbmNlKGkub3duZXJEb2N1bWVudCwgJ21vdXNldXAnLCBtb3VzZVVwSGFuZGxlcik7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGkuZXZlbnQuYmluZChpLm93bmVyRG9jdW1lbnQsICd0b3VjaG1vdmUnLCBtb3VzZU1vdmVIYW5kbGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBpW3Njcm9sbGJhcllSYWlsXS5jbGFzc0xpc3QuYWRkKGNscy5zdGF0ZS5jbGlja2luZyk7XHJcblxyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGkuZXZlbnQuYmluZChpW3Njcm9sbGJhclldLCAnbW91c2Vkb3duJywgZnVuY3Rpb24gKGUpIHtcclxuICAgIGJpbmRNb3ZlcyhlKTtcclxuICB9KTtcclxuICBpLmV2ZW50LmJpbmQoaVtzY3JvbGxiYXJZXSwgJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgYmluZE1vdmVzKGUsIHRydWUpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBrZXlib2FyZChpKSB7XHJcbiAgdmFyIGVsZW1lbnQgPSBpLmVsZW1lbnQ7XHJcblxyXG4gIHZhciBlbGVtZW50SG92ZXJlZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIG1hdGNoZXMoZWxlbWVudCwgJzpob3ZlcicpOyB9O1xyXG4gIHZhciBzY3JvbGxiYXJGb2N1c2VkID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gbWF0Y2hlcyhpLnNjcm9sbGJhclgsICc6Zm9jdXMnKSB8fCBtYXRjaGVzKGkuc2Nyb2xsYmFyWSwgJzpmb2N1cycpOyB9O1xyXG5cclxuICBmdW5jdGlvbiBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSkge1xyXG4gICAgdmFyIHNjcm9sbFRvcCA9IE1hdGguZmxvb3IoZWxlbWVudC5zY3JvbGxUb3ApO1xyXG4gICAgaWYgKGRlbHRhWCA9PT0gMCkge1xyXG4gICAgICBpZiAoIWkuc2Nyb2xsYmFyWUFjdGl2ZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHNjcm9sbFRvcCA9PT0gMCAmJiBkZWx0YVkgPiAwKSB8fFxyXG4gICAgICAgIChzY3JvbGxUb3AgPj0gaS5jb250ZW50SGVpZ2h0IC0gaS5jb250YWluZXJIZWlnaHQgJiYgZGVsdGFZIDwgMClcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuICFpLnNldHRpbmdzLndoZWVsUHJvcGFnYXRpb247XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2YXIgc2Nyb2xsTGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICAgIGlmIChkZWx0YVkgPT09IDApIHtcclxuICAgICAgaWYgKCFpLnNjcm9sbGJhclhBY3RpdmUpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIChzY3JvbGxMZWZ0ID09PSAwICYmIGRlbHRhWCA8IDApIHx8XHJcbiAgICAgICAgKHNjcm9sbExlZnQgPj0gaS5jb250ZW50V2lkdGggLSBpLmNvbnRhaW5lcldpZHRoICYmIGRlbHRhWCA+IDApXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiAhaS5zZXR0aW5ncy53aGVlbFByb3BhZ2F0aW9uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGkuZXZlbnQuYmluZChpLm93bmVyRG9jdW1lbnQsICdrZXlkb3duJywgZnVuY3Rpb24gKGUpIHtcclxuICAgIGlmIChcclxuICAgICAgKGUuaXNEZWZhdWx0UHJldmVudGVkICYmIGUuaXNEZWZhdWx0UHJldmVudGVkKCkpIHx8XHJcbiAgICAgIGUuZGVmYXVsdFByZXZlbnRlZFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWVsZW1lbnRIb3ZlcmVkKCkgJiYgIXNjcm9sbGJhckZvY3VzZWQoKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50XHJcbiAgICAgID8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudFxyXG4gICAgICA6IGkub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xyXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQudGFnTmFtZSA9PT0gJ0lGUkFNRScpIHtcclxuICAgICAgICBhY3RpdmVFbGVtZW50ID0gYWN0aXZlRWxlbWVudC5jb250ZW50RG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBnbyBkZWVwZXIgaWYgZWxlbWVudCBpcyBhIHdlYmNvbXBvbmVudFxyXG4gICAgICAgIHdoaWxlIChhY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QpIHtcclxuICAgICAgICAgIGFjdGl2ZUVsZW1lbnQgPSBhY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzRWRpdGFibGUoYWN0aXZlRWxlbWVudCkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2YXIgZGVsdGFYID0gMDtcclxuICAgIHZhciBkZWx0YVkgPSAwO1xyXG5cclxuICAgIHN3aXRjaCAoZS53aGljaCkge1xyXG4gICAgICBjYXNlIDM3OiAvLyBsZWZ0XHJcbiAgICAgICAgaWYgKGUubWV0YUtleSkge1xyXG4gICAgICAgICAgZGVsdGFYID0gLWkuY29udGVudFdpZHRoO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZS5hbHRLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWCA9IC1pLmNvbnRhaW5lcldpZHRoO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBkZWx0YVggPSAtMzA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM4OiAvLyB1cFxyXG4gICAgICAgIGlmIChlLm1ldGFLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWSA9IGkuY29udGVudEhlaWdodDtcclxuICAgICAgICB9IGVsc2UgaWYgKGUuYWx0S2V5KSB7XHJcbiAgICAgICAgICBkZWx0YVkgPSBpLmNvbnRhaW5lckhlaWdodDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZGVsdGFZID0gMzA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM5OiAvLyByaWdodFxyXG4gICAgICAgIGlmIChlLm1ldGFLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWCA9IGkuY29udGVudFdpZHRoO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZS5hbHRLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWCA9IGkuY29udGFpbmVyV2lkdGg7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGRlbHRhWCA9IDMwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA0MDogLy8gZG93blxyXG4gICAgICAgIGlmIChlLm1ldGFLZXkpIHtcclxuICAgICAgICAgIGRlbHRhWSA9IC1pLmNvbnRlbnRIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlLmFsdEtleSkge1xyXG4gICAgICAgICAgZGVsdGFZID0gLWkuY29udGFpbmVySGVpZ2h0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBkZWx0YVkgPSAtMzA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDMyOiAvLyBzcGFjZSBiYXJcclxuICAgICAgICBpZiAoZS5zaGlmdEtleSkge1xyXG4gICAgICAgICAgZGVsdGFZID0gaS5jb250YWluZXJIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGRlbHRhWSA9IC1pLmNvbnRhaW5lckhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMzM6IC8vIHBhZ2UgdXBcclxuICAgICAgICBkZWx0YVkgPSBpLmNvbnRhaW5lckhlaWdodDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAzNDogLy8gcGFnZSBkb3duXHJcbiAgICAgICAgZGVsdGFZID0gLWkuY29udGFpbmVySGVpZ2h0O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM2OiAvLyBob21lXHJcbiAgICAgICAgZGVsdGFZID0gaS5jb250ZW50SGVpZ2h0O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDM1OiAvLyBlbmRcclxuICAgICAgICBkZWx0YVkgPSAtaS5jb250ZW50SGVpZ2h0O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaS5zZXR0aW5ncy5zdXBwcmVzc1Njcm9sbFggJiYgZGVsdGFYICE9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChpLnNldHRpbmdzLnN1cHByZXNzU2Nyb2xsWSAmJiBkZWx0YVkgIT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGVsZW1lbnQuc2Nyb2xsVG9wIC09IGRlbHRhWTtcclxuICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkZWx0YVg7XHJcbiAgICB1cGRhdGVHZW9tZXRyeShpKTtcclxuXHJcbiAgICBpZiAoc2hvdWxkUHJldmVudERlZmF1bHQoZGVsdGFYLCBkZWx0YVkpKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gd2hlZWwoaSkge1xyXG4gIHZhciBlbGVtZW50ID0gaS5lbGVtZW50O1xyXG5cclxuICBmdW5jdGlvbiBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSkge1xyXG4gICAgdmFyIHJvdW5kZWRTY3JvbGxUb3AgPSBNYXRoLmZsb29yKGVsZW1lbnQuc2Nyb2xsVG9wKTtcclxuICAgIHZhciBpc1RvcCA9IGVsZW1lbnQuc2Nyb2xsVG9wID09PSAwO1xyXG4gICAgdmFyIGlzQm90dG9tID1cclxuICAgICAgcm91bmRlZFNjcm9sbFRvcCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0ID09PSBlbGVtZW50LnNjcm9sbEhlaWdodDtcclxuICAgIHZhciBpc0xlZnQgPSBlbGVtZW50LnNjcm9sbExlZnQgPT09IDA7XHJcbiAgICB2YXIgaXNSaWdodCA9XHJcbiAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArIGVsZW1lbnQub2Zmc2V0V2lkdGggPT09IGVsZW1lbnQuc2Nyb2xsV2lkdGg7XHJcblxyXG4gICAgdmFyIGhpdHNCb3VuZDtcclxuXHJcbiAgICAvLyBwaWNrIGF4aXMgd2l0aCBwcmltYXJ5IGRpcmVjdGlvblxyXG4gICAgaWYgKE1hdGguYWJzKGRlbHRhWSkgPiBNYXRoLmFicyhkZWx0YVgpKSB7XHJcbiAgICAgIGhpdHNCb3VuZCA9IGlzVG9wIHx8IGlzQm90dG9tO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaGl0c0JvdW5kID0gaXNMZWZ0IHx8IGlzUmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGhpdHNCb3VuZCA/ICFpLnNldHRpbmdzLndoZWVsUHJvcGFnYXRpb24gOiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gZ2V0RGVsdGFGcm9tRXZlbnQoZSkge1xyXG4gICAgdmFyIGRlbHRhWCA9IGUuZGVsdGFYO1xyXG4gICAgdmFyIGRlbHRhWSA9IC0xICogZS5kZWx0YVk7XHJcblxyXG4gICAgaWYgKHR5cGVvZiBkZWx0YVggPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBkZWx0YVkgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIC8vIE9TIFggU2FmYXJpXHJcbiAgICAgIGRlbHRhWCA9ICgtMSAqIGUud2hlZWxEZWx0YVgpIC8gNjtcclxuICAgICAgZGVsdGFZID0gZS53aGVlbERlbHRhWSAvIDY7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGUuZGVsdGFNb2RlICYmIGUuZGVsdGFNb2RlID09PSAxKSB7XHJcbiAgICAgIC8vIEZpcmVmb3ggaW4gZGVsdGFNb2RlIDE6IExpbmUgc2Nyb2xsaW5nXHJcbiAgICAgIGRlbHRhWCAqPSAxMDtcclxuICAgICAgZGVsdGFZICo9IDEwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkZWx0YVggIT09IGRlbHRhWCAmJiBkZWx0YVkgIT09IGRlbHRhWSAvKiBOYU4gY2hlY2tzICovKSB7XHJcbiAgICAgIC8vIElFIGluIHNvbWUgbW91c2UgZHJpdmVyc1xyXG4gICAgICBkZWx0YVggPSAwO1xyXG4gICAgICBkZWx0YVkgPSBlLndoZWVsRGVsdGE7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGUuc2hpZnRLZXkpIHtcclxuICAgICAgLy8gcmV2ZXJzZSBheGlzIHdpdGggc2hpZnQga2V5XHJcbiAgICAgIHJldHVybiBbLWRlbHRhWSwgLWRlbHRhWF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gW2RlbHRhWCwgZGVsdGFZXTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIHNob3VsZEJlQ29uc3VtZWRCeUNoaWxkKHRhcmdldCwgZGVsdGFYLCBkZWx0YVkpIHtcclxuICAgIC8vIEZJWE1FOiB0aGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgPHNlbGVjdD4gaXNzdWUgaW4gRkYgYW5kIElFICM1NzFcclxuICAgIGlmICghZW52LmlzV2ViS2l0ICYmIGVsZW1lbnQucXVlcnlTZWxlY3Rvcignc2VsZWN0OmZvY3VzJykpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFlbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciBjdXJzb3IgPSB0YXJnZXQ7XHJcblxyXG4gICAgd2hpbGUgKGN1cnNvciAmJiBjdXJzb3IgIT09IGVsZW1lbnQpIHtcclxuICAgICAgaWYgKGN1cnNvci5jbGFzc0xpc3QuY29udGFpbnMoY2xzLmVsZW1lbnQuY29uc3VtaW5nKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgc3R5bGUgPSBnZXQoY3Vyc29yKTtcclxuXHJcbiAgICAgIC8vIGlmIGRlbHRhWSAmJiB2ZXJ0aWNhbCBzY3JvbGxhYmxlXHJcbiAgICAgIGlmIChkZWx0YVkgJiYgc3R5bGUub3ZlcmZsb3dZLm1hdGNoKC8oc2Nyb2xsfGF1dG8pLykpIHtcclxuICAgICAgICB2YXIgbWF4U2Nyb2xsVG9wID0gY3Vyc29yLnNjcm9sbEhlaWdodCAtIGN1cnNvci5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgaWYgKG1heFNjcm9sbFRvcCA+IDApIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgKGN1cnNvci5zY3JvbGxUb3AgPiAwICYmIGRlbHRhWSA8IDApIHx8XHJcbiAgICAgICAgICAgIChjdXJzb3Iuc2Nyb2xsVG9wIDwgbWF4U2Nyb2xsVG9wICYmIGRlbHRhWSA+IDApXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmIGRlbHRhWCAmJiBob3Jpem9udGFsIHNjcm9sbGFibGVcclxuICAgICAgaWYgKGRlbHRhWCAmJiBzdHlsZS5vdmVyZmxvd1gubWF0Y2goLyhzY3JvbGx8YXV0bykvKSkge1xyXG4gICAgICAgIHZhciBtYXhTY3JvbGxMZWZ0ID0gY3Vyc29yLnNjcm9sbFdpZHRoIC0gY3Vyc29yLmNsaWVudFdpZHRoO1xyXG4gICAgICAgIGlmIChtYXhTY3JvbGxMZWZ0ID4gMCkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAoY3Vyc29yLnNjcm9sbExlZnQgPiAwICYmIGRlbHRhWCA8IDApIHx8XHJcbiAgICAgICAgICAgIChjdXJzb3Iuc2Nyb2xsTGVmdCA8IG1heFNjcm9sbExlZnQgJiYgZGVsdGFYID4gMClcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGN1cnNvciA9IGN1cnNvci5wYXJlbnROb2RlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIG1vdXNld2hlZWxIYW5kbGVyKGUpIHtcclxuICAgIHZhciByZWYgPSBnZXREZWx0YUZyb21FdmVudChlKTtcclxuICAgIHZhciBkZWx0YVggPSByZWZbMF07XHJcbiAgICB2YXIgZGVsdGFZID0gcmVmWzFdO1xyXG5cclxuICAgIGlmIChzaG91bGRCZUNvbnN1bWVkQnlDaGlsZChlLnRhcmdldCwgZGVsdGFYLCBkZWx0YVkpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgc2hvdWxkUHJldmVudCA9IGZhbHNlO1xyXG4gICAgaWYgKCFpLnNldHRpbmdzLnVzZUJvdGhXaGVlbEF4ZXMpIHtcclxuICAgICAgLy8gZGVsdGFYIHdpbGwgb25seSBiZSB1c2VkIGZvciBob3Jpem9udGFsIHNjcm9sbGluZyBhbmQgZGVsdGFZIHdpbGxcclxuICAgICAgLy8gb25seSBiZSB1c2VkIGZvciB2ZXJ0aWNhbCBzY3JvbGxpbmcgLSB0aGlzIGlzIHRoZSBkZWZhdWx0XHJcbiAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wIC09IGRlbHRhWSAqIGkuc2V0dGluZ3Mud2hlZWxTcGVlZDtcclxuICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0ICs9IGRlbHRhWCAqIGkuc2V0dGluZ3Mud2hlZWxTcGVlZDtcclxuICAgIH0gZWxzZSBpZiAoaS5zY3JvbGxiYXJZQWN0aXZlICYmICFpLnNjcm9sbGJhclhBY3RpdmUpIHtcclxuICAgICAgLy8gb25seSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaXMgYWN0aXZlIGFuZCB1c2VCb3RoV2hlZWxBeGVzIG9wdGlvbiBpc1xyXG4gICAgICAvLyBhY3RpdmUsIHNvIGxldCdzIHNjcm9sbCB2ZXJ0aWNhbCBiYXIgdXNpbmcgYm90aCBtb3VzZSB3aGVlbCBheGVzXHJcbiAgICAgIGlmIChkZWx0YVkpIHtcclxuICAgICAgICBlbGVtZW50LnNjcm9sbFRvcCAtPSBkZWx0YVkgKiBpLnNldHRpbmdzLndoZWVsU3BlZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgKz0gZGVsdGFYICogaS5zZXR0aW5ncy53aGVlbFNwZWVkO1xyXG4gICAgICB9XHJcbiAgICAgIHNob3VsZFByZXZlbnQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChpLnNjcm9sbGJhclhBY3RpdmUgJiYgIWkuc2Nyb2xsYmFyWUFjdGl2ZSkge1xyXG4gICAgICAvLyB1c2VCb3RoV2hlZWxBeGVzIGFuZCBvbmx5IGhvcml6b250YWwgYmFyIGlzIGFjdGl2ZSwgc28gdXNlIGJvdGhcclxuICAgICAgLy8gd2hlZWwgYXhlcyBmb3IgaG9yaXpvbnRhbCBiYXJcclxuICAgICAgaWYgKGRlbHRhWCkge1xyXG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCArPSBkZWx0YVggKiBpLnNldHRpbmdzLndoZWVsU3BlZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0IC09IGRlbHRhWSAqIGkuc2V0dGluZ3Mud2hlZWxTcGVlZDtcclxuICAgICAgfVxyXG4gICAgICBzaG91bGRQcmV2ZW50ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVHZW9tZXRyeShpKTtcclxuXHJcbiAgICBzaG91bGRQcmV2ZW50ID0gc2hvdWxkUHJldmVudCB8fCBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSk7XHJcbiAgICBpZiAoc2hvdWxkUHJldmVudCAmJiAhZS5jdHJsS2V5KSB7XHJcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmICh0eXBlb2Ygd2luZG93Lm9ud2hlZWwgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ3doZWVsJywgbW91c2V3aGVlbEhhbmRsZXIpO1xyXG4gIH0gZWxzZSBpZiAodHlwZW9mIHdpbmRvdy5vbm1vdXNld2hlZWwgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ21vdXNld2hlZWwnLCBtb3VzZXdoZWVsSGFuZGxlcik7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiB0b3VjaChpKSB7XHJcbiAgaWYgKCFlbnYuc3VwcG9ydHNUb3VjaCAmJiAhZW52LnN1cHBvcnRzSWVQb2ludGVyKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICB2YXIgZWxlbWVudCA9IGkuZWxlbWVudDtcclxuXHJcbiAgZnVuY3Rpb24gc2hvdWxkUHJldmVudChkZWx0YVgsIGRlbHRhWSkge1xyXG4gICAgdmFyIHNjcm9sbFRvcCA9IE1hdGguZmxvb3IoZWxlbWVudC5zY3JvbGxUb3ApO1xyXG4gICAgdmFyIHNjcm9sbExlZnQgPSBlbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgICB2YXIgbWFnbml0dWRlWCA9IE1hdGguYWJzKGRlbHRhWCk7XHJcbiAgICB2YXIgbWFnbml0dWRlWSA9IE1hdGguYWJzKGRlbHRhWSk7XHJcblxyXG4gICAgaWYgKG1hZ25pdHVkZVkgPiBtYWduaXR1ZGVYKSB7XHJcbiAgICAgIC8vIHVzZXIgaXMgcGVyaGFwcyB0cnlpbmcgdG8gc3dpcGUgdXAvZG93biB0aGUgcGFnZVxyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIChkZWx0YVkgPCAwICYmIHNjcm9sbFRvcCA9PT0gaS5jb250ZW50SGVpZ2h0IC0gaS5jb250YWluZXJIZWlnaHQpIHx8XHJcbiAgICAgICAgKGRlbHRhWSA+IDAgJiYgc2Nyb2xsVG9wID09PSAwKVxyXG4gICAgICApIHtcclxuICAgICAgICAvLyBzZXQgcHJldmVudCBmb3IgbW9iaWxlIENocm9tZSByZWZyZXNoXHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5zY3JvbGxZID09PSAwICYmIGRlbHRhWSA+IDAgJiYgZW52LmlzQ2hyb21lO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG1hZ25pdHVkZVggPiBtYWduaXR1ZGVZKSB7XHJcbiAgICAgIC8vIHVzZXIgaXMgcGVyaGFwcyB0cnlpbmcgdG8gc3dpcGUgbGVmdC9yaWdodCBhY3Jvc3MgdGhlIHBhZ2VcclxuXHJcbiAgICAgIGlmIChcclxuICAgICAgICAoZGVsdGFYIDwgMCAmJiBzY3JvbGxMZWZ0ID09PSBpLmNvbnRlbnRXaWR0aCAtIGkuY29udGFpbmVyV2lkdGgpIHx8XHJcbiAgICAgICAgKGRlbHRhWCA+IDAgJiYgc2Nyb2xsTGVmdCA9PT0gMClcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIGFwcGx5VG91Y2hNb3ZlKGRpZmZlcmVuY2VYLCBkaWZmZXJlbmNlWSkge1xyXG4gICAgZWxlbWVudC5zY3JvbGxUb3AgLT0gZGlmZmVyZW5jZVk7XHJcbiAgICBlbGVtZW50LnNjcm9sbExlZnQgLT0gZGlmZmVyZW5jZVg7XHJcblxyXG4gICAgdXBkYXRlR2VvbWV0cnkoaSk7XHJcbiAgfVxyXG5cclxuICB2YXIgc3RhcnRPZmZzZXQgPSB7fTtcclxuICB2YXIgc3RhcnRUaW1lID0gMDtcclxuICB2YXIgc3BlZWQgPSB7fTtcclxuICB2YXIgZWFzaW5nTG9vcCA9IG51bGw7XHJcblxyXG4gIGZ1bmN0aW9uIGdldFRvdWNoKGUpIHtcclxuICAgIGlmIChlLnRhcmdldFRvdWNoZXMpIHtcclxuICAgICAgcmV0dXJuIGUudGFyZ2V0VG91Y2hlc1swXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIE1heWJlIElFIHBvaW50ZXJcclxuICAgICAgcmV0dXJuIGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBzaG91bGRIYW5kbGUoZSkge1xyXG4gICAgaWYgKGUucG9pbnRlclR5cGUgJiYgZS5wb2ludGVyVHlwZSA9PT0gJ3BlbicgJiYgZS5idXR0b25zID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChlLnRhcmdldFRvdWNoZXMgJiYgZS50YXJnZXRUb3VjaGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgZS5wb2ludGVyVHlwZSAmJlxyXG4gICAgICBlLnBvaW50ZXJUeXBlICE9PSAnbW91c2UnICYmXHJcbiAgICAgIGUucG9pbnRlclR5cGUgIT09IGUuTVNQT0lOVEVSX1RZUEVfTU9VU0VcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIHRvdWNoU3RhcnQoZSkge1xyXG4gICAgaWYgKCFzaG91bGRIYW5kbGUoZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciB0b3VjaCA9IGdldFRvdWNoKGUpO1xyXG5cclxuICAgIHN0YXJ0T2Zmc2V0LnBhZ2VYID0gdG91Y2gucGFnZVg7XHJcbiAgICBzdGFydE9mZnNldC5wYWdlWSA9IHRvdWNoLnBhZ2VZO1xyXG5cclxuICAgIHN0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cclxuICAgIGlmIChlYXNpbmdMb29wICE9PSBudWxsKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwoZWFzaW5nTG9vcCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBzaG91bGRCZUNvbnN1bWVkQnlDaGlsZCh0YXJnZXQsIGRlbHRhWCwgZGVsdGFZKSB7XHJcbiAgICBpZiAoIWVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGN1cnNvciA9IHRhcmdldDtcclxuXHJcbiAgICB3aGlsZSAoY3Vyc29yICYmIGN1cnNvciAhPT0gZWxlbWVudCkge1xyXG4gICAgICBpZiAoY3Vyc29yLmNsYXNzTGlzdC5jb250YWlucyhjbHMuZWxlbWVudC5jb25zdW1pbmcpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBzdHlsZSA9IGdldChjdXJzb3IpO1xyXG5cclxuICAgICAgLy8gaWYgZGVsdGFZICYmIHZlcnRpY2FsIHNjcm9sbGFibGVcclxuICAgICAgaWYgKGRlbHRhWSAmJiBzdHlsZS5vdmVyZmxvd1kubWF0Y2goLyhzY3JvbGx8YXV0bykvKSkge1xyXG4gICAgICAgIHZhciBtYXhTY3JvbGxUb3AgPSBjdXJzb3Iuc2Nyb2xsSGVpZ2h0IC0gY3Vyc29yLmNsaWVudEhlaWdodDtcclxuICAgICAgICBpZiAobWF4U2Nyb2xsVG9wID4gMCkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAoY3Vyc29yLnNjcm9sbFRvcCA+IDAgJiYgZGVsdGFZIDwgMCkgfHxcclxuICAgICAgICAgICAgKGN1cnNvci5zY3JvbGxUb3AgPCBtYXhTY3JvbGxUb3AgJiYgZGVsdGFZID4gMClcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgZGVsdGFYICYmIGhvcml6b250YWwgc2Nyb2xsYWJsZVxyXG4gICAgICBpZiAoZGVsdGFYICYmIHN0eWxlLm92ZXJmbG93WC5tYXRjaCgvKHNjcm9sbHxhdXRvKS8pKSB7XHJcbiAgICAgICAgdmFyIG1heFNjcm9sbExlZnQgPSBjdXJzb3Iuc2Nyb2xsV2lkdGggLSBjdXJzb3IuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgaWYgKG1heFNjcm9sbExlZnQgPiAwKSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIChjdXJzb3Iuc2Nyb2xsTGVmdCA+IDAgJiYgZGVsdGFYIDwgMCkgfHxcclxuICAgICAgICAgICAgKGN1cnNvci5zY3JvbGxMZWZ0IDwgbWF4U2Nyb2xsTGVmdCAmJiBkZWx0YVggPiAwKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY3Vyc29yID0gY3Vyc29yLnBhcmVudE5vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gdG91Y2hNb3ZlKGUpIHtcclxuICAgIGlmIChzaG91bGRIYW5kbGUoZSkpIHtcclxuICAgICAgdmFyIHRvdWNoID0gZ2V0VG91Y2goZSk7XHJcblxyXG4gICAgICB2YXIgY3VycmVudE9mZnNldCA9IHsgcGFnZVg6IHRvdWNoLnBhZ2VYLCBwYWdlWTogdG91Y2gucGFnZVkgfTtcclxuXHJcbiAgICAgIHZhciBkaWZmZXJlbmNlWCA9IGN1cnJlbnRPZmZzZXQucGFnZVggLSBzdGFydE9mZnNldC5wYWdlWDtcclxuICAgICAgdmFyIGRpZmZlcmVuY2VZID0gY3VycmVudE9mZnNldC5wYWdlWSAtIHN0YXJ0T2Zmc2V0LnBhZ2VZO1xyXG5cclxuICAgICAgaWYgKHNob3VsZEJlQ29uc3VtZWRCeUNoaWxkKGUudGFyZ2V0LCBkaWZmZXJlbmNlWCwgZGlmZmVyZW5jZVkpKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhcHBseVRvdWNoTW92ZShkaWZmZXJlbmNlWCwgZGlmZmVyZW5jZVkpO1xyXG4gICAgICBzdGFydE9mZnNldCA9IGN1cnJlbnRPZmZzZXQ7XHJcblxyXG4gICAgICB2YXIgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuXHJcbiAgICAgIHZhciB0aW1lR2FwID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWU7XHJcbiAgICAgIGlmICh0aW1lR2FwID4gMCkge1xyXG4gICAgICAgIHNwZWVkLnggPSBkaWZmZXJlbmNlWCAvIHRpbWVHYXA7XHJcbiAgICAgICAgc3BlZWQueSA9IGRpZmZlcmVuY2VZIC8gdGltZUdhcDtcclxuICAgICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHNob3VsZFByZXZlbnQoZGlmZmVyZW5jZVgsIGRpZmZlcmVuY2VZKSkge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBmdW5jdGlvbiB0b3VjaEVuZCgpIHtcclxuICAgIGlmIChpLnNldHRpbmdzLnN3aXBlRWFzaW5nKSB7XHJcbiAgICAgIGNsZWFySW50ZXJ2YWwoZWFzaW5nTG9vcCk7XHJcbiAgICAgIGVhc2luZ0xvb3AgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHtcclxuICAgICAgICBpZiAoaS5pc0luaXRpYWxpemVkKSB7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKGVhc2luZ0xvb3ApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFzcGVlZC54ICYmICFzcGVlZC55KSB7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKGVhc2luZ0xvb3ApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKE1hdGguYWJzKHNwZWVkLngpIDwgMC4wMSAmJiBNYXRoLmFicyhzcGVlZC55KSA8IDAuMDEpIHtcclxuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoZWFzaW5nTG9vcCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhcHBseVRvdWNoTW92ZShzcGVlZC54ICogMzAsIHNwZWVkLnkgKiAzMCk7XHJcblxyXG4gICAgICAgIHNwZWVkLnggKj0gMC44O1xyXG4gICAgICAgIHNwZWVkLnkgKj0gMC44O1xyXG4gICAgICB9LCAxMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZiAoZW52LnN1cHBvcnRzVG91Y2gpIHtcclxuICAgIGkuZXZlbnQuYmluZChlbGVtZW50LCAndG91Y2hzdGFydCcsIHRvdWNoU3RhcnQpO1xyXG4gICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICd0b3VjaG1vdmUnLCB0b3VjaE1vdmUpO1xyXG4gICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICd0b3VjaGVuZCcsIHRvdWNoRW5kKTtcclxuICB9IGVsc2UgaWYgKGVudi5zdXBwb3J0c0llUG9pbnRlcikge1xyXG4gICAgaWYgKHdpbmRvdy5Qb2ludGVyRXZlbnQpIHtcclxuICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdwb2ludGVyZG93bicsIHRvdWNoU3RhcnQpO1xyXG4gICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ3BvaW50ZXJtb3ZlJywgdG91Y2hNb3ZlKTtcclxuICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdwb2ludGVydXAnLCB0b3VjaEVuZCk7XHJcbiAgICB9IGVsc2UgaWYgKHdpbmRvdy5NU1BvaW50ZXJFdmVudCkge1xyXG4gICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ01TUG9pbnRlckRvd24nLCB0b3VjaFN0YXJ0KTtcclxuICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdNU1BvaW50ZXJNb3ZlJywgdG91Y2hNb3ZlKTtcclxuICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdNU1BvaW50ZXJVcCcsIHRvdWNoRW5kKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbnZhciBkZWZhdWx0U2V0dGluZ3MgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAoe1xyXG4gIGhhbmRsZXJzOiBbJ2NsaWNrLXJhaWwnLCAnZHJhZy10aHVtYicsICdrZXlib2FyZCcsICd3aGVlbCcsICd0b3VjaCddLFxyXG4gIG1heFNjcm9sbGJhckxlbmd0aDogbnVsbCxcclxuICBtaW5TY3JvbGxiYXJMZW5ndGg6IG51bGwsXHJcbiAgc2Nyb2xsaW5nVGhyZXNob2xkOiAxMDAwLFxyXG4gIHNjcm9sbFhNYXJnaW5PZmZzZXQ6IDAsXHJcbiAgc2Nyb2xsWU1hcmdpbk9mZnNldDogMCxcclxuICBzdXBwcmVzc1Njcm9sbFg6IGZhbHNlLFxyXG4gIHN1cHByZXNzU2Nyb2xsWTogZmFsc2UsXHJcbiAgc3dpcGVFYXNpbmc6IHRydWUsXHJcbiAgdXNlQm90aFdoZWVsQXhlczogZmFsc2UsXHJcbiAgd2hlZWxQcm9wYWdhdGlvbjogdHJ1ZSxcclxuICB3aGVlbFNwZWVkOiAxLFxyXG59KTsgfTtcclxuXHJcbnZhciBoYW5kbGVycyA9IHtcclxuICAnY2xpY2stcmFpbCc6IGNsaWNrUmFpbCxcclxuICAnZHJhZy10aHVtYic6IGRyYWdUaHVtYixcclxuICBrZXlib2FyZDoga2V5Ym9hcmQsXHJcbiAgd2hlZWw6IHdoZWVsLFxyXG4gIHRvdWNoOiB0b3VjaCxcclxufTtcclxuXHJcbnZhciBQZXJmZWN0U2Nyb2xsYmFyID0gZnVuY3Rpb24gUGVyZmVjdFNjcm9sbGJhcihlbGVtZW50LCB1c2VyU2V0dGluZ3MpIHtcclxuICB2YXIgdGhpcyQxID0gdGhpcztcclxuICBpZiAoIHVzZXJTZXR0aW5ncyA9PT0gdm9pZCAwICkgdXNlclNldHRpbmdzID0ge307XHJcblxyXG4gIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgIGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50Lm5vZGVOYW1lKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIGVsZW1lbnQgaXMgc3BlY2lmaWVkIHRvIGluaXRpYWxpemUgUGVyZmVjdFNjcm9sbGJhcicpO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5lbGVtZW50ID0gZWxlbWVudDtcclxuXHJcbiAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNscy5tYWluKTtcclxuXHJcbiAgdGhpcy5zZXR0aW5ncyA9IGRlZmF1bHRTZXR0aW5ncygpO1xyXG4gIGZvciAodmFyIGtleSBpbiB1c2VyU2V0dGluZ3MpIHtcclxuICAgIHRoaXMuc2V0dGluZ3Nba2V5XSA9IHVzZXJTZXR0aW5nc1trZXldO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5jb250YWluZXJXaWR0aCA9IG51bGw7XHJcbiAgdGhpcy5jb250YWluZXJIZWlnaHQgPSBudWxsO1xyXG4gIHRoaXMuY29udGVudFdpZHRoID0gbnVsbDtcclxuICB0aGlzLmNvbnRlbnRIZWlnaHQgPSBudWxsO1xyXG5cclxuICB2YXIgZm9jdXMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBlbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xzLnN0YXRlLmZvY3VzKTsgfTtcclxuICB2YXIgYmx1ciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbHMuc3RhdGUuZm9jdXMpOyB9O1xyXG5cclxuICB0aGlzLmlzUnRsID0gZ2V0KGVsZW1lbnQpLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XHJcbiAgaWYgKHRoaXMuaXNSdGwgPT09IHRydWUpIHtcclxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbHMucnRsKTtcclxuICB9XHJcbiAgdGhpcy5pc05lZ2F0aXZlU2Nyb2xsID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBvcmlnaW5hbFNjcm9sbExlZnQgPSBlbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgICB2YXIgcmVzdWx0ID0gbnVsbDtcclxuICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IC0xO1xyXG4gICAgcmVzdWx0ID0gZWxlbWVudC5zY3JvbGxMZWZ0IDwgMDtcclxuICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IG9yaWdpbmFsU2Nyb2xsTGVmdDtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfSkoKTtcclxuICB0aGlzLm5lZ2F0aXZlU2Nyb2xsQWRqdXN0bWVudCA9IHRoaXMuaXNOZWdhdGl2ZVNjcm9sbFxyXG4gICAgPyBlbGVtZW50LnNjcm9sbFdpZHRoIC0gZWxlbWVudC5jbGllbnRXaWR0aFxyXG4gICAgOiAwO1xyXG4gIHRoaXMuZXZlbnQgPSBuZXcgRXZlbnRNYW5hZ2VyKCk7XHJcbiAgdGhpcy5vd25lckRvY3VtZW50ID0gZWxlbWVudC5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50O1xyXG5cclxuICB0aGlzLnNjcm9sbGJhclhSYWlsID0gZGl2KGNscy5lbGVtZW50LnJhaWwoJ3gnKSk7XHJcbiAgZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnNjcm9sbGJhclhSYWlsKTtcclxuICB0aGlzLnNjcm9sbGJhclggPSBkaXYoY2xzLmVsZW1lbnQudGh1bWIoJ3gnKSk7XHJcbiAgdGhpcy5zY3JvbGxiYXJYUmFpbC5hcHBlbmRDaGlsZCh0aGlzLnNjcm9sbGJhclgpO1xyXG4gIHRoaXMuc2Nyb2xsYmFyWC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgMCk7XHJcbiAgdGhpcy5ldmVudC5iaW5kKHRoaXMuc2Nyb2xsYmFyWCwgJ2ZvY3VzJywgZm9jdXMpO1xyXG4gIHRoaXMuZXZlbnQuYmluZCh0aGlzLnNjcm9sbGJhclgsICdibHVyJywgYmx1cik7XHJcbiAgdGhpcy5zY3JvbGxiYXJYQWN0aXZlID0gbnVsbDtcclxuICB0aGlzLnNjcm9sbGJhclhXaWR0aCA9IG51bGw7XHJcbiAgdGhpcy5zY3JvbGxiYXJYTGVmdCA9IG51bGw7XHJcbiAgdmFyIHJhaWxYU3R5bGUgPSBnZXQodGhpcy5zY3JvbGxiYXJYUmFpbCk7XHJcbiAgdGhpcy5zY3JvbGxiYXJYQm90dG9tID0gcGFyc2VJbnQocmFpbFhTdHlsZS5ib3R0b20sIDEwKTtcclxuICBpZiAoaXNOYU4odGhpcy5zY3JvbGxiYXJYQm90dG9tKSkge1xyXG4gICAgdGhpcy5pc1Njcm9sbGJhclhVc2luZ0JvdHRvbSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zY3JvbGxiYXJYVG9wID0gdG9JbnQocmFpbFhTdHlsZS50b3ApO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLmlzU2Nyb2xsYmFyWFVzaW5nQm90dG9tID0gdHJ1ZTtcclxuICB9XHJcbiAgdGhpcy5yYWlsQm9yZGVyWFdpZHRoID1cclxuICAgIHRvSW50KHJhaWxYU3R5bGUuYm9yZGVyTGVmdFdpZHRoKSArIHRvSW50KHJhaWxYU3R5bGUuYm9yZGVyUmlnaHRXaWR0aCk7XHJcbiAgLy8gU2V0IHJhaWwgdG8gZGlzcGxheTpibG9jayB0byBjYWxjdWxhdGUgbWFyZ2luc1xyXG4gIHNldCh0aGlzLnNjcm9sbGJhclhSYWlsLCB7IGRpc3BsYXk6ICdibG9jaycgfSk7XHJcbiAgdGhpcy5yYWlsWE1hcmdpbldpZHRoID1cclxuICAgIHRvSW50KHJhaWxYU3R5bGUubWFyZ2luTGVmdCkgKyB0b0ludChyYWlsWFN0eWxlLm1hcmdpblJpZ2h0KTtcclxuICBzZXQodGhpcy5zY3JvbGxiYXJYUmFpbCwgeyBkaXNwbGF5OiAnJyB9KTtcclxuICB0aGlzLnJhaWxYV2lkdGggPSBudWxsO1xyXG4gIHRoaXMucmFpbFhSYXRpbyA9IG51bGw7XHJcblxyXG4gIHRoaXMuc2Nyb2xsYmFyWVJhaWwgPSBkaXYoY2xzLmVsZW1lbnQucmFpbCgneScpKTtcclxuICBlbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuc2Nyb2xsYmFyWVJhaWwpO1xyXG4gIHRoaXMuc2Nyb2xsYmFyWSA9IGRpdihjbHMuZWxlbWVudC50aHVtYigneScpKTtcclxuICB0aGlzLnNjcm9sbGJhcllSYWlsLmFwcGVuZENoaWxkKHRoaXMuc2Nyb2xsYmFyWSk7XHJcbiAgdGhpcy5zY3JvbGxiYXJZLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAwKTtcclxuICB0aGlzLmV2ZW50LmJpbmQodGhpcy5zY3JvbGxiYXJZLCAnZm9jdXMnLCBmb2N1cyk7XHJcbiAgdGhpcy5ldmVudC5iaW5kKHRoaXMuc2Nyb2xsYmFyWSwgJ2JsdXInLCBibHVyKTtcclxuICB0aGlzLnNjcm9sbGJhcllBY3RpdmUgPSBudWxsO1xyXG4gIHRoaXMuc2Nyb2xsYmFyWUhlaWdodCA9IG51bGw7XHJcbiAgdGhpcy5zY3JvbGxiYXJZVG9wID0gbnVsbDtcclxuICB2YXIgcmFpbFlTdHlsZSA9IGdldCh0aGlzLnNjcm9sbGJhcllSYWlsKTtcclxuICB0aGlzLnNjcm9sbGJhcllSaWdodCA9IHBhcnNlSW50KHJhaWxZU3R5bGUucmlnaHQsIDEwKTtcclxuICBpZiAoaXNOYU4odGhpcy5zY3JvbGxiYXJZUmlnaHQpKSB7XHJcbiAgICB0aGlzLmlzU2Nyb2xsYmFyWVVzaW5nUmlnaHQgPSBmYWxzZTtcclxuICAgIHRoaXMuc2Nyb2xsYmFyWUxlZnQgPSB0b0ludChyYWlsWVN0eWxlLmxlZnQpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLmlzU2Nyb2xsYmFyWVVzaW5nUmlnaHQgPSB0cnVlO1xyXG4gIH1cclxuICB0aGlzLnNjcm9sbGJhcllPdXRlcldpZHRoID0gdGhpcy5pc1J0bCA/IG91dGVyV2lkdGgodGhpcy5zY3JvbGxiYXJZKSA6IG51bGw7XHJcbiAgdGhpcy5yYWlsQm9yZGVyWVdpZHRoID1cclxuICAgIHRvSW50KHJhaWxZU3R5bGUuYm9yZGVyVG9wV2lkdGgpICsgdG9JbnQocmFpbFlTdHlsZS5ib3JkZXJCb3R0b21XaWR0aCk7XHJcbiAgc2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwsIHsgZGlzcGxheTogJ2Jsb2NrJyB9KTtcclxuICB0aGlzLnJhaWxZTWFyZ2luSGVpZ2h0ID1cclxuICAgIHRvSW50KHJhaWxZU3R5bGUubWFyZ2luVG9wKSArIHRvSW50KHJhaWxZU3R5bGUubWFyZ2luQm90dG9tKTtcclxuICBzZXQodGhpcy5zY3JvbGxiYXJZUmFpbCwgeyBkaXNwbGF5OiAnJyB9KTtcclxuICB0aGlzLnJhaWxZSGVpZ2h0ID0gbnVsbDtcclxuICB0aGlzLnJhaWxZUmF0aW8gPSBudWxsO1xyXG5cclxuICB0aGlzLnJlYWNoID0ge1xyXG4gICAgeDpcclxuICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0IDw9IDBcclxuICAgICAgICA/ICdzdGFydCdcclxuICAgICAgICA6IGVsZW1lbnQuc2Nyb2xsTGVmdCA+PSB0aGlzLmNvbnRlbnRXaWR0aCAtIHRoaXMuY29udGFpbmVyV2lkdGhcclxuICAgICAgICA/ICdlbmQnXHJcbiAgICAgICAgOiBudWxsLFxyXG4gICAgeTpcclxuICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPD0gMFxyXG4gICAgICAgID8gJ3N0YXJ0J1xyXG4gICAgICAgIDogZWxlbWVudC5zY3JvbGxUb3AgPj0gdGhpcy5jb250ZW50SGVpZ2h0IC0gdGhpcy5jb250YWluZXJIZWlnaHRcclxuICAgICAgICA/ICdlbmQnXHJcbiAgICAgICAgOiBudWxsLFxyXG4gIH07XHJcblxyXG4gIHRoaXMuaXNBbGl2ZSA9IHRydWU7XHJcblxyXG4gIHRoaXMuc2V0dGluZ3MuaGFuZGxlcnMuZm9yRWFjaChmdW5jdGlvbiAoaGFuZGxlck5hbWUpIHsgcmV0dXJuIGhhbmRsZXJzW2hhbmRsZXJOYW1lXSh0aGlzJDEpOyB9KTtcclxuXHJcbiAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gTWF0aC5mbG9vcihlbGVtZW50LnNjcm9sbFRvcCk7IC8vIGZvciBvblNjcm9sbCBvbmx5XHJcbiAgdGhpcy5sYXN0U2Nyb2xsTGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDsgLy8gZm9yIG9uU2Nyb2xsIG9ubHlcclxuICB0aGlzLmV2ZW50LmJpbmQodGhpcy5lbGVtZW50LCAnc2Nyb2xsJywgZnVuY3Rpb24gKGUpIHsgcmV0dXJuIHRoaXMkMS5vblNjcm9sbChlKTsgfSk7XHJcbiAgdXBkYXRlR2VvbWV0cnkodGhpcyk7XHJcbn07XHJcblxyXG5QZXJmZWN0U2Nyb2xsYmFyLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUgKCkge1xyXG4gIGlmICghdGhpcy5pc0FsaXZlKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICAvLyBSZWNhbGN1YXRlIG5lZ2F0aXZlIHNjcm9sbExlZnQgYWRqdXN0bWVudFxyXG4gIHRoaXMubmVnYXRpdmVTY3JvbGxBZGp1c3RtZW50ID0gdGhpcy5pc05lZ2F0aXZlU2Nyb2xsXHJcbiAgICA/IHRoaXMuZWxlbWVudC5zY3JvbGxXaWR0aCAtIHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aFxyXG4gICAgOiAwO1xyXG5cclxuICAvLyBSZWNhbGN1bGF0ZSByYWlsIG1hcmdpbnNcclxuICBzZXQodGhpcy5zY3JvbGxiYXJYUmFpbCwgeyBkaXNwbGF5OiAnYmxvY2snIH0pO1xyXG4gIHNldCh0aGlzLnNjcm9sbGJhcllSYWlsLCB7IGRpc3BsYXk6ICdibG9jaycgfSk7XHJcbiAgdGhpcy5yYWlsWE1hcmdpbldpZHRoID1cclxuICAgIHRvSW50KGdldCh0aGlzLnNjcm9sbGJhclhSYWlsKS5tYXJnaW5MZWZ0KSArXHJcbiAgICB0b0ludChnZXQodGhpcy5zY3JvbGxiYXJYUmFpbCkubWFyZ2luUmlnaHQpO1xyXG4gIHRoaXMucmFpbFlNYXJnaW5IZWlnaHQgPVxyXG4gICAgdG9JbnQoZ2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwpLm1hcmdpblRvcCkgK1xyXG4gICAgdG9JbnQoZ2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwpLm1hcmdpbkJvdHRvbSk7XHJcblxyXG4gIC8vIEhpZGUgc2Nyb2xsYmFycyBub3QgdG8gYWZmZWN0IHNjcm9sbFdpZHRoIGFuZCBzY3JvbGxIZWlnaHRcclxuICBzZXQodGhpcy5zY3JvbGxiYXJYUmFpbCwgeyBkaXNwbGF5OiAnbm9uZScgfSk7XHJcbiAgc2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwsIHsgZGlzcGxheTogJ25vbmUnIH0pO1xyXG5cclxuICB1cGRhdGVHZW9tZXRyeSh0aGlzKTtcclxuXHJcbiAgcHJvY2Vzc1Njcm9sbERpZmYodGhpcywgJ3RvcCcsIDAsIGZhbHNlLCB0cnVlKTtcclxuICBwcm9jZXNzU2Nyb2xsRGlmZih0aGlzLCAnbGVmdCcsIDAsIGZhbHNlLCB0cnVlKTtcclxuXHJcbiAgc2V0KHRoaXMuc2Nyb2xsYmFyWFJhaWwsIHsgZGlzcGxheTogJycgfSk7XHJcbiAgc2V0KHRoaXMuc2Nyb2xsYmFyWVJhaWwsIHsgZGlzcGxheTogJycgfSk7XHJcbn07XHJcblxyXG5QZXJmZWN0U2Nyb2xsYmFyLnByb3RvdHlwZS5vblNjcm9sbCA9IGZ1bmN0aW9uIG9uU2Nyb2xsIChlKSB7XHJcbiAgaWYgKCF0aGlzLmlzQWxpdmUpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUdlb21ldHJ5KHRoaXMpO1xyXG4gIHByb2Nlc3NTY3JvbGxEaWZmKHRoaXMsICd0b3AnLCB0aGlzLmVsZW1lbnQuc2Nyb2xsVG9wIC0gdGhpcy5sYXN0U2Nyb2xsVG9wKTtcclxuICBwcm9jZXNzU2Nyb2xsRGlmZihcclxuICAgIHRoaXMsXHJcbiAgICAnbGVmdCcsXHJcbiAgICB0aGlzLmVsZW1lbnQuc2Nyb2xsTGVmdCAtIHRoaXMubGFzdFNjcm9sbExlZnRcclxuICApO1xyXG5cclxuICB0aGlzLmxhc3RTY3JvbGxUb3AgPSBNYXRoLmZsb29yKHRoaXMuZWxlbWVudC5zY3JvbGxUb3ApO1xyXG4gIHRoaXMubGFzdFNjcm9sbExlZnQgPSB0aGlzLmVsZW1lbnQuc2Nyb2xsTGVmdDtcclxufTtcclxuXHJcblBlcmZlY3RTY3JvbGxiYXIucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiBkZXN0cm95ICgpIHtcclxuICBpZiAoIXRoaXMuaXNBbGl2ZSkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgdGhpcy5ldmVudC51bmJpbmRBbGwoKTtcclxuICByZW1vdmUodGhpcy5zY3JvbGxiYXJYKTtcclxuICByZW1vdmUodGhpcy5zY3JvbGxiYXJZKTtcclxuICByZW1vdmUodGhpcy5zY3JvbGxiYXJYUmFpbCk7XHJcbiAgcmVtb3ZlKHRoaXMuc2Nyb2xsYmFyWVJhaWwpO1xyXG4gIHRoaXMucmVtb3ZlUHNDbGFzc2VzKCk7XHJcblxyXG4gIC8vIHVuc2V0IGVsZW1lbnRzXHJcbiAgdGhpcy5lbGVtZW50ID0gbnVsbDtcclxuICB0aGlzLnNjcm9sbGJhclggPSBudWxsO1xyXG4gIHRoaXMuc2Nyb2xsYmFyWSA9IG51bGw7XHJcbiAgdGhpcy5zY3JvbGxiYXJYUmFpbCA9IG51bGw7XHJcbiAgdGhpcy5zY3JvbGxiYXJZUmFpbCA9IG51bGw7XHJcblxyXG4gIHRoaXMuaXNBbGl2ZSA9IGZhbHNlO1xyXG59O1xyXG5cclxuUGVyZmVjdFNjcm9sbGJhci5wcm90b3R5cGUucmVtb3ZlUHNDbGFzc2VzID0gZnVuY3Rpb24gcmVtb3ZlUHNDbGFzc2VzICgpIHtcclxuICB0aGlzLmVsZW1lbnQuY2xhc3NOYW1lID0gdGhpcy5lbGVtZW50LmNsYXNzTmFtZVxyXG4gICAgLnNwbGl0KCcgJylcclxuICAgIC5maWx0ZXIoZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuICFuYW1lLm1hdGNoKC9ecHMoWy1fXS4rfCkkLyk7IH0pXHJcbiAgICAuam9pbignICcpO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgUGVyZmVjdFNjcm9sbGJhcjtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGVyZmVjdC1zY3JvbGxiYXIuZXNtLmpzLm1hcFxyXG4iXSwibmFtZXMiOlsid2luZG93IiwiJCIsImpRdWVyeSIsInJlcXVpcmUiLCJTd2FsIiwicGVybWlzc2lvblRyZWUiLCJvbiIsImlzIiwic2libGluZ3MiLCJmaW5kIiwiYXR0ciIsInJlbW92ZUF0dHIiLCJlYWNoIiwiZGlzYWJsZVN1Ym1pdEJ1dHRvbnMiLCJmb3JtIiwiZW5hYmxlU3VibWl0QnV0dG9ucyIsInN1Ym1pdCIsImUiLCJfdGhpcyIsInByZXZlbnREZWZhdWx0IiwiZmlyZSIsInRpdGxlIiwic2hvd0NhbmNlbEJ1dHRvbiIsImNvbmZpcm1CdXR0b25UZXh0IiwiY2FuY2VsQnV0dG9uVGV4dCIsImljb24iLCJ0aGVuIiwicmVzdWx0IiwidmFsdWUiLCJfdGhpczIiLCJfdGhpczMiLCJsb2NhdGlvbiIsImFzc2lnbiIsImhhc2giLCJ0YXJnZXQiLCJoaXN0b3J5IiwicHVzaFN0YXRlIiwidGFiIiwidG9vbHRpcCJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/public/js/frontend.js b/public/js/frontend.js index be3218e3..de26d52c 100644 --- a/public/js/frontend.js +++ b/public/js/frontend.js @@ -51,10 +51,10 @@ render._withStripped = true; window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); window.Swal = __webpack_require__(/*! sweetalert2 */ "./node_modules/sweetalert2/dist/sweetalert2.all.js"); -/** - * We'll load jQuery and the Bootstrap jQuery plugin which provides support - * for JavaScript based Bootstrap features such as modals and tabs. This - * code may be modified to fit the specific needs of your application. +/** + * We'll load jQuery and the Bootstrap jQuery plugin which provides support + * for JavaScript based Bootstrap features such as modals and tabs. This + * code may be modified to fit the specific needs of your application. */ try { @@ -63,19 +63,19 @@ try { __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.js"); } catch (e) {} -/** - * We'll load the axios HTTP library which allows us to easily issue requests - * to our Laravel back-end. This library automatically handles sending the - * CSRF token as a header based on the value of the "XSRF" token cookie. +/** + * We'll load the axios HTTP library which allows us to easily issue requests + * to our Laravel back-end. This library automatically handles sending the + * CSRF token as a header based on the value of the "XSRF" token cookie. */ window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; -/** - * Echo exposes an expressive API for subscribing to channels and listening - * for events that are broadcast by Laravel. Echo and event broadcasting - * allows your team to easily build robust real-time web applications. +/** + * Echo exposes an expressive API for subscribing to channels and listening + * for events that are broadcast by Laravel. Echo and event broadcasting + * allows your team to easily build robust real-time web applications. */ // import Echo from 'laravel-echo'; @@ -100,22 +100,22 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js"); -/** - * First we will load all of this project's JavaScript dependencies which - * includes Vue and other libraries. It is a great starting point when - * building robust, powerful web applications using Vue and Laravel. +/** + * First we will load all of this project's JavaScript dependencies which + * includes Vue and other libraries. It is a great starting point when + * building robust, powerful web applications using Vue and Laravel. */ __webpack_require__(/*! ../bootstrap */ "./resources/js/bootstrap.js"); __webpack_require__(/*! ../plugins */ "./resources/js/plugins.js"); -/** - * The following block of code may be used to automatically register your - * Vue components. It will recursively scan this directory for the Vue - * components and automatically register them with their "basename". - * - * Eg. ./components/ExampleComponent.vue -> +/** + * The following block of code may be used to automatically register your + * Vue components. It will recursively scan this directory for the Vue + * components and automatically register them with their "basename". + * + * Eg. ./components/ExampleComponent.vue -> */ // const files = require.context('./', true, /\.vue$/i) @@ -123,10 +123,10 @@ __webpack_require__(/*! ../plugins */ "./resources/js/plugins.js"); vue__WEBPACK_IMPORTED_MODULE_0__["default"].component('example-component', (__webpack_require__(/*! ./components/ExampleComponent.vue */ "./resources/js/frontend/components/ExampleComponent.vue")["default"])); -/** - * Next, we will create a fresh Vue application instance and attach it to - * the page. Then, you may begin adding components to this application - * or customize the JavaScript scaffolding to fit your unique needs. +/** + * Next, we will create a fresh Vue application instance and attach it to + * the page. Then, you may begin adding components to this application + * or customize the JavaScript scaffolding to fit your unique needs. */ var app = new vue__WEBPACK_IMPORTED_MODULE_0__["default"]({ @@ -141,12 +141,12 @@ var app = new vue__WEBPACK_IMPORTED_MODULE_0__["default"]({ \*********************************/ /***/ (() => { -/** - * Place any jQuery/helper plugins in here. +/** + * Place any jQuery/helper plugins in here. */ $(function () { - /** - * Checkbox tree for permission selecting + /** + * Checkbox tree for permission selecting */ var permissionTree = $('.permission-tree :checkbox'); permissionTree.on('click change', function () { @@ -162,36 +162,36 @@ $(function () { } }); - /** - * Disable submit inputs in the given form - * - * @param form + /** + * Disable submit inputs in the given form + * + * @param form */ function disableSubmitButtons(form) { form.find('input[type="submit"]').attr('disabled', true); form.find('button[type="submit"]').attr('disabled', true); } - /** - * Enable the submit inputs in a given form - * - * @param form + /** + * Enable the submit inputs in a given form + * + * @param form */ function enableSubmitButtons(form) { form.find('input[type="submit"]').removeAttr('disabled'); form.find('button[type="submit"]').removeAttr('disabled'); } - /** - * Disable all submit buttons once clicked + /** + * Disable all submit buttons once clicked */ $('form').submit(function () { disableSubmitButtons($(this)); return true; }); - /** - * Add a confirmation to a delete button/form + /** + * Add a confirmation to a delete button/form */ $('body').on('submit', 'form[name=delete-item]', function (e) { var _this = this; @@ -227,8 +227,8 @@ $(function () { }); }).on('click', 'a[name=confirm-item]', function (e) { var _this3 = this; - /** - * Add an 'are you sure' pop-up to any button/link + /** + * Add an 'are you sure' pop-up to any button/link */ e.preventDefault(); Swal.fire({ @@ -12608,4 +12608,4 @@ Vue.compile = compileToFunctions; /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ } ]); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2pzL2Zyb250ZW5kLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFLQTtFQUNBQSxPQUFBLFdBQUFBLFFBQUE7SUFDQUMsT0FBQSxDQUFBQyxHQUFBO0VBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQ1RBLElBQUlDLE1BQU0sR0FBRyxTQUFTQSxNQUFNQSxDQUFBLEVBQUc7RUFDN0IsSUFBSUMsR0FBRyxHQUFHLElBQUk7SUFDWkMsRUFBRSxHQUFHRCxHQUFHLENBQUNFLEtBQUssQ0FBQ0QsRUFBRTtFQUNuQixPQUFPQSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUNELEdBQUcsQ0FBQ0csRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBQ0QsSUFBSUMsZUFBZSxHQUFHLEVBQUU7QUFDeEJMLE1BQU0sQ0FBQ00sYUFBYSxHQUFHLElBQUk7Ozs7Ozs7Ozs7O0FDTjNCQyxNQUFNLENBQUNDLENBQUMsR0FBR0MsbUJBQU8sQ0FBQywrQ0FBUSxDQUFDO0FBQzVCRixNQUFNLENBQUNHLElBQUksR0FBR0QsbUJBQU8sQ0FBQyx1RUFBYSxDQUFDOztBQUVwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUk7RUFDQUYsTUFBTSxDQUFDSSxNQUFNLEdBQUdGLGdHQUE0QjtFQUM1Q0YsTUFBTSxDQUFDSyxDQUFDLEdBQUdMLE1BQU0sQ0FBQ00sTUFBTSxHQUFHSixtQkFBTyxDQUFDLG9EQUFRLENBQUM7RUFFNUNBLG1CQUFPLENBQUMsZ0VBQVcsQ0FBQztBQUN4QixDQUFDLENBQUMsT0FBT0ssQ0FBQyxFQUFFLENBQUM7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQVAsTUFBTSxDQUFDUSxLQUFLLEdBQUdOLG1CQUFPLENBQUMsNENBQU8sQ0FBQztBQUUvQkYsTUFBTSxDQUFDUSxLQUFLLENBQUNDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBRyxnQkFBZ0I7O0FBRTNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDekNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUFULG1CQUFPLENBQUMsaURBQWMsQ0FBQztBQUN2QkEsbUJBQU8sQ0FBQyw2Q0FBWSxDQUFDO0FBRUM7O0FBRXRCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUFVLDJDQUFHLENBQUNDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRVgsb0lBQW9ELENBQUM7O0FBRXhGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTVksR0FBRyxHQUFHLElBQUlGLDJDQUFHLENBQUM7RUFDaEJHLEVBQUUsRUFBRTtBQUNSLENBQUMsQ0FBQzs7Ozs7Ozs7OztBQ2hDRjtBQUNBO0FBQ0E7QUFDQVYsQ0FBQyxDQUFDLFlBQVk7RUFDVjtBQUNKO0FBQ0E7RUFDSSxJQUFJVyxjQUFjLEdBQUdYLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztFQUVwRFcsY0FBYyxDQUFDQyxFQUFFLENBQUMsY0FBYyxFQUFFLFlBQVc7SUFDekMsSUFBR1osQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDYSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUU7TUFDdkJiLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ2MsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQ0EsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDdEcsQ0FBQyxNQUFNO01BQ0hoQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNjLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUNFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQ0EsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUN0RztFQUNKLENBQUMsQ0FBQztFQUVGTixjQUFjLENBQUNPLElBQUksQ0FBQyxZQUFZO0lBQzVCLElBQUdsQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNhLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtNQUN2QmIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDYyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDQSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUN0RztFQUNKLENBQUMsQ0FBQzs7RUFFRjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksU0FBU0csb0JBQW9CQSxDQUFDQyxJQUFJLEVBQUU7SUFDaENBLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0lBQ3hESSxJQUFJLENBQUNMLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztFQUM3RDs7RUFFQTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksU0FBU0ssbUJBQW1CQSxDQUFDRCxJQUFJLEVBQUU7SUFDL0JBLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNFLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDeERHLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUNFLFVBQVUsQ0FBQyxVQUFVLENBQUM7RUFDN0Q7O0VBRUE7QUFDSjtBQUNBO0VBQ0lqQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNzQixNQUFNLENBQUMsWUFBWTtJQUN6Qkgsb0JBQW9CLENBQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsT0FBTyxJQUFJO0VBQ2YsQ0FBQyxDQUFDOztFQUVGO0FBQ0o7QUFDQTtFQUNJQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsVUFBU1YsQ0FBQyxFQUFFO0lBQUEsSUFBQXFCLEtBQUE7SUFDekRyQixDQUFDLENBQUNzQixjQUFjLENBQUMsQ0FBQztJQUVsQjFCLElBQUksQ0FBQzJCLElBQUksQ0FBQztNQUNOQyxLQUFLLEVBQUUsNENBQTRDO01BQ25EQyxnQkFBZ0IsRUFBRSxJQUFJO01BQ3RCQyxpQkFBaUIsRUFBRSxnQkFBZ0I7TUFDbkNDLGdCQUFnQixFQUFFLFFBQVE7TUFDMUJDLElBQUksRUFBRTtJQUNWLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsTUFBTSxFQUFLO01BQ2hCLElBQUlBLE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO1FBQ2RWLEtBQUksQ0FBQ0QsTUFBTSxDQUFDLENBQUM7TUFDakIsQ0FBQyxNQUFNO1FBQ0hELG1CQUFtQixDQUFDckIsQ0FBQyxDQUFDdUIsS0FBSSxDQUFDLENBQUM7TUFDaEM7SUFDSixDQUFDLENBQUM7RUFDTixDQUFDLENBQUMsQ0FDR1gsRUFBRSxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsRUFBRSxVQUFVVixDQUFDLEVBQUU7SUFBQSxJQUFBZ0MsTUFBQTtJQUNsRGhDLENBQUMsQ0FBQ3NCLGNBQWMsQ0FBQyxDQUFDO0lBRWxCMUIsSUFBSSxDQUFDMkIsSUFBSSxDQUFDO01BQ05DLEtBQUssRUFBRSxtQ0FBbUM7TUFDMUNDLGdCQUFnQixFQUFFLElBQUk7TUFDdEJDLGlCQUFpQixFQUFFLFVBQVU7TUFDN0JDLGdCQUFnQixFQUFFLFFBQVE7TUFDMUJDLElBQUksRUFBRTtJQUNWLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsTUFBTSxFQUFLO01BQ2hCLElBQUlBLE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO1FBQ2RDLE1BQUksQ0FBQ1osTUFBTSxDQUFDLENBQUM7TUFDakIsQ0FBQyxNQUFNO1FBQ0hELG1CQUFtQixDQUFDckIsQ0FBQyxDQUFDa0MsTUFBSSxDQUFDLENBQUM7TUFDaEM7SUFDSixDQUFDLENBQUM7RUFDTixDQUFDLENBQUMsQ0FDRHRCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVVYsQ0FBQyxFQUFFO0lBQUEsSUFBQWlDLE1BQUE7SUFDbEQ7QUFDUjtBQUNBO0lBQ1FqQyxDQUFDLENBQUNzQixjQUFjLENBQUMsQ0FBQztJQUVsQjFCLElBQUksQ0FBQzJCLElBQUksQ0FBQztNQUNOQyxLQUFLLEVBQUUsbUNBQW1DO01BQzFDQyxnQkFBZ0IsRUFBRSxJQUFJO01BQ3RCQyxpQkFBaUIsRUFBRSxVQUFVO01BQzdCQyxnQkFBZ0IsRUFBRSxRQUFRO01BQzFCQyxJQUFJLEVBQUU7SUFDVixDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLE1BQU0sRUFBSztNQUNoQkEsTUFBTSxDQUFDQyxLQUFLLElBQUl0QyxNQUFNLENBQUN5QyxRQUFRLENBQUNDLE1BQU0sQ0FBQ3JDLENBQUMsQ0FBQ21DLE1BQUksQ0FBQyxDQUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQzs7RUFFRjtFQUNBaEIsQ0FBQyxDQUFDLDZDQUE2QyxDQUFDLENBQUNZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVVYsQ0FBQyxFQUFFO0lBQzdFLElBQUlvQyxJQUFJLEdBQUd0QyxDQUFDLENBQUNFLENBQUMsQ0FBQ3FDLE1BQU0sQ0FBQyxDQUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNuQ3dCLE9BQU8sQ0FBQ0MsU0FBUyxHQUFHRCxPQUFPLENBQUNDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFSCxJQUFJLENBQUMsR0FBR0YsUUFBUSxDQUFDRSxJQUFJLEdBQUdBLElBQUk7RUFDbEYsQ0FBQyxDQUFDO0VBRUYsSUFBSUEsSUFBSSxHQUFHM0MsTUFBTSxDQUFDeUMsUUFBUSxDQUFDRSxJQUFJO0VBQy9CLElBQUlBLElBQUksRUFBRTtJQUNOdEMsQ0FBQyxDQUFDLGtCQUFrQixHQUFDc0MsSUFBSSxHQUFDLElBQUksQ0FBQyxDQUFDSSxHQUFHLENBQUMsTUFBTSxDQUFDO0VBQy9DOztFQUVBO0VBQ0ExQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQzJDLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7O0FDdEhGOzs7Ozs7Ozs7Ozs7O0FDQUE7Ozs7Ozs7Ozs7O0FDQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN2TGtFO0FBQzNCO0FBQ0w7OztBQUcvRDtBQUNBLENBQWdHO0FBQ2hHLGdCQUFnQix1R0FBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSx3RkFBTTtBQUNSLEVBQUUsaUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEVBQUUsWUFpQmY7QUFDRDtBQUNBLGlFQUFlOzs7Ozs7Ozs7Ozs7Ozs7O0FDdENxTSxDQUFDLGlFQUFlLDJNQUFHLEVBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FFQXhPOztBQUVBO0FBQ0E7QUFDQTs7QUFFZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMvRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsaUJBQWlCO0FBQ3JDO0FBQ0E7QUFDQSwrQ0FBK0MsaUNBQWlDLG1CQUFtQjtBQUNuRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsb0NBQW9DO0FBQ3pGLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixnQkFBZ0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsYUFBb0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsY0FBYyxhQUFvQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IscUJBQXFCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEdBQUc7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxxQkFBTTtBQUN2QztBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IscUJBQU0sZUFBZSxxQkFBTTtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUksSUFBcUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELE9BQU87QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLCtCQUErQjtBQUNuRDtBQUNBLGtEQUFrRCxXQUFXO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRCw4Q0FBOEMsb0JBQW9CO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsV0FBVztBQUM5RCxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QyxxQkFBcUI7QUFDN0Q7QUFDQSx5Q0FBeUMsT0FBTztBQUNoRDtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBLDZDQUE2QyxpQkFBaUI7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLHVCQUF1QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWEsRUFFSjtBQUNUO0FBQ0EsS0FBSztBQUNMLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwREFBMEQsT0FBTztBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLE9BQU87QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsSUFBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxxQkFBcUIsRUFFSjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxpQkFBaUIsRUFFSjtBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVMsRUFFSjtBQUNMO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUyxFQUVKO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELE9BQU87QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVMsRUFFSjtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGlCQUFpQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsYUFBYSxFQUVKO0FBQ1QsS0FBSztBQUNMLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxhQUFhLEVBRUo7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsS0FBcUM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0EsY0FBYyxDQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELFlBQVk7QUFDbkUsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixLQUFxQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSSxJQUFxQztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLG1CQUFtQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IscUJBQXFCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IscUJBQXFCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxPQUFPO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLE9BQU87QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixTQUFTO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLE9BQU87QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrRUFBa0U7QUFDbEUsNERBQTREO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0EsbURBQW1ELGVBQWU7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQixvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLEtBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLE9BQU87QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0VBQXNFO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRkFBK0Y7QUFDL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLElBQXFDO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixLQUFxQztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsZ0JBQWdCLElBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCwyQkFBMkIsaUJBQWlCLElBQUk7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQSxpQkFBaUIsSUFBcUM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7QUFDQSwwREFBMEQ7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTLEVBR0o7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRCxtQ0FBbUM7QUFDckY7QUFDQSxpREFBaUQsT0FBTztBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsS0FBcUMsOENBQThDLENBQUk7QUFDNUg7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCLHFCQUFxQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsT0FBTztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELFNBQVM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLE9BQU87QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0MsZ0RBQWdEO0FBQ2hELGtEQUFrRDtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isd0JBQXdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixxQkFBcUI7QUFDN0M7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IseUJBQXlCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IseUJBQXlCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxPQUFPO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHdCQUF3QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxLQUFxQztBQUN2RSw4QkFBOEIsY0FBYyxlQUFlLElBQUksQ0FBaUI7QUFDaEY7QUFDQTtBQUNBLGtDQUFrQyxLQUFxQztBQUN2RSw4QkFBOEIsY0FBYyxlQUFlLElBQUksQ0FBaUI7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELHVDQUF1QztBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFELHVCQUF1QjtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsSUFBcUM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxPQUFPO0FBQ3hEO0FBQ0E7QUFDQSxrREFBa0QsT0FBTztBQUN6RDtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsT0FBTztBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLElBQXFDO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLElBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBLGFBQWEsSUFBcUM7QUFDbEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxrQkFBa0I7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyx1REFBdUQ7QUFDNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG1CQUFtQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRCx5REFBeUQ7QUFDekQ7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsS0FBcUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixLQUFxQztBQUM3RDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsS0FBcUMsd0JBQXdCLENBQUU7QUFDekY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWEsRUFFSjtBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsSUFBcUM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLG9CQUFvQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGlCQUFpQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLElBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsaUJBQWlCLEVBRUo7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpQkFBaUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixJQUFxQztBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtGQUErRjtBQUMvRjtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0EsYUFBYSxFQUVKO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixtQkFBbUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QyxzREFBc0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sc0ZBQXNGO0FBQzVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QyxvQkFBb0IseUJBQXlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkMscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQSxJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RCx5QkFBeUI7QUFDakY7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBcUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxhQUFvQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQSxxQkFBcUIsSUFBcUM7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0EsYUFBYSxJQUFxQztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQSx3QkFBd0IsbUJBQW1CO0FBQzNDLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsV0FBVztBQUN0QyxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLGFBQWEsSUFBcUM7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsT0FBTztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsMkJBQTJCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4REFBOEQsV0FBVztBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsU0FBUztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELHNDQUFzQztBQUN6RjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQSx1Q0FBdUMsMENBQTBDO0FBQ2pGOztBQUVBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEU7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsNEJBQTRCO0FBQzVFLFNBQVM7QUFDVDtBQUNBLGdEQUFnRCw2QkFBNkI7QUFDN0UsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLE9BQU87QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLElBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixhQUFhO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGtCQUFrQjtBQUNsQztBQUNBLG9CQUFvQixvQkFBb0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0RBQStEO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHlCQUF5QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsSUFBcUM7QUFDckQ7QUFDQTtBQUNBLDhCQUE4Qix1QkFBdUI7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQix5QkFBeUI7QUFDbkQ7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG9CQUFvQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isd0JBQXdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwyQkFBMkI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsb0JBQW9CO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIseUJBQXlCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLHVCQUF1QjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixXQUFXO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qix1QkFBdUI7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsSUFBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsb0JBQW9CO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxLQUFxQztBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLHVCQUF1QjtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLEtBQXFDO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxJQUFxQztBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQywwQkFBMEI7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMseUJBQXlCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsNEJBQTRCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsMkJBQTJCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qiw4QkFBOEI7QUFDMUQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsaUJBQWlCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBGQUEwRjtBQUMxRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsZ0JBQWdCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFFBQVE7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG9CQUFvQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxnQkFBZ0Isd0JBQXdCLFdBQVc7QUFDbkc7QUFDQTtBQUNBLHNEQUFzRCw0Q0FBNEM7QUFDbEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDRDQUE0QztBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLDBCQUEwQjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esc0ZBQXNGO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSxvQ0FBb0MsdUNBQXVDO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsT0FBTztBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxPQUFPO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0Qsd0JBQXdCO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLElBQXFDO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRkFBMEY7QUFDMUYsZ0NBQWdDO0FBQ2hDO0FBQ0EseUJBQXlCO0FBQ3pCLDBCQUEwQixtRUFBbUU7QUFDN0YsY0FBYyw0RkFBNEY7QUFDMUcsVUFBVSxLQUFLLDRDQUE0QztBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELGtCQUFrQjtBQUNuRSwwQkFBMEIsK0NBQStDO0FBQ3pFLHVEQUF1RDtBQUN2RDtBQUNBLDREQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxxQ0FBcUM7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQSw4Q0FBOEMsU0FBUztBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHdCQUF3QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0VBQWdFO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCw2QkFBNkI7QUFDMUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGdDQUFnQztBQUM3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRFQUE0RTtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtRUFBbUU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLHNDQUFzQzs7QUFFeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsMENBQTBDO0FBQzlGO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RCw4Q0FBOEM7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsT0FBTztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsK0JBQStCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0Q7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHdCQUF3QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0EseUJBQXlCLElBQXFDO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIseUJBQXlCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLElBQXdFO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQytCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFO0FBQzNDLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLGlCQUFpQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxNQUFNO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0MsTUFBTTtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsU0FBUztBQUNULFdBQVc7QUFDWCxVQUFVO0FBQ1YsVUFBVTtBQUNWLFNBQVM7QUFDVCxVQUFVO0FBQ1Y7QUFDQSwyQ0FBMkM7QUFDM0MsOERBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELDRCQUE0QjtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLE9BQU87QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLFVBQVU7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxVQUFVO0FBQ3JELG9CQUFvQixLQUFxQztBQUN6RDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixlQUFlO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixJQUFxQztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EscUJBQXFCLElBQXFDO0FBQzFEO0FBQ0E7QUFDQSw4REFBOEQsc0JBQXNCO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlGQUFpRjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRSxzQkFBc0I7QUFDeEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsMkJBQTJCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsaUJBQWlCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLElBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixJQUFJO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRCxzQkFBc0I7QUFDakY7QUFDQTtBQUNBLDRCQUE0QiwwQkFBMEI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsSUFBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG9CQUFvQixJQUFxQztBQUN6RDtBQUNBLHlHQUF5RyxjQUFjO0FBQ3ZIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEtBQXFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixTQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHVCQUF1QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLElBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxhQUFhLElBQXFDO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLElBQXFDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5RUFBeUU7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLElBQXFDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLElBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLE9BQU87QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLElBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsTUFBTTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsT0FBTztBQUM3QyxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QsT0FBTztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRCxPQUFPO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRCxPQUFPO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELE9BQU87QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLDZDQUE2QztBQUNuRjtBQUNBLG9DQUFvQztBQUNwQyxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qix3Q0FBd0M7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQSwyREFBMkQsNkJBQTZCO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsbUZBQW1GLElBQUk7QUFDeEg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsbUNBQW1DO0FBQ3hGLGtEQUFrRCw4Q0FBOEM7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxxQ0FBcUM7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHdCQUF3QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDZCQUE2QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDLHlDQUF5QztBQUNwRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQSx5RUFBeUU7QUFDekU7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IscUhBQXFIO0FBQzdJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxPQUFPO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0Esd01BQXdNO0FBQ3hNO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDLHdGQUF3RixpQkFBaUI7QUFDekc7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGtCQUFrQixtQ0FBbUM7QUFDckYsbUNBQW1DLG1CQUFtQixpQkFBaUIsS0FBSztBQUM1RSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDBDQUEwQztBQUN4RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQSxhQUFhLHVGQUF1RjtBQUNwRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QseUJBQXlCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IscUJBQXFCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxxQ0FBcUM7QUFDekY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0UsaUNBQWlDO0FBQ3JHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRSw0QkFBNEI7QUFDaEc7QUFDQSx3RkFBd0Y7QUFDeEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLElBQUk7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixxQ0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkVBQTZFLEdBQUc7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QiwwQkFBMEI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQSxvQ0FBb0MsK0JBQStCO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNCQUFzQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELHdCQUF3QjtBQUNuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELHdCQUF3QjtBQUNqRjtBQUNBO0FBQ0EsMkRBQTJELHNCQUFzQjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0EsK0RBQStELFdBQVc7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsSUFBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixLQUFxQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLElBQXFDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGFBQW9CO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFNnNCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9mcm9udGVuZC9jb21wb25lbnRzL0V4YW1wbGVDb21wb25lbnQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9mcm9udGVuZC9jb21wb25lbnRzL0V4YW1wbGVDb21wb25lbnQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9ib290c3RyYXAuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2Zyb250ZW5kL2FwcC5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvcGx1Z2lucy5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9mcm9udGVuZC9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9iYWNrZW5kL2FwcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2Zyb250ZW5kL2NvbXBvbmVudHMvRXhhbXBsZUNvbXBvbmVudC52dWU/OTQ4NCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvZnJvbnRlbmQvY29tcG9uZW50cy9FeGFtcGxlQ29tcG9uZW50LnZ1ZT8yN2VkIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9mcm9udGVuZC9jb21wb25lbnRzL0V4YW1wbGVDb21wb25lbnQudnVlP2QyYmUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlL2Rpc3QvdnVlLmVzbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG4gICAgPHNwYW4+TGFyYXZlbCBCb2lsZXJwbGF0ZTwvc3Bhbj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBtb3VudGVkKCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0NvbXBvbmVudCBtb3VudGVkLicpXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiByZW5kZXIoKSB7XG4gIHZhciBfdm0gPSB0aGlzLFxuICAgIF9jID0gX3ZtLl9zZWxmLl9jXG4gIHJldHVybiBfYyhcInNwYW5cIiwgW192bS5fdihcIkxhcmF2ZWwgQm9pbGVycGxhdGVcIildKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5yZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWVcblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIndpbmRvdy5fID0gcmVxdWlyZSgnbG9kYXNoJyk7XG53aW5kb3cuU3dhbCA9IHJlcXVpcmUoJ3N3ZWV0YWxlcnQyJyk7XG5cbi8qKlxuICogV2UnbGwgbG9hZCBqUXVlcnkgYW5kIHRoZSBCb290c3RyYXAgalF1ZXJ5IHBsdWdpbiB3aGljaCBwcm92aWRlcyBzdXBwb3J0XG4gKiBmb3IgSmF2YVNjcmlwdCBiYXNlZCBCb290c3RyYXAgZmVhdHVyZXMgc3VjaCBhcyBtb2RhbHMgYW5kIHRhYnMuIFRoaXNcbiAqIGNvZGUgbWF5IGJlIG1vZGlmaWVkIHRvIGZpdCB0aGUgc3BlY2lmaWMgbmVlZHMgb2YgeW91ciBhcHBsaWNhdGlvbi5cbiAqL1xuXG50cnkge1xuICAgIHdpbmRvdy5Qb3BwZXIgPSByZXF1aXJlKCdwb3BwZXIuanMnKS5kZWZhdWx0O1xuICAgIHdpbmRvdy4kID0gd2luZG93LmpRdWVyeSA9IHJlcXVpcmUoJ2pxdWVyeScpO1xuXG4gICAgcmVxdWlyZSgnYm9vdHN0cmFwJyk7XG59IGNhdGNoIChlKSB7fVxuXG4vKipcbiAqIFdlJ2xsIGxvYWQgdGhlIGF4aW9zIEhUVFAgbGlicmFyeSB3aGljaCBhbGxvd3MgdXMgdG8gZWFzaWx5IGlzc3VlIHJlcXVlc3RzXG4gKiB0byBvdXIgTGFyYXZlbCBiYWNrLWVuZC4gVGhpcyBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyBzZW5kaW5nIHRoZVxuICogQ1NSRiB0b2tlbiBhcyBhIGhlYWRlciBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgdGhlIFwiWFNSRlwiIHRva2VuIGNvb2tpZS5cbiAqL1xuXG53aW5kb3cuYXhpb3MgPSByZXF1aXJlKCdheGlvcycpO1xuXG53aW5kb3cuYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtUmVxdWVzdGVkLVdpdGgnXSA9ICdYTUxIdHRwUmVxdWVzdCc7XG5cbi8qKlxuICogRWNobyBleHBvc2VzIGFuIGV4cHJlc3NpdmUgQVBJIGZvciBzdWJzY3JpYmluZyB0byBjaGFubmVscyBhbmQgbGlzdGVuaW5nXG4gKiBmb3IgZXZlbnRzIHRoYXQgYXJlIGJyb2FkY2FzdCBieSBMYXJhdmVsLiBFY2hvIGFuZCBldmVudCBicm9hZGNhc3RpbmdcbiAqIGFsbG93cyB5b3VyIHRlYW0gdG8gZWFzaWx5IGJ1aWxkIHJvYnVzdCByZWFsLXRpbWUgd2ViIGFwcGxpY2F0aW9ucy5cbiAqL1xuXG4vLyBpbXBvcnQgRWNobyBmcm9tICdsYXJhdmVsLWVjaG8nO1xuXG4vLyB3aW5kb3cuUHVzaGVyID0gcmVxdWlyZSgncHVzaGVyLWpzJyk7XG5cbi8vIHdpbmRvdy5FY2hvID0gbmV3IEVjaG8oe1xuLy8gICAgIGJyb2FkY2FzdGVyOiAncHVzaGVyJyxcbi8vICAgICBrZXk6IHByb2Nlc3MuZW52Lk1JWF9QVVNIRVJfQVBQX0tFWSxcbi8vICAgICBjbHVzdGVyOiBwcm9jZXNzLmVudi5NSVhfUFVTSEVSX0FQUF9DTFVTVEVSLFxuLy8gICAgIGVuY3J5cHRlZDogdHJ1ZVxuLy8gfSk7XG4iLCIvKipcbiAqIEZpcnN0IHdlIHdpbGwgbG9hZCBhbGwgb2YgdGhpcyBwcm9qZWN0J3MgSmF2YVNjcmlwdCBkZXBlbmRlbmNpZXMgd2hpY2hcbiAqIGluY2x1ZGVzIFZ1ZSBhbmQgb3RoZXIgbGlicmFyaWVzLiBJdCBpcyBhIGdyZWF0IHN0YXJ0aW5nIHBvaW50IHdoZW5cbiAqIGJ1aWxkaW5nIHJvYnVzdCwgcG93ZXJmdWwgd2ViIGFwcGxpY2F0aW9ucyB1c2luZyBWdWUgYW5kIExhcmF2ZWwuXG4gKi9cblxucmVxdWlyZSgnLi4vYm9vdHN0cmFwJyk7XG5yZXF1aXJlKCcuLi9wbHVnaW5zJyk7XG5cbmltcG9ydCBWdWUgZnJvbSAndnVlJztcblxuLyoqXG4gKiBUaGUgZm9sbG93aW5nIGJsb2NrIG9mIGNvZGUgbWF5IGJlIHVzZWQgdG8gYXV0b21hdGljYWxseSByZWdpc3RlciB5b3VyXG4gKiBWdWUgY29tcG9uZW50cy4gSXQgd2lsbCByZWN1cnNpdmVseSBzY2FuIHRoaXMgZGlyZWN0b3J5IGZvciB0aGUgVnVlXG4gKiBjb21wb25lbnRzIGFuZCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyIHRoZW0gd2l0aCB0aGVpciBcImJhc2VuYW1lXCIuXG4gKlxuICogRWcuIC4vY29tcG9uZW50cy9FeGFtcGxlQ29tcG9uZW50LnZ1ZSAtPiA8ZXhhbXBsZS1jb21wb25lbnQ+PC9leGFtcGxlLWNvbXBvbmVudD5cbiAqL1xuXG4vLyBjb25zdCBmaWxlcyA9IHJlcXVpcmUuY29udGV4dCgnLi8nLCB0cnVlLCAvXFwudnVlJC9pKVxuLy8gZmlsZXMua2V5cygpLm1hcChrZXkgPT4gVnVlLmNvbXBvbmVudChrZXkuc3BsaXQoJy8nKS5wb3AoKS5zcGxpdCgnLicpWzBdLCBmaWxlcyhrZXkpLmRlZmF1bHQpKVxuXG5WdWUuY29tcG9uZW50KCdleGFtcGxlLWNvbXBvbmVudCcsIHJlcXVpcmUoJy4vY29tcG9uZW50cy9FeGFtcGxlQ29tcG9uZW50LnZ1ZScpLmRlZmF1bHQpO1xuXG4vKipcbiAqIE5leHQsIHdlIHdpbGwgY3JlYXRlIGEgZnJlc2ggVnVlIGFwcGxpY2F0aW9uIGluc3RhbmNlIGFuZCBhdHRhY2ggaXQgdG9cbiAqIHRoZSBwYWdlLiBUaGVuLCB5b3UgbWF5IGJlZ2luIGFkZGluZyBjb21wb25lbnRzIHRvIHRoaXMgYXBwbGljYXRpb25cbiAqIG9yIGN1c3RvbWl6ZSB0aGUgSmF2YVNjcmlwdCBzY2FmZm9sZGluZyB0byBmaXQgeW91ciB1bmlxdWUgbmVlZHMuXG4gKi9cblxuY29uc3QgYXBwID0gbmV3IFZ1ZSh7XG4gICAgZWw6ICcjYXBwJyxcbn0pO1xuIiwiLyoqXG4gKiBQbGFjZSBhbnkgalF1ZXJ5L2hlbHBlciBwbHVnaW5zIGluIGhlcmUuXG4gKi9cbiQoZnVuY3Rpb24gKCkge1xuICAgIC8qKlxuICAgICAqIENoZWNrYm94IHRyZWUgZm9yIHBlcm1pc3Npb24gc2VsZWN0aW5nXG4gICAgICovXG4gICAgbGV0IHBlcm1pc3Npb25UcmVlID0gJCgnLnBlcm1pc3Npb24tdHJlZSA6Y2hlY2tib3gnKTtcblxuICAgIHBlcm1pc3Npb25UcmVlLm9uKCdjbGljayBjaGFuZ2UnLCBmdW5jdGlvbiAoKXtcbiAgICAgICAgaWYoJCh0aGlzKS5pcygnOmNoZWNrZWQnKSkge1xuICAgICAgICAgICAgJCh0aGlzKS5zaWJsaW5ncygndWwnKS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS5hdHRyKCdjaGVja2VkJywgdHJ1ZSkuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICQodGhpcykuc2libGluZ3MoJ3VsJykuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykucmVtb3ZlQXR0cignY2hlY2tlZCcpLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHBlcm1pc3Npb25UcmVlLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICBpZigkKHRoaXMpLmlzKCc6Y2hlY2tlZCcpKSB7XG4gICAgICAgICAgICAkKHRoaXMpLnNpYmxpbmdzKCd1bCcpLmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLmF0dHIoJ2NoZWNrZWQnLCB0cnVlKS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlIHN1Ym1pdCBpbnB1dHMgaW4gdGhlIGdpdmVuIGZvcm1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb3JtXG4gICAgICovXG4gICAgZnVuY3Rpb24gZGlzYWJsZVN1Ym1pdEJ1dHRvbnMoZm9ybSkge1xuICAgICAgICBmb3JtLmZpbmQoJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nKS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpO1xuICAgICAgICBmb3JtLmZpbmQoJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJykuYXR0cignZGlzYWJsZWQnLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGUgdGhlIHN1Ym1pdCBpbnB1dHMgaW4gYSBnaXZlbiBmb3JtXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZm9ybVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVuYWJsZVN1Ym1pdEJ1dHRvbnMoZm9ybSkge1xuICAgICAgICBmb3JtLmZpbmQoJ2lucHV0W3R5cGU9XCJzdWJtaXRcIl0nKS5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpO1xuICAgICAgICBmb3JtLmZpbmQoJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJykucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlIGFsbCBzdWJtaXQgYnV0dG9ucyBvbmNlIGNsaWNrZWRcbiAgICAgKi9cbiAgICAkKCdmb3JtJykuc3VibWl0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZGlzYWJsZVN1Ym1pdEJ1dHRvbnMoJCh0aGlzKSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQWRkIGEgY29uZmlybWF0aW9uIHRvIGEgZGVsZXRlIGJ1dHRvbi9mb3JtXG4gICAgICovXG4gICAgJCgnYm9keScpLm9uKCdzdWJtaXQnLCAnZm9ybVtuYW1lPWRlbGV0ZS1pdGVtXScsIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBpdGVtPycsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICdDb25maXJtIERlbGV0ZScsXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICAgIGljb246ICd3YXJuaW5nJ1xuICAgICAgICB9KS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdCgpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGVuYWJsZVN1Ym1pdEJ1dHRvbnMoJCh0aGlzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pXG4gICAgICAgIC5vbignc3VibWl0JywgJ2Zvcm1bbmFtZT1jb25maXJtLWl0ZW1dJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyB0aGlzPycsXG4gICAgICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ0NvbnRpbnVlJyxcbiAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJtaXQoKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZVN1Ym1pdEJ1dHRvbnMoJCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5vbignY2xpY2snLCAnYVtuYW1lPWNvbmZpcm0taXRlbV0nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAvKipcbiAgICAgICAgICogQWRkIGFuICdhcmUgeW91IHN1cmUnIHBvcC11cCB0byBhbnkgYnV0dG9uL2xpbmtcbiAgICAgICAgICovXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZG8gdGhpcz8nLFxuICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnQ29udGludWUnLFxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICAgICAgICBpY29uOiAnaW5mbycsXG4gICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0LnZhbHVlICYmIHdpbmRvdy5sb2NhdGlvbi5hc3NpZ24oJCh0aGlzKS5hdHRyKCdocmVmJykpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIFJlbWVtYmVyIHRhYiBvbiBwYWdlIGxvYWRcbiAgICAkKCdhW2RhdGEtdG9nZ2xlPVwidGFiXCJdLCBhW2RhdGEtdG9nZ2xlPVwicGlsbFwiXScpLm9uKCdzaG93bi5icy50YWInLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBsZXQgaGFzaCA9ICQoZS50YXJnZXQpLmF0dHIoJ2hyZWYnKTtcbiAgICAgICAgaGlzdG9yeS5wdXNoU3RhdGUgPyBoaXN0b3J5LnB1c2hTdGF0ZShudWxsLCBudWxsLCBoYXNoKSA6IGxvY2F0aW9uLmhhc2ggPSBoYXNoO1xuICAgIH0pO1xuXG4gICAgbGV0IGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaDtcbiAgICBpZiAoaGFzaCkge1xuICAgICAgICAkKCcubmF2LWxpbmtbaHJlZj1cIicraGFzaCsnXCJdJykudGFiKCdzaG93Jyk7XG4gICAgfVxuXG4gICAgLy8gRW5hYmxlIHRvb2x0aXBzIGV2ZXJ5d2hlcmVcbiAgICAkKCdbZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJdJykudG9vbHRpcCgpO1xufSk7XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcbnZhciBwcm9jZXNzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XG4vLyBkb24ndCBicmVhayB0aGluZ3MuICBCdXQgd2UgbmVlZCB0byB3cmFwIGl0IGluIGEgdHJ5IGNhdGNoIGluIGNhc2UgaXQgaXNcbi8vIHdyYXBwZWQgaW4gc3RyaWN0IG1vZGUgY29kZSB3aGljaCBkb2Vzbid0IGRlZmluZSBhbnkgZ2xvYmFscy4gIEl0J3MgaW5zaWRlIGFcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXG5cbnZhciBjYWNoZWRTZXRUaW1lb3V0O1xudmFyIGNhY2hlZENsZWFyVGltZW91dDtcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgIH1cbn0gKCkpXG5mdW5jdGlvbiBydW5UaW1lb3V0KGZ1bikge1xuICAgIGlmIChjYWNoZWRTZXRUaW1lb3V0ID09PSBzZXRUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkU2V0VGltZW91dCA9PT0gZGVmYXVsdFNldFRpbW91dCB8fCAhY2FjaGVkU2V0VGltZW91dCkgJiYgc2V0VGltZW91dCkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dChmdW4sIDApO1xuICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCwgZnVuLCAwKTtcbiAgICAgICAgfSBjYXRjaChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsIGZ1biwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KG1hcmtlcikge1xuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICAvLyBpZiBjbGVhclRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGRlZmF1bHRDbGVhclRpbWVvdXQgfHwgIWNhY2hlZENsZWFyVGltZW91dCkgJiYgY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCAgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xuICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yLlxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsIG1hcmtlcik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG59XG52YXIgcXVldWUgPSBbXTtcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xudmFyIGN1cnJlbnRRdWV1ZTtcbnZhciBxdWV1ZUluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpIHtcbiAgICBpZiAoIWRyYWluaW5nIHx8ICFjdXJyZW50UXVldWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHF1ZXVlID0gY3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgIH1cbiAgICBpZiAocXVldWUubGVuZ3RoKSB7XG4gICAgICAgIGRyYWluUXVldWUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRyYWluUXVldWUoKSB7XG4gICAgaWYgKGRyYWluaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHRpbWVvdXQgPSBydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7XG4gICAgZHJhaW5pbmcgPSB0cnVlO1xuXG4gICAgdmFyIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZShsZW4pIHtcbiAgICAgICAgY3VycmVudFF1ZXVlID0gcXVldWU7XG4gICAgICAgIHF1ZXVlID0gW107XG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVldWUpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGN1cnJlbnRRdWV1ZSA9IG51bGw7XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBydW5DbGVhclRpbWVvdXQodGltZW91dCk7XG59XG5cbnByb2Nlc3MubmV4dFRpY2sgPSBmdW5jdGlvbiAoZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn07XG5cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG5wcm9jZXNzLnRpdGxlID0gJ2Jyb3dzZXInO1xucHJvY2Vzcy5icm93c2VyID0gdHJ1ZTtcbnByb2Nlc3MuZW52ID0ge307XG5wcm9jZXNzLmFyZ3YgPSBbXTtcbnByb2Nlc3MudmVyc2lvbiA9ICcnOyAvLyBlbXB0eSBzdHJpbmcgdG8gYXZvaWQgcmVnZXhwIGlzc3Vlc1xucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBub29wKCkge31cblxucHJvY2Vzcy5vbiA9IG5vb3A7XG5wcm9jZXNzLmFkZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3Mub25jZSA9IG5vb3A7XG5wcm9jZXNzLm9mZiA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUxpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcbnByb2Nlc3MuZW1pdCA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xuXG5wcm9jZXNzLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBbXSB9XG5cbnByb2Nlc3MuYmluZGluZyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcblxucHJvY2Vzcy5jd2QgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnLycgfTtcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9FeGFtcGxlQ29tcG9uZW50LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xM2JmNDQyZCZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9FeGFtcGxlQ29tcG9uZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vRXhhbXBsZUNvbXBvbmVudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9Vc2Vycy9udXdhbmphbGl5YWdvZGEvRGVza3RvcC9QZXJhQ29tL2RlbnRhbC1wYXRpZW50LW1hbmFnZW1lbnQtc3lzdGVtL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qc1wiKVxuICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSlcbiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7XG4gICAgbW9kdWxlLmhvdC5hY2NlcHQoKVxuICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzEzYmY0NDJkJykpIHtcbiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzEzYmY0NDJkJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZWxvYWQoJzEzYmY0NDJkJywgY29tcG9uZW50Lm9wdGlvbnMpXG4gICAgfVxuICAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiLi9FeGFtcGxlQ29tcG9uZW50LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xM2JmNDQyZCZcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgYXBpLnJlcmVuZGVyKCcxM2JmNDQyZCcsIHtcbiAgICAgICAgcmVuZGVyOiByZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicmVzb3VyY2VzL2pzL2Zyb250ZW5kL2NvbXBvbmVudHMvRXhhbXBsZUNvbXBvbmVudC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9jbG9uZWRSdWxlU2V0LTUudXNlWzBdIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRXhhbXBsZUNvbXBvbmVudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P2Nsb25lZFJ1bGVTZXQtNS51c2VbMF0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9FeGFtcGxlQ29tcG9uZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9jbG9uZWRSdWxlU2V0LTUudXNlWzBdIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPz9ydWxlU2V0WzFdLnJ1bGVzWzJdIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRXhhbXBsZUNvbXBvbmVudC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTNiZjQ0MmQmXCIiLCIvKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9cblxuLy8gSU1QT1JUQU5UOiBEbyBOT1QgdXNlIEVTMjAxNSBmZWF0dXJlcyBpbiB0aGlzIGZpbGUgKGV4Y2VwdCBmb3IgbW9kdWxlcykuXG4vLyBUaGlzIG1vZHVsZSBpcyBhIHJ1bnRpbWUgdXRpbGl0eSBmb3IgY2xlYW5lciBjb21wb25lbnQgbW9kdWxlIG91dHB1dCBhbmQgd2lsbFxuLy8gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbmFsIHdlYnBhY2sgdXNlciBidW5kbGUuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5vcm1hbGl6ZUNvbXBvbmVudChcbiAgc2NyaXB0RXhwb3J0cyxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZ1bmN0aW9uYWxUZW1wbGF0ZSxcbiAgaW5qZWN0U3R5bGVzLFxuICBzY29wZUlkLFxuICBtb2R1bGVJZGVudGlmaWVyIC8qIHNlcnZlciBvbmx5ICovLFxuICBzaGFkb3dNb2RlIC8qIHZ1ZS1jbGkgb25seSAqL1xuKSB7XG4gIC8vIFZ1ZS5leHRlbmQgY29uc3RydWN0b3IgZXhwb3J0IGludGVyb3BcbiAgdmFyIG9wdGlvbnMgPVxuICAgIHR5cGVvZiBzY3JpcHRFeHBvcnRzID09PSAnZnVuY3Rpb24nID8gc2NyaXB0RXhwb3J0cy5vcHRpb25zIDogc2NyaXB0RXhwb3J0c1xuXG4gIC8vIHJlbmRlciBmdW5jdGlvbnNcbiAgaWYgKHJlbmRlcikge1xuICAgIG9wdGlvbnMucmVuZGVyID0gcmVuZGVyXG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnNcbiAgICBvcHRpb25zLl9jb21waWxlZCA9IHRydWVcbiAgfVxuXG4gIC8vIGZ1bmN0aW9uYWwgdGVtcGxhdGVcbiAgaWYgKGZ1bmN0aW9uYWxUZW1wbGF0ZSkge1xuICAgIG9wdGlvbnMuZnVuY3Rpb25hbCA9IHRydWVcbiAgfVxuXG4gIC8vIHNjb3BlZElkXG4gIGlmIChzY29wZUlkKSB7XG4gICAgb3B0aW9ucy5fc2NvcGVJZCA9ICdkYXRhLXYtJyArIHNjb3BlSWRcbiAgfVxuXG4gIHZhciBob29rXG4gIGlmIChtb2R1bGVJZGVudGlmaWVyKSB7XG4gICAgLy8gc2VydmVyIGJ1aWxkXG4gICAgaG9vayA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICAvLyAyLjMgaW5qZWN0aW9uXG4gICAgICBjb250ZXh0ID1cbiAgICAgICAgY29udGV4dCB8fCAvLyBjYWNoZWQgY2FsbFxuICAgICAgICAodGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4dCkgfHwgLy8gc3RhdGVmdWxcbiAgICAgICAgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LiR2bm9kZSAmJiB0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCkgLy8gZnVuY3Rpb25hbFxuICAgICAgLy8gMi4yIHdpdGggcnVuSW5OZXdDb250ZXh0OiB0cnVlXG4gICAgICBpZiAoIWNvbnRleHQgJiYgdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnRleHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fXG4gICAgICB9XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHN0eWxlc1xuICAgICAgaWYgKGluamVjdFN0eWxlcykge1xuICAgICAgICBpbmplY3RTdHlsZXMuY2FsbCh0aGlzLCBjb250ZXh0KVxuICAgICAgfVxuICAgICAgLy8gcmVnaXN0ZXIgY29tcG9uZW50IG1vZHVsZSBpZGVudGlmaWVyIGZvciBhc3luYyBjaHVuayBpbmZlcnJlbmNlXG4gICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cykge1xuICAgICAgICBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQobW9kdWxlSWRlbnRpZmllcilcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdXNlZCBieSBzc3IgaW4gY2FzZSBjb21wb25lbnQgaXMgY2FjaGVkIGFuZCBiZWZvcmVDcmVhdGVcbiAgICAvLyBuZXZlciBnZXRzIGNhbGxlZFxuICAgIG9wdGlvbnMuX3NzclJlZ2lzdGVyID0gaG9va1xuICB9IGVsc2UgaWYgKGluamVjdFN0eWxlcykge1xuICAgIGhvb2sgPSBzaGFkb3dNb2RlXG4gICAgICA/IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpbmplY3RTdHlsZXMuY2FsbChcbiAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICAob3B0aW9ucy5mdW5jdGlvbmFsID8gdGhpcy5wYXJlbnQgOiB0aGlzKS4kcm9vdC4kb3B0aW9ucy5zaGFkb3dSb290XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICA6IGluamVjdFN0eWxlc1xuICB9XG5cbiAgaWYgKGhvb2spIHtcbiAgICBpZiAob3B0aW9ucy5mdW5jdGlvbmFsKSB7XG4gICAgICAvLyBmb3IgdGVtcGxhdGUtb25seSBob3QtcmVsb2FkIGJlY2F1c2UgaW4gdGhhdCBjYXNlIHRoZSByZW5kZXIgZm4gZG9lc24ndFxuICAgICAgLy8gZ28gdGhyb3VnaCB0aGUgbm9ybWFsaXplclxuICAgICAgb3B0aW9ucy5faW5qZWN0U3R5bGVzID0gaG9va1xuICAgICAgLy8gcmVnaXN0ZXIgZm9yIGZ1bmN0aW9uYWwgY29tcG9uZW50IGluIHZ1ZSBmaWxlXG4gICAgICB2YXIgb3JpZ2luYWxSZW5kZXIgPSBvcHRpb25zLnJlbmRlclxuICAgICAgb3B0aW9ucy5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXJXaXRoU3R5bGVJbmplY3Rpb24oaCwgY29udGV4dCkge1xuICAgICAgICBob29rLmNhbGwoY29udGV4dClcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVuZGVyKGgsIGNvbnRleHQpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgcmVnaXN0cmF0aW9uIGFzIGJlZm9yZUNyZWF0ZSBob29rXG4gICAgICB2YXIgZXhpc3RpbmcgPSBvcHRpb25zLmJlZm9yZUNyZWF0ZVxuICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUgPSBleGlzdGluZyA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaykgOiBbaG9va11cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV4cG9ydHM6IHNjcmlwdEV4cG9ydHMsXG4gICAgb3B0aW9uczogb3B0aW9uc1xuICB9XG59XG4iLCIvKiFcbiAqIFZ1ZS5qcyB2Mi43LjE0XG4gKiAoYykgMjAxNC0yMDIyIEV2YW4gWW91XG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbnZhciBlbXB0eU9iamVjdCA9IE9iamVjdC5mcmVlemUoe30pO1xudmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xuLy8gVGhlc2UgaGVscGVycyBwcm9kdWNlIGJldHRlciBWTSBjb2RlIGluIEpTIGVuZ2luZXMgZHVlIHRvIHRoZWlyXG4vLyBleHBsaWNpdG5lc3MgYW5kIGZ1bmN0aW9uIGlubGluaW5nLlxuZnVuY3Rpb24gaXNVbmRlZih2KSB7XG4gICAgcmV0dXJuIHYgPT09IHVuZGVmaW5lZCB8fCB2ID09PSBudWxsO1xufVxuZnVuY3Rpb24gaXNEZWYodikge1xuICAgIHJldHVybiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzVHJ1ZSh2KSB7XG4gICAgcmV0dXJuIHYgPT09IHRydWU7XG59XG5mdW5jdGlvbiBpc0ZhbHNlKHYpIHtcbiAgICByZXR1cm4gdiA9PT0gZmFsc2U7XG59XG4vKipcbiAqIENoZWNrIGlmIHZhbHVlIGlzIHByaW1pdGl2ZS5cbiAqL1xuZnVuY3Rpb24gaXNQcmltaXRpdmUodmFsdWUpIHtcbiAgICByZXR1cm4gKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHxcbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fFxuICAgICAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnc3ltYm9sJyB8fFxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyk7XG59XG5mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cbi8qKlxuICogUXVpY2sgb2JqZWN0IGNoZWNrIC0gdGhpcyBpcyBwcmltYXJpbHkgdXNlZCB0byB0ZWxsXG4gKiBvYmplY3RzIGZyb20gcHJpbWl0aXZlIHZhbHVlcyB3aGVuIHdlIGtub3cgdGhlIHZhbHVlXG4gKiBpcyBhIEpTT04tY29tcGxpYW50IHR5cGUuXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0KG9iaikge1xuICAgIHJldHVybiBvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCc7XG59XG4vKipcbiAqIEdldCB0aGUgcmF3IHR5cGUgc3RyaW5nIG9mIGEgdmFsdWUsIGUuZy4sIFtvYmplY3QgT2JqZWN0XS5cbiAqL1xudmFyIF90b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5mdW5jdGlvbiB0b1Jhd1R5cGUodmFsdWUpIHtcbiAgICByZXR1cm4gX3RvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKTtcbn1cbi8qKlxuICogU3RyaWN0IG9iamVjdCB0eXBlIGNoZWNrLiBPbmx5IHJldHVybnMgdHJ1ZVxuICogZm9yIHBsYWluIEphdmFTY3JpcHQgb2JqZWN0cy5cbiAqL1xuZnVuY3Rpb24gaXNQbGFpbk9iamVjdChvYmopIHtcbiAgICByZXR1cm4gX3RvU3RyaW5nLmNhbGwob2JqKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XG59XG5mdW5jdGlvbiBpc1JlZ0V4cCh2KSB7XG4gICAgcmV0dXJuIF90b1N0cmluZy5jYWxsKHYpID09PSAnW29iamVjdCBSZWdFeHBdJztcbn1cbi8qKlxuICogQ2hlY2sgaWYgdmFsIGlzIGEgdmFsaWQgYXJyYXkgaW5kZXguXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRBcnJheUluZGV4KHZhbCkge1xuICAgIHZhciBuID0gcGFyc2VGbG9hdChTdHJpbmcodmFsKSk7XG4gICAgcmV0dXJuIG4gPj0gMCAmJiBNYXRoLmZsb29yKG4pID09PSBuICYmIGlzRmluaXRlKHZhbCk7XG59XG5mdW5jdGlvbiBpc1Byb21pc2UodmFsKSB7XG4gICAgcmV0dXJuIChpc0RlZih2YWwpICYmXG4gICAgICAgIHR5cGVvZiB2YWwudGhlbiA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0eXBlb2YgdmFsLmNhdGNoID09PSAnZnVuY3Rpb24nKTtcbn1cbi8qKlxuICogQ29udmVydCBhIHZhbHVlIHRvIGEgc3RyaW5nIHRoYXQgaXMgYWN0dWFsbHkgcmVuZGVyZWQuXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nKHZhbCkge1xuICAgIHJldHVybiB2YWwgPT0gbnVsbFxuICAgICAgICA/ICcnXG4gICAgICAgIDogQXJyYXkuaXNBcnJheSh2YWwpIHx8IChpc1BsYWluT2JqZWN0KHZhbCkgJiYgdmFsLnRvU3RyaW5nID09PSBfdG9TdHJpbmcpXG4gICAgICAgICAgICA/IEpTT04uc3RyaW5naWZ5KHZhbCwgbnVsbCwgMilcbiAgICAgICAgICAgIDogU3RyaW5nKHZhbCk7XG59XG4vKipcbiAqIENvbnZlcnQgYW4gaW5wdXQgdmFsdWUgdG8gYSBudW1iZXIgZm9yIHBlcnNpc3RlbmNlLlxuICogSWYgdGhlIGNvbnZlcnNpb24gZmFpbHMsIHJldHVybiBvcmlnaW5hbCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHRvTnVtYmVyKHZhbCkge1xuICAgIHZhciBuID0gcGFyc2VGbG9hdCh2YWwpO1xuICAgIHJldHVybiBpc05hTihuKSA/IHZhbCA6IG47XG59XG4vKipcbiAqIE1ha2UgYSBtYXAgYW5kIHJldHVybiBhIGZ1bmN0aW9uIGZvciBjaGVja2luZyBpZiBhIGtleVxuICogaXMgaW4gdGhhdCBtYXAuXG4gKi9cbmZ1bmN0aW9uIG1ha2VNYXAoc3RyLCBleHBlY3RzTG93ZXJDYXNlKSB7XG4gICAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdmFyIGxpc3QgPSBzdHIuc3BsaXQoJywnKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbWFwW2xpc3RbaV1dID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGV4cGVjdHNMb3dlckNhc2UgPyBmdW5jdGlvbiAodmFsKSB7IHJldHVybiBtYXBbdmFsLnRvTG93ZXJDYXNlKCldOyB9IDogZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gbWFwW3ZhbF07IH07XG59XG4vKipcbiAqIENoZWNrIGlmIGEgdGFnIGlzIGEgYnVpbHQtaW4gdGFnLlxuICovXG52YXIgaXNCdWlsdEluVGFnID0gbWFrZU1hcCgnc2xvdCxjb21wb25lbnQnLCB0cnVlKTtcbi8qKlxuICogQ2hlY2sgaWYgYW4gYXR0cmlidXRlIGlzIGEgcmVzZXJ2ZWQgYXR0cmlidXRlLlxuICovXG52YXIgaXNSZXNlcnZlZEF0dHJpYnV0ZSA9IG1ha2VNYXAoJ2tleSxyZWYsc2xvdCxzbG90LXNjb3BlLGlzJyk7XG4vKipcbiAqIFJlbW92ZSBhbiBpdGVtIGZyb20gYW4gYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZSQyKGFyciwgaXRlbSkge1xuICAgIHZhciBsZW4gPSBhcnIubGVuZ3RoO1xuICAgIGlmIChsZW4pIHtcbiAgICAgICAgLy8gZmFzdCBwYXRoIGZvciB0aGUgb25seSAvIGxhc3QgaXRlbVxuICAgICAgICBpZiAoaXRlbSA9PT0gYXJyW2xlbiAtIDFdKSB7XG4gICAgICAgICAgICBhcnIubGVuZ3RoID0gbGVuIC0gMTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW5kZXggPSBhcnIuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiBhcnIuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKlxuICogQ2hlY2sgd2hldGhlciBhbiBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eS5cbiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbmZ1bmN0aW9uIGhhc093bihvYmosIGtleSkge1xuICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KTtcbn1cbi8qKlxuICogQ3JlYXRlIGEgY2FjaGVkIHZlcnNpb24gb2YgYSBwdXJlIGZ1bmN0aW9uLlxuICovXG5mdW5jdGlvbiBjYWNoZWQoZm4pIHtcbiAgICB2YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHJldHVybiBmdW5jdGlvbiBjYWNoZWRGbihzdHIpIHtcbiAgICAgICAgdmFyIGhpdCA9IGNhY2hlW3N0cl07XG4gICAgICAgIHJldHVybiBoaXQgfHwgKGNhY2hlW3N0cl0gPSBmbihzdHIpKTtcbiAgICB9O1xufVxuLyoqXG4gKiBDYW1lbGl6ZSBhIGh5cGhlbi1kZWxpbWl0ZWQgc3RyaW5nLlxuICovXG52YXIgY2FtZWxpemVSRSA9IC8tKFxcdykvZztcbnZhciBjYW1lbGl6ZSA9IGNhY2hlZChmdW5jdGlvbiAoc3RyKSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKGNhbWVsaXplUkUsIGZ1bmN0aW9uIChfLCBjKSB7IHJldHVybiAoYyA/IGMudG9VcHBlckNhc2UoKSA6ICcnKTsgfSk7XG59KTtcbi8qKlxuICogQ2FwaXRhbGl6ZSBhIHN0cmluZy5cbiAqL1xudmFyIGNhcGl0YWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICAgIHJldHVybiBzdHIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHIuc2xpY2UoMSk7XG59KTtcbi8qKlxuICogSHlwaGVuYXRlIGEgY2FtZWxDYXNlIHN0cmluZy5cbiAqL1xudmFyIGh5cGhlbmF0ZVJFID0gL1xcQihbQS1aXSkvZztcbnZhciBoeXBoZW5hdGUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZShoeXBoZW5hdGVSRSwgJy0kMScpLnRvTG93ZXJDYXNlKCk7XG59KTtcbi8qKlxuICogU2ltcGxlIGJpbmQgcG9seWZpbGwgZm9yIGVudmlyb25tZW50cyB0aGF0IGRvIG5vdCBzdXBwb3J0IGl0LFxuICogZS5nLiwgUGhhbnRvbUpTIDEueC4gVGVjaG5pY2FsbHksIHdlIGRvbid0IG5lZWQgdGhpcyBhbnltb3JlXG4gKiBzaW5jZSBuYXRpdmUgYmluZCBpcyBub3cgcGVyZm9ybWFudCBlbm91Z2ggaW4gbW9zdCBicm93c2Vycy5cbiAqIEJ1dCByZW1vdmluZyBpdCB3b3VsZCBtZWFuIGJyZWFraW5nIGNvZGUgdGhhdCB3YXMgYWJsZSB0byBydW4gaW5cbiAqIFBoYW50b21KUyAxLngsIHNvIHRoaXMgbXVzdCBiZSBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gcG9seWZpbGxCaW5kKGZuLCBjdHgpIHtcbiAgICBmdW5jdGlvbiBib3VuZEZuKGEpIHtcbiAgICAgICAgdmFyIGwgPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgICByZXR1cm4gbFxuICAgICAgICAgICAgPyBsID4gMVxuICAgICAgICAgICAgICAgID8gZm4uYXBwbHkoY3R4LCBhcmd1bWVudHMpXG4gICAgICAgICAgICAgICAgOiBmbi5jYWxsKGN0eCwgYSlcbiAgICAgICAgICAgIDogZm4uY2FsbChjdHgpO1xuICAgIH1cbiAgICBib3VuZEZuLl9sZW5ndGggPSBmbi5sZW5ndGg7XG4gICAgcmV0dXJuIGJvdW5kRm47XG59XG5mdW5jdGlvbiBuYXRpdmVCaW5kKGZuLCBjdHgpIHtcbiAgICByZXR1cm4gZm4uYmluZChjdHgpO1xufVxuLy8gQHRzLWV4cGVjdC1lcnJvciBiaW5kIGNhbm5vdCBiZSBgdW5kZWZpbmVkYFxudmFyIGJpbmQkMSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID8gbmF0aXZlQmluZCA6IHBvbHlmaWxsQmluZDtcbi8qKlxuICogQ29udmVydCBhbiBBcnJheS1saWtlIG9iamVjdCB0byBhIHJlYWwgQXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHRvQXJyYXkobGlzdCwgc3RhcnQpIHtcbiAgICBzdGFydCA9IHN0YXJ0IHx8IDA7XG4gICAgdmFyIGkgPSBsaXN0Lmxlbmd0aCAtIHN0YXJ0O1xuICAgIHZhciByZXQgPSBuZXcgQXJyYXkoaSk7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgICByZXRbaV0gPSBsaXN0W2kgKyBzdGFydF07XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG59XG4vKipcbiAqIE1peCBwcm9wZXJ0aWVzIGludG8gdGFyZ2V0IG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gZXh0ZW5kKHRvLCBfZnJvbSkge1xuICAgIGZvciAodmFyIGtleSBpbiBfZnJvbSkge1xuICAgICAgICB0b1trZXldID0gX2Zyb21ba2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHRvO1xufVxuLyoqXG4gKiBNZXJnZSBhbiBBcnJheSBvZiBPYmplY3RzIGludG8gYSBzaW5nbGUgT2JqZWN0LlxuICovXG5mdW5jdGlvbiB0b09iamVjdChhcnIpIHtcbiAgICB2YXIgcmVzID0ge307XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGFycltpXSkge1xuICAgICAgICAgICAgZXh0ZW5kKHJlcywgYXJyW2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cbi8qKlxuICogUGVyZm9ybSBubyBvcGVyYXRpb24uXG4gKiBTdHViYmluZyBhcmdzIHRvIG1ha2UgRmxvdyBoYXBweSB3aXRob3V0IGxlYXZpbmcgdXNlbGVzcyB0cmFuc3BpbGVkIGNvZGVcbiAqIHdpdGggLi4ucmVzdCAoaHR0cHM6Ly9mbG93Lm9yZy9ibG9nLzIwMTcvMDUvMDcvU3RyaWN0LUZ1bmN0aW9uLUNhbGwtQXJpdHkvKS5cbiAqL1xuZnVuY3Rpb24gbm9vcChhLCBiLCBjKSB7IH1cbi8qKlxuICogQWx3YXlzIHJldHVybiBmYWxzZS5cbiAqL1xudmFyIG5vID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsgcmV0dXJuIGZhbHNlOyB9O1xuLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtdmFycyAqL1xuLyoqXG4gKiBSZXR1cm4gdGhlIHNhbWUgdmFsdWUuXG4gKi9cbnZhciBpZGVudGl0eSA9IGZ1bmN0aW9uIChfKSB7IHJldHVybiBfOyB9O1xuLyoqXG4gKiBHZW5lcmF0ZSBhIHN0cmluZyBjb250YWluaW5nIHN0YXRpYyBrZXlzIGZyb20gY29tcGlsZXIgbW9kdWxlcy5cbiAqL1xuZnVuY3Rpb24gZ2VuU3RhdGljS2V5cyQxKG1vZHVsZXMpIHtcbiAgICByZXR1cm4gbW9kdWxlc1xuICAgICAgICAucmVkdWNlKGZ1bmN0aW9uIChrZXlzLCBtKSB7XG4gICAgICAgIHJldHVybiBrZXlzLmNvbmNhdChtLnN0YXRpY0tleXMgfHwgW10pO1xuICAgIH0sIFtdKVxuICAgICAgICAuam9pbignLCcpO1xufVxuLyoqXG4gKiBDaGVjayBpZiB0d28gdmFsdWVzIGFyZSBsb29zZWx5IGVxdWFsIC0gdGhhdCBpcyxcbiAqIGlmIHRoZXkgYXJlIHBsYWluIG9iamVjdHMsIGRvIHRoZXkgaGF2ZSB0aGUgc2FtZSBzaGFwZT9cbiAqL1xuZnVuY3Rpb24gbG9vc2VFcXVhbChhLCBiKSB7XG4gICAgaWYgKGEgPT09IGIpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIHZhciBpc09iamVjdEEgPSBpc09iamVjdChhKTtcbiAgICB2YXIgaXNPYmplY3RCID0gaXNPYmplY3QoYik7XG4gICAgaWYgKGlzT2JqZWN0QSAmJiBpc09iamVjdEIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBpc0FycmF5QSA9IEFycmF5LmlzQXJyYXkoYSk7XG4gICAgICAgICAgICB2YXIgaXNBcnJheUIgPSBBcnJheS5pc0FycmF5KGIpO1xuICAgICAgICAgICAgaWYgKGlzQXJyYXlBICYmIGlzQXJyYXlCKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChhLmxlbmd0aCA9PT0gYi5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICAgICAgYS5ldmVyeShmdW5jdGlvbiAoZSwgaSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvb3NlRXF1YWwoZSwgYltpXSk7XG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGEgaW5zdGFuY2VvZiBEYXRlICYmIGIgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGEuZ2V0VGltZSgpID09PSBiLmdldFRpbWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCFpc0FycmF5QSAmJiAhaXNBcnJheUIpIHtcbiAgICAgICAgICAgICAgICB2YXIga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgICAgICAgICAgICAgICB2YXIga2V5c0IgPSBPYmplY3Qua2V5cyhiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGtleXNBLmxlbmd0aCA9PT0ga2V5c0IubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIGtleXNBLmV2ZXJ5KGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb29zZUVxdWFsKGFba2V5XSwgYltrZXldKTtcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoIWlzT2JqZWN0QSAmJiAhaXNPYmplY3RCKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcoYSkgPT09IFN0cmluZyhiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4vKipcbiAqIFJldHVybiB0aGUgZmlyc3QgaW5kZXggYXQgd2hpY2ggYSBsb29zZWx5IGVxdWFsIHZhbHVlIGNhbiBiZVxuICogZm91bmQgaW4gdGhlIGFycmF5IChpZiB2YWx1ZSBpcyBhIHBsYWluIG9iamVjdCwgdGhlIGFycmF5IG11c3RcbiAqIGNvbnRhaW4gYW4gb2JqZWN0IG9mIHRoZSBzYW1lIHNoYXBlKSwgb3IgLTEgaWYgaXQgaXMgbm90IHByZXNlbnQuXG4gKi9cbmZ1bmN0aW9uIGxvb3NlSW5kZXhPZihhcnIsIHZhbCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChsb29zZUVxdWFsKGFycltpXSwgdmFsKSlcbiAgICAgICAgICAgIHJldHVybiBpO1xuICAgIH1cbiAgICByZXR1cm4gLTE7XG59XG4vKipcbiAqIEVuc3VyZSBhIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IG9uY2UuXG4gKi9cbmZ1bmN0aW9uIG9uY2UoZm4pIHtcbiAgICB2YXIgY2FsbGVkID0gZmFsc2U7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCFjYWxsZWQpIHtcbiAgICAgICAgICAgIGNhbGxlZCA9IHRydWU7XG4gICAgICAgICAgICBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL09iamVjdC9pcyNwb2x5ZmlsbFxuZnVuY3Rpb24gaGFzQ2hhbmdlZCh4LCB5KSB7XG4gICAgaWYgKHggPT09IHkpIHtcbiAgICAgICAgcmV0dXJuIHggPT09IDAgJiYgMSAvIHggIT09IDEgLyB5O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHggPT09IHggfHwgeSA9PT0geTtcbiAgICB9XG59XG5cbnZhciBTU1JfQVRUUiA9ICdkYXRhLXNlcnZlci1yZW5kZXJlZCc7XG52YXIgQVNTRVRfVFlQRVMgPSBbJ2NvbXBvbmVudCcsICdkaXJlY3RpdmUnLCAnZmlsdGVyJ107XG52YXIgTElGRUNZQ0xFX0hPT0tTID0gW1xuICAgICdiZWZvcmVDcmVhdGUnLFxuICAgICdjcmVhdGVkJyxcbiAgICAnYmVmb3JlTW91bnQnLFxuICAgICdtb3VudGVkJyxcbiAgICAnYmVmb3JlVXBkYXRlJyxcbiAgICAndXBkYXRlZCcsXG4gICAgJ2JlZm9yZURlc3Ryb3knLFxuICAgICdkZXN0cm95ZWQnLFxuICAgICdhY3RpdmF0ZWQnLFxuICAgICdkZWFjdGl2YXRlZCcsXG4gICAgJ2Vycm9yQ2FwdHVyZWQnLFxuICAgICdzZXJ2ZXJQcmVmZXRjaCcsXG4gICAgJ3JlbmRlclRyYWNrZWQnLFxuICAgICdyZW5kZXJUcmlnZ2VyZWQnXG5dO1xuXG52YXIgY29uZmlnID0ge1xuICAgIC8qKlxuICAgICAqIE9wdGlvbiBtZXJnZSBzdHJhdGVnaWVzICh1c2VkIGluIGNvcmUvdXRpbC9vcHRpb25zKVxuICAgICAqL1xuICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgIG9wdGlvbk1lcmdlU3RyYXRlZ2llczogT2JqZWN0LmNyZWF0ZShudWxsKSxcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHN1cHByZXNzIHdhcm5pbmdzLlxuICAgICAqL1xuICAgIHNpbGVudDogZmFsc2UsXG4gICAgLyoqXG4gICAgICogU2hvdyBwcm9kdWN0aW9uIG1vZGUgdGlwIG1lc3NhZ2Ugb24gYm9vdD9cbiAgICAgKi9cbiAgICBwcm9kdWN0aW9uVGlwOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZW5hYmxlIGRldnRvb2xzXG4gICAgICovXG4gICAgZGV2dG9vbHM6IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicsXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byByZWNvcmQgcGVyZlxuICAgICAqL1xuICAgIHBlcmZvcm1hbmNlOiBmYWxzZSxcbiAgICAvKipcbiAgICAgKiBFcnJvciBoYW5kbGVyIGZvciB3YXRjaGVyIGVycm9yc1xuICAgICAqL1xuICAgIGVycm9ySGFuZGxlcjogbnVsbCxcbiAgICAvKipcbiAgICAgKiBXYXJuIGhhbmRsZXIgZm9yIHdhdGNoZXIgd2FybnNcbiAgICAgKi9cbiAgICB3YXJuSGFuZGxlcjogbnVsbCxcbiAgICAvKipcbiAgICAgKiBJZ25vcmUgY2VydGFpbiBjdXN0b20gZWxlbWVudHNcbiAgICAgKi9cbiAgICBpZ25vcmVkRWxlbWVudHM6IFtdLFxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB1c2VyIGtleSBhbGlhc2VzIGZvciB2LW9uXG4gICAgICovXG4gICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAga2V5Q29kZXM6IE9iamVjdC5jcmVhdGUobnVsbCksXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgYSB0YWcgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgcmVnaXN0ZXJlZCBhcyBhXG4gICAgICogY29tcG9uZW50LiBUaGlzIGlzIHBsYXRmb3JtLWRlcGVuZGVudCBhbmQgbWF5IGJlIG92ZXJ3cml0dGVuLlxuICAgICAqL1xuICAgIGlzUmVzZXJ2ZWRUYWc6IG5vLFxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBpcyByZXNlcnZlZCBzbyB0aGF0IGl0IGNhbm5vdCBiZSB1c2VkIGFzIGEgY29tcG9uZW50XG4gICAgICogcHJvcC4gVGhpcyBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQgYW5kIG1heSBiZSBvdmVyd3JpdHRlbi5cbiAgICAgKi9cbiAgICBpc1Jlc2VydmVkQXR0cjogbm8sXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgYSB0YWcgaXMgYW4gdW5rbm93biBlbGVtZW50LlxuICAgICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICAgKi9cbiAgICBpc1Vua25vd25FbGVtZW50OiBubyxcbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIG5hbWVzcGFjZSBvZiBhbiBlbGVtZW50XG4gICAgICovXG4gICAgZ2V0VGFnTmFtZXNwYWNlOiBub29wLFxuICAgIC8qKlxuICAgICAqIFBhcnNlIHRoZSByZWFsIHRhZyBuYW1lIGZvciB0aGUgc3BlY2lmaWMgcGxhdGZvcm0uXG4gICAgICovXG4gICAgcGFyc2VQbGF0Zm9ybVRhZ05hbWU6IGlkZW50aXR5LFxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBtdXN0IGJlIGJvdW5kIHVzaW5nIHByb3BlcnR5LCBlLmcuIHZhbHVlXG4gICAgICogUGxhdGZvcm0tZGVwZW5kZW50LlxuICAgICAqL1xuICAgIG11c3RVc2VQcm9wOiBubyxcbiAgICAvKipcbiAgICAgKiBQZXJmb3JtIHVwZGF0ZXMgYXN5bmNocm9ub3VzbHkuIEludGVuZGVkIHRvIGJlIHVzZWQgYnkgVnVlIFRlc3QgVXRpbHNcbiAgICAgKiBUaGlzIHdpbGwgc2lnbmlmaWNhbnRseSByZWR1Y2UgcGVyZm9ybWFuY2UgaWYgc2V0IHRvIGZhbHNlLlxuICAgICAqL1xuICAgIGFzeW5jOiB0cnVlLFxuICAgIC8qKlxuICAgICAqIEV4cG9zZWQgZm9yIGxlZ2FjeSByZWFzb25zXG4gICAgICovXG4gICAgX2xpZmVjeWNsZUhvb2tzOiBMSUZFQ1lDTEVfSE9PS1Ncbn07XG5cbi8qKlxuICogdW5pY29kZSBsZXR0ZXJzIHVzZWQgZm9yIHBhcnNpbmcgaHRtbCB0YWdzLCBjb21wb25lbnQgbmFtZXMgYW5kIHByb3BlcnR5IHBhdGhzLlxuICogdXNpbmcgaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1My9zZW1hbnRpY3Mtc2NyaXB0aW5nLmh0bWwjcG90ZW50aWFsY3VzdG9tZWxlbWVudG5hbWVcbiAqIHNraXBwaW5nIFxcdTEwMDAwLVxcdUVGRkZGIGR1ZSB0byBpdCBmcmVlemluZyB1cCBQaGFudG9tSlNcbiAqL1xudmFyIHVuaWNvZGVSZWdFeHAgPSAvYS16QS1aXFx1MDBCN1xcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwM0YtXFx1MjA0MFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRC87XG4vKipcbiAqIENoZWNrIGlmIGEgc3RyaW5nIHN0YXJ0cyB3aXRoICQgb3IgX1xuICovXG5mdW5jdGlvbiBpc1Jlc2VydmVkKHN0cikge1xuICAgIHZhciBjID0gKHN0ciArICcnKS5jaGFyQ29kZUF0KDApO1xuICAgIHJldHVybiBjID09PSAweDI0IHx8IGMgPT09IDB4NWY7XG59XG4vKipcbiAqIERlZmluZSBhIHByb3BlcnR5LlxuICovXG5mdW5jdGlvbiBkZWYob2JqLCBrZXksIHZhbCwgZW51bWVyYWJsZSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgICB2YWx1ZTogdmFsLFxuICAgICAgICBlbnVtZXJhYmxlOiAhIWVudW1lcmFibGUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbn1cbi8qKlxuICogUGFyc2Ugc2ltcGxlIHBhdGguXG4gKi9cbnZhciBiYWlsUkUgPSBuZXcgUmVnRXhwKFwiW15cIi5jb25jYXQodW5pY29kZVJlZ0V4cC5zb3VyY2UsIFwiLiRfXFxcXGRdXCIpKTtcbmZ1bmN0aW9uIHBhcnNlUGF0aChwYXRoKSB7XG4gICAgaWYgKGJhaWxSRS50ZXN0KHBhdGgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHNlZ21lbnRzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIHJldHVybiBmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICghb2JqKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIG9iaiA9IG9ialtzZWdtZW50c1tpXV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9O1xufVxuXG4vLyBjYW4gd2UgdXNlIF9fcHJvdG9fXz9cbnZhciBoYXNQcm90byA9ICdfX3Byb3RvX18nIGluIHt9O1xuLy8gQnJvd3NlciBlbnZpcm9ubWVudCBzbmlmZmluZ1xudmFyIGluQnJvd3NlciA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xudmFyIFVBID0gaW5Ccm93c2VyICYmIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7XG52YXIgaXNJRSA9IFVBICYmIC9tc2llfHRyaWRlbnQvLnRlc3QoVUEpO1xudmFyIGlzSUU5ID0gVUEgJiYgVUEuaW5kZXhPZignbXNpZSA5LjAnKSA+IDA7XG52YXIgaXNFZGdlID0gVUEgJiYgVUEuaW5kZXhPZignZWRnZS8nKSA+IDA7XG5VQSAmJiBVQS5pbmRleE9mKCdhbmRyb2lkJykgPiAwO1xudmFyIGlzSU9TID0gVUEgJiYgL2lwaG9uZXxpcGFkfGlwb2R8aW9zLy50ZXN0KFVBKTtcblVBICYmIC9jaHJvbWVcXC9cXGQrLy50ZXN0KFVBKSAmJiAhaXNFZGdlO1xuVUEgJiYgL3BoYW50b21qcy8udGVzdChVQSk7XG52YXIgaXNGRiA9IFVBICYmIFVBLm1hdGNoKC9maXJlZm94XFwvKFxcZCspLyk7XG4vLyBGaXJlZm94IGhhcyBhIFwid2F0Y2hcIiBmdW5jdGlvbiBvbiBPYmplY3QucHJvdG90eXBlLi4uXG4vLyBAdHMtZXhwZWN0LWVycm9yIGZpcmVib3ggc3VwcG9ydFxudmFyIG5hdGl2ZVdhdGNoID0ge30ud2F0Y2g7XG52YXIgc3VwcG9ydHNQYXNzaXZlID0gZmFsc2U7XG5pZiAoaW5Ccm93c2VyKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgdmFyIG9wdHMgPSB7fTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9wdHMsICdwYXNzaXZlJywge1xuICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgICAgICBzdXBwb3J0c1Bhc3NpdmUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2Zsb3cvaXNzdWVzLzI4NVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndGVzdC1wYXNzaXZlJywgbnVsbCwgb3B0cyk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7IH1cbn1cbi8vIHRoaXMgbmVlZHMgdG8gYmUgbGF6eS1ldmFsZWQgYmVjYXVzZSB2dWUgbWF5IGJlIHJlcXVpcmVkIGJlZm9yZVxuLy8gdnVlLXNlcnZlci1yZW5kZXJlciBjYW4gc2V0IFZVRV9FTlZcbnZhciBfaXNTZXJ2ZXI7XG52YXIgaXNTZXJ2ZXJSZW5kZXJpbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKF9pc1NlcnZlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoIWluQnJvd3NlciAmJiB0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgLy8gZGV0ZWN0IHByZXNlbmNlIG9mIHZ1ZS1zZXJ2ZXItcmVuZGVyZXIgYW5kIGF2b2lkXG4gICAgICAgICAgICAvLyBXZWJwYWNrIHNoaW1taW5nIHRoZSBwcm9jZXNzXG4gICAgICAgICAgICBfaXNTZXJ2ZXIgPVxuICAgICAgICAgICAgICAgIGdsb2JhbFsncHJvY2VzcyddICYmIGdsb2JhbFsncHJvY2VzcyddLmVudi5WVUVfRU5WID09PSAnc2VydmVyJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIF9pc1NlcnZlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBfaXNTZXJ2ZXI7XG59O1xuLy8gZGV0ZWN0IGRldnRvb2xzXG52YXIgZGV2dG9vbHMgPSBpbkJyb3dzZXIgJiYgd2luZG93Ll9fVlVFX0RFVlRPT0xTX0dMT0JBTF9IT09LX187XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gaXNOYXRpdmUoQ3Rvcikge1xuICAgIHJldHVybiB0eXBlb2YgQ3RvciA9PT0gJ2Z1bmN0aW9uJyAmJiAvbmF0aXZlIGNvZGUvLnRlc3QoQ3Rvci50b1N0cmluZygpKTtcbn1cbnZhciBoYXNTeW1ib2wgPSB0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIGlzTmF0aXZlKFN5bWJvbCkgJiZcbiAgICB0eXBlb2YgUmVmbGVjdCAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICBpc05hdGl2ZShSZWZsZWN0Lm93bktleXMpO1xudmFyIF9TZXQ7IC8vICRmbG93LWRpc2FibGUtbGluZVxuLyogaXN0YW5idWwgaWdub3JlIGlmICovIGlmICh0eXBlb2YgU2V0ICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShTZXQpKSB7XG4gICAgLy8gdXNlIG5hdGl2ZSBTZXQgd2hlbiBhdmFpbGFibGUuXG4gICAgX1NldCA9IFNldDtcbn1cbmVsc2Uge1xuICAgIC8vIGEgbm9uLXN0YW5kYXJkIFNldCBwb2x5ZmlsbCB0aGF0IG9ubHkgd29ya3Mgd2l0aCBwcmltaXRpdmUga2V5cy5cbiAgICBfU2V0ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgICAgICBmdW5jdGlvbiBTZXQoKSB7XG4gICAgICAgICAgICB0aGlzLnNldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgU2V0LnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRba2V5XSA9PT0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICAgICAgU2V0LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICB0aGlzLnNldFtrZXldID0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICAgICAgU2V0LnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIFNldDtcbiAgICB9KCkpO1xufVxuXG52YXIgY3VycmVudEluc3RhbmNlID0gbnVsbDtcbi8qKlxuICogVGhpcyBpcyBleHBvc2VkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggdjMgKGUuZy4gc29tZSBmdW5jdGlvbnMgaW4gVnVlVXNlXG4gKiByZWxpZXMgb24gaXQpLiBEbyBub3QgdXNlIHRoaXMgaW50ZXJuYWxseSwganVzdCB1c2UgYGN1cnJlbnRJbnN0YW5jZWAuXG4gKlxuICogQGludGVybmFsIHRoaXMgZnVuY3Rpb24gbmVlZHMgbWFudWFsIHR5cGUgZGVjbGFyYXRpb24gYmVjYXVzZSBpdCByZWxpZXNcbiAqIG9uIHByZXZpb3VzbHkgbWFudWFsbHkgYXV0aG9yZWQgdHlwZXMgZnJvbSBWdWUgMlxuICovXG5mdW5jdGlvbiBnZXRDdXJyZW50SW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIGN1cnJlbnRJbnN0YW5jZSAmJiB7IHByb3h5OiBjdXJyZW50SW5zdGFuY2UgfTtcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIHNldEN1cnJlbnRJbnN0YW5jZSh2bSkge1xuICAgIGlmICh2bSA9PT0gdm9pZCAwKSB7IHZtID0gbnVsbDsgfVxuICAgIGlmICghdm0pXG4gICAgICAgIGN1cnJlbnRJbnN0YW5jZSAmJiBjdXJyZW50SW5zdGFuY2UuX3Njb3BlLm9mZigpO1xuICAgIGN1cnJlbnRJbnN0YW5jZSA9IHZtO1xuICAgIHZtICYmIHZtLl9zY29wZS5vbigpO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG52YXIgVk5vZGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVk5vZGUodGFnLCBkYXRhLCBjaGlsZHJlbiwgdGV4dCwgZWxtLCBjb250ZXh0LCBjb21wb25lbnRPcHRpb25zLCBhc3luY0ZhY3RvcnkpIHtcbiAgICAgICAgdGhpcy50YWcgPSB0YWc7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICAgICAgdGhpcy50ZXh0ID0gdGV4dDtcbiAgICAgICAgdGhpcy5lbG0gPSBlbG07XG4gICAgICAgIHRoaXMubnMgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgICAgIHRoaXMuZm5Db250ZXh0ID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmZuT3B0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5mblNjb3BlSWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMua2V5ID0gZGF0YSAmJiBkYXRhLmtleTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRPcHRpb25zID0gY29tcG9uZW50T3B0aW9ucztcbiAgICAgICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5wYXJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMucmF3ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNTdGF0aWMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Jvb3RJbnNlcnQgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzQ29tbWVudCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzQ2xvbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNPbmNlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYXN5bmNGYWN0b3J5ID0gYXN5bmNGYWN0b3J5O1xuICAgICAgICB0aGlzLmFzeW5jTWV0YSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5pc0FzeW5jUGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZOb2RlLnByb3RvdHlwZSwgXCJjaGlsZFwiLCB7XG4gICAgICAgIC8vIERFUFJFQ0FURUQ6IGFsaWFzIGZvciBjb21wb25lbnRJbnN0YW5jZSBmb3IgYmFja3dhcmRzIGNvbXBhdC5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgICAgfSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICAgIHJldHVybiBWTm9kZTtcbn0oKSk7XG52YXIgY3JlYXRlRW1wdHlWTm9kZSA9IGZ1bmN0aW9uICh0ZXh0KSB7XG4gICAgaWYgKHRleHQgPT09IHZvaWQgMCkgeyB0ZXh0ID0gJyc7IH1cbiAgICB2YXIgbm9kZSA9IG5ldyBWTm9kZSgpO1xuICAgIG5vZGUudGV4dCA9IHRleHQ7XG4gICAgbm9kZS5pc0NvbW1lbnQgPSB0cnVlO1xuICAgIHJldHVybiBub2RlO1xufTtcbmZ1bmN0aW9uIGNyZWF0ZVRleHRWTm9kZSh2YWwpIHtcbiAgICByZXR1cm4gbmV3IFZOb2RlKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIFN0cmluZyh2YWwpKTtcbn1cbi8vIG9wdGltaXplZCBzaGFsbG93IGNsb25lXG4vLyB1c2VkIGZvciBzdGF0aWMgbm9kZXMgYW5kIHNsb3Qgbm9kZXMgYmVjYXVzZSB0aGV5IG1heSBiZSByZXVzZWQgYWNyb3NzXG4vLyBtdWx0aXBsZSByZW5kZXJzLCBjbG9uaW5nIHRoZW0gYXZvaWRzIGVycm9ycyB3aGVuIERPTSBtYW5pcHVsYXRpb25zIHJlbHlcbi8vIG9uIHRoZWlyIGVsbSByZWZlcmVuY2UuXG5mdW5jdGlvbiBjbG9uZVZOb2RlKHZub2RlKSB7XG4gICAgdmFyIGNsb25lZCA9IG5ldyBWTm9kZSh2bm9kZS50YWcsIHZub2RlLmRhdGEsIFxuICAgIC8vICM3OTc1XG4gICAgLy8gY2xvbmUgY2hpbGRyZW4gYXJyYXkgdG8gYXZvaWQgbXV0YXRpbmcgb3JpZ2luYWwgaW4gY2FzZSBvZiBjbG9uaW5nXG4gICAgLy8gYSBjaGlsZC5cbiAgICB2bm9kZS5jaGlsZHJlbiAmJiB2bm9kZS5jaGlsZHJlbi5zbGljZSgpLCB2bm9kZS50ZXh0LCB2bm9kZS5lbG0sIHZub2RlLmNvbnRleHQsIHZub2RlLmNvbXBvbmVudE9wdGlvbnMsIHZub2RlLmFzeW5jRmFjdG9yeSk7XG4gICAgY2xvbmVkLm5zID0gdm5vZGUubnM7XG4gICAgY2xvbmVkLmlzU3RhdGljID0gdm5vZGUuaXNTdGF0aWM7XG4gICAgY2xvbmVkLmtleSA9IHZub2RlLmtleTtcbiAgICBjbG9uZWQuaXNDb21tZW50ID0gdm5vZGUuaXNDb21tZW50O1xuICAgIGNsb25lZC5mbkNvbnRleHQgPSB2bm9kZS5mbkNvbnRleHQ7XG4gICAgY2xvbmVkLmZuT3B0aW9ucyA9IHZub2RlLmZuT3B0aW9ucztcbiAgICBjbG9uZWQuZm5TY29wZUlkID0gdm5vZGUuZm5TY29wZUlkO1xuICAgIGNsb25lZC5hc3luY01ldGEgPSB2bm9kZS5hc3luY01ldGE7XG4gICAgY2xvbmVkLmlzQ2xvbmVkID0gdHJ1ZTtcbiAgICByZXR1cm4gY2xvbmVkO1xufVxuXG4vKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgcGxheSB3ZWxsIHdpdGggUHJveHkgKi9cbnZhciBpbml0UHJveHk7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHZhciBhbGxvd2VkR2xvYmFsc18xID0gbWFrZU1hcCgnSW5maW5pdHksdW5kZWZpbmVkLE5hTixpc0Zpbml0ZSxpc05hTiwnICtcbiAgICAgICAgJ3BhcnNlRmxvYXQscGFyc2VJbnQsZGVjb2RlVVJJLGRlY29kZVVSSUNvbXBvbmVudCxlbmNvZGVVUkksZW5jb2RlVVJJQ29tcG9uZW50LCcgK1xuICAgICAgICAnTWF0aCxOdW1iZXIsRGF0ZSxBcnJheSxPYmplY3QsQm9vbGVhbixTdHJpbmcsUmVnRXhwLE1hcCxTZXQsSlNPTixJbnRsLEJpZ0ludCwnICtcbiAgICAgICAgJ3JlcXVpcmUnIC8vIGZvciBXZWJwYWNrL0Jyb3dzZXJpZnlcbiAgICApO1xuICAgIHZhciB3YXJuTm9uUHJlc2VudF8xID0gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7XG4gICAgICAgIHdhcm4kMihcIlByb3BlcnR5IG9yIG1ldGhvZCBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGlzIG5vdCBkZWZpbmVkIG9uIHRoZSBpbnN0YW5jZSBidXQgXCIpICtcbiAgICAgICAgICAgICdyZWZlcmVuY2VkIGR1cmluZyByZW5kZXIuIE1ha2Ugc3VyZSB0aGF0IHRoaXMgcHJvcGVydHkgaXMgcmVhY3RpdmUsICcgK1xuICAgICAgICAgICAgJ2VpdGhlciBpbiB0aGUgZGF0YSBvcHRpb24sIG9yIGZvciBjbGFzcy1iYXNlZCBjb21wb25lbnRzLCBieSAnICtcbiAgICAgICAgICAgICdpbml0aWFsaXppbmcgdGhlIHByb3BlcnR5LiAnICtcbiAgICAgICAgICAgICdTZWU6IGh0dHBzOi8vdjIudnVlanMub3JnL3YyL2d1aWRlL3JlYWN0aXZpdHkuaHRtbCNEZWNsYXJpbmctUmVhY3RpdmUtUHJvcGVydGllcy4nLCB0YXJnZXQpO1xuICAgIH07XG4gICAgdmFyIHdhcm5SZXNlcnZlZFByZWZpeF8xID0gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7XG4gICAgICAgIHdhcm4kMihcIlByb3BlcnR5IFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgbXVzdCBiZSBhY2Nlc3NlZCB3aXRoIFxcXCIkZGF0YS5cIikuY29uY2F0KGtleSwgXCJcXFwiIGJlY2F1c2UgXCIpICtcbiAgICAgICAgICAgICdwcm9wZXJ0aWVzIHN0YXJ0aW5nIHdpdGggXCIkXCIgb3IgXCJfXCIgYXJlIG5vdCBwcm94aWVkIGluIHRoZSBWdWUgaW5zdGFuY2UgdG8gJyArXG4gICAgICAgICAgICAncHJldmVudCBjb25mbGljdHMgd2l0aCBWdWUgaW50ZXJuYWxzLiAnICtcbiAgICAgICAgICAgICdTZWU6IGh0dHBzOi8vdjIudnVlanMub3JnL3YyL2FwaS8jZGF0YScsIHRhcmdldCk7XG4gICAgfTtcbiAgICB2YXIgaGFzUHJveHlfMSA9IHR5cGVvZiBQcm94eSAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoUHJveHkpO1xuICAgIGlmIChoYXNQcm94eV8xKSB7XG4gICAgICAgIHZhciBpc0J1aWx0SW5Nb2RpZmllcl8xID0gbWFrZU1hcCgnc3RvcCxwcmV2ZW50LHNlbGYsY3RybCxzaGlmdCxhbHQsbWV0YSxleGFjdCcpO1xuICAgICAgICBjb25maWcua2V5Q29kZXMgPSBuZXcgUHJveHkoY29uZmlnLmtleUNvZGVzLCB7XG4gICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIGtleSwgdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNCdWlsdEluTW9kaWZpZXJfMShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhcm4kMihcIkF2b2lkIG92ZXJ3cml0aW5nIGJ1aWx0LWluIG1vZGlmaWVyIGluIGNvbmZpZy5rZXlDb2RlczogLlwiLmNvbmNhdChrZXkpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdmFyIGhhc0hhbmRsZXJfMSA9IHtcbiAgICAgICAgaGFzOiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHtcbiAgICAgICAgICAgIHZhciBoYXMgPSBrZXkgaW4gdGFyZ2V0O1xuICAgICAgICAgICAgdmFyIGlzQWxsb3dlZCA9IGFsbG93ZWRHbG9iYWxzXzEoa2V5KSB8fFxuICAgICAgICAgICAgICAgICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgICAgICAgICBrZXkuY2hhckF0KDApID09PSAnXycgJiZcbiAgICAgICAgICAgICAgICAgICAgIShrZXkgaW4gdGFyZ2V0LiRkYXRhKSk7XG4gICAgICAgICAgICBpZiAoIWhhcyAmJiAhaXNBbGxvd2VkKSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSBpbiB0YXJnZXQuJGRhdGEpXG4gICAgICAgICAgICAgICAgICAgIHdhcm5SZXNlcnZlZFByZWZpeF8xKHRhcmdldCwga2V5KTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHdhcm5Ob25QcmVzZW50XzEodGFyZ2V0LCBrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGhhcyB8fCAhaXNBbGxvd2VkO1xuICAgICAgICB9XG4gICAgfTtcbiAgICB2YXIgZ2V0SGFuZGxlcl8xID0ge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICh0YXJnZXQsIGtleSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmICEoa2V5IGluIHRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5IGluIHRhcmdldC4kZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgd2FyblJlc2VydmVkUHJlZml4XzEodGFyZ2V0LCBrZXkpO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgd2Fybk5vblByZXNlbnRfMSh0YXJnZXQsIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0W2tleV07XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGluaXRQcm94eSA9IGZ1bmN0aW9uIGluaXRQcm94eSh2bSkge1xuICAgICAgICBpZiAoaGFzUHJveHlfMSkge1xuICAgICAgICAgICAgLy8gZGV0ZXJtaW5lIHdoaWNoIHByb3h5IGhhbmRsZXIgdG8gdXNlXG4gICAgICAgICAgICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuICAgICAgICAgICAgdmFyIGhhbmRsZXJzID0gb3B0aW9ucy5yZW5kZXIgJiYgb3B0aW9ucy5yZW5kZXIuX3dpdGhTdHJpcHBlZCA/IGdldEhhbmRsZXJfMSA6IGhhc0hhbmRsZXJfMTtcbiAgICAgICAgICAgIHZtLl9yZW5kZXJQcm94eSA9IG5ldyBQcm94eSh2bSwgaGFuZGxlcnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdm0uX3JlbmRlclByb3h5ID0gdm07XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbkFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbk9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbnZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn07XG5cbnZhciB1aWQkMiA9IDA7XG52YXIgcGVuZGluZ0NsZWFudXBEZXBzID0gW107XG52YXIgY2xlYW51cERlcHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwZW5kaW5nQ2xlYW51cERlcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGRlcCA9IHBlbmRpbmdDbGVhbnVwRGVwc1tpXTtcbiAgICAgICAgZGVwLnN1YnMgPSBkZXAuc3Vicy5maWx0ZXIoZnVuY3Rpb24gKHMpIHsgcmV0dXJuIHM7IH0pO1xuICAgICAgICBkZXAuX3BlbmRpbmcgPSBmYWxzZTtcbiAgICB9XG4gICAgcGVuZGluZ0NsZWFudXBEZXBzLmxlbmd0aCA9IDA7XG59O1xuLyoqXG4gKiBBIGRlcCBpcyBhbiBvYnNlcnZhYmxlIHRoYXQgY2FuIGhhdmUgbXVsdGlwbGVcbiAqIGRpcmVjdGl2ZXMgc3Vic2NyaWJpbmcgdG8gaXQuXG4gKiBAaW50ZXJuYWxcbiAqL1xudmFyIERlcCA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBEZXAoKSB7XG4gICAgICAgIC8vIHBlbmRpbmcgc3VicyBjbGVhbnVwXG4gICAgICAgIHRoaXMuX3BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pZCA9IHVpZCQyKys7XG4gICAgICAgIHRoaXMuc3VicyA9IFtdO1xuICAgIH1cbiAgICBEZXAucHJvdG90eXBlLmFkZFN1YiA9IGZ1bmN0aW9uIChzdWIpIHtcbiAgICAgICAgdGhpcy5zdWJzLnB1c2goc3ViKTtcbiAgICB9O1xuICAgIERlcC5wcm90b3R5cGUucmVtb3ZlU3ViID0gZnVuY3Rpb24gKHN1Yikge1xuICAgICAgICAvLyAjMTI2OTYgZGVwcyB3aXRoIG1hc3NpdmUgYW1vdW50IG9mIHN1YnNjcmliZXJzIGFyZSBleHRyZW1lbHkgc2xvdyB0b1xuICAgICAgICAvLyBjbGVhbiB1cCBpbiBDaHJvbWl1bVxuICAgICAgICAvLyB0byB3b3JrYXJvdW5kIHRoaXMsIHdlIHVuc2V0IHRoZSBzdWIgZm9yIG5vdywgYW5kIGNsZWFyIHRoZW0gb25cbiAgICAgICAgLy8gbmV4dCBzY2hlZHVsZXIgZmx1c2guXG4gICAgICAgIHRoaXMuc3Vic1t0aGlzLnN1YnMuaW5kZXhPZihzdWIpXSA9IG51bGw7XG4gICAgICAgIGlmICghdGhpcy5fcGVuZGluZykge1xuICAgICAgICAgICAgdGhpcy5fcGVuZGluZyA9IHRydWU7XG4gICAgICAgICAgICBwZW5kaW5nQ2xlYW51cERlcHMucHVzaCh0aGlzKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgRGVwLnByb3RvdHlwZS5kZXBlbmQgPSBmdW5jdGlvbiAoaW5mbykge1xuICAgICAgICBpZiAoRGVwLnRhcmdldCkge1xuICAgICAgICAgICAgRGVwLnRhcmdldC5hZGREZXAodGhpcyk7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpbmZvICYmIERlcC50YXJnZXQub25UcmFjaykge1xuICAgICAgICAgICAgICAgIERlcC50YXJnZXQub25UcmFjayhfX2Fzc2lnbih7IGVmZmVjdDogRGVwLnRhcmdldCB9LCBpbmZvKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIERlcC5wcm90b3R5cGUubm90aWZ5ID0gZnVuY3Rpb24gKGluZm8pIHtcbiAgICAgICAgLy8gc3RhYmlsaXplIHRoZSBzdWJzY3JpYmVyIGxpc3QgZmlyc3RcbiAgICAgICAgdmFyIHN1YnMgPSB0aGlzLnN1YnMuZmlsdGVyKGZ1bmN0aW9uIChzKSB7IHJldHVybiBzOyB9KTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIWNvbmZpZy5hc3luYykge1xuICAgICAgICAgICAgLy8gc3VicyBhcmVuJ3Qgc29ydGVkIGluIHNjaGVkdWxlciBpZiBub3QgcnVubmluZyBhc3luY1xuICAgICAgICAgICAgLy8gd2UgbmVlZCB0byBzb3J0IHRoZW0gbm93IHRvIG1ha2Ugc3VyZSB0aGV5IGZpcmUgaW4gY29ycmVjdFxuICAgICAgICAgICAgLy8gb3JkZXJcbiAgICAgICAgICAgIHN1YnMuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYS5pZCAtIGIuaWQ7IH0pO1xuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gc3Vicy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBzdWIgPSBzdWJzW2ldO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaW5mbykge1xuICAgICAgICAgICAgICAgIHN1Yi5vblRyaWdnZXIgJiZcbiAgICAgICAgICAgICAgICAgICAgc3ViLm9uVHJpZ2dlcihfX2Fzc2lnbih7IGVmZmVjdDogc3Vic1tpXSB9LCBpbmZvKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdWIudXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBEZXA7XG59KCkpO1xuLy8gVGhlIGN1cnJlbnQgdGFyZ2V0IHdhdGNoZXIgYmVpbmcgZXZhbHVhdGVkLlxuLy8gVGhpcyBpcyBnbG9iYWxseSB1bmlxdWUgYmVjYXVzZSBvbmx5IG9uZSB3YXRjaGVyXG4vLyBjYW4gYmUgZXZhbHVhdGVkIGF0IGEgdGltZS5cbkRlcC50YXJnZXQgPSBudWxsO1xudmFyIHRhcmdldFN0YWNrID0gW107XG5mdW5jdGlvbiBwdXNoVGFyZ2V0KHRhcmdldCkge1xuICAgIHRhcmdldFN0YWNrLnB1c2godGFyZ2V0KTtcbiAgICBEZXAudGFyZ2V0ID0gdGFyZ2V0O1xufVxuZnVuY3Rpb24gcG9wVGFyZ2V0KCkge1xuICAgIHRhcmdldFN0YWNrLnBvcCgpO1xuICAgIERlcC50YXJnZXQgPSB0YXJnZXRTdGFja1t0YXJnZXRTdGFjay5sZW5ndGggLSAxXTtcbn1cblxuLypcbiAqIG5vdCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBwbGF5IHdlbGwgd2l0aFxuICogZHluYW1pY2FsbHkgYWNjZXNzaW5nIG1ldGhvZHMgb24gQXJyYXkgcHJvdG90eXBlXG4gKi9cbnZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlO1xudmFyIGFycmF5TWV0aG9kcyA9IE9iamVjdC5jcmVhdGUoYXJyYXlQcm90byk7XG52YXIgbWV0aG9kc1RvUGF0Y2ggPSBbXG4gICAgJ3B1c2gnLFxuICAgICdwb3AnLFxuICAgICdzaGlmdCcsXG4gICAgJ3Vuc2hpZnQnLFxuICAgICdzcGxpY2UnLFxuICAgICdzb3J0JyxcbiAgICAncmV2ZXJzZSdcbl07XG4vKipcbiAqIEludGVyY2VwdCBtdXRhdGluZyBtZXRob2RzIGFuZCBlbWl0IGV2ZW50c1xuICovXG5tZXRob2RzVG9QYXRjaC5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2QpIHtcbiAgICAvLyBjYWNoZSBvcmlnaW5hbCBtZXRob2RcbiAgICB2YXIgb3JpZ2luYWwgPSBhcnJheVByb3RvW21ldGhvZF07XG4gICAgZGVmKGFycmF5TWV0aG9kcywgbWV0aG9kLCBmdW5jdGlvbiBtdXRhdG9yKCkge1xuICAgICAgICB2YXIgYXJncyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xuICAgICAgICB9XG4gICAgICAgIHZhciByZXN1bHQgPSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgdmFyIG9iID0gdGhpcy5fX29iX187XG4gICAgICAgIHZhciBpbnNlcnRlZDtcbiAgICAgICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgICAgICAgIGNhc2UgJ3B1c2gnOlxuICAgICAgICAgICAgY2FzZSAndW5zaGlmdCc6XG4gICAgICAgICAgICAgICAgaW5zZXJ0ZWQgPSBhcmdzO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc3BsaWNlJzpcbiAgICAgICAgICAgICAgICBpbnNlcnRlZCA9IGFyZ3Muc2xpY2UoMik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluc2VydGVkKVxuICAgICAgICAgICAgb2Iub2JzZXJ2ZUFycmF5KGluc2VydGVkKTtcbiAgICAgICAgLy8gbm90aWZ5IGNoYW5nZVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgb2IuZGVwLm5vdGlmeSh7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheSBtdXRhdGlvblwiIC8qIFRyaWdnZXJPcFR5cGVzLkFSUkFZX01VVEFUSU9OICovLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGhpcyxcbiAgICAgICAgICAgICAgICBrZXk6IG1ldGhvZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBvYi5kZXAubm90aWZ5KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcbn0pO1xuXG52YXIgYXJyYXlLZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyYXlNZXRob2RzKTtcbnZhciBOT19JTklJVElBTF9WQUxVRSA9IHt9O1xuLyoqXG4gKiBJbiBzb21lIGNhc2VzIHdlIG1heSB3YW50IHRvIGRpc2FibGUgb2JzZXJ2YXRpb24gaW5zaWRlIGEgY29tcG9uZW50J3NcbiAqIHVwZGF0ZSBjb21wdXRhdGlvbi5cbiAqL1xudmFyIHNob3VsZE9ic2VydmUgPSB0cnVlO1xuZnVuY3Rpb24gdG9nZ2xlT2JzZXJ2aW5nKHZhbHVlKSB7XG4gICAgc2hvdWxkT2JzZXJ2ZSA9IHZhbHVlO1xufVxuLy8gc3NyIG1vY2sgZGVwXG52YXIgbW9ja0RlcCA9IHtcbiAgICBub3RpZnk6IG5vb3AsXG4gICAgZGVwZW5kOiBub29wLFxuICAgIGFkZFN1Yjogbm9vcCxcbiAgICByZW1vdmVTdWI6IG5vb3Bcbn07XG4vKipcbiAqIE9ic2VydmVyIGNsYXNzIHRoYXQgaXMgYXR0YWNoZWQgdG8gZWFjaCBvYnNlcnZlZFxuICogb2JqZWN0LiBPbmNlIGF0dGFjaGVkLCB0aGUgb2JzZXJ2ZXIgY29udmVydHMgdGhlIHRhcmdldFxuICogb2JqZWN0J3MgcHJvcGVydHkga2V5cyBpbnRvIGdldHRlci9zZXR0ZXJzIHRoYXRcbiAqIGNvbGxlY3QgZGVwZW5kZW5jaWVzIGFuZCBkaXNwYXRjaCB1cGRhdGVzLlxuICovXG52YXIgT2JzZXJ2ZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gT2JzZXJ2ZXIodmFsdWUsIHNoYWxsb3csIG1vY2spIHtcbiAgICAgICAgaWYgKHNoYWxsb3cgPT09IHZvaWQgMCkgeyBzaGFsbG93ID0gZmFsc2U7IH1cbiAgICAgICAgaWYgKG1vY2sgPT09IHZvaWQgMCkgeyBtb2NrID0gZmFsc2U7IH1cbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNoYWxsb3cgPSBzaGFsbG93O1xuICAgICAgICB0aGlzLm1vY2sgPSBtb2NrO1xuICAgICAgICAvLyB0aGlzLnZhbHVlID0gdmFsdWVcbiAgICAgICAgdGhpcy5kZXAgPSBtb2NrID8gbW9ja0RlcCA6IG5ldyBEZXAoKTtcbiAgICAgICAgdGhpcy52bUNvdW50ID0gMDtcbiAgICAgICAgZGVmKHZhbHVlLCAnX19vYl9fJywgdGhpcyk7XG4gICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgaWYgKCFtb2NrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGhhc1Byb3RvKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLl9fcHJvdG9fXyA9IGFycmF5TWV0aG9kcztcbiAgICAgICAgICAgICAgICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1wcm90byAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBhcnJheUtleXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIga2V5ID0gYXJyYXlLZXlzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmKHZhbHVlLCBrZXksIGFycmF5TWV0aG9kc1trZXldKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghc2hhbGxvdykge1xuICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZUFycmF5KHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogV2FsayB0aHJvdWdoIGFsbCBwcm9wZXJ0aWVzIGFuZCBjb252ZXJ0IHRoZW0gaW50b1xuICAgICAgICAgICAgICogZ2V0dGVyL3NldHRlcnMuIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuXG4gICAgICAgICAgICAgKiB2YWx1ZSB0eXBlIGlzIE9iamVjdC5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSk7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgICAgICAgICAgICBkZWZpbmVSZWFjdGl2ZSh2YWx1ZSwga2V5LCBOT19JTklJVElBTF9WQUxVRSwgdW5kZWZpbmVkLCBzaGFsbG93LCBtb2NrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBPYnNlcnZlIGEgbGlzdCBvZiBBcnJheSBpdGVtcy5cbiAgICAgKi9cbiAgICBPYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2ZUFycmF5ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBvYnNlcnZlKHZhbHVlW2ldLCBmYWxzZSwgdGhpcy5tb2NrKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIE9ic2VydmVyO1xufSgpKTtcbi8vIGhlbHBlcnNcbi8qKlxuICogQXR0ZW1wdCB0byBjcmVhdGUgYW4gb2JzZXJ2ZXIgaW5zdGFuY2UgZm9yIGEgdmFsdWUsXG4gKiByZXR1cm5zIHRoZSBuZXcgb2JzZXJ2ZXIgaWYgc3VjY2Vzc2Z1bGx5IG9ic2VydmVkLFxuICogb3IgdGhlIGV4aXN0aW5nIG9ic2VydmVyIGlmIHRoZSB2YWx1ZSBhbHJlYWR5IGhhcyBvbmUuXG4gKi9cbmZ1bmN0aW9uIG9ic2VydmUodmFsdWUsIHNoYWxsb3csIHNzck1vY2tSZWFjdGl2aXR5KSB7XG4gICAgaWYgKHZhbHVlICYmIGhhc093bih2YWx1ZSwgJ19fb2JfXycpICYmIHZhbHVlLl9fb2JfXyBpbnN0YW5jZW9mIE9ic2VydmVyKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5fX29iX187XG4gICAgfVxuICAgIGlmIChzaG91bGRPYnNlcnZlICYmXG4gICAgICAgIChzc3JNb2NrUmVhY3Rpdml0eSB8fCAhaXNTZXJ2ZXJSZW5kZXJpbmcoKSkgJiZcbiAgICAgICAgKGlzQXJyYXkodmFsdWUpIHx8IGlzUGxhaW5PYmplY3QodmFsdWUpKSAmJlxuICAgICAgICBPYmplY3QuaXNFeHRlbnNpYmxlKHZhbHVlKSAmJlxuICAgICAgICAhdmFsdWUuX192X3NraXAgLyogUmVhY3RpdmVGbGFncy5TS0lQICovICYmXG4gICAgICAgICFpc1JlZih2YWx1ZSkgJiZcbiAgICAgICAgISh2YWx1ZSBpbnN0YW5jZW9mIFZOb2RlKSkge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmVyKHZhbHVlLCBzaGFsbG93LCBzc3JNb2NrUmVhY3Rpdml0eSk7XG4gICAgfVxufVxuLyoqXG4gKiBEZWZpbmUgYSByZWFjdGl2ZSBwcm9wZXJ0eSBvbiBhbiBPYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGRlZmluZVJlYWN0aXZlKG9iaiwga2V5LCB2YWwsIGN1c3RvbVNldHRlciwgc2hhbGxvdywgbW9jaykge1xuICAgIHZhciBkZXAgPSBuZXcgRGVwKCk7XG4gICAgdmFyIHByb3BlcnR5ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSk7XG4gICAgaWYgKHByb3BlcnR5ICYmIHByb3BlcnR5LmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBjYXRlciBmb3IgcHJlLWRlZmluZWQgZ2V0dGVyL3NldHRlcnNcbiAgICB2YXIgZ2V0dGVyID0gcHJvcGVydHkgJiYgcHJvcGVydHkuZ2V0O1xuICAgIHZhciBzZXR0ZXIgPSBwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5zZXQ7XG4gICAgaWYgKCghZ2V0dGVyIHx8IHNldHRlcikgJiZcbiAgICAgICAgKHZhbCA9PT0gTk9fSU5JSVRJQUxfVkFMVUUgfHwgYXJndW1lbnRzLmxlbmd0aCA9PT0gMikpIHtcbiAgICAgICAgdmFsID0gb2JqW2tleV07XG4gICAgfVxuICAgIHZhciBjaGlsZE9iID0gIXNoYWxsb3cgJiYgb2JzZXJ2ZSh2YWwsIGZhbHNlLCBtb2NrKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uIHJlYWN0aXZlR2V0dGVyKCkge1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gZ2V0dGVyID8gZ2V0dGVyLmNhbGwob2JqKSA6IHZhbDtcbiAgICAgICAgICAgIGlmIChEZXAudGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVwLmRlcGVuZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IG9iaixcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZ2V0XCIgLyogVHJhY2tPcFR5cGVzLkdFVCAqLyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGVwLmRlcGVuZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY2hpbGRPYikge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZE9iLmRlcC5kZXBlbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRBcnJheSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXNSZWYodmFsdWUpICYmICFzaGFsbG93ID8gdmFsdWUudmFsdWUgOiB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiByZWFjdGl2ZVNldHRlcihuZXdWYWwpIHtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IGdldHRlciA/IGdldHRlci5jYWxsKG9iaikgOiB2YWw7XG4gICAgICAgICAgICBpZiAoIWhhc0NoYW5nZWQodmFsdWUsIG5ld1ZhbCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjdXN0b21TZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICBjdXN0b21TZXR0ZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICBzZXR0ZXIuY2FsbChvYmosIG5ld1ZhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChnZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICAvLyAjNzk4MTogZm9yIGFjY2Vzc29yIHByb3BlcnRpZXMgd2l0aG91dCBzZXR0ZXJcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICghc2hhbGxvdyAmJiBpc1JlZih2YWx1ZSkgJiYgIWlzUmVmKG5ld1ZhbCkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS52YWx1ZSA9IG5ld1ZhbDtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBuZXdWYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGlsZE9iID0gIXNoYWxsb3cgJiYgb2JzZXJ2ZShuZXdWYWwsIGZhbHNlLCBtb2NrKTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgZGVwLm5vdGlmeSh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic2V0XCIgLyogVHJpZ2dlck9wVHlwZXMuU0VUICovLFxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IG9iaixcbiAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlOiBuZXdWYWwsXG4gICAgICAgICAgICAgICAgICAgIG9sZFZhbHVlOiB2YWx1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZGVwLm5vdGlmeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGRlcDtcbn1cbmZ1bmN0aW9uIHNldCh0YXJnZXQsIGtleSwgdmFsKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgKGlzVW5kZWYodGFyZ2V0KSB8fCBpc1ByaW1pdGl2ZSh0YXJnZXQpKSkge1xuICAgICAgICB3YXJuJDIoXCJDYW5ub3Qgc2V0IHJlYWN0aXZlIHByb3BlcnR5IG9uIHVuZGVmaW5lZCwgbnVsbCwgb3IgcHJpbWl0aXZlIHZhbHVlOiBcIi5jb25jYXQodGFyZ2V0KSk7XG4gICAgfVxuICAgIGlmIChpc1JlYWRvbmx5KHRhcmdldCkpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuJDIoXCJTZXQgb3BlcmF0aW9uIG9uIGtleSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGZhaWxlZDogdGFyZ2V0IGlzIHJlYWRvbmx5LlwiKSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIG9iID0gdGFyZ2V0Ll9fb2JfXztcbiAgICBpZiAoaXNBcnJheSh0YXJnZXQpICYmIGlzVmFsaWRBcnJheUluZGV4KGtleSkpIHtcbiAgICAgICAgdGFyZ2V0Lmxlbmd0aCA9IE1hdGgubWF4KHRhcmdldC5sZW5ndGgsIGtleSk7XG4gICAgICAgIHRhcmdldC5zcGxpY2Uoa2V5LCAxLCB2YWwpO1xuICAgICAgICAvLyB3aGVuIG1vY2tpbmcgZm9yIFNTUiwgYXJyYXkgbWV0aG9kcyBhcmUgbm90IGhpamFja2VkXG4gICAgICAgIGlmIChvYiAmJiAhb2Iuc2hhbGxvdyAmJiBvYi5tb2NrKSB7XG4gICAgICAgICAgICBvYnNlcnZlKHZhbCwgZmFsc2UsIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgfVxuICAgIGlmIChrZXkgaW4gdGFyZ2V0ICYmICEoa2V5IGluIE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgICAgIHRhcmdldFtrZXldID0gdmFsO1xuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cbiAgICBpZiAodGFyZ2V0Ll9pc1Z1ZSB8fCAob2IgJiYgb2Iudm1Db3VudCkpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgd2FybiQyKCdBdm9pZCBhZGRpbmcgcmVhY3RpdmUgcHJvcGVydGllcyB0byBhIFZ1ZSBpbnN0YW5jZSBvciBpdHMgcm9vdCAkZGF0YSAnICtcbiAgICAgICAgICAgICAgICAnYXQgcnVudGltZSAtIGRlY2xhcmUgaXQgdXBmcm9udCBpbiB0aGUgZGF0YSBvcHRpb24uJyk7XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgfVxuICAgIGlmICghb2IpIHtcbiAgICAgICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgfVxuICAgIGRlZmluZVJlYWN0aXZlKG9iLnZhbHVlLCBrZXksIHZhbCwgdW5kZWZpbmVkLCBvYi5zaGFsbG93LCBvYi5tb2NrKTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBvYi5kZXAubm90aWZ5KHtcbiAgICAgICAgICAgIHR5cGU6IFwiYWRkXCIgLyogVHJpZ2dlck9wVHlwZXMuQUREICovLFxuICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgIG5ld1ZhbHVlOiB2YWwsXG4gICAgICAgICAgICBvbGRWYWx1ZTogdW5kZWZpbmVkXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgb2IuZGVwLm5vdGlmeSgpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xufVxuZnVuY3Rpb24gZGVsKHRhcmdldCwga2V5KSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgKGlzVW5kZWYodGFyZ2V0KSB8fCBpc1ByaW1pdGl2ZSh0YXJnZXQpKSkge1xuICAgICAgICB3YXJuJDIoXCJDYW5ub3QgZGVsZXRlIHJlYWN0aXZlIHByb3BlcnR5IG9uIHVuZGVmaW5lZCwgbnVsbCwgb3IgcHJpbWl0aXZlIHZhbHVlOiBcIi5jb25jYXQodGFyZ2V0KSk7XG4gICAgfVxuICAgIGlmIChpc0FycmF5KHRhcmdldCkgJiYgaXNWYWxpZEFycmF5SW5kZXgoa2V5KSkge1xuICAgICAgICB0YXJnZXQuc3BsaWNlKGtleSwgMSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIG9iID0gdGFyZ2V0Ll9fb2JfXztcbiAgICBpZiAodGFyZ2V0Ll9pc1Z1ZSB8fCAob2IgJiYgb2Iudm1Db3VudCkpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgd2FybiQyKCdBdm9pZCBkZWxldGluZyBwcm9wZXJ0aWVzIG9uIGEgVnVlIGluc3RhbmNlIG9yIGl0cyByb290ICRkYXRhICcgK1xuICAgICAgICAgICAgICAgICctIGp1c3Qgc2V0IGl0IHRvIG51bGwuJyk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzUmVhZG9ubHkodGFyZ2V0KSkge1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICB3YXJuJDIoXCJEZWxldGUgb3BlcmF0aW9uIG9uIGtleSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGZhaWxlZDogdGFyZ2V0IGlzIHJlYWRvbmx5LlwiKSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFoYXNPd24odGFyZ2V0LCBrZXkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZGVsZXRlIHRhcmdldFtrZXldO1xuICAgIGlmICghb2IpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBvYi5kZXAubm90aWZ5KHtcbiAgICAgICAgICAgIHR5cGU6IFwiZGVsZXRlXCIgLyogVHJpZ2dlck9wVHlwZXMuREVMRVRFICovLFxuICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXQsXG4gICAgICAgICAgICBrZXk6IGtleVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG9iLmRlcC5ub3RpZnkoKTtcbiAgICB9XG59XG4vKipcbiAqIENvbGxlY3QgZGVwZW5kZW5jaWVzIG9uIGFycmF5IGVsZW1lbnRzIHdoZW4gdGhlIGFycmF5IGlzIHRvdWNoZWQsIHNpbmNlXG4gKiB3ZSBjYW5ub3QgaW50ZXJjZXB0IGFycmF5IGVsZW1lbnQgYWNjZXNzIGxpa2UgcHJvcGVydHkgZ2V0dGVycy5cbiAqL1xuZnVuY3Rpb24gZGVwZW5kQXJyYXkodmFsdWUpIHtcbiAgICBmb3IgKHZhciBlID0gdm9pZCAwLCBpID0gMCwgbCA9IHZhbHVlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBlID0gdmFsdWVbaV07XG4gICAgICAgIGlmIChlICYmIGUuX19vYl9fKSB7XG4gICAgICAgICAgICBlLl9fb2JfXy5kZXAuZGVwZW5kKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQXJyYXkoZSkpIHtcbiAgICAgICAgICAgIGRlcGVuZEFycmF5KGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiByZWFjdGl2ZSh0YXJnZXQpIHtcbiAgICBtYWtlUmVhY3RpdmUodGFyZ2V0LCBmYWxzZSk7XG4gICAgcmV0dXJuIHRhcmdldDtcbn1cbi8qKlxuICogUmV0dXJuIGEgc2hhbGxvd2x5LXJlYWN0aXZlIGNvcHkgb2YgdGhlIG9yaWdpbmFsIG9iamVjdCwgd2hlcmUgb25seSB0aGUgcm9vdFxuICogbGV2ZWwgcHJvcGVydGllcyBhcmUgcmVhY3RpdmUuIEl0IGFsc28gZG9lcyBub3QgYXV0by11bndyYXAgcmVmcyAoZXZlbiBhdCB0aGVcbiAqIHJvb3QgbGV2ZWwpLlxuICovXG5mdW5jdGlvbiBzaGFsbG93UmVhY3RpdmUodGFyZ2V0KSB7XG4gICAgbWFrZVJlYWN0aXZlKHRhcmdldCwgdHJ1ZSk7XG4gICAgZGVmKHRhcmdldCwgXCJfX3ZfaXNTaGFsbG93XCIgLyogUmVhY3RpdmVGbGFncy5JU19TSEFMTE9XICovLCB0cnVlKTtcbiAgICByZXR1cm4gdGFyZ2V0O1xufVxuZnVuY3Rpb24gbWFrZVJlYWN0aXZlKHRhcmdldCwgc2hhbGxvdykge1xuICAgIC8vIGlmIHRyeWluZyB0byBvYnNlcnZlIGEgcmVhZG9ubHkgcHJveHksIHJldHVybiB0aGUgcmVhZG9ubHkgdmVyc2lvbi5cbiAgICBpZiAoIWlzUmVhZG9ubHkodGFyZ2V0KSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkodGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgIHdhcm4kMihcIkF2b2lkIHVzaW5nIEFycmF5IGFzIHJvb3QgdmFsdWUgZm9yIFwiLmNvbmNhdChzaGFsbG93ID8gXCJzaGFsbG93UmVhY3RpdmUoKVwiIDogXCJyZWFjdGl2ZSgpXCIsIFwiIGFzIGl0IGNhbm5vdCBiZSB0cmFja2VkIGluIHdhdGNoKCkgb3Igd2F0Y2hFZmZlY3QoKS4gVXNlIFwiKS5jb25jYXQoc2hhbGxvdyA/IFwic2hhbGxvd1JlZigpXCIgOiBcInJlZigpXCIsIFwiIGluc3RlYWQuIFRoaXMgaXMgYSBWdWUtMi1vbmx5IGxpbWl0YXRpb24uXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBleGlzdGluZ09iID0gdGFyZ2V0ICYmIHRhcmdldC5fX29iX187XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmdPYiAmJiBleGlzdGluZ09iLnNoYWxsb3cgIT09IHNoYWxsb3cpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJUYXJnZXQgaXMgYWxyZWFkeSBhIFwiLmNvbmNhdChleGlzdGluZ09iLnNoYWxsb3cgPyBcIlwiIDogXCJub24tXCIsIFwic2hhbGxvdyByZWFjdGl2ZSBvYmplY3QsIGFuZCBjYW5ub3QgYmUgY29udmVydGVkIHRvIFwiKS5jb25jYXQoc2hhbGxvdyA/IFwiXCIgOiBcIm5vbi1cIiwgXCJzaGFsbG93LlwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG9iID0gb2JzZXJ2ZSh0YXJnZXQsIHNoYWxsb3csIGlzU2VydmVyUmVuZGVyaW5nKCkgLyogc3NyIG1vY2sgcmVhY3Rpdml0eSAqLyk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFvYikge1xuICAgICAgICAgICAgaWYgKHRhcmdldCA9PSBudWxsIHx8IGlzUHJpbWl0aXZlKHRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJ2YWx1ZSBjYW5ub3QgYmUgbWFkZSByZWFjdGl2ZTogXCIuY29uY2F0KFN0cmluZyh0YXJnZXQpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNDb2xsZWN0aW9uVHlwZSh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiVnVlIDIgZG9lcyBub3Qgc3VwcG9ydCByZWFjdGl2ZSBjb2xsZWN0aW9uIHR5cGVzIHN1Y2ggYXMgTWFwIG9yIFNldC5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBpc1JlYWN0aXZlKHZhbHVlKSB7XG4gICAgaWYgKGlzUmVhZG9ubHkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBpc1JlYWN0aXZlKHZhbHVlW1wiX192X3Jhd1wiIC8qIFJlYWN0aXZlRmxhZ3MuUkFXICovXSk7XG4gICAgfVxuICAgIHJldHVybiAhISh2YWx1ZSAmJiB2YWx1ZS5fX29iX18pO1xufVxuZnVuY3Rpb24gaXNTaGFsbG93KHZhbHVlKSB7XG4gICAgcmV0dXJuICEhKHZhbHVlICYmIHZhbHVlLl9fdl9pc1NoYWxsb3cpO1xufVxuZnVuY3Rpb24gaXNSZWFkb25seSh2YWx1ZSkge1xuICAgIHJldHVybiAhISh2YWx1ZSAmJiB2YWx1ZS5fX3ZfaXNSZWFkb25seSk7XG59XG5mdW5jdGlvbiBpc1Byb3h5KHZhbHVlKSB7XG4gICAgcmV0dXJuIGlzUmVhY3RpdmUodmFsdWUpIHx8IGlzUmVhZG9ubHkodmFsdWUpO1xufVxuZnVuY3Rpb24gdG9SYXcob2JzZXJ2ZWQpIHtcbiAgICB2YXIgcmF3ID0gb2JzZXJ2ZWQgJiYgb2JzZXJ2ZWRbXCJfX3ZfcmF3XCIgLyogUmVhY3RpdmVGbGFncy5SQVcgKi9dO1xuICAgIHJldHVybiByYXcgPyB0b1JhdyhyYXcpIDogb2JzZXJ2ZWQ7XG59XG5mdW5jdGlvbiBtYXJrUmF3KHZhbHVlKSB7XG4gICAgLy8gbm9uLWV4dGVuc2libGUgb2JqZWN0cyB3b24ndCBiZSBvYnNlcnZlZCBhbnl3YXlcbiAgICBpZiAoT2JqZWN0LmlzRXh0ZW5zaWJsZSh2YWx1ZSkpIHtcbiAgICAgICAgZGVmKHZhbHVlLCBcIl9fdl9za2lwXCIgLyogUmVhY3RpdmVGbGFncy5TS0lQICovLCB0cnVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gaXNDb2xsZWN0aW9uVHlwZSh2YWx1ZSkge1xuICAgIHZhciB0eXBlID0gdG9SYXdUeXBlKHZhbHVlKTtcbiAgICByZXR1cm4gKHR5cGUgPT09ICdNYXAnIHx8IHR5cGUgPT09ICdXZWFrTWFwJyB8fCB0eXBlID09PSAnU2V0JyB8fCB0eXBlID09PSAnV2Vha1NldCcpO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG52YXIgUmVmRmxhZyA9IFwiX192X2lzUmVmXCI7XG5mdW5jdGlvbiBpc1JlZihyKSB7XG4gICAgcmV0dXJuICEhKHIgJiYgci5fX3ZfaXNSZWYgPT09IHRydWUpO1xufVxuZnVuY3Rpb24gcmVmJDEodmFsdWUpIHtcbiAgICByZXR1cm4gY3JlYXRlUmVmKHZhbHVlLCBmYWxzZSk7XG59XG5mdW5jdGlvbiBzaGFsbG93UmVmKHZhbHVlKSB7XG4gICAgcmV0dXJuIGNyZWF0ZVJlZih2YWx1ZSwgdHJ1ZSk7XG59XG5mdW5jdGlvbiBjcmVhdGVSZWYocmF3VmFsdWUsIHNoYWxsb3cpIHtcbiAgICBpZiAoaXNSZWYocmF3VmFsdWUpKSB7XG4gICAgICAgIHJldHVybiByYXdWYWx1ZTtcbiAgICB9XG4gICAgdmFyIHJlZiA9IHt9O1xuICAgIGRlZihyZWYsIFJlZkZsYWcsIHRydWUpO1xuICAgIGRlZihyZWYsIFwiX192X2lzU2hhbGxvd1wiIC8qIFJlYWN0aXZlRmxhZ3MuSVNfU0hBTExPVyAqLywgc2hhbGxvdyk7XG4gICAgZGVmKHJlZiwgJ2RlcCcsIGRlZmluZVJlYWN0aXZlKHJlZiwgJ3ZhbHVlJywgcmF3VmFsdWUsIG51bGwsIHNoYWxsb3csIGlzU2VydmVyUmVuZGVyaW5nKCkpKTtcbiAgICByZXR1cm4gcmVmO1xufVxuZnVuY3Rpb24gdHJpZ2dlclJlZihyZWYpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhcmVmLmRlcCkge1xuICAgICAgICB3YXJuJDIoXCJyZWNlaXZlZCBvYmplY3QgaXMgbm90IGEgdHJpZ2dlcmFibGUgcmVmLlwiKTtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgcmVmLmRlcCAmJlxuICAgICAgICAgICAgcmVmLmRlcC5ub3RpZnkoe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwic2V0XCIgLyogVHJpZ2dlck9wVHlwZXMuU0VUICovLFxuICAgICAgICAgICAgICAgIHRhcmdldDogcmVmLFxuICAgICAgICAgICAgICAgIGtleTogJ3ZhbHVlJ1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZWYuZGVwICYmIHJlZi5kZXAubm90aWZ5KCk7XG4gICAgfVxufVxuZnVuY3Rpb24gdW5yZWYocmVmKSB7XG4gICAgcmV0dXJuIGlzUmVmKHJlZikgPyByZWYudmFsdWUgOiByZWY7XG59XG5mdW5jdGlvbiBwcm94eVJlZnMob2JqZWN0V2l0aFJlZnMpIHtcbiAgICBpZiAoaXNSZWFjdGl2ZShvYmplY3RXaXRoUmVmcykpIHtcbiAgICAgICAgcmV0dXJuIG9iamVjdFdpdGhSZWZzO1xuICAgIH1cbiAgICB2YXIgcHJveHkgPSB7fTtcbiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdFdpdGhSZWZzKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcHJveHlXaXRoUmVmVW53cmFwKHByb3h5LCBvYmplY3RXaXRoUmVmcywga2V5c1tpXSk7XG4gICAgfVxuICAgIHJldHVybiBwcm94eTtcbn1cbmZ1bmN0aW9uIHByb3h5V2l0aFJlZlVud3JhcCh0YXJnZXQsIHNvdXJjZSwga2V5KSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gc291cmNlW2tleV07XG4gICAgICAgICAgICBpZiAoaXNSZWYodmFsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWwudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgb2IgPSB2YWwgJiYgdmFsLl9fb2JfXztcbiAgICAgICAgICAgICAgICBpZiAob2IpXG4gICAgICAgICAgICAgICAgICAgIG9iLmRlcC5kZXBlbmQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgdmFyIG9sZFZhbHVlID0gc291cmNlW2tleV07XG4gICAgICAgICAgICBpZiAoaXNSZWYob2xkVmFsdWUpICYmICFpc1JlZih2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBvbGRWYWx1ZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgc291cmNlW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gY3VzdG9tUmVmKGZhY3RvcnkpIHtcbiAgICB2YXIgZGVwID0gbmV3IERlcCgpO1xuICAgIHZhciBfYSA9IGZhY3RvcnkoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgZGVwLmRlcGVuZCh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiByZWYsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJnZXRcIiAvKiBUcmFja09wVHlwZXMuR0VUICovLFxuICAgICAgICAgICAgICAgIGtleTogJ3ZhbHVlJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkZXAuZGVwZW5kKCk7XG4gICAgICAgIH1cbiAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICBkZXAubm90aWZ5KHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHJlZixcbiAgICAgICAgICAgICAgICB0eXBlOiBcInNldFwiIC8qIFRyaWdnZXJPcFR5cGVzLlNFVCAqLyxcbiAgICAgICAgICAgICAgICBrZXk6ICd2YWx1ZSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGVwLm5vdGlmeSgpO1xuICAgICAgICB9XG4gICAgfSksIGdldCA9IF9hLmdldCwgc2V0ID0gX2Euc2V0O1xuICAgIHZhciByZWYgPSB7XG4gICAgICAgIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0IHZhbHVlKG5ld1ZhbCkge1xuICAgICAgICAgICAgc2V0KG5ld1ZhbCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGRlZihyZWYsIFJlZkZsYWcsIHRydWUpO1xuICAgIHJldHVybiByZWY7XG59XG5mdW5jdGlvbiB0b1JlZnMob2JqZWN0KSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIWlzUmVhY3RpdmUob2JqZWN0KSkge1xuICAgICAgICB3YXJuJDIoXCJ0b1JlZnMoKSBleHBlY3RzIGEgcmVhY3RpdmUgb2JqZWN0IGJ1dCByZWNlaXZlZCBhIHBsYWluIG9uZS5cIik7XG4gICAgfVxuICAgIHZhciByZXQgPSBpc0FycmF5KG9iamVjdCkgPyBuZXcgQXJyYXkob2JqZWN0Lmxlbmd0aCkgOiB7fTtcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICAgIHJldFtrZXldID0gdG9SZWYob2JqZWN0LCBrZXkpO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xufVxuZnVuY3Rpb24gdG9SZWYob2JqZWN0LCBrZXksIGRlZmF1bHRWYWx1ZSkge1xuICAgIHZhciB2YWwgPSBvYmplY3Rba2V5XTtcbiAgICBpZiAoaXNSZWYodmFsKSkge1xuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cbiAgICB2YXIgcmVmID0ge1xuICAgICAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gb2JqZWN0W2tleV07XG4gICAgICAgICAgICByZXR1cm4gdmFsID09PSB1bmRlZmluZWQgPyBkZWZhdWx0VmFsdWUgOiB2YWw7XG4gICAgICAgIH0sXG4gICAgICAgIHNldCB2YWx1ZShuZXdWYWwpIHtcbiAgICAgICAgICAgIG9iamVjdFtrZXldID0gbmV3VmFsO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBkZWYocmVmLCBSZWZGbGFnLCB0cnVlKTtcbiAgICByZXR1cm4gcmVmO1xufVxuXG52YXIgcmF3VG9SZWFkb25seUZsYWcgPSBcIl9fdl9yYXdUb1JlYWRvbmx5XCI7XG52YXIgcmF3VG9TaGFsbG93UmVhZG9ubHlGbGFnID0gXCJfX3ZfcmF3VG9TaGFsbG93UmVhZG9ubHlcIjtcbmZ1bmN0aW9uIHJlYWRvbmx5KHRhcmdldCkge1xuICAgIHJldHVybiBjcmVhdGVSZWFkb25seSh0YXJnZXQsIGZhbHNlKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVJlYWRvbmx5KHRhcmdldCwgc2hhbGxvdykge1xuICAgIGlmICghaXNQbGFpbk9iamVjdCh0YXJnZXQpKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICBpZiAoaXNBcnJheSh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiVnVlIDIgZG9lcyBub3Qgc3VwcG9ydCByZWFkb25seSBhcnJheXMuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNDb2xsZWN0aW9uVHlwZSh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiVnVlIDIgZG9lcyBub3Qgc3VwcG9ydCByZWFkb25seSBjb2xsZWN0aW9uIHR5cGVzIHN1Y2ggYXMgTWFwIG9yIFNldC5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJ2YWx1ZSBjYW5ub3QgYmUgbWFkZSByZWFkb25seTogXCIuY29uY2F0KHR5cGVvZiB0YXJnZXQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhT2JqZWN0LmlzRXh0ZW5zaWJsZSh0YXJnZXQpKSB7XG4gICAgICAgIHdhcm4kMihcIlZ1ZSAyIGRvZXMgbm90IHN1cHBvcnQgY3JlYXRpbmcgcmVhZG9ubHkgcHJveHkgZm9yIG5vbi1leHRlbnNpYmxlIG9iamVjdC5cIik7XG4gICAgfVxuICAgIC8vIGFscmVhZHkgYSByZWFkb25seSBvYmplY3RcbiAgICBpZiAoaXNSZWFkb25seSh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfVxuICAgIC8vIGFscmVhZHkgaGFzIGEgcmVhZG9ubHkgcHJveHlcbiAgICB2YXIgZXhpc3RpbmdGbGFnID0gc2hhbGxvdyA/IHJhd1RvU2hhbGxvd1JlYWRvbmx5RmxhZyA6IHJhd1RvUmVhZG9ubHlGbGFnO1xuICAgIHZhciBleGlzdGluZ1Byb3h5ID0gdGFyZ2V0W2V4aXN0aW5nRmxhZ107XG4gICAgaWYgKGV4aXN0aW5nUHJveHkpIHtcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nUHJveHk7XG4gICAgfVxuICAgIHZhciBwcm94eSA9IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCkpO1xuICAgIGRlZih0YXJnZXQsIGV4aXN0aW5nRmxhZywgcHJveHkpO1xuICAgIGRlZihwcm94eSwgXCJfX3ZfaXNSZWFkb25seVwiIC8qIFJlYWN0aXZlRmxhZ3MuSVNfUkVBRE9OTFkgKi8sIHRydWUpO1xuICAgIGRlZihwcm94eSwgXCJfX3ZfcmF3XCIgLyogUmVhY3RpdmVGbGFncy5SQVcgKi8sIHRhcmdldCk7XG4gICAgaWYgKGlzUmVmKHRhcmdldCkpIHtcbiAgICAgICAgZGVmKHByb3h5LCBSZWZGbGFnLCB0cnVlKTtcbiAgICB9XG4gICAgaWYgKHNoYWxsb3cgfHwgaXNTaGFsbG93KHRhcmdldCkpIHtcbiAgICAgICAgZGVmKHByb3h5LCBcIl9fdl9pc1NoYWxsb3dcIiAvKiBSZWFjdGl2ZUZsYWdzLklTX1NIQUxMT1cgKi8sIHRydWUpO1xuICAgIH1cbiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHRhcmdldCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGRlZmluZVJlYWRvbmx5UHJvcGVydHkocHJveHksIHRhcmdldCwga2V5c1tpXSwgc2hhbGxvdyk7XG4gICAgfVxuICAgIHJldHVybiBwcm94eTtcbn1cbmZ1bmN0aW9uIGRlZmluZVJlYWRvbmx5UHJvcGVydHkocHJveHksIHRhcmdldCwga2V5LCBzaGFsbG93KSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3h5LCBrZXksIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciB2YWwgPSB0YXJnZXRba2V5XTtcbiAgICAgICAgICAgIHJldHVybiBzaGFsbG93IHx8ICFpc1BsYWluT2JqZWN0KHZhbCkgPyB2YWwgOiByZWFkb25seSh2YWwpO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJTZXQgb3BlcmF0aW9uIG9uIGtleSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGZhaWxlZDogdGFyZ2V0IGlzIHJlYWRvbmx5LlwiKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbi8qKlxuICogUmV0dXJucyBhIHJlYWN0aXZlLWNvcHkgb2YgdGhlIG9yaWdpbmFsIG9iamVjdCwgd2hlcmUgb25seSB0aGUgcm9vdCBsZXZlbFxuICogcHJvcGVydGllcyBhcmUgcmVhZG9ubHksIGFuZCBkb2VzIE5PVCB1bndyYXAgcmVmcyBub3IgcmVjdXJzaXZlbHkgY29udmVydFxuICogcmV0dXJuZWQgcHJvcGVydGllcy5cbiAqIFRoaXMgaXMgdXNlZCBmb3IgY3JlYXRpbmcgdGhlIHByb3BzIHByb3h5IG9iamVjdCBmb3Igc3RhdGVmdWwgY29tcG9uZW50cy5cbiAqL1xuZnVuY3Rpb24gc2hhbGxvd1JlYWRvbmx5KHRhcmdldCkge1xuICAgIHJldHVybiBjcmVhdGVSZWFkb25seSh0YXJnZXQsIHRydWUpO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlZChnZXR0ZXJPck9wdGlvbnMsIGRlYnVnT3B0aW9ucykge1xuICAgIHZhciBnZXR0ZXI7XG4gICAgdmFyIHNldHRlcjtcbiAgICB2YXIgb25seUdldHRlciA9IGlzRnVuY3Rpb24oZ2V0dGVyT3JPcHRpb25zKTtcbiAgICBpZiAob25seUdldHRlcikge1xuICAgICAgICBnZXR0ZXIgPSBnZXR0ZXJPck9wdGlvbnM7XG4gICAgICAgIHNldHRlciA9IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbidcbiAgICAgICAgICAgID8gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHdhcm4kMignV3JpdGUgb3BlcmF0aW9uIGZhaWxlZDogY29tcHV0ZWQgdmFsdWUgaXMgcmVhZG9ubHknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogbm9vcDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGdldHRlciA9IGdldHRlck9yT3B0aW9ucy5nZXQ7XG4gICAgICAgIHNldHRlciA9IGdldHRlck9yT3B0aW9ucy5zZXQ7XG4gICAgfVxuICAgIHZhciB3YXRjaGVyID0gaXNTZXJ2ZXJSZW5kZXJpbmcoKVxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiBuZXcgV2F0Y2hlcihjdXJyZW50SW5zdGFuY2UsIGdldHRlciwgbm9vcCwgeyBsYXp5OiB0cnVlIH0pO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhdGNoZXIgJiYgZGVidWdPcHRpb25zKSB7XG4gICAgICAgIHdhdGNoZXIub25UcmFjayA9IGRlYnVnT3B0aW9ucy5vblRyYWNrO1xuICAgICAgICB3YXRjaGVyLm9uVHJpZ2dlciA9IGRlYnVnT3B0aW9ucy5vblRyaWdnZXI7XG4gICAgfVxuICAgIHZhciByZWYgPSB7XG4gICAgICAgIC8vIHNvbWUgbGlicyByZWx5IG9uIHRoZSBwcmVzZW5jZSBlZmZlY3QgZm9yIGNoZWNraW5nIGNvbXB1dGVkIHJlZnNcbiAgICAgICAgLy8gZnJvbSBub3JtYWwgcmVmcywgYnV0IHRoZSBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IG1hdHRlclxuICAgICAgICBlZmZlY3Q6IHdhdGNoZXIsXG4gICAgICAgIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgICAgIGlmICh3YXRjaGVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHdhdGNoZXIuZGlydHkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2F0Y2hlci5ldmFsdWF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoRGVwLnRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBEZXAudGFyZ2V0Lm9uVHJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIERlcC50YXJnZXQub25UcmFjayh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiBEZXAudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogcmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZ2V0XCIgLyogVHJhY2tPcFR5cGVzLkdFVCAqLyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICd2YWx1ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHdhdGNoZXIuZGVwZW5kKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB3YXRjaGVyLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldHRlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzZXQgdmFsdWUobmV3VmFsKSB7XG4gICAgICAgICAgICBzZXR0ZXIobmV3VmFsKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZGVmKHJlZiwgUmVmRmxhZywgdHJ1ZSk7XG4gICAgZGVmKHJlZiwgXCJfX3ZfaXNSZWFkb25seVwiIC8qIFJlYWN0aXZlRmxhZ3MuSVNfUkVBRE9OTFkgKi8sIG9ubHlHZXR0ZXIpO1xuICAgIHJldHVybiByZWY7XG59XG5cbnZhciBtYXJrO1xudmFyIG1lYXN1cmU7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHZhciBwZXJmXzEgPSBpbkJyb3dzZXIgJiYgd2luZG93LnBlcmZvcm1hbmNlO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwZXJmXzEgJiZcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwZXJmXzEubWFyayAmJlxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHBlcmZfMS5tZWFzdXJlICYmXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcGVyZl8xLmNsZWFyTWFya3MgJiZcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwZXJmXzEuY2xlYXJNZWFzdXJlcykge1xuICAgICAgICBtYXJrID0gZnVuY3Rpb24gKHRhZykgeyByZXR1cm4gcGVyZl8xLm1hcmsodGFnKTsgfTtcbiAgICAgICAgbWVhc3VyZSA9IGZ1bmN0aW9uIChuYW1lLCBzdGFydFRhZywgZW5kVGFnKSB7XG4gICAgICAgICAgICBwZXJmXzEubWVhc3VyZShuYW1lLCBzdGFydFRhZywgZW5kVGFnKTtcbiAgICAgICAgICAgIHBlcmZfMS5jbGVhck1hcmtzKHN0YXJ0VGFnKTtcbiAgICAgICAgICAgIHBlcmZfMS5jbGVhck1hcmtzKGVuZFRhZyk7XG4gICAgICAgICAgICAvLyBwZXJmLmNsZWFyTWVhc3VyZXMobmFtZSlcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbnZhciBub3JtYWxpemVFdmVudCA9IGNhY2hlZChmdW5jdGlvbiAobmFtZSkge1xuICAgIHZhciBwYXNzaXZlID0gbmFtZS5jaGFyQXQoMCkgPT09ICcmJztcbiAgICBuYW1lID0gcGFzc2l2ZSA/IG5hbWUuc2xpY2UoMSkgOiBuYW1lO1xuICAgIHZhciBvbmNlID0gbmFtZS5jaGFyQXQoMCkgPT09ICd+JzsgLy8gUHJlZml4ZWQgbGFzdCwgY2hlY2tlZCBmaXJzdFxuICAgIG5hbWUgPSBvbmNlID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gICAgdmFyIGNhcHR1cmUgPSBuYW1lLmNoYXJBdCgwKSA9PT0gJyEnO1xuICAgIG5hbWUgPSBjYXB0dXJlID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgb25jZTogb25jZSxcbiAgICAgICAgY2FwdHVyZTogY2FwdHVyZSxcbiAgICAgICAgcGFzc2l2ZTogcGFzc2l2ZVxuICAgIH07XG59KTtcbmZ1bmN0aW9uIGNyZWF0ZUZuSW52b2tlcihmbnMsIHZtKSB7XG4gICAgZnVuY3Rpb24gaW52b2tlcigpIHtcbiAgICAgICAgdmFyIGZucyA9IGludm9rZXIuZm5zO1xuICAgICAgICBpZiAoaXNBcnJheShmbnMpKSB7XG4gICAgICAgICAgICB2YXIgY2xvbmVkID0gZm5zLnNsaWNlKCk7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNsb25lZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGludm9rZVdpdGhFcnJvckhhbmRsaW5nKGNsb25lZFtpXSwgbnVsbCwgYXJndW1lbnRzLCB2bSwgXCJ2LW9uIGhhbmRsZXJcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gaGFuZGxlciByZXR1cm4gdmFsdWUgZm9yIHNpbmdsZSBoYW5kbGVyc1xuICAgICAgICAgICAgcmV0dXJuIGludm9rZVdpdGhFcnJvckhhbmRsaW5nKGZucywgbnVsbCwgYXJndW1lbnRzLCB2bSwgXCJ2LW9uIGhhbmRsZXJcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW52b2tlci5mbnMgPSBmbnM7XG4gICAgcmV0dXJuIGludm9rZXI7XG59XG5mdW5jdGlvbiB1cGRhdGVMaXN0ZW5lcnMob24sIG9sZE9uLCBhZGQsIHJlbW92ZSwgY3JlYXRlT25jZUhhbmRsZXIsIHZtKSB7XG4gICAgdmFyIG5hbWUsIGN1ciwgb2xkLCBldmVudDtcbiAgICBmb3IgKG5hbWUgaW4gb24pIHtcbiAgICAgICAgY3VyID0gb25bbmFtZV07XG4gICAgICAgIG9sZCA9IG9sZE9uW25hbWVdO1xuICAgICAgICBldmVudCA9IG5vcm1hbGl6ZUV2ZW50KG5hbWUpO1xuICAgICAgICBpZiAoaXNVbmRlZihjdXIpKSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgICAgd2FybiQyKFwiSW52YWxpZCBoYW5kbGVyIGZvciBldmVudCBcXFwiXCIuY29uY2F0KGV2ZW50Lm5hbWUsIFwiXFxcIjogZ290IFwiKSArIFN0cmluZyhjdXIpLCB2bSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNVbmRlZihvbGQpKSB7XG4gICAgICAgICAgICBpZiAoaXNVbmRlZihjdXIuZm5zKSkge1xuICAgICAgICAgICAgICAgIGN1ciA9IG9uW25hbWVdID0gY3JlYXRlRm5JbnZva2VyKGN1ciwgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzVHJ1ZShldmVudC5vbmNlKSkge1xuICAgICAgICAgICAgICAgIGN1ciA9IG9uW25hbWVdID0gY3JlYXRlT25jZUhhbmRsZXIoZXZlbnQubmFtZSwgY3VyLCBldmVudC5jYXB0dXJlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZChldmVudC5uYW1lLCBjdXIsIGV2ZW50LmNhcHR1cmUsIGV2ZW50LnBhc3NpdmUsIGV2ZW50LnBhcmFtcyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY3VyICE9PSBvbGQpIHtcbiAgICAgICAgICAgIG9sZC5mbnMgPSBjdXI7XG4gICAgICAgICAgICBvbltuYW1lXSA9IG9sZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKG5hbWUgaW4gb2xkT24pIHtcbiAgICAgICAgaWYgKGlzVW5kZWYob25bbmFtZV0pKSB7XG4gICAgICAgICAgICBldmVudCA9IG5vcm1hbGl6ZUV2ZW50KG5hbWUpO1xuICAgICAgICAgICAgcmVtb3ZlKGV2ZW50Lm5hbWUsIG9sZE9uW25hbWVdLCBldmVudC5jYXB0dXJlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gbWVyZ2VWTm9kZUhvb2soZGVmLCBob29rS2V5LCBob29rKSB7XG4gICAgaWYgKGRlZiBpbnN0YW5jZW9mIFZOb2RlKSB7XG4gICAgICAgIGRlZiA9IGRlZi5kYXRhLmhvb2sgfHwgKGRlZi5kYXRhLmhvb2sgPSB7fSk7XG4gICAgfVxuICAgIHZhciBpbnZva2VyO1xuICAgIHZhciBvbGRIb29rID0gZGVmW2hvb2tLZXldO1xuICAgIGZ1bmN0aW9uIHdyYXBwZWRIb29rKCkge1xuICAgICAgICBob29rLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIC8vIGltcG9ydGFudDogcmVtb3ZlIG1lcmdlZCBob29rIHRvIGVuc3VyZSBpdCdzIGNhbGxlZCBvbmx5IG9uY2VcbiAgICAgICAgLy8gYW5kIHByZXZlbnQgbWVtb3J5IGxlYWtcbiAgICAgICAgcmVtb3ZlJDIoaW52b2tlci5mbnMsIHdyYXBwZWRIb29rKTtcbiAgICB9XG4gICAgaWYgKGlzVW5kZWYob2xkSG9vaykpIHtcbiAgICAgICAgLy8gbm8gZXhpc3RpbmcgaG9va1xuICAgICAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFt3cmFwcGVkSG9va10pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChpc0RlZihvbGRIb29rLmZucykgJiYgaXNUcnVlKG9sZEhvb2subWVyZ2VkKSkge1xuICAgICAgICAgICAgLy8gYWxyZWFkeSBhIG1lcmdlZCBpbnZva2VyXG4gICAgICAgICAgICBpbnZva2VyID0gb2xkSG9vaztcbiAgICAgICAgICAgIGludm9rZXIuZm5zLnB1c2god3JhcHBlZEhvb2spO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gZXhpc3RpbmcgcGxhaW4gaG9va1xuICAgICAgICAgICAgaW52b2tlciA9IGNyZWF0ZUZuSW52b2tlcihbb2xkSG9vaywgd3JhcHBlZEhvb2tdKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnZva2VyLm1lcmdlZCA9IHRydWU7XG4gICAgZGVmW2hvb2tLZXldID0gaW52b2tlcjtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFByb3BzRnJvbVZOb2RlRGF0YShkYXRhLCBDdG9yLCB0YWcpIHtcbiAgICAvLyB3ZSBhcmUgb25seSBleHRyYWN0aW5nIHJhdyB2YWx1ZXMgaGVyZS5cbiAgICAvLyB2YWxpZGF0aW9uIGFuZCBkZWZhdWx0IHZhbHVlcyBhcmUgaGFuZGxlZCBpbiB0aGUgY2hpbGRcbiAgICAvLyBjb21wb25lbnQgaXRzZWxmLlxuICAgIHZhciBwcm9wT3B0aW9ucyA9IEN0b3Iub3B0aW9ucy5wcm9wcztcbiAgICBpZiAoaXNVbmRlZihwcm9wT3B0aW9ucykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgcmVzID0ge307XG4gICAgdmFyIGF0dHJzID0gZGF0YS5hdHRycywgcHJvcHMgPSBkYXRhLnByb3BzO1xuICAgIGlmIChpc0RlZihhdHRycykgfHwgaXNEZWYocHJvcHMpKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgICAgICAgdmFyIGFsdEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICB2YXIga2V5SW5Mb3dlckNhc2UgPSBrZXkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBrZXlJbkxvd2VyQ2FzZSAmJiBhdHRycyAmJiBoYXNPd24oYXR0cnMsIGtleUluTG93ZXJDYXNlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aXAoXCJQcm9wIFxcXCJcIi5jb25jYXQoa2V5SW5Mb3dlckNhc2UsIFwiXFxcIiBpcyBwYXNzZWQgdG8gY29tcG9uZW50IFwiKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlwiLmNvbmNhdChmb3JtYXRDb21wb25lbnROYW1lKFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciB0YWcgaXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWcgfHwgQ3RvciksIFwiLCBidXQgdGhlIGRlY2xhcmVkIHByb3AgbmFtZSBpc1wiKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBcIiBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiLiBcIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJOb3RlIHRoYXQgSFRNTCBhdHRyaWJ1dGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCBjYW1lbENhc2VkIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHJvcHMgbmVlZCB0byB1c2UgdGhlaXIga2ViYWItY2FzZSBlcXVpdmFsZW50cyB3aGVuIHVzaW5nIGluLURPTSBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRlbXBsYXRlcy4gWW91IHNob3VsZCBwcm9iYWJseSB1c2UgXFxcIlwiLmNvbmNhdChhbHRLZXksIFwiXFxcIiBpbnN0ZWFkIG9mIFxcXCJcIikuY29uY2F0KGtleSwgXCJcXFwiLlwiKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hlY2tQcm9wKHJlcywgcHJvcHMsIGtleSwgYWx0S2V5LCB0cnVlKSB8fFxuICAgICAgICAgICAgICAgIGNoZWNrUHJvcChyZXMsIGF0dHJzLCBrZXksIGFsdEtleSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5mdW5jdGlvbiBjaGVja1Byb3AocmVzLCBoYXNoLCBrZXksIGFsdEtleSwgcHJlc2VydmUpIHtcbiAgICBpZiAoaXNEZWYoaGFzaCkpIHtcbiAgICAgICAgaWYgKGhhc093bihoYXNoLCBrZXkpKSB7XG4gICAgICAgICAgICByZXNba2V5XSA9IGhhc2hba2V5XTtcbiAgICAgICAgICAgIGlmICghcHJlc2VydmUpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgaGFzaFtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaGFzT3duKGhhc2gsIGFsdEtleSkpIHtcbiAgICAgICAgICAgIHJlc1trZXldID0gaGFzaFthbHRLZXldO1xuICAgICAgICAgICAgaWYgKCFwcmVzZXJ2ZSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBoYXNoW2FsdEtleV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbi8vIFRoZSB0ZW1wbGF0ZSBjb21waWxlciBhdHRlbXB0cyB0byBtaW5pbWl6ZSB0aGUgbmVlZCBmb3Igbm9ybWFsaXphdGlvbiBieVxuLy8gc3RhdGljYWxseSBhbmFseXppbmcgdGhlIHRlbXBsYXRlIGF0IGNvbXBpbGUgdGltZS5cbi8vXG4vLyBGb3IgcGxhaW4gSFRNTCBtYXJrdXAsIG5vcm1hbGl6YXRpb24gY2FuIGJlIGNvbXBsZXRlbHkgc2tpcHBlZCBiZWNhdXNlIHRoZVxuLy8gZ2VuZXJhdGVkIHJlbmRlciBmdW5jdGlvbiBpcyBndWFyYW50ZWVkIHRvIHJldHVybiBBcnJheTxWTm9kZT4uIFRoZXJlIGFyZVxuLy8gdHdvIGNhc2VzIHdoZXJlIGV4dHJhIG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkOlxuLy8gMS4gV2hlbiB0aGUgY2hpbGRyZW4gY29udGFpbnMgY29tcG9uZW50cyAtIGJlY2F1c2UgYSBmdW5jdGlvbmFsIGNvbXBvbmVudFxuLy8gbWF5IHJldHVybiBhbiBBcnJheSBpbnN0ZWFkIG9mIGEgc2luZ2xlIHJvb3QuIEluIHRoaXMgY2FzZSwganVzdCBhIHNpbXBsZVxuLy8gbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQgLSBpZiBhbnkgY2hpbGQgaXMgYW4gQXJyYXksIHdlIGZsYXR0ZW4gdGhlIHdob2xlXG4vLyB0aGluZyB3aXRoIEFycmF5LnByb3RvdHlwZS5jb25jYXQuIEl0IGlzIGd1YXJhbnRlZWQgdG8gYmUgb25seSAxLWxldmVsIGRlZXBcbi8vIGJlY2F1c2UgZnVuY3Rpb25hbCBjb21wb25lbnRzIGFscmVhZHkgbm9ybWFsaXplIHRoZWlyIG93biBjaGlsZHJlbi5cbmZ1bmN0aW9uIHNpbXBsZU5vcm1hbGl6ZUNoaWxkcmVuKGNoaWxkcmVuKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXNBcnJheShjaGlsZHJlbltpXSkpIHtcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLCBjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xufVxuLy8gMi4gV2hlbiB0aGUgY2hpbGRyZW4gY29udGFpbnMgY29uc3RydWN0cyB0aGF0IGFsd2F5cyBnZW5lcmF0ZWQgbmVzdGVkIEFycmF5cyxcbi8vIGUuZy4gPHRlbXBsYXRlPiwgPHNsb3Q+LCB2LWZvciwgb3Igd2hlbiB0aGUgY2hpbGRyZW4gaXMgcHJvdmlkZWQgYnkgdXNlclxuLy8gd2l0aCBoYW5kLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0aW9ucyAvIEpTWC4gSW4gc3VjaCBjYXNlcyBhIGZ1bGwgbm9ybWFsaXphdGlvblxuLy8gaXMgbmVlZGVkIHRvIGNhdGVyIHRvIGFsbCBwb3NzaWJsZSB0eXBlcyBvZiBjaGlsZHJlbiB2YWx1ZXMuXG5mdW5jdGlvbiBub3JtYWxpemVDaGlsZHJlbihjaGlsZHJlbikge1xuICAgIHJldHVybiBpc1ByaW1pdGl2ZShjaGlsZHJlbilcbiAgICAgICAgPyBbY3JlYXRlVGV4dFZOb2RlKGNoaWxkcmVuKV1cbiAgICAgICAgOiBpc0FycmF5KGNoaWxkcmVuKVxuICAgICAgICAgICAgPyBub3JtYWxpemVBcnJheUNoaWxkcmVuKGNoaWxkcmVuKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBpc1RleHROb2RlKG5vZGUpIHtcbiAgICByZXR1cm4gaXNEZWYobm9kZSkgJiYgaXNEZWYobm9kZS50ZXh0KSAmJiBpc0ZhbHNlKG5vZGUuaXNDb21tZW50KTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZUFycmF5Q2hpbGRyZW4oY2hpbGRyZW4sIG5lc3RlZEluZGV4KSB7XG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIHZhciBpLCBjLCBsYXN0SW5kZXgsIGxhc3Q7XG4gICAgZm9yIChpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGMgPSBjaGlsZHJlbltpXTtcbiAgICAgICAgaWYgKGlzVW5kZWYoYykgfHwgdHlwZW9mIGMgPT09ICdib29sZWFuJylcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBsYXN0SW5kZXggPSByZXMubGVuZ3RoIC0gMTtcbiAgICAgICAgbGFzdCA9IHJlc1tsYXN0SW5kZXhdO1xuICAgICAgICAvLyAgbmVzdGVkXG4gICAgICAgIGlmIChpc0FycmF5KGMpKSB7XG4gICAgICAgICAgICBpZiAoYy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgYyA9IG5vcm1hbGl6ZUFycmF5Q2hpbGRyZW4oYywgXCJcIi5jb25jYXQobmVzdGVkSW5kZXggfHwgJycsIFwiX1wiKS5jb25jYXQoaSkpO1xuICAgICAgICAgICAgICAgIC8vIG1lcmdlIGFkamFjZW50IHRleHQgbm9kZXNcbiAgICAgICAgICAgICAgICBpZiAoaXNUZXh0Tm9kZShjWzBdKSAmJiBpc1RleHROb2RlKGxhc3QpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc1tsYXN0SW5kZXhdID0gY3JlYXRlVGV4dFZOb2RlKGxhc3QudGV4dCArIGNbMF0udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGMuc2hpZnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzLnB1c2guYXBwbHkocmVzLCBjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1ByaW1pdGl2ZShjKSkge1xuICAgICAgICAgICAgaWYgKGlzVGV4dE5vZGUobGFzdCkpIHtcbiAgICAgICAgICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBuZWNlc3NhcnkgZm9yIFNTUiBoeWRyYXRpb24gYmVjYXVzZSB0ZXh0IG5vZGVzIGFyZVxuICAgICAgICAgICAgICAgIC8vIGVzc2VudGlhbGx5IG1lcmdlZCB3aGVuIHJlbmRlcmVkIHRvIEhUTUwgc3RyaW5nc1xuICAgICAgICAgICAgICAgIHJlc1tsYXN0SW5kZXhdID0gY3JlYXRlVGV4dFZOb2RlKGxhc3QudGV4dCArIGMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoYyAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAvLyBjb252ZXJ0IHByaW1pdGl2ZSB0byB2bm9kZVxuICAgICAgICAgICAgICAgIHJlcy5wdXNoKGNyZWF0ZVRleHRWTm9kZShjKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoaXNUZXh0Tm9kZShjKSAmJiBpc1RleHROb2RlKGxhc3QpKSB7XG4gICAgICAgICAgICAgICAgLy8gbWVyZ2UgYWRqYWNlbnQgdGV4dCBub2Rlc1xuICAgICAgICAgICAgICAgIHJlc1tsYXN0SW5kZXhdID0gY3JlYXRlVGV4dFZOb2RlKGxhc3QudGV4dCArIGMudGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBkZWZhdWx0IGtleSBmb3IgbmVzdGVkIGFycmF5IGNoaWxkcmVuIChsaWtlbHkgZ2VuZXJhdGVkIGJ5IHYtZm9yKVxuICAgICAgICAgICAgICAgIGlmIChpc1RydWUoY2hpbGRyZW4uX2lzVkxpc3QpICYmXG4gICAgICAgICAgICAgICAgICAgIGlzRGVmKGMudGFnKSAmJlxuICAgICAgICAgICAgICAgICAgICBpc1VuZGVmKGMua2V5KSAmJlxuICAgICAgICAgICAgICAgICAgICBpc0RlZihuZXN0ZWRJbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYy5rZXkgPSBcIl9fdmxpc3RcIi5jb25jYXQobmVzdGVkSW5kZXgsIFwiX1wiKS5jb25jYXQoaSwgXCJfX1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cblxudmFyIFNJTVBMRV9OT1JNQUxJWkUgPSAxO1xudmFyIEFMV0FZU19OT1JNQUxJWkUgPSAyO1xuLy8gd3JhcHBlciBmdW5jdGlvbiBmb3IgcHJvdmlkaW5nIGEgbW9yZSBmbGV4aWJsZSBpbnRlcmZhY2Vcbi8vIHdpdGhvdXQgZ2V0dGluZyB5ZWxsZWQgYXQgYnkgZmxvd1xuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCQxKGNvbnRleHQsIHRhZywgZGF0YSwgY2hpbGRyZW4sIG5vcm1hbGl6YXRpb25UeXBlLCBhbHdheXNOb3JtYWxpemUpIHtcbiAgICBpZiAoaXNBcnJheShkYXRhKSB8fCBpc1ByaW1pdGl2ZShkYXRhKSkge1xuICAgICAgICBub3JtYWxpemF0aW9uVHlwZSA9IGNoaWxkcmVuO1xuICAgICAgICBjaGlsZHJlbiA9IGRhdGE7XG4gICAgICAgIGRhdGEgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmIChpc1RydWUoYWx3YXlzTm9ybWFsaXplKSkge1xuICAgICAgICBub3JtYWxpemF0aW9uVHlwZSA9IEFMV0FZU19OT1JNQUxJWkU7XG4gICAgfVxuICAgIHJldHVybiBfY3JlYXRlRWxlbWVudChjb250ZXh0LCB0YWcsIGRhdGEsIGNoaWxkcmVuLCBub3JtYWxpemF0aW9uVHlwZSk7XG59XG5mdW5jdGlvbiBfY3JlYXRlRWxlbWVudChjb250ZXh0LCB0YWcsIGRhdGEsIGNoaWxkcmVuLCBub3JtYWxpemF0aW9uVHlwZSkge1xuICAgIGlmIChpc0RlZihkYXRhKSAmJiBpc0RlZihkYXRhLl9fb2JfXykpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgd2FybiQyKFwiQXZvaWQgdXNpbmcgb2JzZXJ2ZWQgZGF0YSBvYmplY3QgYXMgdm5vZGUgZGF0YTogXCIuY29uY2F0KEpTT04uc3RyaW5naWZ5KGRhdGEpLCBcIlxcblwiKSArICdBbHdheXMgY3JlYXRlIGZyZXNoIHZub2RlIGRhdGEgb2JqZWN0cyBpbiBlYWNoIHJlbmRlciEnLCBjb250ZXh0KTtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKTtcbiAgICB9XG4gICAgLy8gb2JqZWN0IHN5bnRheCBpbiB2LWJpbmRcbiAgICBpZiAoaXNEZWYoZGF0YSkgJiYgaXNEZWYoZGF0YS5pcykpIHtcbiAgICAgICAgdGFnID0gZGF0YS5pcztcbiAgICB9XG4gICAgaWYgKCF0YWcpIHtcbiAgICAgICAgLy8gaW4gY2FzZSBvZiBjb21wb25lbnQgOmlzIHNldCB0byBmYWxzeSB2YWx1ZVxuICAgICAgICByZXR1cm4gY3JlYXRlRW1wdHlWTm9kZSgpO1xuICAgIH1cbiAgICAvLyB3YXJuIGFnYWluc3Qgbm9uLXByaW1pdGl2ZSBrZXlcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc0RlZihkYXRhKSAmJiBpc0RlZihkYXRhLmtleSkgJiYgIWlzUHJpbWl0aXZlKGRhdGEua2V5KSkge1xuICAgICAgICB3YXJuJDIoJ0F2b2lkIHVzaW5nIG5vbi1wcmltaXRpdmUgdmFsdWUgYXMga2V5LCAnICtcbiAgICAgICAgICAgICd1c2Ugc3RyaW5nL251bWJlciB2YWx1ZSBpbnN0ZWFkLicsIGNvbnRleHQpO1xuICAgIH1cbiAgICAvLyBzdXBwb3J0IHNpbmdsZSBmdW5jdGlvbiBjaGlsZHJlbiBhcyBkZWZhdWx0IHNjb3BlZCBzbG90XG4gICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pICYmIGlzRnVuY3Rpb24oY2hpbGRyZW5bMF0pKSB7XG4gICAgICAgIGRhdGEgPSBkYXRhIHx8IHt9O1xuICAgICAgICBkYXRhLnNjb3BlZFNsb3RzID0geyBkZWZhdWx0OiBjaGlsZHJlblswXSB9O1xuICAgICAgICBjaGlsZHJlbi5sZW5ndGggPSAwO1xuICAgIH1cbiAgICBpZiAobm9ybWFsaXphdGlvblR5cGUgPT09IEFMV0FZU19OT1JNQUxJWkUpIHtcbiAgICAgICAgY2hpbGRyZW4gPSBub3JtYWxpemVDaGlsZHJlbihjaGlsZHJlbik7XG4gICAgfVxuICAgIGVsc2UgaWYgKG5vcm1hbGl6YXRpb25UeXBlID09PSBTSU1QTEVfTk9STUFMSVpFKSB7XG4gICAgICAgIGNoaWxkcmVuID0gc2ltcGxlTm9ybWFsaXplQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICAgIH1cbiAgICB2YXIgdm5vZGUsIG5zO1xuICAgIGlmICh0eXBlb2YgdGFnID09PSAnc3RyaW5nJykge1xuICAgICAgICB2YXIgQ3RvciA9IHZvaWQgMDtcbiAgICAgICAgbnMgPSAoY29udGV4dC4kdm5vZGUgJiYgY29udGV4dC4kdm5vZGUubnMpIHx8IGNvbmZpZy5nZXRUYWdOYW1lc3BhY2UodGFnKTtcbiAgICAgICAgaWYgKGNvbmZpZy5pc1Jlc2VydmVkVGFnKHRhZykpIHtcbiAgICAgICAgICAgIC8vIHBsYXRmb3JtIGJ1aWx0LWluIGVsZW1lbnRzXG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIGlzRGVmKGRhdGEpICYmXG4gICAgICAgICAgICAgICAgaXNEZWYoZGF0YS5uYXRpdmVPbikgJiZcbiAgICAgICAgICAgICAgICBkYXRhLnRhZyAhPT0gJ2NvbXBvbmVudCcpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJUaGUgLm5hdGl2ZSBtb2RpZmllciBmb3Igdi1vbiBpcyBvbmx5IHZhbGlkIG9uIGNvbXBvbmVudHMgYnV0IGl0IHdhcyB1c2VkIG9uIDxcIi5jb25jYXQodGFnLCBcIj4uXCIpLCBjb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZub2RlID0gbmV3IFZOb2RlKGNvbmZpZy5wYXJzZVBsYXRmb3JtVGFnTmFtZSh0YWcpLCBkYXRhLCBjaGlsZHJlbiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGNvbnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCghZGF0YSB8fCAhZGF0YS5wcmUpICYmXG4gICAgICAgICAgICBpc0RlZigoQ3RvciA9IHJlc29sdmVBc3NldChjb250ZXh0LiRvcHRpb25zLCAnY29tcG9uZW50cycsIHRhZykpKSkge1xuICAgICAgICAgICAgLy8gY29tcG9uZW50XG4gICAgICAgICAgICB2bm9kZSA9IGNyZWF0ZUNvbXBvbmVudChDdG9yLCBkYXRhLCBjb250ZXh0LCBjaGlsZHJlbiwgdGFnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIHVua25vd24gb3IgdW5saXN0ZWQgbmFtZXNwYWNlZCBlbGVtZW50c1xuICAgICAgICAgICAgLy8gY2hlY2sgYXQgcnVudGltZSBiZWNhdXNlIGl0IG1heSBnZXQgYXNzaWduZWQgYSBuYW1lc3BhY2Ugd2hlbiBpdHNcbiAgICAgICAgICAgIC8vIHBhcmVudCBub3JtYWxpemVzIGNoaWxkcmVuXG4gICAgICAgICAgICB2bm9kZSA9IG5ldyBWTm9kZSh0YWcsIGRhdGEsIGNoaWxkcmVuLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29udGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIGRpcmVjdCBjb21wb25lbnQgb3B0aW9ucyAvIGNvbnN0cnVjdG9yXG4gICAgICAgIHZub2RlID0gY3JlYXRlQ29tcG9uZW50KHRhZywgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4pO1xuICAgIH1cbiAgICBpZiAoaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIHZub2RlO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0RlZih2bm9kZSkpIHtcbiAgICAgICAgaWYgKGlzRGVmKG5zKSlcbiAgICAgICAgICAgIGFwcGx5TlModm5vZGUsIG5zKTtcbiAgICAgICAgaWYgKGlzRGVmKGRhdGEpKVxuICAgICAgICAgICAgcmVnaXN0ZXJEZWVwQmluZGluZ3MoZGF0YSk7XG4gICAgICAgIHJldHVybiB2bm9kZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKCk7XG4gICAgfVxufVxuZnVuY3Rpb24gYXBwbHlOUyh2bm9kZSwgbnMsIGZvcmNlKSB7XG4gICAgdm5vZGUubnMgPSBucztcbiAgICBpZiAodm5vZGUudGFnID09PSAnZm9yZWlnbk9iamVjdCcpIHtcbiAgICAgICAgLy8gdXNlIGRlZmF1bHQgbmFtZXNwYWNlIGluc2lkZSBmb3JlaWduT2JqZWN0XG4gICAgICAgIG5zID0gdW5kZWZpbmVkO1xuICAgICAgICBmb3JjZSA9IHRydWU7XG4gICAgfVxuICAgIGlmIChpc0RlZih2bm9kZS5jaGlsZHJlbikpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSB2bm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjaGlsZCA9IHZub2RlLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKGlzRGVmKGNoaWxkLnRhZykgJiZcbiAgICAgICAgICAgICAgICAoaXNVbmRlZihjaGlsZC5ucykgfHwgKGlzVHJ1ZShmb3JjZSkgJiYgY2hpbGQudGFnICE9PSAnc3ZnJykpKSB7XG4gICAgICAgICAgICAgICAgYXBwbHlOUyhjaGlsZCwgbnMsIGZvcmNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIHJlZiAjNTMxOFxuLy8gbmVjZXNzYXJ5IHRvIGVuc3VyZSBwYXJlbnQgcmUtcmVuZGVyIHdoZW4gZGVlcCBiaW5kaW5ncyBsaWtlIDpzdHlsZSBhbmRcbi8vIDpjbGFzcyBhcmUgdXNlZCBvbiBzbG90IG5vZGVzXG5mdW5jdGlvbiByZWdpc3RlckRlZXBCaW5kaW5ncyhkYXRhKSB7XG4gICAgaWYgKGlzT2JqZWN0KGRhdGEuc3R5bGUpKSB7XG4gICAgICAgIHRyYXZlcnNlKGRhdGEuc3R5bGUpO1xuICAgIH1cbiAgICBpZiAoaXNPYmplY3QoZGF0YS5jbGFzcykpIHtcbiAgICAgICAgdHJhdmVyc2UoZGF0YS5jbGFzcyk7XG4gICAgfVxufVxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgdi1mb3IgbGlzdHMuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlckxpc3QodmFsLCByZW5kZXIpIHtcbiAgICB2YXIgcmV0ID0gbnVsbCwgaSwgbCwga2V5cywga2V5O1xuICAgIGlmIChpc0FycmF5KHZhbCkgfHwgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0ID0gbmV3IEFycmF5KHZhbC5sZW5ndGgpO1xuICAgICAgICBmb3IgKGkgPSAwLCBsID0gdmFsLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgcmV0W2ldID0gcmVuZGVyKHZhbFtpXSwgaSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgcmV0ID0gbmV3IEFycmF5KHZhbCk7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCB2YWw7IGkrKykge1xuICAgICAgICAgICAgcmV0W2ldID0gcmVuZGVyKGkgKyAxLCBpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKSB7XG4gICAgICAgIGlmIChoYXNTeW1ib2wgJiYgdmFsW1N5bWJvbC5pdGVyYXRvcl0pIHtcbiAgICAgICAgICAgIHJldCA9IFtdO1xuICAgICAgICAgICAgdmFyIGl0ZXJhdG9yID0gdmFsW1N5bWJvbC5pdGVyYXRvcl0oKTtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSBpdGVyYXRvci5uZXh0KCk7XG4gICAgICAgICAgICB3aGlsZSAoIXJlc3VsdC5kb25lKSB7XG4gICAgICAgICAgICAgICAgcmV0LnB1c2gocmVuZGVyKHJlc3VsdC52YWx1ZSwgcmV0Lmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGtleXMgPSBPYmplY3Qua2V5cyh2YWwpO1xuICAgICAgICAgICAgcmV0ID0gbmV3IEFycmF5KGtleXMubGVuZ3RoKTtcbiAgICAgICAgICAgIGZvciAoaSA9IDAsIGwgPSBrZXlzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIGtleSA9IGtleXNbaV07XG4gICAgICAgICAgICAgICAgcmV0W2ldID0gcmVuZGVyKHZhbFtrZXldLCBrZXksIGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghaXNEZWYocmV0KSkge1xuICAgICAgICByZXQgPSBbXTtcbiAgICB9XG4gICAgcmV0Ll9pc1ZMaXN0ID0gdHJ1ZTtcbiAgICByZXR1cm4gcmV0O1xufVxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgPHNsb3Q+XG4gKi9cbmZ1bmN0aW9uIHJlbmRlclNsb3QobmFtZSwgZmFsbGJhY2tSZW5kZXIsIHByb3BzLCBiaW5kT2JqZWN0KSB7XG4gICAgdmFyIHNjb3BlZFNsb3RGbiA9IHRoaXMuJHNjb3BlZFNsb3RzW25hbWVdO1xuICAgIHZhciBub2RlcztcbiAgICBpZiAoc2NvcGVkU2xvdEZuKSB7XG4gICAgICAgIC8vIHNjb3BlZCBzbG90XG4gICAgICAgIHByb3BzID0gcHJvcHMgfHwge307XG4gICAgICAgIGlmIChiaW5kT2JqZWN0KSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhaXNPYmplY3QoYmluZE9iamVjdCkpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoJ3Nsb3Qgdi1iaW5kIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3QnLCB0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByb3BzID0gZXh0ZW5kKGV4dGVuZCh7fSwgYmluZE9iamVjdCksIHByb3BzKTtcbiAgICAgICAgfVxuICAgICAgICBub2RlcyA9XG4gICAgICAgICAgICBzY29wZWRTbG90Rm4ocHJvcHMpIHx8XG4gICAgICAgICAgICAgICAgKGlzRnVuY3Rpb24oZmFsbGJhY2tSZW5kZXIpID8gZmFsbGJhY2tSZW5kZXIoKSA6IGZhbGxiYWNrUmVuZGVyKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG5vZGVzID1cbiAgICAgICAgICAgIHRoaXMuJHNsb3RzW25hbWVdIHx8XG4gICAgICAgICAgICAgICAgKGlzRnVuY3Rpb24oZmFsbGJhY2tSZW5kZXIpID8gZmFsbGJhY2tSZW5kZXIoKSA6IGZhbGxiYWNrUmVuZGVyKTtcbiAgICB9XG4gICAgdmFyIHRhcmdldCA9IHByb3BzICYmIHByb3BzLnNsb3Q7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgICByZXR1cm4gdGhpcy4kY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnLCB7IHNsb3Q6IHRhcmdldCB9LCBub2Rlcyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbm9kZXM7XG4gICAgfVxufVxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZXNvbHZpbmcgZmlsdGVyc1xuICovXG5mdW5jdGlvbiByZXNvbHZlRmlsdGVyKGlkKSB7XG4gICAgcmV0dXJuIHJlc29sdmVBc3NldCh0aGlzLiRvcHRpb25zLCAnZmlsdGVycycsIGlkLCB0cnVlKSB8fCBpZGVudGl0eTtcbn1cblxuZnVuY3Rpb24gaXNLZXlOb3RNYXRjaChleHBlY3QsIGFjdHVhbCkge1xuICAgIGlmIChpc0FycmF5KGV4cGVjdCkpIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdC5pbmRleE9mKGFjdHVhbCkgPT09IC0xO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdCAhPT0gYWN0dWFsO1xuICAgIH1cbn1cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIGNoZWNraW5nIGtleUNvZGVzIGZyb20gY29uZmlnLlxuICogZXhwb3NlZCBhcyBWdWUucHJvdG90eXBlLl9rXG4gKiBwYXNzaW5nIGluIGV2ZW50S2V5TmFtZSBhcyBsYXN0IGFyZ3VtZW50IHNlcGFyYXRlbHkgZm9yIGJhY2t3YXJkcyBjb21wYXRcbiAqL1xuZnVuY3Rpb24gY2hlY2tLZXlDb2RlcyhldmVudEtleUNvZGUsIGtleSwgYnVpbHRJbktleUNvZGUsIGV2ZW50S2V5TmFtZSwgYnVpbHRJbktleU5hbWUpIHtcbiAgICB2YXIgbWFwcGVkS2V5Q29kZSA9IGNvbmZpZy5rZXlDb2Rlc1trZXldIHx8IGJ1aWx0SW5LZXlDb2RlO1xuICAgIGlmIChidWlsdEluS2V5TmFtZSAmJiBldmVudEtleU5hbWUgJiYgIWNvbmZpZy5rZXlDb2Rlc1trZXldKSB7XG4gICAgICAgIHJldHVybiBpc0tleU5vdE1hdGNoKGJ1aWx0SW5LZXlOYW1lLCBldmVudEtleU5hbWUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChtYXBwZWRLZXlDb2RlKSB7XG4gICAgICAgIHJldHVybiBpc0tleU5vdE1hdGNoKG1hcHBlZEtleUNvZGUsIGV2ZW50S2V5Q29kZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGV2ZW50S2V5TmFtZSkge1xuICAgICAgICByZXR1cm4gaHlwaGVuYXRlKGV2ZW50S2V5TmFtZSkgIT09IGtleTtcbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50S2V5Q29kZSA9PT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciBtZXJnaW5nIHYtYmluZD1cIm9iamVjdFwiIGludG8gYSBWTm9kZSdzIGRhdGEuXG4gKi9cbmZ1bmN0aW9uIGJpbmRPYmplY3RQcm9wcyhkYXRhLCB0YWcsIHZhbHVlLCBhc1Byb3AsIGlzU3luYykge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIHdhcm4kMigndi1iaW5kIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3Qgb3IgQXJyYXkgdmFsdWUnLCB0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdG9PYmplY3QodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGhhc2ggPSB2b2lkIDA7XG4gICAgICAgICAgICB2YXIgX2xvb3BfMSA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAnY2xhc3MnIHx8IGtleSA9PT0gJ3N0eWxlJyB8fCBpc1Jlc2VydmVkQXR0cmlidXRlKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzaCA9IGRhdGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdHlwZSA9IGRhdGEuYXR0cnMgJiYgZGF0YS5hdHRycy50eXBlO1xuICAgICAgICAgICAgICAgICAgICBoYXNoID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFzUHJvcCB8fCBjb25maWcubXVzdFVzZVByb3AodGFnLCB0eXBlLCBrZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkYXRhLmRvbVByb3BzIHx8IChkYXRhLmRvbVByb3BzID0ge30pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBkYXRhLmF0dHJzIHx8IChkYXRhLmF0dHJzID0ge30pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgY2FtZWxpemVkS2V5ID0gY2FtZWxpemUoa2V5KTtcbiAgICAgICAgICAgICAgICB2YXIgaHlwaGVuYXRlZEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgICAgICAgICAgIGlmICghKGNhbWVsaXplZEtleSBpbiBoYXNoKSAmJiAhKGh5cGhlbmF0ZWRLZXkgaW4gaGFzaCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzaFtrZXldID0gdmFsdWVba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzU3luYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9uID0gZGF0YS5vbiB8fCAoZGF0YS5vbiA9IHt9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uW1widXBkYXRlOlwiLmNvbmNhdChrZXkpXSA9IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVtrZXldID0gJGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBfbG9vcF8xKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJlbmRlcmluZyBzdGF0aWMgdHJlZXMuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlclN0YXRpYyhpbmRleCwgaXNJbkZvcikge1xuICAgIHZhciBjYWNoZWQgPSB0aGlzLl9zdGF0aWNUcmVlcyB8fCAodGhpcy5fc3RhdGljVHJlZXMgPSBbXSk7XG4gICAgdmFyIHRyZWUgPSBjYWNoZWRbaW5kZXhdO1xuICAgIC8vIGlmIGhhcyBhbHJlYWR5LXJlbmRlcmVkIHN0YXRpYyB0cmVlIGFuZCBub3QgaW5zaWRlIHYtZm9yLFxuICAgIC8vIHdlIGNhbiByZXVzZSB0aGUgc2FtZSB0cmVlLlxuICAgIGlmICh0cmVlICYmICFpc0luRm9yKSB7XG4gICAgICAgIHJldHVybiB0cmVlO1xuICAgIH1cbiAgICAvLyBvdGhlcndpc2UsIHJlbmRlciBhIGZyZXNoIHRyZWUuXG4gICAgdHJlZSA9IGNhY2hlZFtpbmRleF0gPSB0aGlzLiRvcHRpb25zLnN0YXRpY1JlbmRlckZuc1tpbmRleF0uY2FsbCh0aGlzLl9yZW5kZXJQcm94eSwgdGhpcy5fYywgdGhpcyAvLyBmb3IgcmVuZGVyIGZucyBnZW5lcmF0ZWQgZm9yIGZ1bmN0aW9uYWwgY29tcG9uZW50IHRlbXBsYXRlc1xuICAgICk7XG4gICAgbWFya1N0YXRpYyQxKHRyZWUsIFwiX19zdGF0aWNfX1wiLmNvbmNhdChpbmRleCksIGZhbHNlKTtcbiAgICByZXR1cm4gdHJlZTtcbn1cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHYtb25jZS5cbiAqIEVmZmVjdGl2ZWx5IGl0IG1lYW5zIG1hcmtpbmcgdGhlIG5vZGUgYXMgc3RhdGljIHdpdGggYSB1bmlxdWUga2V5LlxuICovXG5mdW5jdGlvbiBtYXJrT25jZSh0cmVlLCBpbmRleCwga2V5KSB7XG4gICAgbWFya1N0YXRpYyQxKHRyZWUsIFwiX19vbmNlX19cIi5jb25jYXQoaW5kZXgpLmNvbmNhdChrZXkgPyBcIl9cIi5jb25jYXQoa2V5KSA6IFwiXCIpLCB0cnVlKTtcbiAgICByZXR1cm4gdHJlZTtcbn1cbmZ1bmN0aW9uIG1hcmtTdGF0aWMkMSh0cmVlLCBrZXksIGlzT25jZSkge1xuICAgIGlmIChpc0FycmF5KHRyZWUpKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJlZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRyZWVbaV0gJiYgdHlwZW9mIHRyZWVbaV0gIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgbWFya1N0YXRpY05vZGUodHJlZVtpXSwgXCJcIi5jb25jYXQoa2V5LCBcIl9cIikuY29uY2F0KGkpLCBpc09uY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBtYXJrU3RhdGljTm9kZSh0cmVlLCBrZXksIGlzT25jZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gbWFya1N0YXRpY05vZGUobm9kZSwga2V5LCBpc09uY2UpIHtcbiAgICBub2RlLmlzU3RhdGljID0gdHJ1ZTtcbiAgICBub2RlLmtleSA9IGtleTtcbiAgICBub2RlLmlzT25jZSA9IGlzT25jZTtcbn1cblxuZnVuY3Rpb24gYmluZE9iamVjdExpc3RlbmVycyhkYXRhLCB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4kMigndi1vbiB3aXRob3V0IGFyZ3VtZW50IGV4cGVjdHMgYW4gT2JqZWN0IHZhbHVlJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgb24gPSAoZGF0YS5vbiA9IGRhdGEub24gPyBleHRlbmQoe30sIGRhdGEub24pIDoge30pO1xuICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFyIGV4aXN0aW5nID0gb25ba2V5XTtcbiAgICAgICAgICAgICAgICB2YXIgb3VycyA9IHZhbHVlW2tleV07XG4gICAgICAgICAgICAgICAgb25ba2V5XSA9IGV4aXN0aW5nID8gW10uY29uY2F0KGV4aXN0aW5nLCBvdXJzKSA6IG91cnM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVTY29wZWRTbG90cyhmbnMsIHJlcywgXG4vLyB0aGUgZm9sbG93aW5nIGFyZSBhZGRlZCBpbiAyLjZcbmhhc0R5bmFtaWNLZXlzLCBjb250ZW50SGFzaEtleSkge1xuICAgIHJlcyA9IHJlcyB8fCB7ICRzdGFibGU6ICFoYXNEeW5hbWljS2V5cyB9O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZm5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBzbG90ID0gZm5zW2ldO1xuICAgICAgICBpZiAoaXNBcnJheShzbG90KSkge1xuICAgICAgICAgICAgcmVzb2x2ZVNjb3BlZFNsb3RzKHNsb3QsIHJlcywgaGFzRHluYW1pY0tleXMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHNsb3QpIHtcbiAgICAgICAgICAgIC8vIG1hcmtlciBmb3IgcmV2ZXJzZSBwcm94eWluZyB2LXNsb3Qgd2l0aG91dCBzY29wZSBvbiB0aGlzLiRzbG90c1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgaWYgKHNsb3QucHJveHkpIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgc2xvdC5mbi5wcm94eSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNbc2xvdC5rZXldID0gc2xvdC5mbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoY29udGVudEhhc2hLZXkpIHtcbiAgICAgICAgcmVzLiRrZXkgPSBjb250ZW50SGFzaEtleTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cblxuLy8gaGVscGVyIHRvIHByb2Nlc3MgZHluYW1pYyBrZXlzIGZvciBkeW5hbWljIGFyZ3VtZW50cyBpbiB2LWJpbmQgYW5kIHYtb24uXG5mdW5jdGlvbiBiaW5kRHluYW1pY0tleXMoYmFzZU9iaiwgdmFsdWVzKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgICAgdmFyIGtleSA9IHZhbHVlc1tpXTtcbiAgICAgICAgaWYgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIGtleSkge1xuICAgICAgICAgICAgYmFzZU9ialt2YWx1ZXNbaV1dID0gdmFsdWVzW2kgKyAxXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGtleSAhPT0gJycgJiYga2V5ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBudWxsIGlzIGEgc3BlY2lhbCB2YWx1ZSBmb3IgZXhwbGljaXRseSByZW1vdmluZyBhIGJpbmRpbmdcbiAgICAgICAgICAgIHdhcm4kMihcIkludmFsaWQgdmFsdWUgZm9yIGR5bmFtaWMgZGlyZWN0aXZlIGFyZ3VtZW50IChleHBlY3RlZCBzdHJpbmcgb3IgbnVsbCk6IFwiLmNvbmNhdChrZXkpLCB0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYmFzZU9iajtcbn1cbi8vIGhlbHBlciB0byBkeW5hbWljYWxseSBhcHBlbmQgbW9kaWZpZXIgcnVudGltZSBtYXJrZXJzIHRvIGV2ZW50IG5hbWVzLlxuLy8gZW5zdXJlIG9ubHkgYXBwZW5kIHdoZW4gdmFsdWUgaXMgYWxyZWFkeSBzdHJpbmcsIG90aGVyd2lzZSBpdCB3aWxsIGJlIGNhc3Rcbi8vIHRvIHN0cmluZyBhbmQgY2F1c2UgdGhlIHR5cGUgY2hlY2sgdG8gbWlzcy5cbmZ1bmN0aW9uIHByZXBlbmRNb2RpZmllcih2YWx1ZSwgc3ltYm9sKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyBzeW1ib2wgKyB2YWx1ZSA6IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBpbnN0YWxsUmVuZGVySGVscGVycyh0YXJnZXQpIHtcbiAgICB0YXJnZXQuX28gPSBtYXJrT25jZTtcbiAgICB0YXJnZXQuX24gPSB0b051bWJlcjtcbiAgICB0YXJnZXQuX3MgPSB0b1N0cmluZztcbiAgICB0YXJnZXQuX2wgPSByZW5kZXJMaXN0O1xuICAgIHRhcmdldC5fdCA9IHJlbmRlclNsb3Q7XG4gICAgdGFyZ2V0Ll9xID0gbG9vc2VFcXVhbDtcbiAgICB0YXJnZXQuX2kgPSBsb29zZUluZGV4T2Y7XG4gICAgdGFyZ2V0Ll9tID0gcmVuZGVyU3RhdGljO1xuICAgIHRhcmdldC5fZiA9IHJlc29sdmVGaWx0ZXI7XG4gICAgdGFyZ2V0Ll9rID0gY2hlY2tLZXlDb2RlcztcbiAgICB0YXJnZXQuX2IgPSBiaW5kT2JqZWN0UHJvcHM7XG4gICAgdGFyZ2V0Ll92ID0gY3JlYXRlVGV4dFZOb2RlO1xuICAgIHRhcmdldC5fZSA9IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gICAgdGFyZ2V0Ll91ID0gcmVzb2x2ZVNjb3BlZFNsb3RzO1xuICAgIHRhcmdldC5fZyA9IGJpbmRPYmplY3RMaXN0ZW5lcnM7XG4gICAgdGFyZ2V0Ll9kID0gYmluZER5bmFtaWNLZXlzO1xuICAgIHRhcmdldC5fcCA9IHByZXBlbmRNb2RpZmllcjtcbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVzb2x2aW5nIHJhdyBjaGlsZHJlbiBWTm9kZXMgaW50byBhIHNsb3Qgb2JqZWN0LlxuICovXG5mdW5jdGlvbiByZXNvbHZlU2xvdHMoY2hpbGRyZW4sIGNvbnRleHQpIHtcbiAgICBpZiAoIWNoaWxkcmVuIHx8ICFjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICB2YXIgc2xvdHMgPSB7fTtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IGNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICB2YXIgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgICAgdmFyIGRhdGEgPSBjaGlsZC5kYXRhO1xuICAgICAgICAvLyByZW1vdmUgc2xvdCBhdHRyaWJ1dGUgaWYgdGhlIG5vZGUgaXMgcmVzb2x2ZWQgYXMgYSBWdWUgc2xvdCBub2RlXG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEuYXR0cnMgJiYgZGF0YS5hdHRycy5zbG90KSB7XG4gICAgICAgICAgICBkZWxldGUgZGF0YS5hdHRycy5zbG90O1xuICAgICAgICB9XG4gICAgICAgIC8vIG5hbWVkIHNsb3RzIHNob3VsZCBvbmx5IGJlIHJlc3BlY3RlZCBpZiB0aGUgdm5vZGUgd2FzIHJlbmRlcmVkIGluIHRoZVxuICAgICAgICAvLyBzYW1lIGNvbnRleHQuXG4gICAgICAgIGlmICgoY2hpbGQuY29udGV4dCA9PT0gY29udGV4dCB8fCBjaGlsZC5mbkNvbnRleHQgPT09IGNvbnRleHQpICYmXG4gICAgICAgICAgICBkYXRhICYmXG4gICAgICAgICAgICBkYXRhLnNsb3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIG5hbWVfMSA9IGRhdGEuc2xvdDtcbiAgICAgICAgICAgIHZhciBzbG90ID0gc2xvdHNbbmFtZV8xXSB8fCAoc2xvdHNbbmFtZV8xXSA9IFtdKTtcbiAgICAgICAgICAgIGlmIChjaGlsZC50YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAgICAgICAgICBzbG90LnB1c2guYXBwbHkoc2xvdCwgY2hpbGQuY2hpbGRyZW4gfHwgW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgc2xvdC5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIChzbG90cy5kZWZhdWx0IHx8IChzbG90cy5kZWZhdWx0ID0gW10pKS5wdXNoKGNoaWxkKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBpZ25vcmUgc2xvdHMgdGhhdCBjb250YWlucyBvbmx5IHdoaXRlc3BhY2VcbiAgICBmb3IgKHZhciBuYW1lXzIgaW4gc2xvdHMpIHtcbiAgICAgICAgaWYgKHNsb3RzW25hbWVfMl0uZXZlcnkoaXNXaGl0ZXNwYWNlKSkge1xuICAgICAgICAgICAgZGVsZXRlIHNsb3RzW25hbWVfMl07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNsb3RzO1xufVxuZnVuY3Rpb24gaXNXaGl0ZXNwYWNlKG5vZGUpIHtcbiAgICByZXR1cm4gKG5vZGUuaXNDb21tZW50ICYmICFub2RlLmFzeW5jRmFjdG9yeSkgfHwgbm9kZS50ZXh0ID09PSAnICc7XG59XG5cbmZ1bmN0aW9uIGlzQXN5bmNQbGFjZWhvbGRlcihub2RlKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBub3QgcmVhbGx5IGJvb2xlYW4gdHlwZVxuICAgIHJldHVybiBub2RlLmlzQ29tbWVudCAmJiBub2RlLmFzeW5jRmFjdG9yeTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplU2NvcGVkU2xvdHMob3duZXJWbSwgc2NvcGVkU2xvdHMsIG5vcm1hbFNsb3RzLCBwcmV2U2NvcGVkU2xvdHMpIHtcbiAgICB2YXIgcmVzO1xuICAgIHZhciBoYXNOb3JtYWxTbG90cyA9IE9iamVjdC5rZXlzKG5vcm1hbFNsb3RzKS5sZW5ndGggPiAwO1xuICAgIHZhciBpc1N0YWJsZSA9IHNjb3BlZFNsb3RzID8gISFzY29wZWRTbG90cy4kc3RhYmxlIDogIWhhc05vcm1hbFNsb3RzO1xuICAgIHZhciBrZXkgPSBzY29wZWRTbG90cyAmJiBzY29wZWRTbG90cy4ka2V5O1xuICAgIGlmICghc2NvcGVkU2xvdHMpIHtcbiAgICAgICAgcmVzID0ge307XG4gICAgfVxuICAgIGVsc2UgaWYgKHNjb3BlZFNsb3RzLl9ub3JtYWxpemVkKSB7XG4gICAgICAgIC8vIGZhc3QgcGF0aCAxOiBjaGlsZCBjb21wb25lbnQgcmUtcmVuZGVyIG9ubHksIHBhcmVudCBkaWQgbm90IGNoYW5nZVxuICAgICAgICByZXR1cm4gc2NvcGVkU2xvdHMuX25vcm1hbGl6ZWQ7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzU3RhYmxlICYmXG4gICAgICAgIHByZXZTY29wZWRTbG90cyAmJlxuICAgICAgICBwcmV2U2NvcGVkU2xvdHMgIT09IGVtcHR5T2JqZWN0ICYmXG4gICAgICAgIGtleSA9PT0gcHJldlNjb3BlZFNsb3RzLiRrZXkgJiZcbiAgICAgICAgIWhhc05vcm1hbFNsb3RzICYmXG4gICAgICAgICFwcmV2U2NvcGVkU2xvdHMuJGhhc05vcm1hbCkge1xuICAgICAgICAvLyBmYXN0IHBhdGggMjogc3RhYmxlIHNjb3BlZCBzbG90cyB3LyBubyBub3JtYWwgc2xvdHMgdG8gcHJveHksXG4gICAgICAgIC8vIG9ubHkgbmVlZCB0byBub3JtYWxpemUgb25jZVxuICAgICAgICByZXR1cm4gcHJldlNjb3BlZFNsb3RzO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmVzID0ge307XG4gICAgICAgIGZvciAodmFyIGtleV8xIGluIHNjb3BlZFNsb3RzKSB7XG4gICAgICAgICAgICBpZiAoc2NvcGVkU2xvdHNba2V5XzFdICYmIGtleV8xWzBdICE9PSAnJCcpIHtcbiAgICAgICAgICAgICAgICByZXNba2V5XzFdID0gbm9ybWFsaXplU2NvcGVkU2xvdChvd25lclZtLCBub3JtYWxTbG90cywga2V5XzEsIHNjb3BlZFNsb3RzW2tleV8xXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gZXhwb3NlIG5vcm1hbCBzbG90cyBvbiBzY29wZWRTbG90c1xuICAgIGZvciAodmFyIGtleV8yIGluIG5vcm1hbFNsb3RzKSB7XG4gICAgICAgIGlmICghKGtleV8yIGluIHJlcykpIHtcbiAgICAgICAgICAgIHJlc1trZXlfMl0gPSBwcm94eU5vcm1hbFNsb3Qobm9ybWFsU2xvdHMsIGtleV8yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBhdm9yaWF6IHNlZW1zIHRvIG1vY2sgYSBub24tZXh0ZW5zaWJsZSAkc2NvcGVkU2xvdHMgb2JqZWN0XG4gICAgLy8gYW5kIHdoZW4gdGhhdCBpcyBwYXNzZWQgZG93biB0aGlzIHdvdWxkIGNhdXNlIGFuIGVycm9yXG4gICAgaWYgKHNjb3BlZFNsb3RzICYmIE9iamVjdC5pc0V4dGVuc2libGUoc2NvcGVkU2xvdHMpKSB7XG4gICAgICAgIHNjb3BlZFNsb3RzLl9ub3JtYWxpemVkID0gcmVzO1xuICAgIH1cbiAgICBkZWYocmVzLCAnJHN0YWJsZScsIGlzU3RhYmxlKTtcbiAgICBkZWYocmVzLCAnJGtleScsIGtleSk7XG4gICAgZGVmKHJlcywgJyRoYXNOb3JtYWwnLCBoYXNOb3JtYWxTbG90cyk7XG4gICAgcmV0dXJuIHJlcztcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVNjb3BlZFNsb3Qodm0sIG5vcm1hbFNsb3RzLCBrZXksIGZuKSB7XG4gICAgdmFyIG5vcm1hbGl6ZWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjdXIgPSBjdXJyZW50SW5zdGFuY2U7XG4gICAgICAgIHNldEN1cnJlbnRJbnN0YW5jZSh2bSk7XG4gICAgICAgIHZhciByZXMgPSBhcmd1bWVudHMubGVuZ3RoID8gZm4uYXBwbHkobnVsbCwgYXJndW1lbnRzKSA6IGZuKHt9KTtcbiAgICAgICAgcmVzID1cbiAgICAgICAgICAgIHJlcyAmJiB0eXBlb2YgcmVzID09PSAnb2JqZWN0JyAmJiAhaXNBcnJheShyZXMpXG4gICAgICAgICAgICAgICAgPyBbcmVzXSAvLyBzaW5nbGUgdm5vZGVcbiAgICAgICAgICAgICAgICA6IG5vcm1hbGl6ZUNoaWxkcmVuKHJlcyk7XG4gICAgICAgIHZhciB2bm9kZSA9IHJlcyAmJiByZXNbMF07XG4gICAgICAgIHNldEN1cnJlbnRJbnN0YW5jZShjdXIpO1xuICAgICAgICByZXR1cm4gcmVzICYmXG4gICAgICAgICAgICAoIXZub2RlIHx8XG4gICAgICAgICAgICAgICAgKHJlcy5sZW5ndGggPT09IDEgJiYgdm5vZGUuaXNDb21tZW50ICYmICFpc0FzeW5jUGxhY2Vob2xkZXIodm5vZGUpKSkgLy8gIzk2NTgsICMxMDM5MVxuICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgIDogcmVzO1xuICAgIH07XG4gICAgLy8gdGhpcyBpcyBhIHNsb3QgdXNpbmcgdGhlIG5ldyB2LXNsb3Qgc3ludGF4IHdpdGhvdXQgc2NvcGUuIGFsdGhvdWdoIGl0IGlzXG4gICAgLy8gY29tcGlsZWQgYXMgYSBzY29wZWQgc2xvdCwgcmVuZGVyIGZuIHVzZXJzIHdvdWxkIGV4cGVjdCBpdCB0byBiZSBwcmVzZW50XG4gICAgLy8gb24gdGhpcy4kc2xvdHMgYmVjYXVzZSB0aGUgdXNhZ2UgaXMgc2VtYW50aWNhbGx5IGEgbm9ybWFsIHNsb3QuXG4gICAgaWYgKGZuLnByb3h5KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShub3JtYWxTbG90cywga2V5LCB7XG4gICAgICAgICAgICBnZXQ6IG5vcm1hbGl6ZWQsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbn1cbmZ1bmN0aW9uIHByb3h5Tm9ybWFsU2xvdChzbG90cywga2V5KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNsb3RzW2tleV07IH07XG59XG5cbmZ1bmN0aW9uIGluaXRTZXR1cCh2bSkge1xuICAgIHZhciBvcHRpb25zID0gdm0uJG9wdGlvbnM7XG4gICAgdmFyIHNldHVwID0gb3B0aW9ucy5zZXR1cDtcbiAgICBpZiAoc2V0dXApIHtcbiAgICAgICAgdmFyIGN0eCA9ICh2bS5fc2V0dXBDb250ZXh0ID0gY3JlYXRlU2V0dXBDb250ZXh0KHZtKSk7XG4gICAgICAgIHNldEN1cnJlbnRJbnN0YW5jZSh2bSk7XG4gICAgICAgIHB1c2hUYXJnZXQoKTtcbiAgICAgICAgdmFyIHNldHVwUmVzdWx0ID0gaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoc2V0dXAsIG51bGwsIFt2bS5fcHJvcHMgfHwgc2hhbGxvd1JlYWN0aXZlKHt9KSwgY3R4XSwgdm0sIFwic2V0dXBcIik7XG4gICAgICAgIHBvcFRhcmdldCgpO1xuICAgICAgICBzZXRDdXJyZW50SW5zdGFuY2UoKTtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24oc2V0dXBSZXN1bHQpKSB7XG4gICAgICAgICAgICAvLyByZW5kZXIgZnVuY3Rpb25cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIG9wdGlvbnMucmVuZGVyID0gc2V0dXBSZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNPYmplY3Qoc2V0dXBSZXN1bHQpKSB7XG4gICAgICAgICAgICAvLyBiaW5kaW5nc1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgc2V0dXBSZXN1bHQgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgICAgICAgICAgICAgIHdhcm4kMihcInNldHVwKCkgc2hvdWxkIG5vdCByZXR1cm4gVk5vZGVzIGRpcmVjdGx5IC0gXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInJldHVybiBhIHJlbmRlciBmdW5jdGlvbiBpbnN0ZWFkLlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZtLl9zZXR1cFN0YXRlID0gc2V0dXBSZXN1bHQ7XG4gICAgICAgICAgICAvLyBfX3NmYyBpbmRpY2F0ZXMgY29tcGlsZWQgYmluZGluZ3MgZnJvbSA8c2NyaXB0IHNldHVwPlxuICAgICAgICAgICAgaWYgKCFzZXR1cFJlc3VsdC5fX3NmYykge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBzZXR1cFJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzUmVzZXJ2ZWQoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJveHlXaXRoUmVmVW53cmFwKHZtLCBzZXR1cFJlc3VsdCwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCJBdm9pZCB1c2luZyB2YXJpYWJsZXMgdGhhdCBzdGFydCB3aXRoIF8gb3IgJCBpbiBzZXR1cCgpLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGV4cG9zZWQgZm9yIGNvbXBpbGVkIHJlbmRlciBmblxuICAgICAgICAgICAgICAgIHZhciBwcm94eSA9ICh2bS5fc2V0dXBQcm94eSA9IHt9KTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gc2V0dXBSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGtleSAhPT0gJ19fc2ZjJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJveHlXaXRoUmVmVW53cmFwKHByb3h5LCBzZXR1cFJlc3VsdCwga2V5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHNldHVwUmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHdhcm4kMihcInNldHVwKCkgc2hvdWxkIHJldHVybiBhbiBvYmplY3QuIFJlY2VpdmVkOiBcIi5jb25jYXQoc2V0dXBSZXN1bHQgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2Ygc2V0dXBSZXN1bHQpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZVNldHVwQ29udGV4dCh2bSkge1xuICAgIHZhciBleHBvc2VDYWxsZWQgPSBmYWxzZTtcbiAgICByZXR1cm4ge1xuICAgICAgICBnZXQgYXR0cnMoKSB7XG4gICAgICAgICAgICBpZiAoIXZtLl9hdHRyc1Byb3h5KSB7XG4gICAgICAgICAgICAgICAgdmFyIHByb3h5ID0gKHZtLl9hdHRyc1Byb3h5ID0ge30pO1xuICAgICAgICAgICAgICAgIGRlZihwcm94eSwgJ192X2F0dHJfcHJveHknLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBzeW5jU2V0dXBQcm94eShwcm94eSwgdm0uJGF0dHJzLCBlbXB0eU9iamVjdCwgdm0sICckYXR0cnMnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2bS5fYXR0cnNQcm94eTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0IGxpc3RlbmVycygpIHtcbiAgICAgICAgICAgIGlmICghdm0uX2xpc3RlbmVyc1Byb3h5KSB7XG4gICAgICAgICAgICAgICAgdmFyIHByb3h5ID0gKHZtLl9saXN0ZW5lcnNQcm94eSA9IHt9KTtcbiAgICAgICAgICAgICAgICBzeW5jU2V0dXBQcm94eShwcm94eSwgdm0uJGxpc3RlbmVycywgZW1wdHlPYmplY3QsIHZtLCAnJGxpc3RlbmVycycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZtLl9saXN0ZW5lcnNQcm94eTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0IHNsb3RzKCkge1xuICAgICAgICAgICAgcmV0dXJuIGluaXRTbG90c1Byb3h5KHZtKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW1pdDogYmluZCQxKHZtLiRlbWl0LCB2bSksXG4gICAgICAgIGV4cG9zZTogZnVuY3Rpb24gKGV4cG9zZWQpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgaWYgKGV4cG9zZUNhbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCJleHBvc2UoKSBzaG91bGQgYmUgY2FsbGVkIG9ubHkgb25jZSBwZXIgc2V0dXAoKS5cIiwgdm0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBleHBvc2VDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV4cG9zZWQpIHtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhleHBvc2VkKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb3h5V2l0aFJlZlVud3JhcCh2bSwgZXhwb3NlZCwga2V5KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiBzeW5jU2V0dXBQcm94eSh0bywgZnJvbSwgcHJldiwgaW5zdGFuY2UsIHR5cGUpIHtcbiAgICB2YXIgY2hhbmdlZCA9IGZhbHNlO1xuICAgIGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG4gICAgICAgIGlmICghKGtleSBpbiB0bykpIHtcbiAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgZGVmaW5lUHJveHlBdHRyKHRvLCBrZXksIGluc3RhbmNlLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmcm9tW2tleV0gIT09IHByZXZba2V5XSkge1xuICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yICh2YXIga2V5IGluIHRvKSB7XG4gICAgICAgIGlmICghKGtleSBpbiBmcm9tKSkge1xuICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICBkZWxldGUgdG9ba2V5XTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hhbmdlZDtcbn1cbmZ1bmN0aW9uIGRlZmluZVByb3h5QXR0cihwcm94eSwga2V5LCBpbnN0YW5jZSwgdHlwZSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm94eSwga2V5LCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2VbdHlwZV1ba2V5XTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gaW5pdFNsb3RzUHJveHkodm0pIHtcbiAgICBpZiAoIXZtLl9zbG90c1Byb3h5KSB7XG4gICAgICAgIHN5bmNTZXR1cFNsb3RzKCh2bS5fc2xvdHNQcm94eSA9IHt9KSwgdm0uJHNjb3BlZFNsb3RzKTtcbiAgICB9XG4gICAgcmV0dXJuIHZtLl9zbG90c1Byb3h5O1xufVxuZnVuY3Rpb24gc3luY1NldHVwU2xvdHModG8sIGZyb20pIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuICAgICAgICB0b1trZXldID0gZnJvbVtrZXldO1xuICAgIH1cbiAgICBmb3IgKHZhciBrZXkgaW4gdG8pIHtcbiAgICAgICAgaWYgKCEoa2V5IGluIGZyb20pKSB7XG4gICAgICAgICAgICBkZWxldGUgdG9ba2V5XTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKlxuICogQGludGVybmFsIHVzZSBtYW51YWwgdHlwZSBkZWYgYmVjYXVzZSBwdWJsaWMgc2V0dXAgY29udGV4dCB0eXBlIHJlbGllcyBvblxuICogbGVnYWN5IFZOb2RlIHR5cGVzXG4gKi9cbmZ1bmN0aW9uIHVzZVNsb3RzKCkge1xuICAgIHJldHVybiBnZXRDb250ZXh0KCkuc2xvdHM7XG59XG4vKipcbiAqIEBpbnRlcm5hbCB1c2UgbWFudWFsIHR5cGUgZGVmIGJlY2F1c2UgcHVibGljIHNldHVwIGNvbnRleHQgdHlwZSByZWxpZXMgb25cbiAqIGxlZ2FjeSBWTm9kZSB0eXBlc1xuICovXG5mdW5jdGlvbiB1c2VBdHRycygpIHtcbiAgICByZXR1cm4gZ2V0Q29udGV4dCgpLmF0dHJzO1xufVxuLyoqXG4gKiBWdWUgMiBvbmx5XG4gKiBAaW50ZXJuYWwgdXNlIG1hbnVhbCB0eXBlIGRlZiBiZWNhdXNlIHB1YmxpYyBzZXR1cCBjb250ZXh0IHR5cGUgcmVsaWVzIG9uXG4gKiBsZWdhY3kgVk5vZGUgdHlwZXNcbiAqL1xuZnVuY3Rpb24gdXNlTGlzdGVuZXJzKCkge1xuICAgIHJldHVybiBnZXRDb250ZXh0KCkubGlzdGVuZXJzO1xufVxuZnVuY3Rpb24gZ2V0Q29udGV4dCgpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhY3VycmVudEluc3RhbmNlKSB7XG4gICAgICAgIHdhcm4kMihcInVzZUNvbnRleHQoKSBjYWxsZWQgd2l0aG91dCBhY3RpdmUgaW5zdGFuY2UuXCIpO1xuICAgIH1cbiAgICB2YXIgdm0gPSBjdXJyZW50SW5zdGFuY2U7XG4gICAgcmV0dXJuIHZtLl9zZXR1cENvbnRleHQgfHwgKHZtLl9zZXR1cENvbnRleHQgPSBjcmVhdGVTZXR1cENvbnRleHQodm0pKTtcbn1cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIG1lcmdpbmcgZGVmYXVsdCBkZWNsYXJhdGlvbnMuIEltcG9ydGVkIGJ5IGNvbXBpbGVkIGNvZGVcbiAqIG9ubHkuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gbWVyZ2VEZWZhdWx0cyhyYXcsIGRlZmF1bHRzKSB7XG4gICAgdmFyIHByb3BzID0gaXNBcnJheShyYXcpXG4gICAgICAgID8gcmF3LnJlZHVjZShmdW5jdGlvbiAobm9ybWFsaXplZCwgcCkgeyByZXR1cm4gKChub3JtYWxpemVkW3BdID0ge30pLCBub3JtYWxpemVkKTsgfSwge30pXG4gICAgICAgIDogcmF3O1xuICAgIGZvciAodmFyIGtleSBpbiBkZWZhdWx0cykge1xuICAgICAgICB2YXIgb3B0ID0gcHJvcHNba2V5XTtcbiAgICAgICAgaWYgKG9wdCkge1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkob3B0KSB8fCBpc0Z1bmN0aW9uKG9wdCkpIHtcbiAgICAgICAgICAgICAgICBwcm9wc1trZXldID0geyB0eXBlOiBvcHQsIGRlZmF1bHQ6IGRlZmF1bHRzW2tleV0gfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG9wdC5kZWZhdWx0ID0gZGVmYXVsdHNba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvcHQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHByb3BzW2tleV0gPSB7IGRlZmF1bHQ6IGRlZmF1bHRzW2tleV0gfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCJwcm9wcyBkZWZhdWx0IGtleSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGhhcyBubyBjb3JyZXNwb25kaW5nIGRlY2xhcmF0aW9uLlwiKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BzO1xufVxuXG5mdW5jdGlvbiBpbml0UmVuZGVyKHZtKSB7XG4gICAgdm0uX3Zub2RlID0gbnVsbDsgLy8gdGhlIHJvb3Qgb2YgdGhlIGNoaWxkIHRyZWVcbiAgICB2bS5fc3RhdGljVHJlZXMgPSBudWxsOyAvLyB2LW9uY2UgY2FjaGVkIHRyZWVzXG4gICAgdmFyIG9wdGlvbnMgPSB2bS4kb3B0aW9ucztcbiAgICB2YXIgcGFyZW50Vm5vZGUgPSAodm0uJHZub2RlID0gb3B0aW9ucy5fcGFyZW50Vm5vZGUpOyAvLyB0aGUgcGxhY2Vob2xkZXIgbm9kZSBpbiBwYXJlbnQgdHJlZVxuICAgIHZhciByZW5kZXJDb250ZXh0ID0gcGFyZW50Vm5vZGUgJiYgcGFyZW50Vm5vZGUuY29udGV4dDtcbiAgICB2bS4kc2xvdHMgPSByZXNvbHZlU2xvdHMob3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4sIHJlbmRlckNvbnRleHQpO1xuICAgIHZtLiRzY29wZWRTbG90cyA9IHBhcmVudFZub2RlXG4gICAgICAgID8gbm9ybWFsaXplU2NvcGVkU2xvdHModm0uJHBhcmVudCwgcGFyZW50Vm5vZGUuZGF0YS5zY29wZWRTbG90cywgdm0uJHNsb3RzKVxuICAgICAgICA6IGVtcHR5T2JqZWN0O1xuICAgIC8vIGJpbmQgdGhlIGNyZWF0ZUVsZW1lbnQgZm4gdG8gdGhpcyBpbnN0YW5jZVxuICAgIC8vIHNvIHRoYXQgd2UgZ2V0IHByb3BlciByZW5kZXIgY29udGV4dCBpbnNpZGUgaXQuXG4gICAgLy8gYXJncyBvcmRlcjogdGFnLCBkYXRhLCBjaGlsZHJlbiwgbm9ybWFsaXphdGlvblR5cGUsIGFsd2F5c05vcm1hbGl6ZVxuICAgIC8vIGludGVybmFsIHZlcnNpb24gaXMgdXNlZCBieSByZW5kZXIgZnVuY3Rpb25zIGNvbXBpbGVkIGZyb20gdGVtcGxhdGVzXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHZtLl9jID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsgcmV0dXJuIGNyZWF0ZUVsZW1lbnQkMSh2bSwgYSwgYiwgYywgZCwgZmFsc2UpOyB9O1xuICAgIC8vIG5vcm1hbGl6YXRpb24gaXMgYWx3YXlzIGFwcGxpZWQgZm9yIHRoZSBwdWJsaWMgdmVyc2lvbiwgdXNlZCBpblxuICAgIC8vIHVzZXItd3JpdHRlbiByZW5kZXIgZnVuY3Rpb25zLlxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB2bS4kY3JlYXRlRWxlbWVudCA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBjcmVhdGVFbGVtZW50JDEodm0sIGEsIGIsIGMsIGQsIHRydWUpOyB9O1xuICAgIC8vICRhdHRycyAmICRsaXN0ZW5lcnMgYXJlIGV4cG9zZWQgZm9yIGVhc2llciBIT0MgY3JlYXRpb24uXG4gICAgLy8gdGhleSBuZWVkIHRvIGJlIHJlYWN0aXZlIHNvIHRoYXQgSE9DcyB1c2luZyB0aGVtIGFyZSBhbHdheXMgdXBkYXRlZFxuICAgIHZhciBwYXJlbnREYXRhID0gcGFyZW50Vm5vZGUgJiYgcGFyZW50Vm5vZGUuZGF0YTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGRlZmluZVJlYWN0aXZlKHZtLCAnJGF0dHJzJywgKHBhcmVudERhdGEgJiYgcGFyZW50RGF0YS5hdHRycykgfHwgZW1wdHlPYmplY3QsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgJiYgd2FybiQyKFwiJGF0dHJzIGlzIHJlYWRvbmx5LlwiLCB2bSk7XG4gICAgICAgIH0sIHRydWUpO1xuICAgICAgICBkZWZpbmVSZWFjdGl2ZSh2bSwgJyRsaXN0ZW5lcnMnLCBvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnMgfHwgZW1wdHlPYmplY3QsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgJiYgd2FybiQyKFwiJGxpc3RlbmVycyBpcyByZWFkb25seS5cIiwgdm0pO1xuICAgICAgICB9LCB0cnVlKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGRlZmluZVJlYWN0aXZlKHZtLCAnJGF0dHJzJywgKHBhcmVudERhdGEgJiYgcGFyZW50RGF0YS5hdHRycykgfHwgZW1wdHlPYmplY3QsIG51bGwsIHRydWUpO1xuICAgICAgICBkZWZpbmVSZWFjdGl2ZSh2bSwgJyRsaXN0ZW5lcnMnLCBvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnMgfHwgZW1wdHlPYmplY3QsIG51bGwsIHRydWUpO1xuICAgIH1cbn1cbnZhciBjdXJyZW50UmVuZGVyaW5nSW5zdGFuY2UgPSBudWxsO1xuZnVuY3Rpb24gcmVuZGVyTWl4aW4oVnVlKSB7XG4gICAgLy8gaW5zdGFsbCBydW50aW1lIGNvbnZlbmllbmNlIGhlbHBlcnNcbiAgICBpbnN0YWxsUmVuZGVySGVscGVycyhWdWUucHJvdG90eXBlKTtcbiAgICBWdWUucHJvdG90eXBlLiRuZXh0VGljayA9IGZ1bmN0aW9uIChmbikge1xuICAgICAgICByZXR1cm4gbmV4dFRpY2soZm4sIHRoaXMpO1xuICAgIH07XG4gICAgVnVlLnByb3RvdHlwZS5fcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICB2YXIgX2EgPSB2bS4kb3B0aW9ucywgcmVuZGVyID0gX2EucmVuZGVyLCBfcGFyZW50Vm5vZGUgPSBfYS5fcGFyZW50Vm5vZGU7XG4gICAgICAgIGlmIChfcGFyZW50Vm5vZGUgJiYgdm0uX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgdm0uJHNjb3BlZFNsb3RzID0gbm9ybWFsaXplU2NvcGVkU2xvdHModm0uJHBhcmVudCwgX3BhcmVudFZub2RlLmRhdGEuc2NvcGVkU2xvdHMsIHZtLiRzbG90cywgdm0uJHNjb3BlZFNsb3RzKTtcbiAgICAgICAgICAgIGlmICh2bS5fc2xvdHNQcm94eSkge1xuICAgICAgICAgICAgICAgIHN5bmNTZXR1cFNsb3RzKHZtLl9zbG90c1Byb3h5LCB2bS4kc2NvcGVkU2xvdHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHNldCBwYXJlbnQgdm5vZGUuIHRoaXMgYWxsb3dzIHJlbmRlciBmdW5jdGlvbnMgdG8gaGF2ZSBhY2Nlc3NcbiAgICAgICAgLy8gdG8gdGhlIGRhdGEgb24gdGhlIHBsYWNlaG9sZGVyIG5vZGUuXG4gICAgICAgIHZtLiR2bm9kZSA9IF9wYXJlbnRWbm9kZTtcbiAgICAgICAgLy8gcmVuZGVyIHNlbGZcbiAgICAgICAgdmFyIHZub2RlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gVGhlcmUncyBubyBuZWVkIHRvIG1haW50YWluIGEgc3RhY2sgYmVjYXVzZSBhbGwgcmVuZGVyIGZucyBhcmUgY2FsbGVkXG4gICAgICAgICAgICAvLyBzZXBhcmF0ZWx5IGZyb20gb25lIGFub3RoZXIuIE5lc3RlZCBjb21wb25lbnQncyByZW5kZXIgZm5zIGFyZSBjYWxsZWRcbiAgICAgICAgICAgIC8vIHdoZW4gcGFyZW50IGNvbXBvbmVudCBpcyBwYXRjaGVkLlxuICAgICAgICAgICAgc2V0Q3VycmVudEluc3RhbmNlKHZtKTtcbiAgICAgICAgICAgIGN1cnJlbnRSZW5kZXJpbmdJbnN0YW5jZSA9IHZtO1xuICAgICAgICAgICAgdm5vZGUgPSByZW5kZXIuY2FsbCh2bS5fcmVuZGVyUHJveHksIHZtLiRjcmVhdGVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwicmVuZGVyXCIpO1xuICAgICAgICAgICAgLy8gcmV0dXJuIGVycm9yIHJlbmRlciByZXN1bHQsXG4gICAgICAgICAgICAvLyBvciBwcmV2aW91cyB2bm9kZSB0byBwcmV2ZW50IHJlbmRlciBlcnJvciBjYXVzaW5nIGJsYW5rIGNvbXBvbmVudFxuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHZtLiRvcHRpb25zLnJlbmRlckVycm9yKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdm5vZGUgPSB2bS4kb3B0aW9ucy5yZW5kZXJFcnJvci5jYWxsKHZtLl9yZW5kZXJQcm94eSwgdm0uJGNyZWF0ZUVsZW1lbnQsIGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVFcnJvcihlLCB2bSwgXCJyZW5kZXJFcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgICAgdm5vZGUgPSB2bS5fdm5vZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdm5vZGUgPSB2bS5fdm5vZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBjdXJyZW50UmVuZGVyaW5nSW5zdGFuY2UgPSBudWxsO1xuICAgICAgICAgICAgc2V0Q3VycmVudEluc3RhbmNlKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgdGhlIHJldHVybmVkIGFycmF5IGNvbnRhaW5zIG9ubHkgYSBzaW5nbGUgbm9kZSwgYWxsb3cgaXRcbiAgICAgICAgaWYgKGlzQXJyYXkodm5vZGUpICYmIHZub2RlLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdm5vZGUgPSB2bm9kZVswXTtcbiAgICAgICAgfVxuICAgICAgICAvLyByZXR1cm4gZW1wdHkgdm5vZGUgaW4gY2FzZSB0aGUgcmVuZGVyIGZ1bmN0aW9uIGVycm9yZWQgb3V0XG4gICAgICAgIGlmICghKHZub2RlIGluc3RhbmNlb2YgVk5vZGUpKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc0FycmF5KHZub2RlKSkge1xuICAgICAgICAgICAgICAgIHdhcm4kMignTXVsdGlwbGUgcm9vdCBub2RlcyByZXR1cm5lZCBmcm9tIHJlbmRlciBmdW5jdGlvbi4gUmVuZGVyIGZ1bmN0aW9uICcgK1xuICAgICAgICAgICAgICAgICAgICAnc2hvdWxkIHJldHVybiBhIHNpbmdsZSByb290IG5vZGUuJywgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdm5vZGUgPSBjcmVhdGVFbXB0eVZOb2RlKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2V0IHBhcmVudFxuICAgICAgICB2bm9kZS5wYXJlbnQgPSBfcGFyZW50Vm5vZGU7XG4gICAgICAgIHJldHVybiB2bm9kZTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBlbnN1cmVDdG9yKGNvbXAsIGJhc2UpIHtcbiAgICBpZiAoY29tcC5fX2VzTW9kdWxlIHx8IChoYXNTeW1ib2wgJiYgY29tcFtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTW9kdWxlJykpIHtcbiAgICAgICAgY29tcCA9IGNvbXAuZGVmYXVsdDtcbiAgICB9XG4gICAgcmV0dXJuIGlzT2JqZWN0KGNvbXApID8gYmFzZS5leHRlbmQoY29tcCkgOiBjb21wO1xufVxuZnVuY3Rpb24gY3JlYXRlQXN5bmNQbGFjZWhvbGRlcihmYWN0b3J5LCBkYXRhLCBjb250ZXh0LCBjaGlsZHJlbiwgdGFnKSB7XG4gICAgdmFyIG5vZGUgPSBjcmVhdGVFbXB0eVZOb2RlKCk7XG4gICAgbm9kZS5hc3luY0ZhY3RvcnkgPSBmYWN0b3J5O1xuICAgIG5vZGUuYXN5bmNNZXRhID0geyBkYXRhOiBkYXRhLCBjb250ZXh0OiBjb250ZXh0LCBjaGlsZHJlbjogY2hpbGRyZW4sIHRhZzogdGFnIH07XG4gICAgcmV0dXJuIG5vZGU7XG59XG5mdW5jdGlvbiByZXNvbHZlQXN5bmNDb21wb25lbnQoZmFjdG9yeSwgYmFzZUN0b3IpIHtcbiAgICBpZiAoaXNUcnVlKGZhY3RvcnkuZXJyb3IpICYmIGlzRGVmKGZhY3RvcnkuZXJyb3JDb21wKSkge1xuICAgICAgICByZXR1cm4gZmFjdG9yeS5lcnJvckNvbXA7XG4gICAgfVxuICAgIGlmIChpc0RlZihmYWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICByZXR1cm4gZmFjdG9yeS5yZXNvbHZlZDtcbiAgICB9XG4gICAgdmFyIG93bmVyID0gY3VycmVudFJlbmRlcmluZ0luc3RhbmNlO1xuICAgIGlmIChvd25lciAmJiBpc0RlZihmYWN0b3J5Lm93bmVycykgJiYgZmFjdG9yeS5vd25lcnMuaW5kZXhPZihvd25lcikgPT09IC0xKSB7XG4gICAgICAgIC8vIGFscmVhZHkgcGVuZGluZ1xuICAgICAgICBmYWN0b3J5Lm93bmVycy5wdXNoKG93bmVyKTtcbiAgICB9XG4gICAgaWYgKGlzVHJ1ZShmYWN0b3J5LmxvYWRpbmcpICYmIGlzRGVmKGZhY3RvcnkubG9hZGluZ0NvbXApKSB7XG4gICAgICAgIHJldHVybiBmYWN0b3J5LmxvYWRpbmdDb21wO1xuICAgIH1cbiAgICBpZiAob3duZXIgJiYgIWlzRGVmKGZhY3Rvcnkub3duZXJzKSkge1xuICAgICAgICB2YXIgb3duZXJzXzEgPSAoZmFjdG9yeS5vd25lcnMgPSBbb3duZXJdKTtcbiAgICAgICAgdmFyIHN5bmNfMSA9IHRydWU7XG4gICAgICAgIHZhciB0aW1lckxvYWRpbmdfMSA9IG51bGw7XG4gICAgICAgIHZhciB0aW1lclRpbWVvdXRfMSA9IG51bGw7XG4gICAgICAgIG93bmVyLiRvbignaG9vazpkZXN0cm95ZWQnLCBmdW5jdGlvbiAoKSB7IHJldHVybiByZW1vdmUkMihvd25lcnNfMSwgb3duZXIpOyB9KTtcbiAgICAgICAgdmFyIGZvcmNlUmVuZGVyXzEgPSBmdW5jdGlvbiAocmVuZGVyQ29tcGxldGVkKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IG93bmVyc18xLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIG93bmVyc18xW2ldLiRmb3JjZVVwZGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlbmRlckNvbXBsZXRlZCkge1xuICAgICAgICAgICAgICAgIG93bmVyc18xLmxlbmd0aCA9IDA7XG4gICAgICAgICAgICAgICAgaWYgKHRpbWVyTG9hZGluZ18xICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lckxvYWRpbmdfMSk7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVyTG9hZGluZ18xID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRpbWVyVGltZW91dF8xICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lclRpbWVvdXRfMSk7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVyVGltZW91dF8xID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHZhciByZXNvbHZlID0gb25jZShmdW5jdGlvbiAocmVzKSB7XG4gICAgICAgICAgICAvLyBjYWNoZSByZXNvbHZlZFxuICAgICAgICAgICAgZmFjdG9yeS5yZXNvbHZlZCA9IGVuc3VyZUN0b3IocmVzLCBiYXNlQ3Rvcik7XG4gICAgICAgICAgICAvLyBpbnZva2UgY2FsbGJhY2tzIG9ubHkgaWYgdGhpcyBpcyBub3QgYSBzeW5jaHJvbm91cyByZXNvbHZlXG4gICAgICAgICAgICAvLyAoYXN5bmMgcmVzb2x2ZXMgYXJlIHNoaW1tZWQgYXMgc3luY2hyb25vdXMgZHVyaW5nIFNTUilcbiAgICAgICAgICAgIGlmICghc3luY18xKSB7XG4gICAgICAgICAgICAgICAgZm9yY2VSZW5kZXJfMSh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG93bmVyc18xLmxlbmd0aCA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgcmVqZWN0XzEgPSBvbmNlKGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJGYWlsZWQgdG8gcmVzb2x2ZSBhc3luYyBjb21wb25lbnQ6IFwiLmNvbmNhdChTdHJpbmcoZmFjdG9yeSkpICtcbiAgICAgICAgICAgICAgICAgICAgKHJlYXNvbiA/IFwiXFxuUmVhc29uOiBcIi5jb25jYXQocmVhc29uKSA6ICcnKSk7XG4gICAgICAgICAgICBpZiAoaXNEZWYoZmFjdG9yeS5lcnJvckNvbXApKSB7XG4gICAgICAgICAgICAgICAgZmFjdG9yeS5lcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yY2VSZW5kZXJfMSh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHZhciByZXNfMSA9IGZhY3RvcnkocmVzb2x2ZSwgcmVqZWN0XzEpO1xuICAgICAgICBpZiAoaXNPYmplY3QocmVzXzEpKSB7XG4gICAgICAgICAgICBpZiAoaXNQcm9taXNlKHJlc18xKSkge1xuICAgICAgICAgICAgICAgIC8vICgpID0+IFByb21pc2VcbiAgICAgICAgICAgICAgICBpZiAoaXNVbmRlZihmYWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXNfMS50aGVuKHJlc29sdmUsIHJlamVjdF8xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChpc1Byb21pc2UocmVzXzEuY29tcG9uZW50KSkge1xuICAgICAgICAgICAgICAgIHJlc18xLmNvbXBvbmVudC50aGVuKHJlc29sdmUsIHJlamVjdF8xKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNEZWYocmVzXzEuZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZhY3RvcnkuZXJyb3JDb21wID0gZW5zdXJlQ3RvcihyZXNfMS5lcnJvciwgYmFzZUN0b3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNEZWYocmVzXzEubG9hZGluZykpIHtcbiAgICAgICAgICAgICAgICAgICAgZmFjdG9yeS5sb2FkaW5nQ29tcCA9IGVuc3VyZUN0b3IocmVzXzEubG9hZGluZywgYmFzZUN0b3IpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzXzEuZGVsYXkgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhY3RvcnkubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIE5vZGVKUyB0aW1lb3V0IHR5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyTG9hZGluZ18xID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXJMb2FkaW5nXzEgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1VuZGVmKGZhY3RvcnkucmVzb2x2ZWQpICYmIGlzVW5kZWYoZmFjdG9yeS5lcnJvcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFjdG9yeS5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2VSZW5kZXJfMShmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgcmVzXzEuZGVsYXkgfHwgMjAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNEZWYocmVzXzEudGltZW91dCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBOb2RlSlMgdGltZW91dCB0eXBlXG4gICAgICAgICAgICAgICAgICAgIHRpbWVyVGltZW91dF8xID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lclRpbWVvdXRfMSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNVbmRlZihmYWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdF8xKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBcInRpbWVvdXQgKFwiLmNvbmNhdChyZXNfMS50aW1lb3V0LCBcIm1zKVwiKSA6IG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCByZXNfMS50aW1lb3V0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3luY18xID0gZmFsc2U7XG4gICAgICAgIC8vIHJldHVybiBpbiBjYXNlIHJlc29sdmVkIHN5bmNocm9ub3VzbHlcbiAgICAgICAgcmV0dXJuIGZhY3RvcnkubG9hZGluZyA/IGZhY3RvcnkubG9hZGluZ0NvbXAgOiBmYWN0b3J5LnJlc29sdmVkO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0Rmlyc3RDb21wb25lbnRDaGlsZChjaGlsZHJlbikge1xuICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgYyA9IGNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKGlzRGVmKGMpICYmIChpc0RlZihjLmNvbXBvbmVudE9wdGlvbnMpIHx8IGlzQXN5bmNQbGFjZWhvbGRlcihjKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gaW5pdEV2ZW50cyh2bSkge1xuICAgIHZtLl9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHZtLl9oYXNIb29rRXZlbnQgPSBmYWxzZTtcbiAgICAvLyBpbml0IHBhcmVudCBhdHRhY2hlZCBldmVudHNcbiAgICB2YXIgbGlzdGVuZXJzID0gdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgICBpZiAobGlzdGVuZXJzKSB7XG4gICAgICAgIHVwZGF0ZUNvbXBvbmVudExpc3RlbmVycyh2bSwgbGlzdGVuZXJzKTtcbiAgICB9XG59XG52YXIgdGFyZ2V0JDE7XG5mdW5jdGlvbiBhZGQkMShldmVudCwgZm4pIHtcbiAgICB0YXJnZXQkMS4kb24oZXZlbnQsIGZuKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZSQxKGV2ZW50LCBmbikge1xuICAgIHRhcmdldCQxLiRvZmYoZXZlbnQsIGZuKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZU9uY2VIYW5kbGVyJDEoZXZlbnQsIGZuKSB7XG4gICAgdmFyIF90YXJnZXQgPSB0YXJnZXQkMTtcbiAgICByZXR1cm4gZnVuY3Rpb24gb25jZUhhbmRsZXIoKSB7XG4gICAgICAgIHZhciByZXMgPSBmbi5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgICAgICBpZiAocmVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBfdGFyZ2V0LiRvZmYoZXZlbnQsIG9uY2VIYW5kbGVyKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnModm0sIGxpc3RlbmVycywgb2xkTGlzdGVuZXJzKSB7XG4gICAgdGFyZ2V0JDEgPSB2bTtcbiAgICB1cGRhdGVMaXN0ZW5lcnMobGlzdGVuZXJzLCBvbGRMaXN0ZW5lcnMgfHwge30sIGFkZCQxLCByZW1vdmUkMSwgY3JlYXRlT25jZUhhbmRsZXIkMSwgdm0pO1xuICAgIHRhcmdldCQxID0gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gZXZlbnRzTWl4aW4oVnVlKSB7XG4gICAgdmFyIGhvb2tSRSA9IC9eaG9vazovO1xuICAgIFZ1ZS5wcm90b3R5cGUuJG9uID0gZnVuY3Rpb24gKGV2ZW50LCBmbikge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICBpZiAoaXNBcnJheShldmVudCkpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gZXZlbnQubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdm0uJG9uKGV2ZW50W2ldLCBmbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAodm0uX2V2ZW50c1tldmVudF0gfHwgKHZtLl9ldmVudHNbZXZlbnRdID0gW10pKS5wdXNoKGZuKTtcbiAgICAgICAgICAgIC8vIG9wdGltaXplIGhvb2s6ZXZlbnQgY29zdCBieSB1c2luZyBhIGJvb2xlYW4gZmxhZyBtYXJrZWQgYXQgcmVnaXN0cmF0aW9uXG4gICAgICAgICAgICAvLyBpbnN0ZWFkIG9mIGEgaGFzaCBsb29rdXBcbiAgICAgICAgICAgIGlmIChob29rUkUudGVzdChldmVudCkpIHtcbiAgICAgICAgICAgICAgICB2bS5faGFzSG9va0V2ZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdm07XG4gICAgfTtcbiAgICBWdWUucHJvdG90eXBlLiRvbmNlID0gZnVuY3Rpb24gKGV2ZW50LCBmbikge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICBmdW5jdGlvbiBvbigpIHtcbiAgICAgICAgICAgIHZtLiRvZmYoZXZlbnQsIG9uKTtcbiAgICAgICAgICAgIGZuLmFwcGx5KHZtLCBhcmd1bWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIG9uLmZuID0gZm47XG4gICAgICAgIHZtLiRvbihldmVudCwgb24pO1xuICAgICAgICByZXR1cm4gdm07XG4gICAgfTtcbiAgICBWdWUucHJvdG90eXBlLiRvZmYgPSBmdW5jdGlvbiAoZXZlbnQsIGZuKSB7XG4gICAgICAgIHZhciB2bSA9IHRoaXM7XG4gICAgICAgIC8vIGFsbFxuICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHZtLl9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICAgICAgcmV0dXJuIHZtO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFycmF5IG9mIGV2ZW50c1xuICAgICAgICBpZiAoaXNBcnJheShldmVudCkpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGlfMSA9IDAsIGwgPSBldmVudC5sZW5ndGg7IGlfMSA8IGw7IGlfMSsrKSB7XG4gICAgICAgICAgICAgICAgdm0uJG9mZihldmVudFtpXzFdLCBmbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdm07XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3BlY2lmaWMgZXZlbnRcbiAgICAgICAgdmFyIGNicyA9IHZtLl9ldmVudHNbZXZlbnRdO1xuICAgICAgICBpZiAoIWNicykge1xuICAgICAgICAgICAgcmV0dXJuIHZtO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZm4pIHtcbiAgICAgICAgICAgIHZtLl9ldmVudHNbZXZlbnRdID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybiB2bTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzcGVjaWZpYyBoYW5kbGVyXG4gICAgICAgIHZhciBjYjtcbiAgICAgICAgdmFyIGkgPSBjYnMubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgICAgICBjYiA9IGNic1tpXTtcbiAgICAgICAgICAgIGlmIChjYiA9PT0gZm4gfHwgY2IuZm4gPT09IGZuKSB7XG4gICAgICAgICAgICAgICAgY2JzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdm07XG4gICAgfTtcbiAgICBWdWUucHJvdG90eXBlLiRlbWl0ID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHZhciB2bSA9IHRoaXM7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB2YXIgbG93ZXJDYXNlRXZlbnQgPSBldmVudC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKGxvd2VyQ2FzZUV2ZW50ICE9PSBldmVudCAmJiB2bS5fZXZlbnRzW2xvd2VyQ2FzZUV2ZW50XSkge1xuICAgICAgICAgICAgICAgIHRpcChcIkV2ZW50IFxcXCJcIi5jb25jYXQobG93ZXJDYXNlRXZlbnQsIFwiXFxcIiBpcyBlbWl0dGVkIGluIGNvbXBvbmVudCBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIlwiLmNvbmNhdChmb3JtYXRDb21wb25lbnROYW1lKHZtKSwgXCIgYnV0IHRoZSBoYW5kbGVyIGlzIHJlZ2lzdGVyZWQgZm9yIFxcXCJcIikuY29uY2F0KGV2ZW50LCBcIlxcXCIuIFwiKSArXG4gICAgICAgICAgICAgICAgICAgIFwiTm90ZSB0aGF0IEhUTUwgYXR0cmlidXRlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgeW91IGNhbm5vdCB1c2UgXCIgK1xuICAgICAgICAgICAgICAgICAgICBcInYtb24gdG8gbGlzdGVuIHRvIGNhbWVsQ2FzZSBldmVudHMgd2hlbiB1c2luZyBpbi1ET00gdGVtcGxhdGVzLiBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiWW91IHNob3VsZCBwcm9iYWJseSB1c2UgXFxcIlwiLmNvbmNhdChoeXBoZW5hdGUoZXZlbnQpLCBcIlxcXCIgaW5zdGVhZCBvZiBcXFwiXCIpLmNvbmNhdChldmVudCwgXCJcXFwiLlwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNicyA9IHZtLl9ldmVudHNbZXZlbnRdO1xuICAgICAgICBpZiAoY2JzKSB7XG4gICAgICAgICAgICBjYnMgPSBjYnMubGVuZ3RoID4gMSA/IHRvQXJyYXkoY2JzKSA6IGNicztcbiAgICAgICAgICAgIHZhciBhcmdzID0gdG9BcnJheShhcmd1bWVudHMsIDEpO1xuICAgICAgICAgICAgdmFyIGluZm8gPSBcImV2ZW50IGhhbmRsZXIgZm9yIFxcXCJcIi5jb25jYXQoZXZlbnQsIFwiXFxcIlwiKTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gY2JzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIGludm9rZVdpdGhFcnJvckhhbmRsaW5nKGNic1tpXSwgdm0sIGFyZ3MsIHZtLCBpbmZvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdm07XG4gICAgfTtcbn1cblxudmFyIGFjdGl2ZUluc3RhbmNlID0gbnVsbDtcbnZhciBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSBmYWxzZTtcbmZ1bmN0aW9uIHNldEFjdGl2ZUluc3RhbmNlKHZtKSB7XG4gICAgdmFyIHByZXZBY3RpdmVJbnN0YW5jZSA9IGFjdGl2ZUluc3RhbmNlO1xuICAgIGFjdGl2ZUluc3RhbmNlID0gdm07XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYWN0aXZlSW5zdGFuY2UgPSBwcmV2QWN0aXZlSW5zdGFuY2U7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGluaXRMaWZlY3ljbGUodm0pIHtcbiAgICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuICAgIC8vIGxvY2F0ZSBmaXJzdCBub24tYWJzdHJhY3QgcGFyZW50XG4gICAgdmFyIHBhcmVudCA9IG9wdGlvbnMucGFyZW50O1xuICAgIGlmIChwYXJlbnQgJiYgIW9wdGlvbnMuYWJzdHJhY3QpIHtcbiAgICAgICAgd2hpbGUgKHBhcmVudC4kb3B0aW9ucy5hYnN0cmFjdCAmJiBwYXJlbnQuJHBhcmVudCkge1xuICAgICAgICAgICAgcGFyZW50ID0gcGFyZW50LiRwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50LiRjaGlsZHJlbi5wdXNoKHZtKTtcbiAgICB9XG4gICAgdm0uJHBhcmVudCA9IHBhcmVudDtcbiAgICB2bS4kcm9vdCA9IHBhcmVudCA/IHBhcmVudC4kcm9vdCA6IHZtO1xuICAgIHZtLiRjaGlsZHJlbiA9IFtdO1xuICAgIHZtLiRyZWZzID0ge307XG4gICAgdm0uX3Byb3ZpZGVkID0gcGFyZW50ID8gcGFyZW50Ll9wcm92aWRlZCA6IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdm0uX3dhdGNoZXIgPSBudWxsO1xuICAgIHZtLl9pbmFjdGl2ZSA9IG51bGw7XG4gICAgdm0uX2RpcmVjdEluYWN0aXZlID0gZmFsc2U7XG4gICAgdm0uX2lzTW91bnRlZCA9IGZhbHNlO1xuICAgIHZtLl9pc0Rlc3Ryb3llZCA9IGZhbHNlO1xuICAgIHZtLl9pc0JlaW5nRGVzdHJveWVkID0gZmFsc2U7XG59XG5mdW5jdGlvbiBsaWZlY3ljbGVNaXhpbihWdWUpIHtcbiAgICBWdWUucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAodm5vZGUsIGh5ZHJhdGluZykge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICB2YXIgcHJldkVsID0gdm0uJGVsO1xuICAgICAgICB2YXIgcHJldlZub2RlID0gdm0uX3Zub2RlO1xuICAgICAgICB2YXIgcmVzdG9yZUFjdGl2ZUluc3RhbmNlID0gc2V0QWN0aXZlSW5zdGFuY2Uodm0pO1xuICAgICAgICB2bS5fdm5vZGUgPSB2bm9kZTtcbiAgICAgICAgLy8gVnVlLnByb3RvdHlwZS5fX3BhdGNoX18gaXMgaW5qZWN0ZWQgaW4gZW50cnkgcG9pbnRzXG4gICAgICAgIC8vIGJhc2VkIG9uIHRoZSByZW5kZXJpbmcgYmFja2VuZCB1c2VkLlxuICAgICAgICBpZiAoIXByZXZWbm9kZSkge1xuICAgICAgICAgICAgLy8gaW5pdGlhbCByZW5kZXJcbiAgICAgICAgICAgIHZtLiRlbCA9IHZtLl9fcGF0Y2hfXyh2bS4kZWwsIHZub2RlLCBoeWRyYXRpbmcsIGZhbHNlIC8qIHJlbW92ZU9ubHkgKi8pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gdXBkYXRlc1xuICAgICAgICAgICAgdm0uJGVsID0gdm0uX19wYXRjaF9fKHByZXZWbm9kZSwgdm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSgpO1xuICAgICAgICAvLyB1cGRhdGUgX192dWVfXyByZWZlcmVuY2VcbiAgICAgICAgaWYgKHByZXZFbCkge1xuICAgICAgICAgICAgcHJldkVsLl9fdnVlX18gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2bS4kZWwpIHtcbiAgICAgICAgICAgIHZtLiRlbC5fX3Z1ZV9fID0gdm07XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgcGFyZW50IGlzIGFuIEhPQywgdXBkYXRlIGl0cyAkZWwgYXMgd2VsbFxuICAgICAgICB2YXIgd3JhcHBlciA9IHZtO1xuICAgICAgICB3aGlsZSAod3JhcHBlciAmJlxuICAgICAgICAgICAgd3JhcHBlci4kdm5vZGUgJiZcbiAgICAgICAgICAgIHdyYXBwZXIuJHBhcmVudCAmJlxuICAgICAgICAgICAgd3JhcHBlci4kdm5vZGUgPT09IHdyYXBwZXIuJHBhcmVudC5fdm5vZGUpIHtcbiAgICAgICAgICAgIHdyYXBwZXIuJHBhcmVudC4kZWwgPSB3cmFwcGVyLiRlbDtcbiAgICAgICAgICAgIHdyYXBwZXIgPSB3cmFwcGVyLiRwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdXBkYXRlZCBob29rIGlzIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyIHRvIGVuc3VyZSB0aGF0IGNoaWxkcmVuIGFyZVxuICAgICAgICAvLyB1cGRhdGVkIGluIGEgcGFyZW50J3MgdXBkYXRlZCBob29rLlxuICAgIH07XG4gICAgVnVlLnByb3RvdHlwZS4kZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB2bSA9IHRoaXM7XG4gICAgICAgIGlmICh2bS5fd2F0Y2hlcikge1xuICAgICAgICAgICAgdm0uX3dhdGNoZXIudXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFZ1ZS5wcm90b3R5cGUuJGRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB2bSA9IHRoaXM7XG4gICAgICAgIGlmICh2bS5faXNCZWluZ0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNhbGxIb29rJDEodm0sICdiZWZvcmVEZXN0cm95Jyk7XG4gICAgICAgIHZtLl9pc0JlaW5nRGVzdHJveWVkID0gdHJ1ZTtcbiAgICAgICAgLy8gcmVtb3ZlIHNlbGYgZnJvbSBwYXJlbnRcbiAgICAgICAgdmFyIHBhcmVudCA9IHZtLiRwYXJlbnQ7XG4gICAgICAgIGlmIChwYXJlbnQgJiYgIXBhcmVudC5faXNCZWluZ0Rlc3Ryb3llZCAmJiAhdm0uJG9wdGlvbnMuYWJzdHJhY3QpIHtcbiAgICAgICAgICAgIHJlbW92ZSQyKHBhcmVudC4kY2hpbGRyZW4sIHZtKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0ZWFyZG93biBzY29wZS4gdGhpcyBpbmNsdWRlcyBib3RoIHRoZSByZW5kZXIgd2F0Y2hlciBhbmQgb3RoZXJcbiAgICAgICAgLy8gd2F0Y2hlcnMgY3JlYXRlZFxuICAgICAgICB2bS5fc2NvcGUuc3RvcCgpO1xuICAgICAgICAvLyByZW1vdmUgcmVmZXJlbmNlIGZyb20gZGF0YSBvYlxuICAgICAgICAvLyBmcm96ZW4gb2JqZWN0IG1heSBub3QgaGF2ZSBvYnNlcnZlci5cbiAgICAgICAgaWYgKHZtLl9kYXRhLl9fb2JfXykge1xuICAgICAgICAgICAgdm0uX2RhdGEuX19vYl9fLnZtQ291bnQtLTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjYWxsIHRoZSBsYXN0IGhvb2suLi5cbiAgICAgICAgdm0uX2lzRGVzdHJveWVkID0gdHJ1ZTtcbiAgICAgICAgLy8gaW52b2tlIGRlc3Ryb3kgaG9va3Mgb24gY3VycmVudCByZW5kZXJlZCB0cmVlXG4gICAgICAgIHZtLl9fcGF0Y2hfXyh2bS5fdm5vZGUsIG51bGwpO1xuICAgICAgICAvLyBmaXJlIGRlc3Ryb3llZCBob29rXG4gICAgICAgIGNhbGxIb29rJDEodm0sICdkZXN0cm95ZWQnKTtcbiAgICAgICAgLy8gdHVybiBvZmYgYWxsIGluc3RhbmNlIGxpc3RlbmVycy5cbiAgICAgICAgdm0uJG9mZigpO1xuICAgICAgICAvLyByZW1vdmUgX192dWVfXyByZWZlcmVuY2VcbiAgICAgICAgaWYgKHZtLiRlbCkge1xuICAgICAgICAgICAgdm0uJGVsLl9fdnVlX18gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJlbGVhc2UgY2lyY3VsYXIgcmVmZXJlbmNlICgjNjc1OSlcbiAgICAgICAgaWYgKHZtLiR2bm9kZSkge1xuICAgICAgICAgICAgdm0uJHZub2RlLnBhcmVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gbW91bnRDb21wb25lbnQodm0sIGVsLCBoeWRyYXRpbmcpIHtcbiAgICB2bS4kZWwgPSBlbDtcbiAgICBpZiAoIXZtLiRvcHRpb25zLnJlbmRlcikge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGludmFsaWQgdHlwZVxuICAgICAgICB2bS4kb3B0aW9ucy5yZW5kZXIgPSBjcmVhdGVFbXB0eVZOb2RlO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAoKHZtLiRvcHRpb25zLnRlbXBsYXRlICYmIHZtLiRvcHRpb25zLnRlbXBsYXRlLmNoYXJBdCgwKSAhPT0gJyMnKSB8fFxuICAgICAgICAgICAgICAgIHZtLiRvcHRpb25zLmVsIHx8XG4gICAgICAgICAgICAgICAgZWwpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoJ1lvdSBhcmUgdXNpbmcgdGhlIHJ1bnRpbWUtb25seSBidWlsZCBvZiBWdWUgd2hlcmUgdGhlIHRlbXBsYXRlICcgK1xuICAgICAgICAgICAgICAgICAgICAnY29tcGlsZXIgaXMgbm90IGF2YWlsYWJsZS4gRWl0aGVyIHByZS1jb21waWxlIHRoZSB0ZW1wbGF0ZXMgaW50byAnICtcbiAgICAgICAgICAgICAgICAgICAgJ3JlbmRlciBmdW5jdGlvbnMsIG9yIHVzZSB0aGUgY29tcGlsZXItaW5jbHVkZWQgYnVpbGQuJywgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKCdGYWlsZWQgdG8gbW91bnQgY29tcG9uZW50OiB0ZW1wbGF0ZSBvciByZW5kZXIgZnVuY3Rpb24gbm90IGRlZmluZWQuJywgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNhbGxIb29rJDEodm0sICdiZWZvcmVNb3VudCcpO1xuICAgIHZhciB1cGRhdGVDb21wb25lbnQ7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgICAgdXBkYXRlQ29tcG9uZW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSB2bS5fbmFtZTtcbiAgICAgICAgICAgIHZhciBpZCA9IHZtLl91aWQ7XG4gICAgICAgICAgICB2YXIgc3RhcnRUYWcgPSBcInZ1ZS1wZXJmLXN0YXJ0OlwiLmNvbmNhdChpZCk7XG4gICAgICAgICAgICB2YXIgZW5kVGFnID0gXCJ2dWUtcGVyZi1lbmQ6XCIuY29uY2F0KGlkKTtcbiAgICAgICAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgICAgICAgICAgdmFyIHZub2RlID0gdm0uX3JlbmRlcigpO1xuICAgICAgICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgICAgICAgbWVhc3VyZShcInZ1ZSBcIi5jb25jYXQobmFtZSwgXCIgcmVuZGVyXCIpLCBzdGFydFRhZywgZW5kVGFnKTtcbiAgICAgICAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgICAgICAgICAgdm0uX3VwZGF0ZSh2bm9kZSwgaHlkcmF0aW5nKTtcbiAgICAgICAgICAgIG1hcmsoZW5kVGFnKTtcbiAgICAgICAgICAgIG1lYXN1cmUoXCJ2dWUgXCIuY29uY2F0KG5hbWUsIFwiIHBhdGNoXCIpLCBzdGFydFRhZywgZW5kVGFnKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHVwZGF0ZUNvbXBvbmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZtLl91cGRhdGUodm0uX3JlbmRlcigpLCBoeWRyYXRpbmcpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICB2YXIgd2F0Y2hlck9wdGlvbnMgPSB7XG4gICAgICAgIGJlZm9yZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHZtLl9pc01vdW50ZWQgJiYgIXZtLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgICAgIGNhbGxIb29rJDEodm0sICdiZWZvcmVVcGRhdGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgd2F0Y2hlck9wdGlvbnMub25UcmFjayA9IGZ1bmN0aW9uIChlKSB7IHJldHVybiBjYWxsSG9vayQxKHZtLCAncmVuZGVyVHJhY2tlZCcsIFtlXSk7IH07XG4gICAgICAgIHdhdGNoZXJPcHRpb25zLm9uVHJpZ2dlciA9IGZ1bmN0aW9uIChlKSB7IHJldHVybiBjYWxsSG9vayQxKHZtLCAncmVuZGVyVHJpZ2dlcmVkJywgW2VdKTsgfTtcbiAgICB9XG4gICAgLy8gd2Ugc2V0IHRoaXMgdG8gdm0uX3dhdGNoZXIgaW5zaWRlIHRoZSB3YXRjaGVyJ3MgY29uc3RydWN0b3JcbiAgICAvLyBzaW5jZSB0aGUgd2F0Y2hlcidzIGluaXRpYWwgcGF0Y2ggbWF5IGNhbGwgJGZvcmNlVXBkYXRlIChlLmcuIGluc2lkZSBjaGlsZFxuICAgIC8vIGNvbXBvbmVudCdzIG1vdW50ZWQgaG9vayksIHdoaWNoIHJlbGllcyBvbiB2bS5fd2F0Y2hlciBiZWluZyBhbHJlYWR5IGRlZmluZWRcbiAgICBuZXcgV2F0Y2hlcih2bSwgdXBkYXRlQ29tcG9uZW50LCBub29wLCB3YXRjaGVyT3B0aW9ucywgdHJ1ZSAvKiBpc1JlbmRlcldhdGNoZXIgKi8pO1xuICAgIGh5ZHJhdGluZyA9IGZhbHNlO1xuICAgIC8vIGZsdXNoIGJ1ZmZlciBmb3IgZmx1c2g6IFwicHJlXCIgd2F0Y2hlcnMgcXVldWVkIGluIHNldHVwKClcbiAgICB2YXIgcHJlV2F0Y2hlcnMgPSB2bS5fcHJlV2F0Y2hlcnM7XG4gICAgaWYgKHByZVdhdGNoZXJzKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJlV2F0Y2hlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHByZVdhdGNoZXJzW2ldLnJ1bigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIG1hbnVhbGx5IG1vdW50ZWQgaW5zdGFuY2UsIGNhbGwgbW91bnRlZCBvbiBzZWxmXG4gICAgLy8gbW91bnRlZCBpcyBjYWxsZWQgZm9yIHJlbmRlci1jcmVhdGVkIGNoaWxkIGNvbXBvbmVudHMgaW4gaXRzIGluc2VydGVkIGhvb2tcbiAgICBpZiAodm0uJHZub2RlID09IG51bGwpIHtcbiAgICAgICAgdm0uX2lzTW91bnRlZCA9IHRydWU7XG4gICAgICAgIGNhbGxIb29rJDEodm0sICdtb3VudGVkJyk7XG4gICAgfVxuICAgIHJldHVybiB2bTtcbn1cbmZ1bmN0aW9uIHVwZGF0ZUNoaWxkQ29tcG9uZW50KHZtLCBwcm9wc0RhdGEsIGxpc3RlbmVycywgcGFyZW50Vm5vZGUsIHJlbmRlckNoaWxkcmVuKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ID0gdHJ1ZTtcbiAgICB9XG4gICAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgY29tcG9uZW50IGhhcyBzbG90IGNoaWxkcmVuXG4gICAgLy8gd2UgbmVlZCB0byBkbyB0aGlzIGJlZm9yZSBvdmVyd3JpdGluZyAkb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4uXG4gICAgLy8gY2hlY2sgaWYgdGhlcmUgYXJlIGR5bmFtaWMgc2NvcGVkU2xvdHMgKGhhbmQtd3JpdHRlbiBvciBjb21waWxlZCBidXQgd2l0aFxuICAgIC8vIGR5bmFtaWMgc2xvdCBuYW1lcykuIFN0YXRpYyBzY29wZWQgc2xvdHMgY29tcGlsZWQgZnJvbSB0ZW1wbGF0ZSBoYXMgdGhlXG4gICAgLy8gXCIkc3RhYmxlXCIgbWFya2VyLlxuICAgIHZhciBuZXdTY29wZWRTbG90cyA9IHBhcmVudFZub2RlLmRhdGEuc2NvcGVkU2xvdHM7XG4gICAgdmFyIG9sZFNjb3BlZFNsb3RzID0gdm0uJHNjb3BlZFNsb3RzO1xuICAgIHZhciBoYXNEeW5hbWljU2NvcGVkU2xvdCA9ICEhKChuZXdTY29wZWRTbG90cyAmJiAhbmV3U2NvcGVkU2xvdHMuJHN0YWJsZSkgfHxcbiAgICAgICAgKG9sZFNjb3BlZFNsb3RzICE9PSBlbXB0eU9iamVjdCAmJiAhb2xkU2NvcGVkU2xvdHMuJHN0YWJsZSkgfHxcbiAgICAgICAgKG5ld1Njb3BlZFNsb3RzICYmIHZtLiRzY29wZWRTbG90cy4ka2V5ICE9PSBuZXdTY29wZWRTbG90cy4ka2V5KSB8fFxuICAgICAgICAoIW5ld1Njb3BlZFNsb3RzICYmIHZtLiRzY29wZWRTbG90cy4ka2V5KSk7XG4gICAgLy8gQW55IHN0YXRpYyBzbG90IGNoaWxkcmVuIGZyb20gdGhlIHBhcmVudCBtYXkgaGF2ZSBjaGFuZ2VkIGR1cmluZyBwYXJlbnQnc1xuICAgIC8vIHVwZGF0ZS4gRHluYW1pYyBzY29wZWQgc2xvdHMgbWF5IGFsc28gaGF2ZSBjaGFuZ2VkLiBJbiBzdWNoIGNhc2VzLCBhIGZvcmNlZFxuICAgIC8vIHVwZGF0ZSBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIGNvcnJlY3RuZXNzLlxuICAgIHZhciBuZWVkc0ZvcmNlVXBkYXRlID0gISEocmVuZGVyQ2hpbGRyZW4gfHwgLy8gaGFzIG5ldyBzdGF0aWMgc2xvdHNcbiAgICAgICAgdm0uJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuIHx8IC8vIGhhcyBvbGQgc3RhdGljIHNsb3RzXG4gICAgICAgIGhhc0R5bmFtaWNTY29wZWRTbG90KTtcbiAgICB2YXIgcHJldlZOb2RlID0gdm0uJHZub2RlO1xuICAgIHZtLiRvcHRpb25zLl9wYXJlbnRWbm9kZSA9IHBhcmVudFZub2RlO1xuICAgIHZtLiR2bm9kZSA9IHBhcmVudFZub2RlOyAvLyB1cGRhdGUgdm0ncyBwbGFjZWhvbGRlciBub2RlIHdpdGhvdXQgcmUtcmVuZGVyXG4gICAgaWYgKHZtLl92bm9kZSkge1xuICAgICAgICAvLyB1cGRhdGUgY2hpbGQgdHJlZSdzIHBhcmVudFxuICAgICAgICB2bS5fdm5vZGUucGFyZW50ID0gcGFyZW50Vm5vZGU7XG4gICAgfVxuICAgIHZtLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiA9IHJlbmRlckNoaWxkcmVuO1xuICAgIC8vIHVwZGF0ZSAkYXR0cnMgYW5kICRsaXN0ZW5lcnMgaGFzaFxuICAgIC8vIHRoZXNlIGFyZSBhbHNvIHJlYWN0aXZlIHNvIHRoZXkgbWF5IHRyaWdnZXIgY2hpbGQgdXBkYXRlIGlmIHRoZSBjaGlsZFxuICAgIC8vIHVzZWQgdGhlbSBkdXJpbmcgcmVuZGVyXG4gICAgdmFyIGF0dHJzID0gcGFyZW50Vm5vZGUuZGF0YS5hdHRycyB8fCBlbXB0eU9iamVjdDtcbiAgICBpZiAodm0uX2F0dHJzUHJveHkpIHtcbiAgICAgICAgLy8gZm9yY2UgdXBkYXRlIGlmIGF0dHJzIGFyZSBhY2Nlc3NlZCBhbmQgaGFzIGNoYW5nZWQgc2luY2UgaXQgbWF5IGJlXG4gICAgICAgIC8vIHBhc3NlZCB0byBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICAgICAgaWYgKHN5bmNTZXR1cFByb3h5KHZtLl9hdHRyc1Byb3h5LCBhdHRycywgKHByZXZWTm9kZS5kYXRhICYmIHByZXZWTm9kZS5kYXRhLmF0dHJzKSB8fCBlbXB0eU9iamVjdCwgdm0sICckYXR0cnMnKSkge1xuICAgICAgICAgICAgbmVlZHNGb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdm0uJGF0dHJzID0gYXR0cnM7XG4gICAgLy8gdXBkYXRlIGxpc3RlbmVyc1xuICAgIGxpc3RlbmVycyA9IGxpc3RlbmVycyB8fCBlbXB0eU9iamVjdDtcbiAgICB2YXIgcHJldkxpc3RlbmVycyA9IHZtLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7XG4gICAgaWYgKHZtLl9saXN0ZW5lcnNQcm94eSkge1xuICAgICAgICBzeW5jU2V0dXBQcm94eSh2bS5fbGlzdGVuZXJzUHJveHksIGxpc3RlbmVycywgcHJldkxpc3RlbmVycyB8fCBlbXB0eU9iamVjdCwgdm0sICckbGlzdGVuZXJzJyk7XG4gICAgfVxuICAgIHZtLiRsaXN0ZW5lcnMgPSB2bS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzID0gbGlzdGVuZXJzO1xuICAgIHVwZGF0ZUNvbXBvbmVudExpc3RlbmVycyh2bSwgbGlzdGVuZXJzLCBwcmV2TGlzdGVuZXJzKTtcbiAgICAvLyB1cGRhdGUgcHJvcHNcbiAgICBpZiAocHJvcHNEYXRhICYmIHZtLiRvcHRpb25zLnByb3BzKSB7XG4gICAgICAgIHRvZ2dsZU9ic2VydmluZyhmYWxzZSk7XG4gICAgICAgIHZhciBwcm9wcyA9IHZtLl9wcm9wcztcbiAgICAgICAgdmFyIHByb3BLZXlzID0gdm0uJG9wdGlvbnMuX3Byb3BLZXlzIHx8IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0gcHJvcEtleXNbaV07XG4gICAgICAgICAgICB2YXIgcHJvcE9wdGlvbnMgPSB2bS4kb3B0aW9ucy5wcm9wczsgLy8gd3RmIGZsb3c/XG4gICAgICAgICAgICBwcm9wc1trZXldID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcE9wdGlvbnMsIHByb3BzRGF0YSwgdm0pO1xuICAgICAgICB9XG4gICAgICAgIHRvZ2dsZU9ic2VydmluZyh0cnVlKTtcbiAgICAgICAgLy8ga2VlcCBhIGNvcHkgb2YgcmF3IHByb3BzRGF0YVxuICAgICAgICB2bS4kb3B0aW9ucy5wcm9wc0RhdGEgPSBwcm9wc0RhdGE7XG4gICAgfVxuICAgIC8vIHJlc29sdmUgc2xvdHMgKyBmb3JjZSB1cGRhdGUgaWYgaGFzIGNoaWxkcmVuXG4gICAgaWYgKG5lZWRzRm9yY2VVcGRhdGUpIHtcbiAgICAgICAgdm0uJHNsb3RzID0gcmVzb2x2ZVNsb3RzKHJlbmRlckNoaWxkcmVuLCBwYXJlbnRWbm9kZS5jb250ZXh0KTtcbiAgICAgICAgdm0uJGZvcmNlVXBkYXRlKCk7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCA9IGZhbHNlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGlzSW5JbmFjdGl2ZVRyZWUodm0pIHtcbiAgICB3aGlsZSAodm0gJiYgKHZtID0gdm0uJHBhcmVudCkpIHtcbiAgICAgICAgaWYgKHZtLl9pbmFjdGl2ZSlcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KHZtLCBkaXJlY3QpIHtcbiAgICBpZiAoZGlyZWN0KSB7XG4gICAgICAgIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoaXNJbkluYWN0aXZlVHJlZSh2bSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh2bS5fZGlyZWN0SW5hY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodm0uX2luYWN0aXZlIHx8IHZtLl9pbmFjdGl2ZSA9PT0gbnVsbCkge1xuICAgICAgICB2bS5faW5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2bS4kY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQodm0uJGNoaWxkcmVuW2ldKTtcbiAgICAgICAgfVxuICAgICAgICBjYWxsSG9vayQxKHZtLCAnYWN0aXZhdGVkJyk7XG4gICAgfVxufVxuZnVuY3Rpb24gZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KHZtLCBkaXJlY3QpIHtcbiAgICBpZiAoZGlyZWN0KSB7XG4gICAgICAgIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIGlmIChpc0luSW5hY3RpdmVUcmVlKHZtKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghdm0uX2luYWN0aXZlKSB7XG4gICAgICAgIHZtLl9pbmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm0uJGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBkZWFjdGl2YXRlQ2hpbGRDb21wb25lbnQodm0uJGNoaWxkcmVuW2ldKTtcbiAgICAgICAgfVxuICAgICAgICBjYWxsSG9vayQxKHZtLCAnZGVhY3RpdmF0ZWQnKTtcbiAgICB9XG59XG5mdW5jdGlvbiBjYWxsSG9vayQxKHZtLCBob29rLCBhcmdzLCBzZXRDb250ZXh0KSB7XG4gICAgaWYgKHNldENvbnRleHQgPT09IHZvaWQgMCkgeyBzZXRDb250ZXh0ID0gdHJ1ZTsgfVxuICAgIC8vICM3NTczIGRpc2FibGUgZGVwIGNvbGxlY3Rpb24gd2hlbiBpbnZva2luZyBsaWZlY3ljbGUgaG9va3NcbiAgICBwdXNoVGFyZ2V0KCk7XG4gICAgdmFyIHByZXYgPSBjdXJyZW50SW5zdGFuY2U7XG4gICAgc2V0Q29udGV4dCAmJiBzZXRDdXJyZW50SW5zdGFuY2Uodm0pO1xuICAgIHZhciBoYW5kbGVycyA9IHZtLiRvcHRpb25zW2hvb2tdO1xuICAgIHZhciBpbmZvID0gXCJcIi5jb25jYXQoaG9vaywgXCIgaG9va1wiKTtcbiAgICBpZiAoaGFuZGxlcnMpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGogPSBoYW5kbGVycy5sZW5ndGg7IGkgPCBqOyBpKyspIHtcbiAgICAgICAgICAgIGludm9rZVdpdGhFcnJvckhhbmRsaW5nKGhhbmRsZXJzW2ldLCB2bSwgYXJncyB8fCBudWxsLCB2bSwgaW5mbyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZtLl9oYXNIb29rRXZlbnQpIHtcbiAgICAgICAgdm0uJGVtaXQoJ2hvb2s6JyArIGhvb2spO1xuICAgIH1cbiAgICBzZXRDb250ZXh0ICYmIHNldEN1cnJlbnRJbnN0YW5jZShwcmV2KTtcbiAgICBwb3BUYXJnZXQoKTtcbn1cblxudmFyIE1BWF9VUERBVEVfQ09VTlQgPSAxMDA7XG52YXIgcXVldWUgPSBbXTtcbnZhciBhY3RpdmF0ZWRDaGlsZHJlbiA9IFtdO1xudmFyIGhhcyA9IHt9O1xudmFyIGNpcmN1bGFyID0ge307XG52YXIgd2FpdGluZyA9IGZhbHNlO1xudmFyIGZsdXNoaW5nID0gZmFsc2U7XG52YXIgaW5kZXgkMSA9IDA7XG4vKipcbiAqIFJlc2V0IHRoZSBzY2hlZHVsZXIncyBzdGF0ZS5cbiAqL1xuZnVuY3Rpb24gcmVzZXRTY2hlZHVsZXJTdGF0ZSgpIHtcbiAgICBpbmRleCQxID0gcXVldWUubGVuZ3RoID0gYWN0aXZhdGVkQ2hpbGRyZW4ubGVuZ3RoID0gMDtcbiAgICBoYXMgPSB7fTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBjaXJjdWxhciA9IHt9O1xuICAgIH1cbiAgICB3YWl0aW5nID0gZmx1c2hpbmcgPSBmYWxzZTtcbn1cbi8vIEFzeW5jIGVkZ2UgY2FzZSAjNjU2NiByZXF1aXJlcyBzYXZpbmcgdGhlIHRpbWVzdGFtcCB3aGVuIGV2ZW50IGxpc3RlbmVycyBhcmVcbi8vIGF0dGFjaGVkLiBIb3dldmVyLCBjYWxsaW5nIHBlcmZvcm1hbmNlLm5vdygpIGhhcyBhIHBlcmYgb3ZlcmhlYWQgZXNwZWNpYWxseVxuLy8gaWYgdGhlIHBhZ2UgaGFzIHRob3VzYW5kcyBvZiBldmVudCBsaXN0ZW5lcnMuIEluc3RlYWQsIHdlIHRha2UgYSB0aW1lc3RhbXBcbi8vIGV2ZXJ5IHRpbWUgdGhlIHNjaGVkdWxlciBmbHVzaGVzIGFuZCB1c2UgdGhhdCBmb3IgYWxsIGV2ZW50IGxpc3RlbmVyc1xuLy8gYXR0YWNoZWQgZHVyaW5nIHRoYXQgZmx1c2guXG52YXIgY3VycmVudEZsdXNoVGltZXN0YW1wID0gMDtcbi8vIEFzeW5jIGVkZ2UgY2FzZSBmaXggcmVxdWlyZXMgc3RvcmluZyBhbiBldmVudCBsaXN0ZW5lcidzIGF0dGFjaCB0aW1lc3RhbXAuXG52YXIgZ2V0Tm93ID0gRGF0ZS5ub3c7XG4vLyBEZXRlcm1pbmUgd2hhdCBldmVudCB0aW1lc3RhbXAgdGhlIGJyb3dzZXIgaXMgdXNpbmcuIEFubm95aW5nbHksIHRoZVxuLy8gdGltZXN0YW1wIGNhbiBlaXRoZXIgYmUgaGktcmVzIChyZWxhdGl2ZSB0byBwYWdlIGxvYWQpIG9yIGxvdy1yZXNcbi8vIChyZWxhdGl2ZSB0byBVTklYIGVwb2NoKSwgc28gaW4gb3JkZXIgdG8gY29tcGFyZSB0aW1lIHdlIGhhdmUgdG8gdXNlIHRoZVxuLy8gc2FtZSB0aW1lc3RhbXAgdHlwZSB3aGVuIHNhdmluZyB0aGUgZmx1c2ggdGltZXN0YW1wLlxuLy8gQWxsIElFIHZlcnNpb25zIHVzZSBsb3ctcmVzIGV2ZW50IHRpbWVzdGFtcHMsIGFuZCBoYXZlIHByb2JsZW1hdGljIGNsb2NrXG4vLyBpbXBsZW1lbnRhdGlvbnMgKCM5NjMyKVxuaWYgKGluQnJvd3NlciAmJiAhaXNJRSkge1xuICAgIHZhciBwZXJmb3JtYW5jZV8xID0gd2luZG93LnBlcmZvcm1hbmNlO1xuICAgIGlmIChwZXJmb3JtYW5jZV8xICYmXG4gICAgICAgIHR5cGVvZiBwZXJmb3JtYW5jZV8xLm5vdyA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICBnZXROb3coKSA+IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpLnRpbWVTdGFtcCkge1xuICAgICAgICAvLyBpZiB0aGUgZXZlbnQgdGltZXN0YW1wLCBhbHRob3VnaCBldmFsdWF0ZWQgQUZURVIgdGhlIERhdGUubm93KCksIGlzXG4gICAgICAgIC8vIHNtYWxsZXIgdGhhbiBpdCwgaXQgbWVhbnMgdGhlIGV2ZW50IGlzIHVzaW5nIGEgaGktcmVzIHRpbWVzdGFtcCxcbiAgICAgICAgLy8gYW5kIHdlIG5lZWQgdG8gdXNlIHRoZSBoaS1yZXMgdmVyc2lvbiBmb3IgZXZlbnQgbGlzdGVuZXIgdGltZXN0YW1wcyBhc1xuICAgICAgICAvLyB3ZWxsLlxuICAgICAgICBnZXROb3cgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBwZXJmb3JtYW5jZV8xLm5vdygpOyB9O1xuICAgIH1cbn1cbnZhciBzb3J0Q29tcGFyZUZuID0gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICBpZiAoYS5wb3N0KSB7XG4gICAgICAgIGlmICghYi5wb3N0KVxuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGVsc2UgaWYgKGIucG9zdCkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIHJldHVybiBhLmlkIC0gYi5pZDtcbn07XG4vKipcbiAqIEZsdXNoIGJvdGggcXVldWVzIGFuZCBydW4gdGhlIHdhdGNoZXJzLlxuICovXG5mdW5jdGlvbiBmbHVzaFNjaGVkdWxlclF1ZXVlKCkge1xuICAgIGN1cnJlbnRGbHVzaFRpbWVzdGFtcCA9IGdldE5vdygpO1xuICAgIGZsdXNoaW5nID0gdHJ1ZTtcbiAgICB2YXIgd2F0Y2hlciwgaWQ7XG4gICAgLy8gU29ydCBxdWV1ZSBiZWZvcmUgZmx1c2guXG4gICAgLy8gVGhpcyBlbnN1cmVzIHRoYXQ6XG4gICAgLy8gMS4gQ29tcG9uZW50cyBhcmUgdXBkYXRlZCBmcm9tIHBhcmVudCB0byBjaGlsZC4gKGJlY2F1c2UgcGFyZW50IGlzIGFsd2F5c1xuICAgIC8vICAgIGNyZWF0ZWQgYmVmb3JlIHRoZSBjaGlsZClcbiAgICAvLyAyLiBBIGNvbXBvbmVudCdzIHVzZXIgd2F0Y2hlcnMgYXJlIHJ1biBiZWZvcmUgaXRzIHJlbmRlciB3YXRjaGVyIChiZWNhdXNlXG4gICAgLy8gICAgdXNlciB3YXRjaGVycyBhcmUgY3JlYXRlZCBiZWZvcmUgdGhlIHJlbmRlciB3YXRjaGVyKVxuICAgIC8vIDMuIElmIGEgY29tcG9uZW50IGlzIGRlc3Ryb3llZCBkdXJpbmcgYSBwYXJlbnQgY29tcG9uZW50J3Mgd2F0Y2hlciBydW4sXG4gICAgLy8gICAgaXRzIHdhdGNoZXJzIGNhbiBiZSBza2lwcGVkLlxuICAgIHF1ZXVlLnNvcnQoc29ydENvbXBhcmVGbik7XG4gICAgLy8gZG8gbm90IGNhY2hlIGxlbmd0aCBiZWNhdXNlIG1vcmUgd2F0Y2hlcnMgbWlnaHQgYmUgcHVzaGVkXG4gICAgLy8gYXMgd2UgcnVuIGV4aXN0aW5nIHdhdGNoZXJzXG4gICAgZm9yIChpbmRleCQxID0gMDsgaW5kZXgkMSA8IHF1ZXVlLmxlbmd0aDsgaW5kZXgkMSsrKSB7XG4gICAgICAgIHdhdGNoZXIgPSBxdWV1ZVtpbmRleCQxXTtcbiAgICAgICAgaWYgKHdhdGNoZXIuYmVmb3JlKSB7XG4gICAgICAgICAgICB3YXRjaGVyLmJlZm9yZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlkID0gd2F0Y2hlci5pZDtcbiAgICAgICAgaGFzW2lkXSA9IG51bGw7XG4gICAgICAgIHdhdGNoZXIucnVuKCk7XG4gICAgICAgIC8vIGluIGRldiBidWlsZCwgY2hlY2sgYW5kIHN0b3AgY2lyY3VsYXIgdXBkYXRlcy5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaGFzW2lkXSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjaXJjdWxhcltpZF0gPSAoY2lyY3VsYXJbaWRdIHx8IDApICsgMTtcbiAgICAgICAgICAgIGlmIChjaXJjdWxhcltpZF0gPiBNQVhfVVBEQVRFX0NPVU5UKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKCdZb3UgbWF5IGhhdmUgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AgJyArXG4gICAgICAgICAgICAgICAgICAgICh3YXRjaGVyLnVzZXJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJpbiB3YXRjaGVyIHdpdGggZXhwcmVzc2lvbiBcXFwiXCIuY29uY2F0KHdhdGNoZXIuZXhwcmVzc2lvbiwgXCJcXFwiXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IFwiaW4gYSBjb21wb25lbnQgcmVuZGVyIGZ1bmN0aW9uLlwiKSwgd2F0Y2hlci52bSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8ga2VlcCBjb3BpZXMgb2YgcG9zdCBxdWV1ZXMgYmVmb3JlIHJlc2V0dGluZyBzdGF0ZVxuICAgIHZhciBhY3RpdmF0ZWRRdWV1ZSA9IGFjdGl2YXRlZENoaWxkcmVuLnNsaWNlKCk7XG4gICAgdmFyIHVwZGF0ZWRRdWV1ZSA9IHF1ZXVlLnNsaWNlKCk7XG4gICAgcmVzZXRTY2hlZHVsZXJTdGF0ZSgpO1xuICAgIC8vIGNhbGwgY29tcG9uZW50IHVwZGF0ZWQgYW5kIGFjdGl2YXRlZCBob29rc1xuICAgIGNhbGxBY3RpdmF0ZWRIb29rcyhhY3RpdmF0ZWRRdWV1ZSk7XG4gICAgY2FsbFVwZGF0ZWRIb29rcyh1cGRhdGVkUXVldWUpO1xuICAgIGNsZWFudXBEZXBzKCk7XG4gICAgLy8gZGV2dG9vbCBob29rXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGRldnRvb2xzICYmIGNvbmZpZy5kZXZ0b29scykge1xuICAgICAgICBkZXZ0b29scy5lbWl0KCdmbHVzaCcpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGNhbGxVcGRhdGVkSG9va3MocXVldWUpIHtcbiAgICB2YXIgaSA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgIHZhciB3YXRjaGVyID0gcXVldWVbaV07XG4gICAgICAgIHZhciB2bSA9IHdhdGNoZXIudm07XG4gICAgICAgIGlmICh2bSAmJiB2bS5fd2F0Y2hlciA9PT0gd2F0Y2hlciAmJiB2bS5faXNNb3VudGVkICYmICF2bS5faXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIGNhbGxIb29rJDEodm0sICd1cGRhdGVkJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIFF1ZXVlIGEga2VwdC1hbGl2ZSBjb21wb25lbnQgdGhhdCB3YXMgYWN0aXZhdGVkIGR1cmluZyBwYXRjaC5cbiAqIFRoZSBxdWV1ZSB3aWxsIGJlIHByb2Nlc3NlZCBhZnRlciB0aGUgZW50aXJlIHRyZWUgaGFzIGJlZW4gcGF0Y2hlZC5cbiAqL1xuZnVuY3Rpb24gcXVldWVBY3RpdmF0ZWRDb21wb25lbnQodm0pIHtcbiAgICAvLyBzZXR0aW5nIF9pbmFjdGl2ZSB0byBmYWxzZSBoZXJlIHNvIHRoYXQgYSByZW5kZXIgZnVuY3Rpb24gY2FuXG4gICAgLy8gcmVseSBvbiBjaGVja2luZyB3aGV0aGVyIGl0J3MgaW4gYW4gaW5hY3RpdmUgdHJlZSAoZS5nLiByb3V0ZXItdmlldylcbiAgICB2bS5faW5hY3RpdmUgPSBmYWxzZTtcbiAgICBhY3RpdmF0ZWRDaGlsZHJlbi5wdXNoKHZtKTtcbn1cbmZ1bmN0aW9uIGNhbGxBY3RpdmF0ZWRIb29rcyhxdWV1ZSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcXVldWVbaV0uX2luYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudChxdWV1ZVtpXSwgdHJ1ZSAvKiB0cnVlICovKTtcbiAgICB9XG59XG4vKipcbiAqIFB1c2ggYSB3YXRjaGVyIGludG8gdGhlIHdhdGNoZXIgcXVldWUuXG4gKiBKb2JzIHdpdGggZHVwbGljYXRlIElEcyB3aWxsIGJlIHNraXBwZWQgdW5sZXNzIGl0J3NcbiAqIHB1c2hlZCB3aGVuIHRoZSBxdWV1ZSBpcyBiZWluZyBmbHVzaGVkLlxuICovXG5mdW5jdGlvbiBxdWV1ZVdhdGNoZXIod2F0Y2hlcikge1xuICAgIHZhciBpZCA9IHdhdGNoZXIuaWQ7XG4gICAgaWYgKGhhc1tpZF0gIT0gbnVsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh3YXRjaGVyID09PSBEZXAudGFyZ2V0ICYmIHdhdGNoZXIubm9SZWN1cnNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaGFzW2lkXSA9IHRydWU7XG4gICAgaWYgKCFmbHVzaGluZykge1xuICAgICAgICBxdWV1ZS5wdXNoKHdhdGNoZXIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gaWYgYWxyZWFkeSBmbHVzaGluZywgc3BsaWNlIHRoZSB3YXRjaGVyIGJhc2VkIG9uIGl0cyBpZFxuICAgICAgICAvLyBpZiBhbHJlYWR5IHBhc3QgaXRzIGlkLCBpdCB3aWxsIGJlIHJ1biBuZXh0IGltbWVkaWF0ZWx5LlxuICAgICAgICB2YXIgaSA9IHF1ZXVlLmxlbmd0aCAtIDE7XG4gICAgICAgIHdoaWxlIChpID4gaW5kZXgkMSAmJiBxdWV1ZVtpXS5pZCA+IHdhdGNoZXIuaWQpIHtcbiAgICAgICAgICAgIGktLTtcbiAgICAgICAgfVxuICAgICAgICBxdWV1ZS5zcGxpY2UoaSArIDEsIDAsIHdhdGNoZXIpO1xuICAgIH1cbiAgICAvLyBxdWV1ZSB0aGUgZmx1c2hcbiAgICBpZiAoIXdhaXRpbmcpIHtcbiAgICAgICAgd2FpdGluZyA9IHRydWU7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFjb25maWcuYXN5bmMpIHtcbiAgICAgICAgICAgIGZsdXNoU2NoZWR1bGVyUXVldWUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBuZXh0VGljayhmbHVzaFNjaGVkdWxlclF1ZXVlKTtcbiAgICB9XG59XG5cbnZhciBXQVRDSEVSID0gXCJ3YXRjaGVyXCI7XG52YXIgV0FUQ0hFUl9DQiA9IFwiXCIuY29uY2F0KFdBVENIRVIsIFwiIGNhbGxiYWNrXCIpO1xudmFyIFdBVENIRVJfR0VUVEVSID0gXCJcIi5jb25jYXQoV0FUQ0hFUiwgXCIgZ2V0dGVyXCIpO1xudmFyIFdBVENIRVJfQ0xFQU5VUCA9IFwiXCIuY29uY2F0KFdBVENIRVIsIFwiIGNsZWFudXBcIik7XG4vLyBTaW1wbGUgZWZmZWN0LlxuZnVuY3Rpb24gd2F0Y2hFZmZlY3QoZWZmZWN0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGRvV2F0Y2goZWZmZWN0LCBudWxsLCBvcHRpb25zKTtcbn1cbmZ1bmN0aW9uIHdhdGNoUG9zdEVmZmVjdChlZmZlY3QsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gZG9XYXRjaChlZmZlY3QsIG51bGwsIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nXG4gICAgICAgID8gX19hc3NpZ24oX19hc3NpZ24oe30sIG9wdGlvbnMpLCB7IGZsdXNoOiAncG9zdCcgfSkgOiB7IGZsdXNoOiAncG9zdCcgfSkpO1xufVxuZnVuY3Rpb24gd2F0Y2hTeW5jRWZmZWN0KGVmZmVjdCwgb3B0aW9ucykge1xuICAgIHJldHVybiBkb1dhdGNoKGVmZmVjdCwgbnVsbCwgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbidcbiAgICAgICAgPyBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgb3B0aW9ucyksIHsgZmx1c2g6ICdzeW5jJyB9KSA6IHsgZmx1c2g6ICdzeW5jJyB9KSk7XG59XG4vLyBpbml0aWFsIHZhbHVlIGZvciB3YXRjaGVycyB0byB0cmlnZ2VyIG9uIHVuZGVmaW5lZCBpbml0aWFsIHZhbHVlc1xudmFyIElOSVRJQUxfV0FUQ0hFUl9WQUxVRSA9IHt9O1xuLy8gaW1wbGVtZW50YXRpb25cbmZ1bmN0aW9uIHdhdGNoKHNvdXJjZSwgY2IsIG9wdGlvbnMpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB0eXBlb2YgY2IgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgd2FybiQyKFwiYHdhdGNoKGZuLCBvcHRpb25zPylgIHNpZ25hdHVyZSBoYXMgYmVlbiBtb3ZlZCB0byBhIHNlcGFyYXRlIEFQSS4gXCIgK1xuICAgICAgICAgICAgXCJVc2UgYHdhdGNoRWZmZWN0KGZuLCBvcHRpb25zPylgIGluc3RlYWQuIGB3YXRjaGAgbm93IG9ubHkgXCIgK1xuICAgICAgICAgICAgXCJzdXBwb3J0cyBgd2F0Y2goc291cmNlLCBjYiwgb3B0aW9ucz8pIHNpZ25hdHVyZS5cIik7XG4gICAgfVxuICAgIHJldHVybiBkb1dhdGNoKHNvdXJjZSwgY2IsIG9wdGlvbnMpO1xufVxuZnVuY3Rpb24gZG9XYXRjaChzb3VyY2UsIGNiLCBfYSkge1xuICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyBlbXB0eU9iamVjdCA6IF9hLCBpbW1lZGlhdGUgPSBfYi5pbW1lZGlhdGUsIGRlZXAgPSBfYi5kZWVwLCBfYyA9IF9iLmZsdXNoLCBmbHVzaCA9IF9jID09PSB2b2lkIDAgPyAncHJlJyA6IF9jLCBvblRyYWNrID0gX2Iub25UcmFjaywgb25UcmlnZ2VyID0gX2Iub25UcmlnZ2VyO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFjYikge1xuICAgICAgICBpZiAoaW1tZWRpYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHdhcm4kMihcIndhdGNoKCkgXFxcImltbWVkaWF0ZVxcXCIgb3B0aW9uIGlzIG9ubHkgcmVzcGVjdGVkIHdoZW4gdXNpbmcgdGhlIFwiICtcbiAgICAgICAgICAgICAgICBcIndhdGNoKHNvdXJjZSwgY2FsbGJhY2ssIG9wdGlvbnM/KSBzaWduYXR1cmUuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWVwICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHdhcm4kMihcIndhdGNoKCkgXFxcImRlZXBcXFwiIG9wdGlvbiBpcyBvbmx5IHJlc3BlY3RlZCB3aGVuIHVzaW5nIHRoZSBcIiArXG4gICAgICAgICAgICAgICAgXCJ3YXRjaChzb3VyY2UsIGNhbGxiYWNrLCBvcHRpb25zPykgc2lnbmF0dXJlLlwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgd2FybkludmFsaWRTb3VyY2UgPSBmdW5jdGlvbiAocykge1xuICAgICAgICB3YXJuJDIoXCJJbnZhbGlkIHdhdGNoIHNvdXJjZTogXCIuY29uY2F0KHMsIFwiLiBBIHdhdGNoIHNvdXJjZSBjYW4gb25seSBiZSBhIGdldHRlci9lZmZlY3QgXCIpICtcbiAgICAgICAgICAgIFwiZnVuY3Rpb24sIGEgcmVmLCBhIHJlYWN0aXZlIG9iamVjdCwgb3IgYW4gYXJyYXkgb2YgdGhlc2UgdHlwZXMuXCIpO1xuICAgIH07XG4gICAgdmFyIGluc3RhbmNlID0gY3VycmVudEluc3RhbmNlO1xuICAgIHZhciBjYWxsID0gZnVuY3Rpb24gKGZuLCB0eXBlLCBhcmdzKSB7XG4gICAgICAgIGlmIChhcmdzID09PSB2b2lkIDApIHsgYXJncyA9IG51bGw7IH1cbiAgICAgICAgcmV0dXJuIGludm9rZVdpdGhFcnJvckhhbmRsaW5nKGZuLCBudWxsLCBhcmdzLCBpbnN0YW5jZSwgdHlwZSk7XG4gICAgfTtcbiAgICB2YXIgZ2V0dGVyO1xuICAgIHZhciBmb3JjZVRyaWdnZXIgPSBmYWxzZTtcbiAgICB2YXIgaXNNdWx0aVNvdXJjZSA9IGZhbHNlO1xuICAgIGlmIChpc1JlZihzb3VyY2UpKSB7XG4gICAgICAgIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHNvdXJjZS52YWx1ZTsgfTtcbiAgICAgICAgZm9yY2VUcmlnZ2VyID0gaXNTaGFsbG93KHNvdXJjZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUmVhY3RpdmUoc291cmNlKSkge1xuICAgICAgICBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzb3VyY2UuX19vYl9fLmRlcC5kZXBlbmQoKTtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgICAgIH07XG4gICAgICAgIGRlZXAgPSB0cnVlO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0FycmF5KHNvdXJjZSkpIHtcbiAgICAgICAgaXNNdWx0aVNvdXJjZSA9IHRydWU7XG4gICAgICAgIGZvcmNlVHJpZ2dlciA9IHNvdXJjZS5zb21lKGZ1bmN0aW9uIChzKSB7IHJldHVybiBpc1JlYWN0aXZlKHMpIHx8IGlzU2hhbGxvdyhzKTsgfSk7XG4gICAgICAgIGdldHRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2UubWFwKGZ1bmN0aW9uIChzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzUmVmKHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChpc1JlYWN0aXZlKHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cmF2ZXJzZShzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNGdW5jdGlvbihzKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbChzLCBXQVRDSEVSX0dFVFRFUik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm5JbnZhbGlkU291cmNlKHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0Z1bmN0aW9uKHNvdXJjZSkpIHtcbiAgICAgICAgaWYgKGNiKSB7XG4gICAgICAgICAgICAvLyBnZXR0ZXIgd2l0aCBjYlxuICAgICAgICAgICAgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gY2FsbChzb3VyY2UsIFdBVENIRVJfR0VUVEVSKTsgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIG5vIGNiIC0+IHNpbXBsZSBlZmZlY3RcbiAgICAgICAgICAgIGdldHRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UgJiYgaW5zdGFuY2UuX2lzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNsZWFudXApIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYW51cCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY2FsbChzb3VyY2UsIFdBVENIRVIsIFtvbkNsZWFudXBdKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGdldHRlciA9IG5vb3A7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybkludmFsaWRTb3VyY2Uoc291cmNlKTtcbiAgICB9XG4gICAgaWYgKGNiICYmIGRlZXApIHtcbiAgICAgICAgdmFyIGJhc2VHZXR0ZXJfMSA9IGdldHRlcjtcbiAgICAgICAgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdHJhdmVyc2UoYmFzZUdldHRlcl8xKCkpOyB9O1xuICAgIH1cbiAgICB2YXIgY2xlYW51cDtcbiAgICB2YXIgb25DbGVhbnVwID0gZnVuY3Rpb24gKGZuKSB7XG4gICAgICAgIGNsZWFudXAgPSB3YXRjaGVyLm9uU3RvcCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNhbGwoZm4sIFdBVENIRVJfQ0xFQU5VUCk7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICAvLyBpbiBTU1IgdGhlcmUgaXMgbm8gbmVlZCB0byBzZXR1cCBhbiBhY3R1YWwgZWZmZWN0LCBhbmQgaXQgc2hvdWxkIGJlIG5vb3BcbiAgICAvLyB1bmxlc3MgaXQncyBlYWdlclxuICAgIGlmIChpc1NlcnZlclJlbmRlcmluZygpKSB7XG4gICAgICAgIC8vIHdlIHdpbGwgYWxzbyBub3QgY2FsbCB0aGUgaW52YWxpZGF0ZSBjYWxsYmFjayAoKyBydW5uZXIgaXMgbm90IHNldCB1cClcbiAgICAgICAgb25DbGVhbnVwID0gbm9vcDtcbiAgICAgICAgaWYgKCFjYikge1xuICAgICAgICAgICAgZ2V0dGVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaW1tZWRpYXRlKSB7XG4gICAgICAgICAgICBjYWxsKGNiLCBXQVRDSEVSX0NCLCBbXG4gICAgICAgICAgICAgICAgZ2V0dGVyKCksXG4gICAgICAgICAgICAgICAgaXNNdWx0aVNvdXJjZSA/IFtdIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG9uQ2xlYW51cFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vb3A7XG4gICAgfVxuICAgIHZhciB3YXRjaGVyID0gbmV3IFdhdGNoZXIoY3VycmVudEluc3RhbmNlLCBnZXR0ZXIsIG5vb3AsIHtcbiAgICAgICAgbGF6eTogdHJ1ZVxuICAgIH0pO1xuICAgIHdhdGNoZXIubm9SZWN1cnNlID0gIWNiO1xuICAgIHZhciBvbGRWYWx1ZSA9IGlzTXVsdGlTb3VyY2UgPyBbXSA6IElOSVRJQUxfV0FUQ0hFUl9WQUxVRTtcbiAgICAvLyBvdmVyd3JpdGUgZGVmYXVsdCBydW5cbiAgICB3YXRjaGVyLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCF3YXRjaGVyLmFjdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYikge1xuICAgICAgICAgICAgLy8gd2F0Y2goc291cmNlLCBjYilcbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHdhdGNoZXIuZ2V0KCk7XG4gICAgICAgICAgICBpZiAoZGVlcCB8fFxuICAgICAgICAgICAgICAgIGZvcmNlVHJpZ2dlciB8fFxuICAgICAgICAgICAgICAgIChpc011bHRpU291cmNlXG4gICAgICAgICAgICAgICAgICAgID8gbmV3VmFsdWUuc29tZShmdW5jdGlvbiAodiwgaSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhc0NoYW5nZWQodiwgb2xkVmFsdWVbaV0pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICA6IGhhc0NoYW5nZWQobmV3VmFsdWUsIG9sZFZhbHVlKSkpIHtcbiAgICAgICAgICAgICAgICAvLyBjbGVhbnVwIGJlZm9yZSBydW5uaW5nIGNiIGFnYWluXG4gICAgICAgICAgICAgICAgaWYgKGNsZWFudXApIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYW51cCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYWxsKGNiLCBXQVRDSEVSX0NCLCBbXG4gICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAvLyBwYXNzIHVuZGVmaW5lZCBhcyB0aGUgb2xkIHZhbHVlIHdoZW4gaXQncyBjaGFuZ2VkIGZvciB0aGUgZmlyc3QgdGltZVxuICAgICAgICAgICAgICAgICAgICBvbGRWYWx1ZSA9PT0gSU5JVElBTF9XQVRDSEVSX1ZBTFVFID8gdW5kZWZpbmVkIDogb2xkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xlYW51cFxuICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIG9sZFZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyB3YXRjaEVmZmVjdFxuICAgICAgICAgICAgd2F0Y2hlci5nZXQoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgaWYgKGZsdXNoID09PSAnc3luYycpIHtcbiAgICAgICAgd2F0Y2hlci51cGRhdGUgPSB3YXRjaGVyLnJ1bjtcbiAgICB9XG4gICAgZWxzZSBpZiAoZmx1c2ggPT09ICdwb3N0Jykge1xuICAgICAgICB3YXRjaGVyLnBvc3QgPSB0cnVlO1xuICAgICAgICB3YXRjaGVyLnVwZGF0ZSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHF1ZXVlV2F0Y2hlcih3YXRjaGVyKTsgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIHByZVxuICAgICAgICB3YXRjaGVyLnVwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmIChpbnN0YW5jZSAmJiBpbnN0YW5jZSA9PT0gY3VycmVudEluc3RhbmNlICYmICFpbnN0YW5jZS5faXNNb3VudGVkKSB7XG4gICAgICAgICAgICAgICAgLy8gcHJlLXdhdGNoZXIgdHJpZ2dlcmVkIGJlZm9yZVxuICAgICAgICAgICAgICAgIHZhciBidWZmZXIgPSBpbnN0YW5jZS5fcHJlV2F0Y2hlcnMgfHwgKGluc3RhbmNlLl9wcmVXYXRjaGVycyA9IFtdKTtcbiAgICAgICAgICAgICAgICBpZiAoYnVmZmVyLmluZGV4T2Yod2F0Y2hlcikgPCAwKVxuICAgICAgICAgICAgICAgICAgICBidWZmZXIucHVzaCh3YXRjaGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHF1ZXVlV2F0Y2hlcih3YXRjaGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgd2F0Y2hlci5vblRyYWNrID0gb25UcmFjaztcbiAgICAgICAgd2F0Y2hlci5vblRyaWdnZXIgPSBvblRyaWdnZXI7XG4gICAgfVxuICAgIC8vIGluaXRpYWwgcnVuXG4gICAgaWYgKGNiKSB7XG4gICAgICAgIGlmIChpbW1lZGlhdGUpIHtcbiAgICAgICAgICAgIHdhdGNoZXIucnVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBvbGRWYWx1ZSA9IHdhdGNoZXIuZ2V0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoZmx1c2ggPT09ICdwb3N0JyAmJiBpbnN0YW5jZSkge1xuICAgICAgICBpbnN0YW5jZS4kb25jZSgnaG9vazptb3VudGVkJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gd2F0Y2hlci5nZXQoKTsgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB3YXRjaGVyLmdldCgpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB3YXRjaGVyLnRlYXJkb3duKCk7XG4gICAgfTtcbn1cblxudmFyIGFjdGl2ZUVmZmVjdFNjb3BlO1xudmFyIEVmZmVjdFNjb3BlID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEVmZmVjdFNjb3BlKGRldGFjaGVkKSB7XG4gICAgICAgIGlmIChkZXRhY2hlZCA9PT0gdm9pZCAwKSB7IGRldGFjaGVkID0gZmFsc2U7IH1cbiAgICAgICAgdGhpcy5kZXRhY2hlZCA9IGRldGFjaGVkO1xuICAgICAgICAvKipcbiAgICAgICAgICogQGludGVybmFsXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAaW50ZXJuYWxcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuZWZmZWN0cyA9IFtdO1xuICAgICAgICAvKipcbiAgICAgICAgICogQGludGVybmFsXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmNsZWFudXBzID0gW107XG4gICAgICAgIHRoaXMucGFyZW50ID0gYWN0aXZlRWZmZWN0U2NvcGU7XG4gICAgICAgIGlmICghZGV0YWNoZWQgJiYgYWN0aXZlRWZmZWN0U2NvcGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXggPVxuICAgICAgICAgICAgICAgIChhY3RpdmVFZmZlY3RTY29wZS5zY29wZXMgfHwgKGFjdGl2ZUVmZmVjdFNjb3BlLnNjb3BlcyA9IFtdKSkucHVzaCh0aGlzKSAtIDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgRWZmZWN0U2NvcGUucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uIChmbikge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgICAgICAgIHZhciBjdXJyZW50RWZmZWN0U2NvcGUgPSBhY3RpdmVFZmZlY3RTY29wZTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlRWZmZWN0U2NvcGUgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHJldHVybiBmbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlRWZmZWN0U2NvcGUgPSBjdXJyZW50RWZmZWN0U2NvcGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgd2FybiQyKFwiY2Fubm90IHJ1biBhbiBpbmFjdGl2ZSBlZmZlY3Qgc2NvcGUuXCIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBUaGlzIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbiBub24tZGV0YWNoZWQgc2NvcGVzXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgRWZmZWN0U2NvcGUucHJvdG90eXBlLm9uID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBhY3RpdmVFZmZlY3RTY29wZSA9IHRoaXM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBUaGlzIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbiBub24tZGV0YWNoZWQgc2NvcGVzXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgRWZmZWN0U2NvcGUucHJvdG90eXBlLm9mZiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYWN0aXZlRWZmZWN0U2NvcGUgPSB0aGlzLnBhcmVudDtcbiAgICB9O1xuICAgIEVmZmVjdFNjb3BlLnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24gKGZyb21QYXJlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgICAgICB2YXIgaSA9IHZvaWQgMCwgbCA9IHZvaWQgMDtcbiAgICAgICAgICAgIGZvciAoaSA9IDAsIGwgPSB0aGlzLmVmZmVjdHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lZmZlY3RzW2ldLnRlYXJkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGkgPSAwLCBsID0gdGhpcy5jbGVhbnVwcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFudXBzW2ldKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5zY29wZXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGkgPSAwLCBsID0gdGhpcy5zY29wZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NvcGVzW2ldLnN0b3AodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gbmVzdGVkIHNjb3BlLCBkZXJlZmVyZW5jZSBmcm9tIHBhcmVudCB0byBhdm9pZCBtZW1vcnkgbGVha3NcbiAgICAgICAgICAgIGlmICghdGhpcy5kZXRhY2hlZCAmJiB0aGlzLnBhcmVudCAmJiAhZnJvbVBhcmVudCkge1xuICAgICAgICAgICAgICAgIC8vIG9wdGltaXplZCBPKDEpIHJlbW92YWxcbiAgICAgICAgICAgICAgICB2YXIgbGFzdCA9IHRoaXMucGFyZW50LnNjb3Blcy5wb3AoKTtcbiAgICAgICAgICAgICAgICBpZiAobGFzdCAmJiBsYXN0ICE9PSB0aGlzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFyZW50LnNjb3Blc1t0aGlzLmluZGV4XSA9IGxhc3Q7XG4gICAgICAgICAgICAgICAgICAgIGxhc3QuaW5kZXggPSB0aGlzLmluZGV4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGFyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIEVmZmVjdFNjb3BlO1xufSgpKTtcbmZ1bmN0aW9uIGVmZmVjdFNjb3BlKGRldGFjaGVkKSB7XG4gICAgcmV0dXJuIG5ldyBFZmZlY3RTY29wZShkZXRhY2hlZCk7XG59XG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5mdW5jdGlvbiByZWNvcmRFZmZlY3RTY29wZShlZmZlY3QsIHNjb3BlKSB7XG4gICAgaWYgKHNjb3BlID09PSB2b2lkIDApIHsgc2NvcGUgPSBhY3RpdmVFZmZlY3RTY29wZTsgfVxuICAgIGlmIChzY29wZSAmJiBzY29wZS5hY3RpdmUpIHtcbiAgICAgICAgc2NvcGUuZWZmZWN0cy5wdXNoKGVmZmVjdCk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0Q3VycmVudFNjb3BlKCkge1xuICAgIHJldHVybiBhY3RpdmVFZmZlY3RTY29wZTtcbn1cbmZ1bmN0aW9uIG9uU2NvcGVEaXNwb3NlKGZuKSB7XG4gICAgaWYgKGFjdGl2ZUVmZmVjdFNjb3BlKSB7XG4gICAgICAgIGFjdGl2ZUVmZmVjdFNjb3BlLmNsZWFudXBzLnB1c2goZm4pO1xuICAgIH1cbiAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhcm4kMihcIm9uU2NvcGVEaXNwb3NlKCkgaXMgY2FsbGVkIHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIGVmZmVjdCBzY29wZVwiICtcbiAgICAgICAgICAgIFwiIHRvIGJlIGFzc29jaWF0ZWQgd2l0aC5cIik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBwcm92aWRlKGtleSwgdmFsdWUpIHtcbiAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgd2FybiQyKFwicHJvdmlkZSgpIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIHNldHVwKCkuXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyBUUyBkb2Vzbid0IGFsbG93IHN5bWJvbCBhcyBpbmRleCB0eXBlXG4gICAgICAgIHJlc29sdmVQcm92aWRlZChjdXJyZW50SW5zdGFuY2UpW2tleV0gPSB2YWx1ZTtcbiAgICB9XG59XG5mdW5jdGlvbiByZXNvbHZlUHJvdmlkZWQodm0pIHtcbiAgICAvLyBieSBkZWZhdWx0IGFuIGluc3RhbmNlIGluaGVyaXRzIGl0cyBwYXJlbnQncyBwcm92aWRlcyBvYmplY3RcbiAgICAvLyBidXQgd2hlbiBpdCBuZWVkcyB0byBwcm92aWRlIHZhbHVlcyBvZiBpdHMgb3duLCBpdCBjcmVhdGVzIGl0c1xuICAgIC8vIG93biBwcm92aWRlcyBvYmplY3QgdXNpbmcgcGFyZW50IHByb3ZpZGVzIG9iamVjdCBhcyBwcm90b3R5cGUuXG4gICAgLy8gdGhpcyB3YXkgaW4gYGluamVjdGAgd2UgY2FuIHNpbXBseSBsb29rIHVwIGluamVjdGlvbnMgZnJvbSBkaXJlY3RcbiAgICAvLyBwYXJlbnQgYW5kIGxldCB0aGUgcHJvdG90eXBlIGNoYWluIGRvIHRoZSB3b3JrLlxuICAgIHZhciBleGlzdGluZyA9IHZtLl9wcm92aWRlZDtcbiAgICB2YXIgcGFyZW50UHJvdmlkZXMgPSB2bS4kcGFyZW50ICYmIHZtLiRwYXJlbnQuX3Byb3ZpZGVkO1xuICAgIGlmIChwYXJlbnRQcm92aWRlcyA9PT0gZXhpc3RpbmcpIHtcbiAgICAgICAgcmV0dXJuICh2bS5fcHJvdmlkZWQgPSBPYmplY3QuY3JlYXRlKHBhcmVudFByb3ZpZGVzKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxufVxuZnVuY3Rpb24gaW5qZWN0KGtleSwgZGVmYXVsdFZhbHVlLCB0cmVhdERlZmF1bHRBc0ZhY3RvcnkpIHtcbiAgICBpZiAodHJlYXREZWZhdWx0QXNGYWN0b3J5ID09PSB2b2lkIDApIHsgdHJlYXREZWZhdWx0QXNGYWN0b3J5ID0gZmFsc2U7IH1cbiAgICAvLyBmYWxsYmFjayB0byBgY3VycmVudFJlbmRlcmluZ0luc3RhbmNlYCBzbyB0aGF0IHRoaXMgY2FuIGJlIGNhbGxlZCBpblxuICAgIC8vIGEgZnVuY3Rpb25hbCBjb21wb25lbnRcbiAgICB2YXIgaW5zdGFuY2UgPSBjdXJyZW50SW5zdGFuY2U7XG4gICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgIC8vICMyNDAwXG4gICAgICAgIC8vIHRvIHN1cHBvcnQgYGFwcC51c2VgIHBsdWdpbnMsXG4gICAgICAgIC8vIGZhbGxiYWNrIHRvIGFwcENvbnRleHQncyBgcHJvdmlkZXNgIGlmIHRoZSBpbnN0YW5jZSBpcyBhdCByb290XG4gICAgICAgIHZhciBwcm92aWRlcyA9IGluc3RhbmNlLiRwYXJlbnQgJiYgaW5zdGFuY2UuJHBhcmVudC5fcHJvdmlkZWQ7XG4gICAgICAgIGlmIChwcm92aWRlcyAmJiBrZXkgaW4gcHJvdmlkZXMpIHtcbiAgICAgICAgICAgIC8vIFRTIGRvZXNuJ3QgYWxsb3cgc3ltYm9sIGFzIGluZGV4IHR5cGVcbiAgICAgICAgICAgIHJldHVybiBwcm92aWRlc1trZXldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJlYXREZWZhdWx0QXNGYWN0b3J5ICYmIGlzRnVuY3Rpb24oZGVmYXVsdFZhbHVlKVxuICAgICAgICAgICAgICAgID8gZGVmYXVsdFZhbHVlLmNhbGwoaW5zdGFuY2UpXG4gICAgICAgICAgICAgICAgOiBkZWZhdWx0VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgd2FybiQyKFwiaW5qZWN0aW9uIFxcXCJcIi5jb25jYXQoU3RyaW5nKGtleSksIFwiXFxcIiBub3QgZm91bmQuXCIpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhcm4kMihcImluamVjdCgpIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIHNldHVwKCkgb3IgZnVuY3Rpb25hbCBjb21wb25lbnRzLlwiKTtcbiAgICB9XG59XG5cbi8qKlxuICogQGludGVybmFsIHRoaXMgZnVuY3Rpb24gbmVlZHMgbWFudWFsIHB1YmxpYyB0eXBlIGRlY2xhcmF0aW9uIGJlY2F1c2UgaXQgcmVsaWVzXG4gKiBvbiBwcmV2aW91c2x5IG1hbnVhbGx5IGF1dGhvcmVkIHR5cGVzIGZyb20gVnVlIDJcbiAqL1xuZnVuY3Rpb24gaCh0eXBlLCBwcm9wcywgY2hpbGRyZW4pIHtcbiAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZSkge1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICB3YXJuJDIoXCJnbG9iYWxseSBpbXBvcnRlZCBoKCkgY2FuIG9ubHkgYmUgaW52b2tlZCB3aGVuIHRoZXJlIGlzIGFuIGFjdGl2ZSBcIiArXG4gICAgICAgICAgICAgICAgXCJjb21wb25lbnQgaW5zdGFuY2UsIGUuZy4gc3luY2hyb25vdXNseSBpbiBhIGNvbXBvbmVudCdzIHJlbmRlciBvciBzZXR1cCBmdW5jdGlvbi5cIik7XG4gICAgfVxuICAgIHJldHVybiBjcmVhdGVFbGVtZW50JDEoY3VycmVudEluc3RhbmNlLCB0eXBlLCBwcm9wcywgY2hpbGRyZW4sIDIsIHRydWUpO1xufVxuXG5mdW5jdGlvbiBoYW5kbGVFcnJvcihlcnIsIHZtLCBpbmZvKSB7XG4gICAgLy8gRGVhY3RpdmF0ZSBkZXBzIHRyYWNraW5nIHdoaWxlIHByb2Nlc3NpbmcgZXJyb3IgaGFuZGxlciB0byBhdm9pZCBwb3NzaWJsZSBpbmZpbml0ZSByZW5kZXJpbmcuXG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdnVlanMvdnVleC9pc3N1ZXMvMTUwNVxuICAgIHB1c2hUYXJnZXQoKTtcbiAgICB0cnkge1xuICAgICAgICBpZiAodm0pIHtcbiAgICAgICAgICAgIHZhciBjdXIgPSB2bTtcbiAgICAgICAgICAgIHdoaWxlICgoY3VyID0gY3VyLiRwYXJlbnQpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGhvb2tzID0gY3VyLiRvcHRpb25zLmVycm9yQ2FwdHVyZWQ7XG4gICAgICAgICAgICAgICAgaWYgKGhvb2tzKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaG9va3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNhcHR1cmUgPSBob29rc1tpXS5jYWxsKGN1ciwgZXJyLCB2bSwgaW5mbykgPT09IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYXB0dXJlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbEhhbmRsZUVycm9yKGUsIGN1ciwgJ2Vycm9yQ2FwdHVyZWQgaG9vaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGdsb2JhbEhhbmRsZUVycm9yKGVyciwgdm0sIGluZm8pO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgcG9wVGFyZ2V0KCk7XG4gICAgfVxufVxuZnVuY3Rpb24gaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoaGFuZGxlciwgY29udGV4dCwgYXJncywgdm0sIGluZm8pIHtcbiAgICB2YXIgcmVzO1xuICAgIHRyeSB7XG4gICAgICAgIHJlcyA9IGFyZ3MgPyBoYW5kbGVyLmFwcGx5KGNvbnRleHQsIGFyZ3MpIDogaGFuZGxlci5jYWxsKGNvbnRleHQpO1xuICAgICAgICBpZiAocmVzICYmICFyZXMuX2lzVnVlICYmIGlzUHJvbWlzZShyZXMpICYmICFyZXMuX2hhbmRsZWQpIHtcbiAgICAgICAgICAgIHJlcy5jYXRjaChmdW5jdGlvbiAoZSkgeyByZXR1cm4gaGFuZGxlRXJyb3IoZSwgdm0sIGluZm8gKyBcIiAoUHJvbWlzZS9hc3luYylcIik7IH0pO1xuICAgICAgICAgICAgcmVzLl9oYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBoYW5kbGVFcnJvcihlLCB2bSwgaW5mbyk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5mdW5jdGlvbiBnbG9iYWxIYW5kbGVFcnJvcihlcnIsIHZtLCBpbmZvKSB7XG4gICAgaWYgKGNvbmZpZy5lcnJvckhhbmRsZXIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWcuZXJyb3JIYW5kbGVyLmNhbGwobnVsbCwgZXJyLCB2bSwgaW5mbyk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIC8vIGlmIHRoZSB1c2VyIGludGVudGlvbmFsbHkgdGhyb3dzIHRoZSBvcmlnaW5hbCBlcnJvciBpbiB0aGUgaGFuZGxlcixcbiAgICAgICAgICAgIC8vIGRvIG5vdCBsb2cgaXQgdHdpY2VcbiAgICAgICAgICAgIGlmIChlICE9PSBlcnIpIHtcbiAgICAgICAgICAgICAgICBsb2dFcnJvcihlLCBudWxsLCAnY29uZmlnLmVycm9ySGFuZGxlcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGxvZ0Vycm9yKGVyciwgdm0sIGluZm8pO1xufVxuZnVuY3Rpb24gbG9nRXJyb3IoZXJyLCB2bSwgaW5mbykge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhcm4kMihcIkVycm9yIGluIFwiLmNvbmNhdChpbmZvLCBcIjogXFxcIlwiKS5jb25jYXQoZXJyLnRvU3RyaW5nKCksIFwiXFxcIlwiKSwgdm0pO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChpbkJyb3dzZXIgJiYgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG59XG5cbi8qIGdsb2JhbHMgTXV0YXRpb25PYnNlcnZlciAqL1xudmFyIGlzVXNpbmdNaWNyb1Rhc2sgPSBmYWxzZTtcbnZhciBjYWxsYmFja3MgPSBbXTtcbnZhciBwZW5kaW5nID0gZmFsc2U7XG5mdW5jdGlvbiBmbHVzaENhbGxiYWNrcygpIHtcbiAgICBwZW5kaW5nID0gZmFsc2U7XG4gICAgdmFyIGNvcGllcyA9IGNhbGxiYWNrcy5zbGljZSgwKTtcbiAgICBjYWxsYmFja3MubGVuZ3RoID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvcGllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb3BpZXNbaV0oKTtcbiAgICB9XG59XG4vLyBIZXJlIHdlIGhhdmUgYXN5bmMgZGVmZXJyaW5nIHdyYXBwZXJzIHVzaW5nIG1pY3JvdGFza3MuXG4vLyBJbiAyLjUgd2UgdXNlZCAobWFjcm8pIHRhc2tzIChpbiBjb21iaW5hdGlvbiB3aXRoIG1pY3JvdGFza3MpLlxuLy8gSG93ZXZlciwgaXQgaGFzIHN1YnRsZSBwcm9ibGVtcyB3aGVuIHN0YXRlIGlzIGNoYW5nZWQgcmlnaHQgYmVmb3JlIHJlcGFpbnRcbi8vIChlLmcuICM2ODEzLCBvdXQtaW4gdHJhbnNpdGlvbnMpLlxuLy8gQWxzbywgdXNpbmcgKG1hY3JvKSB0YXNrcyBpbiBldmVudCBoYW5kbGVyIHdvdWxkIGNhdXNlIHNvbWUgd2VpcmQgYmVoYXZpb3JzXG4vLyB0aGF0IGNhbm5vdCBiZSBjaXJjdW12ZW50ZWQgKGUuZy4gIzcxMDksICM3MTUzLCAjNzU0NiwgIzc4MzQsICM4MTA5KS5cbi8vIFNvIHdlIG5vdyB1c2UgbWljcm90YXNrcyBldmVyeXdoZXJlLCBhZ2Fpbi5cbi8vIEEgbWFqb3IgZHJhd2JhY2sgb2YgdGhpcyB0cmFkZW9mZiBpcyB0aGF0IHRoZXJlIGFyZSBzb21lIHNjZW5hcmlvc1xuLy8gd2hlcmUgbWljcm90YXNrcyBoYXZlIHRvbyBoaWdoIGEgcHJpb3JpdHkgYW5kIGZpcmUgaW4gYmV0d2VlbiBzdXBwb3NlZGx5XG4vLyBzZXF1ZW50aWFsIGV2ZW50cyAoZS5nLiAjNDUyMSwgIzY2OTAsIHdoaWNoIGhhdmUgd29ya2Fyb3VuZHMpXG4vLyBvciBldmVuIGJldHdlZW4gYnViYmxpbmcgb2YgdGhlIHNhbWUgZXZlbnQgKCM2NTY2KS5cbnZhciB0aW1lckZ1bmM7XG4vLyBUaGUgbmV4dFRpY2sgYmVoYXZpb3IgbGV2ZXJhZ2VzIHRoZSBtaWNyb3Rhc2sgcXVldWUsIHdoaWNoIGNhbiBiZSBhY2Nlc3NlZFxuLy8gdmlhIGVpdGhlciBuYXRpdmUgUHJvbWlzZS50aGVuIG9yIE11dGF0aW9uT2JzZXJ2ZXIuXG4vLyBNdXRhdGlvbk9ic2VydmVyIGhhcyB3aWRlciBzdXBwb3J0LCBob3dldmVyIGl0IGlzIHNlcmlvdXNseSBidWdnZWQgaW5cbi8vIFVJV2ViVmlldyBpbiBpT1MgPj0gOS4zLjMgd2hlbiB0cmlnZ2VyZWQgaW4gdG91Y2ggZXZlbnQgaGFuZGxlcnMuIEl0XG4vLyBjb21wbGV0ZWx5IHN0b3BzIHdvcmtpbmcgYWZ0ZXIgdHJpZ2dlcmluZyBhIGZldyB0aW1lcy4uLiBzbywgaWYgbmF0aXZlXG4vLyBQcm9taXNlIGlzIGF2YWlsYWJsZSwgd2Ugd2lsbCB1c2UgaXQ6XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCwgJGZsb3ctZGlzYWJsZS1saW5lICovXG5pZiAodHlwZW9mIFByb21pc2UgIT09ICd1bmRlZmluZWQnICYmIGlzTmF0aXZlKFByb21pc2UpKSB7XG4gICAgdmFyIHBfMSA9IFByb21pc2UucmVzb2x2ZSgpO1xuICAgIHRpbWVyRnVuYyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcF8xLnRoZW4oZmx1c2hDYWxsYmFja3MpO1xuICAgICAgICAvLyBJbiBwcm9ibGVtYXRpYyBVSVdlYlZpZXdzLCBQcm9taXNlLnRoZW4gZG9lc24ndCBjb21wbGV0ZWx5IGJyZWFrLCBidXRcbiAgICAgICAgLy8gaXQgY2FuIGdldCBzdHVjayBpbiBhIHdlaXJkIHN0YXRlIHdoZXJlIGNhbGxiYWNrcyBhcmUgcHVzaGVkIGludG8gdGhlXG4gICAgICAgIC8vIG1pY3JvdGFzayBxdWV1ZSBidXQgdGhlIHF1ZXVlIGlzbid0IGJlaW5nIGZsdXNoZWQsIHVudGlsIHRoZSBicm93c2VyXG4gICAgICAgIC8vIG5lZWRzIHRvIGRvIHNvbWUgb3RoZXIgd29yaywgZS5nLiBoYW5kbGUgYSB0aW1lci4gVGhlcmVmb3JlIHdlIGNhblxuICAgICAgICAvLyBcImZvcmNlXCIgdGhlIG1pY3JvdGFzayBxdWV1ZSB0byBiZSBmbHVzaGVkIGJ5IGFkZGluZyBhbiBlbXB0eSB0aW1lci5cbiAgICAgICAgaWYgKGlzSU9TKVxuICAgICAgICAgICAgc2V0VGltZW91dChub29wKTtcbiAgICB9O1xuICAgIGlzVXNpbmdNaWNyb1Rhc2sgPSB0cnVlO1xufVxuZWxzZSBpZiAoIWlzSUUgJiZcbiAgICB0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoaXNOYXRpdmUoTXV0YXRpb25PYnNlcnZlcikgfHxcbiAgICAgICAgLy8gUGhhbnRvbUpTIGFuZCBpT1MgNy54XG4gICAgICAgIE11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXScpKSB7XG4gICAgLy8gVXNlIE11dGF0aW9uT2JzZXJ2ZXIgd2hlcmUgbmF0aXZlIFByb21pc2UgaXMgbm90IGF2YWlsYWJsZSxcbiAgICAvLyBlLmcuIFBoYW50b21KUywgaU9TNywgQW5kcm9pZCA0LjRcbiAgICAvLyAoIzY0NjYgTXV0YXRpb25PYnNlcnZlciBpcyB1bnJlbGlhYmxlIGluIElFMTEpXG4gICAgdmFyIGNvdW50ZXJfMSA9IDE7XG4gICAgdmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoZmx1c2hDYWxsYmFja3MpO1xuICAgIHZhciB0ZXh0Tm9kZV8xID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGNvdW50ZXJfMSkpO1xuICAgIG9ic2VydmVyLm9ic2VydmUodGV4dE5vZGVfMSwge1xuICAgICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXG4gICAgfSk7XG4gICAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBjb3VudGVyXzEgPSAoY291bnRlcl8xICsgMSkgJSAyO1xuICAgICAgICB0ZXh0Tm9kZV8xLmRhdGEgPSBTdHJpbmcoY291bnRlcl8xKTtcbiAgICB9O1xuICAgIGlzVXNpbmdNaWNyb1Rhc2sgPSB0cnVlO1xufVxuZWxzZSBpZiAodHlwZW9mIHNldEltbWVkaWF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoc2V0SW1tZWRpYXRlKSkge1xuICAgIC8vIEZhbGxiYWNrIHRvIHNldEltbWVkaWF0ZS5cbiAgICAvLyBUZWNobmljYWxseSBpdCBsZXZlcmFnZXMgdGhlIChtYWNybykgdGFzayBxdWV1ZSxcbiAgICAvLyBidXQgaXQgaXMgc3RpbGwgYSBiZXR0ZXIgY2hvaWNlIHRoYW4gc2V0VGltZW91dC5cbiAgICB0aW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNldEltbWVkaWF0ZShmbHVzaENhbGxiYWNrcyk7XG4gICAgfTtcbn1cbmVsc2Uge1xuICAgIC8vIEZhbGxiYWNrIHRvIHNldFRpbWVvdXQuXG4gICAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZsdXNoQ2FsbGJhY2tzLCAwKTtcbiAgICB9O1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gbmV4dFRpY2soY2IsIGN0eCkge1xuICAgIHZhciBfcmVzb2x2ZTtcbiAgICBjYWxsYmFja3MucHVzaChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChjYikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjYi5jYWxsKGN0eCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGhhbmRsZUVycm9yKGUsIGN0eCwgJ25leHRUaWNrJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoX3Jlc29sdmUpIHtcbiAgICAgICAgICAgIF9yZXNvbHZlKGN0eCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoIXBlbmRpbmcpIHtcbiAgICAgICAgcGVuZGluZyA9IHRydWU7XG4gICAgICAgIHRpbWVyRnVuYygpO1xuICAgIH1cbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICBpZiAoIWNiICYmIHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgICAgIF9yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB1c2VDc3NNb2R1bGUobmFtZSkge1xuICAgIGlmIChuYW1lID09PSB2b2lkIDApIHsgbmFtZSA9ICckc3R5bGUnOyB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICB7XG4gICAgICAgIGlmICghY3VycmVudEluc3RhbmNlKSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4kMihcInVzZUNzc01vZHVsZSBtdXN0IGJlIGNhbGxlZCBpbnNpZGUgc2V0dXAoKVwiKTtcbiAgICAgICAgICAgIHJldHVybiBlbXB0eU9iamVjdDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbW9kID0gY3VycmVudEluc3RhbmNlW25hbWVdO1xuICAgICAgICBpZiAoIW1vZCkge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIHdhcm4kMihcIkN1cnJlbnQgaW5zdGFuY2UgZG9lcyBub3QgaGF2ZSBDU1MgbW9kdWxlIG5hbWVkIFxcXCJcIi5jb25jYXQobmFtZSwgXCJcXFwiLlwiKSk7XG4gICAgICAgICAgICByZXR1cm4gZW1wdHlPYmplY3Q7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vZDtcbiAgICB9XG59XG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIFNGQydzIENTUyB2YXJpYWJsZSBpbmplY3Rpb24gZmVhdHVyZS5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIHVzZUNzc1ZhcnMoZ2V0dGVyKSB7XG4gICAgaWYgKCFpbkJyb3dzZXIgJiYgIWZhbHNlKVxuICAgICAgICByZXR1cm47XG4gICAgdmFyIGluc3RhbmNlID0gY3VycmVudEluc3RhbmNlO1xuICAgIGlmICghaW5zdGFuY2UpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgd2FybiQyKFwidXNlQ3NzVmFycyBpcyBjYWxsZWQgd2l0aG91dCBjdXJyZW50IGFjdGl2ZSBjb21wb25lbnQgaW5zdGFuY2UuXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHdhdGNoUG9zdEVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBlbCA9IGluc3RhbmNlLiRlbDtcbiAgICAgICAgdmFyIHZhcnMgPSBnZXR0ZXIoaW5zdGFuY2UsIGluc3RhbmNlLl9zZXR1cFByb3h5KTtcbiAgICAgICAgaWYgKGVsICYmIGVsLm5vZGVUeXBlID09PSAxKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSBlbC5zdHlsZTtcbiAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiB2YXJzKSB7XG4gICAgICAgICAgICAgICAgc3R5bGUuc2V0UHJvcGVydHkoXCItLVwiLmNvbmNhdChrZXkpLCB2YXJzW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qKlxuICogdjMtY29tcGF0aWJsZSBhc3luYyBjb21wb25lbnQgQVBJLlxuICogQGludGVybmFsIHRoZSB0eXBlIGlzIG1hbnVhbGx5IGRlY2xhcmVkIGluIDxyb290Pi90eXBlcy92My1kZWZpbmUtYXN5bmMtY29tcG9uZW50LmQudHNcbiAqIGJlY2F1c2UgaXQgcmVsaWVzIG9uIGV4aXN0aW5nIG1hbnVhbCB0eXBlc1xuICovXG5mdW5jdGlvbiBkZWZpbmVBc3luY0NvbXBvbmVudChzb3VyY2UpIHtcbiAgICBpZiAoaXNGdW5jdGlvbihzb3VyY2UpKSB7XG4gICAgICAgIHNvdXJjZSA9IHsgbG9hZGVyOiBzb3VyY2UgfTtcbiAgICB9XG4gICAgdmFyIGxvYWRlciA9IHNvdXJjZS5sb2FkZXIsIGxvYWRpbmdDb21wb25lbnQgPSBzb3VyY2UubG9hZGluZ0NvbXBvbmVudCwgZXJyb3JDb21wb25lbnQgPSBzb3VyY2UuZXJyb3JDb21wb25lbnQsIF9hID0gc291cmNlLmRlbGF5LCBkZWxheSA9IF9hID09PSB2b2lkIDAgPyAyMDAgOiBfYSwgdGltZW91dCA9IHNvdXJjZS50aW1lb3V0LCAvLyB1bmRlZmluZWQgPSBuZXZlciB0aW1lcyBvdXRcbiAgICBfYiA9IHNvdXJjZS5zdXNwZW5zaWJsZSwgLy8gdW5kZWZpbmVkID0gbmV2ZXIgdGltZXMgb3V0XG4gICAgc3VzcGVuc2libGUgPSBfYiA9PT0gdm9pZCAwID8gZmFsc2UgOiBfYiwgLy8gaW4gVnVlIDMgZGVmYXVsdCBpcyB0cnVlXG4gICAgdXNlck9uRXJyb3IgPSBzb3VyY2Uub25FcnJvcjtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBzdXNwZW5zaWJsZSkge1xuICAgICAgICB3YXJuJDIoXCJUaGUgc3VzcGVuc2libGJlIG9wdGlvbiBmb3IgYXN5bmMgY29tcG9uZW50cyBpcyBub3Qgc3VwcG9ydGVkIGluIFZ1ZTIuIEl0IGlzIGlnbm9yZWQuXCIpO1xuICAgIH1cbiAgICB2YXIgcGVuZGluZ1JlcXVlc3QgPSBudWxsO1xuICAgIHZhciByZXRyaWVzID0gMDtcbiAgICB2YXIgcmV0cnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHJpZXMrKztcbiAgICAgICAgcGVuZGluZ1JlcXVlc3QgPSBudWxsO1xuICAgICAgICByZXR1cm4gbG9hZCgpO1xuICAgIH07XG4gICAgdmFyIGxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB0aGlzUmVxdWVzdDtcbiAgICAgICAgcmV0dXJuIChwZW5kaW5nUmVxdWVzdCB8fFxuICAgICAgICAgICAgKHRoaXNSZXF1ZXN0ID0gcGVuZGluZ1JlcXVlc3QgPVxuICAgICAgICAgICAgICAgIGxvYWRlcigpXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGVyciA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyIDogbmV3IEVycm9yKFN0cmluZyhlcnIpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHVzZXJPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1c2VyUmV0cnkgPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZXNvbHZlKHJldHJ5KCkpOyB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1c2VyRmFpbCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlamVjdChlcnIpOyB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJPbkVycm9yKGVyciwgdXNlclJldHJ5LCB1c2VyRmFpbCwgcmV0cmllcyArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoY29tcCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpc1JlcXVlc3QgIT09IHBlbmRpbmdSZXF1ZXN0ICYmIHBlbmRpbmdSZXF1ZXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGVuZGluZ1JlcXVlc3Q7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIWNvbXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4kMihcIkFzeW5jIGNvbXBvbmVudCBsb2FkZXIgcmVzb2x2ZWQgdG8gdW5kZWZpbmVkLiBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJJZiB5b3UgYXJlIHVzaW5nIHJldHJ5KCksIG1ha2Ugc3VyZSB0byByZXR1cm4gaXRzIHJldHVybiB2YWx1ZS5cIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gaW50ZXJvcCBtb2R1bGUgZGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNvbXAuX19lc01vZHVsZSB8fCBjb21wW1N5bWJvbC50b1N0cmluZ1RhZ10gPT09ICdNb2R1bGUnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcCA9IGNvbXAuZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb21wICYmICFpc09iamVjdChjb21wKSAmJiAhaXNGdW5jdGlvbihjb21wKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBhc3luYyBjb21wb25lbnQgbG9hZCByZXN1bHQ6IFwiLmNvbmNhdChjb21wKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXA7XG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICB9O1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjb21wb25lbnQgPSBsb2FkKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb21wb25lbnQ6IGNvbXBvbmVudCxcbiAgICAgICAgICAgIGRlbGF5OiBkZWxheSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHRpbWVvdXQsXG4gICAgICAgICAgICBlcnJvcjogZXJyb3JDb21wb25lbnQsXG4gICAgICAgICAgICBsb2FkaW5nOiBsb2FkaW5nQ29tcG9uZW50XG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTGlmZUN5Y2xlKGhvb2tOYW1lKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChmbiwgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0YXJnZXQgPT09IHZvaWQgMCkgeyB0YXJnZXQgPSBjdXJyZW50SW5zdGFuY2U7IH1cbiAgICAgICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJcIi5jb25jYXQoZm9ybWF0TmFtZShob29rTmFtZSksIFwiIGlzIGNhbGxlZCB3aGVuIHRoZXJlIGlzIG5vIGFjdGl2ZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gYmUgXCIpICtcbiAgICAgICAgICAgICAgICAgICAgXCJhc3NvY2lhdGVkIHdpdGguIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJMaWZlY3ljbGUgaW5qZWN0aW9uIEFQSXMgY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgZXhlY3V0aW9uIG9mIHNldHVwKCkuXCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbmplY3RIb29rKHRhcmdldCwgaG9va05hbWUsIGZuKTtcbiAgICB9O1xufVxuZnVuY3Rpb24gZm9ybWF0TmFtZShuYW1lKSB7XG4gICAgaWYgKG5hbWUgPT09ICdiZWZvcmVEZXN0cm95Jykge1xuICAgICAgICBuYW1lID0gJ2JlZm9yZVVubW91bnQnO1xuICAgIH1cbiAgICBlbHNlIGlmIChuYW1lID09PSAnZGVzdHJveWVkJykge1xuICAgICAgICBuYW1lID0gJ3VubW91bnRlZCc7XG4gICAgfVxuICAgIHJldHVybiBcIm9uXCIuY29uY2F0KG5hbWVbMF0udG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoMSkpO1xufVxuZnVuY3Rpb24gaW5qZWN0SG9vayhpbnN0YW5jZSwgaG9va05hbWUsIGZuKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBpbnN0YW5jZS4kb3B0aW9ucztcbiAgICBvcHRpb25zW2hvb2tOYW1lXSA9IG1lcmdlTGlmZWN5Y2xlSG9vayhvcHRpb25zW2hvb2tOYW1lXSwgZm4pO1xufVxudmFyIG9uQmVmb3JlTW91bnQgPSBjcmVhdGVMaWZlQ3ljbGUoJ2JlZm9yZU1vdW50Jyk7XG52YXIgb25Nb3VudGVkID0gY3JlYXRlTGlmZUN5Y2xlKCdtb3VudGVkJyk7XG52YXIgb25CZWZvcmVVcGRhdGUgPSBjcmVhdGVMaWZlQ3ljbGUoJ2JlZm9yZVVwZGF0ZScpO1xudmFyIG9uVXBkYXRlZCA9IGNyZWF0ZUxpZmVDeWNsZSgndXBkYXRlZCcpO1xudmFyIG9uQmVmb3JlVW5tb3VudCA9IGNyZWF0ZUxpZmVDeWNsZSgnYmVmb3JlRGVzdHJveScpO1xudmFyIG9uVW5tb3VudGVkID0gY3JlYXRlTGlmZUN5Y2xlKCdkZXN0cm95ZWQnKTtcbnZhciBvbkFjdGl2YXRlZCA9IGNyZWF0ZUxpZmVDeWNsZSgnYWN0aXZhdGVkJyk7XG52YXIgb25EZWFjdGl2YXRlZCA9IGNyZWF0ZUxpZmVDeWNsZSgnZGVhY3RpdmF0ZWQnKTtcbnZhciBvblNlcnZlclByZWZldGNoID0gY3JlYXRlTGlmZUN5Y2xlKCdzZXJ2ZXJQcmVmZXRjaCcpO1xudmFyIG9uUmVuZGVyVHJhY2tlZCA9IGNyZWF0ZUxpZmVDeWNsZSgncmVuZGVyVHJhY2tlZCcpO1xudmFyIG9uUmVuZGVyVHJpZ2dlcmVkID0gY3JlYXRlTGlmZUN5Y2xlKCdyZW5kZXJUcmlnZ2VyZWQnKTtcbnZhciBpbmplY3RFcnJvckNhcHR1cmVkSG9vayA9IGNyZWF0ZUxpZmVDeWNsZSgnZXJyb3JDYXB0dXJlZCcpO1xuZnVuY3Rpb24gb25FcnJvckNhcHR1cmVkKGhvb2ssIHRhcmdldCkge1xuICAgIGlmICh0YXJnZXQgPT09IHZvaWQgMCkgeyB0YXJnZXQgPSBjdXJyZW50SW5zdGFuY2U7IH1cbiAgICBpbmplY3RFcnJvckNhcHR1cmVkSG9vayhob29rLCB0YXJnZXQpO1xufVxuXG4vKipcbiAqIE5vdGU6IGFsc28gdXBkYXRlIGRpc3QvdnVlLnJ1bnRpbWUubWpzIHdoZW4gYWRkaW5nIG5ldyBleHBvcnRzIHRvIHRoaXMgZmlsZS5cbiAqL1xudmFyIHZlcnNpb24gPSAnMi43LjE0Jztcbi8qKlxuICogQGludGVybmFsIHR5cGUgaXMgbWFudWFsbHkgZGVjbGFyZWQgaW4gPHJvb3Q+L3R5cGVzL3YzLWRlZmluZS1jb21wb25lbnQuZC50c1xuICovXG5mdW5jdGlvbiBkZWZpbmVDb21wb25lbnQob3B0aW9ucykge1xuICAgIHJldHVybiBvcHRpb25zO1xufVxuXG52YXIgc2Vlbk9iamVjdHMgPSBuZXcgX1NldCgpO1xuLyoqXG4gKiBSZWN1cnNpdmVseSB0cmF2ZXJzZSBhbiBvYmplY3QgdG8gZXZva2UgYWxsIGNvbnZlcnRlZFxuICogZ2V0dGVycywgc28gdGhhdCBldmVyeSBuZXN0ZWQgcHJvcGVydHkgaW5zaWRlIHRoZSBvYmplY3RcbiAqIGlzIGNvbGxlY3RlZCBhcyBhIFwiZGVlcFwiIGRlcGVuZGVuY3kuXG4gKi9cbmZ1bmN0aW9uIHRyYXZlcnNlKHZhbCkge1xuICAgIF90cmF2ZXJzZSh2YWwsIHNlZW5PYmplY3RzKTtcbiAgICBzZWVuT2JqZWN0cy5jbGVhcigpO1xuICAgIHJldHVybiB2YWw7XG59XG5mdW5jdGlvbiBfdHJhdmVyc2UodmFsLCBzZWVuKSB7XG4gICAgdmFyIGksIGtleXM7XG4gICAgdmFyIGlzQSA9IGlzQXJyYXkodmFsKTtcbiAgICBpZiAoKCFpc0EgJiYgIWlzT2JqZWN0KHZhbCkpIHx8XG4gICAgICAgIHZhbC5fX3Zfc2tpcCAvKiBSZWFjdGl2ZUZsYWdzLlNLSVAgKi8gfHxcbiAgICAgICAgT2JqZWN0LmlzRnJvemVuKHZhbCkgfHxcbiAgICAgICAgdmFsIGluc3RhbmNlb2YgVk5vZGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodmFsLl9fb2JfXykge1xuICAgICAgICB2YXIgZGVwSWQgPSB2YWwuX19vYl9fLmRlcC5pZDtcbiAgICAgICAgaWYgKHNlZW4uaGFzKGRlcElkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNlZW4uYWRkKGRlcElkKTtcbiAgICB9XG4gICAgaWYgKGlzQSkge1xuICAgICAgICBpID0gdmFsLmxlbmd0aDtcbiAgICAgICAgd2hpbGUgKGktLSlcbiAgICAgICAgICAgIF90cmF2ZXJzZSh2YWxbaV0sIHNlZW4pO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc1JlZih2YWwpKSB7XG4gICAgICAgIF90cmF2ZXJzZSh2YWwudmFsdWUsIHNlZW4pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAga2V5cyA9IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgICAgIGkgPSBrZXlzLmxlbmd0aDtcbiAgICAgICAgd2hpbGUgKGktLSlcbiAgICAgICAgICAgIF90cmF2ZXJzZSh2YWxba2V5c1tpXV0sIHNlZW4pO1xuICAgIH1cbn1cblxudmFyIHVpZCQxID0gMDtcbi8qKlxuICogQSB3YXRjaGVyIHBhcnNlcyBhbiBleHByZXNzaW9uLCBjb2xsZWN0cyBkZXBlbmRlbmNpZXMsXG4gKiBhbmQgZmlyZXMgY2FsbGJhY2sgd2hlbiB0aGUgZXhwcmVzc2lvbiB2YWx1ZSBjaGFuZ2VzLlxuICogVGhpcyBpcyB1c2VkIGZvciBib3RoIHRoZSAkd2F0Y2goKSBhcGkgYW5kIGRpcmVjdGl2ZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xudmFyIFdhdGNoZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gV2F0Y2hlcih2bSwgZXhwT3JGbiwgY2IsIG9wdGlvbnMsIGlzUmVuZGVyV2F0Y2hlcikge1xuICAgICAgICByZWNvcmRFZmZlY3RTY29wZSh0aGlzLCBcbiAgICAgICAgLy8gaWYgdGhlIGFjdGl2ZSBlZmZlY3Qgc2NvcGUgaXMgbWFudWFsbHkgY3JlYXRlZCAobm90IGEgY29tcG9uZW50IHNjb3BlKSxcbiAgICAgICAgLy8gcHJpb3JpdGl6ZSBpdFxuICAgICAgICBhY3RpdmVFZmZlY3RTY29wZSAmJiAhYWN0aXZlRWZmZWN0U2NvcGUuX3ZtXG4gICAgICAgICAgICA/IGFjdGl2ZUVmZmVjdFNjb3BlXG4gICAgICAgICAgICA6IHZtXG4gICAgICAgICAgICAgICAgPyB2bS5fc2NvcGVcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCk7XG4gICAgICAgIGlmICgodGhpcy52bSA9IHZtKSAmJiBpc1JlbmRlcldhdGNoZXIpIHtcbiAgICAgICAgICAgIHZtLl93YXRjaGVyID0gdGhpcztcbiAgICAgICAgfVxuICAgICAgICAvLyBvcHRpb25zXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmRlZXAgPSAhIW9wdGlvbnMuZGVlcDtcbiAgICAgICAgICAgIHRoaXMudXNlciA9ICEhb3B0aW9ucy51c2VyO1xuICAgICAgICAgICAgdGhpcy5sYXp5ID0gISFvcHRpb25zLmxhenk7XG4gICAgICAgICAgICB0aGlzLnN5bmMgPSAhIW9wdGlvbnMuc3luYztcbiAgICAgICAgICAgIHRoaXMuYmVmb3JlID0gb3B0aW9ucy5iZWZvcmU7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgIHRoaXMub25UcmFjayA9IG9wdGlvbnMub25UcmFjaztcbiAgICAgICAgICAgICAgICB0aGlzLm9uVHJpZ2dlciA9IG9wdGlvbnMub25UcmlnZ2VyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZWVwID0gdGhpcy51c2VyID0gdGhpcy5sYXp5ID0gdGhpcy5zeW5jID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYiA9IGNiO1xuICAgICAgICB0aGlzLmlkID0gKyt1aWQkMTsgLy8gdWlkIGZvciBiYXRjaGluZ1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMucG9zdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpcnR5ID0gdGhpcy5sYXp5OyAvLyBmb3IgbGF6eSB3YXRjaGVyc1xuICAgICAgICB0aGlzLmRlcHMgPSBbXTtcbiAgICAgICAgdGhpcy5uZXdEZXBzID0gW107XG4gICAgICAgIHRoaXMuZGVwSWRzID0gbmV3IF9TZXQoKTtcbiAgICAgICAgdGhpcy5uZXdEZXBJZHMgPSBuZXcgX1NldCgpO1xuICAgICAgICB0aGlzLmV4cHJlc3Npb24gPSBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gZXhwT3JGbi50b1N0cmluZygpIDogJyc7XG4gICAgICAgIC8vIHBhcnNlIGV4cHJlc3Npb24gZm9yIGdldHRlclxuICAgICAgICBpZiAoaXNGdW5jdGlvbihleHBPckZuKSkge1xuICAgICAgICAgICAgdGhpcy5nZXR0ZXIgPSBleHBPckZuO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5nZXR0ZXIgPSBwYXJzZVBhdGgoZXhwT3JGbik7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZ2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXR0ZXIgPSBub29wO1xuICAgICAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICAgICAgd2FybiQyKFwiRmFpbGVkIHdhdGNoaW5nIHBhdGg6IFxcXCJcIi5jb25jYXQoZXhwT3JGbiwgXCJcXFwiIFwiKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnV2F0Y2hlciBvbmx5IGFjY2VwdHMgc2ltcGxlIGRvdC1kZWxpbWl0ZWQgcGF0aHMuICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0ZvciBmdWxsIGNvbnRyb2wsIHVzZSBhIGZ1bmN0aW9uIGluc3RlYWQuJywgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmxhenkgPyB1bmRlZmluZWQgOiB0aGlzLmdldCgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFdmFsdWF0ZSB0aGUgZ2V0dGVyLCBhbmQgcmUtY29sbGVjdCBkZXBlbmRlbmNpZXMuXG4gICAgICovXG4gICAgV2F0Y2hlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBwdXNoVGFyZ2V0KHRoaXMpO1xuICAgICAgICB2YXIgdmFsdWU7XG4gICAgICAgIHZhciB2bSA9IHRoaXMudm07XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0dGVyLmNhbGwodm0sIHZtKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICAgICAgICAgIGhhbmRsZUVycm9yKGUsIHZtLCBcImdldHRlciBmb3Igd2F0Y2hlciBcXFwiXCIuY29uY2F0KHRoaXMuZXhwcmVzc2lvbiwgXCJcXFwiXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICAvLyBcInRvdWNoXCIgZXZlcnkgcHJvcGVydHkgc28gdGhleSBhcmUgYWxsIHRyYWNrZWQgYXNcbiAgICAgICAgICAgIC8vIGRlcGVuZGVuY2llcyBmb3IgZGVlcCB3YXRjaGluZ1xuICAgICAgICAgICAgaWYgKHRoaXMuZGVlcCkge1xuICAgICAgICAgICAgICAgIHRyYXZlcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvcFRhcmdldCgpO1xuICAgICAgICAgICAgdGhpcy5jbGVhbnVwRGVwcygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEFkZCBhIGRlcGVuZGVuY3kgdG8gdGhpcyBkaXJlY3RpdmUuXG4gICAgICovXG4gICAgV2F0Y2hlci5wcm90b3R5cGUuYWRkRGVwID0gZnVuY3Rpb24gKGRlcCkge1xuICAgICAgICB2YXIgaWQgPSBkZXAuaWQ7XG4gICAgICAgIGlmICghdGhpcy5uZXdEZXBJZHMuaGFzKGlkKSkge1xuICAgICAgICAgICAgdGhpcy5uZXdEZXBJZHMuYWRkKGlkKTtcbiAgICAgICAgICAgIHRoaXMubmV3RGVwcy5wdXNoKGRlcCk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGVwSWRzLmhhcyhpZCkpIHtcbiAgICAgICAgICAgICAgICBkZXAuYWRkU3ViKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBDbGVhbiB1cCBmb3IgZGVwZW5kZW5jeSBjb2xsZWN0aW9uLlxuICAgICAqL1xuICAgIFdhdGNoZXIucHJvdG90eXBlLmNsZWFudXBEZXBzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaSA9IHRoaXMuZGVwcy5sZW5ndGg7XG4gICAgICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgICAgIHZhciBkZXAgPSB0aGlzLmRlcHNbaV07XG4gICAgICAgICAgICBpZiAoIXRoaXMubmV3RGVwSWRzLmhhcyhkZXAuaWQpKSB7XG4gICAgICAgICAgICAgICAgZGVwLnJlbW92ZVN1Yih0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgdG1wID0gdGhpcy5kZXBJZHM7XG4gICAgICAgIHRoaXMuZGVwSWRzID0gdGhpcy5uZXdEZXBJZHM7XG4gICAgICAgIHRoaXMubmV3RGVwSWRzID0gdG1wO1xuICAgICAgICB0aGlzLm5ld0RlcElkcy5jbGVhcigpO1xuICAgICAgICB0bXAgPSB0aGlzLmRlcHM7XG4gICAgICAgIHRoaXMuZGVwcyA9IHRoaXMubmV3RGVwcztcbiAgICAgICAgdGhpcy5uZXdEZXBzID0gdG1wO1xuICAgICAgICB0aGlzLm5ld0RlcHMubGVuZ3RoID0gMDtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFN1YnNjcmliZXIgaW50ZXJmYWNlLlxuICAgICAqIFdpbGwgYmUgY2FsbGVkIHdoZW4gYSBkZXBlbmRlbmN5IGNoYW5nZXMuXG4gICAgICovXG4gICAgV2F0Y2hlci5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGhpcy5sYXp5KSB7XG4gICAgICAgICAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLnN5bmMpIHtcbiAgICAgICAgICAgIHRoaXMucnVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBxdWV1ZVdhdGNoZXIodGhpcyk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFNjaGVkdWxlciBqb2IgaW50ZXJmYWNlLlxuICAgICAqIFdpbGwgYmUgY2FsbGVkIGJ5IHRoZSBzY2hlZHVsZXIuXG4gICAgICovXG4gICAgV2F0Y2hlci5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZ2V0KCk7XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUgfHxcbiAgICAgICAgICAgICAgICAvLyBEZWVwIHdhdGNoZXJzIGFuZCB3YXRjaGVycyBvbiBPYmplY3QvQXJyYXlzIHNob3VsZCBmaXJlIGV2ZW5cbiAgICAgICAgICAgICAgICAvLyB3aGVuIHRoZSB2YWx1ZSBpcyB0aGUgc2FtZSwgYmVjYXVzZSB0aGUgdmFsdWUgbWF5XG4gICAgICAgICAgICAgICAgLy8gaGF2ZSBtdXRhdGVkLlxuICAgICAgICAgICAgICAgIGlzT2JqZWN0KHZhbHVlKSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZGVlcCkge1xuICAgICAgICAgICAgICAgIC8vIHNldCBuZXcgdmFsdWVcbiAgICAgICAgICAgICAgICB2YXIgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy51c2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpbmZvID0gXCJjYWxsYmFjayBmb3Igd2F0Y2hlciBcXFwiXCIuY29uY2F0KHRoaXMuZXhwcmVzc2lvbiwgXCJcXFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyh0aGlzLmNiLCB0aGlzLnZtLCBbdmFsdWUsIG9sZFZhbHVlXSwgdGhpcy52bSwgaW5mbyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNiLmNhbGwodGhpcy52bSwgdmFsdWUsIG9sZFZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEV2YWx1YXRlIHRoZSB2YWx1ZSBvZiB0aGUgd2F0Y2hlci5cbiAgICAgKiBUaGlzIG9ubHkgZ2V0cyBjYWxsZWQgZm9yIGxhenkgd2F0Y2hlcnMuXG4gICAgICovXG4gICAgV2F0Y2hlci5wcm90b3R5cGUuZXZhbHVhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldCgpO1xuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBEZXBlbmQgb24gYWxsIGRlcHMgY29sbGVjdGVkIGJ5IHRoaXMgd2F0Y2hlci5cbiAgICAgKi9cbiAgICBXYXRjaGVyLnByb3RvdHlwZS5kZXBlbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgICAgICAgd2hpbGUgKGktLSkge1xuICAgICAgICAgICAgdGhpcy5kZXBzW2ldLmRlcGVuZCgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZW1vdmUgc2VsZiBmcm9tIGFsbCBkZXBlbmRlbmNpZXMnIHN1YnNjcmliZXIgbGlzdC5cbiAgICAgKi9cbiAgICBXYXRjaGVyLnByb3RvdHlwZS50ZWFyZG93biA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMudm0gJiYgIXRoaXMudm0uX2lzQmVpbmdEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJlbW92ZSQyKHRoaXMudm0uX3Njb3BlLmVmZmVjdHMsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICAgICAgdmFyIGkgPSB0aGlzLmRlcHMubGVuZ3RoO1xuICAgICAgICAgICAgd2hpbGUgKGktLSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVwc1tpXS5yZW1vdmVTdWIodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHRoaXMub25TdG9wKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblN0b3AoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFdhdGNoZXI7XG59KCkpO1xuXG52YXIgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uID0ge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGdldDogbm9vcCxcbiAgICBzZXQ6IG5vb3Bcbn07XG5mdW5jdGlvbiBwcm94eSh0YXJnZXQsIHNvdXJjZUtleSwga2V5KSB7XG4gICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLmdldCA9IGZ1bmN0aW9uIHByb3h5R2V0dGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tzb3VyY2VLZXldW2tleV07XG4gICAgfTtcbiAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID0gZnVuY3Rpb24gcHJveHlTZXR0ZXIodmFsKSB7XG4gICAgICAgIHRoaXNbc291cmNlS2V5XVtrZXldID0gdmFsO1xuICAgIH07XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuZnVuY3Rpb24gaW5pdFN0YXRlKHZtKSB7XG4gICAgdmFyIG9wdHMgPSB2bS4kb3B0aW9ucztcbiAgICBpZiAob3B0cy5wcm9wcylcbiAgICAgICAgaW5pdFByb3BzJDEodm0sIG9wdHMucHJvcHMpO1xuICAgIC8vIENvbXBvc2l0aW9uIEFQSVxuICAgIGluaXRTZXR1cCh2bSk7XG4gICAgaWYgKG9wdHMubWV0aG9kcylcbiAgICAgICAgaW5pdE1ldGhvZHModm0sIG9wdHMubWV0aG9kcyk7XG4gICAgaWYgKG9wdHMuZGF0YSkge1xuICAgICAgICBpbml0RGF0YSh2bSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgb2IgPSBvYnNlcnZlKCh2bS5fZGF0YSA9IHt9KSk7XG4gICAgICAgIG9iICYmIG9iLnZtQ291bnQrKztcbiAgICB9XG4gICAgaWYgKG9wdHMuY29tcHV0ZWQpXG4gICAgICAgIGluaXRDb21wdXRlZCQxKHZtLCBvcHRzLmNvbXB1dGVkKTtcbiAgICBpZiAob3B0cy53YXRjaCAmJiBvcHRzLndhdGNoICE9PSBuYXRpdmVXYXRjaCkge1xuICAgICAgICBpbml0V2F0Y2godm0sIG9wdHMud2F0Y2gpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGluaXRQcm9wcyQxKHZtLCBwcm9wc09wdGlvbnMpIHtcbiAgICB2YXIgcHJvcHNEYXRhID0gdm0uJG9wdGlvbnMucHJvcHNEYXRhIHx8IHt9O1xuICAgIHZhciBwcm9wcyA9ICh2bS5fcHJvcHMgPSBzaGFsbG93UmVhY3RpdmUoe30pKTtcbiAgICAvLyBjYWNoZSBwcm9wIGtleXMgc28gdGhhdCBmdXR1cmUgcHJvcHMgdXBkYXRlcyBjYW4gaXRlcmF0ZSB1c2luZyBBcnJheVxuICAgIC8vIGluc3RlYWQgb2YgZHluYW1pYyBvYmplY3Qga2V5IGVudW1lcmF0aW9uLlxuICAgIHZhciBrZXlzID0gKHZtLiRvcHRpb25zLl9wcm9wS2V5cyA9IFtdKTtcbiAgICB2YXIgaXNSb290ID0gIXZtLiRwYXJlbnQ7XG4gICAgLy8gcm9vdCBpbnN0YW5jZSBwcm9wcyBzaG91bGQgYmUgY29udmVydGVkXG4gICAgaWYgKCFpc1Jvb3QpIHtcbiAgICAgICAgdG9nZ2xlT2JzZXJ2aW5nKGZhbHNlKTtcbiAgICB9XG4gICAgdmFyIF9sb29wXzEgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGtleXMucHVzaChrZXkpO1xuICAgICAgICB2YXIgdmFsdWUgPSB2YWxpZGF0ZVByb3Aoa2V5LCBwcm9wc09wdGlvbnMsIHByb3BzRGF0YSwgdm0pO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGh5cGhlbmF0ZWRLZXkgPSBoeXBoZW5hdGUoa2V5KTtcbiAgICAgICAgICAgIGlmIChpc1Jlc2VydmVkQXR0cmlidXRlKGh5cGhlbmF0ZWRLZXkpIHx8XG4gICAgICAgICAgICAgICAgY29uZmlnLmlzUmVzZXJ2ZWRBdHRyKGh5cGhlbmF0ZWRLZXkpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiXFxcIlwiLmNvbmNhdChoeXBoZW5hdGVkS2V5LCBcIlxcXCIgaXMgYSByZXNlcnZlZCBhdHRyaWJ1dGUgYW5kIGNhbm5vdCBiZSB1c2VkIGFzIGNvbXBvbmVudCBwcm9wLlwiKSwgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmaW5lUmVhY3RpdmUocHJvcHMsIGtleSwgdmFsdWUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzUm9vdCAmJiAhaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHdhcm4kMihcIkF2b2lkIG11dGF0aW5nIGEgcHJvcCBkaXJlY3RseSBzaW5jZSB0aGUgdmFsdWUgd2lsbCBiZSBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBcIm92ZXJ3cml0dGVuIHdoZW5ldmVyIHRoZSBwYXJlbnQgY29tcG9uZW50IHJlLXJlbmRlcnMuIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiSW5zdGVhZCwgdXNlIGEgZGF0YSBvciBjb21wdXRlZCBwcm9wZXJ0eSBiYXNlZCBvbiB0aGUgcHJvcCdzIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsdWUuIFByb3AgYmVpbmcgbXV0YXRlZDogXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIlwiKSwgdm0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGVmaW5lUmVhY3RpdmUocHJvcHMsIGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHN0YXRpYyBwcm9wcyBhcmUgYWxyZWFkeSBwcm94aWVkIG9uIHRoZSBjb21wb25lbnQncyBwcm90b3R5cGVcbiAgICAgICAgLy8gZHVyaW5nIFZ1ZS5leHRlbmQoKS4gV2Ugb25seSBuZWVkIHRvIHByb3h5IHByb3BzIGRlZmluZWQgYXRcbiAgICAgICAgLy8gaW5zdGFudGlhdGlvbiBoZXJlLlxuICAgICAgICBpZiAoIShrZXkgaW4gdm0pKSB7XG4gICAgICAgICAgICBwcm94eSh2bSwgXCJfcHJvcHNcIiwga2V5KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZm9yICh2YXIga2V5IGluIHByb3BzT3B0aW9ucykge1xuICAgICAgICBfbG9vcF8xKGtleSk7XG4gICAgfVxuICAgIHRvZ2dsZU9ic2VydmluZyh0cnVlKTtcbn1cbmZ1bmN0aW9uIGluaXREYXRhKHZtKSB7XG4gICAgdmFyIGRhdGEgPSB2bS4kb3B0aW9ucy5kYXRhO1xuICAgIGRhdGEgPSB2bS5fZGF0YSA9IGlzRnVuY3Rpb24oZGF0YSkgPyBnZXREYXRhKGRhdGEsIHZtKSA6IGRhdGEgfHwge307XG4gICAgaWYgKCFpc1BsYWluT2JqZWN0KGRhdGEpKSB7XG4gICAgICAgIGRhdGEgPSB7fTtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgd2FybiQyKCdkYXRhIGZ1bmN0aW9ucyBzaG91bGQgcmV0dXJuIGFuIG9iamVjdDpcXG4nICtcbiAgICAgICAgICAgICAgICAnaHR0cHM6Ly92Mi52dWVqcy5vcmcvdjIvZ3VpZGUvY29tcG9uZW50cy5odG1sI2RhdGEtTXVzdC1CZS1hLUZ1bmN0aW9uJywgdm0pO1xuICAgIH1cbiAgICAvLyBwcm94eSBkYXRhIG9uIGluc3RhbmNlXG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhkYXRhKTtcbiAgICB2YXIgcHJvcHMgPSB2bS4kb3B0aW9ucy5wcm9wcztcbiAgICB2YXIgbWV0aG9kcyA9IHZtLiRvcHRpb25zLm1ldGhvZHM7XG4gICAgdmFyIGkgPSBrZXlzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgaWYgKG1ldGhvZHMgJiYgaGFzT3duKG1ldGhvZHMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJNZXRob2QgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBoYXMgYWxyZWFkeSBiZWVuIGRlZmluZWQgYXMgYSBkYXRhIHByb3BlcnR5LlwiKSwgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcyAmJiBoYXNPd24ocHJvcHMsIGtleSkpIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJUaGUgZGF0YSBwcm9wZXJ0eSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGlzIGFscmVhZHkgZGVjbGFyZWQgYXMgYSBwcm9wLiBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIlVzZSBwcm9wIGRlZmF1bHQgdmFsdWUgaW5zdGVhZC5cIiwgdm0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFpc1Jlc2VydmVkKGtleSkpIHtcbiAgICAgICAgICAgIHByb3h5KHZtLCBcIl9kYXRhXCIsIGtleSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gb2JzZXJ2ZSBkYXRhXG4gICAgdmFyIG9iID0gb2JzZXJ2ZShkYXRhKTtcbiAgICBvYiAmJiBvYi52bUNvdW50Kys7XG59XG5mdW5jdGlvbiBnZXREYXRhKGRhdGEsIHZtKSB7XG4gICAgLy8gIzc1NzMgZGlzYWJsZSBkZXAgY29sbGVjdGlvbiB3aGVuIGludm9raW5nIGRhdGEgZ2V0dGVyc1xuICAgIHB1c2hUYXJnZXQoKTtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gZGF0YS5jYWxsKHZtLCB2bSk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGUsIHZtLCBcImRhdGEoKVwiKTtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgcG9wVGFyZ2V0KCk7XG4gICAgfVxufVxudmFyIGNvbXB1dGVkV2F0Y2hlck9wdGlvbnMgPSB7IGxhenk6IHRydWUgfTtcbmZ1bmN0aW9uIGluaXRDb21wdXRlZCQxKHZtLCBjb21wdXRlZCkge1xuICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgIHZhciB3YXRjaGVycyA9ICh2bS5fY29tcHV0ZWRXYXRjaGVycyA9IE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICAgIC8vIGNvbXB1dGVkIHByb3BlcnRpZXMgYXJlIGp1c3QgZ2V0dGVycyBkdXJpbmcgU1NSXG4gICAgdmFyIGlzU1NSID0gaXNTZXJ2ZXJSZW5kZXJpbmcoKTtcbiAgICBmb3IgKHZhciBrZXkgaW4gY29tcHV0ZWQpIHtcbiAgICAgICAgdmFyIHVzZXJEZWYgPSBjb21wdXRlZFtrZXldO1xuICAgICAgICB2YXIgZ2V0dGVyID0gaXNGdW5jdGlvbih1c2VyRGVmKSA/IHVzZXJEZWYgOiB1c2VyRGVmLmdldDtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZ2V0dGVyID09IG51bGwpIHtcbiAgICAgICAgICAgIHdhcm4kMihcIkdldHRlciBpcyBtaXNzaW5nIGZvciBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiLlwiKSwgdm0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNTU1IpIHtcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBpbnRlcm5hbCB3YXRjaGVyIGZvciB0aGUgY29tcHV0ZWQgcHJvcGVydHkuXG4gICAgICAgICAgICB3YXRjaGVyc1trZXldID0gbmV3IFdhdGNoZXIodm0sIGdldHRlciB8fCBub29wLCBub29wLCBjb21wdXRlZFdhdGNoZXJPcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb21wb25lbnQtZGVmaW5lZCBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSBhbHJlYWR5IGRlZmluZWQgb24gdGhlXG4gICAgICAgIC8vIGNvbXBvbmVudCBwcm90b3R5cGUuIFdlIG9ubHkgbmVlZCB0byBkZWZpbmUgY29tcHV0ZWQgcHJvcGVydGllcyBkZWZpbmVkXG4gICAgICAgIC8vIGF0IGluc3RhbnRpYXRpb24gaGVyZS5cbiAgICAgICAgaWYgKCEoa2V5IGluIHZtKSkge1xuICAgICAgICAgICAgZGVmaW5lQ29tcHV0ZWQodm0sIGtleSwgdXNlckRlZik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgaWYgKGtleSBpbiB2bS4kZGF0YSkge1xuICAgICAgICAgICAgICAgIHdhcm4kMihcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGlzIGFscmVhZHkgZGVmaW5lZCBpbiBkYXRhLlwiKSwgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodm0uJG9wdGlvbnMucHJvcHMgJiYga2V5IGluIHZtLiRvcHRpb25zLnByb3BzKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiVGhlIGNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGFzIGEgcHJvcC5cIiksIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHZtLiRvcHRpb25zLm1ldGhvZHMgJiYga2V5IGluIHZtLiRvcHRpb25zLm1ldGhvZHMpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJUaGUgY29tcHV0ZWQgcHJvcGVydHkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBpcyBhbHJlYWR5IGRlZmluZWQgYXMgYSBtZXRob2QuXCIpLCB2bSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBkZWZpbmVDb21wdXRlZCh0YXJnZXQsIGtleSwgdXNlckRlZikge1xuICAgIHZhciBzaG91bGRDYWNoZSA9ICFpc1NlcnZlclJlbmRlcmluZygpO1xuICAgIGlmIChpc0Z1bmN0aW9uKHVzZXJEZWYpKSB7XG4gICAgICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSBzaG91bGRDYWNoZVxuICAgICAgICAgICAgPyBjcmVhdGVDb21wdXRlZEdldHRlcihrZXkpXG4gICAgICAgICAgICA6IGNyZWF0ZUdldHRlckludm9rZXIodXNlckRlZik7XG4gICAgICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBub29wO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLmdldCA9IHVzZXJEZWYuZ2V0XG4gICAgICAgICAgICA/IHNob3VsZENhY2hlICYmIHVzZXJEZWYuY2FjaGUgIT09IGZhbHNlXG4gICAgICAgICAgICAgICAgPyBjcmVhdGVDb21wdXRlZEdldHRlcihrZXkpXG4gICAgICAgICAgICAgICAgOiBjcmVhdGVHZXR0ZXJJbnZva2VyKHVzZXJEZWYuZ2V0KVxuICAgICAgICAgICAgOiBub29wO1xuICAgICAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID0gdXNlckRlZi5zZXQgfHwgbm9vcDtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9PT0gbm9vcCkge1xuICAgICAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgd2FybiQyKFwiQ29tcHV0ZWQgcHJvcGVydHkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiB3YXMgYXNzaWduZWQgdG8gYnV0IGl0IGhhcyBubyBzZXR0ZXIuXCIpLCB0aGlzKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuZnVuY3Rpb24gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIoa2V5KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNvbXB1dGVkR2V0dGVyKCkge1xuICAgICAgICB2YXIgd2F0Y2hlciA9IHRoaXMuX2NvbXB1dGVkV2F0Y2hlcnMgJiYgdGhpcy5fY29tcHV0ZWRXYXRjaGVyc1trZXldO1xuICAgICAgICBpZiAod2F0Y2hlcikge1xuICAgICAgICAgICAgaWYgKHdhdGNoZXIuZGlydHkpIHtcbiAgICAgICAgICAgICAgICB3YXRjaGVyLmV2YWx1YXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoRGVwLnRhcmdldCkge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIERlcC50YXJnZXQub25UcmFjaykge1xuICAgICAgICAgICAgICAgICAgICBEZXAudGFyZ2V0Lm9uVHJhY2soe1xuICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiBEZXAudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJnZXRcIiAvKiBUcmFja09wVHlwZXMuR0VUICovLFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHdhdGNoZXIuZGVwZW5kKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gd2F0Y2hlci52YWx1ZTtcbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiBjcmVhdGVHZXR0ZXJJbnZva2VyKGZuKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNvbXB1dGVkR2V0dGVyKCkge1xuICAgICAgICByZXR1cm4gZm4uY2FsbCh0aGlzLCB0aGlzKTtcbiAgICB9O1xufVxuZnVuY3Rpb24gaW5pdE1ldGhvZHModm0sIG1ldGhvZHMpIHtcbiAgICB2YXIgcHJvcHMgPSB2bS4kb3B0aW9ucy5wcm9wcztcbiAgICBmb3IgKHZhciBrZXkgaW4gbWV0aG9kcykge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBtZXRob2RzW2tleV0gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJNZXRob2QgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBoYXMgdHlwZSBcXFwiXCIpLmNvbmNhdCh0eXBlb2YgbWV0aG9kc1trZXldLCBcIlxcXCIgaW4gdGhlIGNvbXBvbmVudCBkZWZpbml0aW9uLiBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIkRpZCB5b3UgcmVmZXJlbmNlIHRoZSBmdW5jdGlvbiBjb3JyZWN0bHk/XCIsIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9wcyAmJiBoYXNPd24ocHJvcHMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJNZXRob2QgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBoYXMgYWxyZWFkeSBiZWVuIGRlZmluZWQgYXMgYSBwcm9wLlwiKSwgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGtleSBpbiB2bSAmJiBpc1Jlc2VydmVkKGtleSkpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJNZXRob2QgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBjb25mbGljdHMgd2l0aCBhbiBleGlzdGluZyBWdWUgaW5zdGFuY2UgbWV0aG9kLiBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIkF2b2lkIGRlZmluaW5nIGNvbXBvbmVudCBtZXRob2RzIHRoYXQgc3RhcnQgd2l0aCBfIG9yICQuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZtW2tleV0gPSB0eXBlb2YgbWV0aG9kc1trZXldICE9PSAnZnVuY3Rpb24nID8gbm9vcCA6IGJpbmQkMShtZXRob2RzW2tleV0sIHZtKTtcbiAgICB9XG59XG5mdW5jdGlvbiBpbml0V2F0Y2godm0sIHdhdGNoKSB7XG4gICAgZm9yICh2YXIga2V5IGluIHdhdGNoKSB7XG4gICAgICAgIHZhciBoYW5kbGVyID0gd2F0Y2hba2V5XTtcbiAgICAgICAgaWYgKGlzQXJyYXkoaGFuZGxlcikpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGFuZGxlci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNyZWF0ZVdhdGNoZXIodm0sIGtleSwgaGFuZGxlcltpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjcmVhdGVXYXRjaGVyKHZtLCBrZXksIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlV2F0Y2hlcih2bSwgZXhwT3JGbiwgaGFuZGxlciwgb3B0aW9ucykge1xuICAgIGlmIChpc1BsYWluT2JqZWN0KGhhbmRsZXIpKSB7XG4gICAgICAgIG9wdGlvbnMgPSBoYW5kbGVyO1xuICAgICAgICBoYW5kbGVyID0gaGFuZGxlci5oYW5kbGVyO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGhhbmRsZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGhhbmRsZXIgPSB2bVtoYW5kbGVyXTtcbiAgICB9XG4gICAgcmV0dXJuIHZtLiR3YXRjaChleHBPckZuLCBoYW5kbGVyLCBvcHRpb25zKTtcbn1cbmZ1bmN0aW9uIHN0YXRlTWl4aW4oVnVlKSB7XG4gICAgLy8gZmxvdyBzb21laG93IGhhcyBwcm9ibGVtcyB3aXRoIGRpcmVjdGx5IGRlY2xhcmVkIGRlZmluaXRpb24gb2JqZWN0XG4gICAgLy8gd2hlbiB1c2luZyBPYmplY3QuZGVmaW5lUHJvcGVydHksIHNvIHdlIGhhdmUgdG8gcHJvY2VkdXJhbGx5IGJ1aWxkIHVwXG4gICAgLy8gdGhlIG9iamVjdCBoZXJlLlxuICAgIHZhciBkYXRhRGVmID0ge307XG4gICAgZGF0YURlZi5nZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICAgIH07XG4gICAgdmFyIHByb3BzRGVmID0ge307XG4gICAgcHJvcHNEZWYuZ2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvcHM7XG4gICAgfTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBkYXRhRGVmLnNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHdhcm4kMignQXZvaWQgcmVwbGFjaW5nIGluc3RhbmNlIHJvb3QgJGRhdGEuICcgK1xuICAgICAgICAgICAgICAgICdVc2UgbmVzdGVkIGRhdGEgcHJvcGVydGllcyBpbnN0ZWFkLicsIHRoaXMpO1xuICAgICAgICB9O1xuICAgICAgICBwcm9wc0RlZi5zZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCIkcHJvcHMgaXMgcmVhZG9ubHkuXCIsIHRoaXMpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgJyRkYXRhJywgZGF0YURlZik7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckcHJvcHMnLCBwcm9wc0RlZik7XG4gICAgVnVlLnByb3RvdHlwZS4kc2V0ID0gc2V0O1xuICAgIFZ1ZS5wcm90b3R5cGUuJGRlbGV0ZSA9IGRlbDtcbiAgICBWdWUucHJvdG90eXBlLiR3YXRjaCA9IGZ1bmN0aW9uIChleHBPckZuLCBjYiwgb3B0aW9ucykge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICBpZiAoaXNQbGFpbk9iamVjdChjYikpIHtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVXYXRjaGVyKHZtLCBleHBPckZuLCBjYiwgb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgICAgIG9wdGlvbnMudXNlciA9IHRydWU7XG4gICAgICAgIHZhciB3YXRjaGVyID0gbmV3IFdhdGNoZXIodm0sIGV4cE9yRm4sIGNiLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuaW1tZWRpYXRlKSB7XG4gICAgICAgICAgICB2YXIgaW5mbyA9IFwiY2FsbGJhY2sgZm9yIGltbWVkaWF0ZSB3YXRjaGVyIFxcXCJcIi5jb25jYXQod2F0Y2hlci5leHByZXNzaW9uLCBcIlxcXCJcIik7XG4gICAgICAgICAgICBwdXNoVGFyZ2V0KCk7XG4gICAgICAgICAgICBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyhjYiwgdm0sIFt3YXRjaGVyLnZhbHVlXSwgdm0sIGluZm8pO1xuICAgICAgICAgICAgcG9wVGFyZ2V0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIHVud2F0Y2hGbigpIHtcbiAgICAgICAgICAgIHdhdGNoZXIudGVhcmRvd24oKTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBpbml0UHJvdmlkZSh2bSkge1xuICAgIHZhciBwcm92aWRlT3B0aW9uID0gdm0uJG9wdGlvbnMucHJvdmlkZTtcbiAgICBpZiAocHJvdmlkZU9wdGlvbikge1xuICAgICAgICB2YXIgcHJvdmlkZWQgPSBpc0Z1bmN0aW9uKHByb3ZpZGVPcHRpb24pXG4gICAgICAgICAgICA/IHByb3ZpZGVPcHRpb24uY2FsbCh2bSlcbiAgICAgICAgICAgIDogcHJvdmlkZU9wdGlvbjtcbiAgICAgICAgaWYgKCFpc09iamVjdChwcm92aWRlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgc291cmNlID0gcmVzb2x2ZVByb3ZpZGVkKHZtKTtcbiAgICAgICAgLy8gSUU5IGRvZXNuJ3Qgc3VwcG9ydCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyBzbyB3ZSBoYXZlIHRvXG4gICAgICAgIC8vIGl0ZXJhdGUgdGhlIGtleXMgb3Vyc2VsdmVzLlxuICAgICAgICB2YXIga2V5cyA9IGhhc1N5bWJvbCA/IFJlZmxlY3Qub3duS2V5cyhwcm92aWRlZCkgOiBPYmplY3Qua2V5cyhwcm92aWRlZCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc291cmNlLCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdmlkZWQsIGtleSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gaW5pdEluamVjdGlvbnModm0pIHtcbiAgICB2YXIgcmVzdWx0ID0gcmVzb2x2ZUluamVjdCh2bS4kb3B0aW9ucy5pbmplY3QsIHZtKTtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRvZ2dsZU9ic2VydmluZyhmYWxzZSk7XG4gICAgICAgIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICBkZWZpbmVSZWFjdGl2ZSh2bSwga2V5LCByZXN1bHRba2V5XSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCJBdm9pZCBtdXRhdGluZyBhbiBpbmplY3RlZCB2YWx1ZSBkaXJlY3RseSBzaW5jZSB0aGUgY2hhbmdlcyB3aWxsIGJlIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwib3ZlcndyaXR0ZW4gd2hlbmV2ZXIgdGhlIHByb3ZpZGVkIGNvbXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBcImluamVjdGlvbiBiZWluZyBtdXRhdGVkOiBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiXCIpLCB2bSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBkZWZpbmVSZWFjdGl2ZSh2bSwga2V5LCByZXN1bHRba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gcmVzb2x2ZUluamVjdChpbmplY3QsIHZtKSB7XG4gICAgaWYgKGluamVjdCkge1xuICAgICAgICAvLyBpbmplY3QgaXMgOmFueSBiZWNhdXNlIGZsb3cgaXMgbm90IHNtYXJ0IGVub3VnaCB0byBmaWd1cmUgb3V0IGNhY2hlZFxuICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgdmFyIGtleXMgPSBoYXNTeW1ib2wgPyBSZWZsZWN0Lm93bktleXMoaW5qZWN0KSA6IE9iamVjdC5rZXlzKGluamVjdCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAgICAgICAvLyAjNjU3NCBpbiBjYXNlIHRoZSBpbmplY3Qgb2JqZWN0IGlzIG9ic2VydmVkLi4uXG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnX19vYl9fJylcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIHZhciBwcm92aWRlS2V5ID0gaW5qZWN0W2tleV0uZnJvbTtcbiAgICAgICAgICAgIGlmIChwcm92aWRlS2V5IGluIHZtLl9wcm92aWRlZCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdm0uX3Byb3ZpZGVkW3Byb3ZpZGVLZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoJ2RlZmF1bHQnIGluIGluamVjdFtrZXldKSB7XG4gICAgICAgICAgICAgICAgdmFyIHByb3ZpZGVEZWZhdWx0ID0gaW5qZWN0W2tleV0uZGVmYXVsdDtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IGlzRnVuY3Rpb24ocHJvdmlkZURlZmF1bHQpXG4gICAgICAgICAgICAgICAgICAgID8gcHJvdmlkZURlZmF1bHQuY2FsbCh2bSlcbiAgICAgICAgICAgICAgICAgICAgOiBwcm92aWRlRGVmYXVsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJJbmplY3Rpb24gXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBub3QgZm91bmRcIiksIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cblxudmFyIHVpZCA9IDA7XG5mdW5jdGlvbiBpbml0TWl4aW4kMShWdWUpIHtcbiAgICBWdWUucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIHZtID0gdGhpcztcbiAgICAgICAgLy8gYSB1aWRcbiAgICAgICAgdm0uX3VpZCA9IHVpZCsrO1xuICAgICAgICB2YXIgc3RhcnRUYWcsIGVuZFRhZztcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICAgICAgICBzdGFydFRhZyA9IFwidnVlLXBlcmYtc3RhcnQ6XCIuY29uY2F0KHZtLl91aWQpO1xuICAgICAgICAgICAgZW5kVGFnID0gXCJ2dWUtcGVyZi1lbmQ6XCIuY29uY2F0KHZtLl91aWQpO1xuICAgICAgICAgICAgbWFyayhzdGFydFRhZyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYSBmbGFnIHRvIG1hcmsgdGhpcyBhcyBhIFZ1ZSBpbnN0YW5jZSB3aXRob3V0IGhhdmluZyB0byBkbyBpbnN0YW5jZW9mXG4gICAgICAgIC8vIGNoZWNrXG4gICAgICAgIHZtLl9pc1Z1ZSA9IHRydWU7XG4gICAgICAgIC8vIGF2b2lkIGluc3RhbmNlcyBmcm9tIGJlaW5nIG9ic2VydmVkXG4gICAgICAgIHZtLl9fdl9za2lwID0gdHJ1ZTtcbiAgICAgICAgLy8gZWZmZWN0IHNjb3BlXG4gICAgICAgIHZtLl9zY29wZSA9IG5ldyBFZmZlY3RTY29wZSh0cnVlIC8qIGRldGFjaGVkICovKTtcbiAgICAgICAgdm0uX3Njb3BlLl92bSA9IHRydWU7XG4gICAgICAgIC8vIG1lcmdlIG9wdGlvbnNcbiAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5faXNDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIG9wdGltaXplIGludGVybmFsIGNvbXBvbmVudCBpbnN0YW50aWF0aW9uXG4gICAgICAgICAgICAvLyBzaW5jZSBkeW5hbWljIG9wdGlvbnMgbWVyZ2luZyBpcyBwcmV0dHkgc2xvdywgYW5kIG5vbmUgb2YgdGhlXG4gICAgICAgICAgICAvLyBpbnRlcm5hbCBjb21wb25lbnQgb3B0aW9ucyBuZWVkcyBzcGVjaWFsIHRyZWF0bWVudC5cbiAgICAgICAgICAgIGluaXRJbnRlcm5hbENvbXBvbmVudCh2bSwgb3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2bS4kb3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhyZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKHZtLmNvbnN0cnVjdG9yKSwgb3B0aW9ucyB8fCB7fSwgdm0pO1xuICAgICAgICB9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICBpbml0UHJveHkodm0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdm0uX3JlbmRlclByb3h5ID0gdm07XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXhwb3NlIHJlYWwgc2VsZlxuICAgICAgICB2bS5fc2VsZiA9IHZtO1xuICAgICAgICBpbml0TGlmZWN5Y2xlKHZtKTtcbiAgICAgICAgaW5pdEV2ZW50cyh2bSk7XG4gICAgICAgIGluaXRSZW5kZXIodm0pO1xuICAgICAgICBjYWxsSG9vayQxKHZtLCAnYmVmb3JlQ3JlYXRlJywgdW5kZWZpbmVkLCBmYWxzZSAvKiBzZXRDb250ZXh0ICovKTtcbiAgICAgICAgaW5pdEluamVjdGlvbnModm0pOyAvLyByZXNvbHZlIGluamVjdGlvbnMgYmVmb3JlIGRhdGEvcHJvcHNcbiAgICAgICAgaW5pdFN0YXRlKHZtKTtcbiAgICAgICAgaW5pdFByb3ZpZGUodm0pOyAvLyByZXNvbHZlIHByb3ZpZGUgYWZ0ZXIgZGF0YS9wcm9wc1xuICAgICAgICBjYWxsSG9vayQxKHZtLCAnY3JlYXRlZCcpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgICAgICAgIHZtLl9uYW1lID0gZm9ybWF0Q29tcG9uZW50TmFtZSh2bSwgZmFsc2UpO1xuICAgICAgICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgICAgICAgbWVhc3VyZShcInZ1ZSBcIi5jb25jYXQodm0uX25hbWUsIFwiIGluaXRcIiksIHN0YXJ0VGFnLCBlbmRUYWcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2bS4kb3B0aW9ucy5lbCkge1xuICAgICAgICAgICAgdm0uJG1vdW50KHZtLiRvcHRpb25zLmVsKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiBpbml0SW50ZXJuYWxDb21wb25lbnQodm0sIG9wdGlvbnMpIHtcbiAgICB2YXIgb3B0cyA9ICh2bS4kb3B0aW9ucyA9IE9iamVjdC5jcmVhdGUodm0uY29uc3RydWN0b3Iub3B0aW9ucykpO1xuICAgIC8vIGRvaW5nIHRoaXMgYmVjYXVzZSBpdCdzIGZhc3RlciB0aGFuIGR5bmFtaWMgZW51bWVyYXRpb24uXG4gICAgdmFyIHBhcmVudFZub2RlID0gb3B0aW9ucy5fcGFyZW50Vm5vZGU7XG4gICAgb3B0cy5wYXJlbnQgPSBvcHRpb25zLnBhcmVudDtcbiAgICBvcHRzLl9wYXJlbnRWbm9kZSA9IHBhcmVudFZub2RlO1xuICAgIHZhciB2bm9kZUNvbXBvbmVudE9wdGlvbnMgPSBwYXJlbnRWbm9kZS5jb21wb25lbnRPcHRpb25zO1xuICAgIG9wdHMucHJvcHNEYXRhID0gdm5vZGVDb21wb25lbnRPcHRpb25zLnByb3BzRGF0YTtcbiAgICBvcHRzLl9wYXJlbnRMaXN0ZW5lcnMgPSB2bm9kZUNvbXBvbmVudE9wdGlvbnMubGlzdGVuZXJzO1xuICAgIG9wdHMuX3JlbmRlckNoaWxkcmVuID0gdm5vZGVDb21wb25lbnRPcHRpb25zLmNoaWxkcmVuO1xuICAgIG9wdHMuX2NvbXBvbmVudFRhZyA9IHZub2RlQ29tcG9uZW50T3B0aW9ucy50YWc7XG4gICAgaWYgKG9wdGlvbnMucmVuZGVyKSB7XG4gICAgICAgIG9wdHMucmVuZGVyID0gb3B0aW9ucy5yZW5kZXI7XG4gICAgICAgIG9wdHMuc3RhdGljUmVuZGVyRm5zID0gb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnM7XG4gICAgfVxufVxuZnVuY3Rpb24gcmVzb2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyhDdG9yKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4gICAgaWYgKEN0b3Iuc3VwZXIpIHtcbiAgICAgICAgdmFyIHN1cGVyT3B0aW9ucyA9IHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMoQ3Rvci5zdXBlcik7XG4gICAgICAgIHZhciBjYWNoZWRTdXBlck9wdGlvbnMgPSBDdG9yLnN1cGVyT3B0aW9ucztcbiAgICAgICAgaWYgKHN1cGVyT3B0aW9ucyAhPT0gY2FjaGVkU3VwZXJPcHRpb25zKSB7XG4gICAgICAgICAgICAvLyBzdXBlciBvcHRpb24gY2hhbmdlZCxcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gcmVzb2x2ZSBuZXcgb3B0aW9ucy5cbiAgICAgICAgICAgIEN0b3Iuc3VwZXJPcHRpb25zID0gc3VwZXJPcHRpb25zO1xuICAgICAgICAgICAgLy8gY2hlY2sgaWYgdGhlcmUgYXJlIGFueSBsYXRlLW1vZGlmaWVkL2F0dGFjaGVkIG9wdGlvbnMgKCM0OTc2KVxuICAgICAgICAgICAgdmFyIG1vZGlmaWVkT3B0aW9ucyA9IHJlc29sdmVNb2RpZmllZE9wdGlvbnMoQ3Rvcik7XG4gICAgICAgICAgICAvLyB1cGRhdGUgYmFzZSBleHRlbmQgb3B0aW9uc1xuICAgICAgICAgICAgaWYgKG1vZGlmaWVkT3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGV4dGVuZChDdG9yLmV4dGVuZE9wdGlvbnMsIG1vZGlmaWVkT3B0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcHRpb25zID0gQ3Rvci5vcHRpb25zID0gbWVyZ2VPcHRpb25zKHN1cGVyT3B0aW9ucywgQ3Rvci5leHRlbmRPcHRpb25zKTtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLmNvbXBvbmVudHNbb3B0aW9ucy5uYW1lXSA9IEN0b3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG59XG5mdW5jdGlvbiByZXNvbHZlTW9kaWZpZWRPcHRpb25zKEN0b3IpIHtcbiAgICB2YXIgbW9kaWZpZWQ7XG4gICAgdmFyIGxhdGVzdCA9IEN0b3Iub3B0aW9ucztcbiAgICB2YXIgc2VhbGVkID0gQ3Rvci5zZWFsZWRPcHRpb25zO1xuICAgIGZvciAodmFyIGtleSBpbiBsYXRlc3QpIHtcbiAgICAgICAgaWYgKGxhdGVzdFtrZXldICE9PSBzZWFsZWRba2V5XSkge1xuICAgICAgICAgICAgaWYgKCFtb2RpZmllZClcbiAgICAgICAgICAgICAgICBtb2RpZmllZCA9IHt9O1xuICAgICAgICAgICAgbW9kaWZpZWRba2V5XSA9IGxhdGVzdFtrZXldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtb2RpZmllZDtcbn1cblxuZnVuY3Rpb24gRnVuY3Rpb25hbFJlbmRlckNvbnRleHQoZGF0YSwgcHJvcHMsIGNoaWxkcmVuLCBwYXJlbnQsIEN0b3IpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgIHZhciBvcHRpb25zID0gQ3Rvci5vcHRpb25zO1xuICAgIC8vIGVuc3VyZSB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbiBpbiBmdW5jdGlvbmFsIGNvbXBvbmVudHNcbiAgICAvLyBnZXRzIGEgdW5pcXVlIGNvbnRleHQgLSB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgY29ycmVjdCBuYW1lZCBzbG90IGNoZWNrXG4gICAgdmFyIGNvbnRleHRWbTtcbiAgICBpZiAoaGFzT3duKHBhcmVudCwgJ191aWQnKSkge1xuICAgICAgICBjb250ZXh0Vm0gPSBPYmplY3QuY3JlYXRlKHBhcmVudCk7XG4gICAgICAgIGNvbnRleHRWbS5fb3JpZ2luYWwgPSBwYXJlbnQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyB0aGUgY29udGV4dCB2bSBwYXNzZWQgaW4gaXMgYSBmdW5jdGlvbmFsIGNvbnRleHQgYXMgd2VsbC5cbiAgICAgICAgLy8gaW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHdlIGFyZSBhYmxlIHRvIGdldCBhIGhvbGQgdG8gdGhlXG4gICAgICAgIC8vIHJlYWwgY29udGV4dCBpbnN0YW5jZS5cbiAgICAgICAgY29udGV4dFZtID0gcGFyZW50O1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHBhcmVudCA9IHBhcmVudC5fb3JpZ2luYWw7XG4gICAgfVxuICAgIHZhciBpc0NvbXBpbGVkID0gaXNUcnVlKG9wdGlvbnMuX2NvbXBpbGVkKTtcbiAgICB2YXIgbmVlZE5vcm1hbGl6YXRpb24gPSAhaXNDb21waWxlZDtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgdGhpcy5saXN0ZW5lcnMgPSBkYXRhLm9uIHx8IGVtcHR5T2JqZWN0O1xuICAgIHRoaXMuaW5qZWN0aW9ucyA9IHJlc29sdmVJbmplY3Qob3B0aW9ucy5pbmplY3QsIHBhcmVudCk7XG4gICAgdGhpcy5zbG90cyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCFfdGhpcy4kc2xvdHMpIHtcbiAgICAgICAgICAgIG5vcm1hbGl6ZVNjb3BlZFNsb3RzKHBhcmVudCwgZGF0YS5zY29wZWRTbG90cywgKF90aGlzLiRzbG90cyA9IHJlc29sdmVTbG90cyhjaGlsZHJlbiwgcGFyZW50KSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdGhpcy4kc2xvdHM7XG4gICAgfTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3Njb3BlZFNsb3RzJywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVTY29wZWRTbG90cyhwYXJlbnQsIGRhdGEuc2NvcGVkU2xvdHMsIHRoaXMuc2xvdHMoKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBzdXBwb3J0IGZvciBjb21waWxlZCBmdW5jdGlvbmFsIHRlbXBsYXRlXG4gICAgaWYgKGlzQ29tcGlsZWQpIHtcbiAgICAgICAgLy8gZXhwb3NpbmcgJG9wdGlvbnMgZm9yIHJlbmRlclN0YXRpYygpXG4gICAgICAgIHRoaXMuJG9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICAvLyBwcmUtcmVzb2x2ZSBzbG90cyBmb3IgcmVuZGVyU2xvdCgpXG4gICAgICAgIHRoaXMuJHNsb3RzID0gdGhpcy5zbG90cygpO1xuICAgICAgICB0aGlzLiRzY29wZWRTbG90cyA9IG5vcm1hbGl6ZVNjb3BlZFNsb3RzKHBhcmVudCwgZGF0YS5zY29wZWRTbG90cywgdGhpcy4kc2xvdHMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5fc2NvcGVJZCkge1xuICAgICAgICB0aGlzLl9jID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHtcbiAgICAgICAgICAgIHZhciB2bm9kZSA9IGNyZWF0ZUVsZW1lbnQkMShjb250ZXh0Vm0sIGEsIGIsIGMsIGQsIG5lZWROb3JtYWxpemF0aW9uKTtcbiAgICAgICAgICAgIGlmICh2bm9kZSAmJiAhaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgICAgICAgICB2bm9kZS5mblNjb3BlSWQgPSBvcHRpb25zLl9zY29wZUlkO1xuICAgICAgICAgICAgICAgIHZub2RlLmZuQ29udGV4dCA9IHBhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2bm9kZTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRoaXMuX2MgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkge1xuICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQkMShjb250ZXh0Vm0sIGEsIGIsIGMsIGQsIG5lZWROb3JtYWxpemF0aW9uKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5pbnN0YWxsUmVuZGVySGVscGVycyhGdW5jdGlvbmFsUmVuZGVyQ29udGV4dC5wcm90b3R5cGUpO1xuZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb25hbENvbXBvbmVudChDdG9yLCBwcm9wc0RhdGEsIGRhdGEsIGNvbnRleHRWbSwgY2hpbGRyZW4pIHtcbiAgICB2YXIgb3B0aW9ucyA9IEN0b3Iub3B0aW9ucztcbiAgICB2YXIgcHJvcHMgPSB7fTtcbiAgICB2YXIgcHJvcE9wdGlvbnMgPSBvcHRpb25zLnByb3BzO1xuICAgIGlmIChpc0RlZihwcm9wT3B0aW9ucykpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIHByb3BPcHRpb25zKSB7XG4gICAgICAgICAgICBwcm9wc1trZXldID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcE9wdGlvbnMsIHByb3BzRGF0YSB8fCBlbXB0eU9iamVjdCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGlmIChpc0RlZihkYXRhLmF0dHJzKSlcbiAgICAgICAgICAgIG1lcmdlUHJvcHMocHJvcHMsIGRhdGEuYXR0cnMpO1xuICAgICAgICBpZiAoaXNEZWYoZGF0YS5wcm9wcykpXG4gICAgICAgICAgICBtZXJnZVByb3BzKHByb3BzLCBkYXRhLnByb3BzKTtcbiAgICB9XG4gICAgdmFyIHJlbmRlckNvbnRleHQgPSBuZXcgRnVuY3Rpb25hbFJlbmRlckNvbnRleHQoZGF0YSwgcHJvcHMsIGNoaWxkcmVuLCBjb250ZXh0Vm0sIEN0b3IpO1xuICAgIHZhciB2bm9kZSA9IG9wdGlvbnMucmVuZGVyLmNhbGwobnVsbCwgcmVuZGVyQ29udGV4dC5fYywgcmVuZGVyQ29udGV4dCk7XG4gICAgaWYgKHZub2RlIGluc3RhbmNlb2YgVk5vZGUpIHtcbiAgICAgICAgcmV0dXJuIGNsb25lQW5kTWFya0Z1bmN0aW9uYWxSZXN1bHQodm5vZGUsIGRhdGEsIHJlbmRlckNvbnRleHQucGFyZW50LCBvcHRpb25zLCByZW5kZXJDb250ZXh0KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgdmFyIHZub2RlcyA9IG5vcm1hbGl6ZUNoaWxkcmVuKHZub2RlKSB8fCBbXTtcbiAgICAgICAgdmFyIHJlcyA9IG5ldyBBcnJheSh2bm9kZXMubGVuZ3RoKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2bm9kZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHJlc1tpXSA9IGNsb25lQW5kTWFya0Z1bmN0aW9uYWxSZXN1bHQodm5vZGVzW2ldLCBkYXRhLCByZW5kZXJDb250ZXh0LnBhcmVudCwgb3B0aW9ucywgcmVuZGVyQ29udGV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5mdW5jdGlvbiBjbG9uZUFuZE1hcmtGdW5jdGlvbmFsUmVzdWx0KHZub2RlLCBkYXRhLCBjb250ZXh0Vm0sIG9wdGlvbnMsIHJlbmRlckNvbnRleHQpIHtcbiAgICAvLyAjNzgxNyBjbG9uZSBub2RlIGJlZm9yZSBzZXR0aW5nIGZuQ29udGV4dCwgb3RoZXJ3aXNlIGlmIHRoZSBub2RlIGlzIHJldXNlZFxuICAgIC8vIChlLmcuIGl0IHdhcyBmcm9tIGEgY2FjaGVkIG5vcm1hbCBzbG90KSB0aGUgZm5Db250ZXh0IGNhdXNlcyBuYW1lZCBzbG90c1xuICAgIC8vIHRoYXQgc2hvdWxkIG5vdCBiZSBtYXRjaGVkIHRvIG1hdGNoLlxuICAgIHZhciBjbG9uZSA9IGNsb25lVk5vZGUodm5vZGUpO1xuICAgIGNsb25lLmZuQ29udGV4dCA9IGNvbnRleHRWbTtcbiAgICBjbG9uZS5mbk9wdGlvbnMgPSBvcHRpb25zO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIChjbG9uZS5kZXZ0b29sc01ldGEgPSBjbG9uZS5kZXZ0b29sc01ldGEgfHwge30pLnJlbmRlckNvbnRleHQgPVxuICAgICAgICAgICAgcmVuZGVyQ29udGV4dDtcbiAgICB9XG4gICAgaWYgKGRhdGEuc2xvdCkge1xuICAgICAgICAoY2xvbmUuZGF0YSB8fCAoY2xvbmUuZGF0YSA9IHt9KSkuc2xvdCA9IGRhdGEuc2xvdDtcbiAgICB9XG4gICAgcmV0dXJuIGNsb25lO1xufVxuZnVuY3Rpb24gbWVyZ2VQcm9wcyh0bywgZnJvbSkge1xuICAgIGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG4gICAgICAgIHRvW2NhbWVsaXplKGtleSldID0gZnJvbVtrZXldO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZShvcHRpb25zKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMubmFtZSB8fCBvcHRpb25zLl9fbmFtZSB8fCBvcHRpb25zLl9jb21wb25lbnRUYWc7XG59XG4vLyBpbmxpbmUgaG9va3MgdG8gYmUgaW52b2tlZCBvbiBjb21wb25lbnQgVk5vZGVzIGR1cmluZyBwYXRjaFxudmFyIGNvbXBvbmVudFZOb2RlSG9va3MgPSB7XG4gICAgaW5pdDogZnVuY3Rpb24gKHZub2RlLCBoeWRyYXRpbmcpIHtcbiAgICAgICAgaWYgKHZub2RlLmNvbXBvbmVudEluc3RhbmNlICYmXG4gICAgICAgICAgICAhdm5vZGUuY29tcG9uZW50SW5zdGFuY2UuX2lzRGVzdHJveWVkICYmXG4gICAgICAgICAgICB2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgICAgICAgLy8ga2VwdC1hbGl2ZSBjb21wb25lbnRzLCB0cmVhdCBhcyBhIHBhdGNoXG4gICAgICAgICAgICB2YXIgbW91bnRlZE5vZGUgPSB2bm9kZTsgLy8gd29yayBhcm91bmQgZmxvd1xuICAgICAgICAgICAgY29tcG9uZW50Vk5vZGVIb29rcy5wcmVwYXRjaChtb3VudGVkTm9kZSwgbW91bnRlZE5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNoaWxkID0gKHZub2RlLmNvbXBvbmVudEluc3RhbmNlID0gY3JlYXRlQ29tcG9uZW50SW5zdGFuY2VGb3JWbm9kZSh2bm9kZSwgYWN0aXZlSW5zdGFuY2UpKTtcbiAgICAgICAgICAgIGNoaWxkLiRtb3VudChoeWRyYXRpbmcgPyB2bm9kZS5lbG0gOiB1bmRlZmluZWQsIGh5ZHJhdGluZyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHByZXBhdGNoOiBmdW5jdGlvbiAob2xkVm5vZGUsIHZub2RlKSB7XG4gICAgICAgIHZhciBvcHRpb25zID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICAgICAgdmFyIGNoaWxkID0gKHZub2RlLmNvbXBvbmVudEluc3RhbmNlID0gb2xkVm5vZGUuY29tcG9uZW50SW5zdGFuY2UpO1xuICAgICAgICB1cGRhdGVDaGlsZENvbXBvbmVudChjaGlsZCwgb3B0aW9ucy5wcm9wc0RhdGEsIC8vIHVwZGF0ZWQgcHJvcHNcbiAgICAgICAgb3B0aW9ucy5saXN0ZW5lcnMsIC8vIHVwZGF0ZWQgbGlzdGVuZXJzXG4gICAgICAgIHZub2RlLCAvLyBuZXcgcGFyZW50IHZub2RlXG4gICAgICAgIG9wdGlvbnMuY2hpbGRyZW4gLy8gbmV3IGNoaWxkcmVuXG4gICAgICAgICk7XG4gICAgfSxcbiAgICBpbnNlcnQ6IGZ1bmN0aW9uICh2bm9kZSkge1xuICAgICAgICB2YXIgY29udGV4dCA9IHZub2RlLmNvbnRleHQsIGNvbXBvbmVudEluc3RhbmNlID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgIGlmICghY29tcG9uZW50SW5zdGFuY2UuX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UuX2lzTW91bnRlZCA9IHRydWU7XG4gICAgICAgICAgICBjYWxsSG9vayQxKGNvbXBvbmVudEluc3RhbmNlLCAnbW91bnRlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgICAgICAgaWYgKGNvbnRleHQuX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgICAgIC8vIHZ1ZS1yb3V0ZXIjMTIxMlxuICAgICAgICAgICAgICAgIC8vIER1cmluZyB1cGRhdGVzLCBhIGtlcHQtYWxpdmUgY29tcG9uZW50J3MgY2hpbGQgY29tcG9uZW50cyBtYXlcbiAgICAgICAgICAgICAgICAvLyBjaGFuZ2UsIHNvIGRpcmVjdGx5IHdhbGtpbmcgdGhlIHRyZWUgaGVyZSBtYXkgY2FsbCBhY3RpdmF0ZWQgaG9va3NcbiAgICAgICAgICAgICAgICAvLyBvbiBpbmNvcnJlY3QgY2hpbGRyZW4uIEluc3RlYWQgd2UgcHVzaCB0aGVtIGludG8gYSBxdWV1ZSB3aGljaCB3aWxsXG4gICAgICAgICAgICAgICAgLy8gYmUgcHJvY2Vzc2VkIGFmdGVyIHRoZSB3aG9sZSBwYXRjaCBwcm9jZXNzIGVuZGVkLlxuICAgICAgICAgICAgICAgIHF1ZXVlQWN0aXZhdGVkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UsIHRydWUgLyogZGlyZWN0ICovKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGVzdHJveTogZnVuY3Rpb24gKHZub2RlKSB7XG4gICAgICAgIHZhciBjb21wb25lbnRJbnN0YW5jZSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgaWYgKCF2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBkZWFjdGl2YXRlQ2hpbGRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UsIHRydWUgLyogZGlyZWN0ICovKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG52YXIgaG9va3NUb01lcmdlID0gT2JqZWN0LmtleXMoY29tcG9uZW50Vk5vZGVIb29rcyk7XG5mdW5jdGlvbiBjcmVhdGVDb21wb25lbnQoQ3RvciwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4sIHRhZykge1xuICAgIGlmIChpc1VuZGVmKEN0b3IpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGJhc2VDdG9yID0gY29udGV4dC4kb3B0aW9ucy5fYmFzZTtcbiAgICAvLyBwbGFpbiBvcHRpb25zIG9iamVjdDogdHVybiBpdCBpbnRvIGEgY29uc3RydWN0b3JcbiAgICBpZiAoaXNPYmplY3QoQ3RvcikpIHtcbiAgICAgICAgQ3RvciA9IGJhc2VDdG9yLmV4dGVuZChDdG9yKTtcbiAgICB9XG4gICAgLy8gaWYgYXQgdGhpcyBzdGFnZSBpdCdzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIGFuIGFzeW5jIGNvbXBvbmVudCBmYWN0b3J5LFxuICAgIC8vIHJlamVjdC5cbiAgICBpZiAodHlwZW9mIEN0b3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHdhcm4kMihcIkludmFsaWQgQ29tcG9uZW50IGRlZmluaXRpb246IFwiLmNvbmNhdChTdHJpbmcoQ3RvcikpLCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGFzeW5jIGNvbXBvbmVudFxuICAgIHZhciBhc3luY0ZhY3Rvcnk7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIGlmIChpc1VuZGVmKEN0b3IuY2lkKSkge1xuICAgICAgICBhc3luY0ZhY3RvcnkgPSBDdG9yO1xuICAgICAgICBDdG9yID0gcmVzb2x2ZUFzeW5jQ29tcG9uZW50KGFzeW5jRmFjdG9yeSwgYmFzZUN0b3IpO1xuICAgICAgICBpZiAoQ3RvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciBub2RlIGZvciBhc3luYyBjb21wb25lbnQsIHdoaWNoIGlzIHJlbmRlcmVkXG4gICAgICAgICAgICAvLyBhcyBhIGNvbW1lbnQgbm9kZSBidXQgcHJlc2VydmVzIGFsbCB0aGUgcmF3IGluZm9ybWF0aW9uIGZvciB0aGUgbm9kZS5cbiAgICAgICAgICAgIC8vIHRoZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgZm9yIGFzeW5jIHNlcnZlci1yZW5kZXJpbmcgYW5kIGh5ZHJhdGlvbi5cbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVBc3luY1BsYWNlaG9sZGVyKGFzeW5jRmFjdG9yeSwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4sIHRhZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGF0YSA9IGRhdGEgfHwge307XG4gICAgLy8gcmVzb2x2ZSBjb25zdHJ1Y3RvciBvcHRpb25zIGluIGNhc2UgZ2xvYmFsIG1peGlucyBhcmUgYXBwbGllZCBhZnRlclxuICAgIC8vIGNvbXBvbmVudCBjb25zdHJ1Y3RvciBjcmVhdGlvblxuICAgIHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMoQ3Rvcik7XG4gICAgLy8gdHJhbnNmb3JtIGNvbXBvbmVudCB2LW1vZGVsIGRhdGEgaW50byBwcm9wcyAmIGV2ZW50c1xuICAgIGlmIChpc0RlZihkYXRhLm1vZGVsKSkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIHRyYW5zZm9ybU1vZGVsKEN0b3Iub3B0aW9ucywgZGF0YSk7XG4gICAgfVxuICAgIC8vIGV4dHJhY3QgcHJvcHNcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdmFyIHByb3BzRGF0YSA9IGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEoZGF0YSwgQ3RvciwgdGFnKTtcbiAgICAvLyBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBpZiAoaXNUcnVlKEN0b3Iub3B0aW9ucy5mdW5jdGlvbmFsKSkge1xuICAgICAgICByZXR1cm4gY3JlYXRlRnVuY3Rpb25hbENvbXBvbmVudChDdG9yLCBwcm9wc0RhdGEsIGRhdGEsIGNvbnRleHQsIGNoaWxkcmVuKTtcbiAgICB9XG4gICAgLy8gZXh0cmFjdCBsaXN0ZW5lcnMsIHNpbmNlIHRoZXNlIG5lZWRzIHRvIGJlIHRyZWF0ZWQgYXNcbiAgICAvLyBjaGlsZCBjb21wb25lbnQgbGlzdGVuZXJzIGluc3RlYWQgb2YgRE9NIGxpc3RlbmVyc1xuICAgIHZhciBsaXN0ZW5lcnMgPSBkYXRhLm9uO1xuICAgIC8vIHJlcGxhY2Ugd2l0aCBsaXN0ZW5lcnMgd2l0aCAubmF0aXZlIG1vZGlmaWVyXG4gICAgLy8gc28gaXQgZ2V0cyBwcm9jZXNzZWQgZHVyaW5nIHBhcmVudCBjb21wb25lbnQgcGF0Y2guXG4gICAgZGF0YS5vbiA9IGRhdGEubmF0aXZlT247XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIGlmIChpc1RydWUoQ3Rvci5vcHRpb25zLmFic3RyYWN0KSkge1xuICAgICAgICAvLyBhYnN0cmFjdCBjb21wb25lbnRzIGRvIG5vdCBrZWVwIGFueXRoaW5nXG4gICAgICAgIC8vIG90aGVyIHRoYW4gcHJvcHMgJiBsaXN0ZW5lcnMgJiBzbG90XG4gICAgICAgIC8vIHdvcmsgYXJvdW5kIGZsb3dcbiAgICAgICAgdmFyIHNsb3QgPSBkYXRhLnNsb3Q7XG4gICAgICAgIGRhdGEgPSB7fTtcbiAgICAgICAgaWYgKHNsb3QpIHtcbiAgICAgICAgICAgIGRhdGEuc2xvdCA9IHNsb3Q7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gaW5zdGFsbCBjb21wb25lbnQgbWFuYWdlbWVudCBob29rcyBvbnRvIHRoZSBwbGFjZWhvbGRlciBub2RlXG4gICAgaW5zdGFsbENvbXBvbmVudEhvb2tzKGRhdGEpO1xuICAgIC8vIHJldHVybiBhIHBsYWNlaG9sZGVyIHZub2RlXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShDdG9yLm9wdGlvbnMpIHx8IHRhZztcbiAgICB2YXIgdm5vZGUgPSBuZXcgVk5vZGUoXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIFwidnVlLWNvbXBvbmVudC1cIi5jb25jYXQoQ3Rvci5jaWQpLmNvbmNhdChuYW1lID8gXCItXCIuY29uY2F0KG5hbWUpIDogJycpLCBkYXRhLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0LCBcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgeyBDdG9yOiBDdG9yLCBwcm9wc0RhdGE6IHByb3BzRGF0YSwgbGlzdGVuZXJzOiBsaXN0ZW5lcnMsIHRhZzogdGFnLCBjaGlsZHJlbjogY2hpbGRyZW4gfSwgYXN5bmNGYWN0b3J5KTtcbiAgICByZXR1cm4gdm5vZGU7XG59XG5mdW5jdGlvbiBjcmVhdGVDb21wb25lbnRJbnN0YW5jZUZvclZub2RlKFxuLy8gd2Uga25vdyBpdCdzIE1vdW50ZWRDb21wb25lbnRWTm9kZSBidXQgZmxvdyBkb2Vzbid0XG52bm9kZSwgXG4vLyBhY3RpdmVJbnN0YW5jZSBpbiBsaWZlY3ljbGUgc3RhdGVcbnBhcmVudCkge1xuICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICBfaXNDb21wb25lbnQ6IHRydWUsXG4gICAgICAgIF9wYXJlbnRWbm9kZTogdm5vZGUsXG4gICAgICAgIHBhcmVudDogcGFyZW50XG4gICAgfTtcbiAgICAvLyBjaGVjayBpbmxpbmUtdGVtcGxhdGUgcmVuZGVyIGZ1bmN0aW9uc1xuICAgIHZhciBpbmxpbmVUZW1wbGF0ZSA9IHZub2RlLmRhdGEuaW5saW5lVGVtcGxhdGU7XG4gICAgaWYgKGlzRGVmKGlubGluZVRlbXBsYXRlKSkge1xuICAgICAgICBvcHRpb25zLnJlbmRlciA9IGlubGluZVRlbXBsYXRlLnJlbmRlcjtcbiAgICAgICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBpbmxpbmVUZW1wbGF0ZS5zdGF0aWNSZW5kZXJGbnM7XG4gICAgfVxuICAgIHJldHVybiBuZXcgdm5vZGUuY29tcG9uZW50T3B0aW9ucy5DdG9yKG9wdGlvbnMpO1xufVxuZnVuY3Rpb24gaW5zdGFsbENvbXBvbmVudEhvb2tzKGRhdGEpIHtcbiAgICB2YXIgaG9va3MgPSBkYXRhLmhvb2sgfHwgKGRhdGEuaG9vayA9IHt9KTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzVG9NZXJnZS5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIga2V5ID0gaG9va3NUb01lcmdlW2ldO1xuICAgICAgICB2YXIgZXhpc3RpbmcgPSBob29rc1trZXldO1xuICAgICAgICB2YXIgdG9NZXJnZSA9IGNvbXBvbmVudFZOb2RlSG9va3Nba2V5XTtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBpZiAoZXhpc3RpbmcgIT09IHRvTWVyZ2UgJiYgIShleGlzdGluZyAmJiBleGlzdGluZy5fbWVyZ2VkKSkge1xuICAgICAgICAgICAgaG9va3Nba2V5XSA9IGV4aXN0aW5nID8gbWVyZ2VIb29rKHRvTWVyZ2UsIGV4aXN0aW5nKSA6IHRvTWVyZ2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBtZXJnZUhvb2soZjEsIGYyKSB7XG4gICAgdmFyIG1lcmdlZCA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgIC8vIGZsb3cgY29tcGxhaW5zIGFib3V0IGV4dHJhIGFyZ3Mgd2hpY2ggaXMgd2h5IHdlIHVzZSBhbnlcbiAgICAgICAgZjEoYSwgYik7XG4gICAgICAgIGYyKGEsIGIpO1xuICAgIH07XG4gICAgbWVyZ2VkLl9tZXJnZWQgPSB0cnVlO1xuICAgIHJldHVybiBtZXJnZWQ7XG59XG4vLyB0cmFuc2Zvcm0gY29tcG9uZW50IHYtbW9kZWwgaW5mbyAodmFsdWUgYW5kIGNhbGxiYWNrKSBpbnRvXG4vLyBwcm9wIGFuZCBldmVudCBoYW5kbGVyIHJlc3BlY3RpdmVseS5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1vZGVsKG9wdGlvbnMsIGRhdGEpIHtcbiAgICB2YXIgcHJvcCA9IChvcHRpb25zLm1vZGVsICYmIG9wdGlvbnMubW9kZWwucHJvcCkgfHwgJ3ZhbHVlJztcbiAgICB2YXIgZXZlbnQgPSAob3B0aW9ucy5tb2RlbCAmJiBvcHRpb25zLm1vZGVsLmV2ZW50KSB8fCAnaW5wdXQnO1xuICAgIChkYXRhLmF0dHJzIHx8IChkYXRhLmF0dHJzID0ge30pKVtwcm9wXSA9IGRhdGEubW9kZWwudmFsdWU7XG4gICAgdmFyIG9uID0gZGF0YS5vbiB8fCAoZGF0YS5vbiA9IHt9KTtcbiAgICB2YXIgZXhpc3RpbmcgPSBvbltldmVudF07XG4gICAgdmFyIGNhbGxiYWNrID0gZGF0YS5tb2RlbC5jYWxsYmFjaztcbiAgICBpZiAoaXNEZWYoZXhpc3RpbmcpKSB7XG4gICAgICAgIGlmIChpc0FycmF5KGV4aXN0aW5nKVxuICAgICAgICAgICAgPyBleGlzdGluZy5pbmRleE9mKGNhbGxiYWNrKSA9PT0gLTFcbiAgICAgICAgICAgIDogZXhpc3RpbmcgIT09IGNhbGxiYWNrKSB7XG4gICAgICAgICAgICBvbltldmVudF0gPSBbY2FsbGJhY2tdLmNvbmNhdChleGlzdGluZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG9uW2V2ZW50XSA9IGNhbGxiYWNrO1xuICAgIH1cbn1cblxudmFyIHdhcm4kMiA9IG5vb3A7XG52YXIgdGlwID0gbm9vcDtcbnZhciBnZW5lcmF0ZUNvbXBvbmVudFRyYWNlOyAvLyB3b3JrIGFyb3VuZCBmbG93IGNoZWNrXG52YXIgZm9ybWF0Q29tcG9uZW50TmFtZTtcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgdmFyIGhhc0NvbnNvbGVfMSA9IHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJztcbiAgICB2YXIgY2xhc3NpZnlSRV8xID0gLyg/Ol58Wy1fXSkoXFx3KS9nO1xuICAgIHZhciBjbGFzc2lmeV8xID0gZnVuY3Rpb24gKHN0cikge1xuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UoY2xhc3NpZnlSRV8xLCBmdW5jdGlvbiAoYykgeyByZXR1cm4gYy50b1VwcGVyQ2FzZSgpOyB9KS5yZXBsYWNlKC9bLV9dL2csICcnKTtcbiAgICB9O1xuICAgIHdhcm4kMiA9IGZ1bmN0aW9uIChtc2csIHZtKSB7XG4gICAgICAgIGlmICh2bSA9PT0gdm9pZCAwKSB7IHZtID0gY3VycmVudEluc3RhbmNlOyB9XG4gICAgICAgIHZhciB0cmFjZSA9IHZtID8gZ2VuZXJhdGVDb21wb25lbnRUcmFjZSh2bSkgOiAnJztcbiAgICAgICAgaWYgKGNvbmZpZy53YXJuSGFuZGxlcikge1xuICAgICAgICAgICAgY29uZmlnLndhcm5IYW5kbGVyLmNhbGwobnVsbCwgbXNnLCB2bSwgdHJhY2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGhhc0NvbnNvbGVfMSAmJiAhY29uZmlnLnNpbGVudCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIltWdWUgd2Fybl06IFwiLmNvbmNhdChtc2cpLmNvbmNhdCh0cmFjZSkpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICB0aXAgPSBmdW5jdGlvbiAobXNnLCB2bSkge1xuICAgICAgICBpZiAoaGFzQ29uc29sZV8xICYmICFjb25maWcuc2lsZW50KSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJbVnVlIHRpcF06IFwiLmNvbmNhdChtc2cpICsgKHZtID8gZ2VuZXJhdGVDb21wb25lbnRUcmFjZSh2bSkgOiAnJykpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBmb3JtYXRDb21wb25lbnROYW1lID0gZnVuY3Rpb24gKHZtLCBpbmNsdWRlRmlsZSkge1xuICAgICAgICBpZiAodm0uJHJvb3QgPT09IHZtKSB7XG4gICAgICAgICAgICByZXR1cm4gJzxSb290Pic7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG9wdGlvbnMgPSBpc0Z1bmN0aW9uKHZtKSAmJiB2bS5jaWQgIT0gbnVsbFxuICAgICAgICAgICAgPyB2bS5vcHRpb25zXG4gICAgICAgICAgICA6IHZtLl9pc1Z1ZVxuICAgICAgICAgICAgICAgID8gdm0uJG9wdGlvbnMgfHwgdm0uY29uc3RydWN0b3Iub3B0aW9uc1xuICAgICAgICAgICAgICAgIDogdm07XG4gICAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShvcHRpb25zKTtcbiAgICAgICAgdmFyIGZpbGUgPSBvcHRpb25zLl9fZmlsZTtcbiAgICAgICAgaWYgKCFuYW1lICYmIGZpbGUpIHtcbiAgICAgICAgICAgIHZhciBtYXRjaCA9IGZpbGUubWF0Y2goLyhbXi9cXFxcXSspXFwudnVlJC8pO1xuICAgICAgICAgICAgbmFtZSA9IG1hdGNoICYmIG1hdGNoWzFdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKG5hbWUgPyBcIjxcIi5jb25jYXQoY2xhc3NpZnlfMShuYW1lKSwgXCI+XCIpIDogXCI8QW5vbnltb3VzPlwiKSArXG4gICAgICAgICAgICAoZmlsZSAmJiBpbmNsdWRlRmlsZSAhPT0gZmFsc2UgPyBcIiBhdCBcIi5jb25jYXQoZmlsZSkgOiAnJykpO1xuICAgIH07XG4gICAgdmFyIHJlcGVhdF8xID0gZnVuY3Rpb24gKHN0ciwgbikge1xuICAgICAgICB2YXIgcmVzID0gJyc7XG4gICAgICAgIHdoaWxlIChuKSB7XG4gICAgICAgICAgICBpZiAobiAlIDIgPT09IDEpXG4gICAgICAgICAgICAgICAgcmVzICs9IHN0cjtcbiAgICAgICAgICAgIGlmIChuID4gMSlcbiAgICAgICAgICAgICAgICBzdHIgKz0gc3RyO1xuICAgICAgICAgICAgbiA+Pj0gMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gICAgZ2VuZXJhdGVDb21wb25lbnRUcmFjZSA9IGZ1bmN0aW9uICh2bSkge1xuICAgICAgICBpZiAodm0uX2lzVnVlICYmIHZtLiRwYXJlbnQpIHtcbiAgICAgICAgICAgIHZhciB0cmVlID0gW107XG4gICAgICAgICAgICB2YXIgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlID0gMDtcbiAgICAgICAgICAgIHdoaWxlICh2bSkge1xuICAgICAgICAgICAgICAgIGlmICh0cmVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3QgPSB0cmVlW3RyZWUubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0LmNvbnN0cnVjdG9yID09PSB2bS5jb25zdHJ1Y3Rvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlKys7XG4gICAgICAgICAgICAgICAgICAgICAgICB2bSA9IHZtLiRwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlW3RyZWUubGVuZ3RoIC0gMV0gPSBbbGFzdCwgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdHJlZS5wdXNoKHZtKTtcbiAgICAgICAgICAgICAgICB2bSA9IHZtLiRwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKCdcXG5cXG5mb3VuZCBpblxcblxcbicgK1xuICAgICAgICAgICAgICAgIHRyZWVcbiAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAodm0sIGkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KGkgPT09IDAgPyAnLS0tPiAnIDogcmVwZWF0XzEoJyAnLCA1ICsgaSAqIDIpKS5jb25jYXQoaXNBcnJheSh2bSlcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJcIi5jb25jYXQoZm9ybWF0Q29tcG9uZW50TmFtZSh2bVswXSksIFwiLi4uIChcIikuY29uY2F0KHZtWzFdLCBcIiByZWN1cnNpdmUgY2FsbHMpXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGZvcm1hdENvbXBvbmVudE5hbWUodm0pKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuam9pbignXFxuJykpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFwiXFxuXFxuKGZvdW5kIGluIFwiLmNvbmNhdChmb3JtYXRDb21wb25lbnROYW1lKHZtKSwgXCIpXCIpO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuLyoqXG4gKiBPcHRpb24gb3ZlcndyaXRpbmcgc3RyYXRlZ2llcyBhcmUgZnVuY3Rpb25zIHRoYXQgaGFuZGxlXG4gKiBob3cgdG8gbWVyZ2UgYSBwYXJlbnQgb3B0aW9uIHZhbHVlIGFuZCBhIGNoaWxkIG9wdGlvblxuICogdmFsdWUgaW50byB0aGUgZmluYWwgdmFsdWUuXG4gKi9cbnZhciBzdHJhdHMgPSBjb25maWcub3B0aW9uTWVyZ2VTdHJhdGVnaWVzO1xuLyoqXG4gKiBPcHRpb25zIHdpdGggcmVzdHJpY3Rpb25zXG4gKi9cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgc3RyYXRzLmVsID0gc3RyYXRzLnByb3BzRGF0YSA9IGZ1bmN0aW9uIChwYXJlbnQsIGNoaWxkLCB2bSwga2V5KSB7XG4gICAgICAgIGlmICghdm0pIHtcbiAgICAgICAgICAgIHdhcm4kMihcIm9wdGlvbiBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGluc3RhbmNlIFwiKSArXG4gICAgICAgICAgICAgICAgJ2NyZWF0aW9uIHdpdGggdGhlIGBuZXdgIGtleXdvcmQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlZmF1bHRTdHJhdChwYXJlbnQsIGNoaWxkKTtcbiAgICB9O1xufVxuLyoqXG4gKiBIZWxwZXIgdGhhdCByZWN1cnNpdmVseSBtZXJnZXMgdHdvIGRhdGEgb2JqZWN0cyB0b2dldGhlci5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhKHRvLCBmcm9tLCByZWN1cnNpdmUpIHtcbiAgICBpZiAocmVjdXJzaXZlID09PSB2b2lkIDApIHsgcmVjdXJzaXZlID0gdHJ1ZTsgfVxuICAgIGlmICghZnJvbSlcbiAgICAgICAgcmV0dXJuIHRvO1xuICAgIHZhciBrZXksIHRvVmFsLCBmcm9tVmFsO1xuICAgIHZhciBrZXlzID0gaGFzU3ltYm9sXG4gICAgICAgID8gUmVmbGVjdC5vd25LZXlzKGZyb20pXG4gICAgICAgIDogT2JqZWN0LmtleXMoZnJvbSk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGtleSA9IGtleXNbaV07XG4gICAgICAgIC8vIGluIGNhc2UgdGhlIG9iamVjdCBpcyBhbHJlYWR5IG9ic2VydmVkLi4uXG4gICAgICAgIGlmIChrZXkgPT09ICdfX29iX18nKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIHRvVmFsID0gdG9ba2V5XTtcbiAgICAgICAgZnJvbVZhbCA9IGZyb21ba2V5XTtcbiAgICAgICAgaWYgKCFyZWN1cnNpdmUgfHwgIWhhc093bih0bywga2V5KSkge1xuICAgICAgICAgICAgc2V0KHRvLCBrZXksIGZyb21WYWwpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRvVmFsICE9PSBmcm9tVmFsICYmXG4gICAgICAgICAgICBpc1BsYWluT2JqZWN0KHRvVmFsKSAmJlxuICAgICAgICAgICAgaXNQbGFpbk9iamVjdChmcm9tVmFsKSkge1xuICAgICAgICAgICAgbWVyZ2VEYXRhKHRvVmFsLCBmcm9tVmFsKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdG87XG59XG4vKipcbiAqIERhdGFcbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhT3JGbihwYXJlbnRWYWwsIGNoaWxkVmFsLCB2bSkge1xuICAgIGlmICghdm0pIHtcbiAgICAgICAgLy8gaW4gYSBWdWUuZXh0ZW5kIG1lcmdlLCBib3RoIHNob3VsZCBiZSBmdW5jdGlvbnNcbiAgICAgICAgaWYgKCFjaGlsZFZhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudFZhbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXBhcmVudFZhbCkge1xuICAgICAgICAgICAgcmV0dXJuIGNoaWxkVmFsO1xuICAgICAgICB9XG4gICAgICAgIC8vIHdoZW4gcGFyZW50VmFsICYgY2hpbGRWYWwgYXJlIGJvdGggcHJlc2VudCxcbiAgICAgICAgLy8gd2UgbmVlZCB0byByZXR1cm4gYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlXG4gICAgICAgIC8vIG1lcmdlZCByZXN1bHQgb2YgYm90aCBmdW5jdGlvbnMuLi4gbm8gbmVlZCB0b1xuICAgICAgICAvLyBjaGVjayBpZiBwYXJlbnRWYWwgaXMgYSBmdW5jdGlvbiBoZXJlIGJlY2F1c2VcbiAgICAgICAgLy8gaXQgaGFzIHRvIGJlIGEgZnVuY3Rpb24gdG8gcGFzcyBwcmV2aW91cyBtZXJnZXMuXG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBtZXJnZWREYXRhRm4oKSB7XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2VEYXRhKGlzRnVuY3Rpb24oY2hpbGRWYWwpID8gY2hpbGRWYWwuY2FsbCh0aGlzLCB0aGlzKSA6IGNoaWxkVmFsLCBpc0Z1bmN0aW9uKHBhcmVudFZhbCkgPyBwYXJlbnRWYWwuY2FsbCh0aGlzLCB0aGlzKSA6IHBhcmVudFZhbCk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gbWVyZ2VkSW5zdGFuY2VEYXRhRm4oKSB7XG4gICAgICAgICAgICAvLyBpbnN0YW5jZSBtZXJnZVxuICAgICAgICAgICAgdmFyIGluc3RhbmNlRGF0YSA9IGlzRnVuY3Rpb24oY2hpbGRWYWwpXG4gICAgICAgICAgICAgICAgPyBjaGlsZFZhbC5jYWxsKHZtLCB2bSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkVmFsO1xuICAgICAgICAgICAgdmFyIGRlZmF1bHREYXRhID0gaXNGdW5jdGlvbihwYXJlbnRWYWwpXG4gICAgICAgICAgICAgICAgPyBwYXJlbnRWYWwuY2FsbCh2bSwgdm0pXG4gICAgICAgICAgICAgICAgOiBwYXJlbnRWYWw7XG4gICAgICAgICAgICBpZiAoaW5zdGFuY2VEYXRhKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlRGF0YShpbnN0YW5jZURhdGEsIGRlZmF1bHREYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBkZWZhdWx0RGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59XG5zdHJhdHMuZGF0YSA9IGZ1bmN0aW9uIChwYXJlbnRWYWwsIGNoaWxkVmFsLCB2bSkge1xuICAgIGlmICghdm0pIHtcbiAgICAgICAgaWYgKGNoaWxkVmFsICYmIHR5cGVvZiBjaGlsZFZhbCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIHdhcm4kMignVGhlIFwiZGF0YVwiIG9wdGlvbiBzaG91bGQgYmUgYSBmdW5jdGlvbiAnICtcbiAgICAgICAgICAgICAgICAgICAgJ3RoYXQgcmV0dXJucyBhIHBlci1pbnN0YW5jZSB2YWx1ZSBpbiBjb21wb25lbnQgJyArXG4gICAgICAgICAgICAgICAgICAgICdkZWZpbml0aW9ucy4nLCB2bSk7XG4gICAgICAgICAgICByZXR1cm4gcGFyZW50VmFsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtZXJnZURhdGFPckZuKHBhcmVudFZhbCwgY2hpbGRWYWwpO1xuICAgIH1cbiAgICByZXR1cm4gbWVyZ2VEYXRhT3JGbihwYXJlbnRWYWwsIGNoaWxkVmFsLCB2bSk7XG59O1xuLyoqXG4gKiBIb29rcyBhbmQgcHJvcHMgYXJlIG1lcmdlZCBhcyBhcnJheXMuXG4gKi9cbmZ1bmN0aW9uIG1lcmdlTGlmZWN5Y2xlSG9vayhwYXJlbnRWYWwsIGNoaWxkVmFsKSB7XG4gICAgdmFyIHJlcyA9IGNoaWxkVmFsXG4gICAgICAgID8gcGFyZW50VmFsXG4gICAgICAgICAgICA/IHBhcmVudFZhbC5jb25jYXQoY2hpbGRWYWwpXG4gICAgICAgICAgICA6IGlzQXJyYXkoY2hpbGRWYWwpXG4gICAgICAgICAgICAgICAgPyBjaGlsZFZhbFxuICAgICAgICAgICAgICAgIDogW2NoaWxkVmFsXVxuICAgICAgICA6IHBhcmVudFZhbDtcbiAgICByZXR1cm4gcmVzID8gZGVkdXBlSG9va3MocmVzKSA6IHJlcztcbn1cbmZ1bmN0aW9uIGRlZHVwZUhvb2tzKGhvb2tzKSB7XG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaG9va3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHJlcy5pbmRleE9mKGhvb2tzW2ldKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKGhvb2tzW2ldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuTElGRUNZQ0xFX0hPT0tTLmZvckVhY2goZnVuY3Rpb24gKGhvb2spIHtcbiAgICBzdHJhdHNbaG9va10gPSBtZXJnZUxpZmVjeWNsZUhvb2s7XG59KTtcbi8qKlxuICogQXNzZXRzXG4gKlxuICogV2hlbiBhIHZtIGlzIHByZXNlbnQgKGluc3RhbmNlIGNyZWF0aW9uKSwgd2UgbmVlZCB0byBkb1xuICogYSB0aHJlZS13YXkgbWVyZ2UgYmV0d2VlbiBjb25zdHJ1Y3RvciBvcHRpb25zLCBpbnN0YW5jZVxuICogb3B0aW9ucyBhbmQgcGFyZW50IG9wdGlvbnMuXG4gKi9cbmZ1bmN0aW9uIG1lcmdlQXNzZXRzKHBhcmVudFZhbCwgY2hpbGRWYWwsIHZtLCBrZXkpIHtcbiAgICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShwYXJlbnRWYWwgfHwgbnVsbCk7XG4gICAgaWYgKGNoaWxkVmFsKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgYXNzZXJ0T2JqZWN0VHlwZShrZXksIGNoaWxkVmFsLCB2bSk7XG4gICAgICAgIHJldHVybiBleHRlbmQocmVzLCBjaGlsZFZhbCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbn1cbkFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBzdHJhdHNbdHlwZSArICdzJ10gPSBtZXJnZUFzc2V0cztcbn0pO1xuLyoqXG4gKiBXYXRjaGVycy5cbiAqXG4gKiBXYXRjaGVycyBoYXNoZXMgc2hvdWxkIG5vdCBvdmVyd3JpdGUgb25lXG4gKiBhbm90aGVyLCBzbyB3ZSBtZXJnZSB0aGVtIGFzIGFycmF5cy5cbiAqL1xuc3RyYXRzLndhdGNoID0gZnVuY3Rpb24gKHBhcmVudFZhbCwgY2hpbGRWYWwsIHZtLCBrZXkpIHtcbiAgICAvLyB3b3JrIGFyb3VuZCBGaXJlZm94J3MgT2JqZWN0LnByb3RvdHlwZS53YXRjaC4uLlxuICAgIC8vQHRzLWV4cGVjdC1lcnJvciB3b3JrIGFyb3VuZFxuICAgIGlmIChwYXJlbnRWYWwgPT09IG5hdGl2ZVdhdGNoKVxuICAgICAgICBwYXJlbnRWYWwgPSB1bmRlZmluZWQ7XG4gICAgLy9AdHMtZXhwZWN0LWVycm9yIHdvcmsgYXJvdW5kXG4gICAgaWYgKGNoaWxkVmFsID09PSBuYXRpdmVXYXRjaClcbiAgICAgICAgY2hpbGRWYWwgPSB1bmRlZmluZWQ7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFjaGlsZFZhbClcbiAgICAgICAgcmV0dXJuIE9iamVjdC5jcmVhdGUocGFyZW50VmFsIHx8IG51bGwpO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICAgIH1cbiAgICBpZiAoIXBhcmVudFZhbClcbiAgICAgICAgcmV0dXJuIGNoaWxkVmFsO1xuICAgIHZhciByZXQgPSB7fTtcbiAgICBleHRlbmQocmV0LCBwYXJlbnRWYWwpO1xuICAgIGZvciAodmFyIGtleV8xIGluIGNoaWxkVmFsKSB7XG4gICAgICAgIHZhciBwYXJlbnRfMSA9IHJldFtrZXlfMV07XG4gICAgICAgIHZhciBjaGlsZCA9IGNoaWxkVmFsW2tleV8xXTtcbiAgICAgICAgaWYgKHBhcmVudF8xICYmICFpc0FycmF5KHBhcmVudF8xKSkge1xuICAgICAgICAgICAgcGFyZW50XzEgPSBbcGFyZW50XzFdO1xuICAgICAgICB9XG4gICAgICAgIHJldFtrZXlfMV0gPSBwYXJlbnRfMSA/IHBhcmVudF8xLmNvbmNhdChjaGlsZCkgOiBpc0FycmF5KGNoaWxkKSA/IGNoaWxkIDogW2NoaWxkXTtcbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbn07XG4vKipcbiAqIE90aGVyIG9iamVjdCBoYXNoZXMuXG4gKi9cbnN0cmF0cy5wcm9wcyA9XG4gICAgc3RyYXRzLm1ldGhvZHMgPVxuICAgICAgICBzdHJhdHMuaW5qZWN0ID1cbiAgICAgICAgICAgIHN0cmF0cy5jb21wdXRlZCA9XG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gKHBhcmVudFZhbCwgY2hpbGRWYWwsIHZtLCBrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkVmFsICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghcGFyZW50VmFsKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkVmFsO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmV0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgZXh0ZW5kKHJldCwgcGFyZW50VmFsKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkVmFsKVxuICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5kKHJldCwgY2hpbGRWYWwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICAgICAgICAgIH07XG5zdHJhdHMucHJvdmlkZSA9IGZ1bmN0aW9uIChwYXJlbnRWYWwsIGNoaWxkVmFsKSB7XG4gICAgaWYgKCFwYXJlbnRWYWwpXG4gICAgICAgIHJldHVybiBjaGlsZFZhbDtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcmV0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgbWVyZ2VEYXRhKHJldCwgaXNGdW5jdGlvbihwYXJlbnRWYWwpID8gcGFyZW50VmFsLmNhbGwodGhpcykgOiBwYXJlbnRWYWwpO1xuICAgICAgICBpZiAoY2hpbGRWYWwpIHtcbiAgICAgICAgICAgIG1lcmdlRGF0YShyZXQsIGlzRnVuY3Rpb24oY2hpbGRWYWwpID8gY2hpbGRWYWwuY2FsbCh0aGlzKSA6IGNoaWxkVmFsLCBmYWxzZSAvLyBub24tcmVjdXJzaXZlXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgfTtcbn07XG4vKipcbiAqIERlZmF1bHQgc3RyYXRlZ3kuXG4gKi9cbnZhciBkZWZhdWx0U3RyYXQgPSBmdW5jdGlvbiAocGFyZW50VmFsLCBjaGlsZFZhbCkge1xuICAgIHJldHVybiBjaGlsZFZhbCA9PT0gdW5kZWZpbmVkID8gcGFyZW50VmFsIDogY2hpbGRWYWw7XG59O1xuLyoqXG4gKiBWYWxpZGF0ZSBjb21wb25lbnQgbmFtZXNcbiAqL1xuZnVuY3Rpb24gY2hlY2tDb21wb25lbnRzKG9wdGlvbnMpIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucy5jb21wb25lbnRzKSB7XG4gICAgICAgIHZhbGlkYXRlQ29tcG9uZW50TmFtZShrZXkpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHZhbGlkYXRlQ29tcG9uZW50TmFtZShuYW1lKSB7XG4gICAgaWYgKCFuZXcgUmVnRXhwKFwiXlthLXpBLVpdW1xcXFwtXFxcXC4wLTlfXCIuY29uY2F0KHVuaWNvZGVSZWdFeHAuc291cmNlLCBcIl0qJFwiKSkudGVzdChuYW1lKSkge1xuICAgICAgICB3YXJuJDIoJ0ludmFsaWQgY29tcG9uZW50IG5hbWU6IFwiJyArXG4gICAgICAgICAgICBuYW1lICtcbiAgICAgICAgICAgICdcIi4gQ29tcG9uZW50IG5hbWVzICcgK1xuICAgICAgICAgICAgJ3Nob3VsZCBjb25mb3JtIHRvIHZhbGlkIGN1c3RvbSBlbGVtZW50IG5hbWUgaW4gaHRtbDUgc3BlY2lmaWNhdGlvbi4nKTtcbiAgICB9XG4gICAgaWYgKGlzQnVpbHRJblRhZyhuYW1lKSB8fCBjb25maWcuaXNSZXNlcnZlZFRhZyhuYW1lKSkge1xuICAgICAgICB3YXJuJDIoJ0RvIG5vdCB1c2UgYnVpbHQtaW4gb3IgcmVzZXJ2ZWQgSFRNTCBlbGVtZW50cyBhcyBjb21wb25lbnQgJyArXG4gICAgICAgICAgICAnaWQ6ICcgK1xuICAgICAgICAgICAgbmFtZSk7XG4gICAgfVxufVxuLyoqXG4gKiBFbnN1cmUgYWxsIHByb3BzIG9wdGlvbiBzeW50YXggYXJlIG5vcm1hbGl6ZWQgaW50byB0aGVcbiAqIE9iamVjdC1iYXNlZCBmb3JtYXQuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVByb3BzKG9wdGlvbnMsIHZtKSB7XG4gICAgdmFyIHByb3BzID0gb3B0aW9ucy5wcm9wcztcbiAgICBpZiAoIXByb3BzKVxuICAgICAgICByZXR1cm47XG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIHZhciBpLCB2YWwsIG5hbWU7XG4gICAgaWYgKGlzQXJyYXkocHJvcHMpKSB7XG4gICAgICAgIGkgPSBwcm9wcy5sZW5ndGg7XG4gICAgICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgICAgIHZhbCA9IHByb3BzW2ldO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgbmFtZSA9IGNhbWVsaXplKHZhbCk7XG4gICAgICAgICAgICAgICAgcmVzW25hbWVdID0geyB0eXBlOiBudWxsIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKCdwcm9wcyBtdXN0IGJlIHN0cmluZ3Mgd2hlbiB1c2luZyBhcnJheSBzeW50YXguJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoaXNQbGFpbk9iamVjdChwcm9wcykpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgICAgICAgICB2YWwgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgbmFtZSA9IGNhbWVsaXplKGtleSk7XG4gICAgICAgICAgICByZXNbbmFtZV0gPSBpc1BsYWluT2JqZWN0KHZhbCkgPyB2YWwgOiB7IHR5cGU6IHZhbCB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgd2FybiQyKFwiSW52YWxpZCB2YWx1ZSBmb3Igb3B0aW9uIFxcXCJwcm9wc1xcXCI6IGV4cGVjdGVkIGFuIEFycmF5IG9yIGFuIE9iamVjdCwgXCIgK1xuICAgICAgICAgICAgXCJidXQgZ290IFwiLmNvbmNhdCh0b1Jhd1R5cGUocHJvcHMpLCBcIi5cIiksIHZtKTtcbiAgICB9XG4gICAgb3B0aW9ucy5wcm9wcyA9IHJlcztcbn1cbi8qKlxuICogTm9ybWFsaXplIGFsbCBpbmplY3Rpb25zIGludG8gT2JqZWN0LWJhc2VkIGZvcm1hdFxuICovXG5mdW5jdGlvbiBub3JtYWxpemVJbmplY3Qob3B0aW9ucywgdm0pIHtcbiAgICB2YXIgaW5qZWN0ID0gb3B0aW9ucy5pbmplY3Q7XG4gICAgaWYgKCFpbmplY3QpXG4gICAgICAgIHJldHVybjtcbiAgICB2YXIgbm9ybWFsaXplZCA9IChvcHRpb25zLmluamVjdCA9IHt9KTtcbiAgICBpZiAoaXNBcnJheShpbmplY3QpKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5qZWN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBub3JtYWxpemVkW2luamVjdFtpXV0gPSB7IGZyb206IGluamVjdFtpXSB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUGxhaW5PYmplY3QoaW5qZWN0KSkge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gaW5qZWN0KSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gaW5qZWN0W2tleV07XG4gICAgICAgICAgICBub3JtYWxpemVkW2tleV0gPSBpc1BsYWluT2JqZWN0KHZhbClcbiAgICAgICAgICAgICAgICA/IGV4dGVuZCh7IGZyb206IGtleSB9LCB2YWwpXG4gICAgICAgICAgICAgICAgOiB7IGZyb206IHZhbCB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgd2FybiQyKFwiSW52YWxpZCB2YWx1ZSBmb3Igb3B0aW9uIFxcXCJpbmplY3RcXFwiOiBleHBlY3RlZCBhbiBBcnJheSBvciBhbiBPYmplY3QsIFwiICtcbiAgICAgICAgICAgIFwiYnV0IGdvdCBcIi5jb25jYXQodG9SYXdUeXBlKGluamVjdCksIFwiLlwiKSwgdm0pO1xuICAgIH1cbn1cbi8qKlxuICogTm9ybWFsaXplIHJhdyBmdW5jdGlvbiBkaXJlY3RpdmVzIGludG8gb2JqZWN0IGZvcm1hdC5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplRGlyZWN0aXZlcyQxKG9wdGlvbnMpIHtcbiAgICB2YXIgZGlycyA9IG9wdGlvbnMuZGlyZWN0aXZlcztcbiAgICBpZiAoZGlycykge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gZGlycykge1xuICAgICAgICAgICAgdmFyIGRlZiA9IGRpcnNba2V5XTtcbiAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKGRlZikpIHtcbiAgICAgICAgICAgICAgICBkaXJzW2tleV0gPSB7IGJpbmQ6IGRlZiwgdXBkYXRlOiBkZWYgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGFzc2VydE9iamVjdFR5cGUobmFtZSwgdmFsdWUsIHZtKSB7XG4gICAgaWYgKCFpc1BsYWluT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICB3YXJuJDIoXCJJbnZhbGlkIHZhbHVlIGZvciBvcHRpb24gXFxcIlwiLmNvbmNhdChuYW1lLCBcIlxcXCI6IGV4cGVjdGVkIGFuIE9iamVjdCwgXCIpICtcbiAgICAgICAgICAgIFwiYnV0IGdvdCBcIi5jb25jYXQodG9SYXdUeXBlKHZhbHVlKSwgXCIuXCIpLCB2bSk7XG4gICAgfVxufVxuLyoqXG4gKiBNZXJnZSB0d28gb3B0aW9uIG9iamVjdHMgaW50byBhIG5ldyBvbmUuXG4gKiBDb3JlIHV0aWxpdHkgdXNlZCBpbiBib3RoIGluc3RhbnRpYXRpb24gYW5kIGluaGVyaXRhbmNlLlxuICovXG5mdW5jdGlvbiBtZXJnZU9wdGlvbnMocGFyZW50LCBjaGlsZCwgdm0pIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBjaGVja0NvbXBvbmVudHMoY2hpbGQpO1xuICAgIH1cbiAgICBpZiAoaXNGdW5jdGlvbihjaGlsZCkpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBjaGlsZCA9IGNoaWxkLm9wdGlvbnM7XG4gICAgfVxuICAgIG5vcm1hbGl6ZVByb3BzKGNoaWxkLCB2bSk7XG4gICAgbm9ybWFsaXplSW5qZWN0KGNoaWxkLCB2bSk7XG4gICAgbm9ybWFsaXplRGlyZWN0aXZlcyQxKGNoaWxkKTtcbiAgICAvLyBBcHBseSBleHRlbmRzIGFuZCBtaXhpbnMgb24gdGhlIGNoaWxkIG9wdGlvbnMsXG4gICAgLy8gYnV0IG9ubHkgaWYgaXQgaXMgYSByYXcgb3B0aW9ucyBvYmplY3QgdGhhdCBpc24ndFxuICAgIC8vIHRoZSByZXN1bHQgb2YgYW5vdGhlciBtZXJnZU9wdGlvbnMgY2FsbC5cbiAgICAvLyBPbmx5IG1lcmdlZCBvcHRpb25zIGhhcyB0aGUgX2Jhc2UgcHJvcGVydHkuXG4gICAgaWYgKCFjaGlsZC5fYmFzZSkge1xuICAgICAgICBpZiAoY2hpbGQuZXh0ZW5kcykge1xuICAgICAgICAgICAgcGFyZW50ID0gbWVyZ2VPcHRpb25zKHBhcmVudCwgY2hpbGQuZXh0ZW5kcywgdm0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGlsZC5taXhpbnMpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gY2hpbGQubWl4aW5zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLm1peGluc1tpXSwgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBvcHRpb25zID0ge307XG4gICAgdmFyIGtleTtcbiAgICBmb3IgKGtleSBpbiBwYXJlbnQpIHtcbiAgICAgICAgbWVyZ2VGaWVsZChrZXkpO1xuICAgIH1cbiAgICBmb3IgKGtleSBpbiBjaGlsZCkge1xuICAgICAgICBpZiAoIWhhc093bihwYXJlbnQsIGtleSkpIHtcbiAgICAgICAgICAgIG1lcmdlRmllbGQoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBtZXJnZUZpZWxkKGtleSkge1xuICAgICAgICB2YXIgc3RyYXQgPSBzdHJhdHNba2V5XSB8fCBkZWZhdWx0U3RyYXQ7XG4gICAgICAgIG9wdGlvbnNba2V5XSA9IHN0cmF0KHBhcmVudFtrZXldLCBjaGlsZFtrZXldLCB2bSwga2V5KTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG59XG4vKipcbiAqIFJlc29sdmUgYW4gYXNzZXQuXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgYmVjYXVzZSBjaGlsZCBpbnN0YW5jZXMgbmVlZCBhY2Nlc3NcbiAqIHRvIGFzc2V0cyBkZWZpbmVkIGluIGl0cyBhbmNlc3RvciBjaGFpbi5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUFzc2V0KG9wdGlvbnMsIHR5cGUsIGlkLCB3YXJuTWlzc2luZykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICh0eXBlb2YgaWQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGFzc2V0cyA9IG9wdGlvbnNbdHlwZV07XG4gICAgLy8gY2hlY2sgbG9jYWwgcmVnaXN0cmF0aW9uIHZhcmlhdGlvbnMgZmlyc3RcbiAgICBpZiAoaGFzT3duKGFzc2V0cywgaWQpKVxuICAgICAgICByZXR1cm4gYXNzZXRzW2lkXTtcbiAgICB2YXIgY2FtZWxpemVkSWQgPSBjYW1lbGl6ZShpZCk7XG4gICAgaWYgKGhhc093bihhc3NldHMsIGNhbWVsaXplZElkKSlcbiAgICAgICAgcmV0dXJuIGFzc2V0c1tjYW1lbGl6ZWRJZF07XG4gICAgdmFyIFBhc2NhbENhc2VJZCA9IGNhcGl0YWxpemUoY2FtZWxpemVkSWQpO1xuICAgIGlmIChoYXNPd24oYXNzZXRzLCBQYXNjYWxDYXNlSWQpKVxuICAgICAgICByZXR1cm4gYXNzZXRzW1Bhc2NhbENhc2VJZF07XG4gICAgLy8gZmFsbGJhY2sgdG8gcHJvdG90eXBlIGNoYWluXG4gICAgdmFyIHJlcyA9IGFzc2V0c1tpZF0gfHwgYXNzZXRzW2NhbWVsaXplZElkXSB8fCBhc3NldHNbUGFzY2FsQ2FzZUlkXTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuTWlzc2luZyAmJiAhcmVzKSB7XG4gICAgICAgIHdhcm4kMignRmFpbGVkIHRvIHJlc29sdmUgJyArIHR5cGUuc2xpY2UoMCwgLTEpICsgJzogJyArIGlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wKGtleSwgcHJvcE9wdGlvbnMsIHByb3BzRGF0YSwgdm0pIHtcbiAgICB2YXIgcHJvcCA9IHByb3BPcHRpb25zW2tleV07XG4gICAgdmFyIGFic2VudCA9ICFoYXNPd24ocHJvcHNEYXRhLCBrZXkpO1xuICAgIHZhciB2YWx1ZSA9IHByb3BzRGF0YVtrZXldO1xuICAgIC8vIGJvb2xlYW4gY2FzdGluZ1xuICAgIHZhciBib29sZWFuSW5kZXggPSBnZXRUeXBlSW5kZXgoQm9vbGVhbiwgcHJvcC50eXBlKTtcbiAgICBpZiAoYm9vbGVhbkluZGV4ID4gLTEpIHtcbiAgICAgICAgaWYgKGFic2VudCAmJiAhaGFzT3duKHByb3AsICdkZWZhdWx0JykpIHtcbiAgICAgICAgICAgIHZhbHVlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBoeXBoZW5hdGUoa2V5KSkge1xuICAgICAgICAgICAgLy8gb25seSBjYXN0IGVtcHR5IHN0cmluZyAvIHNhbWUgbmFtZSB0byBib29sZWFuIGlmXG4gICAgICAgICAgICAvLyBib29sZWFuIGhhcyBoaWdoZXIgcHJpb3JpdHlcbiAgICAgICAgICAgIHZhciBzdHJpbmdJbmRleCA9IGdldFR5cGVJbmRleChTdHJpbmcsIHByb3AudHlwZSk7XG4gICAgICAgICAgICBpZiAoc3RyaW5nSW5kZXggPCAwIHx8IGJvb2xlYW5JbmRleCA8IHN0cmluZ0luZGV4KSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGNoZWNrIGRlZmF1bHQgdmFsdWVcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2YWx1ZSA9IGdldFByb3BEZWZhdWx0VmFsdWUodm0sIHByb3AsIGtleSk7XG4gICAgICAgIC8vIHNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlIGlzIGEgZnJlc2ggY29weSxcbiAgICAgICAgLy8gbWFrZSBzdXJlIHRvIG9ic2VydmUgaXQuXG4gICAgICAgIHZhciBwcmV2U2hvdWxkT2JzZXJ2ZSA9IHNob3VsZE9ic2VydmU7XG4gICAgICAgIHRvZ2dsZU9ic2VydmluZyh0cnVlKTtcbiAgICAgICAgb2JzZXJ2ZSh2YWx1ZSk7XG4gICAgICAgIHRvZ2dsZU9ic2VydmluZyhwcmV2U2hvdWxkT2JzZXJ2ZSk7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGFzc2VydFByb3AocHJvcCwga2V5LCB2YWx1ZSwgdm0sIGFic2VudCk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn1cbi8qKlxuICogR2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIGEgcHJvcC5cbiAqL1xuZnVuY3Rpb24gZ2V0UHJvcERlZmF1bHRWYWx1ZSh2bSwgcHJvcCwga2V5KSB7XG4gICAgLy8gbm8gZGVmYXVsdCwgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGlmICghaGFzT3duKHByb3AsICdkZWZhdWx0JykpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdmFyIGRlZiA9IHByb3AuZGVmYXVsdDtcbiAgICAvLyB3YXJuIGFnYWluc3Qgbm9uLWZhY3RvcnkgZGVmYXVsdHMgZm9yIE9iamVjdCAmIEFycmF5XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaXNPYmplY3QoZGVmKSkge1xuICAgICAgICB3YXJuJDIoJ0ludmFsaWQgZGVmYXVsdCB2YWx1ZSBmb3IgcHJvcCBcIicgK1xuICAgICAgICAgICAga2V5ICtcbiAgICAgICAgICAgICdcIjogJyArXG4gICAgICAgICAgICAnUHJvcHMgd2l0aCB0eXBlIE9iamVjdC9BcnJheSBtdXN0IHVzZSBhIGZhY3RvcnkgZnVuY3Rpb24gJyArXG4gICAgICAgICAgICAndG8gcmV0dXJuIHRoZSBkZWZhdWx0IHZhbHVlLicsIHZtKTtcbiAgICB9XG4gICAgLy8gdGhlIHJhdyBwcm9wIHZhbHVlIHdhcyBhbHNvIHVuZGVmaW5lZCBmcm9tIHByZXZpb3VzIHJlbmRlcixcbiAgICAvLyByZXR1cm4gcHJldmlvdXMgZGVmYXVsdCB2YWx1ZSB0byBhdm9pZCB1bm5lY2Vzc2FyeSB3YXRjaGVyIHRyaWdnZXJcbiAgICBpZiAodm0gJiZcbiAgICAgICAgdm0uJG9wdGlvbnMucHJvcHNEYXRhICYmXG4gICAgICAgIHZtLiRvcHRpb25zLnByb3BzRGF0YVtrZXldID09PSB1bmRlZmluZWQgJiZcbiAgICAgICAgdm0uX3Byb3BzW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdm0uX3Byb3BzW2tleV07XG4gICAgfVxuICAgIC8vIGNhbGwgZmFjdG9yeSBmdW5jdGlvbiBmb3Igbm9uLUZ1bmN0aW9uIHR5cGVzXG4gICAgLy8gYSB2YWx1ZSBpcyBGdW5jdGlvbiBpZiBpdHMgcHJvdG90eXBlIGlzIGZ1bmN0aW9uIGV2ZW4gYWNyb3NzIGRpZmZlcmVudCBleGVjdXRpb24gY29udGV4dFxuICAgIHJldHVybiBpc0Z1bmN0aW9uKGRlZikgJiYgZ2V0VHlwZShwcm9wLnR5cGUpICE9PSAnRnVuY3Rpb24nXG4gICAgICAgID8gZGVmLmNhbGwodm0pXG4gICAgICAgIDogZGVmO1xufVxuLyoqXG4gKiBBc3NlcnQgd2hldGhlciBhIHByb3AgaXMgdmFsaWQuXG4gKi9cbmZ1bmN0aW9uIGFzc2VydFByb3AocHJvcCwgbmFtZSwgdmFsdWUsIHZtLCBhYnNlbnQpIHtcbiAgICBpZiAocHJvcC5yZXF1aXJlZCAmJiBhYnNlbnQpIHtcbiAgICAgICAgd2FybiQyKCdNaXNzaW5nIHJlcXVpcmVkIHByb3A6IFwiJyArIG5hbWUgKyAnXCInLCB2bSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZhbHVlID09IG51bGwgJiYgIXByb3AucmVxdWlyZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdHlwZSA9IHByb3AudHlwZTtcbiAgICB2YXIgdmFsaWQgPSAhdHlwZSB8fCB0eXBlID09PSB0cnVlO1xuICAgIHZhciBleHBlY3RlZFR5cGVzID0gW107XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgaWYgKCFpc0FycmF5KHR5cGUpKSB7XG4gICAgICAgICAgICB0eXBlID0gW3R5cGVdO1xuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHlwZS5sZW5ndGggJiYgIXZhbGlkOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBhc3NlcnRlZFR5cGUgPSBhc3NlcnRUeXBlKHZhbHVlLCB0eXBlW2ldLCB2bSk7XG4gICAgICAgICAgICBleHBlY3RlZFR5cGVzLnB1c2goYXNzZXJ0ZWRUeXBlLmV4cGVjdGVkVHlwZSB8fCAnJyk7XG4gICAgICAgICAgICB2YWxpZCA9IGFzc2VydGVkVHlwZS52YWxpZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgaGF2ZUV4cGVjdGVkVHlwZXMgPSBleHBlY3RlZFR5cGVzLnNvbWUoZnVuY3Rpb24gKHQpIHsgcmV0dXJuIHQ7IH0pO1xuICAgIGlmICghdmFsaWQgJiYgaGF2ZUV4cGVjdGVkVHlwZXMpIHtcbiAgICAgICAgd2FybiQyKGdldEludmFsaWRUeXBlTWVzc2FnZShuYW1lLCB2YWx1ZSwgZXhwZWN0ZWRUeXBlcyksIHZtKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdmFsaWRhdG9yID0gcHJvcC52YWxpZGF0b3I7XG4gICAgaWYgKHZhbGlkYXRvcikge1xuICAgICAgICBpZiAoIXZhbGlkYXRvcih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHdhcm4kMignSW52YWxpZCBwcm9wOiBjdXN0b20gdmFsaWRhdG9yIGNoZWNrIGZhaWxlZCBmb3IgcHJvcCBcIicgKyBuYW1lICsgJ1wiLicsIHZtKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbnZhciBzaW1wbGVDaGVja1JFID0gL14oU3RyaW5nfE51bWJlcnxCb29sZWFufEZ1bmN0aW9ufFN5bWJvbHxCaWdJbnQpJC87XG5mdW5jdGlvbiBhc3NlcnRUeXBlKHZhbHVlLCB0eXBlLCB2bSkge1xuICAgIHZhciB2YWxpZDtcbiAgICB2YXIgZXhwZWN0ZWRUeXBlID0gZ2V0VHlwZSh0eXBlKTtcbiAgICBpZiAoc2ltcGxlQ2hlY2tSRS50ZXN0KGV4cGVjdGVkVHlwZSkpIHtcbiAgICAgICAgdmFyIHQgPSB0eXBlb2YgdmFsdWU7XG4gICAgICAgIHZhbGlkID0gdCA9PT0gZXhwZWN0ZWRUeXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIC8vIGZvciBwcmltaXRpdmUgd3JhcHBlciBvYmplY3RzXG4gICAgICAgIGlmICghdmFsaWQgJiYgdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHZhbGlkID0gdmFsdWUgaW5zdGFuY2VvZiB0eXBlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gJ09iamVjdCcpIHtcbiAgICAgICAgdmFsaWQgPSBpc1BsYWluT2JqZWN0KHZhbHVlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSAnQXJyYXknKSB7XG4gICAgICAgIHZhbGlkID0gaXNBcnJheSh2YWx1ZSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFsaWQgPSB2YWx1ZSBpbnN0YW5jZW9mIHR5cGU7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHdhcm4kMignSW52YWxpZCBwcm9wIHR5cGU6IFwiJyArIFN0cmluZyh0eXBlKSArICdcIiBpcyBub3QgYSBjb25zdHJ1Y3RvcicsIHZtKTtcbiAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWQ6IHZhbGlkLFxuICAgICAgICBleHBlY3RlZFR5cGU6IGV4cGVjdGVkVHlwZVxuICAgIH07XG59XG52YXIgZnVuY3Rpb25UeXBlQ2hlY2tSRSA9IC9eXFxzKmZ1bmN0aW9uIChcXHcrKS87XG4vKipcbiAqIFVzZSBmdW5jdGlvbiBzdHJpbmcgbmFtZSB0byBjaGVjayBidWlsdC1pbiB0eXBlcyxcbiAqIGJlY2F1c2UgYSBzaW1wbGUgZXF1YWxpdHkgY2hlY2sgd2lsbCBmYWlsIHdoZW4gcnVubmluZ1xuICogYWNyb3NzIGRpZmZlcmVudCB2bXMgLyBpZnJhbWVzLlxuICovXG5mdW5jdGlvbiBnZXRUeXBlKGZuKSB7XG4gICAgdmFyIG1hdGNoID0gZm4gJiYgZm4udG9TdHJpbmcoKS5tYXRjaChmdW5jdGlvblR5cGVDaGVja1JFKTtcbiAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6ICcnO1xufVxuZnVuY3Rpb24gaXNTYW1lVHlwZShhLCBiKSB7XG4gICAgcmV0dXJuIGdldFR5cGUoYSkgPT09IGdldFR5cGUoYik7XG59XG5mdW5jdGlvbiBnZXRUeXBlSW5kZXgodHlwZSwgZXhwZWN0ZWRUeXBlcykge1xuICAgIGlmICghaXNBcnJheShleHBlY3RlZFR5cGVzKSkge1xuICAgICAgICByZXR1cm4gaXNTYW1lVHlwZShleHBlY3RlZFR5cGVzLCB0eXBlKSA/IDAgOiAtMTtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGV4cGVjdGVkVHlwZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgaWYgKGlzU2FtZVR5cGUoZXhwZWN0ZWRUeXBlc1tpXSwgdHlwZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbn1cbmZ1bmN0aW9uIGdldEludmFsaWRUeXBlTWVzc2FnZShuYW1lLCB2YWx1ZSwgZXhwZWN0ZWRUeXBlcykge1xuICAgIHZhciBtZXNzYWdlID0gXCJJbnZhbGlkIHByb3A6IHR5cGUgY2hlY2sgZmFpbGVkIGZvciBwcm9wIFxcXCJcIi5jb25jYXQobmFtZSwgXCJcXFwiLlwiKSArXG4gICAgICAgIFwiIEV4cGVjdGVkIFwiLmNvbmNhdChleHBlY3RlZFR5cGVzLm1hcChjYXBpdGFsaXplKS5qb2luKCcsICcpKTtcbiAgICB2YXIgZXhwZWN0ZWRUeXBlID0gZXhwZWN0ZWRUeXBlc1swXTtcbiAgICB2YXIgcmVjZWl2ZWRUeXBlID0gdG9SYXdUeXBlKHZhbHVlKTtcbiAgICAvLyBjaGVjayBpZiB3ZSBuZWVkIHRvIHNwZWNpZnkgZXhwZWN0ZWQgdmFsdWVcbiAgICBpZiAoZXhwZWN0ZWRUeXBlcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgaXNFeHBsaWNhYmxlKGV4cGVjdGVkVHlwZSkgJiZcbiAgICAgICAgaXNFeHBsaWNhYmxlKHR5cGVvZiB2YWx1ZSkgJiZcbiAgICAgICAgIWlzQm9vbGVhbihleHBlY3RlZFR5cGUsIHJlY2VpdmVkVHlwZSkpIHtcbiAgICAgICAgbWVzc2FnZSArPSBcIiB3aXRoIHZhbHVlIFwiLmNvbmNhdChzdHlsZVZhbHVlKHZhbHVlLCBleHBlY3RlZFR5cGUpKTtcbiAgICB9XG4gICAgbWVzc2FnZSArPSBcIiwgZ290IFwiLmNvbmNhdChyZWNlaXZlZFR5cGUsIFwiIFwiKTtcbiAgICAvLyBjaGVjayBpZiB3ZSBuZWVkIHRvIHNwZWNpZnkgcmVjZWl2ZWQgdmFsdWVcbiAgICBpZiAoaXNFeHBsaWNhYmxlKHJlY2VpdmVkVHlwZSkpIHtcbiAgICAgICAgbWVzc2FnZSArPSBcIndpdGggdmFsdWUgXCIuY29uY2F0KHN0eWxlVmFsdWUodmFsdWUsIHJlY2VpdmVkVHlwZSksIFwiLlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG59XG5mdW5jdGlvbiBzdHlsZVZhbHVlKHZhbHVlLCB0eXBlKSB7XG4gICAgaWYgKHR5cGUgPT09ICdTdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBcIlxcXCJcIi5jb25jYXQodmFsdWUsIFwiXFxcIlwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZSA9PT0gJ051bWJlcicpIHtcbiAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KE51bWJlcih2YWx1ZSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KHZhbHVlKTtcbiAgICB9XG59XG52YXIgRVhQTElDQUJMRV9UWVBFUyA9IFsnc3RyaW5nJywgJ251bWJlcicsICdib29sZWFuJ107XG5mdW5jdGlvbiBpc0V4cGxpY2FibGUodmFsdWUpIHtcbiAgICByZXR1cm4gRVhQTElDQUJMRV9UWVBFUy5zb21lKGZ1bmN0aW9uIChlbGVtKSB7IHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSBlbGVtOyB9KTtcbn1cbmZ1bmN0aW9uIGlzQm9vbGVhbigpIHtcbiAgICB2YXIgYXJncyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgcmV0dXJuIGFyZ3Muc29tZShmdW5jdGlvbiAoZWxlbSkgeyByZXR1cm4gZWxlbS50b0xvd2VyQ2FzZSgpID09PSAnYm9vbGVhbic7IH0pO1xufVxuXG5mdW5jdGlvbiBWdWUob3B0aW9ucykge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICEodGhpcyBpbnN0YW5jZW9mIFZ1ZSkpIHtcbiAgICAgICAgd2FybiQyKCdWdWUgaXMgYSBjb25zdHJ1Y3RvciBhbmQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBgbmV3YCBrZXl3b3JkJyk7XG4gICAgfVxuICAgIHRoaXMuX2luaXQob3B0aW9ucyk7XG59XG4vL0B0cy1leHBlY3QtZXJyb3IgVnVlIGhhcyBmdW5jdGlvbiB0eXBlXG5pbml0TWl4aW4kMShWdWUpO1xuLy9AdHMtZXhwZWN0LWVycm9yIFZ1ZSBoYXMgZnVuY3Rpb24gdHlwZVxuc3RhdGVNaXhpbihWdWUpO1xuLy9AdHMtZXhwZWN0LWVycm9yIFZ1ZSBoYXMgZnVuY3Rpb24gdHlwZVxuZXZlbnRzTWl4aW4oVnVlKTtcbi8vQHRzLWV4cGVjdC1lcnJvciBWdWUgaGFzIGZ1bmN0aW9uIHR5cGVcbmxpZmVjeWNsZU1peGluKFZ1ZSk7XG4vL0B0cy1leHBlY3QtZXJyb3IgVnVlIGhhcyBmdW5jdGlvbiB0eXBlXG5yZW5kZXJNaXhpbihWdWUpO1xuXG5mdW5jdGlvbiBpbml0VXNlKFZ1ZSkge1xuICAgIFZ1ZS51c2UgPSBmdW5jdGlvbiAocGx1Z2luKSB7XG4gICAgICAgIHZhciBpbnN0YWxsZWRQbHVnaW5zID0gdGhpcy5faW5zdGFsbGVkUGx1Z2lucyB8fCAodGhpcy5faW5zdGFsbGVkUGx1Z2lucyA9IFtdKTtcbiAgICAgICAgaWYgKGluc3RhbGxlZFBsdWdpbnMuaW5kZXhPZihwbHVnaW4pID4gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICAgICAgICB2YXIgYXJncyA9IHRvQXJyYXkoYXJndW1lbnRzLCAxKTtcbiAgICAgICAgYXJncy51bnNoaWZ0KHRoaXMpO1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihwbHVnaW4uaW5zdGFsbCkpIHtcbiAgICAgICAgICAgIHBsdWdpbi5pbnN0YWxsLmFwcGx5KHBsdWdpbiwgYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNGdW5jdGlvbihwbHVnaW4pKSB7XG4gICAgICAgICAgICBwbHVnaW4uYXBwbHkobnVsbCwgYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgaW5zdGFsbGVkUGx1Z2lucy5wdXNoKHBsdWdpbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGluaXRNaXhpbihWdWUpIHtcbiAgICBWdWUubWl4aW4gPSBmdW5jdGlvbiAobWl4aW4pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gbWVyZ2VPcHRpb25zKHRoaXMub3B0aW9ucywgbWl4aW4pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBpbml0RXh0ZW5kKFZ1ZSkge1xuICAgIC8qKlxuICAgICAqIEVhY2ggaW5zdGFuY2UgY29uc3RydWN0b3IsIGluY2x1ZGluZyBWdWUsIGhhcyBhIHVuaXF1ZVxuICAgICAqIGNpZC4gVGhpcyBlbmFibGVzIHVzIHRvIGNyZWF0ZSB3cmFwcGVkIFwiY2hpbGRcbiAgICAgKiBjb25zdHJ1Y3RvcnNcIiBmb3IgcHJvdG90eXBhbCBpbmhlcml0YW5jZSBhbmQgY2FjaGUgdGhlbS5cbiAgICAgKi9cbiAgICBWdWUuY2lkID0gMDtcbiAgICB2YXIgY2lkID0gMTtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBpbmhlcml0YW5jZVxuICAgICAqL1xuICAgIFZ1ZS5leHRlbmQgPSBmdW5jdGlvbiAoZXh0ZW5kT3B0aW9ucykge1xuICAgICAgICBleHRlbmRPcHRpb25zID0gZXh0ZW5kT3B0aW9ucyB8fCB7fTtcbiAgICAgICAgdmFyIFN1cGVyID0gdGhpcztcbiAgICAgICAgdmFyIFN1cGVySWQgPSBTdXBlci5jaWQ7XG4gICAgICAgIHZhciBjYWNoZWRDdG9ycyA9IGV4dGVuZE9wdGlvbnMuX0N0b3IgfHwgKGV4dGVuZE9wdGlvbnMuX0N0b3IgPSB7fSk7XG4gICAgICAgIGlmIChjYWNoZWRDdG9yc1tTdXBlcklkXSkge1xuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZEN0b3JzW1N1cGVySWRdO1xuICAgICAgICB9XG4gICAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShleHRlbmRPcHRpb25zKSB8fCBnZXRDb21wb25lbnROYW1lKFN1cGVyLm9wdGlvbnMpO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBuYW1lKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUNvbXBvbmVudE5hbWUobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIFN1YiA9IGZ1bmN0aW9uIFZ1ZUNvbXBvbmVudChvcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLl9pbml0KG9wdGlvbnMpO1xuICAgICAgICB9O1xuICAgICAgICBTdWIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTdXBlci5wcm90b3R5cGUpO1xuICAgICAgICBTdWIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gU3ViO1xuICAgICAgICBTdWIuY2lkID0gY2lkKys7XG4gICAgICAgIFN1Yi5vcHRpb25zID0gbWVyZ2VPcHRpb25zKFN1cGVyLm9wdGlvbnMsIGV4dGVuZE9wdGlvbnMpO1xuICAgICAgICBTdWJbJ3N1cGVyJ10gPSBTdXBlcjtcbiAgICAgICAgLy8gRm9yIHByb3BzIGFuZCBjb21wdXRlZCBwcm9wZXJ0aWVzLCB3ZSBkZWZpbmUgdGhlIHByb3h5IGdldHRlcnMgb25cbiAgICAgICAgLy8gdGhlIFZ1ZSBpbnN0YW5jZXMgYXQgZXh0ZW5zaW9uIHRpbWUsIG9uIHRoZSBleHRlbmRlZCBwcm90b3R5cGUuIFRoaXNcbiAgICAgICAgLy8gYXZvaWRzIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBjYWxscyBmb3IgZWFjaCBpbnN0YW5jZSBjcmVhdGVkLlxuICAgICAgICBpZiAoU3ViLm9wdGlvbnMucHJvcHMpIHtcbiAgICAgICAgICAgIGluaXRQcm9wcyhTdWIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChTdWIub3B0aW9ucy5jb21wdXRlZCkge1xuICAgICAgICAgICAgaW5pdENvbXB1dGVkKFN1Yik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYWxsb3cgZnVydGhlciBleHRlbnNpb24vbWl4aW4vcGx1Z2luIHVzYWdlXG4gICAgICAgIFN1Yi5leHRlbmQgPSBTdXBlci5leHRlbmQ7XG4gICAgICAgIFN1Yi5taXhpbiA9IFN1cGVyLm1peGluO1xuICAgICAgICBTdWIudXNlID0gU3VwZXIudXNlO1xuICAgICAgICAvLyBjcmVhdGUgYXNzZXQgcmVnaXN0ZXJzLCBzbyBleHRlbmRlZCBjbGFzc2VzXG4gICAgICAgIC8vIGNhbiBoYXZlIHRoZWlyIHByaXZhdGUgYXNzZXRzIHRvby5cbiAgICAgICAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgICAgICAgICAgU3ViW3R5cGVdID0gU3VwZXJbdHlwZV07XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBlbmFibGUgcmVjdXJzaXZlIHNlbGYtbG9va3VwXG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICBTdWIub3B0aW9ucy5jb21wb25lbnRzW25hbWVdID0gU3ViO1xuICAgICAgICB9XG4gICAgICAgIC8vIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIHN1cGVyIG9wdGlvbnMgYXQgZXh0ZW5zaW9uIHRpbWUuXG4gICAgICAgIC8vIGxhdGVyIGF0IGluc3RhbnRpYXRpb24gd2UgY2FuIGNoZWNrIGlmIFN1cGVyJ3Mgb3B0aW9ucyBoYXZlXG4gICAgICAgIC8vIGJlZW4gdXBkYXRlZC5cbiAgICAgICAgU3ViLnN1cGVyT3B0aW9ucyA9IFN1cGVyLm9wdGlvbnM7XG4gICAgICAgIFN1Yi5leHRlbmRPcHRpb25zID0gZXh0ZW5kT3B0aW9ucztcbiAgICAgICAgU3ViLnNlYWxlZE9wdGlvbnMgPSBleHRlbmQoe30sIFN1Yi5vcHRpb25zKTtcbiAgICAgICAgLy8gY2FjaGUgY29uc3RydWN0b3JcbiAgICAgICAgY2FjaGVkQ3RvcnNbU3VwZXJJZF0gPSBTdWI7XG4gICAgICAgIHJldHVybiBTdWI7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGluaXRQcm9wcyhDb21wKSB7XG4gICAgdmFyIHByb3BzID0gQ29tcC5vcHRpb25zLnByb3BzO1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wcykge1xuICAgICAgICBwcm94eShDb21wLnByb3RvdHlwZSwgXCJfcHJvcHNcIiwga2V5KTtcbiAgICB9XG59XG5mdW5jdGlvbiBpbml0Q29tcHV0ZWQoQ29tcCkge1xuICAgIHZhciBjb21wdXRlZCA9IENvbXAub3B0aW9ucy5jb21wdXRlZDtcbiAgICBmb3IgKHZhciBrZXkgaW4gY29tcHV0ZWQpIHtcbiAgICAgICAgZGVmaW5lQ29tcHV0ZWQoQ29tcC5wcm90b3R5cGUsIGtleSwgY29tcHV0ZWRba2V5XSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbml0QXNzZXRSZWdpc3RlcnMoVnVlKSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGFzc2V0IHJlZ2lzdHJhdGlvbiBtZXRob2RzLlxuICAgICAqL1xuICAgIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBmdW5jdGlvbiBpcyBub3QgZXhhY3Qgc2FtZSB0eXBlXG4gICAgICAgIFZ1ZVt0eXBlXSA9IGZ1bmN0aW9uIChpZCwgZGVmaW5pdGlvbikge1xuICAgICAgICAgICAgaWYgKCFkZWZpbml0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1t0eXBlICsgJ3MnXVtpZF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB0eXBlID09PSAnY29tcG9uZW50Jykge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZUNvbXBvbmVudE5hbWUoaWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2NvbXBvbmVudCcgJiYgaXNQbGFpbk9iamVjdChkZWZpbml0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24ubmFtZSA9IGRlZmluaXRpb24ubmFtZSB8fCBpZDtcbiAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbiA9IHRoaXMub3B0aW9ucy5fYmFzZS5leHRlbmQoZGVmaW5pdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAnZGlyZWN0aXZlJyAmJiBpc0Z1bmN0aW9uKGRlZmluaXRpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24gPSB7IGJpbmQ6IGRlZmluaXRpb24sIHVwZGF0ZTogZGVmaW5pdGlvbiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNbdHlwZSArICdzJ11baWRdID0gZGVmaW5pdGlvbjtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVmaW5pdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gX2dldENvbXBvbmVudE5hbWUob3B0cykge1xuICAgIHJldHVybiBvcHRzICYmIChnZXRDb21wb25lbnROYW1lKG9wdHMuQ3Rvci5vcHRpb25zKSB8fCBvcHRzLnRhZyk7XG59XG5mdW5jdGlvbiBtYXRjaGVzKHBhdHRlcm4sIG5hbWUpIHtcbiAgICBpZiAoaXNBcnJheShwYXR0ZXJuKSkge1xuICAgICAgICByZXR1cm4gcGF0dGVybi5pbmRleE9mKG5hbWUpID4gLTE7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBwYXR0ZXJuID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gcGF0dGVybi5zcGxpdCgnLCcpLmluZGV4T2YobmFtZSkgPiAtMTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNSZWdFeHAocGF0dGVybikpIHtcbiAgICAgICAgcmV0dXJuIHBhdHRlcm4udGVzdChuYW1lKTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBwcnVuZUNhY2hlKGtlZXBBbGl2ZUluc3RhbmNlLCBmaWx0ZXIpIHtcbiAgICB2YXIgY2FjaGUgPSBrZWVwQWxpdmVJbnN0YW5jZS5jYWNoZSwga2V5cyA9IGtlZXBBbGl2ZUluc3RhbmNlLmtleXMsIF92bm9kZSA9IGtlZXBBbGl2ZUluc3RhbmNlLl92bm9kZTtcbiAgICBmb3IgKHZhciBrZXkgaW4gY2FjaGUpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gY2FjaGVba2V5XTtcbiAgICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgICAgICB2YXIgbmFtZV8xID0gZW50cnkubmFtZTtcbiAgICAgICAgICAgIGlmIChuYW1lXzEgJiYgIWZpbHRlcihuYW1lXzEpKSB7XG4gICAgICAgICAgICAgICAgcHJ1bmVDYWNoZUVudHJ5KGNhY2hlLCBrZXksIGtleXMsIF92bm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBwcnVuZUNhY2hlRW50cnkoY2FjaGUsIGtleSwga2V5cywgY3VycmVudCkge1xuICAgIHZhciBlbnRyeSA9IGNhY2hlW2tleV07XG4gICAgaWYgKGVudHJ5ICYmICghY3VycmVudCB8fCBlbnRyeS50YWcgIT09IGN1cnJlbnQudGFnKSkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGNhbiBiZSB1bmRlZmluZWRcbiAgICAgICAgZW50cnkuY29tcG9uZW50SW5zdGFuY2UuJGRlc3Ryb3koKTtcbiAgICB9XG4gICAgY2FjaGVba2V5XSA9IG51bGw7XG4gICAgcmVtb3ZlJDIoa2V5cywga2V5KTtcbn1cbnZhciBwYXR0ZXJuVHlwZXMgPSBbU3RyaW5nLCBSZWdFeHAsIEFycmF5XTtcbi8vIFRPRE8gZGVmaW5lQ29tcG9uZW50XG52YXIgS2VlcEFsaXZlID0ge1xuICAgIG5hbWU6ICdrZWVwLWFsaXZlJyxcbiAgICBhYnN0cmFjdDogdHJ1ZSxcbiAgICBwcm9wczoge1xuICAgICAgICBpbmNsdWRlOiBwYXR0ZXJuVHlwZXMsXG4gICAgICAgIGV4Y2x1ZGU6IHBhdHRlcm5UeXBlcyxcbiAgICAgICAgbWF4OiBbU3RyaW5nLCBOdW1iZXJdXG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGNhY2hlVk5vZGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IHRoaXMsIGNhY2hlID0gX2EuY2FjaGUsIGtleXMgPSBfYS5rZXlzLCB2bm9kZVRvQ2FjaGUgPSBfYS52bm9kZVRvQ2FjaGUsIGtleVRvQ2FjaGUgPSBfYS5rZXlUb0NhY2hlO1xuICAgICAgICAgICAgaWYgKHZub2RlVG9DYWNoZSkge1xuICAgICAgICAgICAgICAgIHZhciB0YWcgPSB2bm9kZVRvQ2FjaGUudGFnLCBjb21wb25lbnRJbnN0YW5jZSA9IHZub2RlVG9DYWNoZS5jb21wb25lbnRJbnN0YW5jZSwgY29tcG9uZW50T3B0aW9ucyA9IHZub2RlVG9DYWNoZS5jb21wb25lbnRPcHRpb25zO1xuICAgICAgICAgICAgICAgIGNhY2hlW2tleVRvQ2FjaGVdID0ge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBfZ2V0Q29tcG9uZW50TmFtZShjb21wb25lbnRPcHRpb25zKSxcbiAgICAgICAgICAgICAgICAgICAgdGFnOiB0YWcsXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlOiBjb21wb25lbnRJbnN0YW5jZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKGtleVRvQ2FjaGUpO1xuICAgICAgICAgICAgICAgIC8vIHBydW5lIG9sZGVzdCBlbnRyeVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1heCAmJiBrZXlzLmxlbmd0aCA+IHBhcnNlSW50KHRoaXMubWF4KSkge1xuICAgICAgICAgICAgICAgICAgICBwcnVuZUNhY2hlRW50cnkoY2FjaGUsIGtleXNbMF0sIGtleXMsIHRoaXMuX3Zub2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy52bm9kZVRvQ2FjaGUgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBjcmVhdGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICB0aGlzLmtleXMgPSBbXTtcbiAgICB9LFxuICAgIGRlc3Ryb3llZDogZnVuY3Rpb24gKCkge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gdGhpcy5jYWNoZSkge1xuICAgICAgICAgICAgcHJ1bmVDYWNoZUVudHJ5KHRoaXMuY2FjaGUsIGtleSwgdGhpcy5rZXlzKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB0aGlzLmNhY2hlVk5vZGUoKTtcbiAgICAgICAgdGhpcy4kd2F0Y2goJ2luY2x1ZGUnLCBmdW5jdGlvbiAodmFsKSB7XG4gICAgICAgICAgICBwcnVuZUNhY2hlKF90aGlzLCBmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gbWF0Y2hlcyh2YWwsIG5hbWUpOyB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuJHdhdGNoKCdleGNsdWRlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgICAgcHJ1bmVDYWNoZShfdGhpcywgZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuICFtYXRjaGVzKHZhbCwgbmFtZSk7IH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIHVwZGF0ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5jYWNoZVZOb2RlKCk7XG4gICAgfSxcbiAgICByZW5kZXI6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHNsb3QgPSB0aGlzLiRzbG90cy5kZWZhdWx0O1xuICAgICAgICB2YXIgdm5vZGUgPSBnZXRGaXJzdENvbXBvbmVudENoaWxkKHNsb3QpO1xuICAgICAgICB2YXIgY29tcG9uZW50T3B0aW9ucyA9IHZub2RlICYmIHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gICAgICAgIGlmIChjb21wb25lbnRPcHRpb25zKSB7XG4gICAgICAgICAgICAvLyBjaGVjayBwYXR0ZXJuXG4gICAgICAgICAgICB2YXIgbmFtZV8yID0gX2dldENvbXBvbmVudE5hbWUoY29tcG9uZW50T3B0aW9ucyk7XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLCBpbmNsdWRlID0gX2EuaW5jbHVkZSwgZXhjbHVkZSA9IF9hLmV4Y2x1ZGU7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAvLyBub3QgaW5jbHVkZWRcbiAgICAgICAgICAgIChpbmNsdWRlICYmICghbmFtZV8yIHx8ICFtYXRjaGVzKGluY2x1ZGUsIG5hbWVfMikpKSB8fFxuICAgICAgICAgICAgICAgIC8vIGV4Y2x1ZGVkXG4gICAgICAgICAgICAgICAgKGV4Y2x1ZGUgJiYgbmFtZV8yICYmIG1hdGNoZXMoZXhjbHVkZSwgbmFtZV8yKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdm5vZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgX2IgPSB0aGlzLCBjYWNoZSA9IF9iLmNhY2hlLCBrZXlzID0gX2Iua2V5cztcbiAgICAgICAgICAgIHZhciBrZXkgPSB2bm9kZS5rZXkgPT0gbnVsbFxuICAgICAgICAgICAgICAgID8gLy8gc2FtZSBjb25zdHJ1Y3RvciBtYXkgZ2V0IHJlZ2lzdGVyZWQgYXMgZGlmZmVyZW50IGxvY2FsIGNvbXBvbmVudHNcbiAgICAgICAgICAgICAgICAgICAgLy8gc28gY2lkIGFsb25lIGlzIG5vdCBlbm91Z2ggKCMzMjY5KVxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRPcHRpb25zLkN0b3IuY2lkICtcbiAgICAgICAgICAgICAgICAgICAgICAgIChjb21wb25lbnRPcHRpb25zLnRhZyA/IFwiOjpcIi5jb25jYXQoY29tcG9uZW50T3B0aW9ucy50YWcpIDogJycpXG4gICAgICAgICAgICAgICAgOiB2bm9kZS5rZXk7XG4gICAgICAgICAgICBpZiAoY2FjaGVba2V5XSkge1xuICAgICAgICAgICAgICAgIHZub2RlLmNvbXBvbmVudEluc3RhbmNlID0gY2FjaGVba2V5XS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgICAgICAgICAgICAvLyBtYWtlIGN1cnJlbnQga2V5IGZyZXNoZXN0XG4gICAgICAgICAgICAgICAgcmVtb3ZlJDIoa2V5cywga2V5KTtcbiAgICAgICAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGRlbGF5IHNldHRpbmcgdGhlIGNhY2hlIHVudGlsIHVwZGF0ZVxuICAgICAgICAgICAgICAgIHRoaXMudm5vZGVUb0NhY2hlID0gdm5vZGU7XG4gICAgICAgICAgICAgICAgdGhpcy5rZXlUb0NhY2hlID0ga2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjYW4gdm5vZGUuZGF0YSBjYW4gYmUgdW5kZWZpbmVkXG4gICAgICAgICAgICB2bm9kZS5kYXRhLmtlZXBBbGl2ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZub2RlIHx8IChzbG90ICYmIHNsb3RbMF0pO1xuICAgIH1cbn07XG5cbnZhciBidWlsdEluQ29tcG9uZW50cyA9IHtcbiAgICBLZWVwQWxpdmU6IEtlZXBBbGl2ZVxufTtcblxuZnVuY3Rpb24gaW5pdEdsb2JhbEFQSShWdWUpIHtcbiAgICAvLyBjb25maWdcbiAgICB2YXIgY29uZmlnRGVmID0ge307XG4gICAgY29uZmlnRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbmZpZzsgfTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBjb25maWdEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgd2FybiQyKCdEbyBub3QgcmVwbGFjZSB0aGUgVnVlLmNvbmZpZyBvYmplY3QsIHNldCBpbmRpdmlkdWFsIGZpZWxkcyBpbnN0ZWFkLicpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLCAnY29uZmlnJywgY29uZmlnRGVmKTtcbiAgICAvLyBleHBvc2VkIHV0aWwgbWV0aG9kcy5cbiAgICAvLyBOT1RFOiB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgcHVibGljIEFQSSAtIGF2b2lkIHJlbHlpbmcgb25cbiAgICAvLyB0aGVtIHVubGVzcyB5b3UgYXJlIGF3YXJlIG9mIHRoZSByaXNrLlxuICAgIFZ1ZS51dGlsID0ge1xuICAgICAgICB3YXJuOiB3YXJuJDIsXG4gICAgICAgIGV4dGVuZDogZXh0ZW5kLFxuICAgICAgICBtZXJnZU9wdGlvbnM6IG1lcmdlT3B0aW9ucyxcbiAgICAgICAgZGVmaW5lUmVhY3RpdmU6IGRlZmluZVJlYWN0aXZlXG4gICAgfTtcbiAgICBWdWUuc2V0ID0gc2V0O1xuICAgIFZ1ZS5kZWxldGUgPSBkZWw7XG4gICAgVnVlLm5leHRUaWNrID0gbmV4dFRpY2s7XG4gICAgLy8gMi42IGV4cGxpY2l0IG9ic2VydmFibGUgQVBJXG4gICAgVnVlLm9ic2VydmFibGUgPSBmdW5jdGlvbiAob2JqKSB7XG4gICAgICAgIG9ic2VydmUob2JqKTtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9O1xuICAgIFZ1ZS5vcHRpb25zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBBU1NFVF9UWVBFUy5mb3JFYWNoKGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgICAgIFZ1ZS5vcHRpb25zW3R5cGUgKyAncyddID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB9KTtcbiAgICAvLyB0aGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIFwiYmFzZVwiIGNvbnN0cnVjdG9yIHRvIGV4dGVuZCBhbGwgcGxhaW4tb2JqZWN0XG4gICAgLy8gY29tcG9uZW50cyB3aXRoIGluIFdlZXgncyBtdWx0aS1pbnN0YW5jZSBzY2VuYXJpb3MuXG4gICAgVnVlLm9wdGlvbnMuX2Jhc2UgPSBWdWU7XG4gICAgZXh0ZW5kKFZ1ZS5vcHRpb25zLmNvbXBvbmVudHMsIGJ1aWx0SW5Db21wb25lbnRzKTtcbiAgICBpbml0VXNlKFZ1ZSk7XG4gICAgaW5pdE1peGluKFZ1ZSk7XG4gICAgaW5pdEV4dGVuZChWdWUpO1xuICAgIGluaXRBc3NldFJlZ2lzdGVycyhWdWUpO1xufVxuXG5pbml0R2xvYmFsQVBJKFZ1ZSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgJyRpc1NlcnZlcicsIHtcbiAgICBnZXQ6IGlzU2VydmVyUmVuZGVyaW5nXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJHNzckNvbnRleHQnLCB7XG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVybiB0aGlzLiR2bm9kZSAmJiB0aGlzLiR2bm9kZS5zc3JDb250ZXh0O1xuICAgIH1cbn0pO1xuLy8gZXhwb3NlIEZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0IGZvciBzc3IgcnVudGltZSBoZWxwZXIgaW5zdGFsbGF0aW9uXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLCAnRnVuY3Rpb25hbFJlbmRlckNvbnRleHQnLCB7XG4gICAgdmFsdWU6IEZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0XG59KTtcblZ1ZS52ZXJzaW9uID0gdmVyc2lvbjtcblxuLy8gdGhlc2UgYXJlIHJlc2VydmVkIGZvciB3ZWIgYmVjYXVzZSB0aGV5IGFyZSBkaXJlY3RseSBjb21waWxlZCBhd2F5XG4vLyBkdXJpbmcgdGVtcGxhdGUgY29tcGlsYXRpb25cbnZhciBpc1Jlc2VydmVkQXR0ciA9IG1ha2VNYXAoJ3N0eWxlLGNsYXNzJyk7XG4vLyBhdHRyaWJ1dGVzIHRoYXQgc2hvdWxkIGJlIHVzaW5nIHByb3BzIGZvciBiaW5kaW5nXG52YXIgYWNjZXB0VmFsdWUgPSBtYWtlTWFwKCdpbnB1dCx0ZXh0YXJlYSxvcHRpb24sc2VsZWN0LHByb2dyZXNzJyk7XG52YXIgbXVzdFVzZVByb3AgPSBmdW5jdGlvbiAodGFnLCB0eXBlLCBhdHRyKSB7XG4gICAgcmV0dXJuICgoYXR0ciA9PT0gJ3ZhbHVlJyAmJiBhY2NlcHRWYWx1ZSh0YWcpICYmIHR5cGUgIT09ICdidXR0b24nKSB8fFxuICAgICAgICAoYXR0ciA9PT0gJ3NlbGVjdGVkJyAmJiB0YWcgPT09ICdvcHRpb24nKSB8fFxuICAgICAgICAoYXR0ciA9PT0gJ2NoZWNrZWQnICYmIHRhZyA9PT0gJ2lucHV0JykgfHxcbiAgICAgICAgKGF0dHIgPT09ICdtdXRlZCcgJiYgdGFnID09PSAndmlkZW8nKSk7XG59O1xudmFyIGlzRW51bWVyYXRlZEF0dHIgPSBtYWtlTWFwKCdjb250ZW50ZWRpdGFibGUsZHJhZ2dhYmxlLHNwZWxsY2hlY2snKTtcbnZhciBpc1ZhbGlkQ29udGVudEVkaXRhYmxlVmFsdWUgPSBtYWtlTWFwKCdldmVudHMsY2FyZXQsdHlwaW5nLHBsYWludGV4dC1vbmx5Jyk7XG52YXIgY29udmVydEVudW1lcmF0ZWRWYWx1ZSA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gICAgcmV0dXJuIGlzRmFsc3lBdHRyVmFsdWUodmFsdWUpIHx8IHZhbHVlID09PSAnZmFsc2UnXG4gICAgICAgID8gJ2ZhbHNlJ1xuICAgICAgICA6IC8vIGFsbG93IGFyYml0cmFyeSBzdHJpbmcgdmFsdWUgZm9yIGNvbnRlbnRlZGl0YWJsZVxuICAgICAgICAgICAga2V5ID09PSAnY29udGVudGVkaXRhYmxlJyAmJiBpc1ZhbGlkQ29udGVudEVkaXRhYmxlVmFsdWUodmFsdWUpXG4gICAgICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgIDogJ3RydWUnO1xufTtcbnZhciBpc0Jvb2xlYW5BdHRyID0gbWFrZU1hcCgnYWxsb3dmdWxsc2NyZWVuLGFzeW5jLGF1dG9mb2N1cyxhdXRvcGxheSxjaGVja2VkLGNvbXBhY3QsY29udHJvbHMsZGVjbGFyZSwnICtcbiAgICAnZGVmYXVsdCxkZWZhdWx0Y2hlY2tlZCxkZWZhdWx0bXV0ZWQsZGVmYXVsdHNlbGVjdGVkLGRlZmVyLGRpc2FibGVkLCcgK1xuICAgICdlbmFibGVkLGZvcm1ub3ZhbGlkYXRlLGhpZGRlbixpbmRldGVybWluYXRlLGluZXJ0LGlzbWFwLGl0ZW1zY29wZSxsb29wLG11bHRpcGxlLCcgK1xuICAgICdtdXRlZCxub2hyZWYsbm9yZXNpemUsbm9zaGFkZSxub3ZhbGlkYXRlLG5vd3JhcCxvcGVuLHBhdXNlb25leGl0LHJlYWRvbmx5LCcgK1xuICAgICdyZXF1aXJlZCxyZXZlcnNlZCxzY29wZWQsc2VhbWxlc3Msc2VsZWN0ZWQsc29ydGFibGUsJyArXG4gICAgJ3RydWVzcGVlZCx0eXBlbXVzdG1hdGNoLHZpc2libGUnKTtcbnZhciB4bGlua05TID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnO1xudmFyIGlzWGxpbmsgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIHJldHVybiBuYW1lLmNoYXJBdCg1KSA9PT0gJzonICYmIG5hbWUuc2xpY2UoMCwgNSkgPT09ICd4bGluayc7XG59O1xudmFyIGdldFhsaW5rUHJvcCA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgcmV0dXJuIGlzWGxpbmsobmFtZSkgPyBuYW1lLnNsaWNlKDYsIG5hbWUubGVuZ3RoKSA6ICcnO1xufTtcbnZhciBpc0ZhbHN5QXR0clZhbHVlID0gZnVuY3Rpb24gKHZhbCkge1xuICAgIHJldHVybiB2YWwgPT0gbnVsbCB8fCB2YWwgPT09IGZhbHNlO1xufTtcblxuZnVuY3Rpb24gZ2VuQ2xhc3NGb3JWbm9kZSh2bm9kZSkge1xuICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICB2YXIgcGFyZW50Tm9kZSA9IHZub2RlO1xuICAgIHZhciBjaGlsZE5vZGUgPSB2bm9kZTtcbiAgICB3aGlsZSAoaXNEZWYoY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgICAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO1xuICAgICAgICBpZiAoY2hpbGROb2RlICYmIGNoaWxkTm9kZS5kYXRhKSB7XG4gICAgICAgICAgICBkYXRhID0gbWVyZ2VDbGFzc0RhdGEoY2hpbGROb2RlLmRhdGEsIGRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGFyZW50Tm9kZS5wYXJlbnQgbm90IFZOb2RlV2l0aERhdGFcbiAgICB3aGlsZSAoaXNEZWYoKHBhcmVudE5vZGUgPSBwYXJlbnROb2RlLnBhcmVudCkpKSB7XG4gICAgICAgIGlmIChwYXJlbnROb2RlICYmIHBhcmVudE5vZGUuZGF0YSkge1xuICAgICAgICAgICAgZGF0YSA9IG1lcmdlQ2xhc3NEYXRhKGRhdGEsIHBhcmVudE5vZGUuZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlbmRlckNsYXNzKGRhdGEuc3RhdGljQ2xhc3MsIGRhdGEuY2xhc3MpO1xufVxuZnVuY3Rpb24gbWVyZ2VDbGFzc0RhdGEoY2hpbGQsIHBhcmVudCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YXRpY0NsYXNzOiBjb25jYXQoY2hpbGQuc3RhdGljQ2xhc3MsIHBhcmVudC5zdGF0aWNDbGFzcyksXG4gICAgICAgIGNsYXNzOiBpc0RlZihjaGlsZC5jbGFzcykgPyBbY2hpbGQuY2xhc3MsIHBhcmVudC5jbGFzc10gOiBwYXJlbnQuY2xhc3NcbiAgICB9O1xufVxuZnVuY3Rpb24gcmVuZGVyQ2xhc3Moc3RhdGljQ2xhc3MsIGR5bmFtaWNDbGFzcykge1xuICAgIGlmIChpc0RlZihzdGF0aWNDbGFzcykgfHwgaXNEZWYoZHluYW1pY0NsYXNzKSkge1xuICAgICAgICByZXR1cm4gY29uY2F0KHN0YXRpY0NsYXNzLCBzdHJpbmdpZnlDbGFzcyhkeW5hbWljQ2xhc3MpKTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gJyc7XG59XG5mdW5jdGlvbiBjb25jYXQoYSwgYikge1xuICAgIHJldHVybiBhID8gKGIgPyBhICsgJyAnICsgYiA6IGEpIDogYiB8fCAnJztcbn1cbmZ1bmN0aW9uIHN0cmluZ2lmeUNsYXNzKHZhbHVlKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmdpZnlBcnJheSh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeU9iamVjdCh2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gJyc7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlBcnJheSh2YWx1ZSkge1xuICAgIHZhciByZXMgPSAnJztcbiAgICB2YXIgc3RyaW5naWZpZWQ7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKGlzRGVmKChzdHJpbmdpZmllZCA9IHN0cmluZ2lmeUNsYXNzKHZhbHVlW2ldKSkpICYmIHN0cmluZ2lmaWVkICE9PSAnJykge1xuICAgICAgICAgICAgaWYgKHJlcylcbiAgICAgICAgICAgICAgICByZXMgKz0gJyAnO1xuICAgICAgICAgICAgcmVzICs9IHN0cmluZ2lmaWVkO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlPYmplY3QodmFsdWUpIHtcbiAgICB2YXIgcmVzID0gJyc7XG4gICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIGlmICh2YWx1ZVtrZXldKSB7XG4gICAgICAgICAgICBpZiAocmVzKVxuICAgICAgICAgICAgICAgIHJlcyArPSAnICc7XG4gICAgICAgICAgICByZXMgKz0ga2V5O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5cbnZhciBuYW1lc3BhY2VNYXAgPSB7XG4gICAgc3ZnOiAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLFxuICAgIG1hdGg6ICdodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MJ1xufTtcbnZhciBpc0hUTUxUYWcgPSBtYWtlTWFwKCdodG1sLGJvZHksYmFzZSxoZWFkLGxpbmssbWV0YSxzdHlsZSx0aXRsZSwnICtcbiAgICAnYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLG5hdixzZWN0aW9uLCcgK1xuICAgICdkaXYsZGQsZGwsZHQsZmlnY2FwdGlvbixmaWd1cmUscGljdHVyZSxocixpbWcsbGksbWFpbixvbCxwLHByZSx1bCwnICtcbiAgICAnYSxiLGFiYnIsYmRpLGJkbyxicixjaXRlLGNvZGUsZGF0YSxkZm4sZW0saSxrYmQsbWFyayxxLHJwLHJ0LHJ0YyxydWJ5LCcgK1xuICAgICdzLHNhbXAsc21hbGwsc3BhbixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVhLGF1ZGlvLG1hcCx0cmFjayx2aWRlbywnICtcbiAgICAnZW1iZWQsb2JqZWN0LHBhcmFtLHNvdXJjZSxjYW52YXMsc2NyaXB0LG5vc2NyaXB0LGRlbCxpbnMsJyArXG4gICAgJ2NhcHRpb24sY29sLGNvbGdyb3VwLHRhYmxlLHRoZWFkLHRib2R5LHRkLHRoLHRyLCcgK1xuICAgICdidXR0b24sZGF0YWxpc3QsZmllbGRzZXQsZm9ybSxpbnB1dCxsYWJlbCxsZWdlbmQsbWV0ZXIsb3B0Z3JvdXAsb3B0aW9uLCcgK1xuICAgICdvdXRwdXQscHJvZ3Jlc3Msc2VsZWN0LHRleHRhcmVhLCcgK1xuICAgICdkZXRhaWxzLGRpYWxvZyxtZW51LG1lbnVpdGVtLHN1bW1hcnksJyArXG4gICAgJ2NvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVtcGxhdGUsYmxvY2txdW90ZSxpZnJhbWUsdGZvb3QnKTtcbi8vIHRoaXMgbWFwIGlzIGludGVudGlvbmFsbHkgc2VsZWN0aXZlLCBvbmx5IGNvdmVyaW5nIFNWRyBlbGVtZW50cyB0aGF0IG1heVxuLy8gY29udGFpbiBjaGlsZCBlbGVtZW50cy5cbnZhciBpc1NWRyA9IG1ha2VNYXAoJ3N2ZyxhbmltYXRlLGNpcmNsZSxjbGlwcGF0aCxjdXJzb3IsZGVmcyxkZXNjLGVsbGlwc2UsZmlsdGVyLGZvbnQtZmFjZSwnICtcbiAgICAnZm9yZWlnbm9iamVjdCxnLGdseXBoLGltYWdlLGxpbmUsbWFya2VyLG1hc2ssbWlzc2luZy1nbHlwaCxwYXRoLHBhdHRlcm4sJyArXG4gICAgJ3BvbHlnb24scG9seWxpbmUscmVjdCxzd2l0Y2gsc3ltYm9sLHRleHQsdGV4dHBhdGgsdHNwYW4sdXNlLHZpZXcnLCB0cnVlKTtcbnZhciBpc1ByZVRhZyA9IGZ1bmN0aW9uICh0YWcpIHsgcmV0dXJuIHRhZyA9PT0gJ3ByZSc7IH07XG52YXIgaXNSZXNlcnZlZFRhZyA9IGZ1bmN0aW9uICh0YWcpIHtcbiAgICByZXR1cm4gaXNIVE1MVGFnKHRhZykgfHwgaXNTVkcodGFnKTtcbn07XG5mdW5jdGlvbiBnZXRUYWdOYW1lc3BhY2UodGFnKSB7XG4gICAgaWYgKGlzU1ZHKHRhZykpIHtcbiAgICAgICAgcmV0dXJuICdzdmcnO1xuICAgIH1cbiAgICAvLyBiYXNpYyBzdXBwb3J0IGZvciBNYXRoTUxcbiAgICAvLyBub3RlIGl0IGRvZXNuJ3Qgc3VwcG9ydCBvdGhlciBNYXRoTUwgZWxlbWVudHMgYmVpbmcgY29tcG9uZW50IHJvb3RzXG4gICAgaWYgKHRhZyA9PT0gJ21hdGgnKSB7XG4gICAgICAgIHJldHVybiAnbWF0aCc7XG4gICAgfVxufVxudmFyIHVua25vd25FbGVtZW50Q2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuZnVuY3Rpb24gaXNVbmtub3duRWxlbWVudCh0YWcpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWluQnJvd3Nlcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRhZyA9IHRhZy50b0xvd2VyQ2FzZSgpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICh1bmtub3duRWxlbWVudENhY2hlW3RhZ10gIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5rbm93bkVsZW1lbnRDYWNoZVt0YWddO1xuICAgIH1cbiAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7XG4gICAgaWYgKHRhZy5pbmRleE9mKCctJykgPiAtMSkge1xuICAgICAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yODIxMDM2NC8xMDcwMjQ0XG4gICAgICAgIHJldHVybiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddID1cbiAgICAgICAgICAgIGVsLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuSFRNTFVua25vd25FbGVtZW50IHx8XG4gICAgICAgICAgICAgICAgZWwuY29uc3RydWN0b3IgPT09IHdpbmRvdy5IVE1MRWxlbWVudCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gKHVua25vd25FbGVtZW50Q2FjaGVbdGFnXSA9IC9IVE1MVW5rbm93bkVsZW1lbnQvLnRlc3QoZWwudG9TdHJpbmcoKSkpO1xuICAgIH1cbn1cbnZhciBpc1RleHRJbnB1dFR5cGUgPSBtYWtlTWFwKCd0ZXh0LG51bWJlcixwYXNzd29yZCxzZWFyY2gsZW1haWwsdGVsLHVybCcpO1xuXG4vKipcbiAqIFF1ZXJ5IGFuIGVsZW1lbnQgc2VsZWN0b3IgaWYgaXQncyBub3QgYW4gZWxlbWVudCBhbHJlYWR5LlxuICovXG5mdW5jdGlvbiBxdWVyeShlbCkge1xuICAgIGlmICh0eXBlb2YgZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHZhciBzZWxlY3RlZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZWwpO1xuICAgICAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4kMignQ2Fubm90IGZpbmQgZWxlbWVudDogJyArIGVsKTtcbiAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZWw7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHRhZ05hbWUsIHZub2RlKSB7XG4gICAgdmFyIGVsbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG4gICAgaWYgKHRhZ05hbWUgIT09ICdzZWxlY3QnKSB7XG4gICAgICAgIHJldHVybiBlbG07XG4gICAgfVxuICAgIC8vIGZhbHNlIG9yIG51bGwgd2lsbCByZW1vdmUgdGhlIGF0dHJpYnV0ZSBidXQgdW5kZWZpbmVkIHdpbGwgbm90XG4gICAgaWYgKHZub2RlLmRhdGEgJiZcbiAgICAgICAgdm5vZGUuZGF0YS5hdHRycyAmJlxuICAgICAgICB2bm9kZS5kYXRhLmF0dHJzLm11bHRpcGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZWxtLnNldEF0dHJpYnV0ZSgnbXVsdGlwbGUnLCAnbXVsdGlwbGUnKTtcbiAgICB9XG4gICAgcmV0dXJuIGVsbTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2UsIHRhZ05hbWUpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZU1hcFtuYW1lc3BhY2VdLCB0YWdOYW1lKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVRleHROb2RlKHRleHQpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dCk7XG59XG5mdW5jdGlvbiBjcmVhdGVDb21tZW50KHRleHQpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0ZXh0KTtcbn1cbmZ1bmN0aW9uIGluc2VydEJlZm9yZShwYXJlbnROb2RlLCBuZXdOb2RlLCByZWZlcmVuY2VOb2RlKSB7XG4gICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobmV3Tm9kZSwgcmVmZXJlbmNlTm9kZSk7XG59XG5mdW5jdGlvbiByZW1vdmVDaGlsZChub2RlLCBjaGlsZCkge1xuICAgIG5vZGUucmVtb3ZlQ2hpbGQoY2hpbGQpO1xufVxuZnVuY3Rpb24gYXBwZW5kQ2hpbGQobm9kZSwgY2hpbGQpIHtcbiAgICBub2RlLmFwcGVuZENoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIHBhcmVudE5vZGUobm9kZSkge1xuICAgIHJldHVybiBub2RlLnBhcmVudE5vZGU7XG59XG5mdW5jdGlvbiBuZXh0U2libGluZyhub2RlKSB7XG4gICAgcmV0dXJuIG5vZGUubmV4dFNpYmxpbmc7XG59XG5mdW5jdGlvbiB0YWdOYW1lKG5vZGUpIHtcbiAgICByZXR1cm4gbm9kZS50YWdOYW1lO1xufVxuZnVuY3Rpb24gc2V0VGV4dENvbnRlbnQobm9kZSwgdGV4dCkge1xuICAgIG5vZGUudGV4dENvbnRlbnQgPSB0ZXh0O1xufVxuZnVuY3Rpb24gc2V0U3R5bGVTY29wZShub2RlLCBzY29wZUlkKSB7XG4gICAgbm9kZS5zZXRBdHRyaWJ1dGUoc2NvcGVJZCwgJycpO1xufVxuXG52YXIgbm9kZU9wcyA9IC8qI19fUFVSRV9fKi9PYmplY3QuZnJlZXplKHtcbiAgX19wcm90b19fOiBudWxsLFxuICBjcmVhdGVFbGVtZW50OiBjcmVhdGVFbGVtZW50LFxuICBjcmVhdGVFbGVtZW50TlM6IGNyZWF0ZUVsZW1lbnROUyxcbiAgY3JlYXRlVGV4dE5vZGU6IGNyZWF0ZVRleHROb2RlLFxuICBjcmVhdGVDb21tZW50OiBjcmVhdGVDb21tZW50LFxuICBpbnNlcnRCZWZvcmU6IGluc2VydEJlZm9yZSxcbiAgcmVtb3ZlQ2hpbGQ6IHJlbW92ZUNoaWxkLFxuICBhcHBlbmRDaGlsZDogYXBwZW5kQ2hpbGQsXG4gIHBhcmVudE5vZGU6IHBhcmVudE5vZGUsXG4gIG5leHRTaWJsaW5nOiBuZXh0U2libGluZyxcbiAgdGFnTmFtZTogdGFnTmFtZSxcbiAgc2V0VGV4dENvbnRlbnQ6IHNldFRleHRDb250ZW50LFxuICBzZXRTdHlsZVNjb3BlOiBzZXRTdHlsZVNjb3BlXG59KTtcblxudmFyIHJlZiA9IHtcbiAgICBjcmVhdGU6IGZ1bmN0aW9uIChfLCB2bm9kZSkge1xuICAgICAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gICAgfSxcbiAgICB1cGRhdGU6IGZ1bmN0aW9uIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICAgICAgaWYgKG9sZFZub2RlLmRhdGEucmVmICE9PSB2bm9kZS5kYXRhLnJlZikge1xuICAgICAgICAgICAgcmVnaXN0ZXJSZWYob2xkVm5vZGUsIHRydWUpO1xuICAgICAgICAgICAgcmVnaXN0ZXJSZWYodm5vZGUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkZXN0cm95OiBmdW5jdGlvbiAodm5vZGUpIHtcbiAgICAgICAgcmVnaXN0ZXJSZWYodm5vZGUsIHRydWUpO1xuICAgIH1cbn07XG5mdW5jdGlvbiByZWdpc3RlclJlZih2bm9kZSwgaXNSZW1vdmFsKSB7XG4gICAgdmFyIHJlZiA9IHZub2RlLmRhdGEucmVmO1xuICAgIGlmICghaXNEZWYocmVmKSlcbiAgICAgICAgcmV0dXJuO1xuICAgIHZhciB2bSA9IHZub2RlLmNvbnRleHQ7XG4gICAgdmFyIHJlZlZhbHVlID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgfHwgdm5vZGUuZWxtO1xuICAgIHZhciB2YWx1ZSA9IGlzUmVtb3ZhbCA/IG51bGwgOiByZWZWYWx1ZTtcbiAgICB2YXIgJHJlZnNWYWx1ZSA9IGlzUmVtb3ZhbCA/IHVuZGVmaW5lZCA6IHJlZlZhbHVlO1xuICAgIGlmIChpc0Z1bmN0aW9uKHJlZikpIHtcbiAgICAgICAgaW52b2tlV2l0aEVycm9ySGFuZGxpbmcocmVmLCB2bSwgW3ZhbHVlXSwgdm0sIFwidGVtcGxhdGUgcmVmIGZ1bmN0aW9uXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBpc0ZvciA9IHZub2RlLmRhdGEucmVmSW5Gb3I7XG4gICAgdmFyIF9pc1N0cmluZyA9IHR5cGVvZiByZWYgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiByZWYgPT09ICdudW1iZXInO1xuICAgIHZhciBfaXNSZWYgPSBpc1JlZihyZWYpO1xuICAgIHZhciByZWZzID0gdm0uJHJlZnM7XG4gICAgaWYgKF9pc1N0cmluZyB8fCBfaXNSZWYpIHtcbiAgICAgICAgaWYgKGlzRm9yKSB7XG4gICAgICAgICAgICB2YXIgZXhpc3RpbmcgPSBfaXNTdHJpbmcgPyByZWZzW3JlZl0gOiByZWYudmFsdWU7XG4gICAgICAgICAgICBpZiAoaXNSZW1vdmFsKSB7XG4gICAgICAgICAgICAgICAgaXNBcnJheShleGlzdGluZykgJiYgcmVtb3ZlJDIoZXhpc3RpbmcsIHJlZlZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghaXNBcnJheShleGlzdGluZykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKF9pc1N0cmluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmc1tyZWZdID0gW3JlZlZhbHVlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNldHVwUmVmKHZtLCByZWYsIHJlZnNbcmVmXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWYudmFsdWUgPSBbcmVmVmFsdWVdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFleGlzdGluZy5pbmNsdWRlcyhyZWZWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmcucHVzaChyZWZWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKF9pc1N0cmluZykge1xuICAgICAgICAgICAgaWYgKGlzUmVtb3ZhbCAmJiByZWZzW3JlZl0gIT09IHJlZlZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVmc1tyZWZdID0gJHJlZnNWYWx1ZTtcbiAgICAgICAgICAgIHNldFNldHVwUmVmKHZtLCByZWYsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChfaXNSZWYpIHtcbiAgICAgICAgICAgIGlmIChpc1JlbW92YWwgJiYgcmVmLnZhbHVlICE9PSByZWZWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlZi52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHdhcm4kMihcIkludmFsaWQgdGVtcGxhdGUgcmVmIHR5cGU6IFwiLmNvbmNhdCh0eXBlb2YgcmVmKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBzZXRTZXR1cFJlZihfYSwga2V5LCB2YWwpIHtcbiAgICB2YXIgX3NldHVwU3RhdGUgPSBfYS5fc2V0dXBTdGF0ZTtcbiAgICBpZiAoX3NldHVwU3RhdGUgJiYgaGFzT3duKF9zZXR1cFN0YXRlLCBrZXkpKSB7XG4gICAgICAgIGlmIChpc1JlZihfc2V0dXBTdGF0ZVtrZXldKSkge1xuICAgICAgICAgICAgX3NldHVwU3RhdGVba2V5XS52YWx1ZSA9IHZhbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIF9zZXR1cFN0YXRlW2tleV0gPSB2YWw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogVmlydHVhbCBET00gcGF0Y2hpbmcgYWxnb3JpdGhtIGJhc2VkIG9uIFNuYWJiZG9tIGJ5XG4gKiBTaW1vbiBGcmlpcyBWaW5kdW0gKEBwYWxkZXBpbmQpXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxkZXBpbmQvc25hYmJkb20vYmxvYi9tYXN0ZXIvTElDRU5TRVxuICpcbiAqIG1vZGlmaWVkIGJ5IEV2YW4gWW91IChAeXl4OTkwODAzKVxuICpcbiAqIE5vdCB0eXBlLWNoZWNraW5nIHRoaXMgYmVjYXVzZSB0aGlzIGZpbGUgaXMgcGVyZi1jcml0aWNhbCBhbmQgdGhlIGNvc3RcbiAqIG9mIG1ha2luZyBmbG93IHVuZGVyc3RhbmQgaXQgaXMgbm90IHdvcnRoIGl0LlxuICovXG52YXIgZW1wdHlOb2RlID0gbmV3IFZOb2RlKCcnLCB7fSwgW10pO1xudmFyIGhvb2tzID0gWydjcmVhdGUnLCAnYWN0aXZhdGUnLCAndXBkYXRlJywgJ3JlbW92ZScsICdkZXN0cm95J107XG5mdW5jdGlvbiBzYW1lVm5vZGUoYSwgYikge1xuICAgIHJldHVybiAoYS5rZXkgPT09IGIua2V5ICYmXG4gICAgICAgIGEuYXN5bmNGYWN0b3J5ID09PSBiLmFzeW5jRmFjdG9yeSAmJlxuICAgICAgICAoKGEudGFnID09PSBiLnRhZyAmJlxuICAgICAgICAgICAgYS5pc0NvbW1lbnQgPT09IGIuaXNDb21tZW50ICYmXG4gICAgICAgICAgICBpc0RlZihhLmRhdGEpID09PSBpc0RlZihiLmRhdGEpICYmXG4gICAgICAgICAgICBzYW1lSW5wdXRUeXBlKGEsIGIpKSB8fFxuICAgICAgICAgICAgKGlzVHJ1ZShhLmlzQXN5bmNQbGFjZWhvbGRlcikgJiYgaXNVbmRlZihiLmFzeW5jRmFjdG9yeS5lcnJvcikpKSk7XG59XG5mdW5jdGlvbiBzYW1lSW5wdXRUeXBlKGEsIGIpIHtcbiAgICBpZiAoYS50YWcgIT09ICdpbnB1dCcpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIHZhciBpO1xuICAgIHZhciB0eXBlQSA9IGlzRGVmKChpID0gYS5kYXRhKSkgJiYgaXNEZWYoKGkgPSBpLmF0dHJzKSkgJiYgaS50eXBlO1xuICAgIHZhciB0eXBlQiA9IGlzRGVmKChpID0gYi5kYXRhKSkgJiYgaXNEZWYoKGkgPSBpLmF0dHJzKSkgJiYgaS50eXBlO1xuICAgIHJldHVybiB0eXBlQSA9PT0gdHlwZUIgfHwgKGlzVGV4dElucHV0VHlwZSh0eXBlQSkgJiYgaXNUZXh0SW5wdXRUeXBlKHR5cGVCKSk7XG59XG5mdW5jdGlvbiBjcmVhdGVLZXlUb09sZElkeChjaGlsZHJlbiwgYmVnaW5JZHgsIGVuZElkeCkge1xuICAgIHZhciBpLCBrZXk7XG4gICAgdmFyIG1hcCA9IHt9O1xuICAgIGZvciAoaSA9IGJlZ2luSWR4OyBpIDw9IGVuZElkeDsgKytpKSB7XG4gICAgICAgIGtleSA9IGNoaWxkcmVuW2ldLmtleTtcbiAgICAgICAgaWYgKGlzRGVmKGtleSkpXG4gICAgICAgICAgICBtYXBba2V5XSA9IGk7XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG59XG5mdW5jdGlvbiBjcmVhdGVQYXRjaEZ1bmN0aW9uKGJhY2tlbmQpIHtcbiAgICB2YXIgaSwgajtcbiAgICB2YXIgY2JzID0ge307XG4gICAgdmFyIG1vZHVsZXMgPSBiYWNrZW5kLm1vZHVsZXMsIG5vZGVPcHMgPSBiYWNrZW5kLm5vZGVPcHM7XG4gICAgZm9yIChpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNic1tob29rc1tpXV0gPSBbXTtcbiAgICAgICAgZm9yIChqID0gMDsgaiA8IG1vZHVsZXMubGVuZ3RoOyArK2opIHtcbiAgICAgICAgICAgIGlmIChpc0RlZihtb2R1bGVzW2pdW2hvb2tzW2ldXSkpIHtcbiAgICAgICAgICAgICAgICBjYnNbaG9va3NbaV1dLnB1c2gobW9kdWxlc1tqXVtob29rc1tpXV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGVtcHR5Tm9kZUF0KGVsbSkge1xuICAgICAgICByZXR1cm4gbmV3IFZOb2RlKG5vZGVPcHMudGFnTmFtZShlbG0pLnRvTG93ZXJDYXNlKCksIHt9LCBbXSwgdW5kZWZpbmVkLCBlbG0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVSbUNiKGNoaWxkRWxtLCBsaXN0ZW5lcnMpIHtcbiAgICAgICAgZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgICAgICAgICAgaWYgKC0tcmVtb3ZlLmxpc3RlbmVycyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJlbW92ZU5vZGUoY2hpbGRFbG0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlbW92ZS5saXN0ZW5lcnMgPSBsaXN0ZW5lcnM7XG4gICAgICAgIHJldHVybiByZW1vdmU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlbW92ZU5vZGUoZWwpIHtcbiAgICAgICAgdmFyIHBhcmVudCA9IG5vZGVPcHMucGFyZW50Tm9kZShlbCk7XG4gICAgICAgIC8vIGVsZW1lbnQgbWF5IGhhdmUgYWxyZWFkeSBiZWVuIHJlbW92ZWQgZHVlIHRvIHYtaHRtbCAvIHYtdGV4dFxuICAgICAgICBpZiAoaXNEZWYocGFyZW50KSkge1xuICAgICAgICAgICAgbm9kZU9wcy5yZW1vdmVDaGlsZChwYXJlbnQsIGVsKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBpc1Vua25vd25FbGVtZW50KHZub2RlLCBpblZQcmUpIHtcbiAgICAgICAgcmV0dXJuICghaW5WUHJlICYmXG4gICAgICAgICAgICAhdm5vZGUubnMgJiZcbiAgICAgICAgICAgICEoY29uZmlnLmlnbm9yZWRFbGVtZW50cy5sZW5ndGggJiZcbiAgICAgICAgICAgICAgICBjb25maWcuaWdub3JlZEVsZW1lbnRzLnNvbWUoZnVuY3Rpb24gKGlnbm9yZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXNSZWdFeHAoaWdub3JlKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpZ25vcmUudGVzdCh2bm9kZS50YWcpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlnbm9yZSA9PT0gdm5vZGUudGFnO1xuICAgICAgICAgICAgICAgIH0pKSAmJlxuICAgICAgICAgICAgY29uZmlnLmlzVW5rbm93bkVsZW1lbnQodm5vZGUudGFnKSk7XG4gICAgfVxuICAgIHZhciBjcmVhdGluZ0VsbUluVlByZSA9IDA7XG4gICAgZnVuY3Rpb24gY3JlYXRlRWxtKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtLCBuZXN0ZWQsIG93bmVyQXJyYXksIGluZGV4KSB7XG4gICAgICAgIGlmIChpc0RlZih2bm9kZS5lbG0pICYmIGlzRGVmKG93bmVyQXJyYXkpKSB7XG4gICAgICAgICAgICAvLyBUaGlzIHZub2RlIHdhcyB1c2VkIGluIGEgcHJldmlvdXMgcmVuZGVyIVxuICAgICAgICAgICAgLy8gbm93IGl0J3MgdXNlZCBhcyBhIG5ldyBub2RlLCBvdmVyd3JpdGluZyBpdHMgZWxtIHdvdWxkIGNhdXNlXG4gICAgICAgICAgICAvLyBwb3RlbnRpYWwgcGF0Y2ggZXJyb3JzIGRvd24gdGhlIHJvYWQgd2hlbiBpdCdzIHVzZWQgYXMgYW4gaW5zZXJ0aW9uXG4gICAgICAgICAgICAvLyByZWZlcmVuY2Ugbm9kZS4gSW5zdGVhZCwgd2UgY2xvbmUgdGhlIG5vZGUgb24tZGVtYW5kIGJlZm9yZSBjcmVhdGluZ1xuICAgICAgICAgICAgLy8gYXNzb2NpYXRlZCBET00gZWxlbWVudCBmb3IgaXQuXG4gICAgICAgICAgICB2bm9kZSA9IG93bmVyQXJyYXlbaW5kZXhdID0gY2xvbmVWTm9kZSh2bm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgdm5vZGUuaXNSb290SW5zZXJ0ID0gIW5lc3RlZDsgLy8gZm9yIHRyYW5zaXRpb24gZW50ZXIgY2hlY2tcbiAgICAgICAgaWYgKGNyZWF0ZUNvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgICAgIHZhciBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAgICAgICB2YXIgdGFnID0gdm5vZGUudGFnO1xuICAgICAgICBpZiAoaXNEZWYodGFnKSkge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLnByZSkge1xuICAgICAgICAgICAgICAgICAgICBjcmVhdGluZ0VsbUluVlByZSsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaXNVbmtub3duRWxlbWVudCh2bm9kZSwgY3JlYXRpbmdFbG1JblZQcmUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhcm4kMignVW5rbm93biBjdXN0b20gZWxlbWVudDogPCcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICc+IC0gZGlkIHlvdSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZWdpc3RlciB0aGUgY29tcG9uZW50IGNvcnJlY3RseT8gRm9yIHJlY3Vyc2l2ZSBjb21wb25lbnRzLCAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdtYWtlIHN1cmUgdG8gcHJvdmlkZSB0aGUgXCJuYW1lXCIgb3B0aW9uLicsIHZub2RlLmNvbnRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZub2RlLmVsbSA9IHZub2RlLm5zXG4gICAgICAgICAgICAgICAgPyBub2RlT3BzLmNyZWF0ZUVsZW1lbnROUyh2bm9kZS5ucywgdGFnKVxuICAgICAgICAgICAgICAgIDogbm9kZU9wcy5jcmVhdGVFbGVtZW50KHRhZywgdm5vZGUpO1xuICAgICAgICAgICAgc2V0U2NvcGUodm5vZGUpO1xuICAgICAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICAgICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICAgICAgICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBkYXRhICYmIGRhdGEucHJlKSB7XG4gICAgICAgICAgICAgICAgY3JlYXRpbmdFbG1JblZQcmUtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1RydWUodm5vZGUuaXNDb21tZW50KSkge1xuICAgICAgICAgICAgdm5vZGUuZWxtID0gbm9kZU9wcy5jcmVhdGVDb21tZW50KHZub2RlLnRleHQpO1xuICAgICAgICAgICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdm5vZGUuZWxtID0gbm9kZU9wcy5jcmVhdGVUZXh0Tm9kZSh2bm9kZS50ZXh0KTtcbiAgICAgICAgICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBjcmVhdGVDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pIHtcbiAgICAgICAgdmFyIGkgPSB2bm9kZS5kYXRhO1xuICAgICAgICBpZiAoaXNEZWYoaSkpIHtcbiAgICAgICAgICAgIHZhciBpc1JlYWN0aXZhdGVkID0gaXNEZWYodm5vZGUuY29tcG9uZW50SW5zdGFuY2UpICYmIGkua2VlcEFsaXZlO1xuICAgICAgICAgICAgaWYgKGlzRGVmKChpID0gaS5ob29rKSkgJiYgaXNEZWYoKGkgPSBpLmluaXQpKSkge1xuICAgICAgICAgICAgICAgIGkodm5vZGUsIGZhbHNlIC8qIGh5ZHJhdGluZyAqLyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBhZnRlciBjYWxsaW5nIHRoZSBpbml0IGhvb2ssIGlmIHRoZSB2bm9kZSBpcyBhIGNoaWxkIGNvbXBvbmVudFxuICAgICAgICAgICAgLy8gaXQgc2hvdWxkJ3ZlIGNyZWF0ZWQgYSBjaGlsZCBpbnN0YW5jZSBhbmQgbW91bnRlZCBpdC4gdGhlIGNoaWxkXG4gICAgICAgICAgICAvLyBjb21wb25lbnQgYWxzbyBoYXMgc2V0IHRoZSBwbGFjZWhvbGRlciB2bm9kZSdzIGVsbS5cbiAgICAgICAgICAgIC8vIGluIHRoYXQgY2FzZSB3ZSBjYW4ganVzdCByZXR1cm4gdGhlIGVsZW1lbnQgYW5kIGJlIGRvbmUuXG4gICAgICAgICAgICBpZiAoaXNEZWYodm5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7XG4gICAgICAgICAgICAgICAgaW5pdENvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzVHJ1ZShpc1JlYWN0aXZhdGVkKSkge1xuICAgICAgICAgICAgICAgICAgICByZWFjdGl2YXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaW5pdENvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAgICAgIGlmIChpc0RlZih2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQpKSB7XG4gICAgICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaC5hcHBseShpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmRhdGEucGVuZGluZ0luc2VydCk7XG4gICAgICAgICAgICB2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHZub2RlLmVsbSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlLiRlbDtcbiAgICAgICAgaWYgKGlzUGF0Y2hhYmxlKHZub2RlKSkge1xuICAgICAgICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgICAgICBzZXRTY29wZSh2bm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBlbXB0eSBjb21wb25lbnQgcm9vdC5cbiAgICAgICAgICAgIC8vIHNraXAgYWxsIGVsZW1lbnQtcmVsYXRlZCBtb2R1bGVzIGV4Y2VwdCBmb3IgcmVmICgjMzQ1NSlcbiAgICAgICAgICAgIHJlZ2lzdGVyUmVmKHZub2RlKTtcbiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0byBpbnZva2UgdGhlIGluc2VydCBob29rXG4gICAgICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcmVhY3RpdmF0ZUNvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkge1xuICAgICAgICB2YXIgaTtcbiAgICAgICAgLy8gaGFjayBmb3IgIzQzMzk6IGEgcmVhY3RpdmF0ZWQgY29tcG9uZW50IHdpdGggaW5uZXIgdHJhbnNpdGlvblxuICAgICAgICAvLyBkb2VzIG5vdCB0cmlnZ2VyIGJlY2F1c2UgdGhlIGlubmVyIG5vZGUncyBjcmVhdGVkIGhvb2tzIGFyZSBub3QgY2FsbGVkXG4gICAgICAgIC8vIGFnYWluLiBJdCdzIG5vdCBpZGVhbCB0byBpbnZvbHZlIG1vZHVsZS1zcGVjaWZpYyBsb2dpYyBpbiBoZXJlIGJ1dFxuICAgICAgICAvLyB0aGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYSBiZXR0ZXIgd2F5IHRvIGRvIGl0LlxuICAgICAgICB2YXIgaW5uZXJOb2RlID0gdm5vZGU7XG4gICAgICAgIHdoaWxlIChpbm5lck5vZGUuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgICAgICAgIGlubmVyTm9kZSA9IGlubmVyTm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgICAgICAgICBpZiAoaXNEZWYoKGkgPSBpbm5lck5vZGUuZGF0YSkpICYmIGlzRGVmKChpID0gaS50cmFuc2l0aW9uKSkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLmFjdGl2YXRlLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNicy5hY3RpdmF0ZVtpXShlbXB0eU5vZGUsIGlubmVyTm9kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGluc2VydGVkVm5vZGVRdWV1ZS5wdXNoKGlubmVyTm9kZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gdW5saWtlIGEgbmV3bHkgY3JlYXRlZCBjb21wb25lbnQsXG4gICAgICAgIC8vIGEgcmVhY3RpdmF0ZWQga2VlcC1hbGl2ZSBjb21wb25lbnQgZG9lc24ndCBpbnNlcnQgaXRzZWxmXG4gICAgICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaW5zZXJ0KHBhcmVudCwgZWxtLCByZWYpIHtcbiAgICAgICAgaWYgKGlzRGVmKHBhcmVudCkpIHtcbiAgICAgICAgICAgIGlmIChpc0RlZihyZWYpKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5vZGVPcHMucGFyZW50Tm9kZShyZWYpID09PSBwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50LCBlbG0sIHJlZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbm9kZU9wcy5hcHBlbmRDaGlsZChwYXJlbnQsIGVsbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpIHtcbiAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNoZWNrRHVwbGljYXRlS2V5cyhjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKHZhciBpXzEgPSAwOyBpXzEgPCBjaGlsZHJlbi5sZW5ndGg7ICsraV8xKSB7XG4gICAgICAgICAgICAgICAgY3JlYXRlRWxtKGNoaWxkcmVuW2lfMV0sIGluc2VydGVkVm5vZGVRdWV1ZSwgdm5vZGUuZWxtLCBudWxsLCB0cnVlLCBjaGlsZHJlbiwgaV8xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1ByaW1pdGl2ZSh2bm9kZS50ZXh0KSkge1xuICAgICAgICAgICAgbm9kZU9wcy5hcHBlbmRDaGlsZCh2bm9kZS5lbG0sIG5vZGVPcHMuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKHZub2RlLnRleHQpKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaXNQYXRjaGFibGUodm5vZGUpIHtcbiAgICAgICAgd2hpbGUgKHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICAgICAgICB2bm9kZSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNEZWYodm5vZGUudGFnKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgICAgICBmb3IgKHZhciBpXzIgPSAwOyBpXzIgPCBjYnMuY3JlYXRlLmxlbmd0aDsgKytpXzIpIHtcbiAgICAgICAgICAgIGNicy5jcmVhdGVbaV8yXShlbXB0eU5vZGUsIHZub2RlKTtcbiAgICAgICAgfVxuICAgICAgICBpID0gdm5vZGUuZGF0YS5ob29rOyAvLyBSZXVzZSB2YXJpYWJsZVxuICAgICAgICBpZiAoaXNEZWYoaSkpIHtcbiAgICAgICAgICAgIGlmIChpc0RlZihpLmNyZWF0ZSkpXG4gICAgICAgICAgICAgICAgaS5jcmVhdGUoZW1wdHlOb2RlLCB2bm9kZSk7XG4gICAgICAgICAgICBpZiAoaXNEZWYoaS5pbnNlcnQpKVxuICAgICAgICAgICAgICAgIGluc2VydGVkVm5vZGVRdWV1ZS5wdXNoKHZub2RlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzZXQgc2NvcGUgaWQgYXR0cmlidXRlIGZvciBzY29wZWQgQ1NTLlxuICAgIC8vIHRoaXMgaXMgaW1wbGVtZW50ZWQgYXMgYSBzcGVjaWFsIGNhc2UgdG8gYXZvaWQgdGhlIG92ZXJoZWFkXG4gICAgLy8gb2YgZ29pbmcgdGhyb3VnaCB0aGUgbm9ybWFsIGF0dHJpYnV0ZSBwYXRjaGluZyBwcm9jZXNzLlxuICAgIGZ1bmN0aW9uIHNldFNjb3BlKHZub2RlKSB7XG4gICAgICAgIHZhciBpO1xuICAgICAgICBpZiAoaXNEZWYoKGkgPSB2bm9kZS5mblNjb3BlSWQpKSkge1xuICAgICAgICAgICAgbm9kZU9wcy5zZXRTdHlsZVNjb3BlKHZub2RlLmVsbSwgaSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgYW5jZXN0b3IgPSB2bm9kZTtcbiAgICAgICAgICAgIHdoaWxlIChhbmNlc3Rvcikge1xuICAgICAgICAgICAgICAgIGlmIChpc0RlZigoaSA9IGFuY2VzdG9yLmNvbnRleHQpKSAmJiBpc0RlZigoaSA9IGkuJG9wdGlvbnMuX3Njb3BlSWQpKSkge1xuICAgICAgICAgICAgICAgICAgICBub2RlT3BzLnNldFN0eWxlU2NvcGUodm5vZGUuZWxtLCBpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZm9yIHNsb3QgY29udGVudCB0aGV5IHNob3VsZCBhbHNvIGdldCB0aGUgc2NvcGVJZCBmcm9tIHRoZSBob3N0IGluc3RhbmNlLlxuICAgICAgICBpZiAoaXNEZWYoKGkgPSBhY3RpdmVJbnN0YW5jZSkpICYmXG4gICAgICAgICAgICBpICE9PSB2bm9kZS5jb250ZXh0ICYmXG4gICAgICAgICAgICBpICE9PSB2bm9kZS5mbkNvbnRleHQgJiZcbiAgICAgICAgICAgIGlzRGVmKChpID0gaS4kb3B0aW9ucy5fc2NvcGVJZCkpKSB7XG4gICAgICAgICAgICBub2RlT3BzLnNldFN0eWxlU2NvcGUodm5vZGUuZWxtLCBpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBhZGRWbm9kZXMocGFyZW50RWxtLCByZWZFbG0sIHZub2Rlcywgc3RhcnRJZHgsIGVuZElkeCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAgICAgIGZvciAoOyBzdGFydElkeCA8PSBlbmRJZHg7ICsrc3RhcnRJZHgpIHtcbiAgICAgICAgICAgIGNyZWF0ZUVsbSh2bm9kZXNbc3RhcnRJZHhdLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtLCBmYWxzZSwgdm5vZGVzLCBzdGFydElkeCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaW52b2tlRGVzdHJveUhvb2sodm5vZGUpIHtcbiAgICAgICAgdmFyIGksIGo7XG4gICAgICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICAgICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYoKGkgPSBkYXRhLmhvb2spKSAmJiBpc0RlZigoaSA9IGkuZGVzdHJveSkpKVxuICAgICAgICAgICAgICAgIGkodm5vZGUpO1xuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNicy5kZXN0cm95Lmxlbmd0aDsgKytpKVxuICAgICAgICAgICAgICAgIGNicy5kZXN0cm95W2ldKHZub2RlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNEZWYoKGkgPSB2bm9kZS5jaGlsZHJlbikpKSB7XG4gICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgdm5vZGUuY2hpbGRyZW4ubGVuZ3RoOyArK2opIHtcbiAgICAgICAgICAgICAgICBpbnZva2VEZXN0cm95SG9vayh2bm9kZS5jaGlsZHJlbltqXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcmVtb3ZlVm5vZGVzKHZub2Rlcywgc3RhcnRJZHgsIGVuZElkeCkge1xuICAgICAgICBmb3IgKDsgc3RhcnRJZHggPD0gZW5kSWR4OyArK3N0YXJ0SWR4KSB7XG4gICAgICAgICAgICB2YXIgY2ggPSB2bm9kZXNbc3RhcnRJZHhdO1xuICAgICAgICAgICAgaWYgKGlzRGVmKGNoKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc0RlZihjaC50YWcpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbW92ZUFuZEludm9rZVJlbW92ZUhvb2soY2gpO1xuICAgICAgICAgICAgICAgICAgICBpbnZva2VEZXN0cm95SG9vayhjaCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBUZXh0IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlTm9kZShjaC5lbG0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiByZW1vdmVBbmRJbnZva2VSZW1vdmVIb29rKHZub2RlLCBybSkge1xuICAgICAgICBpZiAoaXNEZWYocm0pIHx8IGlzRGVmKHZub2RlLmRhdGEpKSB7XG4gICAgICAgICAgICB2YXIgaV8zO1xuICAgICAgICAgICAgdmFyIGxpc3RlbmVycyA9IGNicy5yZW1vdmUubGVuZ3RoICsgMTtcbiAgICAgICAgICAgIGlmIChpc0RlZihybSkpIHtcbiAgICAgICAgICAgICAgICAvLyB3ZSBoYXZlIGEgcmVjdXJzaXZlbHkgcGFzc2VkIGRvd24gcm0gY2FsbGJhY2tcbiAgICAgICAgICAgICAgICAvLyBpbmNyZWFzZSB0aGUgbGlzdGVuZXJzIGNvdW50XG4gICAgICAgICAgICAgICAgcm0ubGlzdGVuZXJzICs9IGxpc3RlbmVycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGRpcmVjdGx5IHJlbW92aW5nXG4gICAgICAgICAgICAgICAgcm0gPSBjcmVhdGVSbUNiKHZub2RlLmVsbSwgbGlzdGVuZXJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHJlY3Vyc2l2ZWx5IGludm9rZSBob29rcyBvbiBjaGlsZCBjb21wb25lbnQgcm9vdCBub2RlXG4gICAgICAgICAgICBpZiAoaXNEZWYoKGlfMyA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSkgJiZcbiAgICAgICAgICAgICAgICBpc0RlZigoaV8zID0gaV8zLl92bm9kZSkpICYmXG4gICAgICAgICAgICAgICAgaXNEZWYoaV8zLmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlQW5kSW52b2tlUmVtb3ZlSG9vayhpXzMsIHJtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAoaV8zID0gMDsgaV8zIDwgY2JzLnJlbW92ZS5sZW5ndGg7ICsraV8zKSB7XG4gICAgICAgICAgICAgICAgY2JzLnJlbW92ZVtpXzNdKHZub2RlLCBybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNEZWYoKGlfMyA9IHZub2RlLmRhdGEuaG9vaykpICYmIGlzRGVmKChpXzMgPSBpXzMucmVtb3ZlKSkpIHtcbiAgICAgICAgICAgICAgICBpXzModm5vZGUsIHJtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJtKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZW1vdmVOb2RlKHZub2RlLmVsbSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdXBkYXRlQ2hpbGRyZW4ocGFyZW50RWxtLCBvbGRDaCwgbmV3Q2gsIGluc2VydGVkVm5vZGVRdWV1ZSwgcmVtb3ZlT25seSkge1xuICAgICAgICB2YXIgb2xkU3RhcnRJZHggPSAwO1xuICAgICAgICB2YXIgbmV3U3RhcnRJZHggPSAwO1xuICAgICAgICB2YXIgb2xkRW5kSWR4ID0gb2xkQ2gubGVuZ3RoIC0gMTtcbiAgICAgICAgdmFyIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFswXTtcbiAgICAgICAgdmFyIG9sZEVuZFZub2RlID0gb2xkQ2hbb2xkRW5kSWR4XTtcbiAgICAgICAgdmFyIG5ld0VuZElkeCA9IG5ld0NoLmxlbmd0aCAtIDE7XG4gICAgICAgIHZhciBuZXdTdGFydFZub2RlID0gbmV3Q2hbMF07XG4gICAgICAgIHZhciBuZXdFbmRWbm9kZSA9IG5ld0NoW25ld0VuZElkeF07XG4gICAgICAgIHZhciBvbGRLZXlUb0lkeCwgaWR4SW5PbGQsIHZub2RlVG9Nb3ZlLCByZWZFbG07XG4gICAgICAgIC8vIHJlbW92ZU9ubHkgaXMgYSBzcGVjaWFsIGZsYWcgdXNlZCBvbmx5IGJ5IDx0cmFuc2l0aW9uLWdyb3VwPlxuICAgICAgICAvLyB0byBlbnN1cmUgcmVtb3ZlZCBlbGVtZW50cyBzdGF5IGluIGNvcnJlY3QgcmVsYXRpdmUgcG9zaXRpb25zXG4gICAgICAgIC8vIGR1cmluZyBsZWF2aW5nIHRyYW5zaXRpb25zXG4gICAgICAgIHZhciBjYW5Nb3ZlID0gIXJlbW92ZU9ubHk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICBjaGVja0R1cGxpY2F0ZUtleXMobmV3Q2gpO1xuICAgICAgICB9XG4gICAgICAgIHdoaWxlIChvbGRTdGFydElkeCA8PSBvbGRFbmRJZHggJiYgbmV3U3RhcnRJZHggPD0gbmV3RW5kSWR4KSB7XG4gICAgICAgICAgICBpZiAoaXNVbmRlZihvbGRTdGFydFZub2RlKSkge1xuICAgICAgICAgICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0SWR4XTsgLy8gVm5vZGUgaGFzIGJlZW4gbW92ZWQgbGVmdFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNVbmRlZihvbGRFbmRWbm9kZSkpIHtcbiAgICAgICAgICAgICAgICBvbGRFbmRWbm9kZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHNhbWVWbm9kZShvbGRTdGFydFZub2RlLCBuZXdTdGFydFZub2RlKSkge1xuICAgICAgICAgICAgICAgIHBhdGNoVm5vZGUob2xkU3RhcnRWbm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3U3RhcnRJZHgpO1xuICAgICAgICAgICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0SWR4XTtcbiAgICAgICAgICAgICAgICBuZXdTdGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChzYW1lVm5vZGUob2xkRW5kVm5vZGUsIG5ld0VuZFZub2RlKSkge1xuICAgICAgICAgICAgICAgIHBhdGNoVm5vZGUob2xkRW5kVm5vZGUsIG5ld0VuZFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG5ld0NoLCBuZXdFbmRJZHgpO1xuICAgICAgICAgICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJZHhdO1xuICAgICAgICAgICAgICAgIG5ld0VuZFZub2RlID0gbmV3Q2hbLS1uZXdFbmRJZHhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoc2FtZVZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld0VuZFZub2RlKSkge1xuICAgICAgICAgICAgICAgIC8vIFZub2RlIG1vdmVkIHJpZ2h0XG4gICAgICAgICAgICAgICAgcGF0Y2hWbm9kZShvbGRTdGFydFZub2RlLCBuZXdFbmRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3RW5kSWR4KTtcbiAgICAgICAgICAgICAgICBjYW5Nb3ZlICYmXG4gICAgICAgICAgICAgICAgICAgIG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVudEVsbSwgb2xkU3RhcnRWbm9kZS5lbG0sIG5vZGVPcHMubmV4dFNpYmxpbmcob2xkRW5kVm5vZGUuZWxtKSk7XG4gICAgICAgICAgICAgICAgb2xkU3RhcnRWbm9kZSA9IG9sZENoWysrb2xkU3RhcnRJZHhdO1xuICAgICAgICAgICAgICAgIG5ld0VuZFZub2RlID0gbmV3Q2hbLS1uZXdFbmRJZHhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoc2FtZVZub2RlKG9sZEVuZFZub2RlLCBuZXdTdGFydFZub2RlKSkge1xuICAgICAgICAgICAgICAgIC8vIFZub2RlIG1vdmVkIGxlZnRcbiAgICAgICAgICAgICAgICBwYXRjaFZub2RlKG9sZEVuZFZub2RlLCBuZXdTdGFydFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG5ld0NoLCBuZXdTdGFydElkeCk7XG4gICAgICAgICAgICAgICAgY2FuTW92ZSAmJlxuICAgICAgICAgICAgICAgICAgICBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIG9sZEVuZFZub2RlLmVsbSwgb2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICAgICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJZHhdO1xuICAgICAgICAgICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsrK25ld1N0YXJ0SWR4XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpc1VuZGVmKG9sZEtleVRvSWR4KSlcbiAgICAgICAgICAgICAgICAgICAgb2xkS2V5VG9JZHggPSBjcmVhdGVLZXlUb09sZElkeChvbGRDaCwgb2xkU3RhcnRJZHgsIG9sZEVuZElkeCk7XG4gICAgICAgICAgICAgICAgaWR4SW5PbGQgPSBpc0RlZihuZXdTdGFydFZub2RlLmtleSlcbiAgICAgICAgICAgICAgICAgICAgPyBvbGRLZXlUb0lkeFtuZXdTdGFydFZub2RlLmtleV1cbiAgICAgICAgICAgICAgICAgICAgOiBmaW5kSWR4SW5PbGQobmV3U3RhcnRWbm9kZSwgb2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgICAgICAgICAgICAgIGlmIChpc1VuZGVmKGlkeEluT2xkKSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBOZXcgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBmYWxzZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZub2RlVG9Nb3ZlID0gb2xkQ2hbaWR4SW5PbGRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2FtZVZub2RlKHZub2RlVG9Nb3ZlLCBuZXdTdGFydFZub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hWbm9kZSh2bm9kZVRvTW92ZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3U3RhcnRJZHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb2xkQ2hbaWR4SW5PbGRdID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FuTW92ZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVudEVsbSwgdm5vZGVUb01vdmUuZWxtLCBvbGRTdGFydFZub2RlLmVsbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzYW1lIGtleSBidXQgZGlmZmVyZW50IGVsZW1lbnQuIHRyZWF0IGFzIG5ldyBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBmYWxzZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXdTdGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9sZFN0YXJ0SWR4ID4gb2xkRW5kSWR4KSB7XG4gICAgICAgICAgICByZWZFbG0gPSBpc1VuZGVmKG5ld0NoW25ld0VuZElkeCArIDFdKSA/IG51bGwgOiBuZXdDaFtuZXdFbmRJZHggKyAxXS5lbG07XG4gICAgICAgICAgICBhZGRWbm9kZXMocGFyZW50RWxtLCByZWZFbG0sIG5ld0NoLCBuZXdTdGFydElkeCwgbmV3RW5kSWR4LCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG5ld1N0YXJ0SWR4ID4gbmV3RW5kSWR4KSB7XG4gICAgICAgICAgICByZW1vdmVWbm9kZXMob2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNoZWNrRHVwbGljYXRlS2V5cyhjaGlsZHJlbikge1xuICAgICAgICB2YXIgc2VlbktleXMgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgaV80ID0gMDsgaV80IDwgY2hpbGRyZW4ubGVuZ3RoOyBpXzQrKykge1xuICAgICAgICAgICAgdmFyIHZub2RlID0gY2hpbGRyZW5baV80XTtcbiAgICAgICAgICAgIHZhciBrZXkgPSB2bm9kZS5rZXk7XG4gICAgICAgICAgICBpZiAoaXNEZWYoa2V5KSkge1xuICAgICAgICAgICAgICAgIGlmIChzZWVuS2V5c1trZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhcm4kMihcIkR1cGxpY2F0ZSBrZXlzIGRldGVjdGVkOiAnXCIuY29uY2F0KGtleSwgXCInLiBUaGlzIG1heSBjYXVzZSBhbiB1cGRhdGUgZXJyb3IuXCIpLCB2bm9kZS5jb250ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlZW5LZXlzW2tleV0gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmaW5kSWR4SW5PbGQobm9kZSwgb2xkQ2gsIHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgZm9yICh2YXIgaV81ID0gc3RhcnQ7IGlfNSA8IGVuZDsgaV81KyspIHtcbiAgICAgICAgICAgIHZhciBjID0gb2xkQ2hbaV81XTtcbiAgICAgICAgICAgIGlmIChpc0RlZihjKSAmJiBzYW1lVm5vZGUobm9kZSwgYykpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlfNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBwYXRjaFZub2RlKG9sZFZub2RlLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBvd25lckFycmF5LCBpbmRleCwgcmVtb3ZlT25seSkge1xuICAgICAgICBpZiAob2xkVm5vZGUgPT09IHZub2RlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGVmKHZub2RlLmVsbSkgJiYgaXNEZWYob3duZXJBcnJheSkpIHtcbiAgICAgICAgICAgIC8vIGNsb25lIHJldXNlZCB2bm9kZVxuICAgICAgICAgICAgdm5vZGUgPSBvd25lckFycmF5W2luZGV4XSA9IGNsb25lVk5vZGUodm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBlbG0gPSAodm5vZGUuZWxtID0gb2xkVm5vZGUuZWxtKTtcbiAgICAgICAgaWYgKGlzVHJ1ZShvbGRWbm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIpKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYodm5vZGUuYXN5bmNGYWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICAgICAgICAgIGh5ZHJhdGUob2xkVm5vZGUuZWxtLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZub2RlLmlzQXN5bmNQbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmV1c2UgZWxlbWVudCBmb3Igc3RhdGljIHRyZWVzLlxuICAgICAgICAvLyBub3RlIHdlIG9ubHkgZG8gdGhpcyBpZiB0aGUgdm5vZGUgaXMgY2xvbmVkIC1cbiAgICAgICAgLy8gaWYgdGhlIG5ldyBub2RlIGlzIG5vdCBjbG9uZWQgaXQgbWVhbnMgdGhlIHJlbmRlciBmdW5jdGlvbnMgaGF2ZSBiZWVuXG4gICAgICAgIC8vIHJlc2V0IGJ5IHRoZSBob3QtcmVsb2FkLWFwaSBhbmQgd2UgbmVlZCB0byBkbyBhIHByb3BlciByZS1yZW5kZXIuXG4gICAgICAgIGlmIChpc1RydWUodm5vZGUuaXNTdGF0aWMpICYmXG4gICAgICAgICAgICBpc1RydWUob2xkVm5vZGUuaXNTdGF0aWMpICYmXG4gICAgICAgICAgICB2bm9kZS5rZXkgPT09IG9sZFZub2RlLmtleSAmJlxuICAgICAgICAgICAgKGlzVHJ1ZSh2bm9kZS5pc0Nsb25lZCkgfHwgaXNUcnVlKHZub2RlLmlzT25jZSkpKSB7XG4gICAgICAgICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpO1xuICAgICAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgICAgIGlmIChpc0RlZihkYXRhKSAmJiBpc0RlZigoaSA9IGRhdGEuaG9vaykpICYmIGlzRGVmKChpID0gaS5wcmVwYXRjaCkpKSB7XG4gICAgICAgICAgICBpKG9sZFZub2RlLCB2bm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG9sZENoID0gb2xkVm5vZGUuY2hpbGRyZW47XG4gICAgICAgIHZhciBjaCA9IHZub2RlLmNoaWxkcmVuO1xuICAgICAgICBpZiAoaXNEZWYoZGF0YSkgJiYgaXNQYXRjaGFibGUodm5vZGUpKSB7XG4gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLnVwZGF0ZS5sZW5ndGg7ICsraSlcbiAgICAgICAgICAgICAgICBjYnMudXBkYXRlW2ldKG9sZFZub2RlLCB2bm9kZSk7XG4gICAgICAgICAgICBpZiAoaXNEZWYoKGkgPSBkYXRhLmhvb2spKSAmJiBpc0RlZigoaSA9IGkudXBkYXRlKSkpXG4gICAgICAgICAgICAgICAgaShvbGRWbm9kZSwgdm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1VuZGVmKHZub2RlLnRleHQpKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYob2xkQ2gpICYmIGlzRGVmKGNoKSkge1xuICAgICAgICAgICAgICAgIGlmIChvbGRDaCAhPT0gY2gpXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUNoaWxkcmVuKGVsbSwgb2xkQ2gsIGNoLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9ubHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNEZWYoY2gpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tEdXBsaWNhdGVLZXlzKGNoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKVxuICAgICAgICAgICAgICAgICAgICBub2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgJycpO1xuICAgICAgICAgICAgICAgIGFkZFZub2RlcyhlbG0sIG51bGwsIGNoLCAwLCBjaC5sZW5ndGggLSAxLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNEZWYob2xkQ2gpKSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlVm5vZGVzKG9sZENoLCAwLCBvbGRDaC5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKSB7XG4gICAgICAgICAgICAgICAgbm9kZU9wcy5zZXRUZXh0Q29udGVudChlbG0sICcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvbGRWbm9kZS50ZXh0ICE9PSB2bm9kZS50ZXh0KSB7XG4gICAgICAgICAgICBub2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgdm5vZGUudGV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYoKGkgPSBkYXRhLmhvb2spKSAmJiBpc0RlZigoaSA9IGkucG9zdHBhdGNoKSkpXG4gICAgICAgICAgICAgICAgaShvbGRWbm9kZSwgdm5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGludm9rZUluc2VydEhvb2sodm5vZGUsIHF1ZXVlLCBpbml0aWFsKSB7XG4gICAgICAgIC8vIGRlbGF5IGluc2VydCBob29rcyBmb3IgY29tcG9uZW50IHJvb3Qgbm9kZXMsIGludm9rZSB0aGVtIGFmdGVyIHRoZVxuICAgICAgICAvLyBlbGVtZW50IGlzIHJlYWxseSBpbnNlcnRlZFxuICAgICAgICBpZiAoaXNUcnVlKGluaXRpYWwpICYmIGlzRGVmKHZub2RlLnBhcmVudCkpIHtcbiAgICAgICAgICAgIHZub2RlLnBhcmVudC5kYXRhLnBlbmRpbmdJbnNlcnQgPSBxdWV1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGZvciAodmFyIGlfNiA9IDA7IGlfNiA8IHF1ZXVlLmxlbmd0aDsgKytpXzYpIHtcbiAgICAgICAgICAgICAgICBxdWV1ZVtpXzZdLmRhdGEuaG9vay5pbnNlcnQocXVldWVbaV82XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIGh5ZHJhdGlvbkJhaWxlZCA9IGZhbHNlO1xuICAgIC8vIGxpc3Qgb2YgbW9kdWxlcyB0aGF0IGNhbiBza2lwIGNyZWF0ZSBob29rIGR1cmluZyBoeWRyYXRpb24gYmVjYXVzZSB0aGV5XG4gICAgLy8gYXJlIGFscmVhZHkgcmVuZGVyZWQgb24gdGhlIGNsaWVudCBvciBoYXMgbm8gbmVlZCBmb3IgaW5pdGlhbGl6YXRpb25cbiAgICAvLyBOb3RlOiBzdHlsZSBpcyBleGNsdWRlZCBiZWNhdXNlIGl0IHJlbGllcyBvbiBpbml0aWFsIGNsb25lIGZvciBmdXR1cmVcbiAgICAvLyBkZWVwIHVwZGF0ZXMgKCM3MDYzKS5cbiAgICB2YXIgaXNSZW5kZXJlZE1vZHVsZSA9IG1ha2VNYXAoJ2F0dHJzLGNsYXNzLHN0YXRpY0NsYXNzLHN0YXRpY1N0eWxlLGtleScpO1xuICAgIC8vIE5vdGU6IHRoaXMgaXMgYSBicm93c2VyLW9ubHkgZnVuY3Rpb24gc28gd2UgY2FuIGFzc3VtZSBlbG1zIGFyZSBET00gbm9kZXMuXG4gICAgZnVuY3Rpb24gaHlkcmF0ZShlbG0sIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIGluVlByZSkge1xuICAgICAgICB2YXIgaTtcbiAgICAgICAgdmFyIHRhZyA9IHZub2RlLnRhZywgZGF0YSA9IHZub2RlLmRhdGEsIGNoaWxkcmVuID0gdm5vZGUuY2hpbGRyZW47XG4gICAgICAgIGluVlByZSA9IGluVlByZSB8fCAoZGF0YSAmJiBkYXRhLnByZSk7XG4gICAgICAgIHZub2RlLmVsbSA9IGVsbTtcbiAgICAgICAgaWYgKGlzVHJ1ZSh2bm9kZS5pc0NvbW1lbnQpICYmIGlzRGVmKHZub2RlLmFzeW5jRmFjdG9yeSkpIHtcbiAgICAgICAgICAgIHZub2RlLmlzQXN5bmNQbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBhc3NlcnQgbm9kZSBtYXRjaFxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgaWYgKCFhc3NlcnROb2RlTWF0Y2goZWxtLCB2bm9kZSwgaW5WUHJlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgICAgIGlmIChpc0RlZigoaSA9IGRhdGEuaG9vaykpICYmIGlzRGVmKChpID0gaS5pbml0KSkpXG4gICAgICAgICAgICAgICAgaSh2bm9kZSwgdHJ1ZSAvKiBoeWRyYXRpbmcgKi8pO1xuICAgICAgICAgICAgaWYgKGlzRGVmKChpID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSkge1xuICAgICAgICAgICAgICAgIC8vIGNoaWxkIGNvbXBvbmVudC4gaXQgc2hvdWxkIGhhdmUgaHlkcmF0ZWQgaXRzIG93biB0cmVlLlxuICAgICAgICAgICAgICAgIGluaXRDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAgICAgICAgIGlmIChpc0RlZihjaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICAvLyBlbXB0eSBlbGVtZW50LCBhbGxvdyBjbGllbnQgdG8gcGljayB1cCBhbmQgcG9wdWxhdGUgY2hpbGRyZW5cbiAgICAgICAgICAgICAgICBpZiAoIWVsbS5oYXNDaGlsZE5vZGVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdi1odG1sIGFuZCBkb21Qcm9wczogaW5uZXJIVE1MXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0RlZigoaSA9IGRhdGEpKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWYoKGkgPSBpLmRvbVByb3BzKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmKChpID0gaS5pbm5lckhUTUwpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IGVsbS5pbm5lckhUTUwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIWh5ZHJhdGlvbkJhaWxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoeWRyYXRpb25CYWlsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BhcmVudDogJywgZWxtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdzZXJ2ZXIgaW5uZXJIVE1MOiAnLCBpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdjbGllbnQgaW5uZXJIVE1MOiAnLCBlbG0uaW5uZXJIVE1MKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXRlcmF0ZSBhbmQgY29tcGFyZSBjaGlsZHJlbiBsaXN0c1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNoaWxkcmVuTWF0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNoaWxkTm9kZSA9IGVsbS5maXJzdENoaWxkO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaV83ID0gMDsgaV83IDwgY2hpbGRyZW4ubGVuZ3RoOyBpXzcrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2hpbGROb2RlIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFoeWRyYXRlKGNoaWxkTm9kZSwgY2hpbGRyZW5baV83XSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBpblZQcmUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5uZXh0U2libGluZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGNoaWxkTm9kZSBpcyBub3QgbnVsbCwgaXQgbWVhbnMgdGhlIGFjdHVhbCBjaGlsZE5vZGVzIGxpc3QgaXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvbmdlciB0aGFuIHRoZSB2aXJ0dWFsIGNoaWxkcmVuIGxpc3QuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNoaWxkcmVuTWF0Y2ggfHwgY2hpbGROb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFoeWRyYXRpb25CYWlsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHlkcmF0aW9uQmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYXJlbnQ6ICcsIGVsbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignTWlzbWF0Y2hpbmcgY2hpbGROb2RlcyB2cy4gVk5vZGVzOiAnLCBlbG0uY2hpbGROb2RlcywgY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgICAgICAgICB2YXIgZnVsbEludm9rZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNSZW5kZXJlZE1vZHVsZShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmdWxsSW52b2tlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGludm9rZUNyZWF0ZUhvb2tzKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFmdWxsSW52b2tlICYmIGRhdGFbJ2NsYXNzJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW5zdXJlIGNvbGxlY3RpbmcgZGVwcyBmb3IgZGVlcCBjbGFzcyBiaW5kaW5ncyBmb3IgZnV0dXJlIHVwZGF0ZXNcbiAgICAgICAgICAgICAgICAgICAgdHJhdmVyc2UoZGF0YVsnY2xhc3MnXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVsbS5kYXRhICE9PSB2bm9kZS50ZXh0KSB7XG4gICAgICAgICAgICBlbG0uZGF0YSA9IHZub2RlLnRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGFzc2VydE5vZGVNYXRjaChub2RlLCB2bm9kZSwgaW5WUHJlKSB7XG4gICAgICAgIGlmIChpc0RlZih2bm9kZS50YWcpKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZub2RlLnRhZy5pbmRleE9mKCd2dWUtY29tcG9uZW50JykgPT09IDAgfHxcbiAgICAgICAgICAgICAgICAoIWlzVW5rbm93bkVsZW1lbnQodm5vZGUsIGluVlByZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgdm5vZGUudGFnLnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAobm9kZS50YWdOYW1lICYmIG5vZGUudGFnTmFtZS50b0xvd2VyQ2FzZSgpKSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5vZGUubm9kZVR5cGUgPT09ICh2bm9kZS5pc0NvbW1lbnQgPyA4IDogMyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHBhdGNoKG9sZFZub2RlLCB2bm9kZSwgaHlkcmF0aW5nLCByZW1vdmVPbmx5KSB7XG4gICAgICAgIGlmIChpc1VuZGVmKHZub2RlKSkge1xuICAgICAgICAgICAgaWYgKGlzRGVmKG9sZFZub2RlKSlcbiAgICAgICAgICAgICAgICBpbnZva2VEZXN0cm95SG9vayhvbGRWbm9kZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGlzSW5pdGlhbFBhdGNoID0gZmFsc2U7XG4gICAgICAgIHZhciBpbnNlcnRlZFZub2RlUXVldWUgPSBbXTtcbiAgICAgICAgaWYgKGlzVW5kZWYob2xkVm5vZGUpKSB7XG4gICAgICAgICAgICAvLyBlbXB0eSBtb3VudCAobGlrZWx5IGFzIGNvbXBvbmVudCksIGNyZWF0ZSBuZXcgcm9vdCBlbGVtZW50XG4gICAgICAgICAgICBpc0luaXRpYWxQYXRjaCA9IHRydWU7XG4gICAgICAgICAgICBjcmVhdGVFbG0odm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgaXNSZWFsRWxlbWVudCA9IGlzRGVmKG9sZFZub2RlLm5vZGVUeXBlKTtcbiAgICAgICAgICAgIGlmICghaXNSZWFsRWxlbWVudCAmJiBzYW1lVm5vZGUob2xkVm5vZGUsIHZub2RlKSkge1xuICAgICAgICAgICAgICAgIC8vIHBhdGNoIGV4aXN0aW5nIHJvb3Qgbm9kZVxuICAgICAgICAgICAgICAgIHBhdGNoVm5vZGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIG51bGwsIG51bGwsIHJlbW92ZU9ubHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzUmVhbEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbW91bnRpbmcgdG8gYSByZWFsIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgdGhpcyBpcyBzZXJ2ZXItcmVuZGVyZWQgY29udGVudCBhbmQgaWYgd2UgY2FuIHBlcmZvcm1cbiAgICAgICAgICAgICAgICAgICAgLy8gYSBzdWNjZXNzZnVsIGh5ZHJhdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9sZFZub2RlLm5vZGVUeXBlID09PSAxICYmIG9sZFZub2RlLmhhc0F0dHJpYnV0ZShTU1JfQVRUUikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9sZFZub2RlLnJlbW92ZUF0dHJpYnV0ZShTU1JfQVRUUik7XG4gICAgICAgICAgICAgICAgICAgICAgICBoeWRyYXRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1RydWUoaHlkcmF0aW5nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGh5ZHJhdGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52b2tlSW5zZXJ0SG9vayh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2xkVm5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybiQyKCdUaGUgY2xpZW50LXNpZGUgcmVuZGVyZWQgdmlydHVhbCBET00gdHJlZSBpcyBub3QgbWF0Y2hpbmcgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZXJ2ZXItcmVuZGVyZWQgY29udGVudC4gVGhpcyBpcyBsaWtlbHkgY2F1c2VkIGJ5IGluY29ycmVjdCAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hUTUwgbWFya3VwLCBmb3IgZXhhbXBsZSBuZXN0aW5nIGJsb2NrLWxldmVsIGVsZW1lbnRzIGluc2lkZSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxwPiwgb3IgbWlzc2luZyA8dGJvZHk+LiBCYWlsaW5nIGh5ZHJhdGlvbiBhbmQgcGVyZm9ybWluZyAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Z1bGwgY2xpZW50LXNpZGUgcmVuZGVyLicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGVpdGhlciBub3Qgc2VydmVyLXJlbmRlcmVkLCBvciBoeWRyYXRpb24gZmFpbGVkLlxuICAgICAgICAgICAgICAgICAgICAvLyBjcmVhdGUgYW4gZW1wdHkgbm9kZSBhbmQgcmVwbGFjZSBpdFxuICAgICAgICAgICAgICAgICAgICBvbGRWbm9kZSA9IGVtcHR5Tm9kZUF0KG9sZFZub2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gcmVwbGFjaW5nIGV4aXN0aW5nIGVsZW1lbnRcbiAgICAgICAgICAgICAgICB2YXIgb2xkRWxtID0gb2xkVm5vZGUuZWxtO1xuICAgICAgICAgICAgICAgIHZhciBwYXJlbnRFbG0gPSBub2RlT3BzLnBhcmVudE5vZGUob2xkRWxtKTtcbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgbmV3IG5vZGVcbiAgICAgICAgICAgICAgICBjcmVhdGVFbG0odm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgXG4gICAgICAgICAgICAgICAgLy8gZXh0cmVtZWx5IHJhcmUgZWRnZSBjYXNlOiBkbyBub3QgaW5zZXJ0IGlmIG9sZCBlbGVtZW50IGlzIGluIGFcbiAgICAgICAgICAgICAgICAvLyBsZWF2aW5nIHRyYW5zaXRpb24uIE9ubHkgaGFwcGVucyB3aGVuIGNvbWJpbmluZyB0cmFuc2l0aW9uICtcbiAgICAgICAgICAgICAgICAvLyBrZWVwLWFsaXZlICsgSE9Dcy4gKCM0NTkwKVxuICAgICAgICAgICAgICAgIG9sZEVsbS5fbGVhdmVDYiA/IG51bGwgOiBwYXJlbnRFbG0sIG5vZGVPcHMubmV4dFNpYmxpbmcob2xkRWxtKSk7XG4gICAgICAgICAgICAgICAgLy8gdXBkYXRlIHBhcmVudCBwbGFjZWhvbGRlciBub2RlIGVsZW1lbnQsIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgICAgICAgaWYgKGlzRGVmKHZub2RlLnBhcmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFuY2VzdG9yID0gdm5vZGUucGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB2YXIgcGF0Y2hhYmxlID0gaXNQYXRjaGFibGUodm5vZGUpO1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoYW5jZXN0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGlfOCA9IDA7IGlfOCA8IGNicy5kZXN0cm95Lmxlbmd0aDsgKytpXzgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYnMuZGVzdHJveVtpXzhdKGFuY2VzdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFuY2VzdG9yLmVsbSA9IHZub2RlLmVsbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXRjaGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpXzkgPSAwOyBpXzkgPCBjYnMuY3JlYXRlLmxlbmd0aDsgKytpXzkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2JzLmNyZWF0ZVtpXzldKGVtcHR5Tm9kZSwgYW5jZXN0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAjNjUxM1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGludm9rZSBpbnNlcnQgaG9va3MgdGhhdCBtYXkgaGF2ZSBiZWVuIG1lcmdlZCBieSBjcmVhdGUgaG9va3MuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZS5nLiBmb3IgZGlyZWN0aXZlcyB0aGF0IHVzZXMgdGhlIFwiaW5zZXJ0ZWRcIiBob29rLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbnNlcnRfMSA9IGFuY2VzdG9yLmRhdGEuaG9vay5pbnNlcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluc2VydF8xLm1lcmdlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdGFydCBhdCBpbmRleCAxIHRvIGF2b2lkIHJlLWludm9raW5nIGNvbXBvbmVudCBtb3VudGVkIGhvb2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaV8xMCA9IDE7IGlfMTAgPCBpbnNlcnRfMS5mbnMubGVuZ3RoOyBpXzEwKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydF8xLmZuc1tpXzEwXSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJSZWYoYW5jZXN0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gZGVzdHJveSBvbGQgbm9kZVxuICAgICAgICAgICAgICAgIGlmIChpc0RlZihwYXJlbnRFbG0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbW92ZVZub2Rlcyhbb2xkVm5vZGVdLCAwLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNEZWYob2xkVm5vZGUudGFnKSkge1xuICAgICAgICAgICAgICAgICAgICBpbnZva2VEZXN0cm95SG9vayhvbGRWbm9kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGludm9rZUluc2VydEhvb2sodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgaXNJbml0aWFsUGF0Y2gpO1xuICAgICAgICByZXR1cm4gdm5vZGUuZWxtO1xuICAgIH07XG59XG5cbnZhciBkaXJlY3RpdmVzJDEgPSB7XG4gICAgY3JlYXRlOiB1cGRhdGVEaXJlY3RpdmVzLFxuICAgIHVwZGF0ZTogdXBkYXRlRGlyZWN0aXZlcyxcbiAgICBkZXN0cm95OiBmdW5jdGlvbiB1bmJpbmREaXJlY3RpdmVzKHZub2RlKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZW1wdHlOb2RlIGlzIG5vdCBWTm9kZVdpdGhEYXRhXG4gICAgICAgIHVwZGF0ZURpcmVjdGl2ZXModm5vZGUsIGVtcHR5Tm9kZSk7XG4gICAgfVxufTtcbmZ1bmN0aW9uIHVwZGF0ZURpcmVjdGl2ZXMob2xkVm5vZGUsIHZub2RlKSB7XG4gICAgaWYgKG9sZFZub2RlLmRhdGEuZGlyZWN0aXZlcyB8fCB2bm9kZS5kYXRhLmRpcmVjdGl2ZXMpIHtcbiAgICAgICAgX3VwZGF0ZShvbGRWbm9kZSwgdm5vZGUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIF91cGRhdGUob2xkVm5vZGUsIHZub2RlKSB7XG4gICAgdmFyIGlzQ3JlYXRlID0gb2xkVm5vZGUgPT09IGVtcHR5Tm9kZTtcbiAgICB2YXIgaXNEZXN0cm95ID0gdm5vZGUgPT09IGVtcHR5Tm9kZTtcbiAgICB2YXIgb2xkRGlycyA9IG5vcm1hbGl6ZURpcmVjdGl2ZXMob2xkVm5vZGUuZGF0YS5kaXJlY3RpdmVzLCBvbGRWbm9kZS5jb250ZXh0KTtcbiAgICB2YXIgbmV3RGlycyA9IG5vcm1hbGl6ZURpcmVjdGl2ZXModm5vZGUuZGF0YS5kaXJlY3RpdmVzLCB2bm9kZS5jb250ZXh0KTtcbiAgICB2YXIgZGlyc1dpdGhJbnNlcnQgPSBbXTtcbiAgICB2YXIgZGlyc1dpdGhQb3N0cGF0Y2ggPSBbXTtcbiAgICB2YXIga2V5LCBvbGREaXIsIGRpcjtcbiAgICBmb3IgKGtleSBpbiBuZXdEaXJzKSB7XG4gICAgICAgIG9sZERpciA9IG9sZERpcnNba2V5XTtcbiAgICAgICAgZGlyID0gbmV3RGlyc1trZXldO1xuICAgICAgICBpZiAoIW9sZERpcikge1xuICAgICAgICAgICAgLy8gbmV3IGRpcmVjdGl2ZSwgYmluZFxuICAgICAgICAgICAgY2FsbEhvb2soZGlyLCAnYmluZCcsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICAgICAgICBpZiAoZGlyLmRlZiAmJiBkaXIuZGVmLmluc2VydGVkKSB7XG4gICAgICAgICAgICAgICAgZGlyc1dpdGhJbnNlcnQucHVzaChkaXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gZXhpc3RpbmcgZGlyZWN0aXZlLCB1cGRhdGVcbiAgICAgICAgICAgIGRpci5vbGRWYWx1ZSA9IG9sZERpci52YWx1ZTtcbiAgICAgICAgICAgIGRpci5vbGRBcmcgPSBvbGREaXIuYXJnO1xuICAgICAgICAgICAgY2FsbEhvb2soZGlyLCAndXBkYXRlJywgdm5vZGUsIG9sZFZub2RlKTtcbiAgICAgICAgICAgIGlmIChkaXIuZGVmICYmIGRpci5kZWYuY29tcG9uZW50VXBkYXRlZCkge1xuICAgICAgICAgICAgICAgIGRpcnNXaXRoUG9zdHBhdGNoLnB1c2goZGlyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGlyc1dpdGhJbnNlcnQubGVuZ3RoKSB7XG4gICAgICAgIHZhciBjYWxsSW5zZXJ0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXJzV2l0aEluc2VydC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNhbGxIb29rKGRpcnNXaXRoSW5zZXJ0W2ldLCAnaW5zZXJ0ZWQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpZiAoaXNDcmVhdGUpIHtcbiAgICAgICAgICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAnaW5zZXJ0JywgY2FsbEluc2VydCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjYWxsSW5zZXJ0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRpcnNXaXRoUG9zdHBhdGNoLmxlbmd0aCkge1xuICAgICAgICBtZXJnZVZOb2RlSG9vayh2bm9kZSwgJ3Bvc3RwYXRjaCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlyc1dpdGhQb3N0cGF0Y2gubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjYWxsSG9vayhkaXJzV2l0aFBvc3RwYXRjaFtpXSwgJ2NvbXBvbmVudFVwZGF0ZWQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKCFpc0NyZWF0ZSkge1xuICAgICAgICBmb3IgKGtleSBpbiBvbGREaXJzKSB7XG4gICAgICAgICAgICBpZiAoIW5ld0RpcnNba2V5XSkge1xuICAgICAgICAgICAgICAgIC8vIG5vIGxvbmdlciBwcmVzZW50LCB1bmJpbmRcbiAgICAgICAgICAgICAgICBjYWxsSG9vayhvbGREaXJzW2tleV0sICd1bmJpbmQnLCBvbGRWbm9kZSwgb2xkVm5vZGUsIGlzRGVzdHJveSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG52YXIgZW1wdHlNb2RpZmllcnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuZnVuY3Rpb24gbm9ybWFsaXplRGlyZWN0aXZlcyhkaXJzLCB2bSkge1xuICAgIHZhciByZXMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIGlmICghZGlycykge1xuICAgICAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgdmFyIGksIGRpcjtcbiAgICBmb3IgKGkgPSAwOyBpIDwgZGlycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBkaXIgPSBkaXJzW2ldO1xuICAgICAgICBpZiAoIWRpci5tb2RpZmllcnMpIHtcbiAgICAgICAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgICAgICAgZGlyLm1vZGlmaWVycyA9IGVtcHR5TW9kaWZpZXJzO1xuICAgICAgICB9XG4gICAgICAgIHJlc1tnZXRSYXdEaXJOYW1lKGRpcildID0gZGlyO1xuICAgICAgICBpZiAodm0uX3NldHVwU3RhdGUgJiYgdm0uX3NldHVwU3RhdGUuX19zZmMpIHtcbiAgICAgICAgICAgIHZhciBzZXR1cERlZiA9IGRpci5kZWYgfHwgcmVzb2x2ZUFzc2V0KHZtLCAnX3NldHVwU3RhdGUnLCAndi0nICsgZGlyLm5hbWUpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBzZXR1cERlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGRpci5kZWYgPSB7XG4gICAgICAgICAgICAgICAgICAgIGJpbmQ6IHNldHVwRGVmLFxuICAgICAgICAgICAgICAgICAgICB1cGRhdGU6IHNldHVwRGVmLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBkaXIuZGVmID0gc2V0dXBEZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGlyLmRlZiA9IGRpci5kZWYgfHwgcmVzb2x2ZUFzc2V0KHZtLiRvcHRpb25zLCAnZGlyZWN0aXZlcycsIGRpci5uYW1lLCB0cnVlKTtcbiAgICB9XG4gICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgcmV0dXJuIHJlcztcbn1cbmZ1bmN0aW9uIGdldFJhd0Rpck5hbWUoZGlyKSB7XG4gICAgcmV0dXJuIChkaXIucmF3TmFtZSB8fCBcIlwiLmNvbmNhdChkaXIubmFtZSwgXCIuXCIpLmNvbmNhdChPYmplY3Qua2V5cyhkaXIubW9kaWZpZXJzIHx8IHt9KS5qb2luKCcuJykpKTtcbn1cbmZ1bmN0aW9uIGNhbGxIb29rKGRpciwgaG9vaywgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpIHtcbiAgICB2YXIgZm4gPSBkaXIuZGVmICYmIGRpci5kZWZbaG9va107XG4gICAgaWYgKGZuKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBmbih2bm9kZS5lbG0sIGRpciwgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBoYW5kbGVFcnJvcihlLCB2bm9kZS5jb250ZXh0LCBcImRpcmVjdGl2ZSBcIi5jb25jYXQoZGlyLm5hbWUsIFwiIFwiKS5jb25jYXQoaG9vaywgXCIgaG9va1wiKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnZhciBiYXNlTW9kdWxlcyA9IFtyZWYsIGRpcmVjdGl2ZXMkMV07XG5cbmZ1bmN0aW9uIHVwZGF0ZUF0dHJzKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIHZhciBvcHRzID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICBpZiAoaXNEZWYob3B0cykgJiYgb3B0cy5DdG9yLm9wdGlvbnMuaW5oZXJpdEF0dHJzID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpc1VuZGVmKG9sZFZub2RlLmRhdGEuYXR0cnMpICYmIGlzVW5kZWYodm5vZGUuZGF0YS5hdHRycykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIga2V5LCBjdXIsIG9sZDtcbiAgICB2YXIgZWxtID0gdm5vZGUuZWxtO1xuICAgIHZhciBvbGRBdHRycyA9IG9sZFZub2RlLmRhdGEuYXR0cnMgfHwge307XG4gICAgdmFyIGF0dHJzID0gdm5vZGUuZGF0YS5hdHRycyB8fCB7fTtcbiAgICAvLyBjbG9uZSBvYnNlcnZlZCBvYmplY3RzLCBhcyB0aGUgdXNlciBwcm9iYWJseSB3YW50cyB0byBtdXRhdGUgaXRcbiAgICBpZiAoaXNEZWYoYXR0cnMuX19vYl9fKSB8fCBpc1RydWUoYXR0cnMuX3ZfYXR0cl9wcm94eSkpIHtcbiAgICAgICAgYXR0cnMgPSB2bm9kZS5kYXRhLmF0dHJzID0gZXh0ZW5kKHt9LCBhdHRycyk7XG4gICAgfVxuICAgIGZvciAoa2V5IGluIGF0dHJzKSB7XG4gICAgICAgIGN1ciA9IGF0dHJzW2tleV07XG4gICAgICAgIG9sZCA9IG9sZEF0dHJzW2tleV07XG4gICAgICAgIGlmIChvbGQgIT09IGN1cikge1xuICAgICAgICAgICAgc2V0QXR0cihlbG0sIGtleSwgY3VyLCB2bm9kZS5kYXRhLnByZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gIzQzOTE6IGluIElFOSwgc2V0dGluZyB0eXBlIGNhbiByZXNldCB2YWx1ZSBmb3IgaW5wdXRbdHlwZT1yYWRpb11cbiAgICAvLyAjNjY2NjogSUUvRWRnZSBmb3JjZXMgcHJvZ3Jlc3MgdmFsdWUgZG93biB0byAxIGJlZm9yZSBzZXR0aW5nIGEgbWF4XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKChpc0lFIHx8IGlzRWRnZSkgJiYgYXR0cnMudmFsdWUgIT09IG9sZEF0dHJzLnZhbHVlKSB7XG4gICAgICAgIHNldEF0dHIoZWxtLCAndmFsdWUnLCBhdHRycy52YWx1ZSk7XG4gICAgfVxuICAgIGZvciAoa2V5IGluIG9sZEF0dHJzKSB7XG4gICAgICAgIGlmIChpc1VuZGVmKGF0dHJzW2tleV0pKSB7XG4gICAgICAgICAgICBpZiAoaXNYbGluayhrZXkpKSB7XG4gICAgICAgICAgICAgICAgZWxtLnJlbW92ZUF0dHJpYnV0ZU5TKHhsaW5rTlMsIGdldFhsaW5rUHJvcChrZXkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCFpc0VudW1lcmF0ZWRBdHRyKGtleSkpIHtcbiAgICAgICAgICAgICAgICBlbG0ucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBzZXRBdHRyKGVsLCBrZXksIHZhbHVlLCBpc0luUHJlKSB7XG4gICAgaWYgKGlzSW5QcmUgfHwgZWwudGFnTmFtZS5pbmRleE9mKCctJykgPiAtMSkge1xuICAgICAgICBiYXNlU2V0QXR0cihlbCwga2V5LCB2YWx1ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzQm9vbGVhbkF0dHIoa2V5KSkge1xuICAgICAgICAvLyBzZXQgYXR0cmlidXRlIGZvciBibGFuayB2YWx1ZVxuICAgICAgICAvLyBlLmcuIDxvcHRpb24gZGlzYWJsZWQ+U2VsZWN0IG9uZTwvb3B0aW9uPlxuICAgICAgICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gdGVjaG5pY2FsbHkgYWxsb3dmdWxsc2NyZWVuIGlzIGEgYm9vbGVhbiBhdHRyaWJ1dGUgZm9yIDxpZnJhbWU+LFxuICAgICAgICAgICAgLy8gYnV0IEZsYXNoIGV4cGVjdHMgYSB2YWx1ZSBvZiBcInRydWVcIiB3aGVuIHVzZWQgb24gPGVtYmVkPiB0YWdcbiAgICAgICAgICAgIHZhbHVlID0ga2V5ID09PSAnYWxsb3dmdWxsc2NyZWVuJyAmJiBlbC50YWdOYW1lID09PSAnRU1CRUQnID8gJ3RydWUnIDoga2V5O1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzRW51bWVyYXRlZEF0dHIoa2V5KSkge1xuICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCBjb252ZXJ0RW51bWVyYXRlZFZhbHVlKGtleSwgdmFsdWUpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNYbGluayhrZXkpKSB7XG4gICAgICAgIGlmIChpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSkge1xuICAgICAgICAgICAgZWwucmVtb3ZlQXR0cmlidXRlTlMoeGxpbmtOUywgZ2V0WGxpbmtQcm9wKGtleSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlTlMoeGxpbmtOUywga2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGJhc2VTZXRBdHRyKGVsLCBrZXksIHZhbHVlKTtcbiAgICB9XG59XG5mdW5jdGlvbiBiYXNlU2V0QXR0cihlbCwga2V5LCB2YWx1ZSkge1xuICAgIGlmIChpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSkge1xuICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vICM3MTM4OiBJRTEwICYgMTEgZmlyZXMgaW5wdXQgZXZlbnQgd2hlbiBzZXR0aW5nIHBsYWNlaG9sZGVyIG9uXG4gICAgICAgIC8vIDx0ZXh0YXJlYT4uLi4gYmxvY2sgdGhlIGZpcnN0IGlucHV0IGV2ZW50IGFuZCByZW1vdmUgdGhlIGJsb2NrZXJcbiAgICAgICAgLy8gaW1tZWRpYXRlbHkuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoaXNJRSAmJlxuICAgICAgICAgICAgIWlzSUU5ICYmXG4gICAgICAgICAgICBlbC50YWdOYW1lID09PSAnVEVYVEFSRUEnICYmXG4gICAgICAgICAgICBrZXkgPT09ICdwbGFjZWhvbGRlcicgJiZcbiAgICAgICAgICAgIHZhbHVlICE9PSAnJyAmJlxuICAgICAgICAgICAgIWVsLl9faWVwaCkge1xuICAgICAgICAgICAgdmFyIGJsb2NrZXJfMSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCdpbnB1dCcsIGJsb2NrZXJfMSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBibG9ja2VyXzEpO1xuICAgICAgICAgICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgICAgICAgICBlbC5fX2llcGggPSB0cnVlOyAvKiBJRSBwbGFjZWhvbGRlciBwYXRjaGVkICovXG4gICAgICAgIH1cbiAgICAgICAgZWwuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgIH1cbn1cbnZhciBhdHRycyA9IHtcbiAgICBjcmVhdGU6IHVwZGF0ZUF0dHJzLFxuICAgIHVwZGF0ZTogdXBkYXRlQXR0cnNcbn07XG5cbmZ1bmN0aW9uIHVwZGF0ZUNsYXNzKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIHZhciBlbCA9IHZub2RlLmVsbTtcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgdmFyIG9sZERhdGEgPSBvbGRWbm9kZS5kYXRhO1xuICAgIGlmIChpc1VuZGVmKGRhdGEuc3RhdGljQ2xhc3MpICYmXG4gICAgICAgIGlzVW5kZWYoZGF0YS5jbGFzcykgJiZcbiAgICAgICAgKGlzVW5kZWYob2xkRGF0YSkgfHxcbiAgICAgICAgICAgIChpc1VuZGVmKG9sZERhdGEuc3RhdGljQ2xhc3MpICYmIGlzVW5kZWYob2xkRGF0YS5jbGFzcykpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBjbHMgPSBnZW5DbGFzc0ZvclZub2RlKHZub2RlKTtcbiAgICAvLyBoYW5kbGUgdHJhbnNpdGlvbiBjbGFzc2VzXG4gICAgdmFyIHRyYW5zaXRpb25DbGFzcyA9IGVsLl90cmFuc2l0aW9uQ2xhc3NlcztcbiAgICBpZiAoaXNEZWYodHJhbnNpdGlvbkNsYXNzKSkge1xuICAgICAgICBjbHMgPSBjb25jYXQoY2xzLCBzdHJpbmdpZnlDbGFzcyh0cmFuc2l0aW9uQ2xhc3MpKTtcbiAgICB9XG4gICAgLy8gc2V0IHRoZSBjbGFzc1xuICAgIGlmIChjbHMgIT09IGVsLl9wcmV2Q2xhc3MpIHtcbiAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIGNscyk7XG4gICAgICAgIGVsLl9wcmV2Q2xhc3MgPSBjbHM7XG4gICAgfVxufVxudmFyIGtsYXNzJDEgPSB7XG4gICAgY3JlYXRlOiB1cGRhdGVDbGFzcyxcbiAgICB1cGRhdGU6IHVwZGF0ZUNsYXNzXG59O1xuXG52YXIgdmFsaWREaXZpc2lvbkNoYXJSRSA9IC9bXFx3KS4rXFwtXyRcXF1dLztcbmZ1bmN0aW9uIHBhcnNlRmlsdGVycyhleHApIHtcbiAgICB2YXIgaW5TaW5nbGUgPSBmYWxzZTtcbiAgICB2YXIgaW5Eb3VibGUgPSBmYWxzZTtcbiAgICB2YXIgaW5UZW1wbGF0ZVN0cmluZyA9IGZhbHNlO1xuICAgIHZhciBpblJlZ2V4ID0gZmFsc2U7XG4gICAgdmFyIGN1cmx5ID0gMDtcbiAgICB2YXIgc3F1YXJlID0gMDtcbiAgICB2YXIgcGFyZW4gPSAwO1xuICAgIHZhciBsYXN0RmlsdGVySW5kZXggPSAwO1xuICAgIHZhciBjLCBwcmV2LCBpLCBleHByZXNzaW9uLCBmaWx0ZXJzO1xuICAgIGZvciAoaSA9IDA7IGkgPCBleHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcHJldiA9IGM7XG4gICAgICAgIGMgPSBleHAuY2hhckNvZGVBdChpKTtcbiAgICAgICAgaWYgKGluU2luZ2xlKSB7XG4gICAgICAgICAgICBpZiAoYyA9PT0gMHgyNyAmJiBwcmV2ICE9PSAweDVjKVxuICAgICAgICAgICAgICAgIGluU2luZ2xlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaW5Eb3VibGUpIHtcbiAgICAgICAgICAgIGlmIChjID09PSAweDIyICYmIHByZXYgIT09IDB4NWMpXG4gICAgICAgICAgICAgICAgaW5Eb3VibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpblRlbXBsYXRlU3RyaW5nKSB7XG4gICAgICAgICAgICBpZiAoYyA9PT0gMHg2MCAmJiBwcmV2ICE9PSAweDVjKVxuICAgICAgICAgICAgICAgIGluVGVtcGxhdGVTdHJpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpblJlZ2V4KSB7XG4gICAgICAgICAgICBpZiAoYyA9PT0gMHgyZiAmJiBwcmV2ICE9PSAweDVjKVxuICAgICAgICAgICAgICAgIGluUmVnZXggPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChjID09PSAweDdjICYmIC8vIHBpcGVcbiAgICAgICAgICAgIGV4cC5jaGFyQ29kZUF0KGkgKyAxKSAhPT0gMHg3YyAmJlxuICAgICAgICAgICAgZXhwLmNoYXJDb2RlQXQoaSAtIDEpICE9PSAweDdjICYmXG4gICAgICAgICAgICAhY3VybHkgJiZcbiAgICAgICAgICAgICFzcXVhcmUgJiZcbiAgICAgICAgICAgICFwYXJlbikge1xuICAgICAgICAgICAgaWYgKGV4cHJlc3Npb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIC8vIGZpcnN0IGZpbHRlciwgZW5kIG9mIGV4cHJlc3Npb25cbiAgICAgICAgICAgICAgICBsYXN0RmlsdGVySW5kZXggPSBpICsgMTtcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uID0gZXhwLnNsaWNlKDAsIGkpLnRyaW0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHB1c2hGaWx0ZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHN3aXRjaCAoYykge1xuICAgICAgICAgICAgICAgIGNhc2UgMHgyMjpcbiAgICAgICAgICAgICAgICAgICAgaW5Eb3VibGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhazsgLy8gXCJcbiAgICAgICAgICAgICAgICBjYXNlIDB4Mjc6XG4gICAgICAgICAgICAgICAgICAgIGluU2luZ2xlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vICdcbiAgICAgICAgICAgICAgICBjYXNlIDB4NjA6XG4gICAgICAgICAgICAgICAgICAgIGluVGVtcGxhdGVTdHJpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhazsgLy8gYFxuICAgICAgICAgICAgICAgIGNhc2UgMHgyODpcbiAgICAgICAgICAgICAgICAgICAgcGFyZW4rKztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIChcbiAgICAgICAgICAgICAgICBjYXNlIDB4Mjk6XG4gICAgICAgICAgICAgICAgICAgIHBhcmVuLS07XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrOyAvLyApXG4gICAgICAgICAgICAgICAgY2FzZSAweDViOlxuICAgICAgICAgICAgICAgICAgICBzcXVhcmUrKztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIFtcbiAgICAgICAgICAgICAgICBjYXNlIDB4NWQ6XG4gICAgICAgICAgICAgICAgICAgIHNxdWFyZS0tO1xuICAgICAgICAgICAgICAgICAgICBicmVhazsgLy8gXVxuICAgICAgICAgICAgICAgIGNhc2UgMHg3YjpcbiAgICAgICAgICAgICAgICAgICAgY3VybHkrKztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIHtcbiAgICAgICAgICAgICAgICBjYXNlIDB4N2Q6XG4gICAgICAgICAgICAgICAgICAgIGN1cmx5LS07XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrOyAvLyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYyA9PT0gMHgyZikge1xuICAgICAgICAgICAgICAgIC8vIC9cbiAgICAgICAgICAgICAgICB2YXIgaiA9IGkgLSAxO1xuICAgICAgICAgICAgICAgIHZhciBwIFxuICAgICAgICAgICAgICAgIC8vIGZpbmQgZmlyc3Qgbm9uLXdoaXRlc3BhY2UgcHJldiBjaGFyXG4gICAgICAgICAgICAgICAgPSB2b2lkIDA7XG4gICAgICAgICAgICAgICAgLy8gZmluZCBmaXJzdCBub24td2hpdGVzcGFjZSBwcmV2IGNoYXJcbiAgICAgICAgICAgICAgICBmb3IgKDsgaiA+PSAwOyBqLS0pIHtcbiAgICAgICAgICAgICAgICAgICAgcCA9IGV4cC5jaGFyQXQoaik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwICE9PSAnICcpXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFwIHx8ICF2YWxpZERpdmlzaW9uQ2hhclJFLnRlc3QocCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5SZWdleCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChleHByZXNzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZXhwcmVzc2lvbiA9IGV4cC5zbGljZSgwLCBpKS50cmltKCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGxhc3RGaWx0ZXJJbmRleCAhPT0gMCkge1xuICAgICAgICBwdXNoRmlsdGVyKCk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHB1c2hGaWx0ZXIoKSB7XG4gICAgICAgIChmaWx0ZXJzIHx8IChmaWx0ZXJzID0gW10pKS5wdXNoKGV4cC5zbGljZShsYXN0RmlsdGVySW5kZXgsIGkpLnRyaW0oKSk7XG4gICAgICAgIGxhc3RGaWx0ZXJJbmRleCA9IGkgKyAxO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycykge1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZmlsdGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZXhwcmVzc2lvbiA9IHdyYXBGaWx0ZXIoZXhwcmVzc2lvbiwgZmlsdGVyc1tpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG59XG5mdW5jdGlvbiB3cmFwRmlsdGVyKGV4cCwgZmlsdGVyKSB7XG4gICAgdmFyIGkgPSBmaWx0ZXIuaW5kZXhPZignKCcpO1xuICAgIGlmIChpIDwgMCkge1xuICAgICAgICAvLyBfZjogcmVzb2x2ZUZpbHRlclxuICAgICAgICByZXR1cm4gXCJfZihcXFwiXCIuY29uY2F0KGZpbHRlciwgXCJcXFwiKShcIikuY29uY2F0KGV4cCwgXCIpXCIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIG5hbWVfMSA9IGZpbHRlci5zbGljZSgwLCBpKTtcbiAgICAgICAgdmFyIGFyZ3MgPSBmaWx0ZXIuc2xpY2UoaSArIDEpO1xuICAgICAgICByZXR1cm4gXCJfZihcXFwiXCIuY29uY2F0KG5hbWVfMSwgXCJcXFwiKShcIikuY29uY2F0KGV4cCkuY29uY2F0KGFyZ3MgIT09ICcpJyA/ICcsJyArIGFyZ3MgOiBhcmdzKTtcbiAgICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG5mdW5jdGlvbiBiYXNlV2Fybihtc2csIHJhbmdlKSB7XG4gICAgY29uc29sZS5lcnJvcihcIltWdWUgY29tcGlsZXJdOiBcIi5jb25jYXQobXNnKSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC12YXJzICovXG5mdW5jdGlvbiBwbHVja01vZHVsZUZ1bmN0aW9uKG1vZHVsZXMsIGtleSkge1xuICAgIHJldHVybiBtb2R1bGVzID8gbW9kdWxlcy5tYXAoZnVuY3Rpb24gKG0pIHsgcmV0dXJuIG1ba2V5XTsgfSkuZmlsdGVyKGZ1bmN0aW9uIChfKSB7IHJldHVybiBfOyB9KSA6IFtdO1xufVxuZnVuY3Rpb24gYWRkUHJvcChlbCwgbmFtZSwgdmFsdWUsIHJhbmdlLCBkeW5hbWljKSB7XG4gICAgKGVsLnByb3BzIHx8IChlbC5wcm9wcyA9IFtdKSkucHVzaChyYW5nZVNldEl0ZW0oeyBuYW1lOiBuYW1lLCB2YWx1ZTogdmFsdWUsIGR5bmFtaWM6IGR5bmFtaWMgfSwgcmFuZ2UpKTtcbiAgICBlbC5wbGFpbiA9IGZhbHNlO1xufVxuZnVuY3Rpb24gYWRkQXR0cihlbCwgbmFtZSwgdmFsdWUsIHJhbmdlLCBkeW5hbWljKSB7XG4gICAgdmFyIGF0dHJzID0gZHluYW1pY1xuICAgICAgICA/IGVsLmR5bmFtaWNBdHRycyB8fCAoZWwuZHluYW1pY0F0dHJzID0gW10pXG4gICAgICAgIDogZWwuYXR0cnMgfHwgKGVsLmF0dHJzID0gW10pO1xuICAgIGF0dHJzLnB1c2gocmFuZ2VTZXRJdGVtKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlLCBkeW5hbWljOiBkeW5hbWljIH0sIHJhbmdlKSk7XG4gICAgZWwucGxhaW4gPSBmYWxzZTtcbn1cbi8vIGFkZCBhIHJhdyBhdHRyICh1c2UgdGhpcyBpbiBwcmVUcmFuc2Zvcm1zKVxuZnVuY3Rpb24gYWRkUmF3QXR0cihlbCwgbmFtZSwgdmFsdWUsIHJhbmdlKSB7XG4gICAgZWwuYXR0cnNNYXBbbmFtZV0gPSB2YWx1ZTtcbiAgICBlbC5hdHRyc0xpc3QucHVzaChyYW5nZVNldEl0ZW0oeyBuYW1lOiBuYW1lLCB2YWx1ZTogdmFsdWUgfSwgcmFuZ2UpKTtcbn1cbmZ1bmN0aW9uIGFkZERpcmVjdGl2ZShlbCwgbmFtZSwgcmF3TmFtZSwgdmFsdWUsIGFyZywgaXNEeW5hbWljQXJnLCBtb2RpZmllcnMsIHJhbmdlKSB7XG4gICAgKGVsLmRpcmVjdGl2ZXMgfHwgKGVsLmRpcmVjdGl2ZXMgPSBbXSkpLnB1c2gocmFuZ2VTZXRJdGVtKHtcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgcmF3TmFtZTogcmF3TmFtZSxcbiAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICBhcmc6IGFyZyxcbiAgICAgICAgaXNEeW5hbWljQXJnOiBpc0R5bmFtaWNBcmcsXG4gICAgICAgIG1vZGlmaWVyczogbW9kaWZpZXJzXG4gICAgfSwgcmFuZ2UpKTtcbiAgICBlbC5wbGFpbiA9IGZhbHNlO1xufVxuZnVuY3Rpb24gcHJlcGVuZE1vZGlmaWVyTWFya2VyKHN5bWJvbCwgbmFtZSwgZHluYW1pYykge1xuICAgIHJldHVybiBkeW5hbWljID8gXCJfcChcIi5jb25jYXQobmFtZSwgXCIsXFxcIlwiKS5jb25jYXQoc3ltYm9sLCBcIlxcXCIpXCIpIDogc3ltYm9sICsgbmFtZTsgLy8gbWFyayB0aGUgZXZlbnQgYXMgY2FwdHVyZWRcbn1cbmZ1bmN0aW9uIGFkZEhhbmRsZXIoZWwsIG5hbWUsIHZhbHVlLCBtb2RpZmllcnMsIGltcG9ydGFudCwgd2FybiwgcmFuZ2UsIGR5bmFtaWMpIHtcbiAgICBtb2RpZmllcnMgPSBtb2RpZmllcnMgfHwgZW1wdHlPYmplY3Q7XG4gICAgLy8gd2FybiBwcmV2ZW50IGFuZCBwYXNzaXZlIG1vZGlmaWVyXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybiAmJiBtb2RpZmllcnMucHJldmVudCAmJiBtb2RpZmllcnMucGFzc2l2ZSkge1xuICAgICAgICB3YXJuKFwicGFzc2l2ZSBhbmQgcHJldmVudCBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyLiBcIiArXG4gICAgICAgICAgICBcIlBhc3NpdmUgaGFuZGxlciBjYW4ndCBwcmV2ZW50IGRlZmF1bHQgZXZlbnQuXCIsIHJhbmdlKTtcbiAgICB9XG4gICAgLy8gbm9ybWFsaXplIGNsaWNrLnJpZ2h0IGFuZCBjbGljay5taWRkbGUgc2luY2UgdGhleSBkb24ndCBhY3R1YWxseSBmaXJlXG4gICAgLy8gdGhpcyBpcyB0ZWNobmljYWxseSBicm93c2VyLXNwZWNpZmljLCBidXQgYXQgbGVhc3QgZm9yIG5vdyBicm93c2VycyBhcmVcbiAgICAvLyB0aGUgb25seSB0YXJnZXQgZW52cyB0aGF0IGhhdmUgcmlnaHQvbWlkZGxlIGNsaWNrcy5cbiAgICBpZiAobW9kaWZpZXJzLnJpZ2h0KSB7XG4gICAgICAgIGlmIChkeW5hbWljKSB7XG4gICAgICAgICAgICBuYW1lID0gXCIoXCIuY29uY2F0KG5hbWUsIFwiKT09PSdjbGljayc/J2NvbnRleHRtZW51JzooXCIpLmNvbmNhdChuYW1lLCBcIilcIik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobmFtZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgbmFtZSA9ICdjb250ZXh0bWVudSc7XG4gICAgICAgICAgICBkZWxldGUgbW9kaWZpZXJzLnJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKG1vZGlmaWVycy5taWRkbGUpIHtcbiAgICAgICAgaWYgKGR5bmFtaWMpIHtcbiAgICAgICAgICAgIG5hbWUgPSBcIihcIi5jb25jYXQobmFtZSwgXCIpPT09J2NsaWNrJz8nbW91c2V1cCc6KFwiKS5jb25jYXQobmFtZSwgXCIpXCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG5hbWUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIG5hbWUgPSAnbW91c2V1cCc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gY2hlY2sgY2FwdHVyZSBtb2RpZmllclxuICAgIGlmIChtb2RpZmllcnMuY2FwdHVyZSkge1xuICAgICAgICBkZWxldGUgbW9kaWZpZXJzLmNhcHR1cmU7XG4gICAgICAgIG5hbWUgPSBwcmVwZW5kTW9kaWZpZXJNYXJrZXIoJyEnLCBuYW1lLCBkeW5hbWljKTtcbiAgICB9XG4gICAgaWYgKG1vZGlmaWVycy5vbmNlKSB7XG4gICAgICAgIGRlbGV0ZSBtb2RpZmllcnMub25jZTtcbiAgICAgICAgbmFtZSA9IHByZXBlbmRNb2RpZmllck1hcmtlcignficsIG5hbWUsIGR5bmFtaWMpO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAobW9kaWZpZXJzLnBhc3NpdmUpIHtcbiAgICAgICAgZGVsZXRlIG1vZGlmaWVycy5wYXNzaXZlO1xuICAgICAgICBuYW1lID0gcHJlcGVuZE1vZGlmaWVyTWFya2VyKCcmJywgbmFtZSwgZHluYW1pYyk7XG4gICAgfVxuICAgIHZhciBldmVudHM7XG4gICAgaWYgKG1vZGlmaWVycy5uYXRpdmUpIHtcbiAgICAgICAgZGVsZXRlIG1vZGlmaWVycy5uYXRpdmU7XG4gICAgICAgIGV2ZW50cyA9IGVsLm5hdGl2ZUV2ZW50cyB8fCAoZWwubmF0aXZlRXZlbnRzID0ge30pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgZXZlbnRzID0gZWwuZXZlbnRzIHx8IChlbC5ldmVudHMgPSB7fSk7XG4gICAgfVxuICAgIHZhciBuZXdIYW5kbGVyID0gcmFuZ2VTZXRJdGVtKHsgdmFsdWU6IHZhbHVlLnRyaW0oKSwgZHluYW1pYzogZHluYW1pYyB9LCByYW5nZSk7XG4gICAgaWYgKG1vZGlmaWVycyAhPT0gZW1wdHlPYmplY3QpIHtcbiAgICAgICAgbmV3SGFuZGxlci5tb2RpZmllcnMgPSBtb2RpZmllcnM7XG4gICAgfVxuICAgIHZhciBoYW5kbGVycyA9IGV2ZW50c1tuYW1lXTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVycykpIHtcbiAgICAgICAgaW1wb3J0YW50ID8gaGFuZGxlcnMudW5zaGlmdChuZXdIYW5kbGVyKSA6IGhhbmRsZXJzLnB1c2gobmV3SGFuZGxlcik7XG4gICAgfVxuICAgIGVsc2UgaWYgKGhhbmRsZXJzKSB7XG4gICAgICAgIGV2ZW50c1tuYW1lXSA9IGltcG9ydGFudCA/IFtuZXdIYW5kbGVyLCBoYW5kbGVyc10gOiBbaGFuZGxlcnMsIG5ld0hhbmRsZXJdO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgZXZlbnRzW25hbWVdID0gbmV3SGFuZGxlcjtcbiAgICB9XG4gICAgZWwucGxhaW4gPSBmYWxzZTtcbn1cbmZ1bmN0aW9uIGdldFJhd0JpbmRpbmdBdHRyKGVsLCBuYW1lKSB7XG4gICAgcmV0dXJuIChlbC5yYXdBdHRyc01hcFsnOicgKyBuYW1lXSB8fFxuICAgICAgICBlbC5yYXdBdHRyc01hcFsndi1iaW5kOicgKyBuYW1lXSB8fFxuICAgICAgICBlbC5yYXdBdHRyc01hcFtuYW1lXSk7XG59XG5mdW5jdGlvbiBnZXRCaW5kaW5nQXR0cihlbCwgbmFtZSwgZ2V0U3RhdGljKSB7XG4gICAgdmFyIGR5bmFtaWNWYWx1ZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICc6JyArIG5hbWUpIHx8IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWJpbmQ6JyArIG5hbWUpO1xuICAgIGlmIChkeW5hbWljVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcGFyc2VGaWx0ZXJzKGR5bmFtaWNWYWx1ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGdldFN0YXRpYyAhPT0gZmFsc2UpIHtcbiAgICAgICAgdmFyIHN0YXRpY1ZhbHVlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgbmFtZSk7XG4gICAgICAgIGlmIChzdGF0aWNWYWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc3RhdGljVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gbm90ZTogdGhpcyBvbmx5IHJlbW92ZXMgdGhlIGF0dHIgZnJvbSB0aGUgQXJyYXkgKGF0dHJzTGlzdCkgc28gdGhhdCBpdFxuLy8gZG9lc24ndCBnZXQgcHJvY2Vzc2VkIGJ5IHByb2Nlc3NBdHRycy5cbi8vIEJ5IGRlZmF1bHQgaXQgZG9lcyBOT1QgcmVtb3ZlIGl0IGZyb20gdGhlIG1hcCAoYXR0cnNNYXApIGJlY2F1c2UgdGhlIG1hcCBpc1xuLy8gbmVlZGVkIGR1cmluZyBjb2RlZ2VuLlxuZnVuY3Rpb24gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgbmFtZSwgcmVtb3ZlRnJvbU1hcCkge1xuICAgIHZhciB2YWw7XG4gICAgaWYgKCh2YWwgPSBlbC5hdHRyc01hcFtuYW1lXSkgIT0gbnVsbCkge1xuICAgICAgICB2YXIgbGlzdCA9IGVsLmF0dHJzTGlzdDtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgaWYgKGxpc3RbaV0ubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgICAgIGxpc3Quc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChyZW1vdmVGcm9tTWFwKSB7XG4gICAgICAgIGRlbGV0ZSBlbC5hdHRyc01hcFtuYW1lXTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbn1cbmZ1bmN0aW9uIGdldEFuZFJlbW92ZUF0dHJCeVJlZ2V4KGVsLCBuYW1lKSB7XG4gICAgdmFyIGxpc3QgPSBlbC5hdHRyc0xpc3Q7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICB2YXIgYXR0ciA9IGxpc3RbaV07XG4gICAgICAgIGlmIChuYW1lLnRlc3QoYXR0ci5uYW1lKSkge1xuICAgICAgICAgICAgbGlzdC5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICByZXR1cm4gYXR0cjtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIHJhbmdlU2V0SXRlbShpdGVtLCByYW5nZSkge1xuICAgIGlmIChyYW5nZSkge1xuICAgICAgICBpZiAocmFuZ2Uuc3RhcnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgaXRlbS5zdGFydCA9IHJhbmdlLnN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChyYW5nZS5lbmQgIT0gbnVsbCkge1xuICAgICAgICAgICAgaXRlbS5lbmQgPSByYW5nZS5lbmQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGl0ZW07XG59XG5cbi8qKlxuICogQ3Jvc3MtcGxhdGZvcm0gY29kZSBnZW5lcmF0aW9uIGZvciBjb21wb25lbnQgdi1tb2RlbFxuICovXG5mdW5jdGlvbiBnZW5Db21wb25lbnRNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycykge1xuICAgIHZhciBfYSA9IG1vZGlmaWVycyB8fCB7fSwgbnVtYmVyID0gX2EubnVtYmVyLCB0cmltID0gX2EudHJpbTtcbiAgICB2YXIgYmFzZVZhbHVlRXhwcmVzc2lvbiA9ICckJHYnO1xuICAgIHZhciB2YWx1ZUV4cHJlc3Npb24gPSBiYXNlVmFsdWVFeHByZXNzaW9uO1xuICAgIGlmICh0cmltKSB7XG4gICAgICAgIHZhbHVlRXhwcmVzc2lvbiA9XG4gICAgICAgICAgICBcIih0eXBlb2YgXCIuY29uY2F0KGJhc2VWYWx1ZUV4cHJlc3Npb24sIFwiID09PSAnc3RyaW5nJ1wiKSArXG4gICAgICAgICAgICAgICAgXCI/IFwiLmNvbmNhdChiYXNlVmFsdWVFeHByZXNzaW9uLCBcIi50cmltKClcIikgK1xuICAgICAgICAgICAgICAgIFwiOiBcIi5jb25jYXQoYmFzZVZhbHVlRXhwcmVzc2lvbiwgXCIpXCIpO1xuICAgIH1cbiAgICBpZiAobnVtYmVyKSB7XG4gICAgICAgIHZhbHVlRXhwcmVzc2lvbiA9IFwiX24oXCIuY29uY2F0KHZhbHVlRXhwcmVzc2lvbiwgXCIpXCIpO1xuICAgIH1cbiAgICB2YXIgYXNzaWdubWVudCA9IGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCB2YWx1ZUV4cHJlc3Npb24pO1xuICAgIGVsLm1vZGVsID0ge1xuICAgICAgICB2YWx1ZTogXCIoXCIuY29uY2F0KHZhbHVlLCBcIilcIiksXG4gICAgICAgIGV4cHJlc3Npb246IEpTT04uc3RyaW5naWZ5KHZhbHVlKSxcbiAgICAgICAgY2FsbGJhY2s6IFwiZnVuY3Rpb24gKFwiLmNvbmNhdChiYXNlVmFsdWVFeHByZXNzaW9uLCBcIikge1wiKS5jb25jYXQoYXNzaWdubWVudCwgXCJ9XCIpXG4gICAgfTtcbn1cbi8qKlxuICogQ3Jvc3MtcGxhdGZvcm0gY29kZWdlbiBoZWxwZXIgZm9yIGdlbmVyYXRpbmcgdi1tb2RlbCB2YWx1ZSBhc3NpZ25tZW50IGNvZGUuXG4gKi9cbmZ1bmN0aW9uIGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCBhc3NpZ25tZW50KSB7XG4gICAgdmFyIHJlcyA9IHBhcnNlTW9kZWwodmFsdWUpO1xuICAgIGlmIChyZXMua2V5ID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBcIlwiLmNvbmNhdCh2YWx1ZSwgXCI9XCIpLmNvbmNhdChhc3NpZ25tZW50KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBcIiRzZXQoXCIuY29uY2F0KHJlcy5leHAsIFwiLCBcIikuY29uY2F0KHJlcy5rZXksIFwiLCBcIikuY29uY2F0KGFzc2lnbm1lbnQsIFwiKVwiKTtcbiAgICB9XG59XG4vKipcbiAqIFBhcnNlIGEgdi1tb2RlbCBleHByZXNzaW9uIGludG8gYSBiYXNlIHBhdGggYW5kIGEgZmluYWwga2V5IHNlZ21lbnQuXG4gKiBIYW5kbGVzIGJvdGggZG90LXBhdGggYW5kIHBvc3NpYmxlIHNxdWFyZSBicmFja2V0cy5cbiAqXG4gKiBQb3NzaWJsZSBjYXNlczpcbiAqXG4gKiAtIHRlc3RcbiAqIC0gdGVzdFtrZXldXG4gKiAtIHRlc3RbdGVzdDFba2V5XV1cbiAqIC0gdGVzdFtcImFcIl1ba2V5XVxuICogLSB4eHgudGVzdFthW2FdLnRlc3QxW2tleV1dXG4gKiAtIHRlc3QueHh4LmFbXCJhc2FcIl1bdGVzdDFba2V5XV1cbiAqXG4gKi9cbnZhciBsZW4sIHN0ciwgY2hyLCBpbmRleCwgZXhwcmVzc2lvblBvcywgZXhwcmVzc2lvbkVuZFBvcztcbmZ1bmN0aW9uIHBhcnNlTW9kZWwodmFsKSB7XG4gICAgLy8gRml4IGh0dHBzOi8vZ2l0aHViLmNvbS92dWVqcy92dWUvcHVsbC83NzMwXG4gICAgLy8gYWxsb3cgdi1tb2RlbD1cIm9iai52YWwgXCIgKHRyYWlsaW5nIHdoaXRlc3BhY2UpXG4gICAgdmFsID0gdmFsLnRyaW0oKTtcbiAgICBsZW4gPSB2YWwubGVuZ3RoO1xuICAgIGlmICh2YWwuaW5kZXhPZignWycpIDwgMCB8fCB2YWwubGFzdEluZGV4T2YoJ10nKSA8IGxlbiAtIDEpIHtcbiAgICAgICAgaW5kZXggPSB2YWwubGFzdEluZGV4T2YoJy4nKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZXhwOiB2YWwuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICAgICAgICAgIGtleTogJ1wiJyArIHZhbC5zbGljZShpbmRleCArIDEpICsgJ1wiJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZXhwOiB2YWwsXG4gICAgICAgICAgICAgICAga2V5OiBudWxsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0ciA9IHZhbDtcbiAgICBpbmRleCA9IGV4cHJlc3Npb25Qb3MgPSBleHByZXNzaW9uRW5kUG9zID0gMDtcbiAgICB3aGlsZSAoIWVvZigpKSB7XG4gICAgICAgIGNociA9IG5leHQoKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChpc1N0cmluZ1N0YXJ0KGNocikpIHtcbiAgICAgICAgICAgIHBhcnNlU3RyaW5nKGNocik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY2hyID09PSAweDViKSB7XG4gICAgICAgICAgICBwYXJzZUJyYWNrZXQoY2hyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBleHA6IHZhbC5zbGljZSgwLCBleHByZXNzaW9uUG9zKSxcbiAgICAgICAga2V5OiB2YWwuc2xpY2UoZXhwcmVzc2lvblBvcyArIDEsIGV4cHJlc3Npb25FbmRQb3MpXG4gICAgfTtcbn1cbmZ1bmN0aW9uIG5leHQoKSB7XG4gICAgcmV0dXJuIHN0ci5jaGFyQ29kZUF0KCsraW5kZXgpO1xufVxuZnVuY3Rpb24gZW9mKCkge1xuICAgIHJldHVybiBpbmRleCA+PSBsZW47XG59XG5mdW5jdGlvbiBpc1N0cmluZ1N0YXJ0KGNocikge1xuICAgIHJldHVybiBjaHIgPT09IDB4MjIgfHwgY2hyID09PSAweDI3O1xufVxuZnVuY3Rpb24gcGFyc2VCcmFja2V0KGNocikge1xuICAgIHZhciBpbkJyYWNrZXQgPSAxO1xuICAgIGV4cHJlc3Npb25Qb3MgPSBpbmRleDtcbiAgICB3aGlsZSAoIWVvZigpKSB7XG4gICAgICAgIGNociA9IG5leHQoKTtcbiAgICAgICAgaWYgKGlzU3RyaW5nU3RhcnQoY2hyKSkge1xuICAgICAgICAgICAgcGFyc2VTdHJpbmcoY2hyKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaHIgPT09IDB4NWIpXG4gICAgICAgICAgICBpbkJyYWNrZXQrKztcbiAgICAgICAgaWYgKGNociA9PT0gMHg1ZClcbiAgICAgICAgICAgIGluQnJhY2tldC0tO1xuICAgICAgICBpZiAoaW5CcmFja2V0ID09PSAwKSB7XG4gICAgICAgICAgICBleHByZXNzaW9uRW5kUG9zID0gaW5kZXg7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIHBhcnNlU3RyaW5nKGNocikge1xuICAgIHZhciBzdHJpbmdRdW90ZSA9IGNocjtcbiAgICB3aGlsZSAoIWVvZigpKSB7XG4gICAgICAgIGNociA9IG5leHQoKTtcbiAgICAgICAgaWYgKGNociA9PT0gc3RyaW5nUXVvdGUpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG52YXIgd2FybiQxO1xuLy8gaW4gc29tZSBjYXNlcywgdGhlIGV2ZW50IHVzZWQgaGFzIHRvIGJlIGRldGVybWluZWQgYXQgcnVudGltZVxuLy8gc28gd2UgdXNlZCBzb21lIHJlc2VydmVkIHRva2VucyBkdXJpbmcgY29tcGlsZS5cbnZhciBSQU5HRV9UT0tFTiA9ICdfX3InO1xudmFyIENIRUNLQk9YX1JBRElPX1RPS0VOID0gJ19fYyc7XG5mdW5jdGlvbiBtb2RlbCQxKGVsLCBkaXIsIF93YXJuKSB7XG4gICAgd2FybiQxID0gX3dhcm47XG4gICAgdmFyIHZhbHVlID0gZGlyLnZhbHVlO1xuICAgIHZhciBtb2RpZmllcnMgPSBkaXIubW9kaWZpZXJzO1xuICAgIHZhciB0YWcgPSBlbC50YWc7XG4gICAgdmFyIHR5cGUgPSBlbC5hdHRyc01hcC50eXBlO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIC8vIGlucHV0cyB3aXRoIHR5cGU9XCJmaWxlXCIgYXJlIHJlYWQgb25seSBhbmQgc2V0dGluZyB0aGUgaW5wdXQnc1xuICAgICAgICAvLyB2YWx1ZSB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgICAgICBpZiAodGFnID09PSAnaW5wdXQnICYmIHR5cGUgPT09ICdmaWxlJykge1xuICAgICAgICAgICAgd2FybiQxKFwiPFwiLmNvbmNhdChlbC50YWcsIFwiIHYtbW9kZWw9XFxcIlwiKS5jb25jYXQodmFsdWUsIFwiXFxcIiB0eXBlPVxcXCJmaWxlXFxcIj46XFxuXCIpICtcbiAgICAgICAgICAgICAgICBcIkZpbGUgaW5wdXRzIGFyZSByZWFkIG9ubHkuIFVzZSBhIHYtb246Y2hhbmdlIGxpc3RlbmVyIGluc3RlYWQuXCIsIGVsLnJhd0F0dHJzTWFwWyd2LW1vZGVsJ10pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChlbC5jb21wb25lbnQpIHtcbiAgICAgICAgZ2VuQ29tcG9uZW50TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICAgICAgICAvLyBjb21wb25lbnQgdi1tb2RlbCBkb2Vzbid0IG5lZWQgZXh0cmEgcnVudGltZVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgICAgZ2VuU2VsZWN0KGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGFnID09PSAnaW5wdXQnICYmIHR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgICAgZ2VuQ2hlY2tib3hNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAncmFkaW8nKSB7XG4gICAgICAgIGdlblJhZGlvTW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICAgIH1cbiAgICBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAndGV4dGFyZWEnKSB7XG4gICAgICAgIGdlbkRlZmF1bHRNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKCFjb25maWcuaXNSZXNlcnZlZFRhZyh0YWcpKSB7XG4gICAgICAgIGdlbkNvbXBvbmVudE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAgICAgLy8gY29tcG9uZW50IHYtbW9kZWwgZG9lc24ndCBuZWVkIGV4dHJhIHJ1bnRpbWVcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhcm4kMShcIjxcIi5jb25jYXQoZWwudGFnLCBcIiB2LW1vZGVsPVxcXCJcIikuY29uY2F0KHZhbHVlLCBcIlxcXCI+OiBcIikgK1xuICAgICAgICAgICAgXCJ2LW1vZGVsIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBlbGVtZW50IHR5cGUuIFwiICtcbiAgICAgICAgICAgIFwiSWYgeW91IGFyZSB3b3JraW5nIHdpdGggY29udGVudGVkaXRhYmxlLCBpdCdzIHJlY29tbWVuZGVkIHRvIFwiICtcbiAgICAgICAgICAgICd3cmFwIGEgbGlicmFyeSBkZWRpY2F0ZWQgZm9yIHRoYXQgcHVycG9zZSBpbnNpZGUgYSBjdXN0b20gY29tcG9uZW50LicsIGVsLnJhd0F0dHJzTWFwWyd2LW1vZGVsJ10pO1xuICAgIH1cbiAgICAvLyBlbnN1cmUgcnVudGltZSBkaXJlY3RpdmUgbWV0YWRhdGFcbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGdlbkNoZWNrYm94TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpIHtcbiAgICB2YXIgbnVtYmVyID0gbW9kaWZpZXJzICYmIG1vZGlmaWVycy5udW1iZXI7XG4gICAgdmFyIHZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAndmFsdWUnKSB8fCAnbnVsbCc7XG4gICAgdmFyIHRydWVWYWx1ZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3RydWUtdmFsdWUnKSB8fCAndHJ1ZSc7XG4gICAgdmFyIGZhbHNlVmFsdWVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdmYWxzZS12YWx1ZScpIHx8ICdmYWxzZSc7XG4gICAgYWRkUHJvcChlbCwgJ2NoZWNrZWQnLCBcIkFycmF5LmlzQXJyYXkoXCIuY29uY2F0KHZhbHVlLCBcIilcIikgK1xuICAgICAgICBcIj9faShcIi5jb25jYXQodmFsdWUsIFwiLFwiKS5jb25jYXQodmFsdWVCaW5kaW5nLCBcIik+LTFcIikgK1xuICAgICAgICAodHJ1ZVZhbHVlQmluZGluZyA9PT0gJ3RydWUnXG4gICAgICAgICAgICA/IFwiOihcIi5jb25jYXQodmFsdWUsIFwiKVwiKVxuICAgICAgICAgICAgOiBcIjpfcShcIi5jb25jYXQodmFsdWUsIFwiLFwiKS5jb25jYXQodHJ1ZVZhbHVlQmluZGluZywgXCIpXCIpKSk7XG4gICAgYWRkSGFuZGxlcihlbCwgJ2NoYW5nZScsIFwidmFyICQkYT1cIi5jb25jYXQodmFsdWUsIFwiLFwiKSArXG4gICAgICAgICckJGVsPSRldmVudC50YXJnZXQsJyArXG4gICAgICAgIFwiJCRjPSQkZWwuY2hlY2tlZD8oXCIuY29uY2F0KHRydWVWYWx1ZUJpbmRpbmcsIFwiKTooXCIpLmNvbmNhdChmYWxzZVZhbHVlQmluZGluZywgXCIpO1wiKSArXG4gICAgICAgICdpZihBcnJheS5pc0FycmF5KCQkYSkpeycgK1xuICAgICAgICBcInZhciAkJHY9XCIuY29uY2F0KG51bWJlciA/ICdfbignICsgdmFsdWVCaW5kaW5nICsgJyknIDogdmFsdWVCaW5kaW5nLCBcIixcIikgK1xuICAgICAgICAnJCRpPV9pKCQkYSwkJHYpOycgK1xuICAgICAgICBcImlmKCQkZWwuY2hlY2tlZCl7JCRpPDAmJihcIi5jb25jYXQoZ2VuQXNzaWdubWVudENvZGUodmFsdWUsICckJGEuY29uY2F0KFskJHZdKScpLCBcIil9XCIpICtcbiAgICAgICAgXCJlbHNleyQkaT4tMSYmKFwiLmNvbmNhdChnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgJyQkYS5zbGljZSgwLCQkaSkuY29uY2F0KCQkYS5zbGljZSgkJGkrMSkpJyksIFwiKX1cIikgK1xuICAgICAgICBcIn1lbHNle1wiLmNvbmNhdChnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgJyQkYycpLCBcIn1cIiksIG51bGwsIHRydWUpO1xufVxuZnVuY3Rpb24gZ2VuUmFkaW9Nb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycykge1xuICAgIHZhciBudW1iZXIgPSBtb2RpZmllcnMgJiYgbW9kaWZpZXJzLm51bWJlcjtcbiAgICB2YXIgdmFsdWVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd2YWx1ZScpIHx8ICdudWxsJztcbiAgICB2YWx1ZUJpbmRpbmcgPSBudW1iZXIgPyBcIl9uKFwiLmNvbmNhdCh2YWx1ZUJpbmRpbmcsIFwiKVwiKSA6IHZhbHVlQmluZGluZztcbiAgICBhZGRQcm9wKGVsLCAnY2hlY2tlZCcsIFwiX3EoXCIuY29uY2F0KHZhbHVlLCBcIixcIikuY29uY2F0KHZhbHVlQmluZGluZywgXCIpXCIpKTtcbiAgICBhZGRIYW5kbGVyKGVsLCAnY2hhbmdlJywgZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIHZhbHVlQmluZGluZyksIG51bGwsIHRydWUpO1xufVxuZnVuY3Rpb24gZ2VuU2VsZWN0KGVsLCB2YWx1ZSwgbW9kaWZpZXJzKSB7XG4gICAgdmFyIG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICAgIHZhciBzZWxlY3RlZFZhbCA9IFwiQXJyYXkucHJvdG90eXBlLmZpbHRlclwiICtcbiAgICAgICAgXCIuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsZnVuY3Rpb24obyl7cmV0dXJuIG8uc2VsZWN0ZWR9KVwiICtcbiAgICAgICAgXCIubWFwKGZ1bmN0aW9uKG8pe3ZhciB2YWwgPSBcXFwiX3ZhbHVlXFxcIiBpbiBvID8gby5fdmFsdWUgOiBvLnZhbHVlO1wiICtcbiAgICAgICAgXCJyZXR1cm4gXCIuY29uY2F0KG51bWJlciA/ICdfbih2YWwpJyA6ICd2YWwnLCBcIn0pXCIpO1xuICAgIHZhciBhc3NpZ25tZW50ID0gJyRldmVudC50YXJnZXQubXVsdGlwbGUgPyAkJHNlbGVjdGVkVmFsIDogJCRzZWxlY3RlZFZhbFswXSc7XG4gICAgdmFyIGNvZGUgPSBcInZhciAkJHNlbGVjdGVkVmFsID0gXCIuY29uY2F0KHNlbGVjdGVkVmFsLCBcIjtcIik7XG4gICAgY29kZSA9IFwiXCIuY29uY2F0KGNvZGUsIFwiIFwiKS5jb25jYXQoZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIGFzc2lnbm1lbnQpKTtcbiAgICBhZGRIYW5kbGVyKGVsLCAnY2hhbmdlJywgY29kZSwgbnVsbCwgdHJ1ZSk7XG59XG5mdW5jdGlvbiBnZW5EZWZhdWx0TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpIHtcbiAgICB2YXIgdHlwZSA9IGVsLmF0dHJzTWFwLnR5cGU7XG4gICAgLy8gd2FybiBpZiB2LWJpbmQ6dmFsdWUgY29uZmxpY3RzIHdpdGggdi1tb2RlbFxuICAgIC8vIGV4Y2VwdCBmb3IgaW5wdXRzIHdpdGggdi1iaW5kOnR5cGVcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB2YXIgdmFsdWVfMSA9IGVsLmF0dHJzTWFwWyd2LWJpbmQ6dmFsdWUnXSB8fCBlbC5hdHRyc01hcFsnOnZhbHVlJ107XG4gICAgICAgIHZhciB0eXBlQmluZGluZyA9IGVsLmF0dHJzTWFwWyd2LWJpbmQ6dHlwZSddIHx8IGVsLmF0dHJzTWFwWyc6dHlwZSddO1xuICAgICAgICBpZiAodmFsdWVfMSAmJiAhdHlwZUJpbmRpbmcpIHtcbiAgICAgICAgICAgIHZhciBiaW5kaW5nID0gZWwuYXR0cnNNYXBbJ3YtYmluZDp2YWx1ZSddID8gJ3YtYmluZDp2YWx1ZScgOiAnOnZhbHVlJztcbiAgICAgICAgICAgIHdhcm4kMShcIlwiLmNvbmNhdChiaW5kaW5nLCBcIj1cXFwiXCIpLmNvbmNhdCh2YWx1ZV8xLCBcIlxcXCIgY29uZmxpY3RzIHdpdGggdi1tb2RlbCBvbiB0aGUgc2FtZSBlbGVtZW50IFwiKSArXG4gICAgICAgICAgICAgICAgJ2JlY2F1c2UgdGhlIGxhdHRlciBhbHJlYWR5IGV4cGFuZHMgdG8gYSB2YWx1ZSBiaW5kaW5nIGludGVybmFsbHknLCBlbC5yYXdBdHRyc01hcFtiaW5kaW5nXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIF9hID0gbW9kaWZpZXJzIHx8IHt9LCBsYXp5ID0gX2EubGF6eSwgbnVtYmVyID0gX2EubnVtYmVyLCB0cmltID0gX2EudHJpbTtcbiAgICB2YXIgbmVlZENvbXBvc2l0aW9uR3VhcmQgPSAhbGF6eSAmJiB0eXBlICE9PSAncmFuZ2UnO1xuICAgIHZhciBldmVudCA9IGxhenkgPyAnY2hhbmdlJyA6IHR5cGUgPT09ICdyYW5nZScgPyBSQU5HRV9UT0tFTiA6ICdpbnB1dCc7XG4gICAgdmFyIHZhbHVlRXhwcmVzc2lvbiA9ICckZXZlbnQudGFyZ2V0LnZhbHVlJztcbiAgICBpZiAodHJpbSkge1xuICAgICAgICB2YWx1ZUV4cHJlc3Npb24gPSBcIiRldmVudC50YXJnZXQudmFsdWUudHJpbSgpXCI7XG4gICAgfVxuICAgIGlmIChudW1iZXIpIHtcbiAgICAgICAgdmFsdWVFeHByZXNzaW9uID0gXCJfbihcIi5jb25jYXQodmFsdWVFeHByZXNzaW9uLCBcIilcIik7XG4gICAgfVxuICAgIHZhciBjb2RlID0gZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIHZhbHVlRXhwcmVzc2lvbik7XG4gICAgaWYgKG5lZWRDb21wb3NpdGlvbkd1YXJkKSB7XG4gICAgICAgIGNvZGUgPSBcImlmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXJldHVybjtcIi5jb25jYXQoY29kZSk7XG4gICAgfVxuICAgIGFkZFByb3AoZWwsICd2YWx1ZScsIFwiKFwiLmNvbmNhdCh2YWx1ZSwgXCIpXCIpKTtcbiAgICBhZGRIYW5kbGVyKGVsLCBldmVudCwgY29kZSwgbnVsbCwgdHJ1ZSk7XG4gICAgaWYgKHRyaW0gfHwgbnVtYmVyKSB7XG4gICAgICAgIGFkZEhhbmRsZXIoZWwsICdibHVyJywgJyRmb3JjZVVwZGF0ZSgpJyk7XG4gICAgfVxufVxuXG4vLyBub3JtYWxpemUgdi1tb2RlbCBldmVudCB0b2tlbnMgdGhhdCBjYW4gb25seSBiZSBkZXRlcm1pbmVkIGF0IHJ1bnRpbWUuXG4vLyBpdCdzIGltcG9ydGFudCB0byBwbGFjZSB0aGUgZXZlbnQgYXMgdGhlIGZpcnN0IGluIHRoZSBhcnJheSBiZWNhdXNlXG4vLyB0aGUgd2hvbGUgcG9pbnQgaXMgZW5zdXJpbmcgdGhlIHYtbW9kZWwgY2FsbGJhY2sgZ2V0cyBjYWxsZWQgYmVmb3JlXG4vLyB1c2VyLWF0dGFjaGVkIGhhbmRsZXJzLlxuZnVuY3Rpb24gbm9ybWFsaXplRXZlbnRzKG9uKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGlzRGVmKG9uW1JBTkdFX1RPS0VOXSkpIHtcbiAgICAgICAgLy8gSUUgaW5wdXRbdHlwZT1yYW5nZV0gb25seSBzdXBwb3J0cyBgY2hhbmdlYCBldmVudFxuICAgICAgICB2YXIgZXZlbnRfMSA9IGlzSUUgPyAnY2hhbmdlJyA6ICdpbnB1dCc7XG4gICAgICAgIG9uW2V2ZW50XzFdID0gW10uY29uY2F0KG9uW1JBTkdFX1RPS0VOXSwgb25bZXZlbnRfMV0gfHwgW10pO1xuICAgICAgICBkZWxldGUgb25bUkFOR0VfVE9LRU5dO1xuICAgIH1cbiAgICAvLyBUaGlzIHdhcyBvcmlnaW5hbGx5IGludGVuZGVkIHRvIGZpeCAjNDUyMSBidXQgbm8gbG9uZ2VyIG5lY2Vzc2FyeVxuICAgIC8vIGFmdGVyIDIuNS4gS2VlcGluZyBpdCBmb3IgYmFja3dhcmRzIGNvbXBhdCB3aXRoIGdlbmVyYXRlZCBjb2RlIGZyb20gPCAyLjRcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXNEZWYob25bQ0hFQ0tCT1hfUkFESU9fVE9LRU5dKSkge1xuICAgICAgICBvbi5jaGFuZ2UgPSBbXS5jb25jYXQob25bQ0hFQ0tCT1hfUkFESU9fVE9LRU5dLCBvbi5jaGFuZ2UgfHwgW10pO1xuICAgICAgICBkZWxldGUgb25bQ0hFQ0tCT1hfUkFESU9fVE9LRU5dO1xuICAgIH1cbn1cbnZhciB0YXJnZXQ7XG5mdW5jdGlvbiBjcmVhdGVPbmNlSGFuZGxlcihldmVudCwgaGFuZGxlciwgY2FwdHVyZSkge1xuICAgIHZhciBfdGFyZ2V0ID0gdGFyZ2V0OyAvLyBzYXZlIGN1cnJlbnQgdGFyZ2V0IGVsZW1lbnQgaW4gY2xvc3VyZVxuICAgIHJldHVybiBmdW5jdGlvbiBvbmNlSGFuZGxlcigpIHtcbiAgICAgICAgdmFyIHJlcyA9IGhhbmRsZXIuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICAgICAgaWYgKHJlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmVtb3ZlKGV2ZW50LCBvbmNlSGFuZGxlciwgY2FwdHVyZSwgX3RhcmdldCk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuLy8gIzk0NDY6IEZpcmVmb3ggPD0gNTMgKGluIHBhcnRpY3VsYXIsIEVTUiA1MikgaGFzIGluY29ycmVjdCBFdmVudC50aW1lU3RhbXBcbi8vIGltcGxlbWVudGF0aW9uIGFuZCBkb2VzIG5vdCBmaXJlIG1pY3JvdGFza3MgaW4gYmV0d2VlbiBldmVudCBwcm9wYWdhdGlvbiwgc29cbi8vIHNhZmUgdG8gZXhjbHVkZS5cbnZhciB1c2VNaWNyb3Rhc2tGaXggPSBpc1VzaW5nTWljcm9UYXNrICYmICEoaXNGRiAmJiBOdW1iZXIoaXNGRlsxXSkgPD0gNTMpO1xuZnVuY3Rpb24gYWRkKG5hbWUsIGhhbmRsZXIsIGNhcHR1cmUsIHBhc3NpdmUpIHtcbiAgICAvLyBhc3luYyBlZGdlIGNhc2UgIzY1NjY6IGlubmVyIGNsaWNrIGV2ZW50IHRyaWdnZXJzIHBhdGNoLCBldmVudCBoYW5kbGVyXG4gICAgLy8gYXR0YWNoZWQgdG8gb3V0ZXIgZWxlbWVudCBkdXJpbmcgcGF0Y2gsIGFuZCB0cmlnZ2VyZWQgYWdhaW4uIFRoaXNcbiAgICAvLyBoYXBwZW5zIGJlY2F1c2UgYnJvd3NlcnMgZmlyZSBtaWNyb3Rhc2sgdGlja3MgYmV0d2VlbiBldmVudCBwcm9wYWdhdGlvbi5cbiAgICAvLyB0aGUgc29sdXRpb24gaXMgc2ltcGxlOiB3ZSBzYXZlIHRoZSB0aW1lc3RhbXAgd2hlbiBhIGhhbmRsZXIgaXMgYXR0YWNoZWQsXG4gICAgLy8gYW5kIHRoZSBoYW5kbGVyIHdvdWxkIG9ubHkgZmlyZSBpZiB0aGUgZXZlbnQgcGFzc2VkIHRvIGl0IHdhcyBmaXJlZFxuICAgIC8vIEFGVEVSIGl0IHdhcyBhdHRhY2hlZC5cbiAgICBpZiAodXNlTWljcm90YXNrRml4KSB7XG4gICAgICAgIHZhciBhdHRhY2hlZFRpbWVzdGFtcF8xID0gY3VycmVudEZsdXNoVGltZXN0YW1wO1xuICAgICAgICB2YXIgb3JpZ2luYWxfMSA9IGhhbmRsZXI7XG4gICAgICAgIC8vQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBoYW5kbGVyID0gb3JpZ2luYWxfMS5fd3JhcHBlciA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAvLyBubyBidWJibGluZywgc2hvdWxkIGFsd2F5cyBmaXJlLlxuICAgICAgICAgICAgLy8gdGhpcyBpcyBqdXN0IGEgc2FmZXR5IG5ldCBpbiBjYXNlIGV2ZW50LnRpbWVTdGFtcCBpcyB1bnJlbGlhYmxlIGluXG4gICAgICAgICAgICAvLyBjZXJ0YWluIHdlaXJkIGVudmlyb25tZW50cy4uLlxuICAgICAgICAgICAgZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCB8fFxuICAgICAgICAgICAgICAgIC8vIGV2ZW50IGlzIGZpcmVkIGFmdGVyIGhhbmRsZXIgYXR0YWNobWVudFxuICAgICAgICAgICAgICAgIGUudGltZVN0YW1wID49IGF0dGFjaGVkVGltZXN0YW1wXzEgfHxcbiAgICAgICAgICAgICAgICAvLyBiYWlsIGZvciBlbnZpcm9ubWVudHMgdGhhdCBoYXZlIGJ1Z2d5IGV2ZW50LnRpbWVTdGFtcCBpbXBsZW1lbnRhdGlvbnNcbiAgICAgICAgICAgICAgICAvLyAjOTQ2MiBpT1MgOSBidWc6IGV2ZW50LnRpbWVTdGFtcCBpcyAwIGFmdGVyIGhpc3RvcnkucHVzaFN0YXRlXG4gICAgICAgICAgICAgICAgLy8gIzk2ODEgUXRXZWJFbmdpbmUgZXZlbnQudGltZVN0YW1wIGlzIG5lZ2F0aXZlIHZhbHVlXG4gICAgICAgICAgICAgICAgZS50aW1lU3RhbXAgPD0gMCB8fFxuICAgICAgICAgICAgICAgIC8vICM5NDQ4IGJhaWwgaWYgZXZlbnQgaXMgZmlyZWQgaW4gYW5vdGhlciBkb2N1bWVudCBpbiBhIG11bHRpLXBhZ2VcbiAgICAgICAgICAgICAgICAvLyBlbGVjdHJvbi9udy5qcyBhcHAsIHNpbmNlIGV2ZW50LnRpbWVTdGFtcCB3aWxsIGJlIHVzaW5nIGEgZGlmZmVyZW50XG4gICAgICAgICAgICAgICAgLy8gc3RhcnRpbmcgcmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgZS50YXJnZXQub3duZXJEb2N1bWVudCAhPT0gZG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxfMS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihuYW1lLCBoYW5kbGVyLCBzdXBwb3J0c1Bhc3NpdmUgPyB7IGNhcHR1cmU6IGNhcHR1cmUsIHBhc3NpdmU6IHBhc3NpdmUgfSA6IGNhcHR1cmUpO1xufVxuZnVuY3Rpb24gcmVtb3ZlKG5hbWUsIGhhbmRsZXIsIGNhcHR1cmUsIF90YXJnZXQpIHtcbiAgICAoX3RhcmdldCB8fCB0YXJnZXQpLnJlbW92ZUV2ZW50TGlzdGVuZXIobmFtZSwgXG4gICAgLy9AdHMtZXhwZWN0LWVycm9yXG4gICAgaGFuZGxlci5fd3JhcHBlciB8fCBoYW5kbGVyLCBjYXB0dXJlKTtcbn1cbmZ1bmN0aW9uIHVwZGF0ZURPTUxpc3RlbmVycyhvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLm9uKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEub24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIG9uID0gdm5vZGUuZGF0YS5vbiB8fCB7fTtcbiAgICB2YXIgb2xkT24gPSBvbGRWbm9kZS5kYXRhLm9uIHx8IHt9O1xuICAgIC8vIHZub2RlIGlzIGVtcHR5IHdoZW4gcmVtb3ZpbmcgYWxsIGxpc3RlbmVycyxcbiAgICAvLyBhbmQgdXNlIG9sZCB2bm9kZSBkb20gZWxlbWVudFxuICAgIHRhcmdldCA9IHZub2RlLmVsbSB8fCBvbGRWbm9kZS5lbG07XG4gICAgbm9ybWFsaXplRXZlbnRzKG9uKTtcbiAgICB1cGRhdGVMaXN0ZW5lcnMob24sIG9sZE9uLCBhZGQsIHJlbW92ZSwgY3JlYXRlT25jZUhhbmRsZXIsIHZub2RlLmNvbnRleHQpO1xuICAgIHRhcmdldCA9IHVuZGVmaW5lZDtcbn1cbnZhciBldmVudHMgPSB7XG4gICAgY3JlYXRlOiB1cGRhdGVET01MaXN0ZW5lcnMsXG4gICAgdXBkYXRlOiB1cGRhdGVET01MaXN0ZW5lcnMsXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBlbXB0eU5vZGUgaGFzIGFjdHVhbGx5IGRhdGFcbiAgICBkZXN0cm95OiBmdW5jdGlvbiAodm5vZGUpIHsgcmV0dXJuIHVwZGF0ZURPTUxpc3RlbmVycyh2bm9kZSwgZW1wdHlOb2RlKTsgfVxufTtcblxudmFyIHN2Z0NvbnRhaW5lcjtcbmZ1bmN0aW9uIHVwZGF0ZURPTVByb3BzKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIGlmIChpc1VuZGVmKG9sZFZub2RlLmRhdGEuZG9tUHJvcHMpICYmIGlzVW5kZWYodm5vZGUuZGF0YS5kb21Qcm9wcykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIga2V5LCBjdXI7XG4gICAgdmFyIGVsbSA9IHZub2RlLmVsbTtcbiAgICB2YXIgb2xkUHJvcHMgPSBvbGRWbm9kZS5kYXRhLmRvbVByb3BzIHx8IHt9O1xuICAgIHZhciBwcm9wcyA9IHZub2RlLmRhdGEuZG9tUHJvcHMgfHwge307XG4gICAgLy8gY2xvbmUgb2JzZXJ2ZWQgb2JqZWN0cywgYXMgdGhlIHVzZXIgcHJvYmFibHkgd2FudHMgdG8gbXV0YXRlIGl0XG4gICAgaWYgKGlzRGVmKHByb3BzLl9fb2JfXykgfHwgaXNUcnVlKHByb3BzLl92X2F0dHJfcHJveHkpKSB7XG4gICAgICAgIHByb3BzID0gdm5vZGUuZGF0YS5kb21Qcm9wcyA9IGV4dGVuZCh7fSwgcHJvcHMpO1xuICAgIH1cbiAgICBmb3IgKGtleSBpbiBvbGRQcm9wcykge1xuICAgICAgICBpZiAoIShrZXkgaW4gcHJvcHMpKSB7XG4gICAgICAgICAgICBlbG1ba2V5XSA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvciAoa2V5IGluIHByb3BzKSB7XG4gICAgICAgIGN1ciA9IHByb3BzW2tleV07XG4gICAgICAgIC8vIGlnbm9yZSBjaGlsZHJlbiBpZiB0aGUgbm9kZSBoYXMgdGV4dENvbnRlbnQgb3IgaW5uZXJIVE1MLFxuICAgICAgICAvLyBhcyB0aGVzZSB3aWxsIHRocm93IGF3YXkgZXhpc3RpbmcgRE9NIG5vZGVzIGFuZCBjYXVzZSByZW1vdmFsIGVycm9yc1xuICAgICAgICAvLyBvbiBzdWJzZXF1ZW50IHBhdGNoZXMgKCMzMzYwKVxuICAgICAgICBpZiAoa2V5ID09PSAndGV4dENvbnRlbnQnIHx8IGtleSA9PT0gJ2lubmVySFRNTCcpIHtcbiAgICAgICAgICAgIGlmICh2bm9kZS5jaGlsZHJlbilcbiAgICAgICAgICAgICAgICB2bm9kZS5jaGlsZHJlbi5sZW5ndGggPSAwO1xuICAgICAgICAgICAgaWYgKGN1ciA9PT0gb2xkUHJvcHNba2V5XSlcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIC8vICM2NjAxIHdvcmsgYXJvdW5kIENocm9tZSB2ZXJzaW9uIDw9IDU1IGJ1ZyB3aGVyZSBzaW5nbGUgdGV4dE5vZGVcbiAgICAgICAgICAgIC8vIHJlcGxhY2VkIGJ5IGlubmVySFRNTC90ZXh0Q29udGVudCByZXRhaW5zIGl0cyBwYXJlbnROb2RlIHByb3BlcnR5XG4gICAgICAgICAgICBpZiAoZWxtLmNoaWxkTm9kZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgZWxtLnJlbW92ZUNoaWxkKGVsbS5jaGlsZE5vZGVzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAndmFsdWUnICYmIGVsbS50YWdOYW1lICE9PSAnUFJPR1JFU1MnKSB7XG4gICAgICAgICAgICAvLyBzdG9yZSB2YWx1ZSBhcyBfdmFsdWUgYXMgd2VsbCBzaW5jZVxuICAgICAgICAgICAgLy8gbm9uLXN0cmluZyB2YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZFxuICAgICAgICAgICAgZWxtLl92YWx1ZSA9IGN1cjtcbiAgICAgICAgICAgIC8vIGF2b2lkIHJlc2V0dGluZyBjdXJzb3IgcG9zaXRpb24gd2hlbiB2YWx1ZSBpcyB0aGUgc2FtZVxuICAgICAgICAgICAgdmFyIHN0ckN1ciA9IGlzVW5kZWYoY3VyKSA/ICcnIDogU3RyaW5nKGN1cik7XG4gICAgICAgICAgICBpZiAoc2hvdWxkVXBkYXRlVmFsdWUoZWxtLCBzdHJDdXIpKSB7XG4gICAgICAgICAgICAgICAgZWxtLnZhbHVlID0gc3RyQ3VyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGtleSA9PT0gJ2lubmVySFRNTCcgJiZcbiAgICAgICAgICAgIGlzU1ZHKGVsbS50YWdOYW1lKSAmJlxuICAgICAgICAgICAgaXNVbmRlZihlbG0uaW5uZXJIVE1MKSkge1xuICAgICAgICAgICAgLy8gSUUgZG9lc24ndCBzdXBwb3J0IGlubmVySFRNTCBmb3IgU1ZHIGVsZW1lbnRzXG4gICAgICAgICAgICBzdmdDb250YWluZXIgPSBzdmdDb250YWluZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICBzdmdDb250YWluZXIuaW5uZXJIVE1MID0gXCI8c3ZnPlwiLmNvbmNhdChjdXIsIFwiPC9zdmc+XCIpO1xuICAgICAgICAgICAgdmFyIHN2ZyA9IHN2Z0NvbnRhaW5lci5maXJzdENoaWxkO1xuICAgICAgICAgICAgd2hpbGUgKGVsbS5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICAgICAgZWxtLnJlbW92ZUNoaWxkKGVsbS5maXJzdENoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdoaWxlIChzdmcuZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgICAgIGVsbS5hcHBlbmRDaGlsZChzdmcuZmlyc3RDaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoXG4gICAgICAgIC8vIHNraXAgdGhlIHVwZGF0ZSBpZiBvbGQgYW5kIG5ldyBWRE9NIHN0YXRlIGlzIHRoZSBzYW1lLlxuICAgICAgICAvLyBgdmFsdWVgIGlzIGhhbmRsZWQgc2VwYXJhdGVseSBiZWNhdXNlIHRoZSBET00gdmFsdWUgbWF5IGJlIHRlbXBvcmFyaWx5XG4gICAgICAgIC8vIG91dCBvZiBzeW5jIHdpdGggVkRPTSBzdGF0ZSBkdWUgdG8gZm9jdXMsIGNvbXBvc2l0aW9uIGFuZCBtb2RpZmllcnMuXG4gICAgICAgIC8vIFRoaXMgICM0NTIxIGJ5IHNraXBwaW5nIHRoZSB1bm5lY2Vzc2FyeSBgY2hlY2tlZGAgdXBkYXRlLlxuICAgICAgICBjdXIgIT09IG9sZFByb3BzW2tleV0pIHtcbiAgICAgICAgICAgIC8vIHNvbWUgcHJvcGVydHkgdXBkYXRlcyBjYW4gdGhyb3dcbiAgICAgICAgICAgIC8vIGUuZy4gYHZhbHVlYCBvbiA8cHJvZ3Jlc3M+IHcvIG5vbi1maW5pdGUgdmFsdWVcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZWxtW2tleV0gPSBjdXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkgeyB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBzaG91bGRVcGRhdGVWYWx1ZShlbG0sIGNoZWNrVmFsKSB7XG4gICAgcmV0dXJuIChcbiAgICAvL0B0cy1leHBlY3QtZXJyb3JcbiAgICAhZWxtLmNvbXBvc2luZyAmJlxuICAgICAgICAoZWxtLnRhZ05hbWUgPT09ICdPUFRJT04nIHx8XG4gICAgICAgICAgICBpc05vdEluRm9jdXNBbmREaXJ0eShlbG0sIGNoZWNrVmFsKSB8fFxuICAgICAgICAgICAgaXNEaXJ0eVdpdGhNb2RpZmllcnMoZWxtLCBjaGVja1ZhbCkpKTtcbn1cbmZ1bmN0aW9uIGlzTm90SW5Gb2N1c0FuZERpcnR5KGVsbSwgY2hlY2tWYWwpIHtcbiAgICAvLyByZXR1cm4gdHJ1ZSB3aGVuIHRleHRib3ggKC5udW1iZXIgYW5kIC50cmltKSBsb3NlcyBmb2N1cyBhbmQgaXRzIHZhbHVlIGlzXG4gICAgLy8gbm90IGVxdWFsIHRvIHRoZSB1cGRhdGVkIHZhbHVlXG4gICAgdmFyIG5vdEluRm9jdXMgPSB0cnVlO1xuICAgIC8vICM2MTU3XG4gICAgLy8gd29yayBhcm91bmQgSUUgYnVnIHdoZW4gYWNjZXNzaW5nIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW4gYW4gaWZyYW1lXG4gICAgdHJ5IHtcbiAgICAgICAgbm90SW5Gb2N1cyA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IGVsbTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHsgfVxuICAgIHJldHVybiBub3RJbkZvY3VzICYmIGVsbS52YWx1ZSAhPT0gY2hlY2tWYWw7XG59XG5mdW5jdGlvbiBpc0RpcnR5V2l0aE1vZGlmaWVycyhlbG0sIG5ld1ZhbCkge1xuICAgIHZhciB2YWx1ZSA9IGVsbS52YWx1ZTtcbiAgICB2YXIgbW9kaWZpZXJzID0gZWxtLl92TW9kaWZpZXJzOyAvLyBpbmplY3RlZCBieSB2LW1vZGVsIHJ1bnRpbWVcbiAgICBpZiAoaXNEZWYobW9kaWZpZXJzKSkge1xuICAgICAgICBpZiAobW9kaWZpZXJzLm51bWJlcikge1xuICAgICAgICAgICAgcmV0dXJuIHRvTnVtYmVyKHZhbHVlKSAhPT0gdG9OdW1iZXIobmV3VmFsKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9kaWZpZXJzLnRyaW0pIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS50cmltKCkgIT09IG5ld1ZhbC50cmltKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlICE9PSBuZXdWYWw7XG59XG52YXIgZG9tUHJvcHMgPSB7XG4gICAgY3JlYXRlOiB1cGRhdGVET01Qcm9wcyxcbiAgICB1cGRhdGU6IHVwZGF0ZURPTVByb3BzXG59O1xuXG52YXIgcGFyc2VTdHlsZVRleHQgPSBjYWNoZWQoZnVuY3Rpb24gKGNzc1RleHQpIHtcbiAgICB2YXIgcmVzID0ge307XG4gICAgdmFyIGxpc3REZWxpbWl0ZXIgPSAvOyg/IVteKF0qXFwpKS9nO1xuICAgIHZhciBwcm9wZXJ0eURlbGltaXRlciA9IC86KC4rKS87XG4gICAgY3NzVGV4dC5zcGxpdChsaXN0RGVsaW1pdGVyKS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICB2YXIgdG1wID0gaXRlbS5zcGxpdChwcm9wZXJ0eURlbGltaXRlcik7XG4gICAgICAgICAgICB0bXAubGVuZ3RoID4gMSAmJiAocmVzW3RtcFswXS50cmltKCldID0gdG1wWzFdLnRyaW0oKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzO1xufSk7XG4vLyBtZXJnZSBzdGF0aWMgYW5kIGR5bmFtaWMgc3R5bGUgZGF0YSBvbiB0aGUgc2FtZSB2bm9kZVxuZnVuY3Rpb24gbm9ybWFsaXplU3R5bGVEYXRhKGRhdGEpIHtcbiAgICB2YXIgc3R5bGUgPSBub3JtYWxpemVTdHlsZUJpbmRpbmcoZGF0YS5zdHlsZSk7XG4gICAgLy8gc3RhdGljIHN0eWxlIGlzIHByZS1wcm9jZXNzZWQgaW50byBhbiBvYmplY3QgZHVyaW5nIGNvbXBpbGF0aW9uXG4gICAgLy8gYW5kIGlzIGFsd2F5cyBhIGZyZXNoIG9iamVjdCwgc28gaXQncyBzYWZlIHRvIG1lcmdlIGludG8gaXRcbiAgICByZXR1cm4gZGF0YS5zdGF0aWNTdHlsZSA/IGV4dGVuZChkYXRhLnN0YXRpY1N0eWxlLCBzdHlsZSkgOiBzdHlsZTtcbn1cbi8vIG5vcm1hbGl6ZSBwb3NzaWJsZSBhcnJheSAvIHN0cmluZyB2YWx1ZXMgaW50byBPYmplY3RcbmZ1bmN0aW9uIG5vcm1hbGl6ZVN0eWxlQmluZGluZyhiaW5kaW5nU3R5bGUpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShiaW5kaW5nU3R5bGUpKSB7XG4gICAgICAgIHJldHVybiB0b09iamVjdChiaW5kaW5nU3R5bGUpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGJpbmRpbmdTdHlsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlU3R5bGVUZXh0KGJpbmRpbmdTdHlsZSk7XG4gICAgfVxuICAgIHJldHVybiBiaW5kaW5nU3R5bGU7XG59XG4vKipcbiAqIHBhcmVudCBjb21wb25lbnQgc3R5bGUgc2hvdWxkIGJlIGFmdGVyIGNoaWxkJ3NcbiAqIHNvIHRoYXQgcGFyZW50IGNvbXBvbmVudCdzIHN0eWxlIGNvdWxkIG92ZXJyaWRlIGl0XG4gKi9cbmZ1bmN0aW9uIGdldFN0eWxlKHZub2RlLCBjaGVja0NoaWxkKSB7XG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIHZhciBzdHlsZURhdGE7XG4gICAgaWYgKGNoZWNrQ2hpbGQpIHtcbiAgICAgICAgdmFyIGNoaWxkTm9kZSA9IHZub2RlO1xuICAgICAgICB3aGlsZSAoY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICAgICAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO1xuICAgICAgICAgICAgaWYgKGNoaWxkTm9kZSAmJlxuICAgICAgICAgICAgICAgIGNoaWxkTm9kZS5kYXRhICYmXG4gICAgICAgICAgICAgICAgKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YShjaGlsZE5vZGUuZGF0YSkpKSB7XG4gICAgICAgICAgICAgICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YSh2bm9kZS5kYXRhKSkpIHtcbiAgICAgICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgICB9XG4gICAgdmFyIHBhcmVudE5vZGUgPSB2bm9kZTtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHBhcmVudE5vZGUucGFyZW50IG5vdCBWTm9kZVdpdGhEYXRhXG4gICAgd2hpbGUgKChwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4gICAgICAgIGlmIChwYXJlbnROb2RlLmRhdGEgJiYgKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YShwYXJlbnROb2RlLmRhdGEpKSkge1xuICAgICAgICAgICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuXG52YXIgY3NzVmFyUkUgPSAvXi0tLztcbnZhciBpbXBvcnRhbnRSRSA9IC9cXHMqIWltcG9ydGFudCQvO1xudmFyIHNldFByb3AgPSBmdW5jdGlvbiAoZWwsIG5hbWUsIHZhbCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChjc3NWYXJSRS50ZXN0KG5hbWUpKSB7XG4gICAgICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KG5hbWUsIHZhbCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGltcG9ydGFudFJFLnRlc3QodmFsKSkge1xuICAgICAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShoeXBoZW5hdGUobmFtZSksIHZhbC5yZXBsYWNlKGltcG9ydGFudFJFLCAnJyksICdpbXBvcnRhbnQnKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHZhciBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZShuYW1lKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgLy8gU3VwcG9ydCB2YWx1ZXMgYXJyYXkgY3JlYXRlZCBieSBhdXRvcHJlZml4ZXIsIGUuZy5cbiAgICAgICAgICAgIC8vIHtkaXNwbGF5OiBbXCItd2Via2l0LWJveFwiLCBcIi1tcy1mbGV4Ym94XCIsIFwiZmxleFwiXX1cbiAgICAgICAgICAgIC8vIFNldCB0aGVtIG9uZSBieSBvbmUsIGFuZCB0aGUgYnJvd3NlciB3aWxsIG9ubHkgc2V0IHRob3NlIGl0IGNhbiByZWNvZ25pemVcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB2YWwubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICBlbC5zdHlsZVtub3JtYWxpemVkTmFtZV0gPSB2YWxbaV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlbC5zdHlsZVtub3JtYWxpemVkTmFtZV0gPSB2YWw7XG4gICAgICAgIH1cbiAgICB9XG59O1xudmFyIHZlbmRvck5hbWVzID0gWydXZWJraXQnLCAnTW96JywgJ21zJ107XG52YXIgZW1wdHlTdHlsZTtcbnZhciBub3JtYWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHByb3ApIHtcbiAgICBlbXB0eVN0eWxlID0gZW1wdHlTdHlsZSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKS5zdHlsZTtcbiAgICBwcm9wID0gY2FtZWxpemUocHJvcCk7XG4gICAgaWYgKHByb3AgIT09ICdmaWx0ZXInICYmIHByb3AgaW4gZW1wdHlTdHlsZSkge1xuICAgICAgICByZXR1cm4gcHJvcDtcbiAgICB9XG4gICAgdmFyIGNhcE5hbWUgPSBwcm9wLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcHJvcC5zbGljZSgxKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZlbmRvck5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBuYW1lXzEgPSB2ZW5kb3JOYW1lc1tpXSArIGNhcE5hbWU7XG4gICAgICAgIGlmIChuYW1lXzEgaW4gZW1wdHlTdHlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5hbWVfMTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuZnVuY3Rpb24gdXBkYXRlU3R5bGUob2xkVm5vZGUsIHZub2RlKSB7XG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIHZhciBvbGREYXRhID0gb2xkVm5vZGUuZGF0YTtcbiAgICBpZiAoaXNVbmRlZihkYXRhLnN0YXRpY1N0eWxlKSAmJlxuICAgICAgICBpc1VuZGVmKGRhdGEuc3R5bGUpICYmXG4gICAgICAgIGlzVW5kZWYob2xkRGF0YS5zdGF0aWNTdHlsZSkgJiZcbiAgICAgICAgaXNVbmRlZihvbGREYXRhLnN0eWxlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBjdXIsIG5hbWU7XG4gICAgdmFyIGVsID0gdm5vZGUuZWxtO1xuICAgIHZhciBvbGRTdGF0aWNTdHlsZSA9IG9sZERhdGEuc3RhdGljU3R5bGU7XG4gICAgdmFyIG9sZFN0eWxlQmluZGluZyA9IG9sZERhdGEubm9ybWFsaXplZFN0eWxlIHx8IG9sZERhdGEuc3R5bGUgfHwge307XG4gICAgLy8gaWYgc3RhdGljIHN0eWxlIGV4aXN0cywgc3R5bGViaW5kaW5nIGFscmVhZHkgbWVyZ2VkIGludG8gaXQgd2hlbiBkb2luZyBub3JtYWxpemVTdHlsZURhdGFcbiAgICB2YXIgb2xkU3R5bGUgPSBvbGRTdGF0aWNTdHlsZSB8fCBvbGRTdHlsZUJpbmRpbmc7XG4gICAgdmFyIHN0eWxlID0gbm9ybWFsaXplU3R5bGVCaW5kaW5nKHZub2RlLmRhdGEuc3R5bGUpIHx8IHt9O1xuICAgIC8vIHN0b3JlIG5vcm1hbGl6ZWQgc3R5bGUgdW5kZXIgYSBkaWZmZXJlbnQga2V5IGZvciBuZXh0IGRpZmZcbiAgICAvLyBtYWtlIHN1cmUgdG8gY2xvbmUgaXQgaWYgaXQncyByZWFjdGl2ZSwgc2luY2UgdGhlIHVzZXIgbGlrZWx5IHdhbnRzXG4gICAgLy8gdG8gbXV0YXRlIGl0LlxuICAgIHZub2RlLmRhdGEubm9ybWFsaXplZFN0eWxlID0gaXNEZWYoc3R5bGUuX19vYl9fKSA/IGV4dGVuZCh7fSwgc3R5bGUpIDogc3R5bGU7XG4gICAgdmFyIG5ld1N0eWxlID0gZ2V0U3R5bGUodm5vZGUsIHRydWUpO1xuICAgIGZvciAobmFtZSBpbiBvbGRTdHlsZSkge1xuICAgICAgICBpZiAoaXNVbmRlZihuZXdTdHlsZVtuYW1lXSkpIHtcbiAgICAgICAgICAgIHNldFByb3AoZWwsIG5hbWUsICcnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKG5hbWUgaW4gbmV3U3R5bGUpIHtcbiAgICAgICAgY3VyID0gbmV3U3R5bGVbbmFtZV07XG4gICAgICAgIGlmIChjdXIgIT09IG9sZFN0eWxlW25hbWVdKSB7XG4gICAgICAgICAgICAvLyBpZTkgc2V0dGluZyB0byBudWxsIGhhcyBubyBlZmZlY3QsIG11c3QgdXNlIGVtcHR5IHN0cmluZ1xuICAgICAgICAgICAgc2V0UHJvcChlbCwgbmFtZSwgY3VyID09IG51bGwgPyAnJyA6IGN1cik7XG4gICAgICAgIH1cbiAgICB9XG59XG52YXIgc3R5bGUkMSA9IHtcbiAgICBjcmVhdGU6IHVwZGF0ZVN0eWxlLFxuICAgIHVwZGF0ZTogdXBkYXRlU3R5bGVcbn07XG5cbnZhciB3aGl0ZXNwYWNlUkUkMSA9IC9cXHMrLztcbi8qKlxuICogQWRkIGNsYXNzIHdpdGggY29tcGF0aWJpbGl0eSBmb3IgU1ZHIHNpbmNlIGNsYXNzTGlzdCBpcyBub3Qgc3VwcG9ydGVkIG9uXG4gKiBTVkcgZWxlbWVudHMgaW4gSUVcbiAqL1xuZnVuY3Rpb24gYWRkQ2xhc3MoZWwsIGNscykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY2xzIHx8ICEoY2xzID0gY2xzLnRyaW0oKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICAgICAgaWYgKGNscy5pbmRleE9mKCcgJykgPiAtMSkge1xuICAgICAgICAgICAgY2xzLnNwbGl0KHdoaXRlc3BhY2VSRSQxKS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7IHJldHVybiBlbC5jbGFzc0xpc3QuYWRkKGMpOyB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoY2xzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIGN1ciA9IFwiIFwiLmNvbmNhdChlbC5nZXRBdHRyaWJ1dGUoJ2NsYXNzJykgfHwgJycsIFwiIFwiKTtcbiAgICAgICAgaWYgKGN1ci5pbmRleE9mKCcgJyArIGNscyArICcgJykgPCAwKSB7XG4gICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgKGN1ciArIGNscykudHJpbSgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKlxuICogUmVtb3ZlIGNsYXNzIHdpdGggY29tcGF0aWJpbGl0eSBmb3IgU1ZHIHNpbmNlIGNsYXNzTGlzdCBpcyBub3Qgc3VwcG9ydGVkIG9uXG4gKiBTVkcgZWxlbWVudHMgaW4gSUVcbiAqL1xuZnVuY3Rpb24gcmVtb3ZlQ2xhc3MoZWwsIGNscykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY2xzIHx8ICEoY2xzID0gY2xzLnRyaW0oKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICAgICAgaWYgKGNscy5pbmRleE9mKCcgJykgPiAtMSkge1xuICAgICAgICAgICAgY2xzLnNwbGl0KHdoaXRlc3BhY2VSRSQxKS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7IHJldHVybiBlbC5jbGFzc0xpc3QucmVtb3ZlKGMpOyB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoY2xzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWVsLmNsYXNzTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnY2xhc3MnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIGN1ciA9IFwiIFwiLmNvbmNhdChlbC5nZXRBdHRyaWJ1dGUoJ2NsYXNzJykgfHwgJycsIFwiIFwiKTtcbiAgICAgICAgdmFyIHRhciA9ICcgJyArIGNscyArICcgJztcbiAgICAgICAgd2hpbGUgKGN1ci5pbmRleE9mKHRhcikgPj0gMCkge1xuICAgICAgICAgICAgY3VyID0gY3VyLnJlcGxhY2UodGFyLCAnICcpO1xuICAgICAgICB9XG4gICAgICAgIGN1ciA9IGN1ci50cmltKCk7XG4gICAgICAgIGlmIChjdXIpIHtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCBjdXIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKCdjbGFzcycpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlVHJhbnNpdGlvbihkZWYpIHtcbiAgICBpZiAoIWRlZikge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHR5cGVvZiBkZWYgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHZhciByZXMgPSB7fTtcbiAgICAgICAgaWYgKGRlZi5jc3MgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICBleHRlbmQocmVzLCBhdXRvQ3NzVHJhbnNpdGlvbihkZWYubmFtZSB8fCAndicpKTtcbiAgICAgICAgfVxuICAgICAgICBleHRlbmQocmVzLCBkZWYpO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2YgZGVmID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gYXV0b0Nzc1RyYW5zaXRpb24oZGVmKTtcbiAgICB9XG59XG52YXIgYXV0b0Nzc1RyYW5zaXRpb24gPSBjYWNoZWQoZnVuY3Rpb24gKG5hbWUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBlbnRlckNsYXNzOiBcIlwiLmNvbmNhdChuYW1lLCBcIi1lbnRlclwiKSxcbiAgICAgICAgZW50ZXJUb0NsYXNzOiBcIlwiLmNvbmNhdChuYW1lLCBcIi1lbnRlci10b1wiKSxcbiAgICAgICAgZW50ZXJBY3RpdmVDbGFzczogXCJcIi5jb25jYXQobmFtZSwgXCItZW50ZXItYWN0aXZlXCIpLFxuICAgICAgICBsZWF2ZUNsYXNzOiBcIlwiLmNvbmNhdChuYW1lLCBcIi1sZWF2ZVwiKSxcbiAgICAgICAgbGVhdmVUb0NsYXNzOiBcIlwiLmNvbmNhdChuYW1lLCBcIi1sZWF2ZS10b1wiKSxcbiAgICAgICAgbGVhdmVBY3RpdmVDbGFzczogXCJcIi5jb25jYXQobmFtZSwgXCItbGVhdmUtYWN0aXZlXCIpXG4gICAgfTtcbn0pO1xudmFyIGhhc1RyYW5zaXRpb24gPSBpbkJyb3dzZXIgJiYgIWlzSUU5O1xudmFyIFRSQU5TSVRJT04gPSAndHJhbnNpdGlvbic7XG52YXIgQU5JTUFUSU9OID0gJ2FuaW1hdGlvbic7XG4vLyBUcmFuc2l0aW9uIHByb3BlcnR5L2V2ZW50IHNuaWZmaW5nXG52YXIgdHJhbnNpdGlvblByb3AgPSAndHJhbnNpdGlvbic7XG52YXIgdHJhbnNpdGlvbkVuZEV2ZW50ID0gJ3RyYW5zaXRpb25lbmQnO1xudmFyIGFuaW1hdGlvblByb3AgPSAnYW5pbWF0aW9uJztcbnZhciBhbmltYXRpb25FbmRFdmVudCA9ICdhbmltYXRpb25lbmQnO1xuaWYgKGhhc1RyYW5zaXRpb24pIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAod2luZG93Lm9udHJhbnNpdGlvbmVuZCA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgIHdpbmRvdy5vbndlYmtpdHRyYW5zaXRpb25lbmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0cmFuc2l0aW9uUHJvcCA9ICdXZWJraXRUcmFuc2l0aW9uJztcbiAgICAgICAgdHJhbnNpdGlvbkVuZEV2ZW50ID0gJ3dlYmtpdFRyYW5zaXRpb25FbmQnO1xuICAgIH1cbiAgICBpZiAod2luZG93Lm9uYW5pbWF0aW9uZW5kID09PSB1bmRlZmluZWQgJiZcbiAgICAgICAgd2luZG93Lm9ud2Via2l0YW5pbWF0aW9uZW5kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYW5pbWF0aW9uUHJvcCA9ICdXZWJraXRBbmltYXRpb24nO1xuICAgICAgICBhbmltYXRpb25FbmRFdmVudCA9ICd3ZWJraXRBbmltYXRpb25FbmQnO1xuICAgIH1cbn1cbi8vIGJpbmRpbmcgdG8gd2luZG93IGlzIG5lY2Vzc2FyeSB0byBtYWtlIGhvdCByZWxvYWQgd29yayBpbiBJRSBpbiBzdHJpY3QgbW9kZVxudmFyIHJhZiA9IGluQnJvd3NlclxuICAgID8gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZVxuICAgICAgICA/IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpXG4gICAgICAgIDogc2V0VGltZW91dFxuICAgIDogLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gKC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZuKSB7IHJldHVybiBmbigpOyB9O1xuZnVuY3Rpb24gbmV4dEZyYW1lKGZuKSB7XG4gICAgcmFmKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICByYWYoZm4pO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBjbHMpIHtcbiAgICB2YXIgdHJhbnNpdGlvbkNsYXNzZXMgPSBlbC5fdHJhbnNpdGlvbkNsYXNzZXMgfHwgKGVsLl90cmFuc2l0aW9uQ2xhc3NlcyA9IFtdKTtcbiAgICBpZiAodHJhbnNpdGlvbkNsYXNzZXMuaW5kZXhPZihjbHMpIDwgMCkge1xuICAgICAgICB0cmFuc2l0aW9uQ2xhc3Nlcy5wdXNoKGNscyk7XG4gICAgICAgIGFkZENsYXNzKGVsLCBjbHMpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgY2xzKSB7XG4gICAgaWYgKGVsLl90cmFuc2l0aW9uQ2xhc3Nlcykge1xuICAgICAgICByZW1vdmUkMihlbC5fdHJhbnNpdGlvbkNsYXNzZXMsIGNscyk7XG4gICAgfVxuICAgIHJlbW92ZUNsYXNzKGVsLCBjbHMpO1xufVxuZnVuY3Rpb24gd2hlblRyYW5zaXRpb25FbmRzKGVsLCBleHBlY3RlZFR5cGUsIGNiKSB7XG4gICAgdmFyIF9hID0gZ2V0VHJhbnNpdGlvbkluZm8oZWwsIGV4cGVjdGVkVHlwZSksIHR5cGUgPSBfYS50eXBlLCB0aW1lb3V0ID0gX2EudGltZW91dCwgcHJvcENvdW50ID0gX2EucHJvcENvdW50O1xuICAgIGlmICghdHlwZSlcbiAgICAgICAgcmV0dXJuIGNiKCk7XG4gICAgdmFyIGV2ZW50ID0gdHlwZSA9PT0gVFJBTlNJVElPTiA/IHRyYW5zaXRpb25FbmRFdmVudCA6IGFuaW1hdGlvbkVuZEV2ZW50O1xuICAgIHZhciBlbmRlZCA9IDA7XG4gICAgdmFyIGVuZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgb25FbmQpO1xuICAgICAgICBjYigpO1xuICAgIH07XG4gICAgdmFyIG9uRW5kID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBlbCkge1xuICAgICAgICAgICAgaWYgKCsrZW5kZWQgPj0gcHJvcENvdW50KSB7XG4gICAgICAgICAgICAgICAgZW5kKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoZW5kZWQgPCBwcm9wQ291bnQpIHtcbiAgICAgICAgICAgIGVuZCgpO1xuICAgICAgICB9XG4gICAgfSwgdGltZW91dCArIDEpO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIG9uRW5kKTtcbn1cbnZhciB0cmFuc2Zvcm1SRSA9IC9cXGIodHJhbnNmb3JtfGFsbCkoLHwkKS87XG5mdW5jdGlvbiBnZXRUcmFuc2l0aW9uSW5mbyhlbCwgZXhwZWN0ZWRUeXBlKSB7XG4gICAgdmFyIHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKTtcbiAgICAvLyBKU0RPTSBtYXkgcmV0dXJuIHVuZGVmaW5lZCBmb3IgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gICAgdmFyIHRyYW5zaXRpb25EZWxheXMgPSAoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ0RlbGF5J10gfHwgJycpLnNwbGl0KCcsICcpO1xuICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb25zID0gKHN0eWxlc1t0cmFuc2l0aW9uUHJvcCArICdEdXJhdGlvbiddIHx8ICcnKS5zcGxpdCgnLCAnKTtcbiAgICB2YXIgdHJhbnNpdGlvblRpbWVvdXQgPSBnZXRUaW1lb3V0KHRyYW5zaXRpb25EZWxheXMsIHRyYW5zaXRpb25EdXJhdGlvbnMpO1xuICAgIHZhciBhbmltYXRpb25EZWxheXMgPSAoc3R5bGVzW2FuaW1hdGlvblByb3AgKyAnRGVsYXknXSB8fCAnJykuc3BsaXQoJywgJyk7XG4gICAgdmFyIGFuaW1hdGlvbkR1cmF0aW9ucyA9IChzdHlsZXNbYW5pbWF0aW9uUHJvcCArICdEdXJhdGlvbiddIHx8ICcnKS5zcGxpdCgnLCAnKTtcbiAgICB2YXIgYW5pbWF0aW9uVGltZW91dCA9IGdldFRpbWVvdXQoYW5pbWF0aW9uRGVsYXlzLCBhbmltYXRpb25EdXJhdGlvbnMpO1xuICAgIHZhciB0eXBlO1xuICAgIHZhciB0aW1lb3V0ID0gMDtcbiAgICB2YXIgcHJvcENvdW50ID0gMDtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoZXhwZWN0ZWRUeXBlID09PSBUUkFOU0lUSU9OKSB7XG4gICAgICAgIGlmICh0cmFuc2l0aW9uVGltZW91dCA+IDApIHtcbiAgICAgICAgICAgIHR5cGUgPSBUUkFOU0lUSU9OO1xuICAgICAgICAgICAgdGltZW91dCA9IHRyYW5zaXRpb25UaW1lb3V0O1xuICAgICAgICAgICAgcHJvcENvdW50ID0gdHJhbnNpdGlvbkR1cmF0aW9ucy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSBBTklNQVRJT04pIHtcbiAgICAgICAgaWYgKGFuaW1hdGlvblRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICB0eXBlID0gQU5JTUFUSU9OO1xuICAgICAgICAgICAgdGltZW91dCA9IGFuaW1hdGlvblRpbWVvdXQ7XG4gICAgICAgICAgICBwcm9wQ291bnQgPSBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0aW1lb3V0ID0gTWF0aC5tYXgodHJhbnNpdGlvblRpbWVvdXQsIGFuaW1hdGlvblRpbWVvdXQpO1xuICAgICAgICB0eXBlID1cbiAgICAgICAgICAgIHRpbWVvdXQgPiAwXG4gICAgICAgICAgICAgICAgPyB0cmFuc2l0aW9uVGltZW91dCA+IGFuaW1hdGlvblRpbWVvdXRcbiAgICAgICAgICAgICAgICAgICAgPyBUUkFOU0lUSU9OXG4gICAgICAgICAgICAgICAgICAgIDogQU5JTUFUSU9OXG4gICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICBwcm9wQ291bnQgPSB0eXBlXG4gICAgICAgICAgICA/IHR5cGUgPT09IFRSQU5TSVRJT05cbiAgICAgICAgICAgICAgICA/IHRyYW5zaXRpb25EdXJhdGlvbnMubGVuZ3RoXG4gICAgICAgICAgICAgICAgOiBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoXG4gICAgICAgICAgICA6IDA7XG4gICAgfVxuICAgIHZhciBoYXNUcmFuc2Zvcm0gPSB0eXBlID09PSBUUkFOU0lUSU9OICYmIHRyYW5zZm9ybVJFLnRlc3Qoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ1Byb3BlcnR5J10pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgIHRpbWVvdXQ6IHRpbWVvdXQsXG4gICAgICAgIHByb3BDb3VudDogcHJvcENvdW50LFxuICAgICAgICBoYXNUcmFuc2Zvcm06IGhhc1RyYW5zZm9ybVxuICAgIH07XG59XG5mdW5jdGlvbiBnZXRUaW1lb3V0KGRlbGF5cywgZHVyYXRpb25zKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB3aGlsZSAoZGVsYXlzLmxlbmd0aCA8IGR1cmF0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgZGVsYXlzID0gZGVsYXlzLmNvbmNhdChkZWxheXMpO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCwgZHVyYXRpb25zLm1hcChmdW5jdGlvbiAoZCwgaSkge1xuICAgICAgICByZXR1cm4gdG9NcyhkKSArIHRvTXMoZGVsYXlzW2ldKTtcbiAgICB9KSk7XG59XG4vLyBPbGQgdmVyc2lvbnMgb2YgQ2hyb21pdW0gKGJlbG93IDYxLjAuMzE2My4xMDApIGZvcm1hdHMgZmxvYXRpbmcgcG9pbnRlciBudW1iZXJzXG4vLyBpbiBhIGxvY2FsZS1kZXBlbmRlbnQgd2F5LCB1c2luZyBhIGNvbW1hIGluc3RlYWQgb2YgYSBkb3QuXG4vLyBJZiBjb21tYSBpcyBub3QgcmVwbGFjZWQgd2l0aCBhIGRvdCwgdGhlIGlucHV0IHdpbGwgYmUgcm91bmRlZCBkb3duIChpLmUuIGFjdGluZ1xuLy8gYXMgYSBmbG9vciBmdW5jdGlvbikgY2F1c2luZyB1bmV4cGVjdGVkIGJlaGF2aW9yc1xuZnVuY3Rpb24gdG9NcyhzKSB7XG4gICAgcmV0dXJuIE51bWJlcihzLnNsaWNlKDAsIC0xKS5yZXBsYWNlKCcsJywgJy4nKSkgKiAxMDAwO1xufVxuXG5mdW5jdGlvbiBlbnRlcih2bm9kZSwgdG9nZ2xlRGlzcGxheSkge1xuICAgIHZhciBlbCA9IHZub2RlLmVsbTtcbiAgICAvLyBjYWxsIGxlYXZlIGNhbGxiYWNrIG5vd1xuICAgIGlmIChpc0RlZihlbC5fbGVhdmVDYikpIHtcbiAgICAgICAgZWwuX2xlYXZlQ2IuY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICAgICAgZWwuX2xlYXZlQ2IoKTtcbiAgICB9XG4gICAgdmFyIGRhdGEgPSByZXNvbHZlVHJhbnNpdGlvbih2bm9kZS5kYXRhLnRyYW5zaXRpb24pO1xuICAgIGlmIChpc1VuZGVmKGRhdGEpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGlzRGVmKGVsLl9lbnRlckNiKSB8fCBlbC5ub2RlVHlwZSAhPT0gMSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBjc3MgPSBkYXRhLmNzcywgdHlwZSA9IGRhdGEudHlwZSwgZW50ZXJDbGFzcyA9IGRhdGEuZW50ZXJDbGFzcywgZW50ZXJUb0NsYXNzID0gZGF0YS5lbnRlclRvQ2xhc3MsIGVudGVyQWN0aXZlQ2xhc3MgPSBkYXRhLmVudGVyQWN0aXZlQ2xhc3MsIGFwcGVhckNsYXNzID0gZGF0YS5hcHBlYXJDbGFzcywgYXBwZWFyVG9DbGFzcyA9IGRhdGEuYXBwZWFyVG9DbGFzcywgYXBwZWFyQWN0aXZlQ2xhc3MgPSBkYXRhLmFwcGVhckFjdGl2ZUNsYXNzLCBiZWZvcmVFbnRlciA9IGRhdGEuYmVmb3JlRW50ZXIsIGVudGVyID0gZGF0YS5lbnRlciwgYWZ0ZXJFbnRlciA9IGRhdGEuYWZ0ZXJFbnRlciwgZW50ZXJDYW5jZWxsZWQgPSBkYXRhLmVudGVyQ2FuY2VsbGVkLCBiZWZvcmVBcHBlYXIgPSBkYXRhLmJlZm9yZUFwcGVhciwgYXBwZWFyID0gZGF0YS5hcHBlYXIsIGFmdGVyQXBwZWFyID0gZGF0YS5hZnRlckFwcGVhciwgYXBwZWFyQ2FuY2VsbGVkID0gZGF0YS5hcHBlYXJDYW5jZWxsZWQsIGR1cmF0aW9uID0gZGF0YS5kdXJhdGlvbjtcbiAgICAvLyBhY3RpdmVJbnN0YW5jZSB3aWxsIGFsd2F5cyBiZSB0aGUgPHRyYW5zaXRpb24+IGNvbXBvbmVudCBtYW5hZ2luZyB0aGlzXG4gICAgLy8gdHJhbnNpdGlvbi4gT25lIGVkZ2UgY2FzZSB0byBjaGVjayBpcyB3aGVuIHRoZSA8dHJhbnNpdGlvbj4gaXMgcGxhY2VkXG4gICAgLy8gYXMgdGhlIHJvb3Qgbm9kZSBvZiBhIGNoaWxkIGNvbXBvbmVudC4gSW4gdGhhdCBjYXNlIHdlIG5lZWQgdG8gY2hlY2tcbiAgICAvLyA8dHJhbnNpdGlvbj4ncyBwYXJlbnQgZm9yIGFwcGVhciBjaGVjay5cbiAgICB2YXIgY29udGV4dCA9IGFjdGl2ZUluc3RhbmNlO1xuICAgIHZhciB0cmFuc2l0aW9uTm9kZSA9IGFjdGl2ZUluc3RhbmNlLiR2bm9kZTtcbiAgICB3aGlsZSAodHJhbnNpdGlvbk5vZGUgJiYgdHJhbnNpdGlvbk5vZGUucGFyZW50KSB7XG4gICAgICAgIGNvbnRleHQgPSB0cmFuc2l0aW9uTm9kZS5jb250ZXh0O1xuICAgICAgICB0cmFuc2l0aW9uTm9kZSA9IHRyYW5zaXRpb25Ob2RlLnBhcmVudDtcbiAgICB9XG4gICAgdmFyIGlzQXBwZWFyID0gIWNvbnRleHQuX2lzTW91bnRlZCB8fCAhdm5vZGUuaXNSb290SW5zZXJ0O1xuICAgIGlmIChpc0FwcGVhciAmJiAhYXBwZWFyICYmIGFwcGVhciAhPT0gJycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgc3RhcnRDbGFzcyA9IGlzQXBwZWFyICYmIGFwcGVhckNsYXNzID8gYXBwZWFyQ2xhc3MgOiBlbnRlckNsYXNzO1xuICAgIHZhciBhY3RpdmVDbGFzcyA9IGlzQXBwZWFyICYmIGFwcGVhckFjdGl2ZUNsYXNzID8gYXBwZWFyQWN0aXZlQ2xhc3MgOiBlbnRlckFjdGl2ZUNsYXNzO1xuICAgIHZhciB0b0NsYXNzID0gaXNBcHBlYXIgJiYgYXBwZWFyVG9DbGFzcyA/IGFwcGVhclRvQ2xhc3MgOiBlbnRlclRvQ2xhc3M7XG4gICAgdmFyIGJlZm9yZUVudGVySG9vayA9IGlzQXBwZWFyID8gYmVmb3JlQXBwZWFyIHx8IGJlZm9yZUVudGVyIDogYmVmb3JlRW50ZXI7XG4gICAgdmFyIGVudGVySG9vayA9IGlzQXBwZWFyID8gKGlzRnVuY3Rpb24oYXBwZWFyKSA/IGFwcGVhciA6IGVudGVyKSA6IGVudGVyO1xuICAgIHZhciBhZnRlckVudGVySG9vayA9IGlzQXBwZWFyID8gYWZ0ZXJBcHBlYXIgfHwgYWZ0ZXJFbnRlciA6IGFmdGVyRW50ZXI7XG4gICAgdmFyIGVudGVyQ2FuY2VsbGVkSG9vayA9IGlzQXBwZWFyXG4gICAgICAgID8gYXBwZWFyQ2FuY2VsbGVkIHx8IGVudGVyQ2FuY2VsbGVkXG4gICAgICAgIDogZW50ZXJDYW5jZWxsZWQ7XG4gICAgdmFyIGV4cGxpY2l0RW50ZXJEdXJhdGlvbiA9IHRvTnVtYmVyKGlzT2JqZWN0KGR1cmF0aW9uKSA/IGR1cmF0aW9uLmVudGVyIDogZHVyYXRpb24pO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGV4cGxpY2l0RW50ZXJEdXJhdGlvbiAhPSBudWxsKSB7XG4gICAgICAgIGNoZWNrRHVyYXRpb24oZXhwbGljaXRFbnRlckR1cmF0aW9uLCAnZW50ZXInLCB2bm9kZSk7XG4gICAgfVxuICAgIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gICAgdmFyIHVzZXJXYW50c0NvbnRyb2wgPSBnZXRIb29rQXJndW1lbnRzTGVuZ3RoKGVudGVySG9vayk7XG4gICAgdmFyIGNiID0gKGVsLl9lbnRlckNiID0gb25jZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChleHBlY3RzQ1NTKSB7XG4gICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIHRvQ2xhc3MpO1xuICAgICAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBhY3RpdmVDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgc3RhcnRDbGFzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbnRlckNhbmNlbGxlZEhvb2sgJiYgZW50ZXJDYW5jZWxsZWRIb29rKGVsKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGFmdGVyRW50ZXJIb29rICYmIGFmdGVyRW50ZXJIb29rKGVsKTtcbiAgICAgICAgfVxuICAgICAgICBlbC5fZW50ZXJDYiA9IG51bGw7XG4gICAgfSkpO1xuICAgIGlmICghdm5vZGUuZGF0YS5zaG93KSB7XG4gICAgICAgIC8vIHJlbW92ZSBwZW5kaW5nIGxlYXZlIGVsZW1lbnQgb24gZW50ZXIgYnkgaW5qZWN0aW5nIGFuIGluc2VydCBob29rXG4gICAgICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAnaW5zZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudE5vZGU7XG4gICAgICAgICAgICB2YXIgcGVuZGluZ05vZGUgPSBwYXJlbnQgJiYgcGFyZW50Ll9wZW5kaW5nICYmIHBhcmVudC5fcGVuZGluZ1t2bm9kZS5rZXldO1xuICAgICAgICAgICAgaWYgKHBlbmRpbmdOb2RlICYmXG4gICAgICAgICAgICAgICAgcGVuZGluZ05vZGUudGFnID09PSB2bm9kZS50YWcgJiZcbiAgICAgICAgICAgICAgICBwZW5kaW5nTm9kZS5lbG0uX2xlYXZlQ2IpIHtcbiAgICAgICAgICAgICAgICBwZW5kaW5nTm9kZS5lbG0uX2xlYXZlQ2IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVudGVySG9vayAmJiBlbnRlckhvb2soZWwsIGNiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8vIHN0YXJ0IGVudGVyIHRyYW5zaXRpb25cbiAgICBiZWZvcmVFbnRlckhvb2sgJiYgYmVmb3JlRW50ZXJIb29rKGVsKTtcbiAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGFjdGl2ZUNsYXNzKTtcbiAgICAgICAgbmV4dEZyYW1lKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgc3RhcnRDbGFzcyk7XG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICBpZiAoIWNiLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgdG9DbGFzcyk7XG4gICAgICAgICAgICAgICAgaWYgKCF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkRHVyYXRpb24oZXhwbGljaXRFbnRlckR1cmF0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChjYiwgZXhwbGljaXRFbnRlckR1cmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoZW5UcmFuc2l0aW9uRW5kcyhlbCwgdHlwZSwgY2IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHZub2RlLmRhdGEuc2hvdykge1xuICAgICAgICB0b2dnbGVEaXNwbGF5ICYmIHRvZ2dsZURpc3BsYXkoKTtcbiAgICAgICAgZW50ZXJIb29rICYmIGVudGVySG9vayhlbCwgY2IpO1xuICAgIH1cbiAgICBpZiAoIWV4cGVjdHNDU1MgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICAgICAgY2IoKTtcbiAgICB9XG59XG5mdW5jdGlvbiBsZWF2ZSh2bm9kZSwgcm0pIHtcbiAgICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gICAgLy8gY2FsbCBlbnRlciBjYWxsYmFjayBub3dcbiAgICBpZiAoaXNEZWYoZWwuX2VudGVyQ2IpKSB7XG4gICAgICAgIGVsLl9lbnRlckNiLmNhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgIGVsLl9lbnRlckNiKCk7XG4gICAgfVxuICAgIHZhciBkYXRhID0gcmVzb2x2ZVRyYW5zaXRpb24odm5vZGUuZGF0YS50cmFuc2l0aW9uKTtcbiAgICBpZiAoaXNVbmRlZihkYXRhKSB8fCBlbC5ub2RlVHlwZSAhPT0gMSkge1xuICAgICAgICByZXR1cm4gcm0oKTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGlzRGVmKGVsLl9sZWF2ZUNiKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBjc3MgPSBkYXRhLmNzcywgdHlwZSA9IGRhdGEudHlwZSwgbGVhdmVDbGFzcyA9IGRhdGEubGVhdmVDbGFzcywgbGVhdmVUb0NsYXNzID0gZGF0YS5sZWF2ZVRvQ2xhc3MsIGxlYXZlQWN0aXZlQ2xhc3MgPSBkYXRhLmxlYXZlQWN0aXZlQ2xhc3MsIGJlZm9yZUxlYXZlID0gZGF0YS5iZWZvcmVMZWF2ZSwgbGVhdmUgPSBkYXRhLmxlYXZlLCBhZnRlckxlYXZlID0gZGF0YS5hZnRlckxlYXZlLCBsZWF2ZUNhbmNlbGxlZCA9IGRhdGEubGVhdmVDYW5jZWxsZWQsIGRlbGF5TGVhdmUgPSBkYXRhLmRlbGF5TGVhdmUsIGR1cmF0aW9uID0gZGF0YS5kdXJhdGlvbjtcbiAgICB2YXIgZXhwZWN0c0NTUyA9IGNzcyAhPT0gZmFsc2UgJiYgIWlzSUU5O1xuICAgIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChsZWF2ZSk7XG4gICAgdmFyIGV4cGxpY2l0TGVhdmVEdXJhdGlvbiA9IHRvTnVtYmVyKGlzT2JqZWN0KGR1cmF0aW9uKSA/IGR1cmF0aW9uLmxlYXZlIDogZHVyYXRpb24pO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGlzRGVmKGV4cGxpY2l0TGVhdmVEdXJhdGlvbikpIHtcbiAgICAgICAgY2hlY2tEdXJhdGlvbihleHBsaWNpdExlYXZlRHVyYXRpb24sICdsZWF2ZScsIHZub2RlKTtcbiAgICB9XG4gICAgdmFyIGNiID0gKGVsLl9sZWF2ZUNiID0gb25jZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChlbC5wYXJlbnROb2RlICYmIGVsLnBhcmVudE5vZGUuX3BlbmRpbmcpIHtcbiAgICAgICAgICAgIGVsLnBhcmVudE5vZGUuX3BlbmRpbmdbdm5vZGUua2V5XSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVUb0NsYXNzKTtcbiAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVBY3RpdmVDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVDbGFzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZWF2ZUNhbmNlbGxlZCAmJiBsZWF2ZUNhbmNlbGxlZChlbCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBybSgpO1xuICAgICAgICAgICAgYWZ0ZXJMZWF2ZSAmJiBhZnRlckxlYXZlKGVsKTtcbiAgICAgICAgfVxuICAgICAgICBlbC5fbGVhdmVDYiA9IG51bGw7XG4gICAgfSkpO1xuICAgIGlmIChkZWxheUxlYXZlKSB7XG4gICAgICAgIGRlbGF5TGVhdmUocGVyZm9ybUxlYXZlKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHBlcmZvcm1MZWF2ZSgpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwZXJmb3JtTGVhdmUoKSB7XG4gICAgICAgIC8vIHRoZSBkZWxheWVkIGxlYXZlIG1heSBoYXZlIGFscmVhZHkgYmVlbiBjYW5jZWxsZWRcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVjb3JkIGxlYXZpbmcgZWxlbWVudFxuICAgICAgICBpZiAoIXZub2RlLmRhdGEuc2hvdyAmJiBlbC5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICAoZWwucGFyZW50Tm9kZS5fcGVuZGluZyB8fCAoZWwucGFyZW50Tm9kZS5fcGVuZGluZyA9IHt9KSlbdm5vZGUua2V5XSA9XG4gICAgICAgICAgICAgICAgdm5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgYmVmb3JlTGVhdmUgJiYgYmVmb3JlTGVhdmUoZWwpO1xuICAgICAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUNsYXNzKTtcbiAgICAgICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVBY3RpdmVDbGFzcyk7XG4gICAgICAgICAgICBuZXh0RnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIGlmICghY2IuY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVUb0NsYXNzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZER1cmF0aW9uKGV4cGxpY2l0TGVhdmVEdXJhdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGNiLCBleHBsaWNpdExlYXZlRHVyYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlblRyYW5zaXRpb25FbmRzKGVsLCB0eXBlLCBjYik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBsZWF2ZSAmJiBsZWF2ZShlbCwgY2IpO1xuICAgICAgICBpZiAoIWV4cGVjdHNDU1MgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICAgICAgICAgIGNiKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBvbmx5IHVzZWQgaW4gZGV2IG1vZGVcbmZ1bmN0aW9uIGNoZWNrRHVyYXRpb24odmFsLCBuYW1lLCB2bm9kZSkge1xuICAgIGlmICh0eXBlb2YgdmFsICE9PSAnbnVtYmVyJykge1xuICAgICAgICB3YXJuJDIoXCI8dHJhbnNpdGlvbj4gZXhwbGljaXQgXCIuY29uY2F0KG5hbWUsIFwiIGR1cmF0aW9uIGlzIG5vdCBhIHZhbGlkIG51bWJlciAtIFwiKSArXG4gICAgICAgICAgICBcImdvdCBcIi5jb25jYXQoSlNPTi5zdHJpbmdpZnkodmFsKSwgXCIuXCIpLCB2bm9kZS5jb250ZXh0KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNOYU4odmFsKSkge1xuICAgICAgICB3YXJuJDIoXCI8dHJhbnNpdGlvbj4gZXhwbGljaXQgXCIuY29uY2F0KG5hbWUsIFwiIGR1cmF0aW9uIGlzIE5hTiAtIFwiKSArXG4gICAgICAgICAgICAndGhlIGR1cmF0aW9uIGV4cHJlc3Npb24gbWlnaHQgYmUgaW5jb3JyZWN0LicsIHZub2RlLmNvbnRleHQpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGlzVmFsaWREdXJhdGlvbih2YWwpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbCk7XG59XG4vKipcbiAqIE5vcm1hbGl6ZSBhIHRyYW5zaXRpb24gaG9vaydzIGFyZ3VtZW50IGxlbmd0aC4gVGhlIGhvb2sgbWF5IGJlOlxuICogLSBhIG1lcmdlZCBob29rIChpbnZva2VyKSB3aXRoIHRoZSBvcmlnaW5hbCBpbiAuZm5zXG4gKiAtIGEgd3JhcHBlZCBjb21wb25lbnQgbWV0aG9kIChjaGVjayAuX2xlbmd0aClcbiAqIC0gYSBwbGFpbiBmdW5jdGlvbiAoLmxlbmd0aClcbiAqL1xuZnVuY3Rpb24gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChmbikge1xuICAgIGlmIChpc1VuZGVmKGZuKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB2YXIgaW52b2tlckZucyA9IGZuLmZucztcbiAgICBpZiAoaXNEZWYoaW52b2tlckZucykpIHtcbiAgICAgICAgLy8gaW52b2tlclxuICAgICAgICByZXR1cm4gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChBcnJheS5pc0FycmF5KGludm9rZXJGbnMpID8gaW52b2tlckZuc1swXSA6IGludm9rZXJGbnMpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICByZXR1cm4gKGZuLl9sZW5ndGggfHwgZm4ubGVuZ3RoKSA+IDE7XG4gICAgfVxufVxuZnVuY3Rpb24gX2VudGVyKF8sIHZub2RlKSB7XG4gICAgaWYgKHZub2RlLmRhdGEuc2hvdyAhPT0gdHJ1ZSkge1xuICAgICAgICBlbnRlcih2bm9kZSk7XG4gICAgfVxufVxudmFyIHRyYW5zaXRpb24gPSBpbkJyb3dzZXJcbiAgICA/IHtcbiAgICAgICAgY3JlYXRlOiBfZW50ZXIsXG4gICAgICAgIGFjdGl2YXRlOiBfZW50ZXIsXG4gICAgICAgIHJlbW92ZTogZnVuY3Rpb24gKHZub2RlLCBybSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh2bm9kZS5kYXRhLnNob3cgIT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgbGVhdmUodm5vZGUsIHJtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJtKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgOiB7fTtcblxudmFyIHBsYXRmb3JtTW9kdWxlcyA9IFthdHRycywga2xhc3MkMSwgZXZlbnRzLCBkb21Qcm9wcywgc3R5bGUkMSwgdHJhbnNpdGlvbl07XG5cbi8vIHRoZSBkaXJlY3RpdmUgbW9kdWxlIHNob3VsZCBiZSBhcHBsaWVkIGxhc3QsIGFmdGVyIGFsbFxuLy8gYnVpbHQtaW4gbW9kdWxlcyBoYXZlIGJlZW4gYXBwbGllZC5cbnZhciBtb2R1bGVzJDEgPSBwbGF0Zm9ybU1vZHVsZXMuY29uY2F0KGJhc2VNb2R1bGVzKTtcbnZhciBwYXRjaCA9IGNyZWF0ZVBhdGNoRnVuY3Rpb24oeyBub2RlT3BzOiBub2RlT3BzLCBtb2R1bGVzOiBtb2R1bGVzJDEgfSk7XG5cbi8qKlxuICogTm90IHR5cGUgY2hlY2tpbmcgdGhpcyBmaWxlIGJlY2F1c2UgZmxvdyBkb2Vzbid0IGxpa2UgYXR0YWNoaW5nXG4gKiBwcm9wZXJ0aWVzIHRvIEVsZW1lbnRzLlxuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbmlmIChpc0lFOSkge1xuICAgIC8vIGh0dHA6Ly93d3cubWF0dHM0MTEuY29tL3Bvc3QvaW50ZXJuZXQtZXhwbG9yZXItOS1vbmlucHV0L1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdGlvbmNoYW5nZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBpZiAoZWwgJiYgZWwudm1vZGVsKSB7XG4gICAgICAgICAgICB0cmlnZ2VyKGVsLCAnaW5wdXQnKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxudmFyIGRpcmVjdGl2ZSA9IHtcbiAgICBpbnNlcnRlZDogZnVuY3Rpb24gKGVsLCBiaW5kaW5nLCB2bm9kZSwgb2xkVm5vZGUpIHtcbiAgICAgICAgaWYgKHZub2RlLnRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgICAgICAgIC8vICM2OTAzXG4gICAgICAgICAgICBpZiAob2xkVm5vZGUuZWxtICYmICFvbGRWbm9kZS5lbG0uX3ZPcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgbWVyZ2VWTm9kZUhvb2sodm5vZGUsICdwb3N0cGF0Y2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2ZS5jb21wb25lbnRVcGRhdGVkKGVsLCBiaW5kaW5nLCB2bm9kZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZChlbCwgYmluZGluZywgdm5vZGUuY29udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbC5fdk9wdGlvbnMgPSBbXS5tYXAuY2FsbChlbC5vcHRpb25zLCBnZXRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodm5vZGUudGFnID09PSAndGV4dGFyZWEnIHx8IGlzVGV4dElucHV0VHlwZShlbC50eXBlKSkge1xuICAgICAgICAgICAgZWwuX3ZNb2RpZmllcnMgPSBiaW5kaW5nLm1vZGlmaWVycztcbiAgICAgICAgICAgIGlmICghYmluZGluZy5tb2RpZmllcnMubGF6eSkge1xuICAgICAgICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uc3RhcnQnLCBvbkNvbXBvc2l0aW9uU3RhcnQpO1xuICAgICAgICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uZW5kJywgb25Db21wb3NpdGlvbkVuZCk7XG4gICAgICAgICAgICAgICAgLy8gU2FmYXJpIDwgMTAuMiAmIFVJV2ViVmlldyBkb2Vzbid0IGZpcmUgY29tcG9zaXRpb25lbmQgd2hlblxuICAgICAgICAgICAgICAgIC8vIHN3aXRjaGluZyBmb2N1cyBiZWZvcmUgY29uZmlybWluZyBjb21wb3NpdGlvbiBjaG9pY2VcbiAgICAgICAgICAgICAgICAvLyB0aGlzIGFsc28gZml4ZXMgdGhlIGlzc3VlIHdoZXJlIHNvbWUgYnJvd3NlcnMgZS5nLiBpT1MgQ2hyb21lXG4gICAgICAgICAgICAgICAgLy8gZmlyZXMgXCJjaGFuZ2VcIiBpbnN0ZWFkIG9mIFwiaW5wdXRcIiBvbiBhdXRvY29tcGxldGUuXG4gICAgICAgICAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25Db21wb3NpdGlvbkVuZCk7XG4gICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICAgICAgaWYgKGlzSUU5KSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnZtb2RlbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBjb21wb25lbnRVcGRhdGVkOiBmdW5jdGlvbiAoZWwsIGJpbmRpbmcsIHZub2RlKSB7XG4gICAgICAgIGlmICh2bm9kZS50YWcgPT09ICdzZWxlY3QnKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZChlbCwgYmluZGluZywgdm5vZGUuY29udGV4dCk7XG4gICAgICAgICAgICAvLyBpbiBjYXNlIHRoZSBvcHRpb25zIHJlbmRlcmVkIGJ5IHYtZm9yIGhhdmUgY2hhbmdlZCxcbiAgICAgICAgICAgIC8vIGl0J3MgcG9zc2libGUgdGhhdCB0aGUgdmFsdWUgaXMgb3V0LW9mLXN5bmMgd2l0aCB0aGUgcmVuZGVyZWQgb3B0aW9ucy5cbiAgICAgICAgICAgIC8vIGRldGVjdCBzdWNoIGNhc2VzIGFuZCBmaWx0ZXIgb3V0IHZhbHVlcyB0aGF0IG5vIGxvbmdlciBoYXMgYSBtYXRjaGluZ1xuICAgICAgICAgICAgLy8gb3B0aW9uIGluIHRoZSBET00uXG4gICAgICAgICAgICB2YXIgcHJldk9wdGlvbnNfMSA9IGVsLl92T3B0aW9ucztcbiAgICAgICAgICAgIHZhciBjdXJPcHRpb25zXzEgPSAoZWwuX3ZPcHRpb25zID0gW10ubWFwLmNhbGwoZWwub3B0aW9ucywgZ2V0VmFsdWUpKTtcbiAgICAgICAgICAgIGlmIChjdXJPcHRpb25zXzEuc29tZShmdW5jdGlvbiAobywgaSkgeyByZXR1cm4gIWxvb3NlRXF1YWwobywgcHJldk9wdGlvbnNfMVtpXSk7IH0pKSB7XG4gICAgICAgICAgICAgICAgLy8gdHJpZ2dlciBjaGFuZ2UgZXZlbnQgaWZcbiAgICAgICAgICAgICAgICAvLyBubyBtYXRjaGluZyBvcHRpb24gZm91bmQgZm9yIGF0IGxlYXN0IG9uZSB2YWx1ZVxuICAgICAgICAgICAgICAgIHZhciBuZWVkUmVzZXQgPSBlbC5tdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICA/IGJpbmRpbmcudmFsdWUuc29tZShmdW5jdGlvbiAodikgeyByZXR1cm4gaGFzTm9NYXRjaGluZ09wdGlvbih2LCBjdXJPcHRpb25zXzEpOyB9KVxuICAgICAgICAgICAgICAgICAgICA6IGJpbmRpbmcudmFsdWUgIT09IGJpbmRpbmcub2xkVmFsdWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc05vTWF0Y2hpbmdPcHRpb24oYmluZGluZy52YWx1ZSwgY3VyT3B0aW9uc18xKTtcbiAgICAgICAgICAgICAgICBpZiAobmVlZFJlc2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRyaWdnZXIoZWwsICdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuZnVuY3Rpb24gc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZtKSB7XG4gICAgYWN0dWFsbHlTZXRTZWxlY3RlZChlbCwgYmluZGluZywgdm0pO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0lFIHx8IGlzRWRnZSkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGFjdHVhbGx5U2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZtKTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxufVxuZnVuY3Rpb24gYWN0dWFsbHlTZXRTZWxlY3RlZChlbCwgYmluZGluZywgdm0pIHtcbiAgICB2YXIgdmFsdWUgPSBiaW5kaW5nLnZhbHVlO1xuICAgIHZhciBpc011bHRpcGxlID0gZWwubXVsdGlwbGU7XG4gICAgaWYgKGlzTXVsdGlwbGUgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgIHdhcm4kMihcIjxzZWxlY3QgbXVsdGlwbGUgdi1tb2RlbD1cXFwiXCIuY29uY2F0KGJpbmRpbmcuZXhwcmVzc2lvbiwgXCJcXFwiPiBcIikgK1xuICAgICAgICAgICAgICAgIFwiZXhwZWN0cyBhbiBBcnJheSB2YWx1ZSBmb3IgaXRzIGJpbmRpbmcsIGJ1dCBnb3QgXCIuY29uY2F0KE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmdcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIC5zbGljZSg4LCAtMSkpLCB2bSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHNlbGVjdGVkLCBvcHRpb247XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSBlbC5vcHRpb25zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBvcHRpb24gPSBlbC5vcHRpb25zW2ldO1xuICAgICAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgICAgICAgc2VsZWN0ZWQgPSBsb29zZUluZGV4T2YodmFsdWUsIGdldFZhbHVlKG9wdGlvbikpID4gLTE7XG4gICAgICAgICAgICBpZiAob3B0aW9uLnNlbGVjdGVkICE9PSBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGxvb3NlRXF1YWwoZ2V0VmFsdWUob3B0aW9uKSwgdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVsLnNlbGVjdGVkSW5kZXggIT09IGkpIHtcbiAgICAgICAgICAgICAgICAgICAgZWwuc2VsZWN0ZWRJbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWlzTXVsdGlwbGUpIHtcbiAgICAgICAgZWwuc2VsZWN0ZWRJbmRleCA9IC0xO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGhhc05vTWF0Y2hpbmdPcHRpb24odmFsdWUsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5ldmVyeShmdW5jdGlvbiAobykgeyByZXR1cm4gIWxvb3NlRXF1YWwobywgdmFsdWUpOyB9KTtcbn1cbmZ1bmN0aW9uIGdldFZhbHVlKG9wdGlvbikge1xuICAgIHJldHVybiAnX3ZhbHVlJyBpbiBvcHRpb24gPyBvcHRpb24uX3ZhbHVlIDogb3B0aW9uLnZhbHVlO1xufVxuZnVuY3Rpb24gb25Db21wb3NpdGlvblN0YXJ0KGUpIHtcbiAgICBlLnRhcmdldC5jb21wb3NpbmcgPSB0cnVlO1xufVxuZnVuY3Rpb24gb25Db21wb3NpdGlvbkVuZChlKSB7XG4gICAgLy8gcHJldmVudCB0cmlnZ2VyaW5nIGFuIGlucHV0IGV2ZW50IGZvciBubyByZWFzb25cbiAgICBpZiAoIWUudGFyZ2V0LmNvbXBvc2luZylcbiAgICAgICAgcmV0dXJuO1xuICAgIGUudGFyZ2V0LmNvbXBvc2luZyA9IGZhbHNlO1xuICAgIHRyaWdnZXIoZS50YXJnZXQsICdpbnB1dCcpO1xufVxuZnVuY3Rpb24gdHJpZ2dlcihlbCwgdHlwZSkge1xuICAgIHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxFdmVudHMnKTtcbiAgICBlLmluaXRFdmVudCh0eXBlLCB0cnVlLCB0cnVlKTtcbiAgICBlbC5kaXNwYXRjaEV2ZW50KGUpO1xufVxuXG4vLyByZWN1cnNpdmVseSBzZWFyY2ggZm9yIHBvc3NpYmxlIHRyYW5zaXRpb24gZGVmaW5lZCBpbnNpZGUgdGhlIGNvbXBvbmVudCByb290XG5mdW5jdGlvbiBsb2NhdGVOb2RlKHZub2RlKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHJldHVybiB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSAmJiAoIXZub2RlLmRhdGEgfHwgIXZub2RlLmRhdGEudHJhbnNpdGlvbilcbiAgICAgICAgPyBsb2NhdGVOb2RlKHZub2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSlcbiAgICAgICAgOiB2bm9kZTtcbn1cbnZhciBzaG93ID0ge1xuICAgIGJpbmQ6IGZ1bmN0aW9uIChlbCwgX2EsIHZub2RlKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IF9hLnZhbHVlO1xuICAgICAgICB2bm9kZSA9IGxvY2F0ZU5vZGUodm5vZGUpO1xuICAgICAgICB2YXIgdHJhbnNpdGlvbiA9IHZub2RlLmRhdGEgJiYgdm5vZGUuZGF0YS50cmFuc2l0aW9uO1xuICAgICAgICB2YXIgb3JpZ2luYWxEaXNwbGF5ID0gKGVsLl9fdk9yaWdpbmFsRGlzcGxheSA9XG4gICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgPyAnJyA6IGVsLnN0eWxlLmRpc3BsYXkpO1xuICAgICAgICBpZiAodmFsdWUgJiYgdHJhbnNpdGlvbikge1xuICAgICAgICAgICAgdm5vZGUuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIGVudGVyKHZub2RlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IG9yaWdpbmFsRGlzcGxheTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IHZhbHVlID8gb3JpZ2luYWxEaXNwbGF5IDogJ25vbmUnO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB1cGRhdGU6IGZ1bmN0aW9uIChlbCwgX2EsIHZub2RlKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IF9hLnZhbHVlLCBvbGRWYWx1ZSA9IF9hLm9sZFZhbHVlO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKCF2YWx1ZSA9PT0gIW9sZFZhbHVlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB2bm9kZSA9IGxvY2F0ZU5vZGUodm5vZGUpO1xuICAgICAgICB2YXIgdHJhbnNpdGlvbiA9IHZub2RlLmRhdGEgJiYgdm5vZGUuZGF0YS50cmFuc2l0aW9uO1xuICAgICAgICBpZiAodHJhbnNpdGlvbikge1xuICAgICAgICAgICAgdm5vZGUuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGVudGVyKHZub2RlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZWF2ZSh2bm9kZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IHZhbHVlID8gZWwuX192T3JpZ2luYWxEaXNwbGF5IDogJ25vbmUnO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB1bmJpbmQ6IGZ1bmN0aW9uIChlbCwgYmluZGluZywgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpIHtcbiAgICAgICAgaWYgKCFpc0Rlc3Ryb3kpIHtcbiAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG52YXIgcGxhdGZvcm1EaXJlY3RpdmVzID0ge1xuICAgIG1vZGVsOiBkaXJlY3RpdmUsXG4gICAgc2hvdzogc2hvd1xufTtcblxuLy8gUHJvdmlkZXMgdHJhbnNpdGlvbiBzdXBwb3J0IGZvciBhIHNpbmdsZSBlbGVtZW50L2NvbXBvbmVudC5cbnZhciB0cmFuc2l0aW9uUHJvcHMgPSB7XG4gICAgbmFtZTogU3RyaW5nLFxuICAgIGFwcGVhcjogQm9vbGVhbixcbiAgICBjc3M6IEJvb2xlYW4sXG4gICAgbW9kZTogU3RyaW5nLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgICBlbnRlckNsYXNzOiBTdHJpbmcsXG4gICAgbGVhdmVDbGFzczogU3RyaW5nLFxuICAgIGVudGVyVG9DbGFzczogU3RyaW5nLFxuICAgIGxlYXZlVG9DbGFzczogU3RyaW5nLFxuICAgIGVudGVyQWN0aXZlQ2xhc3M6IFN0cmluZyxcbiAgICBsZWF2ZUFjdGl2ZUNsYXNzOiBTdHJpbmcsXG4gICAgYXBwZWFyQ2xhc3M6IFN0cmluZyxcbiAgICBhcHBlYXJBY3RpdmVDbGFzczogU3RyaW5nLFxuICAgIGFwcGVhclRvQ2xhc3M6IFN0cmluZyxcbiAgICBkdXJhdGlvbjogW051bWJlciwgU3RyaW5nLCBPYmplY3RdXG59O1xuLy8gaW4gY2FzZSB0aGUgY2hpbGQgaXMgYWxzbyBhbiBhYnN0cmFjdCBjb21wb25lbnQsIGUuZy4gPGtlZXAtYWxpdmU+XG4vLyB3ZSB3YW50IHRvIHJlY3Vyc2l2ZWx5IHJldHJpZXZlIHRoZSByZWFsIGNvbXBvbmVudCB0byBiZSByZW5kZXJlZFxuZnVuY3Rpb24gZ2V0UmVhbENoaWxkKHZub2RlKSB7XG4gICAgdmFyIGNvbXBPcHRpb25zID0gdm5vZGUgJiYgdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICBpZiAoY29tcE9wdGlvbnMgJiYgY29tcE9wdGlvbnMuQ3Rvci5vcHRpb25zLmFic3RyYWN0KSB7XG4gICAgICAgIHJldHVybiBnZXRSZWFsQ2hpbGQoZ2V0Rmlyc3RDb21wb25lbnRDaGlsZChjb21wT3B0aW9ucy5jaGlsZHJlbikpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZub2RlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGV4dHJhY3RUcmFuc2l0aW9uRGF0YShjb21wKSB7XG4gICAgdmFyIGRhdGEgPSB7fTtcbiAgICB2YXIgb3B0aW9ucyA9IGNvbXAuJG9wdGlvbnM7XG4gICAgLy8gcHJvcHNcbiAgICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucy5wcm9wc0RhdGEpIHtcbiAgICAgICAgZGF0YVtrZXldID0gY29tcFtrZXldO1xuICAgIH1cbiAgICAvLyBldmVudHMuXG4gICAgLy8gZXh0cmFjdCBsaXN0ZW5lcnMgYW5kIHBhc3MgdGhlbSBkaXJlY3RseSB0byB0aGUgdHJhbnNpdGlvbiBtZXRob2RzXG4gICAgdmFyIGxpc3RlbmVycyA9IG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgICBmb3IgKHZhciBrZXkgaW4gbGlzdGVuZXJzKSB7XG4gICAgICAgIGRhdGFbY2FtZWxpemUoa2V5KV0gPSBsaXN0ZW5lcnNba2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG5mdW5jdGlvbiBwbGFjZWhvbGRlcihoLCByYXdDaGlsZCkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBpZiAoL1xcZC1rZWVwLWFsaXZlJC8udGVzdChyYXdDaGlsZC50YWcpKSB7XG4gICAgICAgIHJldHVybiBoKCdrZWVwLWFsaXZlJywge1xuICAgICAgICAgICAgcHJvcHM6IHJhd0NoaWxkLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGhhc1BhcmVudFRyYW5zaXRpb24odm5vZGUpIHtcbiAgICB3aGlsZSAoKHZub2RlID0gdm5vZGUucGFyZW50KSkge1xuICAgICAgICBpZiAodm5vZGUuZGF0YS50cmFuc2l0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGlzU2FtZUNoaWxkKGNoaWxkLCBvbGRDaGlsZCkge1xuICAgIHJldHVybiBvbGRDaGlsZC5rZXkgPT09IGNoaWxkLmtleSAmJiBvbGRDaGlsZC50YWcgPT09IGNoaWxkLnRhZztcbn1cbnZhciBpc05vdFRleHROb2RlID0gZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGMudGFnIHx8IGlzQXN5bmNQbGFjZWhvbGRlcihjKTsgfTtcbnZhciBpc1ZTaG93RGlyZWN0aXZlID0gZnVuY3Rpb24gKGQpIHsgcmV0dXJuIGQubmFtZSA9PT0gJ3Nob3cnOyB9O1xudmFyIFRyYW5zaXRpb24gPSB7XG4gICAgbmFtZTogJ3RyYW5zaXRpb24nLFxuICAgIHByb3BzOiB0cmFuc2l0aW9uUHJvcHMsXG4gICAgYWJzdHJhY3Q6IHRydWUsXG4gICAgcmVuZGVyOiBmdW5jdGlvbiAoaCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLiRzbG90cy5kZWZhdWx0O1xuICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gZmlsdGVyIG91dCB0ZXh0IG5vZGVzIChwb3NzaWJsZSB3aGl0ZXNwYWNlcylcbiAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5maWx0ZXIoaXNOb3RUZXh0Tm9kZSk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoIWNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHdhcm4gbXVsdGlwbGUgZWxlbWVudHNcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgd2FybiQyKCc8dHJhbnNpdGlvbj4gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIHNpbmdsZSBlbGVtZW50LiBVc2UgJyArXG4gICAgICAgICAgICAgICAgJzx0cmFuc2l0aW9uLWdyb3VwPiBmb3IgbGlzdHMuJywgdGhpcy4kcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbW9kZSA9IHRoaXMubW9kZTtcbiAgICAgICAgLy8gd2FybiBpbnZhbGlkIG1vZGVcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgbW9kZSAmJiBtb2RlICE9PSAnaW4tb3V0JyAmJiBtb2RlICE9PSAnb3V0LWluJykge1xuICAgICAgICAgICAgd2FybiQyKCdpbnZhbGlkIDx0cmFuc2l0aW9uPiBtb2RlOiAnICsgbW9kZSwgdGhpcy4kcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmF3Q2hpbGQgPSBjaGlsZHJlblswXTtcbiAgICAgICAgLy8gaWYgdGhpcyBpcyBhIGNvbXBvbmVudCByb290IG5vZGUgYW5kIHRoZSBjb21wb25lbnQnc1xuICAgICAgICAvLyBwYXJlbnQgY29udGFpbmVyIG5vZGUgYWxzbyBoYXMgdHJhbnNpdGlvbiwgc2tpcC5cbiAgICAgICAgaWYgKGhhc1BhcmVudFRyYW5zaXRpb24odGhpcy4kdm5vZGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gcmF3Q2hpbGQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYXBwbHkgdHJhbnNpdGlvbiBkYXRhIHRvIGNoaWxkXG4gICAgICAgIC8vIHVzZSBnZXRSZWFsQ2hpbGQoKSB0byBpZ25vcmUgYWJzdHJhY3QgY29tcG9uZW50cyBlLmcuIGtlZXAtYWxpdmVcbiAgICAgICAgdmFyIGNoaWxkID0gZ2V0UmVhbENoaWxkKHJhd0NoaWxkKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmICghY2hpbGQpIHtcbiAgICAgICAgICAgIHJldHVybiByYXdDaGlsZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fbGVhdmluZykge1xuICAgICAgICAgICAgcmV0dXJuIHBsYWNlaG9sZGVyKGgsIHJhd0NoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBlbnN1cmUgYSBrZXkgdGhhdCBpcyB1bmlxdWUgdG8gdGhlIHZub2RlIHR5cGUgYW5kIHRvIHRoaXMgdHJhbnNpdGlvblxuICAgICAgICAvLyBjb21wb25lbnQgaW5zdGFuY2UuIFRoaXMga2V5IHdpbGwgYmUgdXNlZCB0byByZW1vdmUgcGVuZGluZyBsZWF2aW5nIG5vZGVzXG4gICAgICAgIC8vIGR1cmluZyBlbnRlcmluZy5cbiAgICAgICAgdmFyIGlkID0gXCJfX3RyYW5zaXRpb24tXCIuY29uY2F0KHRoaXMuX3VpZCwgXCItXCIpO1xuICAgICAgICBjaGlsZC5rZXkgPVxuICAgICAgICAgICAgY2hpbGQua2V5ID09IG51bGxcbiAgICAgICAgICAgICAgICA/IGNoaWxkLmlzQ29tbWVudFxuICAgICAgICAgICAgICAgICAgICA/IGlkICsgJ2NvbW1lbnQnXG4gICAgICAgICAgICAgICAgICAgIDogaWQgKyBjaGlsZC50YWdcbiAgICAgICAgICAgICAgICA6IGlzUHJpbWl0aXZlKGNoaWxkLmtleSlcbiAgICAgICAgICAgICAgICAgICAgPyBTdHJpbmcoY2hpbGQua2V5KS5pbmRleE9mKGlkKSA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBjaGlsZC5rZXlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaWQgKyBjaGlsZC5rZXlcbiAgICAgICAgICAgICAgICAgICAgOiBjaGlsZC5rZXk7XG4gICAgICAgIHZhciBkYXRhID0gKChjaGlsZC5kYXRhIHx8IChjaGlsZC5kYXRhID0ge30pKS50cmFuc2l0aW9uID1cbiAgICAgICAgICAgIGV4dHJhY3RUcmFuc2l0aW9uRGF0YSh0aGlzKSk7XG4gICAgICAgIHZhciBvbGRSYXdDaGlsZCA9IHRoaXMuX3Zub2RlO1xuICAgICAgICB2YXIgb2xkQ2hpbGQgPSBnZXRSZWFsQ2hpbGQob2xkUmF3Q2hpbGQpO1xuICAgICAgICAvLyBtYXJrIHYtc2hvd1xuICAgICAgICAvLyBzbyB0aGF0IHRoZSB0cmFuc2l0aW9uIG1vZHVsZSBjYW4gaGFuZCBvdmVyIHRoZSBjb250cm9sIHRvIHRoZSBkaXJlY3RpdmVcbiAgICAgICAgaWYgKGNoaWxkLmRhdGEuZGlyZWN0aXZlcyAmJiBjaGlsZC5kYXRhLmRpcmVjdGl2ZXMuc29tZShpc1ZTaG93RGlyZWN0aXZlKSkge1xuICAgICAgICAgICAgY2hpbGQuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2xkQ2hpbGQgJiZcbiAgICAgICAgICAgIG9sZENoaWxkLmRhdGEgJiZcbiAgICAgICAgICAgICFpc1NhbWVDaGlsZChjaGlsZCwgb2xkQ2hpbGQpICYmXG4gICAgICAgICAgICAhaXNBc3luY1BsYWNlaG9sZGVyKG9sZENoaWxkKSAmJlxuICAgICAgICAgICAgLy8gIzY2ODcgY29tcG9uZW50IHJvb3QgaXMgYSBjb21tZW50IG5vZGVcbiAgICAgICAgICAgICEob2xkQ2hpbGQuY29tcG9uZW50SW5zdGFuY2UgJiZcbiAgICAgICAgICAgICAgICBvbGRDaGlsZC5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUuaXNDb21tZW50KSkge1xuICAgICAgICAgICAgLy8gcmVwbGFjZSBvbGQgY2hpbGQgdHJhbnNpdGlvbiBkYXRhIHdpdGggZnJlc2ggb25lXG4gICAgICAgICAgICAvLyBpbXBvcnRhbnQgZm9yIGR5bmFtaWMgdHJhbnNpdGlvbnMhXG4gICAgICAgICAgICB2YXIgb2xkRGF0YSA9IChvbGRDaGlsZC5kYXRhLnRyYW5zaXRpb24gPSBleHRlbmQoe30sIGRhdGEpKTtcbiAgICAgICAgICAgIC8vIGhhbmRsZSB0cmFuc2l0aW9uIG1vZGVcbiAgICAgICAgICAgIGlmIChtb2RlID09PSAnb3V0LWluJykge1xuICAgICAgICAgICAgICAgIC8vIHJldHVybiBwbGFjZWhvbGRlciBub2RlIGFuZCBxdWV1ZSB1cGRhdGUgd2hlbiBsZWF2ZSBmaW5pc2hlc1xuICAgICAgICAgICAgICAgIHRoaXMuX2xlYXZpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgIG1lcmdlVk5vZGVIb29rKG9sZERhdGEsICdhZnRlckxlYXZlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5fbGVhdmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy4kZm9yY2VVcGRhdGUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXIoaCwgcmF3Q2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAobW9kZSA9PT0gJ2luLW91dCcpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNBc3luY1BsYWNlaG9sZGVyKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2xkUmF3Q2hpbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciBkZWxheWVkTGVhdmVfMTtcbiAgICAgICAgICAgICAgICB2YXIgcGVyZm9ybUxlYXZlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBkZWxheWVkTGVhdmVfMSgpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgbWVyZ2VWTm9kZUhvb2soZGF0YSwgJ2FmdGVyRW50ZXInLCBwZXJmb3JtTGVhdmUpO1xuICAgICAgICAgICAgICAgIG1lcmdlVk5vZGVIb29rKGRhdGEsICdlbnRlckNhbmNlbGxlZCcsIHBlcmZvcm1MZWF2ZSk7XG4gICAgICAgICAgICAgICAgbWVyZ2VWTm9kZUhvb2sob2xkRGF0YSwgJ2RlbGF5TGVhdmUnLCBmdW5jdGlvbiAobGVhdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsYXllZExlYXZlXzEgPSBsZWF2ZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmF3Q2hpbGQ7XG4gICAgfVxufTtcblxuLy8gUHJvdmlkZXMgdHJhbnNpdGlvbiBzdXBwb3J0IGZvciBsaXN0IGl0ZW1zLlxudmFyIHByb3BzID0gZXh0ZW5kKHtcbiAgICB0YWc6IFN0cmluZyxcbiAgICBtb3ZlQ2xhc3M6IFN0cmluZ1xufSwgdHJhbnNpdGlvblByb3BzKTtcbmRlbGV0ZSBwcm9wcy5tb2RlO1xudmFyIFRyYW5zaXRpb25Hcm91cCA9IHtcbiAgICBwcm9wczogcHJvcHMsXG4gICAgYmVmb3JlTW91bnQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIHVwZGF0ZSA9IHRoaXMuX3VwZGF0ZTtcbiAgICAgICAgdGhpcy5fdXBkYXRlID0gZnVuY3Rpb24gKHZub2RlLCBoeWRyYXRpbmcpIHtcbiAgICAgICAgICAgIHZhciByZXN0b3JlQWN0aXZlSW5zdGFuY2UgPSBzZXRBY3RpdmVJbnN0YW5jZShfdGhpcyk7XG4gICAgICAgICAgICAvLyBmb3JjZSByZW1vdmluZyBwYXNzXG4gICAgICAgICAgICBfdGhpcy5fX3BhdGNoX18oX3RoaXMuX3Zub2RlLCBfdGhpcy5rZXB0LCBmYWxzZSwgLy8gaHlkcmF0aW5nXG4gICAgICAgICAgICB0cnVlIC8vIHJlbW92ZU9ubHkgKCFpbXBvcnRhbnQsIGF2b2lkcyB1bm5lY2Vzc2FyeSBtb3ZlcylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBfdGhpcy5fdm5vZGUgPSBfdGhpcy5rZXB0O1xuICAgICAgICAgICAgcmVzdG9yZUFjdGl2ZUluc3RhbmNlKCk7XG4gICAgICAgICAgICB1cGRhdGUuY2FsbChfdGhpcywgdm5vZGUsIGh5ZHJhdGluZyk7XG4gICAgICAgIH07XG4gICAgfSxcbiAgICByZW5kZXI6IGZ1bmN0aW9uIChoKSB7XG4gICAgICAgIHZhciB0YWcgPSB0aGlzLnRhZyB8fCB0aGlzLiR2bm9kZS5kYXRhLnRhZyB8fCAnc3Bhbic7XG4gICAgICAgIHZhciBtYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICB2YXIgcHJldkNoaWxkcmVuID0gKHRoaXMucHJldkNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbik7XG4gICAgICAgIHZhciByYXdDaGlsZHJlbiA9IHRoaXMuJHNsb3RzLmRlZmF1bHQgfHwgW107XG4gICAgICAgIHZhciBjaGlsZHJlbiA9ICh0aGlzLmNoaWxkcmVuID0gW10pO1xuICAgICAgICB2YXIgdHJhbnNpdGlvbkRhdGEgPSBleHRyYWN0VHJhbnNpdGlvbkRhdGEodGhpcyk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmF3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjID0gcmF3Q2hpbGRyZW5baV07XG4gICAgICAgICAgICBpZiAoYy50YWcpIHtcbiAgICAgICAgICAgICAgICBpZiAoYy5rZXkgIT0gbnVsbCAmJiBTdHJpbmcoYy5rZXkpLmluZGV4T2YoJ19fdmxpc3QnKSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGMpO1xuICAgICAgICAgICAgICAgICAgICBtYXBbYy5rZXldID0gYztcbiAgICAgICAgICAgICAgICAgICAgKGMuZGF0YSB8fCAoYy5kYXRhID0ge30pKS50cmFuc2l0aW9uID0gdHJhbnNpdGlvbkRhdGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG9wdHMgPSBjLmNvbXBvbmVudE9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgIHZhciBuYW1lXzEgPSBvcHRzXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGdldENvbXBvbmVudE5hbWUob3B0cy5DdG9yLm9wdGlvbnMpIHx8IG9wdHMudGFnIHx8ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGMudGFnO1xuICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCI8dHJhbnNpdGlvbi1ncm91cD4gY2hpbGRyZW4gbXVzdCBiZSBrZXllZDogPFwiLmNvbmNhdChuYW1lXzEsIFwiPlwiKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwcmV2Q2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHZhciBrZXB0ID0gW107XG4gICAgICAgICAgICB2YXIgcmVtb3ZlZCA9IFtdO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcmV2Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgYyA9IHByZXZDaGlsZHJlbltpXTtcbiAgICAgICAgICAgICAgICBjLmRhdGEudHJhbnNpdGlvbiA9IHRyYW5zaXRpb25EYXRhO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCBpcyBub3QgdHlwZWQgaW4gTm9kZVxuICAgICAgICAgICAgICAgIGMuZGF0YS5wb3MgPSBjLmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBpZiAobWFwW2Mua2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBrZXB0LnB1c2goYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVkLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5rZXB0ID0gaCh0YWcsIG51bGwsIGtlcHQpO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVkID0gcmVtb3ZlZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaCh0YWcsIG51bGwsIGNoaWxkcmVuKTtcbiAgICB9LFxuICAgIHVwZGF0ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy5wcmV2Q2hpbGRyZW47XG4gICAgICAgIHZhciBtb3ZlQ2xhc3MgPSB0aGlzLm1vdmVDbGFzcyB8fCAodGhpcy5uYW1lIHx8ICd2JykgKyAnLW1vdmUnO1xuICAgICAgICBpZiAoIWNoaWxkcmVuLmxlbmd0aCB8fCAhdGhpcy5oYXNNb3ZlKGNoaWxkcmVuWzBdLmVsbSwgbW92ZUNsYXNzKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHdlIGRpdmlkZSB0aGUgd29yayBpbnRvIHRocmVlIGxvb3BzIHRvIGF2b2lkIG1peGluZyBET00gcmVhZHMgYW5kIHdyaXRlc1xuICAgICAgICAvLyBpbiBlYWNoIGl0ZXJhdGlvbiAtIHdoaWNoIGhlbHBzIHByZXZlbnQgbGF5b3V0IHRocmFzaGluZy5cbiAgICAgICAgY2hpbGRyZW4uZm9yRWFjaChjYWxsUGVuZGluZ0Nicyk7XG4gICAgICAgIGNoaWxkcmVuLmZvckVhY2gocmVjb3JkUG9zaXRpb24pO1xuICAgICAgICBjaGlsZHJlbi5mb3JFYWNoKGFwcGx5VHJhbnNsYXRpb24pO1xuICAgICAgICAvLyBmb3JjZSByZWZsb3cgdG8gcHV0IGV2ZXJ5dGhpbmcgaW4gcG9zaXRpb25cbiAgICAgICAgLy8gYXNzaWduIHRvIHRoaXMgdG8gYXZvaWQgYmVpbmcgcmVtb3ZlZCBpbiB0cmVlLXNoYWtpbmdcbiAgICAgICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgICAgIHRoaXMuX3JlZmxvdyA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgICBpZiAoYy5kYXRhLm1vdmVkKSB7XG4gICAgICAgICAgICAgICAgdmFyIGVsXzEgPSBjLmVsbTtcbiAgICAgICAgICAgICAgICB2YXIgcyA9IGVsXzEuc3R5bGU7XG4gICAgICAgICAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsXzEsIG1vdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgcy50cmFuc2Zvcm0gPSBzLldlYmtpdFRyYW5zZm9ybSA9IHMudHJhbnNpdGlvbkR1cmF0aW9uID0gJyc7XG4gICAgICAgICAgICAgICAgZWxfMS5hZGRFdmVudExpc3RlbmVyKHRyYW5zaXRpb25FbmRFdmVudCwgKGVsXzEuX21vdmVDYiA9IGZ1bmN0aW9uIGNiKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUgJiYgZS50YXJnZXQgIT09IGVsXzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWUgfHwgL3RyYW5zZm9ybSQvLnRlc3QoZS5wcm9wZXJ0eU5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbF8xLnJlbW92ZUV2ZW50TGlzdGVuZXIodHJhbnNpdGlvbkVuZEV2ZW50LCBjYik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbF8xLl9tb3ZlQ2IgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsXzEsIG1vdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBoYXNNb3ZlOiBmdW5jdGlvbiAoZWwsIG1vdmVDbGFzcykge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAoIWhhc1RyYW5zaXRpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLl9oYXNNb3ZlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2hhc01vdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBEZXRlY3Qgd2hldGhlciBhbiBlbGVtZW50IHdpdGggdGhlIG1vdmUgY2xhc3MgYXBwbGllZCBoYXNcbiAgICAgICAgICAgIC8vIENTUyB0cmFuc2l0aW9ucy4gU2luY2UgdGhlIGVsZW1lbnQgbWF5IGJlIGluc2lkZSBhbiBlbnRlcmluZ1xuICAgICAgICAgICAgLy8gdHJhbnNpdGlvbiBhdCB0aGlzIHZlcnkgbW9tZW50LCB3ZSBtYWtlIGEgY2xvbmUgb2YgaXQgYW5kIHJlbW92ZVxuICAgICAgICAgICAgLy8gYWxsIG90aGVyIHRyYW5zaXRpb24gY2xhc3NlcyBhcHBsaWVkIHRvIGVuc3VyZSBvbmx5IHRoZSBtb3ZlIGNsYXNzXG4gICAgICAgICAgICAvLyBpcyBhcHBsaWVkLlxuICAgICAgICAgICAgdmFyIGNsb25lID0gZWwuY2xvbmVOb2RlKCk7XG4gICAgICAgICAgICBpZiAoZWwuX3RyYW5zaXRpb25DbGFzc2VzKSB7XG4gICAgICAgICAgICAgICAgZWwuX3RyYW5zaXRpb25DbGFzc2VzLmZvckVhY2goZnVuY3Rpb24gKGNscykge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVDbGFzcyhjbG9uZSwgY2xzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZENsYXNzKGNsb25lLCBtb3ZlQ2xhc3MpO1xuICAgICAgICAgICAgY2xvbmUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgIHRoaXMuJGVsLmFwcGVuZENoaWxkKGNsb25lKTtcbiAgICAgICAgICAgIHZhciBpbmZvID0gZ2V0VHJhbnNpdGlvbkluZm8oY2xvbmUpO1xuICAgICAgICAgICAgdGhpcy4kZWwucmVtb3ZlQ2hpbGQoY2xvbmUpO1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLl9oYXNNb3ZlID0gaW5mby5oYXNUcmFuc2Zvcm0pO1xuICAgICAgICB9XG4gICAgfVxufTtcbmZ1bmN0aW9uIGNhbGxQZW5kaW5nQ2JzKGMpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoYy5lbG0uX21vdmVDYikge1xuICAgICAgICBjLmVsbS5fbW92ZUNiKCk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChjLmVsbS5fZW50ZXJDYikge1xuICAgICAgICBjLmVsbS5fZW50ZXJDYigpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHJlY29yZFBvc2l0aW9uKGMpIHtcbiAgICBjLmRhdGEubmV3UG9zID0gYy5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG59XG5mdW5jdGlvbiBhcHBseVRyYW5zbGF0aW9uKGMpIHtcbiAgICB2YXIgb2xkUG9zID0gYy5kYXRhLnBvcztcbiAgICB2YXIgbmV3UG9zID0gYy5kYXRhLm5ld1BvcztcbiAgICB2YXIgZHggPSBvbGRQb3MubGVmdCAtIG5ld1Bvcy5sZWZ0O1xuICAgIHZhciBkeSA9IG9sZFBvcy50b3AgLSBuZXdQb3MudG9wO1xuICAgIGlmIChkeCB8fCBkeSkge1xuICAgICAgICBjLmRhdGEubW92ZWQgPSB0cnVlO1xuICAgICAgICB2YXIgcyA9IGMuZWxtLnN0eWxlO1xuICAgICAgICBzLnRyYW5zZm9ybSA9IHMuV2Via2l0VHJhbnNmb3JtID0gXCJ0cmFuc2xhdGUoXCIuY29uY2F0KGR4LCBcInB4LFwiKS5jb25jYXQoZHksIFwicHgpXCIpO1xuICAgICAgICBzLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcwcyc7XG4gICAgfVxufVxuXG52YXIgcGxhdGZvcm1Db21wb25lbnRzID0ge1xuICAgIFRyYW5zaXRpb246IFRyYW5zaXRpb24sXG4gICAgVHJhbnNpdGlvbkdyb3VwOiBUcmFuc2l0aW9uR3JvdXBcbn07XG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gc3BlY2lmaWMgdXRpbHNcblZ1ZS5jb25maWcubXVzdFVzZVByb3AgPSBtdXN0VXNlUHJvcDtcblZ1ZS5jb25maWcuaXNSZXNlcnZlZFRhZyA9IGlzUmVzZXJ2ZWRUYWc7XG5WdWUuY29uZmlnLmlzUmVzZXJ2ZWRBdHRyID0gaXNSZXNlcnZlZEF0dHI7XG5WdWUuY29uZmlnLmdldFRhZ05hbWVzcGFjZSA9IGdldFRhZ05hbWVzcGFjZTtcblZ1ZS5jb25maWcuaXNVbmtub3duRWxlbWVudCA9IGlzVW5rbm93bkVsZW1lbnQ7XG4vLyBpbnN0YWxsIHBsYXRmb3JtIHJ1bnRpbWUgZGlyZWN0aXZlcyAmIGNvbXBvbmVudHNcbmV4dGVuZChWdWUub3B0aW9ucy5kaXJlY3RpdmVzLCBwbGF0Zm9ybURpcmVjdGl2ZXMpO1xuZXh0ZW5kKFZ1ZS5vcHRpb25zLmNvbXBvbmVudHMsIHBsYXRmb3JtQ29tcG9uZW50cyk7XG4vLyBpbnN0YWxsIHBsYXRmb3JtIHBhdGNoIGZ1bmN0aW9uXG5WdWUucHJvdG90eXBlLl9fcGF0Y2hfXyA9IGluQnJvd3NlciA/IHBhdGNoIDogbm9vcDtcbi8vIHB1YmxpYyBtb3VudCBtZXRob2RcblZ1ZS5wcm90b3R5cGUuJG1vdW50ID0gZnVuY3Rpb24gKGVsLCBoeWRyYXRpbmcpIHtcbiAgICBlbCA9IGVsICYmIGluQnJvd3NlciA/IHF1ZXJ5KGVsKSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbW91bnRDb21wb25lbnQodGhpcywgZWwsIGh5ZHJhdGluZyk7XG59O1xuLy8gZGV2dG9vbHMgZ2xvYmFsIGhvb2tcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5pZiAoaW5Ccm93c2VyKSB7XG4gICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChjb25maWcuZGV2dG9vbHMpIHtcbiAgICAgICAgICAgIGlmIChkZXZ0b29scykge1xuICAgICAgICAgICAgICAgIGRldnRvb2xzLmVtaXQoJ2luaXQnLCBWdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Rlc3QnKSB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8nIDogJ2xvZyddKCdEb3dubG9hZCB0aGUgVnVlIERldnRvb2xzIGV4dGVuc2lvbiBmb3IgYSBiZXR0ZXIgZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZTpcXG4nICtcbiAgICAgICAgICAgICAgICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS92dWVqcy92dWUtZGV2dG9vbHMnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0JyAmJlxuICAgICAgICAgICAgY29uZmlnLnByb2R1Y3Rpb25UaXAgIT09IGZhbHNlICYmXG4gICAgICAgICAgICB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8nIDogJ2xvZyddKFwiWW91IGFyZSBydW5uaW5nIFZ1ZSBpbiBkZXZlbG9wbWVudCBtb2RlLlxcblwiICtcbiAgICAgICAgICAgICAgICBcIk1ha2Ugc3VyZSB0byB0dXJuIG9uIHByb2R1Y3Rpb24gbW9kZSB3aGVuIGRlcGxveWluZyBmb3IgcHJvZHVjdGlvbi5cXG5cIiArXG4gICAgICAgICAgICAgICAgXCJTZWUgbW9yZSB0aXBzIGF0IGh0dHBzOi8vdnVlanMub3JnL2d1aWRlL2RlcGxveW1lbnQuaHRtbFwiKTtcbiAgICAgICAgfVxuICAgIH0sIDApO1xufVxuXG52YXIgZGVmYXVsdFRhZ1JFID0gL1xce1xceygoPzoufFxccj9cXG4pKz8pXFx9XFx9L2c7XG52YXIgcmVnZXhFc2NhcGVSRSA9IC9bLS4qKz9eJHt9KCl8W1xcXVxcL1xcXFxdL2c7XG52YXIgYnVpbGRSZWdleCA9IGNhY2hlZChmdW5jdGlvbiAoZGVsaW1pdGVycykge1xuICAgIHZhciBvcGVuID0gZGVsaW1pdGVyc1swXS5yZXBsYWNlKHJlZ2V4RXNjYXBlUkUsICdcXFxcJCYnKTtcbiAgICB2YXIgY2xvc2UgPSBkZWxpbWl0ZXJzWzFdLnJlcGxhY2UocmVnZXhFc2NhcGVSRSwgJ1xcXFwkJicpO1xuICAgIHJldHVybiBuZXcgUmVnRXhwKG9wZW4gKyAnKCg/Oi58XFxcXG4pKz8pJyArIGNsb3NlLCAnZycpO1xufSk7XG5mdW5jdGlvbiBwYXJzZVRleHQodGV4dCwgZGVsaW1pdGVycykge1xuICAgIC8vQHRzLWV4cGVjdC1lcnJvclxuICAgIHZhciB0YWdSRSA9IGRlbGltaXRlcnMgPyBidWlsZFJlZ2V4KGRlbGltaXRlcnMpIDogZGVmYXVsdFRhZ1JFO1xuICAgIGlmICghdGFnUkUudGVzdCh0ZXh0KSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciB0b2tlbnMgPSBbXTtcbiAgICB2YXIgcmF3VG9rZW5zID0gW107XG4gICAgdmFyIGxhc3RJbmRleCA9ICh0YWdSRS5sYXN0SW5kZXggPSAwKTtcbiAgICB2YXIgbWF0Y2gsIGluZGV4LCB0b2tlblZhbHVlO1xuICAgIHdoaWxlICgobWF0Y2ggPSB0YWdSRS5leGVjKHRleHQpKSkge1xuICAgICAgICBpbmRleCA9IG1hdGNoLmluZGV4O1xuICAgICAgICAvLyBwdXNoIHRleHQgdG9rZW5cbiAgICAgICAgaWYgKGluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgICAgICAgICByYXdUb2tlbnMucHVzaCgodG9rZW5WYWx1ZSA9IHRleHQuc2xpY2UobGFzdEluZGV4LCBpbmRleCkpKTtcbiAgICAgICAgICAgIHRva2Vucy5wdXNoKEpTT04uc3RyaW5naWZ5KHRva2VuVmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0YWcgdG9rZW5cbiAgICAgICAgdmFyIGV4cCA9IHBhcnNlRmlsdGVycyhtYXRjaFsxXS50cmltKCkpO1xuICAgICAgICB0b2tlbnMucHVzaChcIl9zKFwiLmNvbmNhdChleHAsIFwiKVwiKSk7XG4gICAgICAgIHJhd1Rva2Vucy5wdXNoKHsgJ0BiaW5kaW5nJzogZXhwIH0pO1xuICAgICAgICBsYXN0SW5kZXggPSBpbmRleCArIG1hdGNoWzBdLmxlbmd0aDtcbiAgICB9XG4gICAgaWYgKGxhc3RJbmRleCA8IHRleHQubGVuZ3RoKSB7XG4gICAgICAgIHJhd1Rva2Vucy5wdXNoKCh0b2tlblZhbHVlID0gdGV4dC5zbGljZShsYXN0SW5kZXgpKSk7XG4gICAgICAgIHRva2Vucy5wdXNoKEpTT04uc3RyaW5naWZ5KHRva2VuVmFsdWUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZXhwcmVzc2lvbjogdG9rZW5zLmpvaW4oJysnKSxcbiAgICAgICAgdG9rZW5zOiByYXdUb2tlbnNcbiAgICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Ob2RlJDEoZWwsIG9wdGlvbnMpIHtcbiAgICB2YXIgd2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgICB2YXIgc3RhdGljQ2xhc3MgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnY2xhc3MnKTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBzdGF0aWNDbGFzcykge1xuICAgICAgICB2YXIgcmVzID0gcGFyc2VUZXh0KHN0YXRpY0NsYXNzLCBvcHRpb25zLmRlbGltaXRlcnMpO1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB3YXJuKFwiY2xhc3M9XFxcIlwiLmNvbmNhdChzdGF0aWNDbGFzcywgXCJcXFwiOiBcIikgK1xuICAgICAgICAgICAgICAgICdJbnRlcnBvbGF0aW9uIGluc2lkZSBhdHRyaWJ1dGVzIGhhcyBiZWVuIHJlbW92ZWQuICcgK1xuICAgICAgICAgICAgICAgICdVc2Ugdi1iaW5kIG9yIHRoZSBjb2xvbiBzaG9ydGhhbmQgaW5zdGVhZC4gRm9yIGV4YW1wbGUsICcgK1xuICAgICAgICAgICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgY2xhc3M9XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2IDpjbGFzcz1cInZhbFwiPi4nLCBlbC5yYXdBdHRyc01hcFsnY2xhc3MnXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHN0YXRpY0NsYXNzKSB7XG4gICAgICAgIGVsLnN0YXRpY0NsYXNzID0gSlNPTi5zdHJpbmdpZnkoc3RhdGljQ2xhc3MucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKSk7XG4gICAgfVxuICAgIHZhciBjbGFzc0JpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ2NsYXNzJywgZmFsc2UgLyogZ2V0U3RhdGljICovKTtcbiAgICBpZiAoY2xhc3NCaW5kaW5nKSB7XG4gICAgICAgIGVsLmNsYXNzQmluZGluZyA9IGNsYXNzQmluZGluZztcbiAgICB9XG59XG5mdW5jdGlvbiBnZW5EYXRhJDIoZWwpIHtcbiAgICB2YXIgZGF0YSA9ICcnO1xuICAgIGlmIChlbC5zdGF0aWNDbGFzcykge1xuICAgICAgICBkYXRhICs9IFwic3RhdGljQ2xhc3M6XCIuY29uY2F0KGVsLnN0YXRpY0NsYXNzLCBcIixcIik7XG4gICAgfVxuICAgIGlmIChlbC5jbGFzc0JpbmRpbmcpIHtcbiAgICAgICAgZGF0YSArPSBcImNsYXNzOlwiLmNvbmNhdChlbC5jbGFzc0JpbmRpbmcsIFwiLFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG52YXIga2xhc3MgPSB7XG4gICAgc3RhdGljS2V5czogWydzdGF0aWNDbGFzcyddLFxuICAgIHRyYW5zZm9ybU5vZGU6IHRyYW5zZm9ybU5vZGUkMSxcbiAgICBnZW5EYXRhOiBnZW5EYXRhJDJcbn07XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU5vZGUoZWwsIG9wdGlvbnMpIHtcbiAgICB2YXIgd2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgICB2YXIgc3RhdGljU3R5bGUgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnc3R5bGUnKTtcbiAgICBpZiAoc3RhdGljU3R5bGUpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB2YXIgcmVzID0gcGFyc2VUZXh0KHN0YXRpY1N0eWxlLCBvcHRpb25zLmRlbGltaXRlcnMpO1xuICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgIHdhcm4oXCJzdHlsZT1cXFwiXCIuY29uY2F0KHN0YXRpY1N0eWxlLCBcIlxcXCI6IFwiKSArXG4gICAgICAgICAgICAgICAgICAgICdJbnRlcnBvbGF0aW9uIGluc2lkZSBhdHRyaWJ1dGVzIGhhcyBiZWVuIHJlbW92ZWQuICcgK1xuICAgICAgICAgICAgICAgICAgICAnVXNlIHYtYmluZCBvciB0aGUgY29sb24gc2hvcnRoYW5kIGluc3RlYWQuIEZvciBleGFtcGxlLCAnICtcbiAgICAgICAgICAgICAgICAgICAgJ2luc3RlYWQgb2YgPGRpdiBzdHlsZT1cInt7IHZhbCB9fVwiPiwgdXNlIDxkaXYgOnN0eWxlPVwidmFsXCI+LicsIGVsLnJhd0F0dHJzTWFwWydzdHlsZSddKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbC5zdGF0aWNTdHlsZSA9IEpTT04uc3RyaW5naWZ5KHBhcnNlU3R5bGVUZXh0KHN0YXRpY1N0eWxlKSk7XG4gICAgfVxuICAgIHZhciBzdHlsZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3N0eWxlJywgZmFsc2UgLyogZ2V0U3RhdGljICovKTtcbiAgICBpZiAoc3R5bGVCaW5kaW5nKSB7XG4gICAgICAgIGVsLnN0eWxlQmluZGluZyA9IHN0eWxlQmluZGluZztcbiAgICB9XG59XG5mdW5jdGlvbiBnZW5EYXRhJDEoZWwpIHtcbiAgICB2YXIgZGF0YSA9ICcnO1xuICAgIGlmIChlbC5zdGF0aWNTdHlsZSkge1xuICAgICAgICBkYXRhICs9IFwic3RhdGljU3R5bGU6XCIuY29uY2F0KGVsLnN0YXRpY1N0eWxlLCBcIixcIik7XG4gICAgfVxuICAgIGlmIChlbC5zdHlsZUJpbmRpbmcpIHtcbiAgICAgICAgZGF0YSArPSBcInN0eWxlOihcIi5jb25jYXQoZWwuc3R5bGVCaW5kaW5nLCBcIiksXCIpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbn1cbnZhciBzdHlsZSA9IHtcbiAgICBzdGF0aWNLZXlzOiBbJ3N0YXRpY1N0eWxlJ10sXG4gICAgdHJhbnNmb3JtTm9kZTogdHJhbnNmb3JtTm9kZSxcbiAgICBnZW5EYXRhOiBnZW5EYXRhJDFcbn07XG5cbnZhciBkZWNvZGVyO1xudmFyIGhlID0ge1xuICAgIGRlY29kZTogZnVuY3Rpb24gKGh0bWwpIHtcbiAgICAgICAgZGVjb2RlciA9IGRlY29kZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGRlY29kZXIuaW5uZXJIVE1MID0gaHRtbDtcbiAgICAgICAgcmV0dXJuIGRlY29kZXIudGV4dENvbnRlbnQ7XG4gICAgfVxufTtcblxudmFyIGlzVW5hcnlUYWcgPSBtYWtlTWFwKCdhcmVhLGJhc2UsYnIsY29sLGVtYmVkLGZyYW1lLGhyLGltZyxpbnB1dCxpc2luZGV4LGtleWdlbiwnICtcbiAgICAnbGluayxtZXRhLHBhcmFtLHNvdXJjZSx0cmFjayx3YnInKTtcbi8vIEVsZW1lbnRzIHRoYXQgeW91IGNhbiwgaW50ZW50aW9uYWxseSwgbGVhdmUgb3BlblxuLy8gKGFuZCB3aGljaCBjbG9zZSB0aGVtc2VsdmVzKVxudmFyIGNhbkJlTGVmdE9wZW5UYWcgPSBtYWtlTWFwKCdjb2xncm91cCxkZCxkdCxsaSxvcHRpb25zLHAsdGQsdGZvb3QsdGgsdGhlYWQsdHIsc291cmNlJyk7XG4vLyBIVE1MNSB0YWdzIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2luZGljZXMuaHRtbCNlbGVtZW50cy0zXG4vLyBQaHJhc2luZyBDb250ZW50IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2RvbS5odG1sI3BocmFzaW5nLWNvbnRlbnRcbnZhciBpc05vblBocmFzaW5nVGFnID0gbWFrZU1hcCgnYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGJhc2UsYmxvY2txdW90ZSxib2R5LGNhcHRpb24sY29sLGNvbGdyb3VwLGRkLCcgK1xuICAgICdkZXRhaWxzLGRpYWxvZyxkaXYsZGwsZHQsZmllbGRzZXQsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGZvcm0sJyArXG4gICAgJ2gxLGgyLGgzLGg0LGg1LGg2LGhlYWQsaGVhZGVyLGhncm91cCxocixodG1sLGxlZ2VuZCxsaSxtZW51aXRlbSxtZXRhLCcgK1xuICAgICdvcHRncm91cCxvcHRpb24scGFyYW0scnAscnQsc291cmNlLHN0eWxlLHN1bW1hcnksdGJvZHksdGQsdGZvb3QsdGgsdGhlYWQsJyArXG4gICAgJ3RpdGxlLHRyLHRyYWNrJyk7XG5cbi8qKlxuICogTm90IHR5cGUtY2hlY2tpbmcgdGhpcyBmaWxlIGJlY2F1c2UgaXQncyBtb3N0bHkgdmVuZG9yIGNvZGUuXG4gKi9cbi8vIFJlZ3VsYXIgRXhwcmVzc2lvbnMgZm9yIHBhcnNpbmcgdGFncyBhbmQgYXR0cmlidXRlc1xudmFyIGF0dHJpYnV0ZSA9IC9eXFxzKihbXlxcc1wiJzw+XFwvPV0rKSg/OlxccyooPSlcXHMqKD86XCIoW15cIl0qKVwiK3wnKFteJ10qKScrfChbXlxcc1wiJz08PmBdKykpKT8vO1xudmFyIGR5bmFtaWNBcmdBdHRyaWJ1dGUgPSAvXlxccyooKD86di1bXFx3LV0rOnxAfDp8IylcXFtbXj1dKz9cXF1bXlxcc1wiJzw+XFwvPV0qKSg/OlxccyooPSlcXHMqKD86XCIoW15cIl0qKVwiK3wnKFteJ10qKScrfChbXlxcc1wiJz08PmBdKykpKT8vO1xudmFyIG5jbmFtZSA9IFwiW2EtekEtWl9dW1xcXFwtXFxcXC4wLTlfYS16QS1aXCIuY29uY2F0KHVuaWNvZGVSZWdFeHAuc291cmNlLCBcIl0qXCIpO1xudmFyIHFuYW1lQ2FwdHVyZSA9IFwiKCg/OlwiLmNvbmNhdChuY25hbWUsIFwiXFxcXDopP1wiKS5jb25jYXQobmNuYW1lLCBcIilcIik7XG52YXIgc3RhcnRUYWdPcGVuID0gbmV3IFJlZ0V4cChcIl48XCIuY29uY2F0KHFuYW1lQ2FwdHVyZSkpO1xudmFyIHN0YXJ0VGFnQ2xvc2UgPSAvXlxccyooXFwvPyk+LztcbnZhciBlbmRUYWcgPSBuZXcgUmVnRXhwKFwiXjxcXFxcL1wiLmNvbmNhdChxbmFtZUNhcHR1cmUsIFwiW14+XSo+XCIpKTtcbnZhciBkb2N0eXBlID0gL148IURPQ1RZUEUgW14+XSs+L2k7XG4vLyAjNzI5ODogZXNjYXBlIC0gdG8gYXZvaWQgYmVpbmcgcGFzc2VkIGFzIEhUTUwgY29tbWVudCB3aGVuIGlubGluZWQgaW4gcGFnZVxudmFyIGNvbW1lbnQgPSAvXjwhXFwtLS87XG52YXIgY29uZGl0aW9uYWxDb21tZW50ID0gL148IVxcWy87XG4vLyBTcGVjaWFsIEVsZW1lbnRzIChjYW4gY29udGFpbiBhbnl0aGluZylcbnZhciBpc1BsYWluVGV4dEVsZW1lbnQgPSBtYWtlTWFwKCdzY3JpcHQsc3R5bGUsdGV4dGFyZWEnLCB0cnVlKTtcbnZhciByZUNhY2hlID0ge307XG52YXIgZGVjb2RpbmdNYXAgPSB7XG4gICAgJyZsdDsnOiAnPCcsXG4gICAgJyZndDsnOiAnPicsXG4gICAgJyZxdW90Oyc6ICdcIicsXG4gICAgJyZhbXA7JzogJyYnLFxuICAgICcmIzEwOyc6ICdcXG4nLFxuICAgICcmIzk7JzogJ1xcdCcsXG4gICAgJyYjMzk7JzogXCInXCJcbn07XG52YXIgZW5jb2RlZEF0dHIgPSAvJig/Omx0fGd0fHF1b3R8YW1wfCMzOSk7L2c7XG52YXIgZW5jb2RlZEF0dHJXaXRoTmV3TGluZXMgPSAvJig/Omx0fGd0fHF1b3R8YW1wfCMzOXwjMTB8IzkpOy9nO1xuLy8gIzU5OTJcbnZhciBpc0lnbm9yZU5ld2xpbmVUYWcgPSBtYWtlTWFwKCdwcmUsdGV4dGFyZWEnLCB0cnVlKTtcbnZhciBzaG91bGRJZ25vcmVGaXJzdE5ld2xpbmUgPSBmdW5jdGlvbiAodGFnLCBodG1sKSB7XG4gICAgcmV0dXJuIHRhZyAmJiBpc0lnbm9yZU5ld2xpbmVUYWcodGFnKSAmJiBodG1sWzBdID09PSAnXFxuJztcbn07XG5mdW5jdGlvbiBkZWNvZGVBdHRyKHZhbHVlLCBzaG91bGREZWNvZGVOZXdsaW5lcykge1xuICAgIHZhciByZSA9IHNob3VsZERlY29kZU5ld2xpbmVzID8gZW5jb2RlZEF0dHJXaXRoTmV3TGluZXMgOiBlbmNvZGVkQXR0cjtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShyZSwgZnVuY3Rpb24gKG1hdGNoKSB7IHJldHVybiBkZWNvZGluZ01hcFttYXRjaF07IH0pO1xufVxuZnVuY3Rpb24gcGFyc2VIVE1MKGh0bWwsIG9wdGlvbnMpIHtcbiAgICB2YXIgc3RhY2sgPSBbXTtcbiAgICB2YXIgZXhwZWN0SFRNTCA9IG9wdGlvbnMuZXhwZWN0SFRNTDtcbiAgICB2YXIgaXNVbmFyeVRhZyA9IG9wdGlvbnMuaXNVbmFyeVRhZyB8fCBubztcbiAgICB2YXIgY2FuQmVMZWZ0T3BlblRhZyA9IG9wdGlvbnMuY2FuQmVMZWZ0T3BlblRhZyB8fCBubztcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciBsYXN0LCBsYXN0VGFnO1xuICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBsYXN0ID0gaHRtbDtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHdlJ3JlIG5vdCBpbiBhIHBsYWludGV4dCBjb250ZW50IGVsZW1lbnQgbGlrZSBzY3JpcHQvc3R5bGVcbiAgICAgICAgaWYgKCFsYXN0VGFnIHx8ICFpc1BsYWluVGV4dEVsZW1lbnQobGFzdFRhZykpIHtcbiAgICAgICAgICAgIHZhciB0ZXh0RW5kID0gaHRtbC5pbmRleE9mKCc8Jyk7XG4gICAgICAgICAgICBpZiAodGV4dEVuZCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIC8vIENvbW1lbnQ6XG4gICAgICAgICAgICAgICAgaWYgKGNvbW1lbnQudGVzdChodG1sKSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgY29tbWVudEVuZCA9IGh0bWwuaW5kZXhPZignLS0+Jyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21tZW50RW5kID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3VsZEtlZXBDb21tZW50ICYmIG9wdGlvbnMuY29tbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuY29tbWVudChodG1sLnN1YnN0cmluZyg0LCBjb21tZW50RW5kKSwgaW5kZXgsIGluZGV4ICsgY29tbWVudEVuZCArIDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZShjb21tZW50RW5kICsgMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29uZGl0aW9uYWxfY29tbWVudCNEb3dubGV2ZWwtcmV2ZWFsZWRfY29uZGl0aW9uYWxfY29tbWVudFxuICAgICAgICAgICAgICAgIGlmIChjb25kaXRpb25hbENvbW1lbnQudGVzdChodG1sKSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgY29uZGl0aW9uYWxFbmQgPSBodG1sLmluZGV4T2YoJ10+Jyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb25kaXRpb25hbEVuZCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlKGNvbmRpdGlvbmFsRW5kICsgMik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIERvY3R5cGU6XG4gICAgICAgICAgICAgICAgdmFyIGRvY3R5cGVNYXRjaCA9IGh0bWwubWF0Y2goZG9jdHlwZSk7XG4gICAgICAgICAgICAgICAgaWYgKGRvY3R5cGVNYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICBhZHZhbmNlKGRvY3R5cGVNYXRjaFswXS5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBFbmQgdGFnOlxuICAgICAgICAgICAgICAgIHZhciBlbmRUYWdNYXRjaCA9IGh0bWwubWF0Y2goZW5kVGFnKTtcbiAgICAgICAgICAgICAgICBpZiAoZW5kVGFnTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGN1ckluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIGFkdmFuY2UoZW5kVGFnTWF0Y2hbMF0ubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VFbmRUYWcoZW5kVGFnTWF0Y2hbMV0sIGN1ckluZGV4LCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcImNvbnRpbnVlXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFN0YXJ0IHRhZzpcbiAgICAgICAgICAgICAgICB2YXIgc3RhcnRUYWdNYXRjaCA9IHBhcnNlU3RhcnRUYWcoKTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnRUYWdNYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVTdGFydFRhZyhzdGFydFRhZ01hdGNoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNob3VsZElnbm9yZUZpcnN0TmV3bGluZShzdGFydFRhZ01hdGNoLnRhZ05hbWUsIGh0bWwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlKDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcImNvbnRpbnVlXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHRleHQgPSB2b2lkIDAsIHJlc3QgPSB2b2lkIDAsIG5leHQgPSB2b2lkIDA7XG4gICAgICAgICAgICBpZiAodGV4dEVuZCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgcmVzdCA9IGh0bWwuc2xpY2UodGV4dEVuZCk7XG4gICAgICAgICAgICAgICAgd2hpbGUgKCFlbmRUYWcudGVzdChyZXN0KSAmJlxuICAgICAgICAgICAgICAgICAgICAhc3RhcnRUYWdPcGVuLnRlc3QocmVzdCkgJiZcbiAgICAgICAgICAgICAgICAgICAgIWNvbW1lbnQudGVzdChyZXN0KSAmJlxuICAgICAgICAgICAgICAgICAgICAhY29uZGl0aW9uYWxDb21tZW50LnRlc3QocmVzdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gPCBpbiBwbGFpbiB0ZXh0LCBiZSBmb3JnaXZpbmcgYW5kIHRyZWF0IGl0IGFzIHRleHRcbiAgICAgICAgICAgICAgICAgICAgbmV4dCA9IHJlc3QuaW5kZXhPZignPCcsIDEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV4dCA8IDApXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgdGV4dEVuZCArPSBuZXh0O1xuICAgICAgICAgICAgICAgICAgICByZXN0ID0gaHRtbC5zbGljZSh0ZXh0RW5kKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGV4dCA9IGh0bWwuc3Vic3RyaW5nKDAsIHRleHRFbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRleHRFbmQgPCAwKSB7XG4gICAgICAgICAgICAgICAgdGV4dCA9IGh0bWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGV4dCkge1xuICAgICAgICAgICAgICAgIGFkdmFuY2UodGV4dC5sZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuY2hhcnMgJiYgdGV4dCkge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuY2hhcnModGV4dCwgaW5kZXggLSB0ZXh0Lmxlbmd0aCwgaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGVuZFRhZ0xlbmd0aF8xID0gMDtcbiAgICAgICAgICAgIHZhciBzdGFja2VkVGFnXzEgPSBsYXN0VGFnLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICB2YXIgcmVTdGFja2VkVGFnID0gcmVDYWNoZVtzdGFja2VkVGFnXzFdIHx8XG4gICAgICAgICAgICAgICAgKHJlQ2FjaGVbc3RhY2tlZFRhZ18xXSA9IG5ldyBSZWdFeHAoJyhbXFxcXHNcXFxcU10qPykoPC8nICsgc3RhY2tlZFRhZ18xICsgJ1tePl0qPiknLCAnaScpKTtcbiAgICAgICAgICAgIHZhciByZXN0ID0gaHRtbC5yZXBsYWNlKHJlU3RhY2tlZFRhZywgZnVuY3Rpb24gKGFsbCwgdGV4dCwgZW5kVGFnKSB7XG4gICAgICAgICAgICAgICAgZW5kVGFnTGVuZ3RoXzEgPSBlbmRUYWcubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGlmICghaXNQbGFpblRleHRFbGVtZW50KHN0YWNrZWRUYWdfMSkgJiYgc3RhY2tlZFRhZ18xICE9PSAnbm9zY3JpcHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvPCFcXC0tKFtcXHNcXFNdKj8pLS0+L2csICckMScpIC8vICM3Mjk4XG4gICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvPCFcXFtDREFUQVxcWyhbXFxzXFxTXSo/KV1dPi9nLCAnJDEnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHNob3VsZElnbm9yZUZpcnN0TmV3bGluZShzdGFja2VkVGFnXzEsIHRleHQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnNsaWNlKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5jaGFycykge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmNoYXJzKHRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGluZGV4ICs9IGh0bWwubGVuZ3RoIC0gcmVzdC5sZW5ndGg7XG4gICAgICAgICAgICBodG1sID0gcmVzdDtcbiAgICAgICAgICAgIHBhcnNlRW5kVGFnKHN0YWNrZWRUYWdfMSwgaW5kZXggLSBlbmRUYWdMZW5ndGhfMSwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChodG1sID09PSBsYXN0KSB7XG4gICAgICAgICAgICBvcHRpb25zLmNoYXJzICYmIG9wdGlvbnMuY2hhcnMoaHRtbCk7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhc3RhY2subGVuZ3RoICYmIG9wdGlvbnMud2Fybikge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMud2FybihcIk1hbC1mb3JtYXR0ZWQgdGFnIGF0IGVuZCBvZiB0ZW1wbGF0ZTogXFxcIlwiLmNvbmNhdChodG1sLCBcIlxcXCJcIiksIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGluZGV4ICsgaHRtbC5sZW5ndGhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBcImJyZWFrXCI7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHdoaWxlIChodG1sKSB7XG4gICAgICAgIHZhciBzdGF0ZV8xID0gX2xvb3BfMSgpO1xuICAgICAgICBpZiAoc3RhdGVfMSA9PT0gXCJicmVha1wiKVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIENsZWFuIHVwIGFueSByZW1haW5pbmcgdGFnc1xuICAgIHBhcnNlRW5kVGFnKCk7XG4gICAgZnVuY3Rpb24gYWR2YW5jZShuKSB7XG4gICAgICAgIGluZGV4ICs9IG47XG4gICAgICAgIGh0bWwgPSBodG1sLnN1YnN0cmluZyhuKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2VTdGFydFRhZygpIHtcbiAgICAgICAgdmFyIHN0YXJ0ID0gaHRtbC5tYXRjaChzdGFydFRhZ09wZW4pO1xuICAgICAgICBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHZhciBtYXRjaCA9IHtcbiAgICAgICAgICAgICAgICB0YWdOYW1lOiBzdGFydFsxXSxcbiAgICAgICAgICAgICAgICBhdHRyczogW10sXG4gICAgICAgICAgICAgICAgc3RhcnQ6IGluZGV4XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYWR2YW5jZShzdGFydFswXS5sZW5ndGgpO1xuICAgICAgICAgICAgdmFyIGVuZCA9IHZvaWQgMCwgYXR0ciA9IHZvaWQgMDtcbiAgICAgICAgICAgIHdoaWxlICghKGVuZCA9IGh0bWwubWF0Y2goc3RhcnRUYWdDbG9zZSkpICYmXG4gICAgICAgICAgICAgICAgKGF0dHIgPSBodG1sLm1hdGNoKGR5bmFtaWNBcmdBdHRyaWJ1dGUpIHx8IGh0bWwubWF0Y2goYXR0cmlidXRlKSkpIHtcbiAgICAgICAgICAgICAgICBhdHRyLnN0YXJ0ID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgYWR2YW5jZShhdHRyWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgYXR0ci5lbmQgPSBpbmRleDtcbiAgICAgICAgICAgICAgICBtYXRjaC5hdHRycy5wdXNoKGF0dHIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVuZCkge1xuICAgICAgICAgICAgICAgIG1hdGNoLnVuYXJ5U2xhc2ggPSBlbmRbMV07XG4gICAgICAgICAgICAgICAgYWR2YW5jZShlbmRbMF0ubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBtYXRjaC5lbmQgPSBpbmRleDtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaGFuZGxlU3RhcnRUYWcobWF0Y2gpIHtcbiAgICAgICAgdmFyIHRhZ05hbWUgPSBtYXRjaC50YWdOYW1lO1xuICAgICAgICB2YXIgdW5hcnlTbGFzaCA9IG1hdGNoLnVuYXJ5U2xhc2g7XG4gICAgICAgIGlmIChleHBlY3RIVE1MKSB7XG4gICAgICAgICAgICBpZiAobGFzdFRhZyA9PT0gJ3AnICYmIGlzTm9uUGhyYXNpbmdUYWcodGFnTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBwYXJzZUVuZFRhZyhsYXN0VGFnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjYW5CZUxlZnRPcGVuVGFnKHRhZ05hbWUpICYmIGxhc3RUYWcgPT09IHRhZ05hbWUpIHtcbiAgICAgICAgICAgICAgICBwYXJzZUVuZFRhZyh0YWdOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIgdW5hcnkgPSBpc1VuYXJ5VGFnKHRhZ05hbWUpIHx8ICEhdW5hcnlTbGFzaDtcbiAgICAgICAgdmFyIGwgPSBtYXRjaC5hdHRycy5sZW5ndGg7XG4gICAgICAgIHZhciBhdHRycyA9IG5ldyBBcnJheShsKTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBhcmdzID0gbWF0Y2guYXR0cnNbaV07XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBhcmdzWzNdIHx8IGFyZ3NbNF0gfHwgYXJnc1s1XSB8fCAnJztcbiAgICAgICAgICAgIHZhciBzaG91bGREZWNvZGVOZXdsaW5lcyA9IHRhZ05hbWUgPT09ICdhJyAmJiBhcmdzWzFdID09PSAnaHJlZidcbiAgICAgICAgICAgICAgICA/IG9wdGlvbnMuc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmXG4gICAgICAgICAgICAgICAgOiBvcHRpb25zLnNob3VsZERlY29kZU5ld2xpbmVzO1xuICAgICAgICAgICAgYXR0cnNbaV0gPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogYXJnc1sxXSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZGVjb2RlQXR0cih2YWx1ZSwgc2hvdWxkRGVjb2RlTmV3bGluZXMpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgICAgICAgIGF0dHJzW2ldLnN0YXJ0ID0gYXJncy5zdGFydCArIGFyZ3NbMF0ubWF0Y2goL15cXHMqLykubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGF0dHJzW2ldLmVuZCA9IGFyZ3MuZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghdW5hcnkpIHtcbiAgICAgICAgICAgIHN0YWNrLnB1c2goe1xuICAgICAgICAgICAgICAgIHRhZzogdGFnTmFtZSxcbiAgICAgICAgICAgICAgICBsb3dlckNhc2VkVGFnOiB0YWdOYW1lLnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgICAgICAgYXR0cnM6IGF0dHJzLFxuICAgICAgICAgICAgICAgIHN0YXJ0OiBtYXRjaC5zdGFydCxcbiAgICAgICAgICAgICAgICBlbmQ6IG1hdGNoLmVuZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBsYXN0VGFnID0gdGFnTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5zdGFydCkge1xuICAgICAgICAgICAgb3B0aW9ucy5zdGFydCh0YWdOYW1lLCBhdHRycywgdW5hcnksIG1hdGNoLnN0YXJ0LCBtYXRjaC5lbmQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlRW5kVGFnKHRhZ05hbWUsIHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgdmFyIHBvcywgbG93ZXJDYXNlZFRhZ05hbWU7XG4gICAgICAgIGlmIChzdGFydCA9PSBudWxsKVxuICAgICAgICAgICAgc3RhcnQgPSBpbmRleDtcbiAgICAgICAgaWYgKGVuZCA9PSBudWxsKVxuICAgICAgICAgICAgZW5kID0gaW5kZXg7XG4gICAgICAgIC8vIEZpbmQgdGhlIGNsb3Nlc3Qgb3BlbmVkIHRhZyBvZiB0aGUgc2FtZSB0eXBlXG4gICAgICAgIGlmICh0YWdOYW1lKSB7XG4gICAgICAgICAgICBsb3dlckNhc2VkVGFnTmFtZSA9IHRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGZvciAocG9zID0gc3RhY2subGVuZ3RoIC0gMTsgcG9zID49IDA7IHBvcy0tKSB7XG4gICAgICAgICAgICAgICAgaWYgKHN0YWNrW3Bvc10ubG93ZXJDYXNlZFRhZyA9PT0gbG93ZXJDYXNlZFRhZ05hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgbm8gdGFnIG5hbWUgaXMgcHJvdmlkZWQsIGNsZWFuIHNob3BcbiAgICAgICAgICAgIHBvcyA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvcyA+PSAwKSB7XG4gICAgICAgICAgICAvLyBDbG9zZSBhbGwgdGhlIG9wZW4gZWxlbWVudHMsIHVwIHRoZSBzdGFja1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IHN0YWNrLmxlbmd0aCAtIDE7IGkgPj0gcG9zOyBpLS0pIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAoaSA+IHBvcyB8fCAhdGFnTmFtZSkgJiYgb3B0aW9ucy53YXJuKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMud2FybihcInRhZyA8XCIuY29uY2F0KHN0YWNrW2ldLnRhZywgXCI+IGhhcyBubyBtYXRjaGluZyBlbmQgdGFnLlwiKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IHN0YWNrW2ldLnN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBzdGFja1tpXS5lbmRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmVuZCkge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmVuZChzdGFja1tpXS50YWcsIHN0YXJ0LCBlbmQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgb3BlbiBlbGVtZW50cyBmcm9tIHRoZSBzdGFja1xuICAgICAgICAgICAgc3RhY2subGVuZ3RoID0gcG9zO1xuICAgICAgICAgICAgbGFzdFRhZyA9IHBvcyAmJiBzdGFja1twb3MgLSAxXS50YWc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdicicpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5zdGFydCh0YWdOYW1lLCBbXSwgdHJ1ZSwgc3RhcnQsIGVuZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdwJykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuc3RhcnQpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnN0YXJ0KHRhZ05hbWUsIFtdLCBmYWxzZSwgc3RhcnQsIGVuZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5lbmQpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLmVuZCh0YWdOYW1lLCBzdGFydCwgZW5kKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxudmFyIG9uUkUgPSAvXkB8XnYtb246LztcbnZhciBkaXJSRSA9IC9edi18XkB8Xjp8XiMvO1xudmFyIGZvckFsaWFzUkUgPSAvKFtcXHNcXFNdKj8pXFxzKyg/OmlufG9mKVxccysoW1xcc1xcU10qKS87XG52YXIgZm9ySXRlcmF0b3JSRSA9IC8sKFteLFxcfVxcXV0qKSg/OiwoW14sXFx9XFxdXSopKT8kLztcbnZhciBzdHJpcFBhcmVuc1JFID0gL15cXCh8XFwpJC9nO1xudmFyIGR5bmFtaWNBcmdSRSA9IC9eXFxbLipcXF0kLztcbnZhciBhcmdSRSA9IC86KC4qKSQvO1xudmFyIGJpbmRSRSA9IC9eOnxeXFwufF52LWJpbmQ6LztcbnZhciBtb2RpZmllclJFID0gL1xcLlteLlxcXV0rKD89W15cXF1dKiQpL2c7XG52YXIgc2xvdFJFID0gL152LXNsb3QoOnwkKXxeIy87XG52YXIgbGluZUJyZWFrUkUgPSAvW1xcclxcbl0vO1xudmFyIHdoaXRlc3BhY2VSRSA9IC9bIFxcZlxcdFxcclxcbl0rL2c7XG52YXIgaW52YWxpZEF0dHJpYnV0ZVJFID0gL1tcXHNcIic8PlxcLz1dLztcbnZhciBkZWNvZGVIVE1MQ2FjaGVkID0gY2FjaGVkKGhlLmRlY29kZSk7XG52YXIgZW1wdHlTbG90U2NvcGVUb2tlbiA9IFwiX2VtcHR5X1wiO1xuLy8gY29uZmlndXJhYmxlIHN0YXRlXG52YXIgd2FybjtcbnZhciBkZWxpbWl0ZXJzO1xudmFyIHRyYW5zZm9ybXM7XG52YXIgcHJlVHJhbnNmb3JtcztcbnZhciBwb3N0VHJhbnNmb3JtcztcbnZhciBwbGF0Zm9ybUlzUHJlVGFnO1xudmFyIHBsYXRmb3JtTXVzdFVzZVByb3A7XG52YXIgcGxhdGZvcm1HZXRUYWdOYW1lc3BhY2U7XG52YXIgbWF5YmVDb21wb25lbnQ7XG5mdW5jdGlvbiBjcmVhdGVBU1RFbGVtZW50KHRhZywgYXR0cnMsIHBhcmVudCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IDEsXG4gICAgICAgIHRhZzogdGFnLFxuICAgICAgICBhdHRyc0xpc3Q6IGF0dHJzLFxuICAgICAgICBhdHRyc01hcDogbWFrZUF0dHJzTWFwKGF0dHJzKSxcbiAgICAgICAgcmF3QXR0cnNNYXA6IHt9LFxuICAgICAgICBwYXJlbnQ6IHBhcmVudCxcbiAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgfTtcbn1cbi8qKlxuICogQ29udmVydCBIVE1MIHN0cmluZyB0byBBU1QuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlKHRlbXBsYXRlLCBvcHRpb25zKSB7XG4gICAgd2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgICBwbGF0Zm9ybUlzUHJlVGFnID0gb3B0aW9ucy5pc1ByZVRhZyB8fCBubztcbiAgICBwbGF0Zm9ybU11c3RVc2VQcm9wID0gb3B0aW9ucy5tdXN0VXNlUHJvcCB8fCBubztcbiAgICBwbGF0Zm9ybUdldFRhZ05hbWVzcGFjZSA9IG9wdGlvbnMuZ2V0VGFnTmFtZXNwYWNlIHx8IG5vO1xuICAgIHZhciBpc1Jlc2VydmVkVGFnID0gb3B0aW9ucy5pc1Jlc2VydmVkVGFnIHx8IG5vO1xuICAgIG1heWJlQ29tcG9uZW50ID0gZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgIHJldHVybiAhIShlbC5jb21wb25lbnQgfHxcbiAgICAgICAgICAgIGVsLmF0dHJzTWFwWyc6aXMnXSB8fFxuICAgICAgICAgICAgZWwuYXR0cnNNYXBbJ3YtYmluZDppcyddIHx8XG4gICAgICAgICAgICAhKGVsLmF0dHJzTWFwLmlzID8gaXNSZXNlcnZlZFRhZyhlbC5hdHRyc01hcC5pcykgOiBpc1Jlc2VydmVkVGFnKGVsLnRhZykpKTtcbiAgICB9O1xuICAgIHRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3RyYW5zZm9ybU5vZGUnKTtcbiAgICBwcmVUcmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICdwcmVUcmFuc2Zvcm1Ob2RlJyk7XG4gICAgcG9zdFRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3Bvc3RUcmFuc2Zvcm1Ob2RlJyk7XG4gICAgZGVsaW1pdGVycyA9IG9wdGlvbnMuZGVsaW1pdGVycztcbiAgICB2YXIgc3RhY2sgPSBbXTtcbiAgICB2YXIgcHJlc2VydmVXaGl0ZXNwYWNlID0gb3B0aW9ucy5wcmVzZXJ2ZVdoaXRlc3BhY2UgIT09IGZhbHNlO1xuICAgIHZhciB3aGl0ZXNwYWNlT3B0aW9uID0gb3B0aW9ucy53aGl0ZXNwYWNlO1xuICAgIHZhciByb290O1xuICAgIHZhciBjdXJyZW50UGFyZW50O1xuICAgIHZhciBpblZQcmUgPSBmYWxzZTtcbiAgICB2YXIgaW5QcmUgPSBmYWxzZTtcbiAgICB2YXIgd2FybmVkID0gZmFsc2U7XG4gICAgZnVuY3Rpb24gd2Fybk9uY2UobXNnLCByYW5nZSkge1xuICAgICAgICBpZiAoIXdhcm5lZCkge1xuICAgICAgICAgICAgd2FybmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHdhcm4obXNnLCByYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY2xvc2VFbGVtZW50KGVsZW1lbnQpIHtcbiAgICAgICAgdHJpbUVuZGluZ1doaXRlc3BhY2UoZWxlbWVudCk7XG4gICAgICAgIGlmICghaW5WUHJlICYmICFlbGVtZW50LnByb2Nlc3NlZCkge1xuICAgICAgICAgICAgZWxlbWVudCA9IHByb2Nlc3NFbGVtZW50KGVsZW1lbnQsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRyZWUgbWFuYWdlbWVudFxuICAgICAgICBpZiAoIXN0YWNrLmxlbmd0aCAmJiBlbGVtZW50ICE9PSByb290KSB7XG4gICAgICAgICAgICAvLyBhbGxvdyByb290IGVsZW1lbnRzIHdpdGggdi1pZiwgdi1lbHNlLWlmIGFuZCB2LWVsc2VcbiAgICAgICAgICAgIGlmIChyb290LmlmICYmIChlbGVtZW50LmVsc2VpZiB8fCBlbGVtZW50LmVsc2UpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tSb290Q29uc3RyYWludHMoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFkZElmQ29uZGl0aW9uKHJvb3QsIHtcbiAgICAgICAgICAgICAgICAgICAgZXhwOiBlbGVtZW50LmVsc2VpZixcbiAgICAgICAgICAgICAgICAgICAgYmxvY2s6IGVsZW1lbnRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICB3YXJuT25jZShcIkNvbXBvbmVudCB0ZW1wbGF0ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IG9uZSByb290IGVsZW1lbnQuIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJJZiB5b3UgYXJlIHVzaW5nIHYtaWYgb24gbXVsdGlwbGUgZWxlbWVudHMsIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ1c2Ugdi1lbHNlLWlmIHRvIGNoYWluIHRoZW0gaW5zdGVhZC5cIiwgeyBzdGFydDogZWxlbWVudC5zdGFydCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY3VycmVudFBhcmVudCAmJiAhZWxlbWVudC5mb3JiaWRkZW4pIHtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmVsc2VpZiB8fCBlbGVtZW50LmVsc2UpIHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzSWZDb25kaXRpb25zKGVsZW1lbnQsIGN1cnJlbnRQYXJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuc2xvdFNjb3BlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNjb3BlZCBzbG90XG4gICAgICAgICAgICAgICAgICAgIC8vIGtlZXAgaXQgaW4gdGhlIGNoaWxkcmVuIGxpc3Qgc28gdGhhdCB2LWVsc2UoLWlmKSBjb25kaXRpb25zIGNhblxuICAgICAgICAgICAgICAgICAgICAvLyBmaW5kIGl0IGFzIHRoZSBwcmV2IG5vZGUuXG4gICAgICAgICAgICAgICAgICAgIHZhciBuYW1lXzEgPSBlbGVtZW50LnNsb3RUYXJnZXQgfHwgJ1wiZGVmYXVsdFwiJztcbiAgICAgICAgICAgICAgICAgICAgKGN1cnJlbnRQYXJlbnQuc2NvcGVkU2xvdHMgfHwgKGN1cnJlbnRQYXJlbnQuc2NvcGVkU2xvdHMgPSB7fSkpW25hbWVfMV0gPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyZW50LmNoaWxkcmVuLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5wYXJlbnQgPSBjdXJyZW50UGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGZpbmFsIGNoaWxkcmVuIGNsZWFudXBcbiAgICAgICAgLy8gZmlsdGVyIG91dCBzY29wZWQgc2xvdHNcbiAgICAgICAgZWxlbWVudC5jaGlsZHJlbiA9IGVsZW1lbnQuY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uIChjKSB7IHJldHVybiAhYy5zbG90U2NvcGU7IH0pO1xuICAgICAgICAvLyByZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZSBub2RlIGFnYWluXG4gICAgICAgIHRyaW1FbmRpbmdXaGl0ZXNwYWNlKGVsZW1lbnQpO1xuICAgICAgICAvLyBjaGVjayBwcmUgc3RhdGVcbiAgICAgICAgaWYgKGVsZW1lbnQucHJlKSB7XG4gICAgICAgICAgICBpblZQcmUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGxhdGZvcm1Jc1ByZVRhZyhlbGVtZW50LnRhZykpIHtcbiAgICAgICAgICAgIGluUHJlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYXBwbHkgcG9zdC10cmFuc2Zvcm1zXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcG9zdFRyYW5zZm9ybXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHBvc3RUcmFuc2Zvcm1zW2ldKGVsZW1lbnQsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRyaW1FbmRpbmdXaGl0ZXNwYWNlKGVsKSB7XG4gICAgICAgIC8vIHJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIG5vZGVcbiAgICAgICAgaWYgKCFpblByZSkge1xuICAgICAgICAgICAgdmFyIGxhc3ROb2RlID0gdm9pZCAwO1xuICAgICAgICAgICAgd2hpbGUgKChsYXN0Tm9kZSA9IGVsLmNoaWxkcmVuW2VsLmNoaWxkcmVuLmxlbmd0aCAtIDFdKSAmJlxuICAgICAgICAgICAgICAgIGxhc3ROb2RlLnR5cGUgPT09IDMgJiZcbiAgICAgICAgICAgICAgICBsYXN0Tm9kZS50ZXh0ID09PSAnICcpIHtcbiAgICAgICAgICAgICAgICBlbC5jaGlsZHJlbi5wb3AoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBjaGVja1Jvb3RDb25zdHJhaW50cyhlbCkge1xuICAgICAgICBpZiAoZWwudGFnID09PSAnc2xvdCcgfHwgZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgICAgICB3YXJuT25jZShcIkNhbm5vdCB1c2UgPFwiLmNvbmNhdChlbC50YWcsIFwiPiBhcyBjb21wb25lbnQgcm9vdCBlbGVtZW50IGJlY2F1c2UgaXQgbWF5IFwiKSArXG4gICAgICAgICAgICAgICAgJ2NvbnRhaW4gbXVsdGlwbGUgbm9kZXMuJywgeyBzdGFydDogZWwuc3RhcnQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsLmF0dHJzTWFwLmhhc093blByb3BlcnR5KCd2LWZvcicpKSB7XG4gICAgICAgICAgICB3YXJuT25jZSgnQ2Fubm90IHVzZSB2LWZvciBvbiBzdGF0ZWZ1bCBjb21wb25lbnQgcm9vdCBlbGVtZW50IGJlY2F1c2UgJyArXG4gICAgICAgICAgICAgICAgJ2l0IHJlbmRlcnMgbXVsdGlwbGUgZWxlbWVudHMuJywgZWwucmF3QXR0cnNNYXBbJ3YtZm9yJ10pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHBhcnNlSFRNTCh0ZW1wbGF0ZSwge1xuICAgICAgICB3YXJuOiB3YXJuLFxuICAgICAgICBleHBlY3RIVE1MOiBvcHRpb25zLmV4cGVjdEhUTUwsXG4gICAgICAgIGlzVW5hcnlUYWc6IG9wdGlvbnMuaXNVbmFyeVRhZyxcbiAgICAgICAgY2FuQmVMZWZ0T3BlblRhZzogb3B0aW9ucy5jYW5CZUxlZnRPcGVuVGFnLFxuICAgICAgICBzaG91bGREZWNvZGVOZXdsaW5lczogb3B0aW9ucy5zaG91bGREZWNvZGVOZXdsaW5lcyxcbiAgICAgICAgc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmOiBvcHRpb25zLnNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZixcbiAgICAgICAgc2hvdWxkS2VlcENvbW1lbnQ6IG9wdGlvbnMuY29tbWVudHMsXG4gICAgICAgIG91dHB1dFNvdXJjZVJhbmdlOiBvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlLFxuICAgICAgICBzdGFydDogZnVuY3Rpb24gKHRhZywgYXR0cnMsIHVuYXJ5LCBzdGFydCwgZW5kKSB7XG4gICAgICAgICAgICAvLyBjaGVjayBuYW1lc3BhY2UuXG4gICAgICAgICAgICAvLyBpbmhlcml0IHBhcmVudCBucyBpZiB0aGVyZSBpcyBvbmVcbiAgICAgICAgICAgIHZhciBucyA9IChjdXJyZW50UGFyZW50ICYmIGN1cnJlbnRQYXJlbnQubnMpIHx8IHBsYXRmb3JtR2V0VGFnTmFtZXNwYWNlKHRhZyk7XG4gICAgICAgICAgICAvLyBoYW5kbGUgSUUgc3ZnIGJ1Z1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAoaXNJRSAmJiBucyA9PT0gJ3N2ZycpIHtcbiAgICAgICAgICAgICAgICBhdHRycyA9IGd1YXJkSUVTVkdCdWcoYXR0cnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBjcmVhdGVBU1RFbGVtZW50KHRhZywgYXR0cnMsIGN1cnJlbnRQYXJlbnQpO1xuICAgICAgICAgICAgaWYgKG5zKSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5ucyA9IG5zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnN0YXJ0ID0gc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZW5kID0gZW5kO1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnJhd0F0dHJzTWFwID0gZWxlbWVudC5hdHRyc0xpc3QucmVkdWNlKGZ1bmN0aW9uIChjdW11bGF0ZWQsIGF0dHIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1bXVsYXRlZFthdHRyLm5hbWVdID0gYXR0cjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdW11bGF0ZWQ7XG4gICAgICAgICAgICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYXR0cnMuZm9yRWFjaChmdW5jdGlvbiAoYXR0cikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW52YWxpZEF0dHJpYnV0ZVJFLnRlc3QoYXR0ci5uYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2FybihcIkludmFsaWQgZHluYW1pYyBhcmd1bWVudCBleHByZXNzaW9uOiBhdHRyaWJ1dGUgbmFtZXMgY2Fubm90IGNvbnRhaW4gXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3BhY2VzLCBxdW90ZXMsIDwsID4sIC8gb3IgPS5cIiwgb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogYXR0ci5zdGFydCArIGF0dHIubmFtZS5pbmRleE9mKFwiW1wiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBhdHRyLnN0YXJ0ICsgYXR0ci5uYW1lLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ZvcmJpZGRlblRhZyhlbGVtZW50KSAmJiAhaXNTZXJ2ZXJSZW5kZXJpbmcoKSkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuZm9yYmlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgICAgICAgIHdhcm4oJ1RlbXBsYXRlcyBzaG91bGQgb25seSBiZSByZXNwb25zaWJsZSBmb3IgbWFwcGluZyB0aGUgc3RhdGUgdG8gdGhlICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1VJLiBBdm9pZCBwbGFjaW5nIHRhZ3Mgd2l0aCBzaWRlLWVmZmVjdHMgaW4geW91ciB0ZW1wbGF0ZXMsIHN1Y2ggYXMgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjxcIi5jb25jYXQodGFnLCBcIj5cIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJywgYXMgdGhleSB3aWxsIG5vdCBiZSBwYXJzZWQuJywgeyBzdGFydDogZWxlbWVudC5zdGFydCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGFwcGx5IHByZS10cmFuc2Zvcm1zXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByZVRyYW5zZm9ybXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50ID0gcHJlVHJhbnNmb3Jtc1tpXShlbGVtZW50LCBvcHRpb25zKSB8fCBlbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpblZQcmUpIHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzUHJlKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnByZSkge1xuICAgICAgICAgICAgICAgICAgICBpblZQcmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQudGFnKSkge1xuICAgICAgICAgICAgICAgIGluUHJlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpblZQcmUpIHtcbiAgICAgICAgICAgICAgICBwcm9jZXNzUmF3QXR0cnMoZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICghZWxlbWVudC5wcm9jZXNzZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBzdHJ1Y3R1cmFsIGRpcmVjdGl2ZXNcbiAgICAgICAgICAgICAgICBwcm9jZXNzRm9yKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHByb2Nlc3NJZihlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBwcm9jZXNzT25jZShlbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcm9vdCkge1xuICAgICAgICAgICAgICAgIHJvb3QgPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrUm9vdENvbnN0cmFpbnRzKHJvb3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdW5hcnkpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyZW50ID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICBzdGFjay5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY2xvc2VFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlbmQ6IGZ1bmN0aW9uICh0YWcsIHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgICAgIHZhciBlbGVtZW50ID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAvLyBwb3Agc3RhY2tcbiAgICAgICAgICAgIHN0YWNrLmxlbmd0aCAtPSAxO1xuICAgICAgICAgICAgY3VycmVudFBhcmVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuZW5kID0gZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2xvc2VFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICB9LFxuICAgICAgICBjaGFyczogZnVuY3Rpb24gKHRleHQsIHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgICAgIGlmICghY3VycmVudFBhcmVudCkge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0ZXh0ID09PSB0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2Fybk9uY2UoJ0NvbXBvbmVudCB0ZW1wbGF0ZSByZXF1aXJlcyBhIHJvb3QgZWxlbWVudCwgcmF0aGVyIHRoYW4ganVzdCB0ZXh0LicsIHsgc3RhcnQ6IHN0YXJ0IH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCh0ZXh0ID0gdGV4dC50cmltKCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuT25jZShcInRleHQgXFxcIlwiLmNvbmNhdCh0ZXh0LCBcIlxcXCIgb3V0c2lkZSByb290IGVsZW1lbnQgd2lsbCBiZSBpZ25vcmVkLlwiKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSUUgdGV4dGFyZWEgcGxhY2Vob2xkZXIgYnVnXG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgIGlmIChpc0lFICYmXG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudC50YWcgPT09ICd0ZXh0YXJlYScgJiZcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyZW50LmF0dHJzTWFwLnBsYWNlaG9sZGVyID09PSB0ZXh0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGNoaWxkcmVuID0gY3VycmVudFBhcmVudC5jaGlsZHJlbjtcbiAgICAgICAgICAgIGlmIChpblByZSB8fCB0ZXh0LnRyaW0oKSkge1xuICAgICAgICAgICAgICAgIHRleHQgPSBpc1RleHRUYWcoY3VycmVudFBhcmVudClcbiAgICAgICAgICAgICAgICAgICAgPyB0ZXh0XG4gICAgICAgICAgICAgICAgICAgIDogZGVjb2RlSFRNTENhY2hlZCh0ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCFjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAvLyByZW1vdmUgdGhlIHdoaXRlc3BhY2Utb25seSBub2RlIHJpZ2h0IGFmdGVyIGFuIG9wZW5pbmcgdGFnXG4gICAgICAgICAgICAgICAgdGV4dCA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAod2hpdGVzcGFjZU9wdGlvbikge1xuICAgICAgICAgICAgICAgIGlmICh3aGl0ZXNwYWNlT3B0aW9uID09PSAnY29uZGVuc2UnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGNvbmRlbnNlIG1vZGUsIHJlbW92ZSB0aGUgd2hpdGVzcGFjZSBub2RlIGlmIGl0IGNvbnRhaW5zXG4gICAgICAgICAgICAgICAgICAgIC8vIGxpbmUgYnJlYWssIG90aGVyd2lzZSBjb25kZW5zZSB0byBhIHNpbmdsZSBzcGFjZVxuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gbGluZUJyZWFrUkUudGVzdCh0ZXh0KSA/ICcnIDogJyAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9ICcgJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gcHJlc2VydmVXaGl0ZXNwYWNlID8gJyAnIDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGV4dCkge1xuICAgICAgICAgICAgICAgIGlmICghaW5QcmUgJiYgd2hpdGVzcGFjZU9wdGlvbiA9PT0gJ2NvbmRlbnNlJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBjb25kZW5zZSBjb25zZWN1dGl2ZSB3aGl0ZXNwYWNlcyBpbnRvIHNpbmdsZSBzcGFjZVxuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKHdoaXRlc3BhY2VSRSwgJyAnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHJlcyA9IHZvaWQgMDtcbiAgICAgICAgICAgICAgICB2YXIgY2hpbGQgPSB2b2lkIDA7XG4gICAgICAgICAgICAgICAgaWYgKCFpblZQcmUgJiYgdGV4dCAhPT0gJyAnICYmIChyZXMgPSBwYXJzZVRleHQodGV4dCwgZGVsaW1pdGVycykpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogMixcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IHJlcy5leHByZXNzaW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5zOiByZXMudG9rZW5zLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZXh0ICE9PSAnICcgfHxcbiAgICAgICAgICAgICAgICAgICAgIWNoaWxkcmVuLmxlbmd0aCB8fFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXS50ZXh0ICE9PSAnICcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmVuZCA9IGVuZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnQ6IGZ1bmN0aW9uICh0ZXh0LCBzdGFydCwgZW5kKSB7XG4gICAgICAgICAgICAvLyBhZGRpbmcgYW55dGhpbmcgYXMgYSBzaWJsaW5nIHRvIHRoZSByb290IG5vZGUgaXMgZm9yYmlkZGVuXG4gICAgICAgICAgICAvLyBjb21tZW50cyBzaG91bGQgc3RpbGwgYmUgYWxsb3dlZCwgYnV0IGlnbm9yZWRcbiAgICAgICAgICAgIGlmIChjdXJyZW50UGFyZW50KSB7XG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkID0ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAzLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgICAgICAgICAgICAgICBpc0NvbW1lbnQ6IHRydWVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQuZW5kID0gZW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyZW50LmNoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJvb3Q7XG59XG5mdW5jdGlvbiBwcm9jZXNzUHJlKGVsKSB7XG4gICAgaWYgKGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LXByZScpICE9IG51bGwpIHtcbiAgICAgICAgZWwucHJlID0gdHJ1ZTtcbiAgICB9XG59XG5mdW5jdGlvbiBwcm9jZXNzUmF3QXR0cnMoZWwpIHtcbiAgICB2YXIgbGlzdCA9IGVsLmF0dHJzTGlzdDtcbiAgICB2YXIgbGVuID0gbGlzdC5sZW5ndGg7XG4gICAgaWYgKGxlbikge1xuICAgICAgICB2YXIgYXR0cnMgPSAoZWwuYXR0cnMgPSBuZXcgQXJyYXkobGVuKSk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgIGF0dHJzW2ldID0ge1xuICAgICAgICAgICAgICAgIG5hbWU6IGxpc3RbaV0ubmFtZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogSlNPTi5zdHJpbmdpZnkobGlzdFtpXS52YWx1ZSlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAobGlzdFtpXS5zdGFydCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgYXR0cnNbaV0uc3RhcnQgPSBsaXN0W2ldLnN0YXJ0O1xuICAgICAgICAgICAgICAgIGF0dHJzW2ldLmVuZCA9IGxpc3RbaV0uZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKCFlbC5wcmUpIHtcbiAgICAgICAgLy8gbm9uIHJvb3Qgbm9kZSBpbiBwcmUgYmxvY2tzIHdpdGggbm8gYXR0cmlidXRlc1xuICAgICAgICBlbC5wbGFpbiA9IHRydWU7XG4gICAgfVxufVxuZnVuY3Rpb24gcHJvY2Vzc0VsZW1lbnQoZWxlbWVudCwgb3B0aW9ucykge1xuICAgIHByb2Nlc3NLZXkoZWxlbWVudCk7XG4gICAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyBpcyBhIHBsYWluIGVsZW1lbnQgYWZ0ZXJcbiAgICAvLyByZW1vdmluZyBzdHJ1Y3R1cmFsIGF0dHJpYnV0ZXNcbiAgICBlbGVtZW50LnBsYWluID1cbiAgICAgICAgIWVsZW1lbnQua2V5ICYmICFlbGVtZW50LnNjb3BlZFNsb3RzICYmICFlbGVtZW50LmF0dHJzTGlzdC5sZW5ndGg7XG4gICAgcHJvY2Vzc1JlZihlbGVtZW50KTtcbiAgICBwcm9jZXNzU2xvdENvbnRlbnQoZWxlbWVudCk7XG4gICAgcHJvY2Vzc1Nsb3RPdXRsZXQoZWxlbWVudCk7XG4gICAgcHJvY2Vzc0NvbXBvbmVudChlbGVtZW50KTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyYW5zZm9ybXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZWxlbWVudCA9IHRyYW5zZm9ybXNbaV0oZWxlbWVudCwgb3B0aW9ucykgfHwgZWxlbWVudDtcbiAgICB9XG4gICAgcHJvY2Vzc0F0dHJzKGVsZW1lbnQpO1xuICAgIHJldHVybiBlbGVtZW50O1xufVxuZnVuY3Rpb24gcHJvY2Vzc0tleShlbCkge1xuICAgIHZhciBleHAgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ2tleScpO1xuICAgIGlmIChleHApIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmIChlbC50YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAgICAgICAgICB3YXJuKFwiPHRlbXBsYXRlPiBjYW5ub3QgYmUga2V5ZWQuIFBsYWNlIHRoZSBrZXkgb24gcmVhbCBlbGVtZW50cyBpbnN0ZWFkLlwiLCBnZXRSYXdCaW5kaW5nQXR0cihlbCwgJ2tleScpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlbC5mb3IpIHtcbiAgICAgICAgICAgICAgICB2YXIgaXRlcmF0b3IgPSBlbC5pdGVyYXRvcjIgfHwgZWwuaXRlcmF0b3IxO1xuICAgICAgICAgICAgICAgIHZhciBwYXJlbnRfMSA9IGVsLnBhcmVudDtcbiAgICAgICAgICAgICAgICBpZiAoaXRlcmF0b3IgJiZcbiAgICAgICAgICAgICAgICAgICAgaXRlcmF0b3IgPT09IGV4cCAmJlxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRfMSAmJlxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRfMS50YWcgPT09ICd0cmFuc2l0aW9uLWdyb3VwJykge1xuICAgICAgICAgICAgICAgICAgICB3YXJuKFwiRG8gbm90IHVzZSB2LWZvciBpbmRleCBhcyBrZXkgb24gPHRyYW5zaXRpb24tZ3JvdXA+IGNoaWxkcmVuLCBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRoaXMgaXMgdGhlIHNhbWUgYXMgbm90IHVzaW5nIGtleXMuXCIsIGdldFJhd0JpbmRpbmdBdHRyKGVsLCAna2V5JyksIHRydWUgLyogdGlwICovKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWwua2V5ID0gZXhwO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHByb2Nlc3NSZWYoZWwpIHtcbiAgICB2YXIgcmVmID0gZ2V0QmluZGluZ0F0dHIoZWwsICdyZWYnKTtcbiAgICBpZiAocmVmKSB7XG4gICAgICAgIGVsLnJlZiA9IHJlZjtcbiAgICAgICAgZWwucmVmSW5Gb3IgPSBjaGVja0luRm9yKGVsKTtcbiAgICB9XG59XG5mdW5jdGlvbiBwcm9jZXNzRm9yKGVsKSB7XG4gICAgdmFyIGV4cDtcbiAgICBpZiAoKGV4cCA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWZvcicpKSkge1xuICAgICAgICB2YXIgcmVzID0gcGFyc2VGb3IoZXhwKTtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgZXh0ZW5kKGVsLCByZXMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHdhcm4oXCJJbnZhbGlkIHYtZm9yIGV4cHJlc3Npb246IFwiLmNvbmNhdChleHApLCBlbC5yYXdBdHRyc01hcFsndi1mb3InXSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBwYXJzZUZvcihleHApIHtcbiAgICB2YXIgaW5NYXRjaCA9IGV4cC5tYXRjaChmb3JBbGlhc1JFKTtcbiAgICBpZiAoIWluTWF0Y2gpXG4gICAgICAgIHJldHVybjtcbiAgICB2YXIgcmVzID0ge307XG4gICAgcmVzLmZvciA9IGluTWF0Y2hbMl0udHJpbSgpO1xuICAgIHZhciBhbGlhcyA9IGluTWF0Y2hbMV0udHJpbSgpLnJlcGxhY2Uoc3RyaXBQYXJlbnNSRSwgJycpO1xuICAgIHZhciBpdGVyYXRvck1hdGNoID0gYWxpYXMubWF0Y2goZm9ySXRlcmF0b3JSRSk7XG4gICAgaWYgKGl0ZXJhdG9yTWF0Y2gpIHtcbiAgICAgICAgcmVzLmFsaWFzID0gYWxpYXMucmVwbGFjZShmb3JJdGVyYXRvclJFLCAnJykudHJpbSgpO1xuICAgICAgICByZXMuaXRlcmF0b3IxID0gaXRlcmF0b3JNYXRjaFsxXS50cmltKCk7XG4gICAgICAgIGlmIChpdGVyYXRvck1hdGNoWzJdKSB7XG4gICAgICAgICAgICByZXMuaXRlcmF0b3IyID0gaXRlcmF0b3JNYXRjaFsyXS50cmltKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJlcy5hbGlhcyA9IGFsaWFzO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuZnVuY3Rpb24gcHJvY2Vzc0lmKGVsKSB7XG4gICAgdmFyIGV4cCA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWlmJyk7XG4gICAgaWYgKGV4cCkge1xuICAgICAgICBlbC5pZiA9IGV4cDtcbiAgICAgICAgYWRkSWZDb25kaXRpb24oZWwsIHtcbiAgICAgICAgICAgIGV4cDogZXhwLFxuICAgICAgICAgICAgYmxvY2s6IGVsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgaWYgKGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UnKSAhPSBudWxsKSB7XG4gICAgICAgICAgICBlbC5lbHNlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZWxzZWlmID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZS1pZicpO1xuICAgICAgICBpZiAoZWxzZWlmKSB7XG4gICAgICAgICAgICBlbC5lbHNlaWYgPSBlbHNlaWY7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBwcm9jZXNzSWZDb25kaXRpb25zKGVsLCBwYXJlbnQpIHtcbiAgICB2YXIgcHJldiA9IGZpbmRQcmV2RWxlbWVudChwYXJlbnQuY2hpbGRyZW4pO1xuICAgIGlmIChwcmV2ICYmIHByZXYuaWYpIHtcbiAgICAgICAgYWRkSWZDb25kaXRpb24ocHJldiwge1xuICAgICAgICAgICAgZXhwOiBlbC5lbHNlaWYsXG4gICAgICAgICAgICBibG9jazogZWxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgd2FybihcInYtXCIuY29uY2F0KGVsLmVsc2VpZiA/ICdlbHNlLWlmPVwiJyArIGVsLmVsc2VpZiArICdcIicgOiAnZWxzZScsIFwiIFwiKSArXG4gICAgICAgICAgICBcInVzZWQgb24gZWxlbWVudCA8XCIuY29uY2F0KGVsLnRhZywgXCI+IHdpdGhvdXQgY29ycmVzcG9uZGluZyB2LWlmLlwiKSwgZWwucmF3QXR0cnNNYXBbZWwuZWxzZWlmID8gJ3YtZWxzZS1pZicgOiAndi1lbHNlJ10pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGZpbmRQcmV2RWxlbWVudChjaGlsZHJlbikge1xuICAgIHZhciBpID0gY2hpbGRyZW4ubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgaWYgKGNoaWxkcmVuW2ldLnR5cGUgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBjaGlsZHJlbltpXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNoaWxkcmVuW2ldLnRleHQgIT09ICcgJykge1xuICAgICAgICAgICAgICAgIHdhcm4oXCJ0ZXh0IFxcXCJcIi5jb25jYXQoY2hpbGRyZW5baV0udGV4dC50cmltKCksIFwiXFxcIiBiZXR3ZWVuIHYtaWYgYW5kIHYtZWxzZSgtaWYpIFwiKSArXG4gICAgICAgICAgICAgICAgICAgIFwid2lsbCBiZSBpZ25vcmVkLlwiLCBjaGlsZHJlbltpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGlsZHJlbi5wb3AoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGFkZElmQ29uZGl0aW9uKGVsLCBjb25kaXRpb24pIHtcbiAgICBpZiAoIWVsLmlmQ29uZGl0aW9ucykge1xuICAgICAgICBlbC5pZkNvbmRpdGlvbnMgPSBbXTtcbiAgICB9XG4gICAgZWwuaWZDb25kaXRpb25zLnB1c2goY29uZGl0aW9uKTtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NPbmNlKGVsKSB7XG4gICAgdmFyIG9uY2UgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1vbmNlJyk7XG4gICAgaWYgKG9uY2UgIT0gbnVsbCkge1xuICAgICAgICBlbC5vbmNlID0gdHJ1ZTtcbiAgICB9XG59XG4vLyBoYW5kbGUgY29udGVudCBiZWluZyBwYXNzZWQgdG8gYSBjb21wb25lbnQgYXMgc2xvdCxcbi8vIGUuZy4gPHRlbXBsYXRlIHNsb3Q9XCJ4eHhcIj4sIDxkaXYgc2xvdC1zY29wZT1cInh4eFwiPlxuZnVuY3Rpb24gcHJvY2Vzc1Nsb3RDb250ZW50KGVsKSB7XG4gICAgdmFyIHNsb3RTY29wZTtcbiAgICBpZiAoZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIHNsb3RTY29wZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICdzY29wZScpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgc2xvdFNjb3BlKSB7XG4gICAgICAgICAgICB3YXJuKFwidGhlIFxcXCJzY29wZVxcXCIgYXR0cmlidXRlIGZvciBzY29wZWQgc2xvdHMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIFwiICtcbiAgICAgICAgICAgICAgICBcInJlcGxhY2VkIGJ5IFxcXCJzbG90LXNjb3BlXFxcIiBzaW5jZSAyLjUuIFRoZSBuZXcgXFxcInNsb3Qtc2NvcGVcXFwiIGF0dHJpYnV0ZSBcIiArXG4gICAgICAgICAgICAgICAgXCJjYW4gYWxzbyBiZSB1c2VkIG9uIHBsYWluIGVsZW1lbnRzIGluIGFkZGl0aW9uIHRvIDx0ZW1wbGF0ZT4gdG8gXCIgK1xuICAgICAgICAgICAgICAgIFwiZGVub3RlIHNjb3BlZCBzbG90cy5cIiwgZWwucmF3QXR0cnNNYXBbJ3Njb3BlJ10sIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsLnNsb3RTY29wZSA9IHNsb3RTY29wZSB8fCBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnc2xvdC1zY29wZScpO1xuICAgIH1cbiAgICBlbHNlIGlmICgoc2xvdFNjb3BlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Nsb3Qtc2NvcGUnKSkpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGVsLmF0dHJzTWFwWyd2LWZvciddKSB7XG4gICAgICAgICAgICB3YXJuKFwiQW1iaWd1b3VzIGNvbWJpbmVkIHVzYWdlIG9mIHNsb3Qtc2NvcGUgYW5kIHYtZm9yIG9uIDxcIi5jb25jYXQoZWwudGFnLCBcIj4gXCIpICtcbiAgICAgICAgICAgICAgICBcIih2LWZvciB0YWtlcyBoaWdoZXIgcHJpb3JpdHkpLiBVc2UgYSB3cmFwcGVyIDx0ZW1wbGF0ZT4gZm9yIHRoZSBcIiArXG4gICAgICAgICAgICAgICAgXCJzY29wZWQgc2xvdCB0byBtYWtlIGl0IGNsZWFyZXIuXCIsIGVsLnJhd0F0dHJzTWFwWydzbG90LXNjb3BlJ10sIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsLnNsb3RTY29wZSA9IHNsb3RTY29wZTtcbiAgICB9XG4gICAgLy8gc2xvdD1cInh4eFwiXG4gICAgdmFyIHNsb3RUYXJnZXQgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3Nsb3QnKTtcbiAgICBpZiAoc2xvdFRhcmdldCkge1xuICAgICAgICBlbC5zbG90VGFyZ2V0ID0gc2xvdFRhcmdldCA9PT0gJ1wiXCInID8gJ1wiZGVmYXVsdFwiJyA6IHNsb3RUYXJnZXQ7XG4gICAgICAgIGVsLnNsb3RUYXJnZXREeW5hbWljID0gISEoZWwuYXR0cnNNYXBbJzpzbG90J10gfHwgZWwuYXR0cnNNYXBbJ3YtYmluZDpzbG90J10pO1xuICAgICAgICAvLyBwcmVzZXJ2ZSBzbG90IGFzIGFuIGF0dHJpYnV0ZSBmb3IgbmF0aXZlIHNoYWRvdyBET00gY29tcGF0XG4gICAgICAgIC8vIG9ubHkgZm9yIG5vbi1zY29wZWQgc2xvdHMuXG4gICAgICAgIGlmIChlbC50YWcgIT09ICd0ZW1wbGF0ZScgJiYgIWVsLnNsb3RTY29wZSkge1xuICAgICAgICAgICAgYWRkQXR0cihlbCwgJ3Nsb3QnLCBzbG90VGFyZ2V0LCBnZXRSYXdCaW5kaW5nQXR0cihlbCwgJ3Nsb3QnKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gMi42IHYtc2xvdCBzeW50YXhcbiAgICB7XG4gICAgICAgIGlmIChlbC50YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAgICAgIC8vIHYtc2xvdCBvbiA8dGVtcGxhdGU+XG4gICAgICAgICAgICB2YXIgc2xvdEJpbmRpbmcgPSBnZXRBbmRSZW1vdmVBdHRyQnlSZWdleChlbCwgc2xvdFJFKTtcbiAgICAgICAgICAgIGlmIChzbG90QmluZGluZykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbC5zbG90VGFyZ2V0IHx8IGVsLnNsb3RTY29wZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2FybihcIlVuZXhwZWN0ZWQgbWl4ZWQgdXNhZ2Ugb2YgZGlmZmVyZW50IHNsb3Qgc3ludGF4ZXMuXCIsIGVsKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoZWwucGFyZW50ICYmICFtYXliZUNvbXBvbmVudChlbC5wYXJlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuKFwiPHRlbXBsYXRlIHYtc2xvdD4gY2FuIG9ubHkgYXBwZWFyIGF0IHRoZSByb290IGxldmVsIGluc2lkZSBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aGUgcmVjZWl2aW5nIGNvbXBvbmVudFwiLCBlbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIF9hID0gZ2V0U2xvdE5hbWUoc2xvdEJpbmRpbmcpLCBuYW1lXzIgPSBfYS5uYW1lLCBkeW5hbWljID0gX2EuZHluYW1pYztcbiAgICAgICAgICAgICAgICBlbC5zbG90VGFyZ2V0ID0gbmFtZV8yO1xuICAgICAgICAgICAgICAgIGVsLnNsb3RUYXJnZXREeW5hbWljID0gZHluYW1pYztcbiAgICAgICAgICAgICAgICBlbC5zbG90U2NvcGUgPSBzbG90QmluZGluZy52YWx1ZSB8fCBlbXB0eVNsb3RTY29wZVRva2VuOyAvLyBmb3JjZSBpdCBpbnRvIGEgc2NvcGVkIHNsb3QgZm9yIHBlcmZcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIHYtc2xvdCBvbiBjb21wb25lbnQsIGRlbm90ZXMgZGVmYXVsdCBzbG90XG4gICAgICAgICAgICB2YXIgc2xvdEJpbmRpbmcgPSBnZXRBbmRSZW1vdmVBdHRyQnlSZWdleChlbCwgc2xvdFJFKTtcbiAgICAgICAgICAgIGlmIChzbG90QmluZGluZykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbWF5YmVDb21wb25lbnQoZWwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuKFwidi1zbG90IGNhbiBvbmx5IGJlIHVzZWQgb24gY29tcG9uZW50cyBvciA8dGVtcGxhdGU+LlwiLCBzbG90QmluZGluZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsLnNsb3RTY29wZSB8fCBlbC5zbG90VGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuKFwiVW5leHBlY3RlZCBtaXhlZCB1c2FnZSBvZiBkaWZmZXJlbnQgc2xvdCBzeW50YXhlcy5cIiwgZWwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbC5zY29wZWRTbG90cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2FybihcIlRvIGF2b2lkIHNjb3BlIGFtYmlndWl0eSwgdGhlIGRlZmF1bHQgc2xvdCBzaG91bGQgYWxzbyB1c2UgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiPHRlbXBsYXRlPiBzeW50YXggd2hlbiB0aGVyZSBhcmUgb3RoZXIgbmFtZWQgc2xvdHMuXCIsIHNsb3RCaW5kaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBhZGQgdGhlIGNvbXBvbmVudCdzIGNoaWxkcmVuIHRvIGl0cyBkZWZhdWx0IHNsb3RcbiAgICAgICAgICAgICAgICB2YXIgc2xvdHMgPSBlbC5zY29wZWRTbG90cyB8fCAoZWwuc2NvcGVkU2xvdHMgPSB7fSk7XG4gICAgICAgICAgICAgICAgdmFyIF9iID0gZ2V0U2xvdE5hbWUoc2xvdEJpbmRpbmcpLCBuYW1lXzMgPSBfYi5uYW1lLCBkeW5hbWljID0gX2IuZHluYW1pYztcbiAgICAgICAgICAgICAgICB2YXIgc2xvdENvbnRhaW5lcl8xID0gKHNsb3RzW25hbWVfM10gPSBjcmVhdGVBU1RFbGVtZW50KCd0ZW1wbGF0ZScsIFtdLCBlbCkpO1xuICAgICAgICAgICAgICAgIHNsb3RDb250YWluZXJfMS5zbG90VGFyZ2V0ID0gbmFtZV8zO1xuICAgICAgICAgICAgICAgIHNsb3RDb250YWluZXJfMS5zbG90VGFyZ2V0RHluYW1pYyA9IGR5bmFtaWM7XG4gICAgICAgICAgICAgICAgc2xvdENvbnRhaW5lcl8xLmNoaWxkcmVuID0gZWwuY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghYy5zbG90U2NvcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGMucGFyZW50ID0gc2xvdENvbnRhaW5lcl8xO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzbG90Q29udGFpbmVyXzEuc2xvdFNjb3BlID0gc2xvdEJpbmRpbmcudmFsdWUgfHwgZW1wdHlTbG90U2NvcGVUb2tlbjtcbiAgICAgICAgICAgICAgICAvLyByZW1vdmUgY2hpbGRyZW4gYXMgdGhleSBhcmUgcmV0dXJuZWQgZnJvbSBzY29wZWRTbG90cyBub3dcbiAgICAgICAgICAgICAgICBlbC5jaGlsZHJlbiA9IFtdO1xuICAgICAgICAgICAgICAgIC8vIG1hcmsgZWwgbm9uLXBsYWluIHNvIGRhdGEgZ2V0cyBnZW5lcmF0ZWRcbiAgICAgICAgICAgICAgICBlbC5wbGFpbiA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0U2xvdE5hbWUoYmluZGluZykge1xuICAgIHZhciBuYW1lID0gYmluZGluZy5uYW1lLnJlcGxhY2Uoc2xvdFJFLCAnJyk7XG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICAgIGlmIChiaW5kaW5nLm5hbWVbMF0gIT09ICcjJykge1xuICAgICAgICAgICAgbmFtZSA9ICdkZWZhdWx0JztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB3YXJuKFwidi1zbG90IHNob3J0aGFuZCBzeW50YXggcmVxdWlyZXMgYSBzbG90IG5hbWUuXCIsIGJpbmRpbmcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkeW5hbWljQXJnUkUudGVzdChuYW1lKVxuICAgICAgICA/IC8vIGR5bmFtaWMgW25hbWVdXG4gICAgICAgICAgICB7IG5hbWU6IG5hbWUuc2xpY2UoMSwgLTEpLCBkeW5hbWljOiB0cnVlIH1cbiAgICAgICAgOiAvLyBzdGF0aWMgbmFtZVxuICAgICAgICAgICAgeyBuYW1lOiBcIlxcXCJcIi5jb25jYXQobmFtZSwgXCJcXFwiXCIpLCBkeW5hbWljOiBmYWxzZSB9O1xufVxuLy8gaGFuZGxlIDxzbG90Lz4gb3V0bGV0c1xuZnVuY3Rpb24gcHJvY2Vzc1Nsb3RPdXRsZXQoZWwpIHtcbiAgICBpZiAoZWwudGFnID09PSAnc2xvdCcpIHtcbiAgICAgICAgZWwuc2xvdE5hbWUgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ25hbWUnKTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZWwua2V5KSB7XG4gICAgICAgICAgICB3YXJuKFwiYGtleWAgZG9lcyBub3Qgd29yayBvbiA8c2xvdD4gYmVjYXVzZSBzbG90cyBhcmUgYWJzdHJhY3Qgb3V0bGV0cyBcIiArXG4gICAgICAgICAgICAgICAgXCJhbmQgY2FuIHBvc3NpYmx5IGV4cGFuZCBpbnRvIG11bHRpcGxlIGVsZW1lbnRzLiBcIiArXG4gICAgICAgICAgICAgICAgXCJVc2UgdGhlIGtleSBvbiBhIHdyYXBwaW5nIGVsZW1lbnQgaW5zdGVhZC5cIiwgZ2V0UmF3QmluZGluZ0F0dHIoZWwsICdrZXknKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBwcm9jZXNzQ29tcG9uZW50KGVsKSB7XG4gICAgdmFyIGJpbmRpbmc7XG4gICAgaWYgKChiaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdpcycpKSkge1xuICAgICAgICBlbC5jb21wb25lbnQgPSBiaW5kaW5nO1xuICAgIH1cbiAgICBpZiAoZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ2lubGluZS10ZW1wbGF0ZScpICE9IG51bGwpIHtcbiAgICAgICAgZWwuaW5saW5lVGVtcGxhdGUgPSB0cnVlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHByb2Nlc3NBdHRycyhlbCkge1xuICAgIHZhciBsaXN0ID0gZWwuYXR0cnNMaXN0O1xuICAgIHZhciBpLCBsLCBuYW1lLCByYXdOYW1lLCB2YWx1ZSwgbW9kaWZpZXJzLCBzeW5jR2VuLCBpc0R5bmFtaWM7XG4gICAgZm9yIChpID0gMCwgbCA9IGxpc3QubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIG5hbWUgPSByYXdOYW1lID0gbGlzdFtpXS5uYW1lO1xuICAgICAgICB2YWx1ZSA9IGxpc3RbaV0udmFsdWU7XG4gICAgICAgIGlmIChkaXJSRS50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgICAvLyBtYXJrIGVsZW1lbnQgYXMgZHluYW1pY1xuICAgICAgICAgICAgZWwuaGFzQmluZGluZ3MgPSB0cnVlO1xuICAgICAgICAgICAgLy8gbW9kaWZpZXJzXG4gICAgICAgICAgICBtb2RpZmllcnMgPSBwYXJzZU1vZGlmaWVycyhuYW1lLnJlcGxhY2UoZGlyUkUsICcnKSk7XG4gICAgICAgICAgICAvLyBzdXBwb3J0IC5mb28gc2hvcnRoYW5kIHN5bnRheCBmb3IgdGhlIC5wcm9wIG1vZGlmaWVyXG4gICAgICAgICAgICBpZiAobW9kaWZpZXJzKSB7XG4gICAgICAgICAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShtb2RpZmllclJFLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYmluZFJFLnRlc3QobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAvLyB2LWJpbmRcbiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKGJpbmRSRSwgJycpO1xuICAgICAgICAgICAgICAgIHZhbHVlID0gcGFyc2VGaWx0ZXJzKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBpc0R5bmFtaWMgPSBkeW5hbWljQXJnUkUudGVzdChuYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNEeW5hbWljKSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDEsIC0xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdmFsdWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB3YXJuKFwiVGhlIHZhbHVlIGZvciBhIHYtYmluZCBleHByZXNzaW9uIGNhbm5vdCBiZSBlbXB0eS4gRm91bmQgaW4gXFxcInYtYmluZDpcIi5jb25jYXQobmFtZSwgXCJcXFwiXCIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobW9kaWZpZXJzLnByb3AgJiYgIWlzRHluYW1pYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IGNhbWVsaXplKG5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdpbm5lckh0bWwnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSAnaW5uZXJIVE1MJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAobW9kaWZpZXJzLmNhbWVsICYmICFpc0R5bmFtaWMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBjYW1lbGl6ZShuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAobW9kaWZpZXJzLnN5bmMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN5bmNHZW4gPSBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgXCIkZXZlbnRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRHluYW1pYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZEhhbmRsZXIoZWwsIFwidXBkYXRlOlwiLmNvbmNhdChjYW1lbGl6ZShuYW1lKSksIHN5bmNHZW4sIG51bGwsIGZhbHNlLCB3YXJuLCBsaXN0W2ldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaHlwaGVuYXRlKG5hbWUpICE9PSBjYW1lbGl6ZShuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRIYW5kbGVyKGVsLCBcInVwZGF0ZTpcIi5jb25jYXQoaHlwaGVuYXRlKG5hbWUpKSwgc3luY0dlbiwgbnVsbCwgZmFsc2UsIHdhcm4sIGxpc3RbaV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhbmRsZXIgdy8gZHluYW1pYyBldmVudCBuYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkSGFuZGxlcihlbCwgXCJcXFwidXBkYXRlOlxcXCIrKFwiLmNvbmNhdChuYW1lLCBcIilcIiksIHN5bmNHZW4sIG51bGwsIGZhbHNlLCB3YXJuLCBsaXN0W2ldLCB0cnVlIC8vIGR5bmFtaWNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgobW9kaWZpZXJzICYmIG1vZGlmaWVycy5wcm9wKSB8fFxuICAgICAgICAgICAgICAgICAgICAoIWVsLmNvbXBvbmVudCAmJiBwbGF0Zm9ybU11c3RVc2VQcm9wKGVsLnRhZywgZWwuYXR0cnNNYXAudHlwZSwgbmFtZSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZFByb3AoZWwsIG5hbWUsIHZhbHVlLCBsaXN0W2ldLCBpc0R5bmFtaWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkQXR0cihlbCwgbmFtZSwgdmFsdWUsIGxpc3RbaV0sIGlzRHluYW1pYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAob25SRS50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgLy8gdi1vblxuICAgICAgICAgICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2Uob25SRSwgJycpO1xuICAgICAgICAgICAgICAgIGlzRHluYW1pYyA9IGR5bmFtaWNBcmdSRS50ZXN0KG5hbWUpO1xuICAgICAgICAgICAgICAgIGlmIChpc0R5bmFtaWMpIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZSA9IG5hbWUuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhZGRIYW5kbGVyKGVsLCBuYW1lLCB2YWx1ZSwgbW9kaWZpZXJzLCBmYWxzZSwgd2FybiwgbGlzdFtpXSwgaXNEeW5hbWljKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIG5vcm1hbCBkaXJlY3RpdmVzXG4gICAgICAgICAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShkaXJSRSwgJycpO1xuICAgICAgICAgICAgICAgIC8vIHBhcnNlIGFyZ1xuICAgICAgICAgICAgICAgIHZhciBhcmdNYXRjaCA9IG5hbWUubWF0Y2goYXJnUkUpO1xuICAgICAgICAgICAgICAgIHZhciBhcmcgPSBhcmdNYXRjaCAmJiBhcmdNYXRjaFsxXTtcbiAgICAgICAgICAgICAgICBpc0R5bmFtaWMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAoYXJnKSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDAsIC0oYXJnLmxlbmd0aCArIDEpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGR5bmFtaWNBcmdSRS50ZXN0KGFyZykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZyA9IGFyZy5zbGljZSgxLCAtMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0R5bmFtaWMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFkZERpcmVjdGl2ZShlbCwgbmFtZSwgcmF3TmFtZSwgdmFsdWUsIGFyZywgaXNEeW5hbWljLCBtb2RpZmllcnMsIGxpc3RbaV0pO1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG5hbWUgPT09ICdtb2RlbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tGb3JBbGlhc01vZGVsKGVsLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gbGl0ZXJhbCBhdHRyaWJ1dGVcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdmFyIHJlcyA9IHBhcnNlVGV4dCh2YWx1ZSwgZGVsaW1pdGVycyk7XG4gICAgICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgICAgICB3YXJuKFwiXCIuY29uY2F0KG5hbWUsIFwiPVxcXCJcIikuY29uY2F0KHZhbHVlLCBcIlxcXCI6IFwiKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdVc2Ugdi1iaW5kIG9yIHRoZSBjb2xvbiBzaG9ydGhhbmQgaW5zdGVhZC4gRm9yIGV4YW1wbGUsICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2luc3RlYWQgb2YgPGRpdiBpZD1cInt7IHZhbCB9fVwiPiwgdXNlIDxkaXYgOmlkPVwidmFsXCI+LicsIGxpc3RbaV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZEF0dHIoZWwsIG5hbWUsIEpTT04uc3RyaW5naWZ5KHZhbHVlKSwgbGlzdFtpXSk7XG4gICAgICAgICAgICAvLyAjNjg4NyBmaXJlZm94IGRvZXNuJ3QgdXBkYXRlIG11dGVkIHN0YXRlIGlmIHNldCB2aWEgYXR0cmlidXRlXG4gICAgICAgICAgICAvLyBldmVuIGltbWVkaWF0ZWx5IGFmdGVyIGVsZW1lbnQgY3JlYXRpb25cbiAgICAgICAgICAgIGlmICghZWwuY29tcG9uZW50ICYmXG4gICAgICAgICAgICAgICAgbmFtZSA9PT0gJ211dGVkJyAmJlxuICAgICAgICAgICAgICAgIHBsYXRmb3JtTXVzdFVzZVByb3AoZWwudGFnLCBlbC5hdHRyc01hcC50eXBlLCBuYW1lKSkge1xuICAgICAgICAgICAgICAgIGFkZFByb3AoZWwsIG5hbWUsICd0cnVlJywgbGlzdFtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBjaGVja0luRm9yKGVsKSB7XG4gICAgdmFyIHBhcmVudCA9IGVsO1xuICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgICAgaWYgKHBhcmVudC5mb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gcGFyc2VNb2RpZmllcnMobmFtZSkge1xuICAgIHZhciBtYXRjaCA9IG5hbWUubWF0Y2gobW9kaWZpZXJSRSk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHZhciByZXRfMSA9IHt9O1xuICAgICAgICBtYXRjaC5mb3JFYWNoKGZ1bmN0aW9uIChtKSB7XG4gICAgICAgICAgICByZXRfMVttLnNsaWNlKDEpXSA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmV0XzE7XG4gICAgfVxufVxuZnVuY3Rpb24gbWFrZUF0dHJzTWFwKGF0dHJzKSB7XG4gICAgdmFyIG1hcCA9IHt9O1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gYXR0cnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG1hcFthdHRyc1tpXS5uYW1lXSAmJiAhaXNJRSAmJiAhaXNFZGdlKSB7XG4gICAgICAgICAgICB3YXJuKCdkdXBsaWNhdGUgYXR0cmlidXRlOiAnICsgYXR0cnNbaV0ubmFtZSwgYXR0cnNbaV0pO1xuICAgICAgICB9XG4gICAgICAgIG1hcFthdHRyc1tpXS5uYW1lXSA9IGF0dHJzW2ldLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xufVxuLy8gZm9yIHNjcmlwdCAoZS5nLiB0eXBlPVwieC90ZW1wbGF0ZVwiKSBvciBzdHlsZSwgZG8gbm90IGRlY29kZSBjb250ZW50XG5mdW5jdGlvbiBpc1RleHRUYWcoZWwpIHtcbiAgICByZXR1cm4gZWwudGFnID09PSAnc2NyaXB0JyB8fCBlbC50YWcgPT09ICdzdHlsZSc7XG59XG5mdW5jdGlvbiBpc0ZvcmJpZGRlblRhZyhlbCkge1xuICAgIHJldHVybiAoZWwudGFnID09PSAnc3R5bGUnIHx8XG4gICAgICAgIChlbC50YWcgPT09ICdzY3JpcHQnICYmXG4gICAgICAgICAgICAoIWVsLmF0dHJzTWFwLnR5cGUgfHwgZWwuYXR0cnNNYXAudHlwZSA9PT0gJ3RleHQvamF2YXNjcmlwdCcpKSk7XG59XG52YXIgaWVOU0J1ZyA9IC9eeG1sbnM6TlNcXGQrLztcbnZhciBpZU5TUHJlZml4ID0gL15OU1xcZCs6Lztcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5mdW5jdGlvbiBndWFyZElFU1ZHQnVnKGF0dHJzKSB7XG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGF0dHIgPSBhdHRyc1tpXTtcbiAgICAgICAgaWYgKCFpZU5TQnVnLnRlc3QoYXR0ci5uYW1lKSkge1xuICAgICAgICAgICAgYXR0ci5uYW1lID0gYXR0ci5uYW1lLnJlcGxhY2UoaWVOU1ByZWZpeCwgJycpO1xuICAgICAgICAgICAgcmVzLnB1c2goYXR0cik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbmZ1bmN0aW9uIGNoZWNrRm9yQWxpYXNNb2RlbChlbCwgdmFsdWUpIHtcbiAgICB2YXIgX2VsID0gZWw7XG4gICAgd2hpbGUgKF9lbCkge1xuICAgICAgICBpZiAoX2VsLmZvciAmJiBfZWwuYWxpYXMgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICB3YXJuKFwiPFwiLmNvbmNhdChlbC50YWcsIFwiIHYtbW9kZWw9XFxcIlwiKS5jb25jYXQodmFsdWUsIFwiXFxcIj46IFwiKSArXG4gICAgICAgICAgICAgICAgXCJZb3UgYXJlIGJpbmRpbmcgdi1tb2RlbCBkaXJlY3RseSB0byBhIHYtZm9yIGl0ZXJhdGlvbiBhbGlhcy4gXCIgK1xuICAgICAgICAgICAgICAgIFwiVGhpcyB3aWxsIG5vdCBiZSBhYmxlIHRvIG1vZGlmeSB0aGUgdi1mb3Igc291cmNlIGFycmF5IGJlY2F1c2UgXCIgK1xuICAgICAgICAgICAgICAgIFwid3JpdGluZyB0byB0aGUgYWxpYXMgaXMgbGlrZSBtb2RpZnlpbmcgYSBmdW5jdGlvbiBsb2NhbCB2YXJpYWJsZS4gXCIgK1xuICAgICAgICAgICAgICAgIFwiQ29uc2lkZXIgdXNpbmcgYW4gYXJyYXkgb2Ygb2JqZWN0cyBhbmQgdXNlIHYtbW9kZWwgb24gYW4gb2JqZWN0IHByb3BlcnR5IGluc3RlYWQuXCIsIGVsLnJhd0F0dHJzTWFwWyd2LW1vZGVsJ10pO1xuICAgICAgICB9XG4gICAgICAgIF9lbCA9IF9lbC5wYXJlbnQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEV4cGFuZCBpbnB1dFt2LW1vZGVsXSB3aXRoIGR5bmFtaWMgdHlwZSBiaW5kaW5ncyBpbnRvIHYtaWYtZWxzZSBjaGFpbnNcbiAqIFR1cm4gdGhpczpcbiAqICAgPGlucHV0IHYtbW9kZWw9XCJkYXRhW3R5cGVdXCIgOnR5cGU9XCJ0eXBlXCI+XG4gKiBpbnRvIHRoaXM6XG4gKiAgIDxpbnB1dCB2LWlmPVwidHlwZSA9PT0gJ2NoZWNrYm94J1wiIHR5cGU9XCJjaGVja2JveFwiIHYtbW9kZWw9XCJkYXRhW3R5cGVdXCI+XG4gKiAgIDxpbnB1dCB2LWVsc2UtaWY9XCJ0eXBlID09PSAncmFkaW8nXCIgdHlwZT1cInJhZGlvXCIgdi1tb2RlbD1cImRhdGFbdHlwZV1cIj5cbiAqICAgPGlucHV0IHYtZWxzZSA6dHlwZT1cInR5cGVcIiB2LW1vZGVsPVwiZGF0YVt0eXBlXVwiPlxuICovXG5mdW5jdGlvbiBwcmVUcmFuc2Zvcm1Ob2RlKGVsLCBvcHRpb25zKSB7XG4gICAgaWYgKGVsLnRhZyA9PT0gJ2lucHV0Jykge1xuICAgICAgICB2YXIgbWFwID0gZWwuYXR0cnNNYXA7XG4gICAgICAgIGlmICghbWFwWyd2LW1vZGVsJ10pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdHlwZUJpbmRpbmcgPSB2b2lkIDA7XG4gICAgICAgIGlmIChtYXBbJzp0eXBlJ10gfHwgbWFwWyd2LWJpbmQ6dHlwZSddKSB7XG4gICAgICAgICAgICB0eXBlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAndHlwZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbWFwLnR5cGUgJiYgIXR5cGVCaW5kaW5nICYmIG1hcFsndi1iaW5kJ10pIHtcbiAgICAgICAgICAgIHR5cGVCaW5kaW5nID0gXCIoXCIuY29uY2F0KG1hcFsndi1iaW5kJ10sIFwiKS50eXBlXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlQmluZGluZykge1xuICAgICAgICAgICAgdmFyIGlmQ29uZGl0aW9uID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtaWYnLCB0cnVlKTtcbiAgICAgICAgICAgIHZhciBpZkNvbmRpdGlvbkV4dHJhID0gaWZDb25kaXRpb24gPyBcIiYmKFwiLmNvbmNhdChpZkNvbmRpdGlvbiwgXCIpXCIpIDogXCJcIjtcbiAgICAgICAgICAgIHZhciBoYXNFbHNlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZScsIHRydWUpICE9IG51bGw7XG4gICAgICAgICAgICB2YXIgZWxzZUlmQ29uZGl0aW9uID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZS1pZicsIHRydWUpO1xuICAgICAgICAgICAgLy8gMS4gY2hlY2tib3hcbiAgICAgICAgICAgIHZhciBicmFuY2gwID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgICAgICAgIC8vIHByb2Nlc3MgZm9yIG9uIHRoZSBtYWluIG5vZGVcbiAgICAgICAgICAgIHByb2Nlc3NGb3IoYnJhbmNoMCk7XG4gICAgICAgICAgICBhZGRSYXdBdHRyKGJyYW5jaDAsICd0eXBlJywgJ2NoZWNrYm94Jyk7XG4gICAgICAgICAgICBwcm9jZXNzRWxlbWVudChicmFuY2gwLCBvcHRpb25zKTtcbiAgICAgICAgICAgIGJyYW5jaDAucHJvY2Vzc2VkID0gdHJ1ZTsgLy8gcHJldmVudCBpdCBmcm9tIGRvdWJsZS1wcm9jZXNzZWRcbiAgICAgICAgICAgIGJyYW5jaDAuaWYgPSBcIihcIi5jb25jYXQodHlwZUJpbmRpbmcsIFwiKT09PSdjaGVja2JveCdcIikgKyBpZkNvbmRpdGlvbkV4dHJhO1xuICAgICAgICAgICAgYWRkSWZDb25kaXRpb24oYnJhbmNoMCwge1xuICAgICAgICAgICAgICAgIGV4cDogYnJhbmNoMC5pZixcbiAgICAgICAgICAgICAgICBibG9jazogYnJhbmNoMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyAyLiBhZGQgcmFkaW8gZWxzZS1pZiBjb25kaXRpb25cbiAgICAgICAgICAgIHZhciBicmFuY2gxID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgICAgICAgIGdldEFuZFJlbW92ZUF0dHIoYnJhbmNoMSwgJ3YtZm9yJywgdHJ1ZSk7XG4gICAgICAgICAgICBhZGRSYXdBdHRyKGJyYW5jaDEsICd0eXBlJywgJ3JhZGlvJyk7XG4gICAgICAgICAgICBwcm9jZXNzRWxlbWVudChicmFuY2gxLCBvcHRpb25zKTtcbiAgICAgICAgICAgIGFkZElmQ29uZGl0aW9uKGJyYW5jaDAsIHtcbiAgICAgICAgICAgICAgICBleHA6IFwiKFwiLmNvbmNhdCh0eXBlQmluZGluZywgXCIpPT09J3JhZGlvJ1wiKSArIGlmQ29uZGl0aW9uRXh0cmEsXG4gICAgICAgICAgICAgICAgYmxvY2s6IGJyYW5jaDFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gMy4gb3RoZXJcbiAgICAgICAgICAgIHZhciBicmFuY2gyID0gY2xvbmVBU1RFbGVtZW50KGVsKTtcbiAgICAgICAgICAgIGdldEFuZFJlbW92ZUF0dHIoYnJhbmNoMiwgJ3YtZm9yJywgdHJ1ZSk7XG4gICAgICAgICAgICBhZGRSYXdBdHRyKGJyYW5jaDIsICc6dHlwZScsIHR5cGVCaW5kaW5nKTtcbiAgICAgICAgICAgIHByb2Nlc3NFbGVtZW50KGJyYW5jaDIsIG9wdGlvbnMpO1xuICAgICAgICAgICAgYWRkSWZDb25kaXRpb24oYnJhbmNoMCwge1xuICAgICAgICAgICAgICAgIGV4cDogaWZDb25kaXRpb24sXG4gICAgICAgICAgICAgICAgYmxvY2s6IGJyYW5jaDJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGhhc0Vsc2UpIHtcbiAgICAgICAgICAgICAgICBicmFuY2gwLmVsc2UgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZWxzZUlmQ29uZGl0aW9uKSB7XG4gICAgICAgICAgICAgICAgYnJhbmNoMC5lbHNlaWYgPSBlbHNlSWZDb25kaXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYnJhbmNoMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGNsb25lQVNURWxlbWVudChlbCkge1xuICAgIHJldHVybiBjcmVhdGVBU1RFbGVtZW50KGVsLnRhZywgZWwuYXR0cnNMaXN0LnNsaWNlKCksIGVsLnBhcmVudCk7XG59XG52YXIgbW9kZWwgPSB7XG4gICAgcHJlVHJhbnNmb3JtTm9kZTogcHJlVHJhbnNmb3JtTm9kZVxufTtcblxudmFyIG1vZHVsZXMgPSBba2xhc3MsIHN0eWxlLCBtb2RlbF07XG5cbmZ1bmN0aW9uIHRleHQoZWwsIGRpcikge1xuICAgIGlmIChkaXIudmFsdWUpIHtcbiAgICAgICAgYWRkUHJvcChlbCwgJ3RleHRDb250ZW50JywgXCJfcyhcIi5jb25jYXQoZGlyLnZhbHVlLCBcIilcIiksIGRpcik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBodG1sKGVsLCBkaXIpIHtcbiAgICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgICAgIGFkZFByb3AoZWwsICdpbm5lckhUTUwnLCBcIl9zKFwiLmNvbmNhdChkaXIudmFsdWUsIFwiKVwiKSwgZGlyKTtcbiAgICB9XG59XG5cbnZhciBkaXJlY3RpdmVzID0ge1xuICAgIG1vZGVsOiBtb2RlbCQxLFxuICAgIHRleHQ6IHRleHQsXG4gICAgaHRtbDogaHRtbFxufTtcblxudmFyIGJhc2VPcHRpb25zID0ge1xuICAgIGV4cGVjdEhUTUw6IHRydWUsXG4gICAgbW9kdWxlczogbW9kdWxlcyxcbiAgICBkaXJlY3RpdmVzOiBkaXJlY3RpdmVzLFxuICAgIGlzUHJlVGFnOiBpc1ByZVRhZyxcbiAgICBpc1VuYXJ5VGFnOiBpc1VuYXJ5VGFnLFxuICAgIG11c3RVc2VQcm9wOiBtdXN0VXNlUHJvcCxcbiAgICBjYW5CZUxlZnRPcGVuVGFnOiBjYW5CZUxlZnRPcGVuVGFnLFxuICAgIGlzUmVzZXJ2ZWRUYWc6IGlzUmVzZXJ2ZWRUYWcsXG4gICAgZ2V0VGFnTmFtZXNwYWNlOiBnZXRUYWdOYW1lc3BhY2UsXG4gICAgc3RhdGljS2V5czogZ2VuU3RhdGljS2V5cyQxKG1vZHVsZXMpXG59O1xuXG52YXIgaXNTdGF0aWNLZXk7XG52YXIgaXNQbGF0Zm9ybVJlc2VydmVkVGFnO1xudmFyIGdlblN0YXRpY0tleXNDYWNoZWQgPSBjYWNoZWQoZ2VuU3RhdGljS2V5cyk7XG4vKipcbiAqIEdvYWwgb2YgdGhlIG9wdGltaXplcjogd2FsayB0aGUgZ2VuZXJhdGVkIHRlbXBsYXRlIEFTVCB0cmVlXG4gKiBhbmQgZGV0ZWN0IHN1Yi10cmVlcyB0aGF0IGFyZSBwdXJlbHkgc3RhdGljLCBpLmUuIHBhcnRzIG9mXG4gKiB0aGUgRE9NIHRoYXQgbmV2ZXIgbmVlZHMgdG8gY2hhbmdlLlxuICpcbiAqIE9uY2Ugd2UgZGV0ZWN0IHRoZXNlIHN1Yi10cmVlcywgd2UgY2FuOlxuICpcbiAqIDEuIEhvaXN0IHRoZW0gaW50byBjb25zdGFudHMsIHNvIHRoYXQgd2Ugbm8gbG9uZ2VyIG5lZWQgdG9cbiAqICAgIGNyZWF0ZSBmcmVzaCBub2RlcyBmb3IgdGhlbSBvbiBlYWNoIHJlLXJlbmRlcjtcbiAqIDIuIENvbXBsZXRlbHkgc2tpcCB0aGVtIGluIHRoZSBwYXRjaGluZyBwcm9jZXNzLlxuICovXG5mdW5jdGlvbiBvcHRpbWl6ZShyb290LCBvcHRpb25zKSB7XG4gICAgaWYgKCFyb290KVxuICAgICAgICByZXR1cm47XG4gICAgaXNTdGF0aWNLZXkgPSBnZW5TdGF0aWNLZXlzQ2FjaGVkKG9wdGlvbnMuc3RhdGljS2V5cyB8fCAnJyk7XG4gICAgaXNQbGF0Zm9ybVJlc2VydmVkVGFnID0gb3B0aW9ucy5pc1Jlc2VydmVkVGFnIHx8IG5vO1xuICAgIC8vIGZpcnN0IHBhc3M6IG1hcmsgYWxsIG5vbi1zdGF0aWMgbm9kZXMuXG4gICAgbWFya1N0YXRpYyhyb290KTtcbiAgICAvLyBzZWNvbmQgcGFzczogbWFyayBzdGF0aWMgcm9vdHMuXG4gICAgbWFya1N0YXRpY1Jvb3RzKHJvb3QsIGZhbHNlKTtcbn1cbmZ1bmN0aW9uIGdlblN0YXRpY0tleXMoa2V5cykge1xuICAgIHJldHVybiBtYWtlTWFwKCd0eXBlLHRhZyxhdHRyc0xpc3QsYXR0cnNNYXAscGxhaW4scGFyZW50LGNoaWxkcmVuLGF0dHJzLHN0YXJ0LGVuZCxyYXdBdHRyc01hcCcgK1xuICAgICAgICAoa2V5cyA/ICcsJyArIGtleXMgOiAnJykpO1xufVxuZnVuY3Rpb24gbWFya1N0YXRpYyhub2RlKSB7XG4gICAgbm9kZS5zdGF0aWMgPSBpc1N0YXRpYyhub2RlKTtcbiAgICBpZiAobm9kZS50eXBlID09PSAxKSB7XG4gICAgICAgIC8vIGRvIG5vdCBtYWtlIGNvbXBvbmVudCBzbG90IGNvbnRlbnQgc3RhdGljLiB0aGlzIGF2b2lkc1xuICAgICAgICAvLyAxLiBjb21wb25lbnRzIG5vdCBhYmxlIHRvIG11dGF0ZSBzbG90IG5vZGVzXG4gICAgICAgIC8vIDIuIHN0YXRpYyBzbG90IGNvbnRlbnQgZmFpbHMgZm9yIGhvdC1yZWxvYWRpbmdcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtUmVzZXJ2ZWRUYWcobm9kZS50YWcpICYmXG4gICAgICAgICAgICBub2RlLnRhZyAhPT0gJ3Nsb3QnICYmXG4gICAgICAgICAgICBub2RlLmF0dHJzTWFwWydpbmxpbmUtdGVtcGxhdGUnXSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgdmFyIGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXTtcbiAgICAgICAgICAgIG1hcmtTdGF0aWMoY2hpbGQpO1xuICAgICAgICAgICAgaWYgKCFjaGlsZC5zdGF0aWMpIHtcbiAgICAgICAgICAgICAgICBub2RlLnN0YXRpYyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmlmQ29uZGl0aW9ucykge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDEsIGwgPSBub2RlLmlmQ29uZGl0aW9ucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgYmxvY2sgPSBub2RlLmlmQ29uZGl0aW9uc1tpXS5ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJrU3RhdGljKGJsb2NrKTtcbiAgICAgICAgICAgICAgICBpZiAoIWJsb2NrLnN0YXRpYykge1xuICAgICAgICAgICAgICAgICAgICBub2RlLnN0YXRpYyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIG1hcmtTdGF0aWNSb290cyhub2RlLCBpc0luRm9yKSB7XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgICAgICBpZiAobm9kZS5zdGF0aWMgfHwgbm9kZS5vbmNlKSB7XG4gICAgICAgICAgICBub2RlLnN0YXRpY0luRm9yID0gaXNJbkZvcjtcbiAgICAgICAgfVxuICAgICAgICAvLyBGb3IgYSBub2RlIHRvIHF1YWxpZnkgYXMgYSBzdGF0aWMgcm9vdCwgaXQgc2hvdWxkIGhhdmUgY2hpbGRyZW4gdGhhdFxuICAgICAgICAvLyBhcmUgbm90IGp1c3Qgc3RhdGljIHRleHQuIE90aGVyd2lzZSB0aGUgY29zdCBvZiBob2lzdGluZyBvdXQgd2lsbFxuICAgICAgICAvLyBvdXR3ZWlnaCB0aGUgYmVuZWZpdHMgYW5kIGl0J3MgYmV0dGVyIG9mZiB0byBqdXN0IGFsd2F5cyByZW5kZXIgaXQgZnJlc2guXG4gICAgICAgIGlmIChub2RlLnN0YXRpYyAmJlxuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbi5sZW5ndGggJiZcbiAgICAgICAgICAgICEobm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiYgbm9kZS5jaGlsZHJlblswXS50eXBlID09PSAzKSkge1xuICAgICAgICAgICAgbm9kZS5zdGF0aWNSb290ID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5vZGUuc3RhdGljUm9vdCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFya1N0YXRpY1Jvb3RzKG5vZGUuY2hpbGRyZW5baV0sIGlzSW5Gb3IgfHwgISFub2RlLmZvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuaWZDb25kaXRpb25zKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMSwgbCA9IG5vZGUuaWZDb25kaXRpb25zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIG1hcmtTdGF0aWNSb290cyhub2RlLmlmQ29uZGl0aW9uc1tpXS5ibG9jaywgaXNJbkZvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBpc1N0YXRpYyhub2RlKSB7XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gMikge1xuICAgICAgICAvLyBleHByZXNzaW9uXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gMykge1xuICAgICAgICAvLyB0ZXh0XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gISEobm9kZS5wcmUgfHxcbiAgICAgICAgKCFub2RlLmhhc0JpbmRpbmdzICYmIC8vIG5vIGR5bmFtaWMgYmluZGluZ3NcbiAgICAgICAgICAgICFub2RlLmlmICYmXG4gICAgICAgICAgICAhbm9kZS5mb3IgJiYgLy8gbm90IHYtaWYgb3Igdi1mb3Igb3Igdi1lbHNlXG4gICAgICAgICAgICAhaXNCdWlsdEluVGFnKG5vZGUudGFnKSAmJiAvLyBub3QgYSBidWlsdC1pblxuICAgICAgICAgICAgaXNQbGF0Zm9ybVJlc2VydmVkVGFnKG5vZGUudGFnKSAmJiAvLyBub3QgYSBjb21wb25lbnRcbiAgICAgICAgICAgICFpc0RpcmVjdENoaWxkT2ZUZW1wbGF0ZUZvcihub2RlKSAmJlxuICAgICAgICAgICAgT2JqZWN0LmtleXMobm9kZSkuZXZlcnkoaXNTdGF0aWNLZXkpKSk7XG59XG5mdW5jdGlvbiBpc0RpcmVjdENoaWxkT2ZUZW1wbGF0ZUZvcihub2RlKSB7XG4gICAgd2hpbGUgKG5vZGUucGFyZW50KSB7XG4gICAgICAgIG5vZGUgPSBub2RlLnBhcmVudDtcbiAgICAgICAgaWYgKG5vZGUudGFnICE9PSAndGVtcGxhdGUnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuZm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbnZhciBmbkV4cFJFID0gL14oW1xcdyRfXSt8XFwoW14pXSo/XFwpKVxccyo9PnxeZnVuY3Rpb24oPzpcXHMrW1xcdyRdKyk/XFxzKlxcKC87XG52YXIgZm5JbnZva2VSRSA9IC9cXChbXildKj9cXCk7KiQvO1xudmFyIHNpbXBsZVBhdGhSRSA9IC9eW0EtWmEtel8kXVtcXHckXSooPzpcXC5bQS1aYS16XyRdW1xcdyRdKnxcXFsnW14nXSo/J118XFxbXCJbXlwiXSo/XCJdfFxcW1xcZCtdfFxcW1tBLVphLXpfJF1bXFx3JF0qXSkqJC87XG4vLyBLZXlib2FyZEV2ZW50LmtleUNvZGUgYWxpYXNlc1xudmFyIGtleUNvZGVzID0ge1xuICAgIGVzYzogMjcsXG4gICAgdGFiOiA5LFxuICAgIGVudGVyOiAxMyxcbiAgICBzcGFjZTogMzIsXG4gICAgdXA6IDM4LFxuICAgIGxlZnQ6IDM3LFxuICAgIHJpZ2h0OiAzOSxcbiAgICBkb3duOiA0MCxcbiAgICBkZWxldGU6IFs4LCA0Nl1cbn07XG4vLyBLZXlib2FyZEV2ZW50LmtleSBhbGlhc2VzXG52YXIga2V5TmFtZXMgPSB7XG4gICAgLy8gIzc4ODA6IElFMTEgYW5kIEVkZ2UgdXNlIGBFc2NgIGZvciBFc2NhcGUga2V5IG5hbWUuXG4gICAgZXNjOiBbJ0VzYycsICdFc2NhcGUnXSxcbiAgICB0YWI6ICdUYWInLFxuICAgIGVudGVyOiAnRW50ZXInLFxuICAgIC8vICM5MTEyOiBJRTExIHVzZXMgYFNwYWNlYmFyYCBmb3IgU3BhY2Uga2V5IG5hbWUuXG4gICAgc3BhY2U6IFsnICcsICdTcGFjZWJhciddLFxuICAgIC8vICM3ODA2OiBJRTExIHVzZXMga2V5IG5hbWVzIHdpdGhvdXQgYEFycm93YCBwcmVmaXggZm9yIGFycm93IGtleXMuXG4gICAgdXA6IFsnVXAnLCAnQXJyb3dVcCddLFxuICAgIGxlZnQ6IFsnTGVmdCcsICdBcnJvd0xlZnQnXSxcbiAgICByaWdodDogWydSaWdodCcsICdBcnJvd1JpZ2h0J10sXG4gICAgZG93bjogWydEb3duJywgJ0Fycm93RG93biddLFxuICAgIC8vICM5MTEyOiBJRTExIHVzZXMgYERlbGAgZm9yIERlbGV0ZSBrZXkgbmFtZS5cbiAgICBkZWxldGU6IFsnQmFja3NwYWNlJywgJ0RlbGV0ZScsICdEZWwnXVxufTtcbi8vICM0ODY4OiBtb2RpZmllcnMgdGhhdCBwcmV2ZW50IHRoZSBleGVjdXRpb24gb2YgdGhlIGxpc3RlbmVyXG4vLyBuZWVkIHRvIGV4cGxpY2l0bHkgcmV0dXJuIG51bGwgc28gdGhhdCB3ZSBjYW4gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gcmVtb3ZlXG4vLyB0aGUgbGlzdGVuZXIgZm9yIC5vbmNlXG52YXIgZ2VuR3VhcmQgPSBmdW5jdGlvbiAoY29uZGl0aW9uKSB7IHJldHVybiBcImlmKFwiLmNvbmNhdChjb25kaXRpb24sIFwiKXJldHVybiBudWxsO1wiKTsgfTtcbnZhciBtb2RpZmllckNvZGUgPSB7XG4gICAgc3RvcDogJyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsnLFxuICAgIHByZXZlbnQ6ICckZXZlbnQucHJldmVudERlZmF1bHQoKTsnLFxuICAgIHNlbGY6IGdlbkd1YXJkKFwiJGV2ZW50LnRhcmdldCAhPT0gJGV2ZW50LmN1cnJlbnRUYXJnZXRcIiksXG4gICAgY3RybDogZ2VuR3VhcmQoXCIhJGV2ZW50LmN0cmxLZXlcIiksXG4gICAgc2hpZnQ6IGdlbkd1YXJkKFwiISRldmVudC5zaGlmdEtleVwiKSxcbiAgICBhbHQ6IGdlbkd1YXJkKFwiISRldmVudC5hbHRLZXlcIiksXG4gICAgbWV0YTogZ2VuR3VhcmQoXCIhJGV2ZW50Lm1ldGFLZXlcIiksXG4gICAgbGVmdDogZ2VuR3VhcmQoXCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMFwiKSxcbiAgICBtaWRkbGU6IGdlbkd1YXJkKFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDFcIiksXG4gICAgcmlnaHQ6IGdlbkd1YXJkKFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDJcIilcbn07XG5mdW5jdGlvbiBnZW5IYW5kbGVycyhldmVudHMsIGlzTmF0aXZlKSB7XG4gICAgdmFyIHByZWZpeCA9IGlzTmF0aXZlID8gJ25hdGl2ZU9uOicgOiAnb246JztcbiAgICB2YXIgc3RhdGljSGFuZGxlcnMgPSBcIlwiO1xuICAgIHZhciBkeW5hbWljSGFuZGxlcnMgPSBcIlwiO1xuICAgIGZvciAodmFyIG5hbWVfMSBpbiBldmVudHMpIHtcbiAgICAgICAgdmFyIGhhbmRsZXJDb2RlID0gZ2VuSGFuZGxlcihldmVudHNbbmFtZV8xXSk7XG4gICAgICAgIC8vQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICBpZiAoZXZlbnRzW25hbWVfMV0gJiYgZXZlbnRzW25hbWVfMV0uZHluYW1pYykge1xuICAgICAgICAgICAgZHluYW1pY0hhbmRsZXJzICs9IFwiXCIuY29uY2F0KG5hbWVfMSwgXCIsXCIpLmNvbmNhdChoYW5kbGVyQ29kZSwgXCIsXCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc3RhdGljSGFuZGxlcnMgKz0gXCJcXFwiXCIuY29uY2F0KG5hbWVfMSwgXCJcXFwiOlwiKS5jb25jYXQoaGFuZGxlckNvZGUsIFwiLFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGF0aWNIYW5kbGVycyA9IFwie1wiLmNvbmNhdChzdGF0aWNIYW5kbGVycy5zbGljZSgwLCAtMSksIFwifVwiKTtcbiAgICBpZiAoZHluYW1pY0hhbmRsZXJzKSB7XG4gICAgICAgIHJldHVybiBwcmVmaXggKyBcIl9kKFwiLmNvbmNhdChzdGF0aWNIYW5kbGVycywgXCIsW1wiKS5jb25jYXQoZHluYW1pY0hhbmRsZXJzLnNsaWNlKDAsIC0xKSwgXCJdKVwiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBwcmVmaXggKyBzdGF0aWNIYW5kbGVycztcbiAgICB9XG59XG5mdW5jdGlvbiBnZW5IYW5kbGVyKGhhbmRsZXIpIHtcbiAgICBpZiAoIWhhbmRsZXIpIHtcbiAgICAgICAgcmV0dXJuICdmdW5jdGlvbigpe30nO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVyKSkge1xuICAgICAgICByZXR1cm4gXCJbXCIuY29uY2F0KGhhbmRsZXIubWFwKGZ1bmN0aW9uIChoYW5kbGVyKSB7IHJldHVybiBnZW5IYW5kbGVyKGhhbmRsZXIpOyB9KS5qb2luKCcsJyksIFwiXVwiKTtcbiAgICB9XG4gICAgdmFyIGlzTWV0aG9kUGF0aCA9IHNpbXBsZVBhdGhSRS50ZXN0KGhhbmRsZXIudmFsdWUpO1xuICAgIHZhciBpc0Z1bmN0aW9uRXhwcmVzc2lvbiA9IGZuRXhwUkUudGVzdChoYW5kbGVyLnZhbHVlKTtcbiAgICB2YXIgaXNGdW5jdGlvbkludm9jYXRpb24gPSBzaW1wbGVQYXRoUkUudGVzdChoYW5kbGVyLnZhbHVlLnJlcGxhY2UoZm5JbnZva2VSRSwgJycpKTtcbiAgICBpZiAoIWhhbmRsZXIubW9kaWZpZXJzKSB7XG4gICAgICAgIGlmIChpc01ldGhvZFBhdGggfHwgaXNGdW5jdGlvbkV4cHJlc3Npb24pIHtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGVyLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcImZ1bmN0aW9uKCRldmVudCl7XCIuY29uY2F0KGlzRnVuY3Rpb25JbnZvY2F0aW9uID8gXCJyZXR1cm4gXCIuY29uY2F0KGhhbmRsZXIudmFsdWUpIDogaGFuZGxlci52YWx1ZSwgXCJ9XCIpOyAvLyBpbmxpbmUgc3RhdGVtZW50XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgY29kZSA9ICcnO1xuICAgICAgICB2YXIgZ2VuTW9kaWZpZXJDb2RlID0gJyc7XG4gICAgICAgIHZhciBrZXlzID0gW107XG4gICAgICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgaWYgKG1vZGlmaWVyQ29kZVtrZXldKSB7XG4gICAgICAgICAgICAgICAgZ2VuTW9kaWZpZXJDb2RlICs9IG1vZGlmaWVyQ29kZVtrZXldO1xuICAgICAgICAgICAgICAgIC8vIGxlZnQvcmlnaHRcbiAgICAgICAgICAgICAgICBpZiAoa2V5Q29kZXNba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChrZXkgPT09ICdleGFjdCcpIHtcbiAgICAgICAgICAgICAgICB2YXIgbW9kaWZpZXJzXzEgPSBoYW5kbGVyLm1vZGlmaWVycztcbiAgICAgICAgICAgICAgICBnZW5Nb2RpZmllckNvZGUgKz0gZ2VuR3VhcmQoWydjdHJsJywgJ3NoaWZ0JywgJ2FsdCcsICdtZXRhJ11cbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAoa2V5TW9kaWZpZXIpIHsgcmV0dXJuICFtb2RpZmllcnNfMVtrZXlNb2RpZmllcl07IH0pXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKGtleU1vZGlmaWVyKSB7IHJldHVybiBcIiRldmVudC5cIi5jb25jYXQoa2V5TW9kaWZpZXIsIFwiS2V5XCIpOyB9KVxuICAgICAgICAgICAgICAgICAgICAuam9pbignfHwnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIGhhbmRsZXIubW9kaWZpZXJzKSB7XG4gICAgICAgICAgICBfbG9vcF8xKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb2RlICs9IGdlbktleUZpbHRlcihrZXlzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBNYWtlIHN1cmUgbW9kaWZpZXJzIGxpa2UgcHJldmVudCBhbmQgc3RvcCBnZXQgZXhlY3V0ZWQgYWZ0ZXIga2V5IGZpbHRlcmluZ1xuICAgICAgICBpZiAoZ2VuTW9kaWZpZXJDb2RlKSB7XG4gICAgICAgICAgICBjb2RlICs9IGdlbk1vZGlmaWVyQ29kZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaGFuZGxlckNvZGUgPSBpc01ldGhvZFBhdGhcbiAgICAgICAgICAgID8gXCJyZXR1cm4gXCIuY29uY2F0KGhhbmRsZXIudmFsdWUsIFwiLmFwcGx5KG51bGwsIGFyZ3VtZW50cylcIilcbiAgICAgICAgICAgIDogaXNGdW5jdGlvbkV4cHJlc3Npb25cbiAgICAgICAgICAgICAgICA/IFwicmV0dXJuIChcIi5jb25jYXQoaGFuZGxlci52YWx1ZSwgXCIpLmFwcGx5KG51bGwsIGFyZ3VtZW50cylcIilcbiAgICAgICAgICAgICAgICA6IGlzRnVuY3Rpb25JbnZvY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgID8gXCJyZXR1cm4gXCIuY29uY2F0KGhhbmRsZXIudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIDogaGFuZGxlci52YWx1ZTtcbiAgICAgICAgcmV0dXJuIFwiZnVuY3Rpb24oJGV2ZW50KXtcIi5jb25jYXQoY29kZSkuY29uY2F0KGhhbmRsZXJDb2RlLCBcIn1cIik7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2VuS2V5RmlsdGVyKGtleXMpIHtcbiAgICByZXR1cm4gKFxuICAgIC8vIG1ha2Ugc3VyZSB0aGUga2V5IGZpbHRlcnMgb25seSBhcHBseSB0byBLZXlib2FyZEV2ZW50c1xuICAgIC8vICM5NDQxOiBjYW4ndCB1c2UgJ2tleUNvZGUnIGluICRldmVudCBiZWNhdXNlIENocm9tZSBhdXRvZmlsbCBmaXJlcyBmYWtlXG4gICAgLy8ga2V5IGV2ZW50cyB0aGF0IGRvIG5vdCBoYXZlIGtleUNvZGUgcHJvcGVydHkuLi5cbiAgICBcImlmKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSYmXCIgK1xuICAgICAgICBcIlwiLmNvbmNhdChrZXlzLm1hcChnZW5GaWx0ZXJDb2RlKS5qb2luKCcmJicpLCBcIilyZXR1cm4gbnVsbDtcIikpO1xufVxuZnVuY3Rpb24gZ2VuRmlsdGVyQ29kZShrZXkpIHtcbiAgICB2YXIga2V5VmFsID0gcGFyc2VJbnQoa2V5LCAxMCk7XG4gICAgaWYgKGtleVZhbCkge1xuICAgICAgICByZXR1cm4gXCIkZXZlbnQua2V5Q29kZSE9PVwiLmNvbmNhdChrZXlWYWwpO1xuICAgIH1cbiAgICB2YXIga2V5Q29kZSA9IGtleUNvZGVzW2tleV07XG4gICAgdmFyIGtleU5hbWUgPSBrZXlOYW1lc1trZXldO1xuICAgIHJldHVybiAoXCJfaygkZXZlbnQua2V5Q29kZSxcIiArXG4gICAgICAgIFwiXCIuY29uY2F0KEpTT04uc3RyaW5naWZ5KGtleSksIFwiLFwiKSArXG4gICAgICAgIFwiXCIuY29uY2F0KEpTT04uc3RyaW5naWZ5KGtleUNvZGUpLCBcIixcIikgK1xuICAgICAgICBcIiRldmVudC5rZXksXCIgK1xuICAgICAgICBcIlwiLmNvbmNhdChKU09OLnN0cmluZ2lmeShrZXlOYW1lKSkgK1xuICAgICAgICBcIilcIik7XG59XG5cbmZ1bmN0aW9uIG9uKGVsLCBkaXIpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBkaXIubW9kaWZpZXJzKSB7XG4gICAgICAgIHdhcm4kMihcInYtb24gd2l0aG91dCBhcmd1bWVudCBkb2VzIG5vdCBzdXBwb3J0IG1vZGlmaWVycy5cIik7XG4gICAgfVxuICAgIGVsLndyYXBMaXN0ZW5lcnMgPSBmdW5jdGlvbiAoY29kZSkgeyByZXR1cm4gXCJfZyhcIi5jb25jYXQoY29kZSwgXCIsXCIpLmNvbmNhdChkaXIudmFsdWUsIFwiKVwiKTsgfTtcbn1cblxuZnVuY3Rpb24gYmluZChlbCwgZGlyKSB7XG4gICAgZWwud3JhcERhdGEgPSBmdW5jdGlvbiAoY29kZSkge1xuICAgICAgICByZXR1cm4gXCJfYihcIi5jb25jYXQoY29kZSwgXCIsJ1wiKS5jb25jYXQoZWwudGFnLCBcIicsXCIpLmNvbmNhdChkaXIudmFsdWUsIFwiLFwiKS5jb25jYXQoZGlyLm1vZGlmaWVycyAmJiBkaXIubW9kaWZpZXJzLnByb3AgPyAndHJ1ZScgOiAnZmFsc2UnKS5jb25jYXQoZGlyLm1vZGlmaWVycyAmJiBkaXIubW9kaWZpZXJzLnN5bmMgPyAnLHRydWUnIDogJycsIFwiKVwiKTtcbiAgICB9O1xufVxuXG52YXIgYmFzZURpcmVjdGl2ZXMgPSB7XG4gICAgb246IG9uLFxuICAgIGJpbmQ6IGJpbmQsXG4gICAgY2xvYWs6IG5vb3Bcbn07XG5cbnZhciBDb2RlZ2VuU3RhdGUgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gQ29kZWdlblN0YXRlKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy53YXJuID0gb3B0aW9ucy53YXJuIHx8IGJhc2VXYXJuO1xuICAgICAgICB0aGlzLnRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3RyYW5zZm9ybUNvZGUnKTtcbiAgICAgICAgdGhpcy5kYXRhR2VuRm5zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICdnZW5EYXRhJyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IGV4dGVuZChleHRlbmQoe30sIGJhc2VEaXJlY3RpdmVzKSwgb3B0aW9ucy5kaXJlY3RpdmVzKTtcbiAgICAgICAgdmFyIGlzUmVzZXJ2ZWRUYWcgPSBvcHRpb25zLmlzUmVzZXJ2ZWRUYWcgfHwgbm87XG4gICAgICAgIHRoaXMubWF5YmVDb21wb25lbnQgPSBmdW5jdGlvbiAoZWwpIHtcbiAgICAgICAgICAgIHJldHVybiAhIWVsLmNvbXBvbmVudCB8fCAhaXNSZXNlcnZlZFRhZyhlbC50YWcpO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLm9uY2VJZCA9IDA7XG4gICAgICAgIHRoaXMuc3RhdGljUmVuZGVyRm5zID0gW107XG4gICAgICAgIHRoaXMucHJlID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBDb2RlZ2VuU3RhdGU7XG59KCkpO1xuZnVuY3Rpb24gZ2VuZXJhdGUoYXN0LCBvcHRpb25zKSB7XG4gICAgdmFyIHN0YXRlID0gbmV3IENvZGVnZW5TdGF0ZShvcHRpb25zKTtcbiAgICAvLyBmaXggIzExNDgzLCBSb290IGxldmVsIDxzY3JpcHQ+IHRhZ3Mgc2hvdWxkIG5vdCBiZSByZW5kZXJlZC5cbiAgICB2YXIgY29kZSA9IGFzdFxuICAgICAgICA/IGFzdC50YWcgPT09ICdzY3JpcHQnXG4gICAgICAgICAgICA/ICdudWxsJ1xuICAgICAgICAgICAgOiBnZW5FbGVtZW50KGFzdCwgc3RhdGUpXG4gICAgICAgIDogJ19jKFwiZGl2XCIpJztcbiAgICByZXR1cm4ge1xuICAgICAgICByZW5kZXI6IFwid2l0aCh0aGlzKXtyZXR1cm4gXCIuY29uY2F0KGNvZGUsIFwifVwiKSxcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0ZS5zdGF0aWNSZW5kZXJGbnNcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2VuRWxlbWVudChlbCwgc3RhdGUpIHtcbiAgICBpZiAoZWwucGFyZW50KSB7XG4gICAgICAgIGVsLnByZSA9IGVsLnByZSB8fCBlbC5wYXJlbnQucHJlO1xuICAgIH1cbiAgICBpZiAoZWwuc3RhdGljUm9vdCAmJiAhZWwuc3RhdGljUHJvY2Vzc2VkKSB7XG4gICAgICAgIHJldHVybiBnZW5TdGF0aWMoZWwsIHN0YXRlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZWwub25jZSAmJiAhZWwub25jZVByb2Nlc3NlZCkge1xuICAgICAgICByZXR1cm4gZ2VuT25jZShlbCwgc3RhdGUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlbC5mb3IgJiYgIWVsLmZvclByb2Nlc3NlZCkge1xuICAgICAgICByZXR1cm4gZ2VuRm9yKGVsLCBzdGF0ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGVsLmlmICYmICFlbC5pZlByb2Nlc3NlZCkge1xuICAgICAgICByZXR1cm4gZ2VuSWYoZWwsIHN0YXRlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZWwudGFnID09PSAndGVtcGxhdGUnICYmICFlbC5zbG90VGFyZ2V0ICYmICFzdGF0ZS5wcmUpIHtcbiAgICAgICAgcmV0dXJuIGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSkgfHwgJ3ZvaWQgMCc7XG4gICAgfVxuICAgIGVsc2UgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnKSB7XG4gICAgICAgIHJldHVybiBnZW5TbG90KGVsLCBzdGF0ZSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyBjb21wb25lbnQgb3IgZWxlbWVudFxuICAgICAgICB2YXIgY29kZSA9IHZvaWQgMDtcbiAgICAgICAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgICAgICAgICAgY29kZSA9IGdlbkNvbXBvbmVudChlbC5jb21wb25lbnQsIGVsLCBzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgZGF0YSA9IHZvaWQgMDtcbiAgICAgICAgICAgIHZhciBtYXliZUNvbXBvbmVudCA9IHN0YXRlLm1heWJlQ29tcG9uZW50KGVsKTtcbiAgICAgICAgICAgIGlmICghZWwucGxhaW4gfHwgKGVsLnByZSAmJiBtYXliZUNvbXBvbmVudCkpIHtcbiAgICAgICAgICAgICAgICBkYXRhID0gZ2VuRGF0YShlbCwgc3RhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHRhZyBcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoaXMgaXMgYSBjb21wb25lbnQgaW4gPHNjcmlwdCBzZXR1cD5cbiAgICAgICAgICAgID0gdm9pZCAwO1xuICAgICAgICAgICAgLy8gY2hlY2sgaWYgdGhpcyBpcyBhIGNvbXBvbmVudCBpbiA8c2NyaXB0IHNldHVwPlxuICAgICAgICAgICAgdmFyIGJpbmRpbmdzID0gc3RhdGUub3B0aW9ucy5iaW5kaW5ncztcbiAgICAgICAgICAgIGlmIChtYXliZUNvbXBvbmVudCAmJiBiaW5kaW5ncyAmJiBiaW5kaW5ncy5fX2lzU2NyaXB0U2V0dXAgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgdGFnID0gY2hlY2tCaW5kaW5nVHlwZShiaW5kaW5ncywgZWwudGFnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGFnKVxuICAgICAgICAgICAgICAgIHRhZyA9IFwiJ1wiLmNvbmNhdChlbC50YWcsIFwiJ1wiKTtcbiAgICAgICAgICAgIHZhciBjaGlsZHJlbiA9IGVsLmlubGluZVRlbXBsYXRlID8gbnVsbCA6IGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgICBjb2RlID0gXCJfYyhcIi5jb25jYXQodGFnKS5jb25jYXQoZGF0YSA/IFwiLFwiLmNvbmNhdChkYXRhKSA6ICcnIC8vIGRhdGFcbiAgICAgICAgICAgICkuY29uY2F0KGNoaWxkcmVuID8gXCIsXCIuY29uY2F0KGNoaWxkcmVuKSA6ICcnIC8vIGNoaWxkcmVuXG4gICAgICAgICAgICAsIFwiKVwiKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBtb2R1bGUgdHJhbnNmb3Jtc1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLnRyYW5zZm9ybXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvZGUgPSBzdGF0ZS50cmFuc2Zvcm1zW2ldKGVsLCBjb2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29kZTtcbiAgICB9XG59XG5mdW5jdGlvbiBjaGVja0JpbmRpbmdUeXBlKGJpbmRpbmdzLCBrZXkpIHtcbiAgICB2YXIgY2FtZWxOYW1lID0gY2FtZWxpemUoa2V5KTtcbiAgICB2YXIgUGFzY2FsTmFtZSA9IGNhcGl0YWxpemUoY2FtZWxOYW1lKTtcbiAgICB2YXIgY2hlY2tUeXBlID0gZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgaWYgKGJpbmRpbmdzW2tleV0gPT09IHR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBrZXk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJpbmRpbmdzW2NhbWVsTmFtZV0gPT09IHR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjYW1lbE5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJpbmRpbmdzW1Bhc2NhbE5hbWVdID09PSB0eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gUGFzY2FsTmFtZTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgdmFyIGZyb21Db25zdCA9IGNoZWNrVHlwZShcInNldHVwLWNvbnN0XCIgLyogQmluZGluZ1R5cGVzLlNFVFVQX0NPTlNUICovKSB8fFxuICAgICAgICBjaGVja1R5cGUoXCJzZXR1cC1yZWFjdGl2ZS1jb25zdFwiIC8qIEJpbmRpbmdUeXBlcy5TRVRVUF9SRUFDVElWRV9DT05TVCAqLyk7XG4gICAgaWYgKGZyb21Db25zdCkge1xuICAgICAgICByZXR1cm4gZnJvbUNvbnN0O1xuICAgIH1cbiAgICB2YXIgZnJvbU1heWJlUmVmID0gY2hlY2tUeXBlKFwic2V0dXAtbGV0XCIgLyogQmluZGluZ1R5cGVzLlNFVFVQX0xFVCAqLykgfHxcbiAgICAgICAgY2hlY2tUeXBlKFwic2V0dXAtcmVmXCIgLyogQmluZGluZ1R5cGVzLlNFVFVQX1JFRiAqLykgfHxcbiAgICAgICAgY2hlY2tUeXBlKFwic2V0dXAtbWF5YmUtcmVmXCIgLyogQmluZGluZ1R5cGVzLlNFVFVQX01BWUJFX1JFRiAqLyk7XG4gICAgaWYgKGZyb21NYXliZVJlZikge1xuICAgICAgICByZXR1cm4gZnJvbU1heWJlUmVmO1xuICAgIH1cbn1cbi8vIGhvaXN0IHN0YXRpYyBzdWItdHJlZXMgb3V0XG5mdW5jdGlvbiBnZW5TdGF0aWMoZWwsIHN0YXRlKSB7XG4gICAgZWwuc3RhdGljUHJvY2Vzc2VkID0gdHJ1ZTtcbiAgICAvLyBTb21lIGVsZW1lbnRzICh0ZW1wbGF0ZXMpIG5lZWQgdG8gYmVoYXZlIGRpZmZlcmVudGx5IGluc2lkZSBvZiBhIHYtcHJlXG4gICAgLy8gbm9kZS4gIEFsbCBwcmUgbm9kZXMgYXJlIHN0YXRpYyByb290cywgc28gd2UgY2FuIHVzZSB0aGlzIGFzIGEgbG9jYXRpb24gdG9cbiAgICAvLyB3cmFwIGEgc3RhdGUgY2hhbmdlIGFuZCByZXNldCBpdCB1cG9uIGV4aXRpbmcgdGhlIHByZSBub2RlLlxuICAgIHZhciBvcmlnaW5hbFByZVN0YXRlID0gc3RhdGUucHJlO1xuICAgIGlmIChlbC5wcmUpIHtcbiAgICAgICAgc3RhdGUucHJlID0gZWwucHJlO1xuICAgIH1cbiAgICBzdGF0ZS5zdGF0aWNSZW5kZXJGbnMucHVzaChcIndpdGgodGhpcyl7cmV0dXJuIFwiLmNvbmNhdChnZW5FbGVtZW50KGVsLCBzdGF0ZSksIFwifVwiKSk7XG4gICAgc3RhdGUucHJlID0gb3JpZ2luYWxQcmVTdGF0ZTtcbiAgICByZXR1cm4gXCJfbShcIi5jb25jYXQoc3RhdGUuc3RhdGljUmVuZGVyRm5zLmxlbmd0aCAtIDEpLmNvbmNhdChlbC5zdGF0aWNJbkZvciA/ICcsdHJ1ZScgOiAnJywgXCIpXCIpO1xufVxuLy8gdi1vbmNlXG5mdW5jdGlvbiBnZW5PbmNlKGVsLCBzdGF0ZSkge1xuICAgIGVsLm9uY2VQcm9jZXNzZWQgPSB0cnVlO1xuICAgIGlmIChlbC5pZiAmJiAhZWwuaWZQcm9jZXNzZWQpIHtcbiAgICAgICAgcmV0dXJuIGdlbklmKGVsLCBzdGF0ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGVsLnN0YXRpY0luRm9yKSB7XG4gICAgICAgIHZhciBrZXkgPSAnJztcbiAgICAgICAgdmFyIHBhcmVudF8xID0gZWwucGFyZW50O1xuICAgICAgICB3aGlsZSAocGFyZW50XzEpIHtcbiAgICAgICAgICAgIGlmIChwYXJlbnRfMS5mb3IpIHtcbiAgICAgICAgICAgICAgICBrZXkgPSBwYXJlbnRfMS5rZXk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJlbnRfMSA9IHBhcmVudF8xLnBhcmVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWtleSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIHN0YXRlLndhcm4oXCJ2LW9uY2UgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgdi1mb3IgdGhhdCBpcyBrZXllZC4gXCIsIGVsLnJhd0F0dHJzTWFwWyd2LW9uY2UnXSk7XG4gICAgICAgICAgICByZXR1cm4gZ2VuRWxlbWVudChlbCwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBcIl9vKFwiLmNvbmNhdChnZW5FbGVtZW50KGVsLCBzdGF0ZSksIFwiLFwiKS5jb25jYXQoc3RhdGUub25jZUlkKyssIFwiLFwiKS5jb25jYXQoa2V5LCBcIilcIik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZ2VuU3RhdGljKGVsLCBzdGF0ZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2VuSWYoZWwsIHN0YXRlLCBhbHRHZW4sIGFsdEVtcHR5KSB7XG4gICAgZWwuaWZQcm9jZXNzZWQgPSB0cnVlOyAvLyBhdm9pZCByZWN1cnNpb25cbiAgICByZXR1cm4gZ2VuSWZDb25kaXRpb25zKGVsLmlmQ29uZGl0aW9ucy5zbGljZSgpLCBzdGF0ZSwgYWx0R2VuLCBhbHRFbXB0eSk7XG59XG5mdW5jdGlvbiBnZW5JZkNvbmRpdGlvbnMoY29uZGl0aW9ucywgc3RhdGUsIGFsdEdlbiwgYWx0RW1wdHkpIHtcbiAgICBpZiAoIWNvbmRpdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBhbHRFbXB0eSB8fCAnX2UoKSc7XG4gICAgfVxuICAgIHZhciBjb25kaXRpb24gPSBjb25kaXRpb25zLnNoaWZ0KCk7XG4gICAgaWYgKGNvbmRpdGlvbi5leHApIHtcbiAgICAgICAgcmV0dXJuIFwiKFwiLmNvbmNhdChjb25kaXRpb24uZXhwLCBcIik/XCIpLmNvbmNhdChnZW5UZXJuYXJ5RXhwKGNvbmRpdGlvbi5ibG9jayksIFwiOlwiKS5jb25jYXQoZ2VuSWZDb25kaXRpb25zKGNvbmRpdGlvbnMsIHN0YXRlLCBhbHRHZW4sIGFsdEVtcHR5KSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gXCJcIi5jb25jYXQoZ2VuVGVybmFyeUV4cChjb25kaXRpb24uYmxvY2spKTtcbiAgICB9XG4gICAgLy8gdi1pZiB3aXRoIHYtb25jZSBzaG91bGQgZ2VuZXJhdGUgY29kZSBsaWtlIChhKT9fbSgwKTpfbSgxKVxuICAgIGZ1bmN0aW9uIGdlblRlcm5hcnlFeHAoZWwpIHtcbiAgICAgICAgcmV0dXJuIGFsdEdlblxuICAgICAgICAgICAgPyBhbHRHZW4oZWwsIHN0YXRlKVxuICAgICAgICAgICAgOiBlbC5vbmNlXG4gICAgICAgICAgICAgICAgPyBnZW5PbmNlKGVsLCBzdGF0ZSlcbiAgICAgICAgICAgICAgICA6IGdlbkVsZW1lbnQoZWwsIHN0YXRlKTtcbiAgICB9XG59XG5mdW5jdGlvbiBnZW5Gb3IoZWwsIHN0YXRlLCBhbHRHZW4sIGFsdEhlbHBlcikge1xuICAgIHZhciBleHAgPSBlbC5mb3I7XG4gICAgdmFyIGFsaWFzID0gZWwuYWxpYXM7XG4gICAgdmFyIGl0ZXJhdG9yMSA9IGVsLml0ZXJhdG9yMSA/IFwiLFwiLmNvbmNhdChlbC5pdGVyYXRvcjEpIDogJyc7XG4gICAgdmFyIGl0ZXJhdG9yMiA9IGVsLml0ZXJhdG9yMiA/IFwiLFwiLmNvbmNhdChlbC5pdGVyYXRvcjIpIDogJyc7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgc3RhdGUubWF5YmVDb21wb25lbnQoZWwpICYmXG4gICAgICAgIGVsLnRhZyAhPT0gJ3Nsb3QnICYmXG4gICAgICAgIGVsLnRhZyAhPT0gJ3RlbXBsYXRlJyAmJlxuICAgICAgICAhZWwua2V5KSB7XG4gICAgICAgIHN0YXRlLndhcm4oXCI8XCIuY29uY2F0KGVsLnRhZywgXCIgdi1mb3I9XFxcIlwiKS5jb25jYXQoYWxpYXMsIFwiIGluIFwiKS5jb25jYXQoZXhwLCBcIlxcXCI+OiBjb21wb25lbnQgbGlzdHMgcmVuZGVyZWQgd2l0aCBcIikgK1xuICAgICAgICAgICAgXCJ2LWZvciBzaG91bGQgaGF2ZSBleHBsaWNpdCBrZXlzLiBcIiArXG4gICAgICAgICAgICBcIlNlZSBodHRwczovL3YyLnZ1ZWpzLm9yZy92Mi9ndWlkZS9saXN0Lmh0bWwja2V5IGZvciBtb3JlIGluZm8uXCIsIGVsLnJhd0F0dHJzTWFwWyd2LWZvciddLCB0cnVlIC8qIHRpcCAqLyk7XG4gICAgfVxuICAgIGVsLmZvclByb2Nlc3NlZCA9IHRydWU7IC8vIGF2b2lkIHJlY3Vyc2lvblxuICAgIHJldHVybiAoXCJcIi5jb25jYXQoYWx0SGVscGVyIHx8ICdfbCcsIFwiKChcIikuY29uY2F0KGV4cCwgXCIpLFwiKSArXG4gICAgICAgIFwiZnVuY3Rpb24oXCIuY29uY2F0KGFsaWFzKS5jb25jYXQoaXRlcmF0b3IxKS5jb25jYXQoaXRlcmF0b3IyLCBcIil7XCIpICtcbiAgICAgICAgXCJyZXR1cm4gXCIuY29uY2F0KChhbHRHZW4gfHwgZ2VuRWxlbWVudCkoZWwsIHN0YXRlKSkgK1xuICAgICAgICAnfSknKTtcbn1cbmZ1bmN0aW9uIGdlbkRhdGEoZWwsIHN0YXRlKSB7XG4gICAgdmFyIGRhdGEgPSAneyc7XG4gICAgLy8gZGlyZWN0aXZlcyBmaXJzdC5cbiAgICAvLyBkaXJlY3RpdmVzIG1heSBtdXRhdGUgdGhlIGVsJ3Mgb3RoZXIgcHJvcGVydGllcyBiZWZvcmUgdGhleSBhcmUgZ2VuZXJhdGVkLlxuICAgIHZhciBkaXJzID0gZ2VuRGlyZWN0aXZlcyhlbCwgc3RhdGUpO1xuICAgIGlmIChkaXJzKVxuICAgICAgICBkYXRhICs9IGRpcnMgKyAnLCc7XG4gICAgLy8ga2V5XG4gICAgaWYgKGVsLmtleSkge1xuICAgICAgICBkYXRhICs9IFwia2V5OlwiLmNvbmNhdChlbC5rZXksIFwiLFwiKTtcbiAgICB9XG4gICAgLy8gcmVmXG4gICAgaWYgKGVsLnJlZikge1xuICAgICAgICBkYXRhICs9IFwicmVmOlwiLmNvbmNhdChlbC5yZWYsIFwiLFwiKTtcbiAgICB9XG4gICAgaWYgKGVsLnJlZkluRm9yKSB7XG4gICAgICAgIGRhdGEgKz0gXCJyZWZJbkZvcjp0cnVlLFwiO1xuICAgIH1cbiAgICAvLyBwcmVcbiAgICBpZiAoZWwucHJlKSB7XG4gICAgICAgIGRhdGEgKz0gXCJwcmU6dHJ1ZSxcIjtcbiAgICB9XG4gICAgLy8gcmVjb3JkIG9yaWdpbmFsIHRhZyBuYW1lIGZvciBjb21wb25lbnRzIHVzaW5nIFwiaXNcIiBhdHRyaWJ1dGVcbiAgICBpZiAoZWwuY29tcG9uZW50KSB7XG4gICAgICAgIGRhdGEgKz0gXCJ0YWc6XFxcIlwiLmNvbmNhdChlbC50YWcsIFwiXFxcIixcIik7XG4gICAgfVxuICAgIC8vIG1vZHVsZSBkYXRhIGdlbmVyYXRpb24gZnVuY3Rpb25zXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS5kYXRhR2VuRm5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGRhdGEgKz0gc3RhdGUuZGF0YUdlbkZuc1tpXShlbCk7XG4gICAgfVxuICAgIC8vIGF0dHJpYnV0ZXNcbiAgICBpZiAoZWwuYXR0cnMpIHtcbiAgICAgICAgZGF0YSArPSBcImF0dHJzOlwiLmNvbmNhdChnZW5Qcm9wcyhlbC5hdHRycyksIFwiLFwiKTtcbiAgICB9XG4gICAgLy8gRE9NIHByb3BzXG4gICAgaWYgKGVsLnByb3BzKSB7XG4gICAgICAgIGRhdGEgKz0gXCJkb21Qcm9wczpcIi5jb25jYXQoZ2VuUHJvcHMoZWwucHJvcHMpLCBcIixcIik7XG4gICAgfVxuICAgIC8vIGV2ZW50IGhhbmRsZXJzXG4gICAgaWYgKGVsLmV2ZW50cykge1xuICAgICAgICBkYXRhICs9IFwiXCIuY29uY2F0KGdlbkhhbmRsZXJzKGVsLmV2ZW50cywgZmFsc2UpLCBcIixcIik7XG4gICAgfVxuICAgIGlmIChlbC5uYXRpdmVFdmVudHMpIHtcbiAgICAgICAgZGF0YSArPSBcIlwiLmNvbmNhdChnZW5IYW5kbGVycyhlbC5uYXRpdmVFdmVudHMsIHRydWUpLCBcIixcIik7XG4gICAgfVxuICAgIC8vIHNsb3QgdGFyZ2V0XG4gICAgLy8gb25seSBmb3Igbm9uLXNjb3BlZCBzbG90c1xuICAgIGlmIChlbC5zbG90VGFyZ2V0ICYmICFlbC5zbG90U2NvcGUpIHtcbiAgICAgICAgZGF0YSArPSBcInNsb3Q6XCIuY29uY2F0KGVsLnNsb3RUYXJnZXQsIFwiLFwiKTtcbiAgICB9XG4gICAgLy8gc2NvcGVkIHNsb3RzXG4gICAgaWYgKGVsLnNjb3BlZFNsb3RzKSB7XG4gICAgICAgIGRhdGEgKz0gXCJcIi5jb25jYXQoZ2VuU2NvcGVkU2xvdHMoZWwsIGVsLnNjb3BlZFNsb3RzLCBzdGF0ZSksIFwiLFwiKTtcbiAgICB9XG4gICAgLy8gY29tcG9uZW50IHYtbW9kZWxcbiAgICBpZiAoZWwubW9kZWwpIHtcbiAgICAgICAgZGF0YSArPSBcIm1vZGVsOnt2YWx1ZTpcIi5jb25jYXQoZWwubW9kZWwudmFsdWUsIFwiLGNhbGxiYWNrOlwiKS5jb25jYXQoZWwubW9kZWwuY2FsbGJhY2ssIFwiLGV4cHJlc3Npb246XCIpLmNvbmNhdChlbC5tb2RlbC5leHByZXNzaW9uLCBcIn0sXCIpO1xuICAgIH1cbiAgICAvLyBpbmxpbmUtdGVtcGxhdGVcbiAgICBpZiAoZWwuaW5saW5lVGVtcGxhdGUpIHtcbiAgICAgICAgdmFyIGlubGluZVRlbXBsYXRlID0gZ2VuSW5saW5lVGVtcGxhdGUoZWwsIHN0YXRlKTtcbiAgICAgICAgaWYgKGlubGluZVRlbXBsYXRlKSB7XG4gICAgICAgICAgICBkYXRhICs9IFwiXCIuY29uY2F0KGlubGluZVRlbXBsYXRlLCBcIixcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGF0YSA9IGRhdGEucmVwbGFjZSgvLCQvLCAnJykgKyAnfSc7XG4gICAgLy8gdi1iaW5kIGR5bmFtaWMgYXJndW1lbnQgd3JhcFxuICAgIC8vIHYtYmluZCB3aXRoIGR5bmFtaWMgYXJndW1lbnRzIG11c3QgYmUgYXBwbGllZCB1c2luZyB0aGUgc2FtZSB2LWJpbmQgb2JqZWN0XG4gICAgLy8gbWVyZ2UgaGVscGVyIHNvIHRoYXQgY2xhc3Mvc3R5bGUvbXVzdFVzZVByb3AgYXR0cnMgYXJlIGhhbmRsZWQgY29ycmVjdGx5LlxuICAgIGlmIChlbC5keW5hbWljQXR0cnMpIHtcbiAgICAgICAgZGF0YSA9IFwiX2IoXCIuY29uY2F0KGRhdGEsIFwiLFxcXCJcIikuY29uY2F0KGVsLnRhZywgXCJcXFwiLFwiKS5jb25jYXQoZ2VuUHJvcHMoZWwuZHluYW1pY0F0dHJzKSwgXCIpXCIpO1xuICAgIH1cbiAgICAvLyB2LWJpbmQgZGF0YSB3cmFwXG4gICAgaWYgKGVsLndyYXBEYXRhKSB7XG4gICAgICAgIGRhdGEgPSBlbC53cmFwRGF0YShkYXRhKTtcbiAgICB9XG4gICAgLy8gdi1vbiBkYXRhIHdyYXBcbiAgICBpZiAoZWwud3JhcExpc3RlbmVycykge1xuICAgICAgICBkYXRhID0gZWwud3JhcExpc3RlbmVycyhkYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG5mdW5jdGlvbiBnZW5EaXJlY3RpdmVzKGVsLCBzdGF0ZSkge1xuICAgIHZhciBkaXJzID0gZWwuZGlyZWN0aXZlcztcbiAgICBpZiAoIWRpcnMpXG4gICAgICAgIHJldHVybjtcbiAgICB2YXIgcmVzID0gJ2RpcmVjdGl2ZXM6Wyc7XG4gICAgdmFyIGhhc1J1bnRpbWUgPSBmYWxzZTtcbiAgICB2YXIgaSwgbCwgZGlyLCBuZWVkUnVudGltZTtcbiAgICBmb3IgKGkgPSAwLCBsID0gZGlycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgZGlyID0gZGlyc1tpXTtcbiAgICAgICAgbmVlZFJ1bnRpbWUgPSB0cnVlO1xuICAgICAgICB2YXIgZ2VuID0gc3RhdGUuZGlyZWN0aXZlc1tkaXIubmFtZV07XG4gICAgICAgIGlmIChnZW4pIHtcbiAgICAgICAgICAgIC8vIGNvbXBpbGUtdGltZSBkaXJlY3RpdmUgdGhhdCBtYW5pcHVsYXRlcyBBU1QuXG4gICAgICAgICAgICAvLyByZXR1cm5zIHRydWUgaWYgaXQgYWxzbyBuZWVkcyBhIHJ1bnRpbWUgY291bnRlcnBhcnQuXG4gICAgICAgICAgICBuZWVkUnVudGltZSA9ICEhZ2VuKGVsLCBkaXIsIHN0YXRlLndhcm4pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZWVkUnVudGltZSkge1xuICAgICAgICAgICAgaGFzUnVudGltZSA9IHRydWU7XG4gICAgICAgICAgICByZXMgKz0gXCJ7bmFtZTpcXFwiXCIuY29uY2F0KGRpci5uYW1lLCBcIlxcXCIscmF3TmFtZTpcXFwiXCIpLmNvbmNhdChkaXIucmF3TmFtZSwgXCJcXFwiXCIpLmNvbmNhdChkaXIudmFsdWVcbiAgICAgICAgICAgICAgICA/IFwiLHZhbHVlOihcIi5jb25jYXQoZGlyLnZhbHVlLCBcIiksZXhwcmVzc2lvbjpcIikuY29uY2F0KEpTT04uc3RyaW5naWZ5KGRpci52YWx1ZSkpXG4gICAgICAgICAgICAgICAgOiAnJykuY29uY2F0KGRpci5hcmcgPyBcIixhcmc6XCIuY29uY2F0KGRpci5pc0R5bmFtaWNBcmcgPyBkaXIuYXJnIDogXCJcXFwiXCIuY29uY2F0KGRpci5hcmcsIFwiXFxcIlwiKSkgOiAnJykuY29uY2F0KGRpci5tb2RpZmllcnMgPyBcIixtb2RpZmllcnM6XCIuY29uY2F0KEpTT04uc3RyaW5naWZ5KGRpci5tb2RpZmllcnMpKSA6ICcnLCBcIn0sXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChoYXNSdW50aW1lKSB7XG4gICAgICAgIHJldHVybiByZXMuc2xpY2UoMCwgLTEpICsgJ10nO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdlbklubGluZVRlbXBsYXRlKGVsLCBzdGF0ZSkge1xuICAgIHZhciBhc3QgPSBlbC5jaGlsZHJlblswXTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAoZWwuY2hpbGRyZW4ubGVuZ3RoICE9PSAxIHx8IGFzdC50eXBlICE9PSAxKSkge1xuICAgICAgICBzdGF0ZS53YXJuKCdJbmxpbmUtdGVtcGxhdGUgY29tcG9uZW50cyBtdXN0IGhhdmUgZXhhY3RseSBvbmUgY2hpbGQgZWxlbWVudC4nLCB7IHN0YXJ0OiBlbC5zdGFydCB9KTtcbiAgICB9XG4gICAgaWYgKGFzdCAmJiBhc3QudHlwZSA9PT0gMSkge1xuICAgICAgICB2YXIgaW5saW5lUmVuZGVyRm5zID0gZ2VuZXJhdGUoYXN0LCBzdGF0ZS5vcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIFwiaW5saW5lVGVtcGxhdGU6e3JlbmRlcjpmdW5jdGlvbigpe1wiLmNvbmNhdChpbmxpbmVSZW5kZXJGbnMucmVuZGVyLCBcIn0sc3RhdGljUmVuZGVyRm5zOltcIikuY29uY2F0KGlubGluZVJlbmRlckZucy5zdGF0aWNSZW5kZXJGbnNcbiAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKGNvZGUpIHsgcmV0dXJuIFwiZnVuY3Rpb24oKXtcIi5jb25jYXQoY29kZSwgXCJ9XCIpOyB9KVxuICAgICAgICAgICAgLmpvaW4oJywnKSwgXCJdfVwiKTtcbiAgICB9XG59XG5mdW5jdGlvbiBnZW5TY29wZWRTbG90cyhlbCwgc2xvdHMsIHN0YXRlKSB7XG4gICAgLy8gYnkgZGVmYXVsdCBzY29wZWQgc2xvdHMgYXJlIGNvbnNpZGVyZWQgXCJzdGFibGVcIiwgdGhpcyBhbGxvd3MgY2hpbGRcbiAgICAvLyBjb21wb25lbnRzIHdpdGggb25seSBzY29wZWQgc2xvdHMgdG8gc2tpcCBmb3JjZWQgdXBkYXRlcyBmcm9tIHBhcmVudC5cbiAgICAvLyBidXQgaW4gc29tZSBjYXNlcyB3ZSBoYXZlIHRvIGJhaWwtb3V0IG9mIHRoaXMgb3B0aW1pemF0aW9uXG4gICAgLy8gZm9yIGV4YW1wbGUgaWYgdGhlIHNsb3QgY29udGFpbnMgZHluYW1pYyBuYW1lcywgaGFzIHYtaWYgb3Igdi1mb3Igb24gdGhlbS4uLlxuICAgIHZhciBuZWVkc0ZvcmNlVXBkYXRlID0gZWwuZm9yIHx8XG4gICAgICAgIE9iamVjdC5rZXlzKHNsb3RzKS5zb21lKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgIHZhciBzbG90ID0gc2xvdHNba2V5XTtcbiAgICAgICAgICAgIHJldHVybiAoc2xvdC5zbG90VGFyZ2V0RHluYW1pYyB8fCBzbG90LmlmIHx8IHNsb3QuZm9yIHx8IGNvbnRhaW5zU2xvdENoaWxkKHNsb3QpIC8vIGlzIHBhc3NpbmcgZG93biBzbG90IGZyb20gcGFyZW50IHdoaWNoIG1heSBiZSBkeW5hbWljXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAvLyAjOTUzNDogaWYgYSBjb21wb25lbnQgd2l0aCBzY29wZWQgc2xvdHMgaXMgaW5zaWRlIGEgY29uZGl0aW9uYWwgYnJhbmNoLFxuICAgIC8vIGl0J3MgcG9zc2libGUgZm9yIHRoZSBzYW1lIGNvbXBvbmVudCB0byBiZSByZXVzZWQgYnV0IHdpdGggZGlmZmVyZW50XG4gICAgLy8gY29tcGlsZWQgc2xvdCBjb250ZW50LiBUbyBhdm9pZCB0aGF0LCB3ZSBnZW5lcmF0ZSBhIHVuaXF1ZSBrZXkgYmFzZWQgb25cbiAgICAvLyB0aGUgZ2VuZXJhdGVkIGNvZGUgb2YgYWxsIHRoZSBzbG90IGNvbnRlbnRzLlxuICAgIHZhciBuZWVkc0tleSA9ICEhZWwuaWY7XG4gICAgLy8gT1Igd2hlbiBpdCBpcyBpbnNpZGUgYW5vdGhlciBzY29wZWQgc2xvdCBvciB2LWZvciAodGhlIHJlYWN0aXZpdHkgbWF5IGJlXG4gICAgLy8gZGlzY29ubmVjdGVkIGR1ZSB0byB0aGUgaW50ZXJtZWRpYXRlIHNjb3BlIHZhcmlhYmxlKVxuICAgIC8vICM5NDM4LCAjOTUwNlxuICAgIC8vIFRPRE86IHRoaXMgY2FuIGJlIGZ1cnRoZXIgb3B0aW1pemVkIGJ5IHByb3Blcmx5IGFuYWx5emluZyBpbi1zY29wZSBiaW5kaW5nc1xuICAgIC8vIGFuZCBza2lwIGZvcmNlIHVwZGF0aW5nIG9uZXMgdGhhdCBkbyBub3QgYWN0dWFsbHkgdXNlIHNjb3BlIHZhcmlhYmxlcy5cbiAgICBpZiAoIW5lZWRzRm9yY2VVcGRhdGUpIHtcbiAgICAgICAgdmFyIHBhcmVudF8yID0gZWwucGFyZW50O1xuICAgICAgICB3aGlsZSAocGFyZW50XzIpIHtcbiAgICAgICAgICAgIGlmICgocGFyZW50XzIuc2xvdFNjb3BlICYmIHBhcmVudF8yLnNsb3RTY29wZSAhPT0gZW1wdHlTbG90U2NvcGVUb2tlbikgfHxcbiAgICAgICAgICAgICAgICBwYXJlbnRfMi5mb3IpIHtcbiAgICAgICAgICAgICAgICBuZWVkc0ZvcmNlVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwYXJlbnRfMi5pZikge1xuICAgICAgICAgICAgICAgIG5lZWRzS2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcmVudF8yID0gcGFyZW50XzIucGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBnZW5lcmF0ZWRTbG90cyA9IE9iamVjdC5rZXlzKHNsb3RzKVxuICAgICAgICAubWFwKGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuIGdlblNjb3BlZFNsb3Qoc2xvdHNba2V5XSwgc3RhdGUpOyB9KVxuICAgICAgICAuam9pbignLCcpO1xuICAgIHJldHVybiBcInNjb3BlZFNsb3RzOl91KFtcIi5jb25jYXQoZ2VuZXJhdGVkU2xvdHMsIFwiXVwiKS5jb25jYXQobmVlZHNGb3JjZVVwZGF0ZSA/IFwiLG51bGwsdHJ1ZVwiIDogXCJcIikuY29uY2F0KCFuZWVkc0ZvcmNlVXBkYXRlICYmIG5lZWRzS2V5ID8gXCIsbnVsbCxmYWxzZSxcIi5jb25jYXQoaGFzaChnZW5lcmF0ZWRTbG90cykpIDogXCJcIiwgXCIpXCIpO1xufVxuZnVuY3Rpb24gaGFzaChzdHIpIHtcbiAgICB2YXIgaGFzaCA9IDUzODE7XG4gICAgdmFyIGkgPSBzdHIubGVuZ3RoO1xuICAgIHdoaWxlIChpKSB7XG4gICAgICAgIGhhc2ggPSAoaGFzaCAqIDMzKSBeIHN0ci5jaGFyQ29kZUF0KC0taSk7XG4gICAgfVxuICAgIHJldHVybiBoYXNoID4+PiAwO1xufVxuZnVuY3Rpb24gY29udGFpbnNTbG90Q2hpbGQoZWwpIHtcbiAgICBpZiAoZWwudHlwZSA9PT0gMSkge1xuICAgICAgICBpZiAoZWwudGFnID09PSAnc2xvdCcpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbC5jaGlsZHJlbi5zb21lKGNvbnRhaW5zU2xvdENoaWxkKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZ2VuU2NvcGVkU2xvdChlbCwgc3RhdGUpIHtcbiAgICB2YXIgaXNMZWdhY3lTeW50YXggPSBlbC5hdHRyc01hcFsnc2xvdC1zY29wZSddO1xuICAgIGlmIChlbC5pZiAmJiAhZWwuaWZQcm9jZXNzZWQgJiYgIWlzTGVnYWN5U3ludGF4KSB7XG4gICAgICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUsIGdlblNjb3BlZFNsb3QsIFwibnVsbFwiKTtcbiAgICB9XG4gICAgaWYgKGVsLmZvciAmJiAhZWwuZm9yUHJvY2Vzc2VkKSB7XG4gICAgICAgIHJldHVybiBnZW5Gb3IoZWwsIHN0YXRlLCBnZW5TY29wZWRTbG90KTtcbiAgICB9XG4gICAgdmFyIHNsb3RTY29wZSA9IGVsLnNsb3RTY29wZSA9PT0gZW1wdHlTbG90U2NvcGVUb2tlbiA/IFwiXCIgOiBTdHJpbmcoZWwuc2xvdFNjb3BlKTtcbiAgICB2YXIgZm4gPSBcImZ1bmN0aW9uKFwiLmNvbmNhdChzbG90U2NvcGUsIFwiKXtcIikgK1xuICAgICAgICBcInJldHVybiBcIi5jb25jYXQoZWwudGFnID09PSAndGVtcGxhdGUnXG4gICAgICAgICAgICA/IGVsLmlmICYmIGlzTGVnYWN5U3ludGF4XG4gICAgICAgICAgICAgICAgPyBcIihcIi5jb25jYXQoZWwuaWYsIFwiKT9cIikuY29uY2F0KGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSkgfHwgJ3VuZGVmaW5lZCcsIFwiOnVuZGVmaW5lZFwiKVxuICAgICAgICAgICAgICAgIDogZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKSB8fCAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgOiBnZW5FbGVtZW50KGVsLCBzdGF0ZSksIFwifVwiKTtcbiAgICAvLyByZXZlcnNlIHByb3h5IHYtc2xvdCB3aXRob3V0IHNjb3BlIG9uIHRoaXMuJHNsb3RzXG4gICAgdmFyIHJldmVyc2VQcm94eSA9IHNsb3RTY29wZSA/IFwiXCIgOiBcIixwcm94eTp0cnVlXCI7XG4gICAgcmV0dXJuIFwie2tleTpcIi5jb25jYXQoZWwuc2xvdFRhcmdldCB8fCBcIlxcXCJkZWZhdWx0XFxcIlwiLCBcIixmbjpcIikuY29uY2F0KGZuKS5jb25jYXQocmV2ZXJzZVByb3h5LCBcIn1cIik7XG59XG5mdW5jdGlvbiBnZW5DaGlsZHJlbihlbCwgc3RhdGUsIGNoZWNrU2tpcCwgYWx0R2VuRWxlbWVudCwgYWx0R2VuTm9kZSkge1xuICAgIHZhciBjaGlsZHJlbiA9IGVsLmNoaWxkcmVuO1xuICAgIGlmIChjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgdmFyIGVsXzEgPSBjaGlsZHJlblswXTtcbiAgICAgICAgLy8gb3B0aW1pemUgc2luZ2xlIHYtZm9yXG4gICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgIGVsXzEuZm9yICYmXG4gICAgICAgICAgICBlbF8xLnRhZyAhPT0gJ3RlbXBsYXRlJyAmJlxuICAgICAgICAgICAgZWxfMS50YWcgIT09ICdzbG90Jykge1xuICAgICAgICAgICAgdmFyIG5vcm1hbGl6YXRpb25UeXBlXzEgPSBjaGVja1NraXBcbiAgICAgICAgICAgICAgICA/IHN0YXRlLm1heWJlQ29tcG9uZW50KGVsXzEpXG4gICAgICAgICAgICAgICAgICAgID8gXCIsMVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCIsMFwiXG4gICAgICAgICAgICAgICAgOiBcIlwiO1xuICAgICAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KChhbHRHZW5FbGVtZW50IHx8IGdlbkVsZW1lbnQpKGVsXzEsIHN0YXRlKSkuY29uY2F0KG5vcm1hbGl6YXRpb25UeXBlXzEpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBub3JtYWxpemF0aW9uVHlwZSA9IGNoZWNrU2tpcFxuICAgICAgICAgICAgPyBnZXROb3JtYWxpemF0aW9uVHlwZShjaGlsZHJlbiwgc3RhdGUubWF5YmVDb21wb25lbnQpXG4gICAgICAgICAgICA6IDA7XG4gICAgICAgIHZhciBnZW5fMSA9IGFsdEdlbk5vZGUgfHwgZ2VuTm9kZTtcbiAgICAgICAgcmV0dXJuIFwiW1wiLmNvbmNhdChjaGlsZHJlbi5tYXAoZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGdlbl8xKGMsIHN0YXRlKTsgfSkuam9pbignLCcpLCBcIl1cIikuY29uY2F0KG5vcm1hbGl6YXRpb25UeXBlID8gXCIsXCIuY29uY2F0KG5vcm1hbGl6YXRpb25UeXBlKSA6ICcnKTtcbiAgICB9XG59XG4vLyBkZXRlcm1pbmUgdGhlIG5vcm1hbGl6YXRpb24gbmVlZGVkIGZvciB0aGUgY2hpbGRyZW4gYXJyYXkuXG4vLyAwOiBubyBub3JtYWxpemF0aW9uIG5lZWRlZFxuLy8gMTogc2ltcGxlIG5vcm1hbGl6YXRpb24gbmVlZGVkIChwb3NzaWJsZSAxLWxldmVsIGRlZXAgbmVzdGVkIGFycmF5KVxuLy8gMjogZnVsbCBub3JtYWxpemF0aW9uIG5lZWRlZFxuZnVuY3Rpb24gZ2V0Tm9ybWFsaXphdGlvblR5cGUoY2hpbGRyZW4sIG1heWJlQ29tcG9uZW50KSB7XG4gICAgdmFyIHJlcyA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgZWwgPSBjaGlsZHJlbltpXTtcbiAgICAgICAgaWYgKGVsLnR5cGUgIT09IDEpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZWVkc05vcm1hbGl6YXRpb24oZWwpIHx8XG4gICAgICAgICAgICAoZWwuaWZDb25kaXRpb25zICYmXG4gICAgICAgICAgICAgICAgZWwuaWZDb25kaXRpb25zLnNvbWUoZnVuY3Rpb24gKGMpIHsgcmV0dXJuIG5lZWRzTm9ybWFsaXphdGlvbihjLmJsb2NrKTsgfSkpKSB7XG4gICAgICAgICAgICByZXMgPSAyO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1heWJlQ29tcG9uZW50KGVsKSB8fFxuICAgICAgICAgICAgKGVsLmlmQ29uZGl0aW9ucyAmJiBlbC5pZkNvbmRpdGlvbnMuc29tZShmdW5jdGlvbiAoYykgeyByZXR1cm4gbWF5YmVDb21wb25lbnQoYy5ibG9jayk7IH0pKSkge1xuICAgICAgICAgICAgcmVzID0gMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuZnVuY3Rpb24gbmVlZHNOb3JtYWxpemF0aW9uKGVsKSB7XG4gICAgcmV0dXJuIGVsLmZvciAhPT0gdW5kZWZpbmVkIHx8IGVsLnRhZyA9PT0gJ3RlbXBsYXRlJyB8fCBlbC50YWcgPT09ICdzbG90Jztcbn1cbmZ1bmN0aW9uIGdlbk5vZGUobm9kZSwgc3RhdGUpIHtcbiAgICBpZiAobm9kZS50eXBlID09PSAxKSB7XG4gICAgICAgIHJldHVybiBnZW5FbGVtZW50KG5vZGUsIHN0YXRlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAobm9kZS50eXBlID09PSAzICYmIG5vZGUuaXNDb21tZW50KSB7XG4gICAgICAgIHJldHVybiBnZW5Db21tZW50KG5vZGUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGdlblRleHQobm9kZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2VuVGV4dCh0ZXh0KSB7XG4gICAgcmV0dXJuIFwiX3YoXCIuY29uY2F0KHRleHQudHlwZSA9PT0gMlxuICAgICAgICA/IHRleHQuZXhwcmVzc2lvbiAvLyBubyBuZWVkIGZvciAoKSBiZWNhdXNlIGFscmVhZHkgd3JhcHBlZCBpbiBfcygpXG4gICAgICAgIDogdHJhbnNmb3JtU3BlY2lhbE5ld2xpbmVzKEpTT04uc3RyaW5naWZ5KHRleHQudGV4dCkpLCBcIilcIik7XG59XG5mdW5jdGlvbiBnZW5Db21tZW50KGNvbW1lbnQpIHtcbiAgICByZXR1cm4gXCJfZShcIi5jb25jYXQoSlNPTi5zdHJpbmdpZnkoY29tbWVudC50ZXh0KSwgXCIpXCIpO1xufVxuZnVuY3Rpb24gZ2VuU2xvdChlbCwgc3RhdGUpIHtcbiAgICB2YXIgc2xvdE5hbWUgPSBlbC5zbG90TmFtZSB8fCAnXCJkZWZhdWx0XCInO1xuICAgIHZhciBjaGlsZHJlbiA9IGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSk7XG4gICAgdmFyIHJlcyA9IFwiX3QoXCIuY29uY2F0KHNsb3ROYW1lKS5jb25jYXQoY2hpbGRyZW4gPyBcIixmdW5jdGlvbigpe3JldHVybiBcIi5jb25jYXQoY2hpbGRyZW4sIFwifVwiKSA6ICcnKTtcbiAgICB2YXIgYXR0cnMgPSBlbC5hdHRycyB8fCBlbC5keW5hbWljQXR0cnNcbiAgICAgICAgPyBnZW5Qcm9wcygoZWwuYXR0cnMgfHwgW10pLmNvbmNhdChlbC5keW5hbWljQXR0cnMgfHwgW10pLm1hcChmdW5jdGlvbiAoYXR0cikgeyByZXR1cm4gKHtcbiAgICAgICAgICAgIC8vIHNsb3QgcHJvcHMgYXJlIGNhbWVsaXplZFxuICAgICAgICAgICAgbmFtZTogY2FtZWxpemUoYXR0ci5uYW1lKSxcbiAgICAgICAgICAgIHZhbHVlOiBhdHRyLnZhbHVlLFxuICAgICAgICAgICAgZHluYW1pYzogYXR0ci5keW5hbWljXG4gICAgICAgIH0pOyB9KSlcbiAgICAgICAgOiBudWxsO1xuICAgIHZhciBiaW5kID0gZWwuYXR0cnNNYXBbJ3YtYmluZCddO1xuICAgIGlmICgoYXR0cnMgfHwgYmluZCkgJiYgIWNoaWxkcmVuKSB7XG4gICAgICAgIHJlcyArPSBcIixudWxsXCI7XG4gICAgfVxuICAgIGlmIChhdHRycykge1xuICAgICAgICByZXMgKz0gXCIsXCIuY29uY2F0KGF0dHJzKTtcbiAgICB9XG4gICAgaWYgKGJpbmQpIHtcbiAgICAgICAgcmVzICs9IFwiXCIuY29uY2F0KGF0dHJzID8gJycgOiAnLG51bGwnLCBcIixcIikuY29uY2F0KGJpbmQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzICsgJyknO1xufVxuLy8gY29tcG9uZW50TmFtZSBpcyBlbC5jb21wb25lbnQsIHRha2UgaXQgYXMgYXJndW1lbnQgdG8gc2h1biBmbG93J3MgcGVzc2ltaXN0aWMgcmVmaW5lbWVudFxuZnVuY3Rpb24gZ2VuQ29tcG9uZW50KGNvbXBvbmVudE5hbWUsIGVsLCBzdGF0ZSkge1xuICAgIHZhciBjaGlsZHJlbiA9IGVsLmlubGluZVRlbXBsYXRlID8gbnVsbCA6IGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSwgdHJ1ZSk7XG4gICAgcmV0dXJuIFwiX2MoXCIuY29uY2F0KGNvbXBvbmVudE5hbWUsIFwiLFwiKS5jb25jYXQoZ2VuRGF0YShlbCwgc3RhdGUpKS5jb25jYXQoY2hpbGRyZW4gPyBcIixcIi5jb25jYXQoY2hpbGRyZW4pIDogJycsIFwiKVwiKTtcbn1cbmZ1bmN0aW9uIGdlblByb3BzKHByb3BzKSB7XG4gICAgdmFyIHN0YXRpY1Byb3BzID0gXCJcIjtcbiAgICB2YXIgZHluYW1pY1Byb3BzID0gXCJcIjtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBwcm9wID0gcHJvcHNbaV07XG4gICAgICAgIHZhciB2YWx1ZSA9IHRyYW5zZm9ybVNwZWNpYWxOZXdsaW5lcyhwcm9wLnZhbHVlKTtcbiAgICAgICAgaWYgKHByb3AuZHluYW1pYykge1xuICAgICAgICAgICAgZHluYW1pY1Byb3BzICs9IFwiXCIuY29uY2F0KHByb3AubmFtZSwgXCIsXCIpLmNvbmNhdCh2YWx1ZSwgXCIsXCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc3RhdGljUHJvcHMgKz0gXCJcXFwiXCIuY29uY2F0KHByb3AubmFtZSwgXCJcXFwiOlwiKS5jb25jYXQodmFsdWUsIFwiLFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGF0aWNQcm9wcyA9IFwie1wiLmNvbmNhdChzdGF0aWNQcm9wcy5zbGljZSgwLCAtMSksIFwifVwiKTtcbiAgICBpZiAoZHluYW1pY1Byb3BzKSB7XG4gICAgICAgIHJldHVybiBcIl9kKFwiLmNvbmNhdChzdGF0aWNQcm9wcywgXCIsW1wiKS5jb25jYXQoZHluYW1pY1Byb3BzLnNsaWNlKDAsIC0xKSwgXCJdKVwiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBzdGF0aWNQcm9wcztcbiAgICB9XG59XG4vLyAjMzg5NSwgIzQyNjhcbmZ1bmN0aW9uIHRyYW5zZm9ybVNwZWNpYWxOZXdsaW5lcyh0ZXh0KSB7XG4gICAgcmV0dXJuIHRleHQucmVwbGFjZSgvXFx1MjAyOC9nLCAnXFxcXHUyMDI4JykucmVwbGFjZSgvXFx1MjAyOS9nLCAnXFxcXHUyMDI5Jyk7XG59XG5cbi8vIHRoZXNlIGtleXdvcmRzIHNob3VsZCBub3QgYXBwZWFyIGluc2lkZSBleHByZXNzaW9ucywgYnV0IG9wZXJhdG9ycyBsaWtlXG4vLyB0eXBlb2YsIGluc3RhbmNlb2YgYW5kIGluIGFyZSBhbGxvd2VkXG52YXIgcHJvaGliaXRlZEtleXdvcmRSRSA9IG5ldyBSZWdFeHAoJ1xcXFxiJyArXG4gICAgKCdkbyxpZixmb3IsbGV0LG5ldyx0cnksdmFyLGNhc2UsZWxzZSx3aXRoLGF3YWl0LGJyZWFrLGNhdGNoLGNsYXNzLGNvbnN0LCcgK1xuICAgICAgICAnc3VwZXIsdGhyb3csd2hpbGUseWllbGQsZGVsZXRlLGV4cG9ydCxpbXBvcnQscmV0dXJuLHN3aXRjaCxkZWZhdWx0LCcgK1xuICAgICAgICAnZXh0ZW5kcyxmaW5hbGx5LGNvbnRpbnVlLGRlYnVnZ2VyLGZ1bmN0aW9uLGFyZ3VtZW50cycpXG4gICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIC5qb2luKCdcXFxcYnxcXFxcYicpICtcbiAgICAnXFxcXGInKTtcbi8vIHRoZXNlIHVuYXJ5IG9wZXJhdG9ycyBzaG91bGQgbm90IGJlIHVzZWQgYXMgcHJvcGVydHkvbWV0aG9kIG5hbWVzXG52YXIgdW5hcnlPcGVyYXRvcnNSRSA9IG5ldyBSZWdFeHAoJ1xcXFxiJyArXG4gICAgJ2RlbGV0ZSx0eXBlb2Ysdm9pZCcuc3BsaXQoJywnKS5qb2luKCdcXFxccypcXFxcKFteXFxcXCldKlxcXFwpfFxcXFxiJykgK1xuICAgICdcXFxccypcXFxcKFteXFxcXCldKlxcXFwpJyk7XG4vLyBzdHJpcCBzdHJpbmdzIGluIGV4cHJlc3Npb25zXG52YXIgc3RyaXBTdHJpbmdSRSA9IC8nKD86W14nXFxcXF18XFxcXC4pKid8XCIoPzpbXlwiXFxcXF18XFxcXC4pKlwifGAoPzpbXmBcXFxcXXxcXFxcLikqXFwkXFx7fFxcfSg/OlteYFxcXFxdfFxcXFwuKSpgfGAoPzpbXmBcXFxcXXxcXFxcLikqYC9nO1xuLy8gZGV0ZWN0IHByb2JsZW1hdGljIGV4cHJlc3Npb25zIGluIGEgdGVtcGxhdGVcbmZ1bmN0aW9uIGRldGVjdEVycm9ycyhhc3QsIHdhcm4pIHtcbiAgICBpZiAoYXN0KSB7XG4gICAgICAgIGNoZWNrTm9kZShhc3QsIHdhcm4pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGNoZWNrTm9kZShub2RlLCB3YXJuKSB7XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgICAgICBmb3IgKHZhciBuYW1lXzEgaW4gbm9kZS5hdHRyc01hcCkge1xuICAgICAgICAgICAgaWYgKGRpclJFLnRlc3QobmFtZV8xKSkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IG5vZGUuYXR0cnNNYXBbbmFtZV8xXTtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmdlID0gbm9kZS5yYXdBdHRyc01hcFtuYW1lXzFdO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmFtZV8xID09PSAndi1mb3InKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja0Zvcihub2RlLCBcInYtZm9yPVxcXCJcIi5jb25jYXQodmFsdWUsIFwiXFxcIlwiKSwgd2FybiwgcmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG5hbWVfMSA9PT0gJ3Ytc2xvdCcgfHwgbmFtZV8xWzBdID09PSAnIycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrRnVuY3Rpb25QYXJhbWV0ZXJFeHByZXNzaW9uKHZhbHVlLCBcIlwiLmNvbmNhdChuYW1lXzEsIFwiPVxcXCJcIikuY29uY2F0KHZhbHVlLCBcIlxcXCJcIiksIHdhcm4sIHJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvblJFLnRlc3QobmFtZV8xKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tFdmVudCh2YWx1ZSwgXCJcIi5jb25jYXQobmFtZV8xLCBcIj1cXFwiXCIpLmNvbmNhdCh2YWx1ZSwgXCJcXFwiXCIpLCB3YXJuLCByYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja0V4cHJlc3Npb24odmFsdWUsIFwiXCIuY29uY2F0KG5hbWVfMSwgXCI9XFxcIlwiKS5jb25jYXQodmFsdWUsIFwiXFxcIlwiKSwgd2FybiwgcmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjaGVja05vZGUobm9kZS5jaGlsZHJlbltpXSwgd2Fybik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAobm9kZS50eXBlID09PSAyKSB7XG4gICAgICAgIGNoZWNrRXhwcmVzc2lvbihub2RlLmV4cHJlc3Npb24sIG5vZGUudGV4dCwgd2Fybiwgbm9kZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gY2hlY2tFdmVudChleHAsIHRleHQsIHdhcm4sIHJhbmdlKSB7XG4gICAgdmFyIHN0cmlwcGVkID0gZXhwLnJlcGxhY2Uoc3RyaXBTdHJpbmdSRSwgJycpO1xuICAgIHZhciBrZXl3b3JkTWF0Y2ggPSBzdHJpcHBlZC5tYXRjaCh1bmFyeU9wZXJhdG9yc1JFKTtcbiAgICBpZiAoa2V5d29yZE1hdGNoICYmIHN0cmlwcGVkLmNoYXJBdChrZXl3b3JkTWF0Y2guaW5kZXggLSAxKSAhPT0gJyQnKSB7XG4gICAgICAgIHdhcm4oXCJhdm9pZCB1c2luZyBKYXZhU2NyaXB0IHVuYXJ5IG9wZXJhdG9yIGFzIHByb3BlcnR5IG5hbWU6IFwiICtcbiAgICAgICAgICAgIFwiXFxcIlwiLmNvbmNhdChrZXl3b3JkTWF0Y2hbMF0sIFwiXFxcIiBpbiBleHByZXNzaW9uIFwiKS5jb25jYXQodGV4dC50cmltKCkpLCByYW5nZSk7XG4gICAgfVxuICAgIGNoZWNrRXhwcmVzc2lvbihleHAsIHRleHQsIHdhcm4sIHJhbmdlKTtcbn1cbmZ1bmN0aW9uIGNoZWNrRm9yKG5vZGUsIHRleHQsIHdhcm4sIHJhbmdlKSB7XG4gICAgY2hlY2tFeHByZXNzaW9uKG5vZGUuZm9yIHx8ICcnLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG4gICAgY2hlY2tJZGVudGlmaWVyKG5vZGUuYWxpYXMsICd2LWZvciBhbGlhcycsIHRleHQsIHdhcm4sIHJhbmdlKTtcbiAgICBjaGVja0lkZW50aWZpZXIobm9kZS5pdGVyYXRvcjEsICd2LWZvciBpdGVyYXRvcicsIHRleHQsIHdhcm4sIHJhbmdlKTtcbiAgICBjaGVja0lkZW50aWZpZXIobm9kZS5pdGVyYXRvcjIsICd2LWZvciBpdGVyYXRvcicsIHRleHQsIHdhcm4sIHJhbmdlKTtcbn1cbmZ1bmN0aW9uIGNoZWNrSWRlbnRpZmllcihpZGVudCwgdHlwZSwgdGV4dCwgd2FybiwgcmFuZ2UpIHtcbiAgICBpZiAodHlwZW9mIGlkZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbmV3IEZ1bmN0aW9uKFwidmFyIFwiLmNvbmNhdChpZGVudCwgXCI9X1wiKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHdhcm4oXCJpbnZhbGlkIFwiLmNvbmNhdCh0eXBlLCBcIiBcXFwiXCIpLmNvbmNhdChpZGVudCwgXCJcXFwiIGluIGV4cHJlc3Npb246IFwiKS5jb25jYXQodGV4dC50cmltKCkpLCByYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBjaGVja0V4cHJlc3Npb24oZXhwLCB0ZXh0LCB3YXJuLCByYW5nZSkge1xuICAgIHRyeSB7XG4gICAgICAgIG5ldyBGdW5jdGlvbihcInJldHVybiBcIi5jb25jYXQoZXhwKSk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHZhciBrZXl3b3JkTWF0Y2ggPSBleHBcbiAgICAgICAgICAgIC5yZXBsYWNlKHN0cmlwU3RyaW5nUkUsICcnKVxuICAgICAgICAgICAgLm1hdGNoKHByb2hpYml0ZWRLZXl3b3JkUkUpO1xuICAgICAgICBpZiAoa2V5d29yZE1hdGNoKSB7XG4gICAgICAgICAgICB3YXJuKFwiYXZvaWQgdXNpbmcgSmF2YVNjcmlwdCBrZXl3b3JkIGFzIHByb3BlcnR5IG5hbWU6IFwiICtcbiAgICAgICAgICAgICAgICBcIlxcXCJcIi5jb25jYXQoa2V5d29yZE1hdGNoWzBdLCBcIlxcXCJcXG4gIFJhdyBleHByZXNzaW9uOiBcIikuY29uY2F0KHRleHQudHJpbSgpKSwgcmFuZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgd2FybihcImludmFsaWQgZXhwcmVzc2lvbjogXCIuY29uY2F0KGUubWVzc2FnZSwgXCIgaW5cXG5cXG5cIikgK1xuICAgICAgICAgICAgICAgIFwiICAgIFwiLmNvbmNhdChleHAsIFwiXFxuXFxuXCIpICtcbiAgICAgICAgICAgICAgICBcIiAgUmF3IGV4cHJlc3Npb246IFwiLmNvbmNhdCh0ZXh0LnRyaW0oKSwgXCJcXG5cIiksIHJhbmdlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGNoZWNrRnVuY3Rpb25QYXJhbWV0ZXJFeHByZXNzaW9uKGV4cCwgdGV4dCwgd2FybiwgcmFuZ2UpIHtcbiAgICB0cnkge1xuICAgICAgICBuZXcgRnVuY3Rpb24oZXhwLCAnJyk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHdhcm4oXCJpbnZhbGlkIGZ1bmN0aW9uIHBhcmFtZXRlciBleHByZXNzaW9uOiBcIi5jb25jYXQoZS5tZXNzYWdlLCBcIiBpblxcblxcblwiKSArXG4gICAgICAgICAgICBcIiAgICBcIi5jb25jYXQoZXhwLCBcIlxcblxcblwiKSArXG4gICAgICAgICAgICBcIiAgUmF3IGV4cHJlc3Npb246IFwiLmNvbmNhdCh0ZXh0LnRyaW0oKSwgXCJcXG5cIiksIHJhbmdlKTtcbiAgICB9XG59XG5cbnZhciByYW5nZSA9IDI7XG5mdW5jdGlvbiBnZW5lcmF0ZUNvZGVGcmFtZShzb3VyY2UsIHN0YXJ0LCBlbmQpIHtcbiAgICBpZiAoc3RhcnQgPT09IHZvaWQgMCkgeyBzdGFydCA9IDA7IH1cbiAgICBpZiAoZW5kID09PSB2b2lkIDApIHsgZW5kID0gc291cmNlLmxlbmd0aDsgfVxuICAgIHZhciBsaW5lcyA9IHNvdXJjZS5zcGxpdCgvXFxyP1xcbi8pO1xuICAgIHZhciBjb3VudCA9IDA7XG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY291bnQgKz0gbGluZXNbaV0ubGVuZ3RoICsgMTtcbiAgICAgICAgaWYgKGNvdW50ID49IHN0YXJ0KSB7XG4gICAgICAgICAgICBmb3IgKHZhciBqID0gaSAtIHJhbmdlOyBqIDw9IGkgKyByYW5nZSB8fCBlbmQgPiBjb3VudDsgaisrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGogPCAwIHx8IGogPj0gbGluZXMubGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICByZXMucHVzaChcIlwiLmNvbmNhdChqICsgMSkuY29uY2F0KHJlcGVhdChcIiBcIiwgMyAtIFN0cmluZyhqICsgMSkubGVuZ3RoKSwgXCJ8ICBcIikuY29uY2F0KGxpbmVzW2pdKSk7XG4gICAgICAgICAgICAgICAgdmFyIGxpbmVMZW5ndGggPSBsaW5lc1tqXS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgaWYgKGogPT09IGkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHVzaCB1bmRlcmxpbmVcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBhZCA9IHN0YXJ0IC0gKGNvdW50IC0gbGluZUxlbmd0aCkgKyAxO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGVuZ3RoXzEgPSBlbmQgPiBjb3VudCA/IGxpbmVMZW5ndGggLSBwYWQgOiBlbmQgLSBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgcmVzLnB1c2goXCIgICB8ICBcIiArIHJlcGVhdChcIiBcIiwgcGFkKSArIHJlcGVhdChcIl5cIiwgbGVuZ3RoXzEpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaiA+IGkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVuZCA+IGNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGVuZ3RoXzIgPSBNYXRoLm1pbihlbmQgLSBjb3VudCwgbGluZUxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXMucHVzaChcIiAgIHwgIFwiICsgcmVwZWF0KFwiXlwiLCBsZW5ndGhfMikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ICs9IGxpbmVMZW5ndGggKyAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXMuam9pbignXFxuJyk7XG59XG5mdW5jdGlvbiByZXBlYXQoc3RyLCBuKSB7XG4gICAgdmFyIHJlc3VsdCA9ICcnO1xuICAgIGlmIChuID4gMCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgICAgICBpZiAobiAmIDEpXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IHN0cjtcbiAgICAgICAgICAgIG4gPj4+PSAxO1xuICAgICAgICAgICAgaWYgKG4gPD0gMClcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIHN0ciArPSBzdHI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb24oY29kZSwgZXJyb3JzKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGdW5jdGlvbihjb2RlKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvcnMucHVzaCh7IGVycjogZXJyLCBjb2RlOiBjb2RlIH0pO1xuICAgICAgICByZXR1cm4gbm9vcDtcbiAgICB9XG59XG5mdW5jdGlvbiBjcmVhdGVDb21waWxlVG9GdW5jdGlvbkZuKGNvbXBpbGUpIHtcbiAgICB2YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHJldHVybiBmdW5jdGlvbiBjb21waWxlVG9GdW5jdGlvbnModGVtcGxhdGUsIG9wdGlvbnMsIHZtKSB7XG4gICAgICAgIG9wdGlvbnMgPSBleHRlbmQoe30sIG9wdGlvbnMpO1xuICAgICAgICB2YXIgd2FybiA9IG9wdGlvbnMud2FybiB8fCB3YXJuJDI7XG4gICAgICAgIGRlbGV0ZSBvcHRpb25zLndhcm47XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgLy8gZGV0ZWN0IHBvc3NpYmxlIENTUCByZXN0cmljdGlvblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBuZXcgRnVuY3Rpb24oJ3JldHVybiAxJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGlmIChlLnRvU3RyaW5nKCkubWF0Y2goL3Vuc2FmZS1ldmFsfENTUC8pKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhcm4oJ0l0IHNlZW1zIHlvdSBhcmUgdXNpbmcgdGhlIHN0YW5kYWxvbmUgYnVpbGQgb2YgVnVlLmpzIGluIGFuICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2Vudmlyb25tZW50IHdpdGggQ29udGVudCBTZWN1cml0eSBQb2xpY3kgdGhhdCBwcm9oaWJpdHMgdW5zYWZlLWV2YWwuICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSB0ZW1wbGF0ZSBjb21waWxlciBjYW5ub3Qgd29yayBpbiB0aGlzIGVudmlyb25tZW50LiBDb25zaWRlciAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZWxheGluZyB0aGUgcG9saWN5IHRvIGFsbG93IHVuc2FmZS1ldmFsIG9yIHByZS1jb21waWxpbmcgeW91ciAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICd0ZW1wbGF0ZXMgaW50byByZW5kZXIgZnVuY3Rpb25zLicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBjaGVjayBjYWNoZVxuICAgICAgICB2YXIga2V5ID0gb3B0aW9ucy5kZWxpbWl0ZXJzXG4gICAgICAgICAgICA/IFN0cmluZyhvcHRpb25zLmRlbGltaXRlcnMpICsgdGVtcGxhdGVcbiAgICAgICAgICAgIDogdGVtcGxhdGU7XG4gICAgICAgIGlmIChjYWNoZVtrZXldKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVba2V5XTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb21waWxlXG4gICAgICAgIHZhciBjb21waWxlZCA9IGNvbXBpbGUodGVtcGxhdGUsIG9wdGlvbnMpO1xuICAgICAgICAvLyBjaGVjayBjb21waWxhdGlvbiBlcnJvcnMvdGlwc1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgaWYgKGNvbXBpbGVkLmVycm9ycyAmJiBjb21waWxlZC5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcGlsZWQuZXJyb3JzLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4oXCJFcnJvciBjb21waWxpbmcgdGVtcGxhdGU6XFxuXFxuXCIuY29uY2F0KGUubXNnLCBcIlxcblxcblwiKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb2RlRnJhbWUodGVtcGxhdGUsIGUuc3RhcnQsIGUuZW5kKSwgdm0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHdhcm4oXCJFcnJvciBjb21waWxpbmcgdGVtcGxhdGU6XFxuXFxuXCIuY29uY2F0KHRlbXBsYXRlLCBcIlxcblxcblwiKSArXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlZC5lcnJvcnMubWFwKGZ1bmN0aW9uIChlKSB7IHJldHVybiBcIi0gXCIuY29uY2F0KGUpOyB9KS5qb2luKCdcXG4nKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnXFxuJywgdm0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb21waWxlZC50aXBzICYmIGNvbXBpbGVkLnRpcHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcGlsZWQudGlwcy5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7IHJldHVybiB0aXAoZS5tc2csIHZtKTsgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb21waWxlZC50aXBzLmZvckVhY2goZnVuY3Rpb24gKG1zZykgeyByZXR1cm4gdGlwKG1zZywgdm0pOyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gdHVybiBjb2RlIGludG8gZnVuY3Rpb25zXG4gICAgICAgIHZhciByZXMgPSB7fTtcbiAgICAgICAgdmFyIGZuR2VuRXJyb3JzID0gW107XG4gICAgICAgIHJlcy5yZW5kZXIgPSBjcmVhdGVGdW5jdGlvbihjb21waWxlZC5yZW5kZXIsIGZuR2VuRXJyb3JzKTtcbiAgICAgICAgcmVzLnN0YXRpY1JlbmRlckZucyA9IGNvbXBpbGVkLnN0YXRpY1JlbmRlckZucy5tYXAoZnVuY3Rpb24gKGNvZGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbihjb2RlLCBmbkdlbkVycm9ycyk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBjaGVjayBmdW5jdGlvbiBnZW5lcmF0aW9uIGVycm9ycy5cbiAgICAgICAgLy8gdGhpcyBzaG91bGQgb25seSBoYXBwZW4gaWYgdGhlcmUgaXMgYSBidWcgaW4gdGhlIGNvbXBpbGVyIGl0c2VsZi5cbiAgICAgICAgLy8gbW9zdGx5IGZvciBjb2RlZ2VuIGRldmVsb3BtZW50IHVzZVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmICgoIWNvbXBpbGVkLmVycm9ycyB8fCAhY29tcGlsZWQuZXJyb3JzLmxlbmd0aCkgJiYgZm5HZW5FcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgd2FybihcIkZhaWxlZCB0byBnZW5lcmF0ZSByZW5kZXIgZnVuY3Rpb246XFxuXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICBmbkdlbkVycm9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoX2EpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlcnIgPSBfYS5lcnIsIGNvZGUgPSBfYS5jb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KGVyci50b1N0cmluZygpLCBcIiBpblxcblxcblwiKS5jb25jYXQoY29kZSwgXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAuam9pbignXFxuJyksIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGNhY2hlW2tleV0gPSByZXMpO1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBpbGVyQ3JlYXRvcihiYXNlQ29tcGlsZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBjcmVhdGVDb21waWxlcihiYXNlT3B0aW9ucykge1xuICAgICAgICBmdW5jdGlvbiBjb21waWxlKHRlbXBsYXRlLCBvcHRpb25zKSB7XG4gICAgICAgICAgICB2YXIgZmluYWxPcHRpb25zID0gT2JqZWN0LmNyZWF0ZShiYXNlT3B0aW9ucyk7XG4gICAgICAgICAgICB2YXIgZXJyb3JzID0gW107XG4gICAgICAgICAgICB2YXIgdGlwcyA9IFtdO1xuICAgICAgICAgICAgdmFyIHdhcm4gPSBmdW5jdGlvbiAobXNnLCByYW5nZSwgdGlwKSB7XG4gICAgICAgICAgICAgICAgKHRpcCA/IHRpcHMgOiBlcnJvcnMpLnB1c2gobXNnKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgICAgICAgICAgICAgICAgIHZhciBsZWFkaW5nU3BhY2VMZW5ndGhfMSA9IHRlbXBsYXRlLm1hdGNoKC9eXFxzKi8pWzBdLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgd2FybiA9IGZ1bmN0aW9uIChtc2csIHJhbmdlLCB0aXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0gdHlwZW9mIG1zZyA9PT0gJ3N0cmluZycgPyB7IG1zZzogbXNnIH0gOiBtc2c7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmFuZ2Uuc3RhcnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnN0YXJ0ID0gcmFuZ2Uuc3RhcnQgKyBsZWFkaW5nU3BhY2VMZW5ndGhfMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJhbmdlLmVuZCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZW5kID0gcmFuZ2UuZW5kICsgbGVhZGluZ1NwYWNlTGVuZ3RoXzE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgKHRpcCA/IHRpcHMgOiBlcnJvcnMpLnB1c2goZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG1lcmdlIGN1c3RvbSBtb2R1bGVzXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubW9kdWxlcykge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbE9wdGlvbnMubW9kdWxlcyA9IChiYXNlT3B0aW9ucy5tb2R1bGVzIHx8IFtdKS5jb25jYXQob3B0aW9ucy5tb2R1bGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gbWVyZ2UgY3VzdG9tIGRpcmVjdGl2ZXNcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5kaXJlY3RpdmVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbmFsT3B0aW9ucy5kaXJlY3RpdmVzID0gZXh0ZW5kKE9iamVjdC5jcmVhdGUoYmFzZU9wdGlvbnMuZGlyZWN0aXZlcyB8fCBudWxsKSwgb3B0aW9ucy5kaXJlY3RpdmVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gY29weSBvdGhlciBvcHRpb25zXG4gICAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGtleSAhPT0gJ21vZHVsZXMnICYmIGtleSAhPT0gJ2RpcmVjdGl2ZXMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5hbE9wdGlvbnNba2V5XSA9IG9wdGlvbnNba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsT3B0aW9ucy53YXJuID0gd2FybjtcbiAgICAgICAgICAgIHZhciBjb21waWxlZCA9IGJhc2VDb21waWxlKHRlbXBsYXRlLnRyaW0oKSwgZmluYWxPcHRpb25zKTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgZGV0ZWN0RXJyb3JzKGNvbXBpbGVkLmFzdCwgd2Fybik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb21waWxlZC5lcnJvcnMgPSBlcnJvcnM7XG4gICAgICAgICAgICBjb21waWxlZC50aXBzID0gdGlwcztcbiAgICAgICAgICAgIHJldHVybiBjb21waWxlZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29tcGlsZTogY29tcGlsZSxcbiAgICAgICAgICAgIGNvbXBpbGVUb0Z1bmN0aW9uczogY3JlYXRlQ29tcGlsZVRvRnVuY3Rpb25Gbihjb21waWxlKVxuICAgICAgICB9O1xuICAgIH07XG59XG5cbi8vIGBjcmVhdGVDb21waWxlckNyZWF0b3JgIGFsbG93cyBjcmVhdGluZyBjb21waWxlcnMgdGhhdCB1c2UgYWx0ZXJuYXRpdmVcbi8vIHBhcnNlci9vcHRpbWl6ZXIvY29kZWdlbiwgZS5nIHRoZSBTU1Igb3B0aW1pemluZyBjb21waWxlci5cbi8vIEhlcmUgd2UganVzdCBleHBvcnQgYSBkZWZhdWx0IGNvbXBpbGVyIHVzaW5nIHRoZSBkZWZhdWx0IHBhcnRzLlxudmFyIGNyZWF0ZUNvbXBpbGVyID0gY3JlYXRlQ29tcGlsZXJDcmVhdG9yKGZ1bmN0aW9uIGJhc2VDb21waWxlKHRlbXBsYXRlLCBvcHRpb25zKSB7XG4gICAgdmFyIGFzdCA9IHBhcnNlKHRlbXBsYXRlLnRyaW0oKSwgb3B0aW9ucyk7XG4gICAgaWYgKG9wdGlvbnMub3B0aW1pemUgIT09IGZhbHNlKSB7XG4gICAgICAgIG9wdGltaXplKGFzdCwgb3B0aW9ucyk7XG4gICAgfVxuICAgIHZhciBjb2RlID0gZ2VuZXJhdGUoYXN0LCBvcHRpb25zKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBhc3Q6IGFzdCxcbiAgICAgICAgcmVuZGVyOiBjb2RlLnJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBjb2RlLnN0YXRpY1JlbmRlckZuc1xuICAgIH07XG59KTtcblxudmFyIF9hID0gY3JlYXRlQ29tcGlsZXIoYmFzZU9wdGlvbnMpLCBjb21waWxlVG9GdW5jdGlvbnMgPSBfYS5jb21waWxlVG9GdW5jdGlvbnM7XG5cbi8vIGNoZWNrIHdoZXRoZXIgY3VycmVudCBicm93c2VyIGVuY29kZXMgYSBjaGFyIGluc2lkZSBhdHRyaWJ1dGUgdmFsdWVzXG52YXIgZGl2O1xuZnVuY3Rpb24gZ2V0U2hvdWxkRGVjb2RlKGhyZWYpIHtcbiAgICBkaXYgPSBkaXYgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LmlubmVySFRNTCA9IGhyZWYgPyBcIjxhIGhyZWY9XFxcIlxcblxcXCIvPlwiIDogXCI8ZGl2IGE9XFxcIlxcblxcXCIvPlwiO1xuICAgIHJldHVybiBkaXYuaW5uZXJIVE1MLmluZGV4T2YoJyYjMTA7JykgPiAwO1xufVxuLy8gIzM2NjM6IElFIGVuY29kZXMgbmV3bGluZXMgaW5zaWRlIGF0dHJpYnV0ZSB2YWx1ZXMgd2hpbGUgb3RoZXIgYnJvd3NlcnMgZG9uJ3RcbnZhciBzaG91bGREZWNvZGVOZXdsaW5lcyA9IGluQnJvd3NlciA/IGdldFNob3VsZERlY29kZShmYWxzZSkgOiBmYWxzZTtcbi8vICM2ODI4OiBjaHJvbWUgZW5jb2RlcyBjb250ZW50IGluIGFbaHJlZl1cbnZhciBzaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWYgPSBpbkJyb3dzZXJcbiAgICA/IGdldFNob3VsZERlY29kZSh0cnVlKVxuICAgIDogZmFsc2U7XG5cbnZhciBpZFRvVGVtcGxhdGUgPSBjYWNoZWQoZnVuY3Rpb24gKGlkKSB7XG4gICAgdmFyIGVsID0gcXVlcnkoaWQpO1xuICAgIHJldHVybiBlbCAmJiBlbC5pbm5lckhUTUw7XG59KTtcbnZhciBtb3VudCA9IFZ1ZS5wcm90b3R5cGUuJG1vdW50O1xuVnVlLnByb3RvdHlwZS4kbW91bnQgPSBmdW5jdGlvbiAoZWwsIGh5ZHJhdGluZykge1xuICAgIGVsID0gZWwgJiYgcXVlcnkoZWwpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChlbCA9PT0gZG9jdW1lbnQuYm9keSB8fCBlbCA9PT0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgIHdhcm4kMihcIkRvIG5vdCBtb3VudCBWdWUgdG8gPGh0bWw+IG9yIDxib2R5PiAtIG1vdW50IHRvIG5vcm1hbCBlbGVtZW50cyBpbnN0ZWFkLlwiKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHZhciBvcHRpb25zID0gdGhpcy4kb3B0aW9ucztcbiAgICAvLyByZXNvbHZlIHRlbXBsYXRlL2VsIGFuZCBjb252ZXJ0IHRvIHJlbmRlciBmdW5jdGlvblxuICAgIGlmICghb3B0aW9ucy5yZW5kZXIpIHtcbiAgICAgICAgdmFyIHRlbXBsYXRlID0gb3B0aW9ucy50ZW1wbGF0ZTtcbiAgICAgICAgaWYgKHRlbXBsYXRlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRlbXBsYXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZS5jaGFyQXQoMCkgPT09ICcjJykge1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZSA9IGlkVG9UZW1wbGF0ZSh0ZW1wbGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhdGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4kMihcIlRlbXBsYXRlIGVsZW1lbnQgbm90IGZvdW5kIG9yIGlzIGVtcHR5OiBcIi5jb25jYXQob3B0aW9ucy50ZW1wbGF0ZSksIHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodGVtcGxhdGUubm9kZVR5cGUpIHtcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlLmlubmVySFRNTDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhcm4kMignaW52YWxpZCB0ZW1wbGF0ZSBvcHRpb246JyArIHRlbXBsYXRlLCB0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZWwpIHtcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgIHRlbXBsYXRlID0gZ2V0T3V0ZXJIVE1MKGVsKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgICAgICAgICAgICBtYXJrKCdjb21waWxlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgX2EgPSBjb21waWxlVG9GdW5jdGlvbnModGVtcGxhdGUsIHtcbiAgICAgICAgICAgICAgICBvdXRwdXRTb3VyY2VSYW5nZTogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgICAgICAgICBzaG91bGREZWNvZGVOZXdsaW5lczogc2hvdWxkRGVjb2RlTmV3bGluZXMsXG4gICAgICAgICAgICAgICAgc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmOiBzaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWYsXG4gICAgICAgICAgICAgICAgZGVsaW1pdGVyczogb3B0aW9ucy5kZWxpbWl0ZXJzLFxuICAgICAgICAgICAgICAgIGNvbW1lbnRzOiBvcHRpb25zLmNvbW1lbnRzXG4gICAgICAgICAgICB9LCB0aGlzKSwgcmVuZGVyID0gX2EucmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgPSBfYS5zdGF0aWNSZW5kZXJGbnM7XG4gICAgICAgICAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlcjtcbiAgICAgICAgICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYgbWFyaykge1xuICAgICAgICAgICAgICAgIG1hcmsoJ2NvbXBpbGUgZW5kJyk7XG4gICAgICAgICAgICAgICAgbWVhc3VyZShcInZ1ZSBcIi5jb25jYXQodGhpcy5fbmFtZSwgXCIgY29tcGlsZVwiKSwgJ2NvbXBpbGUnLCAnY29tcGlsZSBlbmQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbW91bnQuY2FsbCh0aGlzLCBlbCwgaHlkcmF0aW5nKTtcbn07XG4vKipcbiAqIEdldCBvdXRlckhUTUwgb2YgZWxlbWVudHMsIHRha2luZyBjYXJlXG4gKiBvZiBTVkcgZWxlbWVudHMgaW4gSUUgYXMgd2VsbC5cbiAqL1xuZnVuY3Rpb24gZ2V0T3V0ZXJIVE1MKGVsKSB7XG4gICAgaWYgKGVsLm91dGVySFRNTCkge1xuICAgICAgICByZXR1cm4gZWwub3V0ZXJIVE1MO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZWwuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5pbm5lckhUTUw7XG4gICAgfVxufVxuVnVlLmNvbXBpbGUgPSBjb21waWxlVG9GdW5jdGlvbnM7XG5cbmV4cG9ydCB7IEVmZmVjdFNjb3BlLCBjb21wdXRlZCwgY3VzdG9tUmVmLCBWdWUgYXMgZGVmYXVsdCwgZGVmaW5lQXN5bmNDb21wb25lbnQsIGRlZmluZUNvbXBvbmVudCwgZGVsLCBlZmZlY3RTY29wZSwgZ2V0Q3VycmVudEluc3RhbmNlLCBnZXRDdXJyZW50U2NvcGUsIGgsIGluamVjdCwgaXNQcm94eSwgaXNSZWFjdGl2ZSwgaXNSZWFkb25seSwgaXNSZWYsIGlzU2hhbGxvdywgbWFya1JhdywgbWVyZ2VEZWZhdWx0cywgbmV4dFRpY2ssIG9uQWN0aXZhdGVkLCBvbkJlZm9yZU1vdW50LCBvbkJlZm9yZVVubW91bnQsIG9uQmVmb3JlVXBkYXRlLCBvbkRlYWN0aXZhdGVkLCBvbkVycm9yQ2FwdHVyZWQsIG9uTW91bnRlZCwgb25SZW5kZXJUcmFja2VkLCBvblJlbmRlclRyaWdnZXJlZCwgb25TY29wZURpc3Bvc2UsIG9uU2VydmVyUHJlZmV0Y2gsIG9uVW5tb3VudGVkLCBvblVwZGF0ZWQsIHByb3ZpZGUsIHByb3h5UmVmcywgcmVhY3RpdmUsIHJlYWRvbmx5LCByZWYkMSBhcyByZWYsIHNldCwgc2hhbGxvd1JlYWN0aXZlLCBzaGFsbG93UmVhZG9ubHksIHNoYWxsb3dSZWYsIHRvUmF3LCB0b1JlZiwgdG9SZWZzLCB0cmlnZ2VyUmVmLCB1bnJlZiwgdXNlQXR0cnMsIHVzZUNzc01vZHVsZSwgdXNlQ3NzVmFycywgdXNlTGlzdGVuZXJzLCB1c2VTbG90cywgdmVyc2lvbiwgd2F0Y2gsIHdhdGNoRWZmZWN0LCB3YXRjaFBvc3RFZmZlY3QsIHdhdGNoU3luY0VmZmVjdCB9O1xuIl0sIm5hbWVzIjpbIm1vdW50ZWQiLCJjb25zb2xlIiwibG9nIiwicmVuZGVyIiwiX3ZtIiwiX2MiLCJfc2VsZiIsIl92Iiwic3RhdGljUmVuZGVyRm5zIiwiX3dpdGhTdHJpcHBlZCIsIndpbmRvdyIsIl8iLCJyZXF1aXJlIiwiU3dhbCIsIlBvcHBlciIsIiQiLCJqUXVlcnkiLCJlIiwiYXhpb3MiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJjb21tb24iLCJWdWUiLCJjb21wb25lbnQiLCJhcHAiLCJlbCIsInBlcm1pc3Npb25UcmVlIiwib24iLCJpcyIsInNpYmxpbmdzIiwiZmluZCIsImF0dHIiLCJyZW1vdmVBdHRyIiwiZWFjaCIsImRpc2FibGVTdWJtaXRCdXR0b25zIiwiZm9ybSIsImVuYWJsZVN1Ym1pdEJ1dHRvbnMiLCJzdWJtaXQiLCJfdGhpcyIsInByZXZlbnREZWZhdWx0IiwiZmlyZSIsInRpdGxlIiwic2hvd0NhbmNlbEJ1dHRvbiIsImNvbmZpcm1CdXR0b25UZXh0IiwiY2FuY2VsQnV0dG9uVGV4dCIsImljb24iLCJ0aGVuIiwicmVzdWx0IiwidmFsdWUiLCJfdGhpczIiLCJfdGhpczMiLCJsb2NhdGlvbiIsImFzc2lnbiIsImhhc2giLCJ0YXJnZXQiLCJoaXN0b3J5IiwicHVzaFN0YXRlIiwidGFiIiwidG9vbHRpcCJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2pzL2Zyb250ZW5kLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFLQTtFQUNBQSxPQUFBLFdBQUFBLFFBQUE7SUFDQUMsT0FBQSxDQUFBQyxHQUFBO0VBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQ1RBLElBQUlDLE1BQU0sR0FBRyxTQUFTQSxNQUFNQSxDQUFBLEVBQUc7RUFDN0IsSUFBSUMsR0FBRyxHQUFHLElBQUk7SUFDWkMsRUFBRSxHQUFHRCxHQUFHLENBQUNFLEtBQUssQ0FBQ0QsRUFBRTtFQUNuQixPQUFPQSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUNELEdBQUcsQ0FBQ0csRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBQ0QsSUFBSUMsZUFBZSxHQUFHLEVBQUU7QUFDeEJMLE1BQU0sQ0FBQ00sYUFBYSxHQUFHLElBQUk7Ozs7Ozs7Ozs7O0FDTjNCQyxNQUFNLENBQUNDLENBQUMsR0FBR0MsbUJBQU8sQ0FBQywrQ0FBUSxDQUFDO0FBQzVCRixNQUFNLENBQUNHLElBQUksR0FBR0QsbUJBQU8sQ0FBQyx1RUFBYSxDQUFDOztBQUVwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUk7RUFDQUYsTUFBTSxDQUFDSSxNQUFNLEdBQUdGLGdHQUE0QjtFQUM1Q0YsTUFBTSxDQUFDSyxDQUFDLEdBQUdMLE1BQU0sQ0FBQ00sTUFBTSxHQUFHSixtQkFBTyxDQUFDLG9EQUFRLENBQUM7RUFFNUNBLG1CQUFPLENBQUMsZ0VBQVcsQ0FBQztBQUN4QixDQUFDLENBQUMsT0FBT0ssQ0FBQyxFQUFFLENBQUM7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQVAsTUFBTSxDQUFDUSxLQUFLLEdBQUdOLG1CQUFPLENBQUMsNENBQU8sQ0FBQztBQUUvQkYsTUFBTSxDQUFDUSxLQUFLLENBQUNDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBRyxnQkFBZ0I7O0FBRTNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDekNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUFULG1CQUFPLENBQUMsaURBQWMsQ0FBQztBQUN2QkEsbUJBQU8sQ0FBQyw2Q0FBWSxDQUFDO0FBRUM7O0FBRXRCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUFVLDJDQUFHLENBQUNDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRVgsb0lBQW9ELENBQUM7O0FBRXhGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTVksR0FBRyxHQUFHLElBQUlGLDJDQUFHLENBQUM7RUFDaEJHLEVBQUUsRUFBRTtBQUNSLENBQUMsQ0FBQzs7Ozs7Ozs7OztBQ2hDRjtBQUNBO0FBQ0E7QUFDQVYsQ0FBQyxDQUFDLFlBQVk7RUFDVjtBQUNKO0FBQ0E7RUFDSSxJQUFJVyxjQUFjLEdBQUdYLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztFQUVwRFcsY0FBYyxDQUFDQyxFQUFFLENBQUMsY0FBYyxFQUFFLFlBQVc7SUFDekMsSUFBR1osQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDYSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUU7TUFDdkJiLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ2MsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQ0EsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDdEcsQ0FBQyxNQUFNO01BQ0hoQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNjLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUNFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQ0EsVUFBVSxDQUFDLFVBQVUsQ0FBQztJQUN0RztFQUNKLENBQUMsQ0FBQztFQUVGTixjQUFjLENBQUNPLElBQUksQ0FBQyxZQUFZO0lBQzVCLElBQUdsQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNhLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtNQUN2QmIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDYyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUNDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDQSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUN0RztFQUNKLENBQUMsQ0FBQzs7RUFFRjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksU0FBU0csb0JBQW9CQSxDQUFDQyxJQUFJLEVBQUU7SUFDaENBLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0lBQ3hESSxJQUFJLENBQUNMLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztFQUM3RDs7RUFFQTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBQ0ksU0FBU0ssbUJBQW1CQSxDQUFDRCxJQUFJLEVBQUU7SUFDL0JBLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUNFLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDeERHLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUNFLFVBQVUsQ0FBQyxVQUFVLENBQUM7RUFDN0Q7O0VBRUE7QUFDSjtBQUNBO0VBQ0lqQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNzQixNQUFNLENBQUMsWUFBWTtJQUN6Qkgsb0JBQW9CLENBQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsT0FBTyxJQUFJO0VBQ2YsQ0FBQyxDQUFDOztFQUVGO0FBQ0o7QUFDQTtFQUNJQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsVUFBU1YsQ0FBQyxFQUFFO0lBQUEsSUFBQXFCLEtBQUE7SUFDekRyQixDQUFDLENBQUNzQixjQUFjLENBQUMsQ0FBQztJQUVsQjFCLElBQUksQ0FBQzJCLElBQUksQ0FBQztNQUNOQyxLQUFLLEVBQUUsNENBQTRDO01BQ25EQyxnQkFBZ0IsRUFBRSxJQUFJO01BQ3RCQyxpQkFBaUIsRUFBRSxnQkFBZ0I7TUFDbkNDLGdCQUFnQixFQUFFLFFBQVE7TUFDMUJDLElBQUksRUFBRTtJQUNWLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsTUFBTSxFQUFLO01BQ2hCLElBQUlBLE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO1FBQ2RWLEtBQUksQ0FBQ0QsTUFBTSxDQUFDLENBQUM7TUFDakIsQ0FBQyxNQUFNO1FBQ0hELG1CQUFtQixDQUFDckIsQ0FBQyxDQUFDdUIsS0FBSSxDQUFDLENBQUM7TUFDaEM7SUFDSixDQUFDLENBQUM7RUFDTixDQUFDLENBQUMsQ0FDR1gsRUFBRSxDQUFDLFFBQVEsRUFBRSx5QkFBeUIsRUFBRSxVQUFVVixDQUFDLEVBQUU7SUFBQSxJQUFBZ0MsTUFBQTtJQUNsRGhDLENBQUMsQ0FBQ3NCLGNBQWMsQ0FBQyxDQUFDO0lBRWxCMUIsSUFBSSxDQUFDMkIsSUFBSSxDQUFDO01BQ05DLEtBQUssRUFBRSxtQ0FBbUM7TUFDMUNDLGdCQUFnQixFQUFFLElBQUk7TUFDdEJDLGlCQUFpQixFQUFFLFVBQVU7TUFDN0JDLGdCQUFnQixFQUFFLFFBQVE7TUFDMUJDLElBQUksRUFBRTtJQUNWLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsTUFBTSxFQUFLO01BQ2hCLElBQUlBLE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO1FBQ2RDLE1BQUksQ0FBQ1osTUFBTSxDQUFDLENBQUM7TUFDakIsQ0FBQyxNQUFNO1FBQ0hELG1CQUFtQixDQUFDckIsQ0FBQyxDQUFDa0MsTUFBSSxDQUFDLENBQUM7TUFDaEM7SUFDSixDQUFDLENBQUM7RUFDTixDQUFDLENBQUMsQ0FDRHRCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVVYsQ0FBQyxFQUFFO0lBQUEsSUFBQWlDLE1BQUE7SUFDbEQ7QUFDUjtBQUNBO0lBQ1FqQyxDQUFDLENBQUNzQixjQUFjLENBQUMsQ0FBQztJQUVsQjFCLElBQUksQ0FBQzJCLElBQUksQ0FBQztNQUNOQyxLQUFLLEVBQUUsbUNBQW1DO01BQzFDQyxnQkFBZ0IsRUFBRSxJQUFJO01BQ3RCQyxpQkFBaUIsRUFBRSxVQUFVO01BQzdCQyxnQkFBZ0IsRUFBRSxRQUFRO01BQzFCQyxJQUFJLEVBQUU7SUFDVixDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLE1BQU0sRUFBSztNQUNoQkEsTUFBTSxDQUFDQyxLQUFLLElBQUl0QyxNQUFNLENBQUN5QyxRQUFRLENBQUNDLE1BQU0sQ0FBQ3JDLENBQUMsQ0FBQ21DLE1BQUksQ0FBQyxDQUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQztFQUNOLENBQUMsQ0FBQzs7RUFFRjtFQUNBaEIsQ0FBQyxDQUFDLDZDQUE2QyxDQUFDLENBQUNZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsVUFBVVYsQ0FBQyxFQUFFO0lBQzdFLElBQUlvQyxJQUFJLEdBQUd0QyxDQUFDLENBQUNFLENBQUMsQ0FBQ3FDLE1BQU0sQ0FBQyxDQUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNuQ3dCLE9BQU8sQ0FBQ0MsU0FBUyxHQUFHRCxPQUFPLENBQUNDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFSCxJQUFJLENBQUMsR0FBR0YsUUFBUSxDQUFDRSxJQUFJLEdBQUdBLElBQUk7RUFDbEYsQ0FBQyxDQUFDO0VBRUYsSUFBSUEsSUFBSSxHQUFHM0MsTUFBTSxDQUFDeUMsUUFBUSxDQUFDRSxJQUFJO0VBQy9CLElBQUlBLElBQUksRUFBRTtJQUNOdEMsQ0FBQyxDQUFDLGtCQUFrQixHQUFDc0MsSUFBSSxHQUFDLElBQUksQ0FBQyxDQUFDSSxHQUFHLENBQUMsTUFBTSxDQUFDO0VBQy9DOztFQUVBO0VBQ0ExQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQzJDLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7O0FDdEhGOzs7Ozs7Ozs7Ozs7O0FDQUE7Ozs7Ozs7Ozs7O0FDQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixzQkFBc0I7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBOztBQUVBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQSw2QkFBNkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN2TGtFO0FBQzNCO0FBQ0w7OztBQUcvRDtBQUNBLENBQWdHO0FBQ2hHLGdCQUFnQix1R0FBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSx3RkFBTTtBQUNSLEVBQUUsaUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSSxLQUFVLEVBQUUsWUFpQmY7QUFDRDtBQUNBLGlFQUFlOzs7Ozs7Ozs7Ozs7Ozs7O0FDdENxTSxDQUFDLGlFQUFlLDJNQUFHLEVBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FFQXhPOztBQUVBO0FBQ0E7QUFDQTs7QUFFZTtBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMvRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsaUJBQWlCO0FBQ3JDO0FBQ0E7QUFDQSwrQ0FBK0MsaUNBQWlDLG1CQUFtQjtBQUNuRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsb0NBQW9DO0FBQ3pGLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixnQkFBZ0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsYUFBb0I7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsY0FBYyxhQUFvQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IscUJBQXFCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEdBQUc7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxxQkFBTTtBQUN2QztBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IscUJBQU0sZUFBZSxxQkFBTTtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUksSUFBcUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELE9BQU87QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLCtCQUErQjtBQUNuRDtBQUNBLGtEQUFrRCxXQUFXO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRCw4Q0FBOEMsb0JBQW9CO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsV0FBVztBQUM5RCxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBLHdDQUF3QyxxQkFBcUI7QUFDN0Q7QUFDQSx5Q0FBeUMsT0FBTztBQUNoRDtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBLDZDQUE2QyxpQkFBaUI7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLHVCQUF1QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWEsRUFFSjtBQUNUO0FBQ0EsS0FBSztBQUNMLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwREFBMEQsT0FBTztBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpQkFBaUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLE9BQU87QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsSUFBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSxxQkFBcUIsRUFFSjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxpQkFBaUIsRUFFSjtBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVMsRUFFSjtBQUNMO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUyxFQUVKO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELE9BQU87QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLFNBQVMsRUFFSjtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGlCQUFpQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsYUFBYSxFQUVKO0FBQ1QsS0FBSztBQUNMLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxhQUFhLEVBRUo7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsS0FBcUM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0EsY0FBYyxDQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELFlBQVk7QUFDbkUsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixLQUFxQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSSxJQUFxQztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLG1CQUFtQjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IscUJBQXFCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IscUJBQXFCO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxPQUFPO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLE9BQU87QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixTQUFTO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLE9BQU87QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxjQUFjO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrRUFBa0U7QUFDbEUsNERBQTREO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0EsbURBQW1ELGVBQWU7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQixvQkFBb0IsZ0JBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQkFBb0IsbUJBQW1CO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLEtBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLE9BQU87QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0VBQXNFO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRkFBK0Y7QUFDL0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLElBQXFDO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixLQUFxQztBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsZ0JBQWdCLElBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCwyQkFBMkIsaUJBQWlCLElBQUk7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQSxpQkFBaUIsSUFBcUM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQjtBQUN0Qiw0QkFBNEI7QUFDNUI7QUFDQSwwREFBMEQ7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTLEVBR0o7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRCxtQ0FBbUM7QUFDckY7QUFDQSxpREFBaUQsT0FBTztBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsS0FBcUMsOENBQThDLENBQUk7QUFDNUg7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCLHFCQUFxQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsT0FBTztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELFNBQVM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDLE9BQU87QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0MsZ0RBQWdEO0FBQ2hELGtEQUFrRDtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isd0JBQXdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixxQkFBcUI7QUFDN0M7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IseUJBQXlCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IseUJBQXlCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxPQUFPO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHdCQUF3QjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxLQUFxQztBQUN2RSw4QkFBOEIsY0FBYyxlQUFlLElBQUksQ0FBaUI7QUFDaEY7QUFDQTtBQUNBLGtDQUFrQyxLQUFxQztBQUN2RSw4QkFBOEIsY0FBYyxlQUFlLElBQUksQ0FBaUI7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELHVDQUF1QztBQUN6RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFELHVCQUF1QjtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsSUFBcUM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxPQUFPO0FBQ3hEO0FBQ0E7QUFDQSxrREFBa0QsT0FBTztBQUN6RDtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsT0FBTztBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLElBQXFDO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLElBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBLGFBQWEsSUFBcUM7QUFDbEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxrQkFBa0I7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyx1REFBdUQ7QUFDNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG1CQUFtQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRCx5REFBeUQ7QUFDekQ7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsS0FBcUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixLQUFxQztBQUM3RDtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsS0FBcUMsd0JBQXdCLENBQUU7QUFDekY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWEsRUFFSjtBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsSUFBcUM7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLG9CQUFvQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGlCQUFpQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLElBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsaUJBQWlCLEVBRUo7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpQkFBaUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixJQUFxQztBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtGQUErRjtBQUMvRjtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0EsYUFBYSxFQUVKO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixtQkFBbUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QyxzREFBc0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sc0ZBQXNGO0FBQzVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QyxvQkFBb0IseUJBQXlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkMscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQSxJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RCx5QkFBeUI7QUFDakY7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksSUFBcUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixpQkFBaUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxhQUFvQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQSxxQkFBcUIsSUFBcUM7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRDtBQUNyRDtBQUNBO0FBQ0EsYUFBYSxJQUFxQztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQSx3QkFBd0IsbUJBQW1CO0FBQzNDLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsV0FBVztBQUN0QyxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLGFBQWEsSUFBcUM7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxJQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsT0FBTztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsMkJBQTJCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4REFBOEQsV0FBVztBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsU0FBUztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELHNDQUFzQztBQUN6RjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsdUJBQXVCO0FBQzVDO0FBQ0E7QUFDQSx1Q0FBdUMsMENBQTBDO0FBQ2pGOztBQUVBO0FBQ0EsUUFBUSxLQUFxQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEU7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsNEJBQTRCO0FBQzVFLFNBQVM7QUFDVDtBQUNBLGdEQUFnRCw2QkFBNkI7QUFDN0UsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLE9BQU87QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLElBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixhQUFhO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLGtCQUFrQjtBQUNsQztBQUNBLG9CQUFvQixvQkFBb0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0RBQStEO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixJQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHlCQUF5QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsSUFBcUM7QUFDckQ7QUFDQTtBQUNBLDhCQUE4Qix1QkFBdUI7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQix5QkFBeUI7QUFDbkQ7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLG9CQUFvQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isd0JBQXdCO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwyQkFBMkI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsb0JBQW9CO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIseUJBQXlCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLHVCQUF1QjtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixXQUFXO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qix1QkFBdUI7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsSUFBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsb0JBQW9CO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxLQUFxQztBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLHVCQUF1QjtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLEtBQXFDO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxJQUFxQztBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQywwQkFBMEI7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMseUJBQXlCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsNEJBQTRCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsMkJBQTJCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qiw4QkFBOEI7QUFDMUQ7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsaUJBQWlCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBGQUEwRjtBQUMxRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsZ0JBQWdCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFFBQVE7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG9CQUFvQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxnQkFBZ0Isd0JBQXdCLFdBQVc7QUFDbkc7QUFDQTtBQUNBLHNEQUFzRCw0Q0FBNEM7QUFDbEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDRDQUE0QztBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLDBCQUEwQjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0Esc0ZBQXNGO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSxvQ0FBb0MsdUNBQXVDO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsT0FBTztBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxPQUFPO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0Qsd0JBQXdCO0FBQ3ZGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLElBQXFDO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRkFBMEY7QUFDMUYsZ0NBQWdDO0FBQ2hDO0FBQ0EseUJBQXlCO0FBQ3pCLDBCQUEwQixtRUFBbUU7QUFDN0YsY0FBYyw0RkFBNEY7QUFDMUcsVUFBVSxLQUFLLDRDQUE0QztBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELGtCQUFrQjtBQUNuRSwwQkFBMEIsK0NBQStDO0FBQ3pFLHVEQUF1RDtBQUN2RDtBQUNBLDREQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsSUFBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxxQ0FBcUM7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQSw4Q0FBOEMsU0FBUztBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHdCQUF3QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0VBQWdFO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RCw2QkFBNkI7QUFDMUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGdDQUFnQztBQUM3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRFQUE0RTtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtRUFBbUU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLHNDQUFzQzs7QUFFeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsMENBQTBDO0FBQzlGO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RCw4Q0FBOEM7QUFDdEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsT0FBTztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsK0JBQStCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DLHNDQUFzQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0Q7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHdCQUF3QjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDO0FBQ0EseUJBQXlCLElBQXFDO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIseUJBQXlCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLElBQXdFO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLEtBQytCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFO0FBQzNDLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLGlCQUFpQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxNQUFNO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0MsTUFBTTtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsU0FBUztBQUNULFdBQVc7QUFDWCxVQUFVO0FBQ1YsVUFBVTtBQUNWLFNBQVM7QUFDVCxVQUFVO0FBQ1Y7QUFDQSwyQ0FBMkM7QUFDM0MsOERBQThEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELDRCQUE0QjtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLE9BQU87QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDLFVBQVU7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxVQUFVO0FBQ3JELG9CQUFvQixLQUFxQztBQUN6RDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixlQUFlO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixJQUFxQztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EscUJBQXFCLElBQXFDO0FBQzFEO0FBQ0E7QUFDQSw4REFBOEQsc0JBQXNCO0FBQ3BGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlGQUFpRjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRSxzQkFBc0I7QUFDeEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsMkJBQTJCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsaUJBQWlCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLElBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixJQUFJO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLEtBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRCxzQkFBc0I7QUFDakY7QUFDQTtBQUNBLDRCQUE0QiwwQkFBMEI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsSUFBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLG9CQUFvQixJQUFxQztBQUN6RDtBQUNBLHlHQUF5RyxjQUFjO0FBQ3ZIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLEtBQXFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixTQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHVCQUF1QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLElBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxhQUFhLElBQXFDO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLElBQXFDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5RUFBeUU7QUFDekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLElBQXFDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtFQUFrRTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLElBQXFDO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBcUM7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLE9BQU87QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLElBQXFDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsTUFBTTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsT0FBTztBQUM3QyxZQUFZLEtBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QsT0FBTztBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRCxPQUFPO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRCxPQUFPO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELE9BQU87QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLDZDQUE2QztBQUNuRjtBQUNBLG9DQUFvQztBQUNwQyxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1Qix3Q0FBd0M7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQSwyREFBMkQsNkJBQTZCO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsbUZBQW1GLElBQUk7QUFDeEg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsbUNBQW1DO0FBQ3hGLGtEQUFrRCw4Q0FBOEM7QUFDaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxxQ0FBcUM7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHdCQUF3QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDZCQUE2QjtBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDLHlDQUF5QztBQUNwRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQSx5RUFBeUU7QUFDekU7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2QkFBNkI7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IscUhBQXFIO0FBQzdJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxPQUFPO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0Esd01BQXdNO0FBQ3hNO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDLHdGQUF3RixpQkFBaUI7QUFDekc7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLGtCQUFrQixtQ0FBbUM7QUFDckYsbUNBQW1DLG1CQUFtQixpQkFBaUIsS0FBSztBQUM1RSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDBDQUEwQztBQUN4RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQSxhQUFhLHVGQUF1RjtBQUNwRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QseUJBQXlCO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IscUJBQXFCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxxQ0FBcUM7QUFDekY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0UsaUNBQWlDO0FBQ3JHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9FQUFvRSw0QkFBNEI7QUFDaEc7QUFDQSx3RkFBd0Y7QUFDeEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLElBQUk7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixxQ0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkVBQTZFLEdBQUc7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QiwwQkFBMEI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQSxvQ0FBb0MsK0JBQStCO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLHNCQUFzQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsWUFBWSxJQUFxQztBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELHdCQUF3QjtBQUNuRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELHdCQUF3QjtBQUNqRjtBQUNBO0FBQ0EsMkRBQTJELHNCQUFzQjtBQUNqRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLElBQXFDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsS0FBcUM7QUFDekQ7QUFDQTtBQUNBO0FBQ0EsK0RBQStELFdBQVc7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsSUFBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLEtBQXFDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixLQUFxQztBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLElBQXFDO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsS0FBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLGFBQW9CO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixLQUFxQztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFNnNCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9mcm9udGVuZC9jb21wb25lbnRzL0V4YW1wbGVDb21wb25lbnQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9mcm9udGVuZC9jb21wb25lbnRzL0V4YW1wbGVDb21wb25lbnQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9ib290c3RyYXAuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2Zyb250ZW5kL2FwcC5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvcGx1Z2lucy5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9mcm9udGVuZC9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9iYWNrZW5kL2FwcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2Zyb250ZW5kL2NvbXBvbmVudHMvRXhhbXBsZUNvbXBvbmVudC52dWU/OTQ4NCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvZnJvbnRlbmQvY29tcG9uZW50cy9FeGFtcGxlQ29tcG9uZW50LnZ1ZT8yN2VkIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9mcm9udGVuZC9jb21wb25lbnRzL0V4YW1wbGVDb21wb25lbnQudnVlP2QyYmUiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdnVlL2Rpc3QvdnVlLmVzbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgICA8c3Bhbj5MYXJhdmVsIEJvaWxlcnBsYXRlPC9zcGFuPlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBtb3VudGVkKCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQ29tcG9uZW50IG1vdW50ZWQuJylcclxuICAgICAgICB9XHJcbiAgICB9XHJcbjwvc2NyaXB0PlxyXG4iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyKCkge1xuICB2YXIgX3ZtID0gdGhpcyxcbiAgICBfYyA9IF92bS5fc2VsZi5fY1xuICByZXR1cm4gX2MoXCJzcGFuXCIsIFtfdm0uX3YoXCJMYXJhdmVsIEJvaWxlcnBsYXRlXCIpXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJ3aW5kb3cuXyA9IHJlcXVpcmUoJ2xvZGFzaCcpO1xyXG53aW5kb3cuU3dhbCA9IHJlcXVpcmUoJ3N3ZWV0YWxlcnQyJyk7XHJcblxyXG4vKipcclxuICogV2UnbGwgbG9hZCBqUXVlcnkgYW5kIHRoZSBCb290c3RyYXAgalF1ZXJ5IHBsdWdpbiB3aGljaCBwcm92aWRlcyBzdXBwb3J0XHJcbiAqIGZvciBKYXZhU2NyaXB0IGJhc2VkIEJvb3RzdHJhcCBmZWF0dXJlcyBzdWNoIGFzIG1vZGFscyBhbmQgdGFicy4gVGhpc1xyXG4gKiBjb2RlIG1heSBiZSBtb2RpZmllZCB0byBmaXQgdGhlIHNwZWNpZmljIG5lZWRzIG9mIHlvdXIgYXBwbGljYXRpb24uXHJcbiAqL1xyXG5cclxudHJ5IHtcclxuICAgIHdpbmRvdy5Qb3BwZXIgPSByZXF1aXJlKCdwb3BwZXIuanMnKS5kZWZhdWx0O1xyXG4gICAgd2luZG93LiQgPSB3aW5kb3cualF1ZXJ5ID0gcmVxdWlyZSgnanF1ZXJ5Jyk7XHJcblxyXG4gICAgcmVxdWlyZSgnYm9vdHN0cmFwJyk7XHJcbn0gY2F0Y2ggKGUpIHt9XHJcblxyXG4vKipcclxuICogV2UnbGwgbG9hZCB0aGUgYXhpb3MgSFRUUCBsaWJyYXJ5IHdoaWNoIGFsbG93cyB1cyB0byBlYXNpbHkgaXNzdWUgcmVxdWVzdHNcclxuICogdG8gb3VyIExhcmF2ZWwgYmFjay1lbmQuIFRoaXMgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgc2VuZGluZyB0aGVcclxuICogQ1NSRiB0b2tlbiBhcyBhIGhlYWRlciBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgdGhlIFwiWFNSRlwiIHRva2VuIGNvb2tpZS5cclxuICovXHJcblxyXG53aW5kb3cuYXhpb3MgPSByZXF1aXJlKCdheGlvcycpO1xyXG5cclxud2luZG93LmF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLVJlcXVlc3RlZC1XaXRoJ10gPSAnWE1MSHR0cFJlcXVlc3QnO1xyXG5cclxuLyoqXHJcbiAqIEVjaG8gZXhwb3NlcyBhbiBleHByZXNzaXZlIEFQSSBmb3Igc3Vic2NyaWJpbmcgdG8gY2hhbm5lbHMgYW5kIGxpc3RlbmluZ1xyXG4gKiBmb3IgZXZlbnRzIHRoYXQgYXJlIGJyb2FkY2FzdCBieSBMYXJhdmVsLiBFY2hvIGFuZCBldmVudCBicm9hZGNhc3RpbmdcclxuICogYWxsb3dzIHlvdXIgdGVhbSB0byBlYXNpbHkgYnVpbGQgcm9idXN0IHJlYWwtdGltZSB3ZWIgYXBwbGljYXRpb25zLlxyXG4gKi9cclxuXHJcbi8vIGltcG9ydCBFY2hvIGZyb20gJ2xhcmF2ZWwtZWNobyc7XHJcblxyXG4vLyB3aW5kb3cuUHVzaGVyID0gcmVxdWlyZSgncHVzaGVyLWpzJyk7XHJcblxyXG4vLyB3aW5kb3cuRWNobyA9IG5ldyBFY2hvKHtcclxuLy8gICAgIGJyb2FkY2FzdGVyOiAncHVzaGVyJyxcclxuLy8gICAgIGtleTogcHJvY2Vzcy5lbnYuTUlYX1BVU0hFUl9BUFBfS0VZLFxyXG4vLyAgICAgY2x1c3RlcjogcHJvY2Vzcy5lbnYuTUlYX1BVU0hFUl9BUFBfQ0xVU1RFUixcclxuLy8gICAgIGVuY3J5cHRlZDogdHJ1ZVxyXG4vLyB9KTtcclxuIiwiLyoqXHJcbiAqIEZpcnN0IHdlIHdpbGwgbG9hZCBhbGwgb2YgdGhpcyBwcm9qZWN0J3MgSmF2YVNjcmlwdCBkZXBlbmRlbmNpZXMgd2hpY2hcclxuICogaW5jbHVkZXMgVnVlIGFuZCBvdGhlciBsaWJyYXJpZXMuIEl0IGlzIGEgZ3JlYXQgc3RhcnRpbmcgcG9pbnQgd2hlblxyXG4gKiBidWlsZGluZyByb2J1c3QsIHBvd2VyZnVsIHdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgVnVlIGFuZCBMYXJhdmVsLlxyXG4gKi9cclxuXHJcbnJlcXVpcmUoJy4uL2Jvb3RzdHJhcCcpO1xyXG5yZXF1aXJlKCcuLi9wbHVnaW5zJyk7XHJcblxyXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSc7XHJcblxyXG4vKipcclxuICogVGhlIGZvbGxvd2luZyBibG9jayBvZiBjb2RlIG1heSBiZSB1c2VkIHRvIGF1dG9tYXRpY2FsbHkgcmVnaXN0ZXIgeW91clxyXG4gKiBWdWUgY29tcG9uZW50cy4gSXQgd2lsbCByZWN1cnNpdmVseSBzY2FuIHRoaXMgZGlyZWN0b3J5IGZvciB0aGUgVnVlXHJcbiAqIGNvbXBvbmVudHMgYW5kIGF1dG9tYXRpY2FsbHkgcmVnaXN0ZXIgdGhlbSB3aXRoIHRoZWlyIFwiYmFzZW5hbWVcIi5cclxuICpcclxuICogRWcuIC4vY29tcG9uZW50cy9FeGFtcGxlQ29tcG9uZW50LnZ1ZSAtPiA8ZXhhbXBsZS1jb21wb25lbnQ+PC9leGFtcGxlLWNvbXBvbmVudD5cclxuICovXHJcblxyXG4vLyBjb25zdCBmaWxlcyA9IHJlcXVpcmUuY29udGV4dCgnLi8nLCB0cnVlLCAvXFwudnVlJC9pKVxyXG4vLyBmaWxlcy5rZXlzKCkubWFwKGtleSA9PiBWdWUuY29tcG9uZW50KGtleS5zcGxpdCgnLycpLnBvcCgpLnNwbGl0KCcuJylbMF0sIGZpbGVzKGtleSkuZGVmYXVsdCkpXHJcblxyXG5WdWUuY29tcG9uZW50KCdleGFtcGxlLWNvbXBvbmVudCcsIHJlcXVpcmUoJy4vY29tcG9uZW50cy9FeGFtcGxlQ29tcG9uZW50LnZ1ZScpLmRlZmF1bHQpO1xyXG5cclxuLyoqXHJcbiAqIE5leHQsIHdlIHdpbGwgY3JlYXRlIGEgZnJlc2ggVnVlIGFwcGxpY2F0aW9uIGluc3RhbmNlIGFuZCBhdHRhY2ggaXQgdG9cclxuICogdGhlIHBhZ2UuIFRoZW4sIHlvdSBtYXkgYmVnaW4gYWRkaW5nIGNvbXBvbmVudHMgdG8gdGhpcyBhcHBsaWNhdGlvblxyXG4gKiBvciBjdXN0b21pemUgdGhlIEphdmFTY3JpcHQgc2NhZmZvbGRpbmcgdG8gZml0IHlvdXIgdW5pcXVlIG5lZWRzLlxyXG4gKi9cclxuXHJcbmNvbnN0IGFwcCA9IG5ldyBWdWUoe1xyXG4gICAgZWw6ICcjYXBwJyxcclxufSk7XHJcbiIsIi8qKlxyXG4gKiBQbGFjZSBhbnkgalF1ZXJ5L2hlbHBlciBwbHVnaW5zIGluIGhlcmUuXHJcbiAqL1xyXG4kKGZ1bmN0aW9uICgpIHtcclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tib3ggdHJlZSBmb3IgcGVybWlzc2lvbiBzZWxlY3RpbmdcclxuICAgICAqL1xyXG4gICAgbGV0IHBlcm1pc3Npb25UcmVlID0gJCgnLnBlcm1pc3Npb24tdHJlZSA6Y2hlY2tib3gnKTtcclxuXHJcbiAgICBwZXJtaXNzaW9uVHJlZS5vbignY2xpY2sgY2hhbmdlJywgZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgaWYoJCh0aGlzKS5pcygnOmNoZWNrZWQnKSkge1xyXG4gICAgICAgICAgICAkKHRoaXMpLnNpYmxpbmdzKCd1bCcpLmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLmF0dHIoJ2NoZWNrZWQnLCB0cnVlKS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICQodGhpcykuc2libGluZ3MoJ3VsJykuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykucmVtb3ZlQXR0cignY2hlY2tlZCcpLnJlbW92ZUF0dHIoJ2Rpc2FibGVkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcGVybWlzc2lvblRyZWUuZWFjaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgaWYoJCh0aGlzKS5pcygnOmNoZWNrZWQnKSkge1xyXG4gICAgICAgICAgICAkKHRoaXMpLnNpYmxpbmdzKCd1bCcpLmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLmF0dHIoJ2NoZWNrZWQnLCB0cnVlKS5hdHRyKCdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGlzYWJsZSBzdWJtaXQgaW5wdXRzIGluIHRoZSBnaXZlbiBmb3JtXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGZvcm1cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gZGlzYWJsZVN1Ym1pdEJ1dHRvbnMoZm9ybSkge1xyXG4gICAgICAgIGZvcm0uZmluZCgnaW5wdXRbdHlwZT1cInN1Ym1pdFwiXScpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgZm9ybS5maW5kKCdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScpLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbmFibGUgdGhlIHN1Ym1pdCBpbnB1dHMgaW4gYSBnaXZlbiBmb3JtXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGZvcm1cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gZW5hYmxlU3VibWl0QnV0dG9ucyhmb3JtKSB7XHJcbiAgICAgICAgZm9ybS5maW5kKCdpbnB1dFt0eXBlPVwic3VibWl0XCJdJykucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcclxuICAgICAgICBmb3JtLmZpbmQoJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJykucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERpc2FibGUgYWxsIHN1Ym1pdCBidXR0b25zIG9uY2UgY2xpY2tlZFxyXG4gICAgICovXHJcbiAgICAkKCdmb3JtJykuc3VibWl0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBkaXNhYmxlU3VibWl0QnV0dG9ucygkKHRoaXMpKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIGEgY29uZmlybWF0aW9uIHRvIGEgZGVsZXRlIGJ1dHRvbi9mb3JtXHJcbiAgICAgKi9cclxuICAgICQoJ2JvZHknKS5vbignc3VibWl0JywgJ2Zvcm1bbmFtZT1kZWxldGUtaXRlbV0nLCBmdW5jdGlvbihlKSB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBpdGVtPycsXHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnQ29uZmlybSBEZWxldGUnLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAnQ2FuY2VsJyxcclxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXHJcbiAgICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0KClcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGVuYWJsZVN1Ym1pdEJ1dHRvbnMoJCh0aGlzKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pXHJcbiAgICAgICAgLm9uKCdzdWJtaXQnLCAnZm9ybVtuYW1lPWNvbmZpcm0taXRlbV0nLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZG8gdGhpcz8nLFxyXG4gICAgICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnQ29udGludWUnLFxyXG4gICAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXHJcbiAgICAgICAgICAgICAgICBpY29uOiAnd2FybmluZydcclxuICAgICAgICAgICAgfSkudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJtaXQoKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBlbmFibGVTdWJtaXRCdXR0b25zKCQodGhpcykpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5vbignY2xpY2snLCAnYVtuYW1lPWNvbmZpcm0taXRlbV0nLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIEFkZCBhbiAnYXJlIHlvdSBzdXJlJyBwb3AtdXAgdG8gYW55IGJ1dHRvbi9saW5rXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgICBTd2FsLmZpcmUoe1xyXG4gICAgICAgICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkbyB0aGlzPycsXHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnQ29udGludWUnLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAnQ2FuY2VsJyxcclxuICAgICAgICAgICAgaWNvbjogJ2luZm8nLFxyXG4gICAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICByZXN1bHQudmFsdWUgJiYgd2luZG93LmxvY2F0aW9uLmFzc2lnbigkKHRoaXMpLmF0dHIoJ2hyZWYnKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBSZW1lbWJlciB0YWIgb24gcGFnZSBsb2FkXHJcbiAgICAkKCdhW2RhdGEtdG9nZ2xlPVwidGFiXCJdLCBhW2RhdGEtdG9nZ2xlPVwicGlsbFwiXScpLm9uKCdzaG93bi5icy50YWInLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIGxldCBoYXNoID0gJChlLnRhcmdldCkuYXR0cignaHJlZicpO1xyXG4gICAgICAgIGhpc3RvcnkucHVzaFN0YXRlID8gaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgaGFzaCkgOiBsb2NhdGlvbi5oYXNoID0gaGFzaDtcclxuICAgIH0pO1xyXG5cclxuICAgIGxldCBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7XHJcbiAgICBpZiAoaGFzaCkge1xyXG4gICAgICAgICQoJy5uYXYtbGlua1tocmVmPVwiJytoYXNoKydcIl0nKS50YWIoJ3Nob3cnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBFbmFibGUgdG9vbHRpcHMgZXZlcnl3aGVyZVxyXG4gICAgJCgnW2RhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXScpLnRvb2x0aXAoKTtcclxufSk7XHJcbiIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuZXhwb3J0IHt9OyIsIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpblxuZXhwb3J0IHt9OyIsIi8vIHNoaW0gZm9yIHVzaW5nIHByb2Nlc3MgaW4gYnJvd3NlclxudmFyIHByb2Nlc3MgPSBtb2R1bGUuZXhwb3J0cyA9IHt9O1xuXG4vLyBjYWNoZWQgZnJvbSB3aGF0ZXZlciBnbG9iYWwgaXMgcHJlc2VudCBzbyB0aGF0IHRlc3QgcnVubmVycyB0aGF0IHN0dWIgaXRcbi8vIGRvbid0IGJyZWFrIHRoaW5ncy4gIEJ1dCB3ZSBuZWVkIHRvIHdyYXAgaXQgaW4gYSB0cnkgY2F0Y2ggaW4gY2FzZSBpdCBpc1xuLy8gd3JhcHBlZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdoaWNoIGRvZXNuJ3QgZGVmaW5lIGFueSBnbG9iYWxzLiAgSXQncyBpbnNpZGUgYVxuLy8gZnVuY3Rpb24gYmVjYXVzZSB0cnkvY2F0Y2hlcyBkZW9wdGltaXplIGluIGNlcnRhaW4gZW5naW5lcy5cblxudmFyIGNhY2hlZFNldFRpbWVvdXQ7XG52YXIgY2FjaGVkQ2xlYXJUaW1lb3V0O1xuXG5mdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCkge1xuICAgIHRocm93IG5ldyBFcnJvcignc2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCAoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbihmdW5jdGlvbiAoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgfVxufSAoKSlcbmZ1bmN0aW9uIHJ1blRpbWVvdXQoZnVuKSB7XG4gICAgaWYgKGNhY2hlZFNldFRpbWVvdXQgPT09IHNldFRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIC8vIGlmIHNldFRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRTZXRUaW1lb3V0ID09PSBkZWZhdWx0U2V0VGltb3V0IHx8ICFjYWNoZWRTZXRUaW1lb3V0KSAmJiBzZXRUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfSBjYXRjaChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLCBmdW4sIDApO1xuICAgICAgICB9IGNhdGNoKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3JcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcywgZnVuLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQobWFya2VyKSB7XG4gICAgaWYgKGNhY2hlZENsZWFyVGltZW91dCA9PT0gY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIC8vIGlmIGNsZWFyVGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZENsZWFyVGltZW91dCA9PT0gZGVmYXVsdENsZWFyVGltZW91dCB8fCAhY2FjaGVkQ2xlYXJUaW1lb3V0KSAmJiBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0ICB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKG51bGwsIG1hcmtlcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3IuXG4gICAgICAgICAgICAvLyBTb21lIHZlcnNpb25zIG9mIEkuRS4gaGF2ZSBkaWZmZXJlbnQgcnVsZXMgZm9yIGNsZWFyVGltZW91dCB2cyBzZXRUaW1lb3V0XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwodGhpcywgbWFya2VyKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbn1cbnZhciBxdWV1ZSA9IFtdO1xudmFyIGRyYWluaW5nID0gZmFsc2U7XG52YXIgY3VycmVudFF1ZXVlO1xudmFyIHF1ZXVlSW5kZXggPSAtMTtcblxuZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCkge1xuICAgIGlmICghZHJhaW5pbmcgfHwgIWN1cnJlbnRRdWV1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgaWYgKGN1cnJlbnRRdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgcXVldWUgPSBjdXJyZW50UXVldWUuY29uY2F0KHF1ZXVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgfVxuICAgIGlmIChxdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgZHJhaW5RdWV1ZSgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZHJhaW5RdWV1ZSgpIHtcbiAgICBpZiAoZHJhaW5pbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdGltZW91dCA9IHJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtcbiAgICBkcmFpbmluZyA9IHRydWU7XG5cbiAgICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIHdoaWxlKGxlbikge1xuICAgICAgICBjdXJyZW50UXVldWUgPSBxdWV1ZTtcbiAgICAgICAgcXVldWUgPSBbXTtcbiAgICAgICAgd2hpbGUgKCsrcXVldWVJbmRleCA8IGxlbikge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRRdWV1ZSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgICAgIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB9XG4gICAgY3VycmVudFF1ZXVlID0gbnVsbDtcbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIHJ1bkNsZWFyVGltZW91dCh0aW1lb3V0KTtcbn1cblxucHJvY2Vzcy5uZXh0VGljayA9IGZ1bmN0aW9uIChmdW4pIHtcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBxdWV1ZS5wdXNoKG5ldyBJdGVtKGZ1biwgYXJncykpO1xuICAgIGlmIChxdWV1ZS5sZW5ndGggPT09IDEgJiYgIWRyYWluaW5nKSB7XG4gICAgICAgIHJ1blRpbWVvdXQoZHJhaW5RdWV1ZSk7XG4gICAgfVxufTtcblxuLy8gdjggbGlrZXMgcHJlZGljdGlibGUgb2JqZWN0c1xuZnVuY3Rpb24gSXRlbShmdW4sIGFycmF5KSB7XG4gICAgdGhpcy5mdW4gPSBmdW47XG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xufVxuSXRlbS5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xufTtcbnByb2Nlc3MudGl0bGUgPSAnYnJvd3Nlcic7XG5wcm9jZXNzLmJyb3dzZXIgPSB0cnVlO1xucHJvY2Vzcy5lbnYgPSB7fTtcbnByb2Nlc3MuYXJndiA9IFtdO1xucHJvY2Vzcy52ZXJzaW9uID0gJyc7IC8vIGVtcHR5IHN0cmluZyB0byBhdm9pZCByZWdleHAgaXNzdWVzXG5wcm9jZXNzLnZlcnNpb25zID0ge307XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5wcm9jZXNzLm9uID0gbm9vcDtcbnByb2Nlc3MuYWRkTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5vbmNlID0gbm9vcDtcbnByb2Nlc3Mub2ZmID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBub29wO1xucHJvY2Vzcy5lbWl0ID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZE9uY2VMaXN0ZW5lciA9IG5vb3A7XG5cbnByb2Nlc3MubGlzdGVuZXJzID0gZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIFtdIH1cblxucHJvY2Vzcy5iaW5kaW5nID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xuXG5wcm9jZXNzLmN3ZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcvJyB9O1xucHJvY2Vzcy5jaGRpciA9IGZ1bmN0aW9uIChkaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcbnByb2Nlc3MudW1hc2sgPSBmdW5jdGlvbigpIHsgcmV0dXJuIDA7IH07XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0V4YW1wbGVDb21wb25lbnQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTEzYmY0NDJkJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0V4YW1wbGVDb21wb25lbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9FeGFtcGxlQ29tcG9uZW50LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGxcbiAgXG4pXG5cbi8qIGhvdCByZWxvYWQgKi9cbmlmIChtb2R1bGUuaG90KSB7XG4gIHZhciBhcGkgPSByZXF1aXJlKFwiRjpcXFxcUGVyYV9FbmdpbmVlcmluZ1xcXFxzaG9ydCBzZW1lc3RlclxcXFxDTzIwMFxcXFxSZWZlcmVuY2VzX01vZHVsZXNcXFxccG9ydGFsLmNlLnBkbi5hYy5sa1xcXFxub2RlX21vZHVsZXNcXFxcdnVlLWhvdC1yZWxvYWQtYXBpXFxcXGRpc3RcXFxcaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCcxM2JmNDQyZCcpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCcxM2JmNDQyZCcsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCcxM2JmNDQyZCcsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vRXhhbXBsZUNvbXBvbmVudC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTNiZjQ0MmQmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignMTNiZjQ0MmQnLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInJlc291cmNlcy9qcy9mcm9udGVuZC9jb21wb25lbnRzL0V4YW1wbGVDb21wb25lbnQudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01LnVzZVswXSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0V4YW1wbGVDb21wb25lbnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9jbG9uZWRSdWxlU2V0LTUudXNlWzBdIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRXhhbXBsZUNvbXBvbmVudC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01LnVzZVswXSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/cnVsZVNldFsxXS5ydWxlc1syXSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0V4YW1wbGVDb21wb25lbnQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTEzYmY0NDJkJlwiIiwiLyogZ2xvYmFscyBfX1ZVRV9TU1JfQ09OVEVYVF9fICovXG5cbi8vIElNUE9SVEFOVDogRG8gTk9UIHVzZSBFUzIwMTUgZmVhdHVyZXMgaW4gdGhpcyBmaWxlIChleGNlcHQgZm9yIG1vZHVsZXMpLlxuLy8gVGhpcyBtb2R1bGUgaXMgYSBydW50aW1lIHV0aWxpdHkgZm9yIGNsZWFuZXIgY29tcG9uZW50IG1vZHVsZSBvdXRwdXQgYW5kIHdpbGxcbi8vIGJlIGluY2x1ZGVkIGluIHRoZSBmaW5hbCB3ZWJwYWNrIHVzZXIgYnVuZGxlLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBub3JtYWxpemVDb21wb25lbnQoXG4gIHNjcmlwdEV4cG9ydHMsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmdW5jdGlvbmFsVGVtcGxhdGUsXG4gIGluamVjdFN0eWxlcyxcbiAgc2NvcGVJZCxcbiAgbW9kdWxlSWRlbnRpZmllciAvKiBzZXJ2ZXIgb25seSAqLyxcbiAgc2hhZG93TW9kZSAvKiB2dWUtY2xpIG9ubHkgKi9cbikge1xuICAvLyBWdWUuZXh0ZW5kIGNvbnN0cnVjdG9yIGV4cG9ydCBpbnRlcm9wXG4gIHZhciBvcHRpb25zID1cbiAgICB0eXBlb2Ygc2NyaXB0RXhwb3J0cyA9PT0gJ2Z1bmN0aW9uJyA/IHNjcmlwdEV4cG9ydHMub3B0aW9ucyA6IHNjcmlwdEV4cG9ydHNcblxuICAvLyByZW5kZXIgZnVuY3Rpb25zXG4gIGlmIChyZW5kZXIpIHtcbiAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlclxuICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zXG4gICAgb3B0aW9ucy5fY29tcGlsZWQgPSB0cnVlXG4gIH1cblxuICAvLyBmdW5jdGlvbmFsIHRlbXBsYXRlXG4gIGlmIChmdW5jdGlvbmFsVGVtcGxhdGUpIHtcbiAgICBvcHRpb25zLmZ1bmN0aW9uYWwgPSB0cnVlXG4gIH1cblxuICAvLyBzY29wZWRJZFxuICBpZiAoc2NvcGVJZCkge1xuICAgIG9wdGlvbnMuX3Njb3BlSWQgPSAnZGF0YS12LScgKyBzY29wZUlkXG4gIH1cblxuICB2YXIgaG9va1xuICBpZiAobW9kdWxlSWRlbnRpZmllcikge1xuICAgIC8vIHNlcnZlciBidWlsZFxuICAgIGhvb2sgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgLy8gMi4zIGluamVjdGlvblxuICAgICAgY29udGV4dCA9XG4gICAgICAgIGNvbnRleHQgfHwgLy8gY2FjaGVkIGNhbGxcbiAgICAgICAgKHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHQpIHx8IC8vIHN0YXRlZnVsXG4gICAgICAgICh0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC4kdm5vZGUgJiYgdGhpcy5wYXJlbnQuJHZub2RlLnNzckNvbnRleHQpIC8vIGZ1bmN0aW9uYWxcbiAgICAgIC8vIDIuMiB3aXRoIHJ1bkluTmV3Q29udGV4dDogdHJ1ZVxuICAgICAgaWYgKCFjb250ZXh0ICYmIHR5cGVvZiBfX1ZVRV9TU1JfQ09OVEVYVF9fICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjb250ZXh0ID0gX19WVUVfU1NSX0NPTlRFWFRfX1xuICAgICAgfVxuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCBzdHlsZXNcbiAgICAgIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwodGhpcywgY29udGV4dClcbiAgICAgIH1cbiAgICAgIC8vIHJlZ2lzdGVyIGNvbXBvbmVudCBtb2R1bGUgaWRlbnRpZmllciBmb3IgYXN5bmMgY2h1bmsgaW5mZXJyZW5jZVxuICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMpIHtcbiAgICAgICAgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKG1vZHVsZUlkZW50aWZpZXIpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVzZWQgYnkgc3NyIGluIGNhc2UgY29tcG9uZW50IGlzIGNhY2hlZCBhbmQgYmVmb3JlQ3JlYXRlXG4gICAgLy8gbmV2ZXIgZ2V0cyBjYWxsZWRcbiAgICBvcHRpb25zLl9zc3JSZWdpc3RlciA9IGhvb2tcbiAgfSBlbHNlIGlmIChpbmplY3RTdHlsZXMpIHtcbiAgICBob29rID0gc2hhZG93TW9kZVxuICAgICAgPyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwoXG4gICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgKG9wdGlvbnMuZnVuY3Rpb25hbCA/IHRoaXMucGFyZW50IDogdGhpcykuJHJvb3QuJG9wdGlvbnMuc2hhZG93Um9vdFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgOiBpbmplY3RTdHlsZXNcbiAgfVxuXG4gIGlmIChob29rKSB7XG4gICAgaWYgKG9wdGlvbnMuZnVuY3Rpb25hbCkge1xuICAgICAgLy8gZm9yIHRlbXBsYXRlLW9ubHkgaG90LXJlbG9hZCBiZWNhdXNlIGluIHRoYXQgY2FzZSB0aGUgcmVuZGVyIGZuIGRvZXNuJ3RcbiAgICAgIC8vIGdvIHRocm91Z2ggdGhlIG5vcm1hbGl6ZXJcbiAgICAgIG9wdGlvbnMuX2luamVjdFN0eWxlcyA9IGhvb2tcbiAgICAgIC8vIHJlZ2lzdGVyIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudCBpbiB2dWUgZmlsZVxuICAgICAgdmFyIG9yaWdpbmFsUmVuZGVyID0gb3B0aW9ucy5yZW5kZXJcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyV2l0aFN0eWxlSW5qZWN0aW9uKGgsIGNvbnRleHQpIHtcbiAgICAgICAgaG9vay5jYWxsKGNvbnRleHQpXG4gICAgICAgIHJldHVybiBvcmlnaW5hbFJlbmRlcihoLCBjb250ZXh0KVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHJlZ2lzdHJhdGlvbiBhcyBiZWZvcmVDcmVhdGUgaG9va1xuICAgICAgdmFyIGV4aXN0aW5nID0gb3B0aW9ucy5iZWZvcmVDcmVhdGVcbiAgICAgIG9wdGlvbnMuYmVmb3JlQ3JlYXRlID0gZXhpc3RpbmcgPyBbXS5jb25jYXQoZXhpc3RpbmcsIGhvb2spIDogW2hvb2tdXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBleHBvcnRzOiBzY3JpcHRFeHBvcnRzLFxuICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgfVxufVxuIiwiLyohXG4gKiBWdWUuanMgdjIuNy4xNFxuICogKGMpIDIwMTQtMjAyMiBFdmFuIFlvdVxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLlxuICovXG52YXIgZW1wdHlPYmplY3QgPSBPYmplY3QuZnJlZXplKHt9KTtcbnZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcbi8vIFRoZXNlIGhlbHBlcnMgcHJvZHVjZSBiZXR0ZXIgVk0gY29kZSBpbiBKUyBlbmdpbmVzIGR1ZSB0byB0aGVpclxuLy8gZXhwbGljaXRuZXNzIGFuZCBmdW5jdGlvbiBpbmxpbmluZy5cbmZ1bmN0aW9uIGlzVW5kZWYodikge1xuICAgIHJldHVybiB2ID09PSB1bmRlZmluZWQgfHwgdiA9PT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzRGVmKHYpIHtcbiAgICByZXR1cm4gdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09IG51bGw7XG59XG5mdW5jdGlvbiBpc1RydWUodikge1xuICAgIHJldHVybiB2ID09PSB0cnVlO1xufVxuZnVuY3Rpb24gaXNGYWxzZSh2KSB7XG4gICAgcmV0dXJuIHYgPT09IGZhbHNlO1xufVxuLyoqXG4gKiBDaGVjayBpZiB2YWx1ZSBpcyBwcmltaXRpdmUuXG4gKi9cbmZ1bmN0aW9uIGlzUHJpbWl0aXZlKHZhbHVlKSB7XG4gICAgcmV0dXJuICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8XG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICAgICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N5bWJvbCcgfHxcbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpO1xufVxuZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZSkge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XG59XG4vKipcbiAqIFF1aWNrIG9iamVjdCBjaGVjayAtIHRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgdG8gdGVsbFxuICogb2JqZWN0cyBmcm9tIHByaW1pdGl2ZSB2YWx1ZXMgd2hlbiB3ZSBrbm93IHRoZSB2YWx1ZVxuICogaXMgYSBKU09OLWNvbXBsaWFudCB0eXBlLlxuICovXG5mdW5jdGlvbiBpc09iamVjdChvYmopIHtcbiAgICByZXR1cm4gb2JqICE9PSBudWxsICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3QnO1xufVxuLyoqXG4gKiBHZXQgdGhlIHJhdyB0eXBlIHN0cmluZyBvZiBhIHZhbHVlLCBlLmcuLCBbb2JqZWN0IE9iamVjdF0uXG4gKi9cbnZhciBfdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuZnVuY3Rpb24gdG9SYXdUeXBlKHZhbHVlKSB7XG4gICAgcmV0dXJuIF90b1N0cmluZy5jYWxsKHZhbHVlKS5zbGljZSg4LCAtMSk7XG59XG4vKipcbiAqIFN0cmljdCBvYmplY3QgdHlwZSBjaGVjay4gT25seSByZXR1cm5zIHRydWVcbiAqIGZvciBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdHMuXG4gKi9cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3Qob2JqKSB7XG4gICAgcmV0dXJuIF90b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IE9iamVjdF0nO1xufVxuZnVuY3Rpb24gaXNSZWdFeHAodikge1xuICAgIHJldHVybiBfdG9TdHJpbmcuY2FsbCh2KSA9PT0gJ1tvYmplY3QgUmVnRXhwXSc7XG59XG4vKipcbiAqIENoZWNrIGlmIHZhbCBpcyBhIHZhbGlkIGFycmF5IGluZGV4LlxuICovXG5mdW5jdGlvbiBpc1ZhbGlkQXJyYXlJbmRleCh2YWwpIHtcbiAgICB2YXIgbiA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbCkpO1xuICAgIHJldHVybiBuID49IDAgJiYgTWF0aC5mbG9vcihuKSA9PT0gbiAmJiBpc0Zpbml0ZSh2YWwpO1xufVxuZnVuY3Rpb24gaXNQcm9taXNlKHZhbCkge1xuICAgIHJldHVybiAoaXNEZWYodmFsKSAmJlxuICAgICAgICB0eXBlb2YgdmFsLnRoZW4gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgdHlwZW9mIHZhbC5jYXRjaCA9PT0gJ2Z1bmN0aW9uJyk7XG59XG4vKipcbiAqIENvbnZlcnQgYSB2YWx1ZSB0byBhIHN0cmluZyB0aGF0IGlzIGFjdHVhbGx5IHJlbmRlcmVkLlxuICovXG5mdW5jdGlvbiB0b1N0cmluZyh2YWwpIHtcbiAgICByZXR1cm4gdmFsID09IG51bGxcbiAgICAgICAgPyAnJ1xuICAgICAgICA6IEFycmF5LmlzQXJyYXkodmFsKSB8fCAoaXNQbGFpbk9iamVjdCh2YWwpICYmIHZhbC50b1N0cmluZyA9PT0gX3RvU3RyaW5nKVxuICAgICAgICAgICAgPyBKU09OLnN0cmluZ2lmeSh2YWwsIG51bGwsIDIpXG4gICAgICAgICAgICA6IFN0cmluZyh2YWwpO1xufVxuLyoqXG4gKiBDb252ZXJ0IGFuIGlucHV0IHZhbHVlIHRvIGEgbnVtYmVyIGZvciBwZXJzaXN0ZW5jZS5cbiAqIElmIHRoZSBjb252ZXJzaW9uIGZhaWxzLCByZXR1cm4gb3JpZ2luYWwgc3RyaW5nLlxuICovXG5mdW5jdGlvbiB0b051bWJlcih2YWwpIHtcbiAgICB2YXIgbiA9IHBhcnNlRmxvYXQodmFsKTtcbiAgICByZXR1cm4gaXNOYU4obikgPyB2YWwgOiBuO1xufVxuLyoqXG4gKiBNYWtlIGEgbWFwIGFuZCByZXR1cm4gYSBmdW5jdGlvbiBmb3IgY2hlY2tpbmcgaWYgYSBrZXlcbiAqIGlzIGluIHRoYXQgbWFwLlxuICovXG5mdW5jdGlvbiBtYWtlTWFwKHN0ciwgZXhwZWN0c0xvd2VyQ2FzZSkge1xuICAgIHZhciBtYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHZhciBsaXN0ID0gc3RyLnNwbGl0KCcsJyk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG1hcFtsaXN0W2ldXSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBleHBlY3RzTG93ZXJDYXNlID8gZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gbWFwW3ZhbC50b0xvd2VyQ2FzZSgpXTsgfSA6IGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIG1hcFt2YWxdOyB9O1xufVxuLyoqXG4gKiBDaGVjayBpZiBhIHRhZyBpcyBhIGJ1aWx0LWluIHRhZy5cbiAqL1xudmFyIGlzQnVpbHRJblRhZyA9IG1ha2VNYXAoJ3Nsb3QsY29tcG9uZW50JywgdHJ1ZSk7XG4vKipcbiAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBpcyBhIHJlc2VydmVkIGF0dHJpYnV0ZS5cbiAqL1xudmFyIGlzUmVzZXJ2ZWRBdHRyaWJ1dGUgPSBtYWtlTWFwKCdrZXkscmVmLHNsb3Qsc2xvdC1zY29wZSxpcycpO1xuLyoqXG4gKiBSZW1vdmUgYW4gaXRlbSBmcm9tIGFuIGFycmF5LlxuICovXG5mdW5jdGlvbiByZW1vdmUkMihhcnIsIGl0ZW0pIHtcbiAgICB2YXIgbGVuID0gYXJyLmxlbmd0aDtcbiAgICBpZiAobGVuKSB7XG4gICAgICAgIC8vIGZhc3QgcGF0aCBmb3IgdGhlIG9ubHkgLyBsYXN0IGl0ZW1cbiAgICAgICAgaWYgKGl0ZW0gPT09IGFycltsZW4gLSAxXSkge1xuICAgICAgICAgICAgYXJyLmxlbmd0aCA9IGxlbiAtIDE7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGluZGV4ID0gYXJyLmluZGV4T2YoaXRlbSk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJyLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIENoZWNrIHdoZXRoZXIgYW4gb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkuXG4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5mdW5jdGlvbiBoYXNPd24ob2JqLCBrZXkpIHtcbiAgICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSk7XG59XG4vKipcbiAqIENyZWF0ZSBhIGNhY2hlZCB2ZXJzaW9uIG9mIGEgcHVyZSBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gY2FjaGVkKGZuKSB7XG4gICAgdmFyIGNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2FjaGVkRm4oc3RyKSB7XG4gICAgICAgIHZhciBoaXQgPSBjYWNoZVtzdHJdO1xuICAgICAgICByZXR1cm4gaGl0IHx8IChjYWNoZVtzdHJdID0gZm4oc3RyKSk7XG4gICAgfTtcbn1cbi8qKlxuICogQ2FtZWxpemUgYSBoeXBoZW4tZGVsaW1pdGVkIHN0cmluZy5cbiAqL1xudmFyIGNhbWVsaXplUkUgPSAvLShcXHcpL2c7XG52YXIgY2FtZWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZShjYW1lbGl6ZVJFLCBmdW5jdGlvbiAoXywgYykgeyByZXR1cm4gKGMgPyBjLnRvVXBwZXJDYXNlKCkgOiAnJyk7IH0pO1xufSk7XG4vKipcbiAqIENhcGl0YWxpemUgYSBzdHJpbmcuXG4gKi9cbnZhciBjYXBpdGFsaXplID0gY2FjaGVkKGZ1bmN0aW9uIChzdHIpIHtcbiAgICByZXR1cm4gc3RyLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKDEpO1xufSk7XG4vKipcbiAqIEh5cGhlbmF0ZSBhIGNhbWVsQ2FzZSBzdHJpbmcuXG4gKi9cbnZhciBoeXBoZW5hdGVSRSA9IC9cXEIoW0EtWl0pL2c7XG52YXIgaHlwaGVuYXRlID0gY2FjaGVkKGZ1bmN0aW9uIChzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoaHlwaGVuYXRlUkUsICctJDEnKS50b0xvd2VyQ2FzZSgpO1xufSk7XG4vKipcbiAqIFNpbXBsZSBiaW5kIHBvbHlmaWxsIGZvciBlbnZpcm9ubWVudHMgdGhhdCBkbyBub3Qgc3VwcG9ydCBpdCxcbiAqIGUuZy4sIFBoYW50b21KUyAxLnguIFRlY2huaWNhbGx5LCB3ZSBkb24ndCBuZWVkIHRoaXMgYW55bW9yZVxuICogc2luY2UgbmF0aXZlIGJpbmQgaXMgbm93IHBlcmZvcm1hbnQgZW5vdWdoIGluIG1vc3QgYnJvd3NlcnMuXG4gKiBCdXQgcmVtb3ZpbmcgaXQgd291bGQgbWVhbiBicmVha2luZyBjb2RlIHRoYXQgd2FzIGFibGUgdG8gcnVuIGluXG4gKiBQaGFudG9tSlMgMS54LCBzbyB0aGlzIG11c3QgYmUga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAqL1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIHBvbHlmaWxsQmluZChmbiwgY3R4KSB7XG4gICAgZnVuY3Rpb24gYm91bmRGbihhKSB7XG4gICAgICAgIHZhciBsID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIGxcbiAgICAgICAgICAgID8gbCA+IDFcbiAgICAgICAgICAgICAgICA/IGZuLmFwcGx5KGN0eCwgYXJndW1lbnRzKVxuICAgICAgICAgICAgICAgIDogZm4uY2FsbChjdHgsIGEpXG4gICAgICAgICAgICA6IGZuLmNhbGwoY3R4KTtcbiAgICB9XG4gICAgYm91bmRGbi5fbGVuZ3RoID0gZm4ubGVuZ3RoO1xuICAgIHJldHVybiBib3VuZEZuO1xufVxuZnVuY3Rpb24gbmF0aXZlQmluZChmbiwgY3R4KSB7XG4gICAgcmV0dXJuIGZuLmJpbmQoY3R4KTtcbn1cbi8vIEB0cy1leHBlY3QtZXJyb3IgYmluZCBjYW5ub3QgYmUgYHVuZGVmaW5lZGBcbnZhciBiaW5kJDEgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCA/IG5hdGl2ZUJpbmQgOiBwb2x5ZmlsbEJpbmQ7XG4vKipcbiAqIENvbnZlcnQgYW4gQXJyYXktbGlrZSBvYmplY3QgdG8gYSByZWFsIEFycmF5LlxuICovXG5mdW5jdGlvbiB0b0FycmF5KGxpc3QsIHN0YXJ0KSB7XG4gICAgc3RhcnQgPSBzdGFydCB8fCAwO1xuICAgIHZhciBpID0gbGlzdC5sZW5ndGggLSBzdGFydDtcbiAgICB2YXIgcmV0ID0gbmV3IEFycmF5KGkpO1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgcmV0W2ldID0gbGlzdFtpICsgc3RhcnRdO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xufVxuLyoqXG4gKiBNaXggcHJvcGVydGllcyBpbnRvIHRhcmdldCBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGV4dGVuZCh0bywgX2Zyb20pIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gX2Zyb20pIHtcbiAgICAgICAgdG9ba2V5XSA9IF9mcm9tW2tleV07XG4gICAgfVxuICAgIHJldHVybiB0bztcbn1cbi8qKlxuICogTWVyZ2UgYW4gQXJyYXkgb2YgT2JqZWN0cyBpbnRvIGEgc2luZ2xlIE9iamVjdC5cbiAqL1xuZnVuY3Rpb24gdG9PYmplY3QoYXJyKSB7XG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChhcnJbaV0pIHtcbiAgICAgICAgICAgIGV4dGVuZChyZXMsIGFycltpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKipcbiAqIFBlcmZvcm0gbm8gb3BlcmF0aW9uLlxuICogU3R1YmJpbmcgYXJncyB0byBtYWtlIEZsb3cgaGFwcHkgd2l0aG91dCBsZWF2aW5nIHVzZWxlc3MgdHJhbnNwaWxlZCBjb2RlXG4gKiB3aXRoIC4uLnJlc3QgKGh0dHBzOi8vZmxvdy5vcmcvYmxvZy8yMDE3LzA1LzA3L1N0cmljdC1GdW5jdGlvbi1DYWxsLUFyaXR5LykuXG4gKi9cbmZ1bmN0aW9uIG5vb3AoYSwgYiwgYykgeyB9XG4vKipcbiAqIEFsd2F5cyByZXR1cm4gZmFsc2UuXG4gKi9cbnZhciBubyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7IHJldHVybiBmYWxzZTsgfTtcbi8qIGVzbGludC1lbmFibGUgbm8tdW51c2VkLXZhcnMgKi9cbi8qKlxuICogUmV0dXJuIHRoZSBzYW1lIHZhbHVlLlxuICovXG52YXIgaWRlbnRpdHkgPSBmdW5jdGlvbiAoXykgeyByZXR1cm4gXzsgfTtcbi8qKlxuICogR2VuZXJhdGUgYSBzdHJpbmcgY29udGFpbmluZyBzdGF0aWMga2V5cyBmcm9tIGNvbXBpbGVyIG1vZHVsZXMuXG4gKi9cbmZ1bmN0aW9uIGdlblN0YXRpY0tleXMkMShtb2R1bGVzKSB7XG4gICAgcmV0dXJuIG1vZHVsZXNcbiAgICAgICAgLnJlZHVjZShmdW5jdGlvbiAoa2V5cywgbSkge1xuICAgICAgICByZXR1cm4ga2V5cy5jb25jYXQobS5zdGF0aWNLZXlzIHx8IFtdKTtcbiAgICB9LCBbXSlcbiAgICAgICAgLmpvaW4oJywnKTtcbn1cbi8qKlxuICogQ2hlY2sgaWYgdHdvIHZhbHVlcyBhcmUgbG9vc2VseSBlcXVhbCAtIHRoYXQgaXMsXG4gKiBpZiB0aGV5IGFyZSBwbGFpbiBvYmplY3RzLCBkbyB0aGV5IGhhdmUgdGhlIHNhbWUgc2hhcGU/XG4gKi9cbmZ1bmN0aW9uIGxvb3NlRXF1YWwoYSwgYikge1xuICAgIGlmIChhID09PSBiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB2YXIgaXNPYmplY3RBID0gaXNPYmplY3QoYSk7XG4gICAgdmFyIGlzT2JqZWN0QiA9IGlzT2JqZWN0KGIpO1xuICAgIGlmIChpc09iamVjdEEgJiYgaXNPYmplY3RCKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YXIgaXNBcnJheUEgPSBBcnJheS5pc0FycmF5KGEpO1xuICAgICAgICAgICAgdmFyIGlzQXJyYXlCID0gQXJyYXkuaXNBcnJheShiKTtcbiAgICAgICAgICAgIGlmIChpc0FycmF5QSAmJiBpc0FycmF5Qikge1xuICAgICAgICAgICAgICAgIHJldHVybiAoYS5sZW5ndGggPT09IGIubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIGEuZXZlcnkoZnVuY3Rpb24gKGUsIGkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb29zZUVxdWFsKGUsIGJbaV0pO1xuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChhIGluc3RhbmNlb2YgRGF0ZSAmJiBiIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhLmdldFRpbWUoKSA9PT0gYi5nZXRUaW1lKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICghaXNBcnJheUEgJiYgIWlzQXJyYXlCKSB7XG4gICAgICAgICAgICAgICAgdmFyIGtleXNBID0gT2JqZWN0LmtleXMoYSk7XG4gICAgICAgICAgICAgICAgdmFyIGtleXNCID0gT2JqZWN0LmtleXMoYik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChrZXlzQS5sZW5ndGggPT09IGtleXNCLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICBrZXlzQS5ldmVyeShmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9vc2VFcXVhbChhW2tleV0sIGJba2V5XSk7XG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKCFpc09iamVjdEEgJiYgIWlzT2JqZWN0Qikge1xuICAgICAgICByZXR1cm4gU3RyaW5nKGEpID09PSBTdHJpbmcoYik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuLyoqXG4gKiBSZXR1cm4gdGhlIGZpcnN0IGluZGV4IGF0IHdoaWNoIGEgbG9vc2VseSBlcXVhbCB2YWx1ZSBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBhcnJheSAoaWYgdmFsdWUgaXMgYSBwbGFpbiBvYmplY3QsIHRoZSBhcnJheSBtdXN0XG4gKiBjb250YWluIGFuIG9iamVjdCBvZiB0aGUgc2FtZSBzaGFwZSksIG9yIC0xIGlmIGl0IGlzIG5vdCBwcmVzZW50LlxuICovXG5mdW5jdGlvbiBsb29zZUluZGV4T2YoYXJyLCB2YWwpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAobG9vc2VFcXVhbChhcnJbaV0sIHZhbCkpXG4gICAgICAgICAgICByZXR1cm4gaTtcbiAgICB9XG4gICAgcmV0dXJuIC0xO1xufVxuLyoqXG4gKiBFbnN1cmUgYSBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBvbmNlLlxuICovXG5mdW5jdGlvbiBvbmNlKGZuKSB7XG4gICAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghY2FsbGVkKSB7XG4gICAgICAgICAgICBjYWxsZWQgPSB0cnVlO1xuICAgICAgICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgIH07XG59XG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXMjcG9seWZpbGxcbmZ1bmN0aW9uIGhhc0NoYW5nZWQoeCwgeSkge1xuICAgIGlmICh4ID09PSB5KSB7XG4gICAgICAgIHJldHVybiB4ID09PSAwICYmIDEgLyB4ICE9PSAxIC8geTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB4ID09PSB4IHx8IHkgPT09IHk7XG4gICAgfVxufVxuXG52YXIgU1NSX0FUVFIgPSAnZGF0YS1zZXJ2ZXItcmVuZGVyZWQnO1xudmFyIEFTU0VUX1RZUEVTID0gWydjb21wb25lbnQnLCAnZGlyZWN0aXZlJywgJ2ZpbHRlciddO1xudmFyIExJRkVDWUNMRV9IT09LUyA9IFtcbiAgICAnYmVmb3JlQ3JlYXRlJyxcbiAgICAnY3JlYXRlZCcsXG4gICAgJ2JlZm9yZU1vdW50JyxcbiAgICAnbW91bnRlZCcsXG4gICAgJ2JlZm9yZVVwZGF0ZScsXG4gICAgJ3VwZGF0ZWQnLFxuICAgICdiZWZvcmVEZXN0cm95JyxcbiAgICAnZGVzdHJveWVkJyxcbiAgICAnYWN0aXZhdGVkJyxcbiAgICAnZGVhY3RpdmF0ZWQnLFxuICAgICdlcnJvckNhcHR1cmVkJyxcbiAgICAnc2VydmVyUHJlZmV0Y2gnLFxuICAgICdyZW5kZXJUcmFja2VkJyxcbiAgICAncmVuZGVyVHJpZ2dlcmVkJ1xuXTtcblxudmFyIGNvbmZpZyA9IHtcbiAgICAvKipcbiAgICAgKiBPcHRpb24gbWVyZ2Ugc3RyYXRlZ2llcyAodXNlZCBpbiBjb3JlL3V0aWwvb3B0aW9ucylcbiAgICAgKi9cbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICBvcHRpb25NZXJnZVN0cmF0ZWdpZXM6IE9iamVjdC5jcmVhdGUobnVsbCksXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzdXBwcmVzcyB3YXJuaW5ncy5cbiAgICAgKi9cbiAgICBzaWxlbnQ6IGZhbHNlLFxuICAgIC8qKlxuICAgICAqIFNob3cgcHJvZHVjdGlvbiBtb2RlIHRpcCBtZXNzYWdlIG9uIGJvb3Q/XG4gICAgICovXG4gICAgcHJvZHVjdGlvblRpcDogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyxcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBkZXZ0b29sc1xuICAgICAqL1xuICAgIGRldnRvb2xzOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gcmVjb3JkIHBlcmZcbiAgICAgKi9cbiAgICBwZXJmb3JtYW5jZTogZmFsc2UsXG4gICAgLyoqXG4gICAgICogRXJyb3IgaGFuZGxlciBmb3Igd2F0Y2hlciBlcnJvcnNcbiAgICAgKi9cbiAgICBlcnJvckhhbmRsZXI6IG51bGwsXG4gICAgLyoqXG4gICAgICogV2FybiBoYW5kbGVyIGZvciB3YXRjaGVyIHdhcm5zXG4gICAgICovXG4gICAgd2FybkhhbmRsZXI6IG51bGwsXG4gICAgLyoqXG4gICAgICogSWdub3JlIGNlcnRhaW4gY3VzdG9tIGVsZW1lbnRzXG4gICAgICovXG4gICAgaWdub3JlZEVsZW1lbnRzOiBbXSxcbiAgICAvKipcbiAgICAgKiBDdXN0b20gdXNlciBrZXkgYWxpYXNlcyBmb3Igdi1vblxuICAgICAqL1xuICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgIGtleUNvZGVzOiBPYmplY3QuY3JlYXRlKG51bGwpLFxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgdGFnIGlzIHJlc2VydmVkIHNvIHRoYXQgaXQgY2Fubm90IGJlIHJlZ2lzdGVyZWQgYXMgYVxuICAgICAqIGNvbXBvbmVudC4gVGhpcyBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQgYW5kIG1heSBiZSBvdmVyd3JpdHRlbi5cbiAgICAgKi9cbiAgICBpc1Jlc2VydmVkVGFnOiBubyxcbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBhbiBhdHRyaWJ1dGUgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgdXNlZCBhcyBhIGNvbXBvbmVudFxuICAgICAqIHByb3AuIFRoaXMgaXMgcGxhdGZvcm0tZGVwZW5kZW50IGFuZCBtYXkgYmUgb3ZlcndyaXR0ZW4uXG4gICAgICovXG4gICAgaXNSZXNlcnZlZEF0dHI6IG5vLFxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGEgdGFnIGlzIGFuIHVua25vd24gZWxlbWVudC5cbiAgICAgKiBQbGF0Zm9ybS1kZXBlbmRlbnQuXG4gICAgICovXG4gICAgaXNVbmtub3duRWxlbWVudDogbm8sXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBuYW1lc3BhY2Ugb2YgYW4gZWxlbWVudFxuICAgICAqL1xuICAgIGdldFRhZ05hbWVzcGFjZTogbm9vcCxcbiAgICAvKipcbiAgICAgKiBQYXJzZSB0aGUgcmVhbCB0YWcgbmFtZSBmb3IgdGhlIHNwZWNpZmljIHBsYXRmb3JtLlxuICAgICAqL1xuICAgIHBhcnNlUGxhdGZvcm1UYWdOYW1lOiBpZGVudGl0eSxcbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBhbiBhdHRyaWJ1dGUgbXVzdCBiZSBib3VuZCB1c2luZyBwcm9wZXJ0eSwgZS5nLiB2YWx1ZVxuICAgICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICAgKi9cbiAgICBtdXN0VXNlUHJvcDogbm8sXG4gICAgLyoqXG4gICAgICogUGVyZm9ybSB1cGRhdGVzIGFzeW5jaHJvbm91c2x5LiBJbnRlbmRlZCB0byBiZSB1c2VkIGJ5IFZ1ZSBUZXN0IFV0aWxzXG4gICAgICogVGhpcyB3aWxsIHNpZ25pZmljYW50bHkgcmVkdWNlIHBlcmZvcm1hbmNlIGlmIHNldCB0byBmYWxzZS5cbiAgICAgKi9cbiAgICBhc3luYzogdHJ1ZSxcbiAgICAvKipcbiAgICAgKiBFeHBvc2VkIGZvciBsZWdhY3kgcmVhc29uc1xuICAgICAqL1xuICAgIF9saWZlY3ljbGVIb29rczogTElGRUNZQ0xFX0hPT0tTXG59O1xuXG4vKipcbiAqIHVuaWNvZGUgbGV0dGVycyB1c2VkIGZvciBwYXJzaW5nIGh0bWwgdGFncywgY29tcG9uZW50IG5hbWVzIGFuZCBwcm9wZXJ0eSBwYXRocy5cbiAqIHVzaW5nIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNTMvc2VtYW50aWNzLXNjcmlwdGluZy5odG1sI3BvdGVudGlhbGN1c3RvbWVsZW1lbnRuYW1lXG4gKiBza2lwcGluZyBcXHUxMDAwMC1cXHVFRkZGRiBkdWUgdG8gaXQgZnJlZXppbmcgdXAgUGhhbnRvbUpTXG4gKi9cbnZhciB1bmljb2RlUmVnRXhwID0gL2EtekEtWlxcdTAwQjdcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDNGLVxcdTIwNDBcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkQvO1xuLyoqXG4gKiBDaGVjayBpZiBhIHN0cmluZyBzdGFydHMgd2l0aCAkIG9yIF9cbiAqL1xuZnVuY3Rpb24gaXNSZXNlcnZlZChzdHIpIHtcbiAgICB2YXIgYyA9IChzdHIgKyAnJykuY2hhckNvZGVBdCgwKTtcbiAgICByZXR1cm4gYyA9PT0gMHgyNCB8fCBjID09PSAweDVmO1xufVxuLyoqXG4gKiBEZWZpbmUgYSBwcm9wZXJ0eS5cbiAqL1xuZnVuY3Rpb24gZGVmKG9iaiwga2V5LCB2YWwsIGVudW1lcmFibGUpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgICAgZW51bWVyYWJsZTogISFlbnVtZXJhYmxlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG59XG4vKipcbiAqIFBhcnNlIHNpbXBsZSBwYXRoLlxuICovXG52YXIgYmFpbFJFID0gbmV3IFJlZ0V4cChcIlteXCIuY29uY2F0KHVuaWNvZGVSZWdFeHAuc291cmNlLCBcIi4kX1xcXFxkXVwiKSk7XG5mdW5jdGlvbiBwYXJzZVBhdGgocGF0aCkge1xuICAgIGlmIChiYWlsUkUudGVzdChwYXRoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBzZWdtZW50cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKG9iaikge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoIW9iailcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBvYmogPSBvYmpbc2VnbWVudHNbaV1dO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfTtcbn1cblxuLy8gY2FuIHdlIHVzZSBfX3Byb3RvX18/XG52YXIgaGFzUHJvdG8gPSAnX19wcm90b19fJyBpbiB7fTtcbi8vIEJyb3dzZXIgZW52aXJvbm1lbnQgc25pZmZpbmdcbnZhciBpbkJyb3dzZXIgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztcbnZhciBVQSA9IGluQnJvd3NlciAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xudmFyIGlzSUUgPSBVQSAmJiAvbXNpZXx0cmlkZW50Ly50ZXN0KFVBKTtcbnZhciBpc0lFOSA9IFVBICYmIFVBLmluZGV4T2YoJ21zaWUgOS4wJykgPiAwO1xudmFyIGlzRWRnZSA9IFVBICYmIFVBLmluZGV4T2YoJ2VkZ2UvJykgPiAwO1xuVUEgJiYgVUEuaW5kZXhPZignYW5kcm9pZCcpID4gMDtcbnZhciBpc0lPUyA9IFVBICYmIC9pcGhvbmV8aXBhZHxpcG9kfGlvcy8udGVzdChVQSk7XG5VQSAmJiAvY2hyb21lXFwvXFxkKy8udGVzdChVQSkgJiYgIWlzRWRnZTtcblVBICYmIC9waGFudG9tanMvLnRlc3QoVUEpO1xudmFyIGlzRkYgPSBVQSAmJiBVQS5tYXRjaCgvZmlyZWZveFxcLyhcXGQrKS8pO1xuLy8gRmlyZWZveCBoYXMgYSBcIndhdGNoXCIgZnVuY3Rpb24gb24gT2JqZWN0LnByb3RvdHlwZS4uLlxuLy8gQHRzLWV4cGVjdC1lcnJvciBmaXJlYm94IHN1cHBvcnRcbnZhciBuYXRpdmVXYXRjaCA9IHt9LndhdGNoO1xudmFyIHN1cHBvcnRzUGFzc2l2ZSA9IGZhbHNlO1xuaWYgKGluQnJvd3Nlcikge1xuICAgIHRyeSB7XG4gICAgICAgIHZhciBvcHRzID0ge307XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRzLCAncGFzc2l2ZScsIHtcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAgICAgc3VwcG9ydHNQYXNzaXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9mbG93L2lzc3Vlcy8yODVcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QtcGFzc2l2ZScsIG51bGwsIG9wdHMpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkgeyB9XG59XG4vLyB0aGlzIG5lZWRzIHRvIGJlIGxhenktZXZhbGVkIGJlY2F1c2UgdnVlIG1heSBiZSByZXF1aXJlZCBiZWZvcmVcbi8vIHZ1ZS1zZXJ2ZXItcmVuZGVyZXIgY2FuIHNldCBWVUVfRU5WXG52YXIgX2lzU2VydmVyO1xudmFyIGlzU2VydmVyUmVuZGVyaW5nID0gZnVuY3Rpb24gKCkge1xuICAgIGlmIChfaXNTZXJ2ZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKCFpbkJyb3dzZXIgJiYgdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIC8vIGRldGVjdCBwcmVzZW5jZSBvZiB2dWUtc2VydmVyLXJlbmRlcmVyIGFuZCBhdm9pZFxuICAgICAgICAgICAgLy8gV2VicGFjayBzaGltbWluZyB0aGUgcHJvY2Vzc1xuICAgICAgICAgICAgX2lzU2VydmVyID1cbiAgICAgICAgICAgICAgICBnbG9iYWxbJ3Byb2Nlc3MnXSAmJiBnbG9iYWxbJ3Byb2Nlc3MnXS5lbnYuVlVFX0VOViA9PT0gJ3NlcnZlcic7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBfaXNTZXJ2ZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gX2lzU2VydmVyO1xufTtcbi8vIGRldGVjdCBkZXZ0b29sc1xudmFyIGRldnRvb2xzID0gaW5Ccm93c2VyICYmIHdpbmRvdy5fX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fO1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGlzTmF0aXZlKEN0b3IpIHtcbiAgICByZXR1cm4gdHlwZW9mIEN0b3IgPT09ICdmdW5jdGlvbicgJiYgL25hdGl2ZSBjb2RlLy50ZXN0KEN0b3IudG9TdHJpbmcoKSk7XG59XG52YXIgaGFzU3ltYm9sID0gdHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICBpc05hdGl2ZShTeW1ib2wpICYmXG4gICAgdHlwZW9mIFJlZmxlY3QgIT09ICd1bmRlZmluZWQnICYmXG4gICAgaXNOYXRpdmUoUmVmbGVjdC5vd25LZXlzKTtcbnZhciBfU2V0OyAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqLyBpZiAodHlwZW9mIFNldCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoU2V0KSkge1xuICAgIC8vIHVzZSBuYXRpdmUgU2V0IHdoZW4gYXZhaWxhYmxlLlxuICAgIF9TZXQgPSBTZXQ7XG59XG5lbHNlIHtcbiAgICAvLyBhIG5vbi1zdGFuZGFyZCBTZXQgcG9seWZpbGwgdGhhdCBvbmx5IHdvcmtzIHdpdGggcHJpbWl0aXZlIGtleXMuXG4gICAgX1NldCA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZnVuY3Rpb24gU2V0KCkge1xuICAgICAgICAgICAgdGhpcy5zZXQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIFNldC5wcm90b3R5cGUuaGFzID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0W2tleV0gPT09IHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIFNldC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgdGhpcy5zZXRba2V5XSA9IHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIFNldC5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aGlzLnNldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBTZXQ7XG4gICAgfSgpKTtcbn1cblxudmFyIGN1cnJlbnRJbnN0YW5jZSA9IG51bGw7XG4vKipcbiAqIFRoaXMgaXMgZXhwb3NlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHYzIChlLmcuIHNvbWUgZnVuY3Rpb25zIGluIFZ1ZVVzZVxuICogcmVsaWVzIG9uIGl0KS4gRG8gbm90IHVzZSB0aGlzIGludGVybmFsbHksIGp1c3QgdXNlIGBjdXJyZW50SW5zdGFuY2VgLlxuICpcbiAqIEBpbnRlcm5hbCB0aGlzIGZ1bmN0aW9uIG5lZWRzIG1hbnVhbCB0eXBlIGRlY2xhcmF0aW9uIGJlY2F1c2UgaXQgcmVsaWVzXG4gKiBvbiBwcmV2aW91c2x5IG1hbnVhbGx5IGF1dGhvcmVkIHR5cGVzIGZyb20gVnVlIDJcbiAqL1xuZnVuY3Rpb24gZ2V0Q3VycmVudEluc3RhbmNlKCkge1xuICAgIHJldHVybiBjdXJyZW50SW5zdGFuY2UgJiYgeyBwcm94eTogY3VycmVudEluc3RhbmNlIH07XG59XG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5mdW5jdGlvbiBzZXRDdXJyZW50SW5zdGFuY2Uodm0pIHtcbiAgICBpZiAodm0gPT09IHZvaWQgMCkgeyB2bSA9IG51bGw7IH1cbiAgICBpZiAoIXZtKVxuICAgICAgICBjdXJyZW50SW5zdGFuY2UgJiYgY3VycmVudEluc3RhbmNlLl9zY29wZS5vZmYoKTtcbiAgICBjdXJyZW50SW5zdGFuY2UgPSB2bTtcbiAgICB2bSAmJiB2bS5fc2NvcGUub24oKTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xudmFyIFZOb2RlID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFZOb2RlKHRhZywgZGF0YSwgY2hpbGRyZW4sIHRleHQsIGVsbSwgY29udGV4dCwgY29tcG9uZW50T3B0aW9ucywgYXN5bmNGYWN0b3J5KSB7XG4gICAgICAgIHRoaXMudGFnID0gdGFnO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgICAgIHRoaXMudGV4dCA9IHRleHQ7XG4gICAgICAgIHRoaXMuZWxtID0gZWxtO1xuICAgICAgICB0aGlzLm5zID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICB0aGlzLmZuQ29udGV4dCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5mbk9wdGlvbnMgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuZm5TY29wZUlkID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmtleSA9IGRhdGEgJiYgZGF0YS5rZXk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50T3B0aW9ucyA9IGNvbXBvbmVudE9wdGlvbnM7XG4gICAgICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMucGFyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnJhdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzU3RhdGljID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNSb290SW5zZXJ0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc0NvbW1lbnQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0Nsb25lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzT25jZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFzeW5jRmFjdG9yeSA9IGFzeW5jRmFjdG9yeTtcbiAgICAgICAgdGhpcy5hc3luY01ldGEgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuaXNBc3luY1BsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWTm9kZS5wcm90b3R5cGUsIFwiY2hpbGRcIiwge1xuICAgICAgICAvLyBERVBSRUNBVEVEOiBhbGlhcyBmb3IgY29tcG9uZW50SW5zdGFuY2UgZm9yIGJhY2t3YXJkcyBjb21wYXQuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgICByZXR1cm4gVk5vZGU7XG59KCkpO1xudmFyIGNyZWF0ZUVtcHR5Vk5vZGUgPSBmdW5jdGlvbiAodGV4dCkge1xuICAgIGlmICh0ZXh0ID09PSB2b2lkIDApIHsgdGV4dCA9ICcnOyB9XG4gICAgdmFyIG5vZGUgPSBuZXcgVk5vZGUoKTtcbiAgICBub2RlLnRleHQgPSB0ZXh0O1xuICAgIG5vZGUuaXNDb21tZW50ID0gdHJ1ZTtcbiAgICByZXR1cm4gbm9kZTtcbn07XG5mdW5jdGlvbiBjcmVhdGVUZXh0Vk5vZGUodmFsKSB7XG4gICAgcmV0dXJuIG5ldyBWTm9kZSh1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBTdHJpbmcodmFsKSk7XG59XG4vLyBvcHRpbWl6ZWQgc2hhbGxvdyBjbG9uZVxuLy8gdXNlZCBmb3Igc3RhdGljIG5vZGVzIGFuZCBzbG90IG5vZGVzIGJlY2F1c2UgdGhleSBtYXkgYmUgcmV1c2VkIGFjcm9zc1xuLy8gbXVsdGlwbGUgcmVuZGVycywgY2xvbmluZyB0aGVtIGF2b2lkcyBlcnJvcnMgd2hlbiBET00gbWFuaXB1bGF0aW9ucyByZWx5XG4vLyBvbiB0aGVpciBlbG0gcmVmZXJlbmNlLlxuZnVuY3Rpb24gY2xvbmVWTm9kZSh2bm9kZSkge1xuICAgIHZhciBjbG9uZWQgPSBuZXcgVk5vZGUodm5vZGUudGFnLCB2bm9kZS5kYXRhLCBcbiAgICAvLyAjNzk3NVxuICAgIC8vIGNsb25lIGNoaWxkcmVuIGFycmF5IHRvIGF2b2lkIG11dGF0aW5nIG9yaWdpbmFsIGluIGNhc2Ugb2YgY2xvbmluZ1xuICAgIC8vIGEgY2hpbGQuXG4gICAgdm5vZGUuY2hpbGRyZW4gJiYgdm5vZGUuY2hpbGRyZW4uc2xpY2UoKSwgdm5vZGUudGV4dCwgdm5vZGUuZWxtLCB2bm9kZS5jb250ZXh0LCB2bm9kZS5jb21wb25lbnRPcHRpb25zLCB2bm9kZS5hc3luY0ZhY3RvcnkpO1xuICAgIGNsb25lZC5ucyA9IHZub2RlLm5zO1xuICAgIGNsb25lZC5pc1N0YXRpYyA9IHZub2RlLmlzU3RhdGljO1xuICAgIGNsb25lZC5rZXkgPSB2bm9kZS5rZXk7XG4gICAgY2xvbmVkLmlzQ29tbWVudCA9IHZub2RlLmlzQ29tbWVudDtcbiAgICBjbG9uZWQuZm5Db250ZXh0ID0gdm5vZGUuZm5Db250ZXh0O1xuICAgIGNsb25lZC5mbk9wdGlvbnMgPSB2bm9kZS5mbk9wdGlvbnM7XG4gICAgY2xvbmVkLmZuU2NvcGVJZCA9IHZub2RlLmZuU2NvcGVJZDtcbiAgICBjbG9uZWQuYXN5bmNNZXRhID0gdm5vZGUuYXN5bmNNZXRhO1xuICAgIGNsb25lZC5pc0Nsb25lZCA9IHRydWU7XG4gICAgcmV0dXJuIGNsb25lZDtcbn1cblxuLyogbm90IHR5cGUgY2hlY2tpbmcgdGhpcyBmaWxlIGJlY2F1c2UgZmxvdyBkb2Vzbid0IHBsYXkgd2VsbCB3aXRoIFByb3h5ICovXG52YXIgaW5pdFByb3h5O1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB2YXIgYWxsb3dlZEdsb2JhbHNfMSA9IG1ha2VNYXAoJ0luZmluaXR5LHVuZGVmaW5lZCxOYU4saXNGaW5pdGUsaXNOYU4sJyArXG4gICAgICAgICdwYXJzZUZsb2F0LHBhcnNlSW50LGRlY29kZVVSSSxkZWNvZGVVUklDb21wb25lbnQsZW5jb2RlVVJJLGVuY29kZVVSSUNvbXBvbmVudCwnICtcbiAgICAgICAgJ01hdGgsTnVtYmVyLERhdGUsQXJyYXksT2JqZWN0LEJvb2xlYW4sU3RyaW5nLFJlZ0V4cCxNYXAsU2V0LEpTT04sSW50bCxCaWdJbnQsJyArXG4gICAgICAgICdyZXF1aXJlJyAvLyBmb3IgV2VicGFjay9Ccm93c2VyaWZ5XG4gICAgKTtcbiAgICB2YXIgd2Fybk5vblByZXNlbnRfMSA9IGZ1bmN0aW9uICh0YXJnZXQsIGtleSkge1xuICAgICAgICB3YXJuJDIoXCJQcm9wZXJ0eSBvciBtZXRob2QgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBpcyBub3QgZGVmaW5lZCBvbiB0aGUgaW5zdGFuY2UgYnV0IFwiKSArXG4gICAgICAgICAgICAncmVmZXJlbmNlZCBkdXJpbmcgcmVuZGVyLiBNYWtlIHN1cmUgdGhhdCB0aGlzIHByb3BlcnR5IGlzIHJlYWN0aXZlLCAnICtcbiAgICAgICAgICAgICdlaXRoZXIgaW4gdGhlIGRhdGEgb3B0aW9uLCBvciBmb3IgY2xhc3MtYmFzZWQgY29tcG9uZW50cywgYnkgJyArXG4gICAgICAgICAgICAnaW5pdGlhbGl6aW5nIHRoZSBwcm9wZXJ0eS4gJyArXG4gICAgICAgICAgICAnU2VlOiBodHRwczovL3YyLnZ1ZWpzLm9yZy92Mi9ndWlkZS9yZWFjdGl2aXR5Lmh0bWwjRGVjbGFyaW5nLVJlYWN0aXZlLVByb3BlcnRpZXMuJywgdGFyZ2V0KTtcbiAgICB9O1xuICAgIHZhciB3YXJuUmVzZXJ2ZWRQcmVmaXhfMSA9IGZ1bmN0aW9uICh0YXJnZXQsIGtleSkge1xuICAgICAgICB3YXJuJDIoXCJQcm9wZXJ0eSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIG11c3QgYmUgYWNjZXNzZWQgd2l0aCBcXFwiJGRhdGEuXCIpLmNvbmNhdChrZXksIFwiXFxcIiBiZWNhdXNlIFwiKSArXG4gICAgICAgICAgICAncHJvcGVydGllcyBzdGFydGluZyB3aXRoIFwiJFwiIG9yIFwiX1wiIGFyZSBub3QgcHJveGllZCBpbiB0aGUgVnVlIGluc3RhbmNlIHRvICcgK1xuICAgICAgICAgICAgJ3ByZXZlbnQgY29uZmxpY3RzIHdpdGggVnVlIGludGVybmFscy4gJyArXG4gICAgICAgICAgICAnU2VlOiBodHRwczovL3YyLnZ1ZWpzLm9yZy92Mi9hcGkvI2RhdGEnLCB0YXJnZXQpO1xuICAgIH07XG4gICAgdmFyIGhhc1Byb3h5XzEgPSB0eXBlb2YgUHJveHkgIT09ICd1bmRlZmluZWQnICYmIGlzTmF0aXZlKFByb3h5KTtcbiAgICBpZiAoaGFzUHJveHlfMSkge1xuICAgICAgICB2YXIgaXNCdWlsdEluTW9kaWZpZXJfMSA9IG1ha2VNYXAoJ3N0b3AscHJldmVudCxzZWxmLGN0cmwsc2hpZnQsYWx0LG1ldGEsZXhhY3QnKTtcbiAgICAgICAgY29uZmlnLmtleUNvZGVzID0gbmV3IFByb3h5KGNvbmZpZy5rZXlDb2Rlcywge1xuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBrZXksIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzQnVpbHRJbk1vZGlmaWVyXzEoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCJBdm9pZCBvdmVyd3JpdGluZyBidWlsdC1pbiBtb2RpZmllciBpbiBjb25maWcua2V5Q29kZXM6IC5cIi5jb25jYXQoa2V5KSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHZhciBoYXNIYW5kbGVyXzEgPSB7XG4gICAgICAgIGhhczogZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7XG4gICAgICAgICAgICB2YXIgaGFzID0ga2V5IGluIHRhcmdldDtcbiAgICAgICAgICAgIHZhciBpc0FsbG93ZWQgPSBhbGxvd2VkR2xvYmFsc18xKGtleSkgfHxcbiAgICAgICAgICAgICAgICAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICAgICAgICAga2V5LmNoYXJBdCgwKSA9PT0gJ18nICYmXG4gICAgICAgICAgICAgICAgICAgICEoa2V5IGluIHRhcmdldC4kZGF0YSkpO1xuICAgICAgICAgICAgaWYgKCFoYXMgJiYgIWlzQWxsb3dlZCkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgaW4gdGFyZ2V0LiRkYXRhKVxuICAgICAgICAgICAgICAgICAgICB3YXJuUmVzZXJ2ZWRQcmVmaXhfMSh0YXJnZXQsIGtleSk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICB3YXJuTm9uUHJlc2VudF8xKHRhcmdldCwga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBoYXMgfHwgIWlzQWxsb3dlZDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgdmFyIGdldEhhbmRsZXJfMSA9IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiAhKGtleSBpbiB0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSBpbiB0YXJnZXQuJGRhdGEpXG4gICAgICAgICAgICAgICAgICAgIHdhcm5SZXNlcnZlZFByZWZpeF8xKHRhcmdldCwga2V5KTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIHdhcm5Ob25QcmVzZW50XzEodGFyZ2V0LCBrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtrZXldO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBpbml0UHJveHkgPSBmdW5jdGlvbiBpbml0UHJveHkodm0pIHtcbiAgICAgICAgaWYgKGhhc1Byb3h5XzEpIHtcbiAgICAgICAgICAgIC8vIGRldGVybWluZSB3aGljaCBwcm94eSBoYW5kbGVyIHRvIHVzZVxuICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSB2bS4kb3B0aW9ucztcbiAgICAgICAgICAgIHZhciBoYW5kbGVycyA9IG9wdGlvbnMucmVuZGVyICYmIG9wdGlvbnMucmVuZGVyLl93aXRoU3RyaXBwZWQgPyBnZXRIYW5kbGVyXzEgOiBoYXNIYW5kbGVyXzE7XG4gICAgICAgICAgICB2bS5fcmVuZGVyUHJveHkgPSBuZXcgUHJveHkodm0sIGhhbmRsZXJzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZtLl9yZW5kZXJQcm94eSA9IHZtO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG52YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcclxuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcywgaSA9IDEsIG4gPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XHJcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfTtcclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59O1xuXG52YXIgdWlkJDIgPSAwO1xudmFyIHBlbmRpbmdDbGVhbnVwRGVwcyA9IFtdO1xudmFyIGNsZWFudXBEZXBzID0gZnVuY3Rpb24gKCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGVuZGluZ0NsZWFudXBEZXBzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBkZXAgPSBwZW5kaW5nQ2xlYW51cERlcHNbaV07XG4gICAgICAgIGRlcC5zdWJzID0gZGVwLnN1YnMuZmlsdGVyKGZ1bmN0aW9uIChzKSB7IHJldHVybiBzOyB9KTtcbiAgICAgICAgZGVwLl9wZW5kaW5nID0gZmFsc2U7XG4gICAgfVxuICAgIHBlbmRpbmdDbGVhbnVwRGVwcy5sZW5ndGggPSAwO1xufTtcbi8qKlxuICogQSBkZXAgaXMgYW4gb2JzZXJ2YWJsZSB0aGF0IGNhbiBoYXZlIG11bHRpcGxlXG4gKiBkaXJlY3RpdmVzIHN1YnNjcmliaW5nIHRvIGl0LlxuICogQGludGVybmFsXG4gKi9cbnZhciBEZXAgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRGVwKCkge1xuICAgICAgICAvLyBwZW5kaW5nIHN1YnMgY2xlYW51cFxuICAgICAgICB0aGlzLl9wZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaWQgPSB1aWQkMisrO1xuICAgICAgICB0aGlzLnN1YnMgPSBbXTtcbiAgICB9XG4gICAgRGVwLnByb3RvdHlwZS5hZGRTdWIgPSBmdW5jdGlvbiAoc3ViKSB7XG4gICAgICAgIHRoaXMuc3Vicy5wdXNoKHN1Yik7XG4gICAgfTtcbiAgICBEZXAucHJvdG90eXBlLnJlbW92ZVN1YiA9IGZ1bmN0aW9uIChzdWIpIHtcbiAgICAgICAgLy8gIzEyNjk2IGRlcHMgd2l0aCBtYXNzaXZlIGFtb3VudCBvZiBzdWJzY3JpYmVycyBhcmUgZXh0cmVtZWx5IHNsb3cgdG9cbiAgICAgICAgLy8gY2xlYW4gdXAgaW4gQ2hyb21pdW1cbiAgICAgICAgLy8gdG8gd29ya2Fyb3VuZCB0aGlzLCB3ZSB1bnNldCB0aGUgc3ViIGZvciBub3csIGFuZCBjbGVhciB0aGVtIG9uXG4gICAgICAgIC8vIG5leHQgc2NoZWR1bGVyIGZsdXNoLlxuICAgICAgICB0aGlzLnN1YnNbdGhpcy5zdWJzLmluZGV4T2Yoc3ViKV0gPSBudWxsO1xuICAgICAgICBpZiAoIXRoaXMuX3BlbmRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX3BlbmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcGVuZGluZ0NsZWFudXBEZXBzLnB1c2godGhpcyk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIERlcC5wcm90b3R5cGUuZGVwZW5kID0gZnVuY3Rpb24gKGluZm8pIHtcbiAgICAgICAgaWYgKERlcC50YXJnZXQpIHtcbiAgICAgICAgICAgIERlcC50YXJnZXQuYWRkRGVwKHRoaXMpO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaW5mbyAmJiBEZXAudGFyZ2V0Lm9uVHJhY2spIHtcbiAgICAgICAgICAgICAgICBEZXAudGFyZ2V0Lm9uVHJhY2soX19hc3NpZ24oeyBlZmZlY3Q6IERlcC50YXJnZXQgfSwgaW5mbykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBEZXAucHJvdG90eXBlLm5vdGlmeSA9IGZ1bmN0aW9uIChpbmZvKSB7XG4gICAgICAgIC8vIHN0YWJpbGl6ZSB0aGUgc3Vic2NyaWJlciBsaXN0IGZpcnN0XG4gICAgICAgIHZhciBzdWJzID0gdGhpcy5zdWJzLmZpbHRlcihmdW5jdGlvbiAocykgeyByZXR1cm4gczsgfSk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFjb25maWcuYXN5bmMpIHtcbiAgICAgICAgICAgIC8vIHN1YnMgYXJlbid0IHNvcnRlZCBpbiBzY2hlZHVsZXIgaWYgbm90IHJ1bm5pbmcgYXN5bmNcbiAgICAgICAgICAgIC8vIHdlIG5lZWQgdG8gc29ydCB0aGVtIG5vdyB0byBtYWtlIHN1cmUgdGhleSBmaXJlIGluIGNvcnJlY3RcbiAgICAgICAgICAgIC8vIG9yZGVyXG4gICAgICAgICAgICBzdWJzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIGEuaWQgLSBiLmlkOyB9KTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHN1YnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgc3ViID0gc3Vic1tpXTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGluZm8pIHtcbiAgICAgICAgICAgICAgICBzdWIub25UcmlnZ2VyICYmXG4gICAgICAgICAgICAgICAgICAgIHN1Yi5vblRyaWdnZXIoX19hc3NpZ24oeyBlZmZlY3Q6IHN1YnNbaV0gfSwgaW5mbykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3ViLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gRGVwO1xufSgpKTtcbi8vIFRoZSBjdXJyZW50IHRhcmdldCB3YXRjaGVyIGJlaW5nIGV2YWx1YXRlZC5cbi8vIFRoaXMgaXMgZ2xvYmFsbHkgdW5pcXVlIGJlY2F1c2Ugb25seSBvbmUgd2F0Y2hlclxuLy8gY2FuIGJlIGV2YWx1YXRlZCBhdCBhIHRpbWUuXG5EZXAudGFyZ2V0ID0gbnVsbDtcbnZhciB0YXJnZXRTdGFjayA9IFtdO1xuZnVuY3Rpb24gcHVzaFRhcmdldCh0YXJnZXQpIHtcbiAgICB0YXJnZXRTdGFjay5wdXNoKHRhcmdldCk7XG4gICAgRGVwLnRhcmdldCA9IHRhcmdldDtcbn1cbmZ1bmN0aW9uIHBvcFRhcmdldCgpIHtcbiAgICB0YXJnZXRTdGFjay5wb3AoKTtcbiAgICBEZXAudGFyZ2V0ID0gdGFyZ2V0U3RhY2tbdGFyZ2V0U3RhY2subGVuZ3RoIC0gMV07XG59XG5cbi8qXG4gKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgcGxheSB3ZWxsIHdpdGhcbiAqIGR5bmFtaWNhbGx5IGFjY2Vzc2luZyBtZXRob2RzIG9uIEFycmF5IHByb3RvdHlwZVxuICovXG52YXIgYXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZTtcbnZhciBhcnJheU1ldGhvZHMgPSBPYmplY3QuY3JlYXRlKGFycmF5UHJvdG8pO1xudmFyIG1ldGhvZHNUb1BhdGNoID0gW1xuICAgICdwdXNoJyxcbiAgICAncG9wJyxcbiAgICAnc2hpZnQnLFxuICAgICd1bnNoaWZ0JyxcbiAgICAnc3BsaWNlJyxcbiAgICAnc29ydCcsXG4gICAgJ3JldmVyc2UnXG5dO1xuLyoqXG4gKiBJbnRlcmNlcHQgbXV0YXRpbmcgbWV0aG9kcyBhbmQgZW1pdCBldmVudHNcbiAqL1xubWV0aG9kc1RvUGF0Y2guZm9yRWFjaChmdW5jdGlvbiAobWV0aG9kKSB7XG4gICAgLy8gY2FjaGUgb3JpZ2luYWwgbWV0aG9kXG4gICAgdmFyIG9yaWdpbmFsID0gYXJyYXlQcm90b1ttZXRob2RdO1xuICAgIGRlZihhcnJheU1ldGhvZHMsIG1ldGhvZCwgZnVuY3Rpb24gbXV0YXRvcigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmVzdWx0ID0gb3JpZ2luYWwuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgIHZhciBvYiA9IHRoaXMuX19vYl9fO1xuICAgICAgICB2YXIgaW5zZXJ0ZWQ7XG4gICAgICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICAgICAgICBjYXNlICdwdXNoJzpcbiAgICAgICAgICAgIGNhc2UgJ3Vuc2hpZnQnOlxuICAgICAgICAgICAgICAgIGluc2VydGVkID0gYXJncztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3NwbGljZSc6XG4gICAgICAgICAgICAgICAgaW5zZXJ0ZWQgPSBhcmdzLnNsaWNlKDIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbnNlcnRlZClcbiAgICAgICAgICAgIG9iLm9ic2VydmVBcnJheShpbnNlcnRlZCk7XG4gICAgICAgIC8vIG5vdGlmeSBjaGFuZ2VcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIG9iLmRlcC5ub3RpZnkoe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiYXJyYXkgbXV0YXRpb25cIiAvKiBUcmlnZ2VyT3BUeXBlcy5BUlJBWV9NVVRBVElPTiAqLyxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHRoaXMsXG4gICAgICAgICAgICAgICAga2V5OiBtZXRob2RcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgb2IuZGVwLm5vdGlmeSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG59KTtcblxudmFyIGFycmF5S2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFycmF5TWV0aG9kcyk7XG52YXIgTk9fSU5JSVRJQUxfVkFMVUUgPSB7fTtcbi8qKlxuICogSW4gc29tZSBjYXNlcyB3ZSBtYXkgd2FudCB0byBkaXNhYmxlIG9ic2VydmF0aW9uIGluc2lkZSBhIGNvbXBvbmVudCdzXG4gKiB1cGRhdGUgY29tcHV0YXRpb24uXG4gKi9cbnZhciBzaG91bGRPYnNlcnZlID0gdHJ1ZTtcbmZ1bmN0aW9uIHRvZ2dsZU9ic2VydmluZyh2YWx1ZSkge1xuICAgIHNob3VsZE9ic2VydmUgPSB2YWx1ZTtcbn1cbi8vIHNzciBtb2NrIGRlcFxudmFyIG1vY2tEZXAgPSB7XG4gICAgbm90aWZ5OiBub29wLFxuICAgIGRlcGVuZDogbm9vcCxcbiAgICBhZGRTdWI6IG5vb3AsXG4gICAgcmVtb3ZlU3ViOiBub29wXG59O1xuLyoqXG4gKiBPYnNlcnZlciBjbGFzcyB0aGF0IGlzIGF0dGFjaGVkIHRvIGVhY2ggb2JzZXJ2ZWRcbiAqIG9iamVjdC4gT25jZSBhdHRhY2hlZCwgdGhlIG9ic2VydmVyIGNvbnZlcnRzIHRoZSB0YXJnZXRcbiAqIG9iamVjdCdzIHByb3BlcnR5IGtleXMgaW50byBnZXR0ZXIvc2V0dGVycyB0aGF0XG4gKiBjb2xsZWN0IGRlcGVuZGVuY2llcyBhbmQgZGlzcGF0Y2ggdXBkYXRlcy5cbiAqL1xudmFyIE9ic2VydmVyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE9ic2VydmVyKHZhbHVlLCBzaGFsbG93LCBtb2NrKSB7XG4gICAgICAgIGlmIChzaGFsbG93ID09PSB2b2lkIDApIHsgc2hhbGxvdyA9IGZhbHNlOyB9XG4gICAgICAgIGlmIChtb2NrID09PSB2b2lkIDApIHsgbW9jayA9IGZhbHNlOyB9XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zaGFsbG93ID0gc2hhbGxvdztcbiAgICAgICAgdGhpcy5tb2NrID0gbW9jaztcbiAgICAgICAgLy8gdGhpcy52YWx1ZSA9IHZhbHVlXG4gICAgICAgIHRoaXMuZGVwID0gbW9jayA/IG1vY2tEZXAgOiBuZXcgRGVwKCk7XG4gICAgICAgIHRoaXMudm1Db3VudCA9IDA7XG4gICAgICAgIGRlZih2YWx1ZSwgJ19fb2JfXycsIHRoaXMpO1xuICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICghbW9jaykge1xuICAgICAgICAgICAgICAgIGlmIChoYXNQcm90bykge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5fX3Byb3RvX18gPSBhcnJheU1ldGhvZHM7XG4gICAgICAgICAgICAgICAgICAgIC8qIGVzbGludC1lbmFibGUgbm8tcHJvdG8gKi9cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gYXJyYXlLZXlzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGtleSA9IGFycmF5S2V5c1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZih2YWx1ZSwga2V5LCBhcnJheU1ldGhvZHNba2V5XSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXNoYWxsb3cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVBcnJheSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFdhbGsgdGhyb3VnaCBhbGwgcHJvcGVydGllcyBhbmQgY29udmVydCB0aGVtIGludG9cbiAgICAgICAgICAgICAqIGdldHRlci9zZXR0ZXJzLiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlblxuICAgICAgICAgICAgICogdmFsdWUgdHlwZSBpcyBPYmplY3QuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICAgICAgICAgICAgZGVmaW5lUmVhY3RpdmUodmFsdWUsIGtleSwgTk9fSU5JSVRJQUxfVkFMVUUsIHVuZGVmaW5lZCwgc2hhbGxvdywgbW9jayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogT2JzZXJ2ZSBhIGxpc3Qgb2YgQXJyYXkgaXRlbXMuXG4gICAgICovXG4gICAgT2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmVBcnJheSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHZhbHVlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgb2JzZXJ2ZSh2YWx1ZVtpXSwgZmFsc2UsIHRoaXMubW9jayk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBPYnNlcnZlcjtcbn0oKSk7XG4vLyBoZWxwZXJzXG4vKipcbiAqIEF0dGVtcHQgdG8gY3JlYXRlIGFuIG9ic2VydmVyIGluc3RhbmNlIGZvciBhIHZhbHVlLFxuICogcmV0dXJucyB0aGUgbmV3IG9ic2VydmVyIGlmIHN1Y2Nlc3NmdWxseSBvYnNlcnZlZCxcbiAqIG9yIHRoZSBleGlzdGluZyBvYnNlcnZlciBpZiB0aGUgdmFsdWUgYWxyZWFkeSBoYXMgb25lLlxuICovXG5mdW5jdGlvbiBvYnNlcnZlKHZhbHVlLCBzaGFsbG93LCBzc3JNb2NrUmVhY3Rpdml0eSkge1xuICAgIGlmICh2YWx1ZSAmJiBoYXNPd24odmFsdWUsICdfX29iX18nKSAmJiB2YWx1ZS5fX29iX18gaW5zdGFuY2VvZiBPYnNlcnZlcikge1xuICAgICAgICByZXR1cm4gdmFsdWUuX19vYl9fO1xuICAgIH1cbiAgICBpZiAoc2hvdWxkT2JzZXJ2ZSAmJlxuICAgICAgICAoc3NyTW9ja1JlYWN0aXZpdHkgfHwgIWlzU2VydmVyUmVuZGVyaW5nKCkpICYmXG4gICAgICAgIChpc0FycmF5KHZhbHVlKSB8fCBpc1BsYWluT2JqZWN0KHZhbHVlKSkgJiZcbiAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSh2YWx1ZSkgJiZcbiAgICAgICAgIXZhbHVlLl9fdl9za2lwIC8qIFJlYWN0aXZlRmxhZ3MuU0tJUCAqLyAmJlxuICAgICAgICAhaXNSZWYodmFsdWUpICYmXG4gICAgICAgICEodmFsdWUgaW5zdGFuY2VvZiBWTm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZlcih2YWx1ZSwgc2hhbGxvdywgc3NyTW9ja1JlYWN0aXZpdHkpO1xuICAgIH1cbn1cbi8qKlxuICogRGVmaW5lIGEgcmVhY3RpdmUgcHJvcGVydHkgb24gYW4gT2JqZWN0LlxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWFjdGl2ZShvYmosIGtleSwgdmFsLCBjdXN0b21TZXR0ZXIsIHNoYWxsb3csIG1vY2spIHtcbiAgICB2YXIgZGVwID0gbmV3IERlcCgpO1xuICAgIHZhciBwcm9wZXJ0eSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpO1xuICAgIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2F0ZXIgZm9yIHByZS1kZWZpbmVkIGdldHRlci9zZXR0ZXJzXG4gICAgdmFyIGdldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LmdldDtcbiAgICB2YXIgc2V0dGVyID0gcHJvcGVydHkgJiYgcHJvcGVydHkuc2V0O1xuICAgIGlmICgoIWdldHRlciB8fCBzZXR0ZXIpICYmXG4gICAgICAgICh2YWwgPT09IE5PX0lOSUlUSUFMX1ZBTFVFIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpKSB7XG4gICAgICAgIHZhbCA9IG9ialtrZXldO1xuICAgIH1cbiAgICB2YXIgY2hpbGRPYiA9ICFzaGFsbG93ICYmIG9ic2VydmUodmFsLCBmYWxzZSwgbW9jayk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiByZWFjdGl2ZUdldHRlcigpIHtcbiAgICAgICAgICAgIHZhciB2YWx1ZSA9IGdldHRlciA/IGdldHRlci5jYWxsKG9iaikgOiB2YWw7XG4gICAgICAgICAgICBpZiAoRGVwLnRhcmdldCkge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlcC5kZXBlbmQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBvYmosXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImdldFwiIC8qIFRyYWNrT3BUeXBlcy5HRVQgKi8sXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IGtleVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRlcC5kZXBlbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkT2IpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRPYi5kZXAuZGVwZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kQXJyYXkodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGlzUmVmKHZhbHVlKSAmJiAhc2hhbGxvdyA/IHZhbHVlLnZhbHVlIDogdmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gcmVhY3RpdmVTZXR0ZXIobmV3VmFsKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSBnZXR0ZXIgPyBnZXR0ZXIuY2FsbChvYmopIDogdmFsO1xuICAgICAgICAgICAgaWYgKCFoYXNDaGFuZ2VkKHZhbHVlLCBuZXdWYWwpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY3VzdG9tU2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgY3VzdG9tU2V0dGVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgc2V0dGVyLmNhbGwob2JqLCBuZXdWYWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZ2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgLy8gIzc5ODE6IGZvciBhY2Nlc3NvciBwcm9wZXJ0aWVzIHdpdGhvdXQgc2V0dGVyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoIXNoYWxsb3cgJiYgaXNSZWYodmFsdWUpICYmICFpc1JlZihuZXdWYWwpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUudmFsdWUgPSBuZXdWYWw7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFsID0gbmV3VmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hpbGRPYiA9ICFzaGFsbG93ICYmIG9ic2VydmUobmV3VmFsLCBmYWxzZSwgbW9jayk7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgIGRlcC5ub3RpZnkoe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInNldFwiIC8qIFRyaWdnZXJPcFR5cGVzLlNFVCAqLyxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBvYmosXG4gICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZTogbmV3VmFsLFxuICAgICAgICAgICAgICAgICAgICBvbGRWYWx1ZTogdmFsdWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGRlcC5ub3RpZnkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBkZXA7XG59XG5mdW5jdGlvbiBzZXQodGFyZ2V0LCBrZXksIHZhbCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIChpc1VuZGVmKHRhcmdldCkgfHwgaXNQcmltaXRpdmUodGFyZ2V0KSkpIHtcbiAgICAgICAgd2FybiQyKFwiQ2Fubm90IHNldCByZWFjdGl2ZSBwcm9wZXJ0eSBvbiB1bmRlZmluZWQsIG51bGwsIG9yIHByaW1pdGl2ZSB2YWx1ZTogXCIuY29uY2F0KHRhcmdldCkpO1xuICAgIH1cbiAgICBpZiAoaXNSZWFkb25seSh0YXJnZXQpKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybiQyKFwiU2V0IG9wZXJhdGlvbiBvbiBrZXkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBmYWlsZWQ6IHRhcmdldCBpcyByZWFkb25seS5cIikpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBvYiA9IHRhcmdldC5fX29iX187XG4gICAgaWYgKGlzQXJyYXkodGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChrZXkpKSB7XG4gICAgICAgIHRhcmdldC5sZW5ndGggPSBNYXRoLm1heCh0YXJnZXQubGVuZ3RoLCBrZXkpO1xuICAgICAgICB0YXJnZXQuc3BsaWNlKGtleSwgMSwgdmFsKTtcbiAgICAgICAgLy8gd2hlbiBtb2NraW5nIGZvciBTU1IsIGFycmF5IG1ldGhvZHMgYXJlIG5vdCBoaWphY2tlZFxuICAgICAgICBpZiAob2IgJiYgIW9iLnNoYWxsb3cgJiYgb2IubW9jaykge1xuICAgICAgICAgICAgb2JzZXJ2ZSh2YWwsIGZhbHNlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cbiAgICBpZiAoa2V5IGluIHRhcmdldCAmJiAhKGtleSBpbiBPYmplY3QucHJvdG90eXBlKSkge1xuICAgICAgICB0YXJnZXRba2V5XSA9IHZhbDtcbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG4gICAgaWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9iLnZtQ291bnQpKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgIHdhcm4kMignQXZvaWQgYWRkaW5nIHJlYWN0aXZlIHByb3BlcnRpZXMgdG8gYSBWdWUgaW5zdGFuY2Ugb3IgaXRzIHJvb3QgJGRhdGEgJyArXG4gICAgICAgICAgICAgICAgJ2F0IHJ1bnRpbWUgLSBkZWNsYXJlIGl0IHVwZnJvbnQgaW4gdGhlIGRhdGEgb3B0aW9uLicpO1xuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cbiAgICBpZiAoIW9iKSB7XG4gICAgICAgIHRhcmdldFtrZXldID0gdmFsO1xuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cbiAgICBkZWZpbmVSZWFjdGl2ZShvYi52YWx1ZSwga2V5LCB2YWwsIHVuZGVmaW5lZCwgb2Iuc2hhbGxvdywgb2IubW9jayk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgb2IuZGVwLm5vdGlmeSh7XG4gICAgICAgICAgICB0eXBlOiBcImFkZFwiIC8qIFRyaWdnZXJPcFR5cGVzLkFERCAqLyxcbiAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICBuZXdWYWx1ZTogdmFsLFxuICAgICAgICAgICAgb2xkVmFsdWU6IHVuZGVmaW5lZFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG9iLmRlcC5ub3RpZnkoKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbn1cbmZ1bmN0aW9uIGRlbCh0YXJnZXQsIGtleSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIChpc1VuZGVmKHRhcmdldCkgfHwgaXNQcmltaXRpdmUodGFyZ2V0KSkpIHtcbiAgICAgICAgd2FybiQyKFwiQ2Fubm90IGRlbGV0ZSByZWFjdGl2ZSBwcm9wZXJ0eSBvbiB1bmRlZmluZWQsIG51bGwsIG9yIHByaW1pdGl2ZSB2YWx1ZTogXCIuY29uY2F0KHRhcmdldCkpO1xuICAgIH1cbiAgICBpZiAoaXNBcnJheSh0YXJnZXQpICYmIGlzVmFsaWRBcnJheUluZGV4KGtleSkpIHtcbiAgICAgICAgdGFyZ2V0LnNwbGljZShrZXksIDEpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBvYiA9IHRhcmdldC5fX29iX187XG4gICAgaWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9iLnZtQ291bnQpKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgIHdhcm4kMignQXZvaWQgZGVsZXRpbmcgcHJvcGVydGllcyBvbiBhIFZ1ZSBpbnN0YW5jZSBvciBpdHMgcm9vdCAkZGF0YSAnICtcbiAgICAgICAgICAgICAgICAnLSBqdXN0IHNldCBpdCB0byBudWxsLicpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpc1JlYWRvbmx5KHRhcmdldCkpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgd2FybiQyKFwiRGVsZXRlIG9wZXJhdGlvbiBvbiBrZXkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBmYWlsZWQ6IHRhcmdldCBpcyByZWFkb25seS5cIikpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghaGFzT3duKHRhcmdldCwga2V5KSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGRlbGV0ZSB0YXJnZXRba2V5XTtcbiAgICBpZiAoIW9iKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgb2IuZGVwLm5vdGlmeSh7XG4gICAgICAgICAgICB0eXBlOiBcImRlbGV0ZVwiIC8qIFRyaWdnZXJPcFR5cGVzLkRFTEVURSAqLyxcbiAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0LFxuICAgICAgICAgICAga2V5OiBrZXlcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBvYi5kZXAubm90aWZ5KCk7XG4gICAgfVxufVxuLyoqXG4gKiBDb2xsZWN0IGRlcGVuZGVuY2llcyBvbiBhcnJheSBlbGVtZW50cyB3aGVuIHRoZSBhcnJheSBpcyB0b3VjaGVkLCBzaW5jZVxuICogd2UgY2Fubm90IGludGVyY2VwdCBhcnJheSBlbGVtZW50IGFjY2VzcyBsaWtlIHByb3BlcnR5IGdldHRlcnMuXG4gKi9cbmZ1bmN0aW9uIGRlcGVuZEFycmF5KHZhbHVlKSB7XG4gICAgZm9yICh2YXIgZSA9IHZvaWQgMCwgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgZSA9IHZhbHVlW2ldO1xuICAgICAgICBpZiAoZSAmJiBlLl9fb2JfXykge1xuICAgICAgICAgICAgZS5fX29iX18uZGVwLmRlcGVuZCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0FycmF5KGUpKSB7XG4gICAgICAgICAgICBkZXBlbmRBcnJheShlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gcmVhY3RpdmUodGFyZ2V0KSB7XG4gICAgbWFrZVJlYWN0aXZlKHRhcmdldCwgZmFsc2UpO1xuICAgIHJldHVybiB0YXJnZXQ7XG59XG4vKipcbiAqIFJldHVybiBhIHNoYWxsb3dseS1yZWFjdGl2ZSBjb3B5IG9mIHRoZSBvcmlnaW5hbCBvYmplY3QsIHdoZXJlIG9ubHkgdGhlIHJvb3RcbiAqIGxldmVsIHByb3BlcnRpZXMgYXJlIHJlYWN0aXZlLiBJdCBhbHNvIGRvZXMgbm90IGF1dG8tdW53cmFwIHJlZnMgKGV2ZW4gYXQgdGhlXG4gKiByb290IGxldmVsKS5cbiAqL1xuZnVuY3Rpb24gc2hhbGxvd1JlYWN0aXZlKHRhcmdldCkge1xuICAgIG1ha2VSZWFjdGl2ZSh0YXJnZXQsIHRydWUpO1xuICAgIGRlZih0YXJnZXQsIFwiX192X2lzU2hhbGxvd1wiIC8qIFJlYWN0aXZlRmxhZ3MuSVNfU0hBTExPVyAqLywgdHJ1ZSk7XG4gICAgcmV0dXJuIHRhcmdldDtcbn1cbmZ1bmN0aW9uIG1ha2VSZWFjdGl2ZSh0YXJnZXQsIHNoYWxsb3cpIHtcbiAgICAvLyBpZiB0cnlpbmcgdG8gb2JzZXJ2ZSBhIHJlYWRvbmx5IHByb3h5LCByZXR1cm4gdGhlIHJlYWRvbmx5IHZlcnNpb24uXG4gICAgaWYgKCFpc1JlYWRvbmx5KHRhcmdldCkpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KHRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJBdm9pZCB1c2luZyBBcnJheSBhcyByb290IHZhbHVlIGZvciBcIi5jb25jYXQoc2hhbGxvdyA/IFwic2hhbGxvd1JlYWN0aXZlKClcIiA6IFwicmVhY3RpdmUoKVwiLCBcIiBhcyBpdCBjYW5ub3QgYmUgdHJhY2tlZCBpbiB3YXRjaCgpIG9yIHdhdGNoRWZmZWN0KCkuIFVzZSBcIikuY29uY2F0KHNoYWxsb3cgPyBcInNoYWxsb3dSZWYoKVwiIDogXCJyZWYoKVwiLCBcIiBpbnN0ZWFkLiBUaGlzIGlzIGEgVnVlLTItb25seSBsaW1pdGF0aW9uLlwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZXhpc3RpbmdPYiA9IHRhcmdldCAmJiB0YXJnZXQuX19vYl9fO1xuICAgICAgICAgICAgaWYgKGV4aXN0aW5nT2IgJiYgZXhpc3RpbmdPYi5zaGFsbG93ICE9PSBzaGFsbG93KSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiVGFyZ2V0IGlzIGFscmVhZHkgYSBcIi5jb25jYXQoZXhpc3RpbmdPYi5zaGFsbG93ID8gXCJcIiA6IFwibm9uLVwiLCBcInNoYWxsb3cgcmVhY3RpdmUgb2JqZWN0LCBhbmQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBcIikuY29uY2F0KHNoYWxsb3cgPyBcIlwiIDogXCJub24tXCIsIFwic2hhbGxvdy5cIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZhciBvYiA9IG9ic2VydmUodGFyZ2V0LCBzaGFsbG93LCBpc1NlcnZlclJlbmRlcmluZygpIC8qIHNzciBtb2NrIHJlYWN0aXZpdHkgKi8pO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhb2IpIHtcbiAgICAgICAgICAgIGlmICh0YXJnZXQgPT0gbnVsbCB8fCBpc1ByaW1pdGl2ZSh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwidmFsdWUgY2Fubm90IGJlIG1hZGUgcmVhY3RpdmU6IFwiLmNvbmNhdChTdHJpbmcodGFyZ2V0KSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzQ29sbGVjdGlvblR5cGUodGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgIHdhcm4kMihcIlZ1ZSAyIGRvZXMgbm90IHN1cHBvcnQgcmVhY3RpdmUgY29sbGVjdGlvbiB0eXBlcyBzdWNoIGFzIE1hcCBvciBTZXQuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gaXNSZWFjdGl2ZSh2YWx1ZSkge1xuICAgIGlmIChpc1JlYWRvbmx5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaXNSZWFjdGl2ZSh2YWx1ZVtcIl9fdl9yYXdcIiAvKiBSZWFjdGl2ZUZsYWdzLlJBVyAqL10pO1xuICAgIH1cbiAgICByZXR1cm4gISEodmFsdWUgJiYgdmFsdWUuX19vYl9fKTtcbn1cbmZ1bmN0aW9uIGlzU2hhbGxvdyh2YWx1ZSkge1xuICAgIHJldHVybiAhISh2YWx1ZSAmJiB2YWx1ZS5fX3ZfaXNTaGFsbG93KTtcbn1cbmZ1bmN0aW9uIGlzUmVhZG9ubHkodmFsdWUpIHtcbiAgICByZXR1cm4gISEodmFsdWUgJiYgdmFsdWUuX192X2lzUmVhZG9ubHkpO1xufVxuZnVuY3Rpb24gaXNQcm94eSh2YWx1ZSkge1xuICAgIHJldHVybiBpc1JlYWN0aXZlKHZhbHVlKSB8fCBpc1JlYWRvbmx5KHZhbHVlKTtcbn1cbmZ1bmN0aW9uIHRvUmF3KG9ic2VydmVkKSB7XG4gICAgdmFyIHJhdyA9IG9ic2VydmVkICYmIG9ic2VydmVkW1wiX192X3Jhd1wiIC8qIFJlYWN0aXZlRmxhZ3MuUkFXICovXTtcbiAgICByZXR1cm4gcmF3ID8gdG9SYXcocmF3KSA6IG9ic2VydmVkO1xufVxuZnVuY3Rpb24gbWFya1Jhdyh2YWx1ZSkge1xuICAgIC8vIG5vbi1leHRlbnNpYmxlIG9iamVjdHMgd29uJ3QgYmUgb2JzZXJ2ZWQgYW55d2F5XG4gICAgaWYgKE9iamVjdC5pc0V4dGVuc2libGUodmFsdWUpKSB7XG4gICAgICAgIGRlZih2YWx1ZSwgXCJfX3Zfc2tpcFwiIC8qIFJlYWN0aXZlRmxhZ3MuU0tJUCAqLywgdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIGlzQ29sbGVjdGlvblR5cGUodmFsdWUpIHtcbiAgICB2YXIgdHlwZSA9IHRvUmF3VHlwZSh2YWx1ZSk7XG4gICAgcmV0dXJuICh0eXBlID09PSAnTWFwJyB8fCB0eXBlID09PSAnV2Vha01hcCcgfHwgdHlwZSA9PT0gJ1NldCcgfHwgdHlwZSA9PT0gJ1dlYWtTZXQnKTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xudmFyIFJlZkZsYWcgPSBcIl9fdl9pc1JlZlwiO1xuZnVuY3Rpb24gaXNSZWYocikge1xuICAgIHJldHVybiAhIShyICYmIHIuX192X2lzUmVmID09PSB0cnVlKTtcbn1cbmZ1bmN0aW9uIHJlZiQxKHZhbHVlKSB7XG4gICAgcmV0dXJuIGNyZWF0ZVJlZih2YWx1ZSwgZmFsc2UpO1xufVxuZnVuY3Rpb24gc2hhbGxvd1JlZih2YWx1ZSkge1xuICAgIHJldHVybiBjcmVhdGVSZWYodmFsdWUsIHRydWUpO1xufVxuZnVuY3Rpb24gY3JlYXRlUmVmKHJhd1ZhbHVlLCBzaGFsbG93KSB7XG4gICAgaWYgKGlzUmVmKHJhd1ZhbHVlKSkge1xuICAgICAgICByZXR1cm4gcmF3VmFsdWU7XG4gICAgfVxuICAgIHZhciByZWYgPSB7fTtcbiAgICBkZWYocmVmLCBSZWZGbGFnLCB0cnVlKTtcbiAgICBkZWYocmVmLCBcIl9fdl9pc1NoYWxsb3dcIiAvKiBSZWFjdGl2ZUZsYWdzLklTX1NIQUxMT1cgKi8sIHNoYWxsb3cpO1xuICAgIGRlZihyZWYsICdkZXAnLCBkZWZpbmVSZWFjdGl2ZShyZWYsICd2YWx1ZScsIHJhd1ZhbHVlLCBudWxsLCBzaGFsbG93LCBpc1NlcnZlclJlbmRlcmluZygpKSk7XG4gICAgcmV0dXJuIHJlZjtcbn1cbmZ1bmN0aW9uIHRyaWdnZXJSZWYocmVmKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIXJlZi5kZXApIHtcbiAgICAgICAgd2FybiQyKFwicmVjZWl2ZWQgb2JqZWN0IGlzIG5vdCBhIHRyaWdnZXJhYmxlIHJlZi5cIik7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHJlZi5kZXAgJiZcbiAgICAgICAgICAgIHJlZi5kZXAubm90aWZ5KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcInNldFwiIC8qIFRyaWdnZXJPcFR5cGVzLlNFVCAqLyxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHJlZixcbiAgICAgICAgICAgICAgICBrZXk6ICd2YWx1ZSdcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmVmLmRlcCAmJiByZWYuZGVwLm5vdGlmeSgpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHVucmVmKHJlZikge1xuICAgIHJldHVybiBpc1JlZihyZWYpID8gcmVmLnZhbHVlIDogcmVmO1xufVxuZnVuY3Rpb24gcHJveHlSZWZzKG9iamVjdFdpdGhSZWZzKSB7XG4gICAgaWYgKGlzUmVhY3RpdmUob2JqZWN0V2l0aFJlZnMpKSB7XG4gICAgICAgIHJldHVybiBvYmplY3RXaXRoUmVmcztcbiAgICB9XG4gICAgdmFyIHByb3h5ID0ge307XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3RXaXRoUmVmcyk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHByb3h5V2l0aFJlZlVud3JhcChwcm94eSwgb2JqZWN0V2l0aFJlZnMsIGtleXNbaV0pO1xuICAgIH1cbiAgICByZXR1cm4gcHJveHk7XG59XG5mdW5jdGlvbiBwcm94eVdpdGhSZWZVbndyYXAodGFyZ2V0LCBzb3VyY2UsIGtleSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIHZhbCA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgICAgaWYgKGlzUmVmKHZhbCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIG9iID0gdmFsICYmIHZhbC5fX29iX187XG4gICAgICAgICAgICAgICAgaWYgKG9iKVxuICAgICAgICAgICAgICAgICAgICBvYi5kZXAuZGVwZW5kKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIHZhciBvbGRWYWx1ZSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgICAgaWYgKGlzUmVmKG9sZFZhbHVlKSAmJiAhaXNSZWYodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgb2xkVmFsdWUudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHNvdXJjZVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGN1c3RvbVJlZihmYWN0b3J5KSB7XG4gICAgdmFyIGRlcCA9IG5ldyBEZXAoKTtcbiAgICB2YXIgX2EgPSBmYWN0b3J5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGRlcC5kZXBlbmQoe1xuICAgICAgICAgICAgICAgIHRhcmdldDogcmVmLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwiZ2V0XCIgLyogVHJhY2tPcFR5cGVzLkdFVCAqLyxcbiAgICAgICAgICAgICAgICBrZXk6ICd2YWx1ZSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGVwLmRlcGVuZCgpO1xuICAgICAgICB9XG4gICAgfSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgZGVwLm5vdGlmeSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0OiByZWYsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzZXRcIiAvKiBUcmlnZ2VyT3BUeXBlcy5TRVQgKi8sXG4gICAgICAgICAgICAgICAga2V5OiAndmFsdWUnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRlcC5ub3RpZnkoKTtcbiAgICAgICAgfVxuICAgIH0pLCBnZXQgPSBfYS5nZXQsIHNldCA9IF9hLnNldDtcbiAgICB2YXIgcmVmID0ge1xuICAgICAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldCB2YWx1ZShuZXdWYWwpIHtcbiAgICAgICAgICAgIHNldChuZXdWYWwpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBkZWYocmVmLCBSZWZGbGFnLCB0cnVlKTtcbiAgICByZXR1cm4gcmVmO1xufVxuZnVuY3Rpb24gdG9SZWZzKG9iamVjdCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFpc1JlYWN0aXZlKG9iamVjdCkpIHtcbiAgICAgICAgd2FybiQyKFwidG9SZWZzKCkgZXhwZWN0cyBhIHJlYWN0aXZlIG9iamVjdCBidXQgcmVjZWl2ZWQgYSBwbGFpbiBvbmUuXCIpO1xuICAgIH1cbiAgICB2YXIgcmV0ID0gaXNBcnJheShvYmplY3QpID8gbmV3IEFycmF5KG9iamVjdC5sZW5ndGgpIDoge307XG4gICAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgICAgICByZXRba2V5XSA9IHRvUmVmKG9iamVjdCwga2V5KTtcbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbn1cbmZ1bmN0aW9uIHRvUmVmKG9iamVjdCwga2V5LCBkZWZhdWx0VmFsdWUpIHtcbiAgICB2YXIgdmFsID0gb2JqZWN0W2tleV07XG4gICAgaWYgKGlzUmVmKHZhbCkpIHtcbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG4gICAgdmFyIHJlZiA9IHtcbiAgICAgICAgZ2V0IHZhbHVlKCkge1xuICAgICAgICAgICAgdmFyIHZhbCA9IG9iamVjdFtrZXldO1xuICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gdW5kZWZpbmVkID8gZGVmYXVsdFZhbHVlIDogdmFsO1xuICAgICAgICB9LFxuICAgICAgICBzZXQgdmFsdWUobmV3VmFsKSB7XG4gICAgICAgICAgICBvYmplY3Rba2V5XSA9IG5ld1ZhbDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZGVmKHJlZiwgUmVmRmxhZywgdHJ1ZSk7XG4gICAgcmV0dXJuIHJlZjtcbn1cblxudmFyIHJhd1RvUmVhZG9ubHlGbGFnID0gXCJfX3ZfcmF3VG9SZWFkb25seVwiO1xudmFyIHJhd1RvU2hhbGxvd1JlYWRvbmx5RmxhZyA9IFwiX192X3Jhd1RvU2hhbGxvd1JlYWRvbmx5XCI7XG5mdW5jdGlvbiByZWFkb25seSh0YXJnZXQpIHtcbiAgICByZXR1cm4gY3JlYXRlUmVhZG9ubHkodGFyZ2V0LCBmYWxzZSk7XG59XG5mdW5jdGlvbiBjcmVhdGVSZWFkb25seSh0YXJnZXQsIHNoYWxsb3cpIHtcbiAgICBpZiAoIWlzUGxhaW5PYmplY3QodGFyZ2V0KSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgaWYgKGlzQXJyYXkodGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgIHdhcm4kMihcIlZ1ZSAyIGRvZXMgbm90IHN1cHBvcnQgcmVhZG9ubHkgYXJyYXlzLlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGlzQ29sbGVjdGlvblR5cGUodGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgIHdhcm4kMihcIlZ1ZSAyIGRvZXMgbm90IHN1cHBvcnQgcmVhZG9ubHkgY29sbGVjdGlvbiB0eXBlcyBzdWNoIGFzIE1hcCBvciBTZXQuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwidmFsdWUgY2Fubm90IGJlIG1hZGUgcmVhZG9ubHk6IFwiLmNvbmNhdCh0eXBlb2YgdGFyZ2V0KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIU9iamVjdC5pc0V4dGVuc2libGUodGFyZ2V0KSkge1xuICAgICAgICB3YXJuJDIoXCJWdWUgMiBkb2VzIG5vdCBzdXBwb3J0IGNyZWF0aW5nIHJlYWRvbmx5IHByb3h5IGZvciBub24tZXh0ZW5zaWJsZSBvYmplY3QuXCIpO1xuICAgIH1cbiAgICAvLyBhbHJlYWR5IGEgcmVhZG9ubHkgb2JqZWN0XG4gICAgaWYgKGlzUmVhZG9ubHkodGFyZ2V0KSkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH1cbiAgICAvLyBhbHJlYWR5IGhhcyBhIHJlYWRvbmx5IHByb3h5XG4gICAgdmFyIGV4aXN0aW5nRmxhZyA9IHNoYWxsb3cgPyByYXdUb1NoYWxsb3dSZWFkb25seUZsYWcgOiByYXdUb1JlYWRvbmx5RmxhZztcbiAgICB2YXIgZXhpc3RpbmdQcm94eSA9IHRhcmdldFtleGlzdGluZ0ZsYWddO1xuICAgIGlmIChleGlzdGluZ1Byb3h5KSB7XG4gICAgICAgIHJldHVybiBleGlzdGluZ1Byb3h5O1xuICAgIH1cbiAgICB2YXIgcHJveHkgPSBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0YXJnZXQpKTtcbiAgICBkZWYodGFyZ2V0LCBleGlzdGluZ0ZsYWcsIHByb3h5KTtcbiAgICBkZWYocHJveHksIFwiX192X2lzUmVhZG9ubHlcIiAvKiBSZWFjdGl2ZUZsYWdzLklTX1JFQURPTkxZICovLCB0cnVlKTtcbiAgICBkZWYocHJveHksIFwiX192X3Jhd1wiIC8qIFJlYWN0aXZlRmxhZ3MuUkFXICovLCB0YXJnZXQpO1xuICAgIGlmIChpc1JlZih0YXJnZXQpKSB7XG4gICAgICAgIGRlZihwcm94eSwgUmVmRmxhZywgdHJ1ZSk7XG4gICAgfVxuICAgIGlmIChzaGFsbG93IHx8IGlzU2hhbGxvdyh0YXJnZXQpKSB7XG4gICAgICAgIGRlZihwcm94eSwgXCJfX3ZfaXNTaGFsbG93XCIgLyogUmVhY3RpdmVGbGFncy5JU19TSEFMTE9XICovLCB0cnVlKTtcbiAgICB9XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh0YXJnZXQpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBkZWZpbmVSZWFkb25seVByb3BlcnR5KHByb3h5LCB0YXJnZXQsIGtleXNbaV0sIHNoYWxsb3cpO1xuICAgIH1cbiAgICByZXR1cm4gcHJveHk7XG59XG5mdW5jdGlvbiBkZWZpbmVSZWFkb25seVByb3BlcnR5KHByb3h5LCB0YXJnZXQsIGtleSwgc2hhbGxvdykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm94eSwga2V5LCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gdGFyZ2V0W2tleV07XG4gICAgICAgICAgICByZXR1cm4gc2hhbGxvdyB8fCAhaXNQbGFpbk9iamVjdCh2YWwpID8gdmFsIDogcmVhZG9ubHkodmFsKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgICAgd2FybiQyKFwiU2V0IG9wZXJhdGlvbiBvbiBrZXkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBmYWlsZWQ6IHRhcmdldCBpcyByZWFkb25seS5cIikpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4vKipcbiAqIFJldHVybnMgYSByZWFjdGl2ZS1jb3B5IG9mIHRoZSBvcmlnaW5hbCBvYmplY3QsIHdoZXJlIG9ubHkgdGhlIHJvb3QgbGV2ZWxcbiAqIHByb3BlcnRpZXMgYXJlIHJlYWRvbmx5LCBhbmQgZG9lcyBOT1QgdW53cmFwIHJlZnMgbm9yIHJlY3Vyc2l2ZWx5IGNvbnZlcnRcbiAqIHJldHVybmVkIHByb3BlcnRpZXMuXG4gKiBUaGlzIGlzIHVzZWQgZm9yIGNyZWF0aW5nIHRoZSBwcm9wcyBwcm94eSBvYmplY3QgZm9yIHN0YXRlZnVsIGNvbXBvbmVudHMuXG4gKi9cbmZ1bmN0aW9uIHNoYWxsb3dSZWFkb25seSh0YXJnZXQpIHtcbiAgICByZXR1cm4gY3JlYXRlUmVhZG9ubHkodGFyZ2V0LCB0cnVlKTtcbn1cblxuZnVuY3Rpb24gY29tcHV0ZWQoZ2V0dGVyT3JPcHRpb25zLCBkZWJ1Z09wdGlvbnMpIHtcbiAgICB2YXIgZ2V0dGVyO1xuICAgIHZhciBzZXR0ZXI7XG4gICAgdmFyIG9ubHlHZXR0ZXIgPSBpc0Z1bmN0aW9uKGdldHRlck9yT3B0aW9ucyk7XG4gICAgaWYgKG9ubHlHZXR0ZXIpIHtcbiAgICAgICAgZ2V0dGVyID0gZ2V0dGVyT3JPcHRpb25zO1xuICAgICAgICBzZXR0ZXIgPSBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nXG4gICAgICAgICAgICA/IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoJ1dyaXRlIG9wZXJhdGlvbiBmYWlsZWQ6IGNvbXB1dGVkIHZhbHVlIGlzIHJlYWRvbmx5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IG5vb3A7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBnZXR0ZXIgPSBnZXR0ZXJPck9wdGlvbnMuZ2V0O1xuICAgICAgICBzZXR0ZXIgPSBnZXR0ZXJPck9wdGlvbnMuc2V0O1xuICAgIH1cbiAgICB2YXIgd2F0Y2hlciA9IGlzU2VydmVyUmVuZGVyaW5nKClcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDogbmV3IFdhdGNoZXIoY3VycmVudEluc3RhbmNlLCBnZXR0ZXIsIG5vb3AsIHsgbGF6eTogdHJ1ZSB9KTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXRjaGVyICYmIGRlYnVnT3B0aW9ucykge1xuICAgICAgICB3YXRjaGVyLm9uVHJhY2sgPSBkZWJ1Z09wdGlvbnMub25UcmFjaztcbiAgICAgICAgd2F0Y2hlci5vblRyaWdnZXIgPSBkZWJ1Z09wdGlvbnMub25UcmlnZ2VyO1xuICAgIH1cbiAgICB2YXIgcmVmID0ge1xuICAgICAgICAvLyBzb21lIGxpYnMgcmVseSBvbiB0aGUgcHJlc2VuY2UgZWZmZWN0IGZvciBjaGVja2luZyBjb21wdXRlZCByZWZzXG4gICAgICAgIC8vIGZyb20gbm9ybWFsIHJlZnMsIGJ1dCB0aGUgaW1wbGVtZW50YXRpb24gZG9lc24ndCBtYXR0ZXJcbiAgICAgICAgZWZmZWN0OiB3YXRjaGVyLFxuICAgICAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgICAgICBpZiAod2F0Y2hlcikge1xuICAgICAgICAgICAgICAgIGlmICh3YXRjaGVyLmRpcnR5KSB7XG4gICAgICAgICAgICAgICAgICAgIHdhdGNoZXIuZXZhbHVhdGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKERlcC50YXJnZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgRGVwLnRhcmdldC5vblRyYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBEZXAudGFyZ2V0Lm9uVHJhY2soe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdDogRGVwLnRhcmdldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IHJlZixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImdldFwiIC8qIFRyYWNrT3BUeXBlcy5HRVQgKi8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAndmFsdWUnXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB3YXRjaGVyLmRlcGVuZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gd2F0Y2hlci52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXR0ZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2V0IHZhbHVlKG5ld1ZhbCkge1xuICAgICAgICAgICAgc2V0dGVyKG5ld1ZhbCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGRlZihyZWYsIFJlZkZsYWcsIHRydWUpO1xuICAgIGRlZihyZWYsIFwiX192X2lzUmVhZG9ubHlcIiAvKiBSZWFjdGl2ZUZsYWdzLklTX1JFQURPTkxZICovLCBvbmx5R2V0dGVyKTtcbiAgICByZXR1cm4gcmVmO1xufVxuXG52YXIgbWFyaztcbnZhciBtZWFzdXJlO1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB2YXIgcGVyZl8xID0gaW5Ccm93c2VyICYmIHdpbmRvdy5wZXJmb3JtYW5jZTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAocGVyZl8xICYmXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcGVyZl8xLm1hcmsgJiZcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwZXJmXzEubWVhc3VyZSAmJlxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHBlcmZfMS5jbGVhck1hcmtzICYmXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcGVyZl8xLmNsZWFyTWVhc3VyZXMpIHtcbiAgICAgICAgbWFyayA9IGZ1bmN0aW9uICh0YWcpIHsgcmV0dXJuIHBlcmZfMS5tYXJrKHRhZyk7IH07XG4gICAgICAgIG1lYXN1cmUgPSBmdW5jdGlvbiAobmFtZSwgc3RhcnRUYWcsIGVuZFRhZykge1xuICAgICAgICAgICAgcGVyZl8xLm1lYXN1cmUobmFtZSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4gICAgICAgICAgICBwZXJmXzEuY2xlYXJNYXJrcyhzdGFydFRhZyk7XG4gICAgICAgICAgICBwZXJmXzEuY2xlYXJNYXJrcyhlbmRUYWcpO1xuICAgICAgICAgICAgLy8gcGVyZi5jbGVhck1lYXN1cmVzKG5hbWUpXG4gICAgICAgIH07XG4gICAgfVxufVxuXG52YXIgbm9ybWFsaXplRXZlbnQgPSBjYWNoZWQoZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB2YXIgcGFzc2l2ZSA9IG5hbWUuY2hhckF0KDApID09PSAnJic7XG4gICAgbmFtZSA9IHBhc3NpdmUgPyBuYW1lLnNsaWNlKDEpIDogbmFtZTtcbiAgICB2YXIgb25jZSA9IG5hbWUuY2hhckF0KDApID09PSAnfic7IC8vIFByZWZpeGVkIGxhc3QsIGNoZWNrZWQgZmlyc3RcbiAgICBuYW1lID0gb25jZSA/IG5hbWUuc2xpY2UoMSkgOiBuYW1lO1xuICAgIHZhciBjYXB0dXJlID0gbmFtZS5jaGFyQXQoMCkgPT09ICchJztcbiAgICBuYW1lID0gY2FwdHVyZSA/IG5hbWUuc2xpY2UoMSkgOiBuYW1lO1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgIG9uY2U6IG9uY2UsXG4gICAgICAgIGNhcHR1cmU6IGNhcHR1cmUsXG4gICAgICAgIHBhc3NpdmU6IHBhc3NpdmVcbiAgICB9O1xufSk7XG5mdW5jdGlvbiBjcmVhdGVGbkludm9rZXIoZm5zLCB2bSkge1xuICAgIGZ1bmN0aW9uIGludm9rZXIoKSB7XG4gICAgICAgIHZhciBmbnMgPSBpbnZva2VyLmZucztcbiAgICAgICAgaWYgKGlzQXJyYXkoZm5zKSkge1xuICAgICAgICAgICAgdmFyIGNsb25lZCA9IGZucy5zbGljZSgpO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjbG9uZWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyhjbG9uZWRbaV0sIG51bGwsIGFyZ3VtZW50cywgdm0sIFwidi1vbiBoYW5kbGVyXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGhhbmRsZXIgcmV0dXJuIHZhbHVlIGZvciBzaW5nbGUgaGFuZGxlcnNcbiAgICAgICAgICAgIHJldHVybiBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyhmbnMsIG51bGwsIGFyZ3VtZW50cywgdm0sIFwidi1vbiBoYW5kbGVyXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGludm9rZXIuZm5zID0gZm5zO1xuICAgIHJldHVybiBpbnZva2VyO1xufVxuZnVuY3Rpb24gdXBkYXRlTGlzdGVuZXJzKG9uLCBvbGRPbiwgYWRkLCByZW1vdmUsIGNyZWF0ZU9uY2VIYW5kbGVyLCB2bSkge1xuICAgIHZhciBuYW1lLCBjdXIsIG9sZCwgZXZlbnQ7XG4gICAgZm9yIChuYW1lIGluIG9uKSB7XG4gICAgICAgIGN1ciA9IG9uW25hbWVdO1xuICAgICAgICBvbGQgPSBvbGRPbltuYW1lXTtcbiAgICAgICAgZXZlbnQgPSBub3JtYWxpemVFdmVudChuYW1lKTtcbiAgICAgICAgaWYgKGlzVW5kZWYoY3VyKSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgIHdhcm4kMihcIkludmFsaWQgaGFuZGxlciBmb3IgZXZlbnQgXFxcIlwiLmNvbmNhdChldmVudC5uYW1lLCBcIlxcXCI6IGdvdCBcIikgKyBTdHJpbmcoY3VyKSwgdm0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzVW5kZWYob2xkKSkge1xuICAgICAgICAgICAgaWYgKGlzVW5kZWYoY3VyLmZucykpIHtcbiAgICAgICAgICAgICAgICBjdXIgPSBvbltuYW1lXSA9IGNyZWF0ZUZuSW52b2tlcihjdXIsIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc1RydWUoZXZlbnQub25jZSkpIHtcbiAgICAgICAgICAgICAgICBjdXIgPSBvbltuYW1lXSA9IGNyZWF0ZU9uY2VIYW5kbGVyKGV2ZW50Lm5hbWUsIGN1ciwgZXZlbnQuY2FwdHVyZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhZGQoZXZlbnQubmFtZSwgY3VyLCBldmVudC5jYXB0dXJlLCBldmVudC5wYXNzaXZlLCBldmVudC5wYXJhbXMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGN1ciAhPT0gb2xkKSB7XG4gICAgICAgICAgICBvbGQuZm5zID0gY3VyO1xuICAgICAgICAgICAgb25bbmFtZV0gPSBvbGQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChuYW1lIGluIG9sZE9uKSB7XG4gICAgICAgIGlmIChpc1VuZGVmKG9uW25hbWVdKSkge1xuICAgICAgICAgICAgZXZlbnQgPSBub3JtYWxpemVFdmVudChuYW1lKTtcbiAgICAgICAgICAgIHJlbW92ZShldmVudC5uYW1lLCBvbGRPbltuYW1lXSwgZXZlbnQuY2FwdHVyZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1lcmdlVk5vZGVIb29rKGRlZiwgaG9va0tleSwgaG9vaykge1xuICAgIGlmIChkZWYgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgICAgICBkZWYgPSBkZWYuZGF0YS5ob29rIHx8IChkZWYuZGF0YS5ob29rID0ge30pO1xuICAgIH1cbiAgICB2YXIgaW52b2tlcjtcbiAgICB2YXIgb2xkSG9vayA9IGRlZltob29rS2V5XTtcbiAgICBmdW5jdGlvbiB3cmFwcGVkSG9vaygpIHtcbiAgICAgICAgaG9vay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAvLyBpbXBvcnRhbnQ6IHJlbW92ZSBtZXJnZWQgaG9vayB0byBlbnN1cmUgaXQncyBjYWxsZWQgb25seSBvbmNlXG4gICAgICAgIC8vIGFuZCBwcmV2ZW50IG1lbW9yeSBsZWFrXG4gICAgICAgIHJlbW92ZSQyKGludm9rZXIuZm5zLCB3cmFwcGVkSG9vayk7XG4gICAgfVxuICAgIGlmIChpc1VuZGVmKG9sZEhvb2spKSB7XG4gICAgICAgIC8vIG5vIGV4aXN0aW5nIGhvb2tcbiAgICAgICAgaW52b2tlciA9IGNyZWF0ZUZuSW52b2tlcihbd3JhcHBlZEhvb2tdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoaXNEZWYob2xkSG9vay5mbnMpICYmIGlzVHJ1ZShvbGRIb29rLm1lcmdlZCkpIHtcbiAgICAgICAgICAgIC8vIGFscmVhZHkgYSBtZXJnZWQgaW52b2tlclxuICAgICAgICAgICAgaW52b2tlciA9IG9sZEhvb2s7XG4gICAgICAgICAgICBpbnZva2VyLmZucy5wdXNoKHdyYXBwZWRIb29rKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGV4aXN0aW5nIHBsYWluIGhvb2tcbiAgICAgICAgICAgIGludm9rZXIgPSBjcmVhdGVGbkludm9rZXIoW29sZEhvb2ssIHdyYXBwZWRIb29rXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW52b2tlci5tZXJnZWQgPSB0cnVlO1xuICAgIGRlZltob29rS2V5XSA9IGludm9rZXI7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEoZGF0YSwgQ3RvciwgdGFnKSB7XG4gICAgLy8gd2UgYXJlIG9ubHkgZXh0cmFjdGluZyByYXcgdmFsdWVzIGhlcmUuXG4gICAgLy8gdmFsaWRhdGlvbiBhbmQgZGVmYXVsdCB2YWx1ZXMgYXJlIGhhbmRsZWQgaW4gdGhlIGNoaWxkXG4gICAgLy8gY29tcG9uZW50IGl0c2VsZi5cbiAgICB2YXIgcHJvcE9wdGlvbnMgPSBDdG9yLm9wdGlvbnMucHJvcHM7XG4gICAgaWYgKGlzVW5kZWYocHJvcE9wdGlvbnMpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIHZhciBhdHRycyA9IGRhdGEuYXR0cnMsIHByb3BzID0gZGF0YS5wcm9wcztcbiAgICBpZiAoaXNEZWYoYXR0cnMpIHx8IGlzRGVmKHByb3BzKSkge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcHJvcE9wdGlvbnMpIHtcbiAgICAgICAgICAgIHZhciBhbHRLZXkgPSBoeXBoZW5hdGUoa2V5KTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdmFyIGtleUluTG93ZXJDYXNlID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgaWYgKGtleSAhPT0ga2V5SW5Mb3dlckNhc2UgJiYgYXR0cnMgJiYgaGFzT3duKGF0dHJzLCBrZXlJbkxvd2VyQ2FzZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGlwKFwiUHJvcCBcXFwiXCIuY29uY2F0KGtleUluTG93ZXJDYXNlLCBcIlxcXCIgaXMgcGFzc2VkIHRvIGNvbXBvbmVudCBcIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJcIi5jb25jYXQoZm9ybWF0Q29tcG9uZW50TmFtZShcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGFnIGlzIHN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFnIHx8IEN0b3IpLCBcIiwgYnV0IHRoZSBkZWNsYXJlZCBwcm9wIG5hbWUgaXNcIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCIgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIi4gXCIpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiTm90ZSB0aGF0IEhUTUwgYXR0cmlidXRlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgY2FtZWxDYXNlZCBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByb3BzIG5lZWQgdG8gdXNlIHRoZWlyIGtlYmFiLWNhc2UgZXF1aXZhbGVudHMgd2hlbiB1c2luZyBpbi1ET00gXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0ZW1wbGF0ZXMuIFlvdSBzaG91bGQgcHJvYmFibHkgdXNlIFxcXCJcIi5jb25jYXQoYWx0S2V5LCBcIlxcXCIgaW5zdGVhZCBvZiBcXFwiXCIpLmNvbmNhdChrZXksIFwiXFxcIi5cIikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoZWNrUHJvcChyZXMsIHByb3BzLCBrZXksIGFsdEtleSwgdHJ1ZSkgfHxcbiAgICAgICAgICAgICAgICBjaGVja1Byb3AocmVzLCBhdHRycywga2V5LCBhbHRLZXksIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuZnVuY3Rpb24gY2hlY2tQcm9wKHJlcywgaGFzaCwga2V5LCBhbHRLZXksIHByZXNlcnZlKSB7XG4gICAgaWYgKGlzRGVmKGhhc2gpKSB7XG4gICAgICAgIGlmIChoYXNPd24oaGFzaCwga2V5KSkge1xuICAgICAgICAgICAgcmVzW2tleV0gPSBoYXNoW2tleV07XG4gICAgICAgICAgICBpZiAoIXByZXNlcnZlKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGhhc2hba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGhhc093bihoYXNoLCBhbHRLZXkpKSB7XG4gICAgICAgICAgICByZXNba2V5XSA9IGhhc2hbYWx0S2V5XTtcbiAgICAgICAgICAgIGlmICghcHJlc2VydmUpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgaGFzaFthbHRLZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBUaGUgdGVtcGxhdGUgY29tcGlsZXIgYXR0ZW1wdHMgdG8gbWluaW1pemUgdGhlIG5lZWQgZm9yIG5vcm1hbGl6YXRpb24gYnlcbi8vIHN0YXRpY2FsbHkgYW5hbHl6aW5nIHRoZSB0ZW1wbGF0ZSBhdCBjb21waWxlIHRpbWUuXG4vL1xuLy8gRm9yIHBsYWluIEhUTUwgbWFya3VwLCBub3JtYWxpemF0aW9uIGNhbiBiZSBjb21wbGV0ZWx5IHNraXBwZWQgYmVjYXVzZSB0aGVcbi8vIGdlbmVyYXRlZCByZW5kZXIgZnVuY3Rpb24gaXMgZ3VhcmFudGVlZCB0byByZXR1cm4gQXJyYXk8Vk5vZGU+LiBUaGVyZSBhcmVcbi8vIHR3byBjYXNlcyB3aGVyZSBleHRyYSBub3JtYWxpemF0aW9uIGlzIG5lZWRlZDpcbi8vIDEuIFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbXBvbmVudHMgLSBiZWNhdXNlIGEgZnVuY3Rpb25hbCBjb21wb25lbnRcbi8vIG1heSByZXR1cm4gYW4gQXJyYXkgaW5zdGVhZCBvZiBhIHNpbmdsZSByb290LiBJbiB0aGlzIGNhc2UsIGp1c3QgYSBzaW1wbGVcbi8vIG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkIC0gaWYgYW55IGNoaWxkIGlzIGFuIEFycmF5LCB3ZSBmbGF0dGVuIHRoZSB3aG9sZVxuLy8gdGhpbmcgd2l0aCBBcnJheS5wcm90b3R5cGUuY29uY2F0LiBJdCBpcyBndWFyYW50ZWVkIHRvIGJlIG9ubHkgMS1sZXZlbCBkZWVwXG4vLyBiZWNhdXNlIGZ1bmN0aW9uYWwgY29tcG9uZW50cyBhbHJlYWR5IG5vcm1hbGl6ZSB0aGVpciBvd24gY2hpbGRyZW4uXG5mdW5jdGlvbiBzaW1wbGVOb3JtYWxpemVDaGlsZHJlbihjaGlsZHJlbikge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzQXJyYXkoY2hpbGRyZW5baV0pKSB7XG4gICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSwgY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjaGlsZHJlbjtcbn1cbi8vIDIuIFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbnN0cnVjdHMgdGhhdCBhbHdheXMgZ2VuZXJhdGVkIG5lc3RlZCBBcnJheXMsXG4vLyBlLmcuIDx0ZW1wbGF0ZT4sIDxzbG90Piwgdi1mb3IsIG9yIHdoZW4gdGhlIGNoaWxkcmVuIGlzIHByb3ZpZGVkIGJ5IHVzZXJcbi8vIHdpdGggaGFuZC13cml0dGVuIHJlbmRlciBmdW5jdGlvbnMgLyBKU1guIEluIHN1Y2ggY2FzZXMgYSBmdWxsIG5vcm1hbGl6YXRpb25cbi8vIGlzIG5lZWRlZCB0byBjYXRlciB0byBhbGwgcG9zc2libGUgdHlwZXMgb2YgY2hpbGRyZW4gdmFsdWVzLlxuZnVuY3Rpb24gbm9ybWFsaXplQ2hpbGRyZW4oY2hpbGRyZW4pIHtcbiAgICByZXR1cm4gaXNQcmltaXRpdmUoY2hpbGRyZW4pXG4gICAgICAgID8gW2NyZWF0ZVRleHRWTm9kZShjaGlsZHJlbildXG4gICAgICAgIDogaXNBcnJheShjaGlsZHJlbilcbiAgICAgICAgICAgID8gbm9ybWFsaXplQXJyYXlDaGlsZHJlbihjaGlsZHJlbilcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gaXNUZXh0Tm9kZShub2RlKSB7XG4gICAgcmV0dXJuIGlzRGVmKG5vZGUpICYmIGlzRGVmKG5vZGUudGV4dCkgJiYgaXNGYWxzZShub2RlLmlzQ29tbWVudCk7XG59XG5mdW5jdGlvbiBub3JtYWxpemVBcnJheUNoaWxkcmVuKGNoaWxkcmVuLCBuZXN0ZWRJbmRleCkge1xuICAgIHZhciByZXMgPSBbXTtcbiAgICB2YXIgaSwgYywgbGFzdEluZGV4LCBsYXN0O1xuICAgIGZvciAoaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjID0gY2hpbGRyZW5baV07XG4gICAgICAgIGlmIChpc1VuZGVmKGMpIHx8IHR5cGVvZiBjID09PSAnYm9vbGVhbicpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgbGFzdEluZGV4ID0gcmVzLmxlbmd0aCAtIDE7XG4gICAgICAgIGxhc3QgPSByZXNbbGFzdEluZGV4XTtcbiAgICAgICAgLy8gIG5lc3RlZFxuICAgICAgICBpZiAoaXNBcnJheShjKSkge1xuICAgICAgICAgICAgaWYgKGMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGMgPSBub3JtYWxpemVBcnJheUNoaWxkcmVuKGMsIFwiXCIuY29uY2F0KG5lc3RlZEluZGV4IHx8ICcnLCBcIl9cIikuY29uY2F0KGkpKTtcbiAgICAgICAgICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgICAgICAgICAgaWYgKGlzVGV4dE5vZGUoY1swXSkgJiYgaXNUZXh0Tm9kZShsYXN0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyBjWzBdLnRleHQpO1xuICAgICAgICAgICAgICAgICAgICBjLnNoaWZ0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlcy5wdXNoLmFwcGx5KHJlcywgYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNQcmltaXRpdmUoYykpIHtcbiAgICAgICAgICAgIGlmIChpc1RleHROb2RlKGxhc3QpKSB7XG4gICAgICAgICAgICAgICAgLy8gbWVyZ2UgYWRqYWNlbnQgdGV4dCBub2Rlc1xuICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMgbmVjZXNzYXJ5IGZvciBTU1IgaHlkcmF0aW9uIGJlY2F1c2UgdGV4dCBub2RlcyBhcmVcbiAgICAgICAgICAgICAgICAvLyBlc3NlbnRpYWxseSBtZXJnZWQgd2hlbiByZW5kZXJlZCB0byBIVE1MIHN0cmluZ3NcbiAgICAgICAgICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyBjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGMgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgLy8gY29udmVydCBwcmltaXRpdmUgdG8gdm5vZGVcbiAgICAgICAgICAgICAgICByZXMucHVzaChjcmVhdGVUZXh0Vk5vZGUoYykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGlzVGV4dE5vZGUoYykgJiYgaXNUZXh0Tm9kZShsYXN0KSkge1xuICAgICAgICAgICAgICAgIC8vIG1lcmdlIGFkamFjZW50IHRleHQgbm9kZXNcbiAgICAgICAgICAgICAgICByZXNbbGFzdEluZGV4XSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyBjLnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gZGVmYXVsdCBrZXkgZm9yIG5lc3RlZCBhcnJheSBjaGlsZHJlbiAobGlrZWx5IGdlbmVyYXRlZCBieSB2LWZvcilcbiAgICAgICAgICAgICAgICBpZiAoaXNUcnVlKGNoaWxkcmVuLl9pc1ZMaXN0KSAmJlxuICAgICAgICAgICAgICAgICAgICBpc0RlZihjLnRhZykgJiZcbiAgICAgICAgICAgICAgICAgICAgaXNVbmRlZihjLmtleSkgJiZcbiAgICAgICAgICAgICAgICAgICAgaXNEZWYobmVzdGVkSW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGMua2V5ID0gXCJfX3ZsaXN0XCIuY29uY2F0KG5lc3RlZEluZGV4LCBcIl9cIikuY29uY2F0KGksIFwiX19cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlcy5wdXNoKGMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5cbnZhciBTSU1QTEVfTk9STUFMSVpFID0gMTtcbnZhciBBTFdBWVNfTk9STUFMSVpFID0gMjtcbi8vIHdyYXBwZXIgZnVuY3Rpb24gZm9yIHByb3ZpZGluZyBhIG1vcmUgZmxleGlibGUgaW50ZXJmYWNlXG4vLyB3aXRob3V0IGdldHRpbmcgeWVsbGVkIGF0IGJ5IGZsb3dcbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQkMShjb250ZXh0LCB0YWcsIGRhdGEsIGNoaWxkcmVuLCBub3JtYWxpemF0aW9uVHlwZSwgYWx3YXlzTm9ybWFsaXplKSB7XG4gICAgaWYgKGlzQXJyYXkoZGF0YSkgfHwgaXNQcmltaXRpdmUoZGF0YSkpIHtcbiAgICAgICAgbm9ybWFsaXphdGlvblR5cGUgPSBjaGlsZHJlbjtcbiAgICAgICAgY2hpbGRyZW4gPSBkYXRhO1xuICAgICAgICBkYXRhID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoaXNUcnVlKGFsd2F5c05vcm1hbGl6ZSkpIHtcbiAgICAgICAgbm9ybWFsaXphdGlvblR5cGUgPSBBTFdBWVNfTk9STUFMSVpFO1xuICAgIH1cbiAgICByZXR1cm4gX2NyZWF0ZUVsZW1lbnQoY29udGV4dCwgdGFnLCBkYXRhLCBjaGlsZHJlbiwgbm9ybWFsaXphdGlvblR5cGUpO1xufVxuZnVuY3Rpb24gX2NyZWF0ZUVsZW1lbnQoY29udGV4dCwgdGFnLCBkYXRhLCBjaGlsZHJlbiwgbm9ybWFsaXphdGlvblR5cGUpIHtcbiAgICBpZiAoaXNEZWYoZGF0YSkgJiYgaXNEZWYoZGF0YS5fX29iX18pKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgIHdhcm4kMihcIkF2b2lkIHVzaW5nIG9ic2VydmVkIGRhdGEgb2JqZWN0IGFzIHZub2RlIGRhdGE6IFwiLmNvbmNhdChKU09OLnN0cmluZ2lmeShkYXRhKSwgXCJcXG5cIikgKyAnQWx3YXlzIGNyZWF0ZSBmcmVzaCB2bm9kZSBkYXRhIG9iamVjdHMgaW4gZWFjaCByZW5kZXIhJywgY29udGV4dCk7XG4gICAgICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKCk7XG4gICAgfVxuICAgIC8vIG9iamVjdCBzeW50YXggaW4gdi1iaW5kXG4gICAgaWYgKGlzRGVmKGRhdGEpICYmIGlzRGVmKGRhdGEuaXMpKSB7XG4gICAgICAgIHRhZyA9IGRhdGEuaXM7XG4gICAgfVxuICAgIGlmICghdGFnKSB7XG4gICAgICAgIC8vIGluIGNhc2Ugb2YgY29tcG9uZW50IDppcyBzZXQgdG8gZmFsc3kgdmFsdWVcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKTtcbiAgICB9XG4gICAgLy8gd2FybiBhZ2FpbnN0IG5vbi1wcmltaXRpdmUga2V5XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaXNEZWYoZGF0YSkgJiYgaXNEZWYoZGF0YS5rZXkpICYmICFpc1ByaW1pdGl2ZShkYXRhLmtleSkpIHtcbiAgICAgICAgd2FybiQyKCdBdm9pZCB1c2luZyBub24tcHJpbWl0aXZlIHZhbHVlIGFzIGtleSwgJyArXG4gICAgICAgICAgICAndXNlIHN0cmluZy9udW1iZXIgdmFsdWUgaW5zdGVhZC4nLCBjb250ZXh0KTtcbiAgICB9XG4gICAgLy8gc3VwcG9ydCBzaW5nbGUgZnVuY3Rpb24gY2hpbGRyZW4gYXMgZGVmYXVsdCBzY29wZWQgc2xvdFxuICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSAmJiBpc0Z1bmN0aW9uKGNoaWxkcmVuWzBdKSkge1xuICAgICAgICBkYXRhID0gZGF0YSB8fCB7fTtcbiAgICAgICAgZGF0YS5zY29wZWRTbG90cyA9IHsgZGVmYXVsdDogY2hpbGRyZW5bMF0gfTtcbiAgICAgICAgY2hpbGRyZW4ubGVuZ3RoID0gMDtcbiAgICB9XG4gICAgaWYgKG5vcm1hbGl6YXRpb25UeXBlID09PSBBTFdBWVNfTk9STUFMSVpFKSB7XG4gICAgICAgIGNoaWxkcmVuID0gbm9ybWFsaXplQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICAgIH1cbiAgICBlbHNlIGlmIChub3JtYWxpemF0aW9uVHlwZSA9PT0gU0lNUExFX05PUk1BTElaRSkge1xuICAgICAgICBjaGlsZHJlbiA9IHNpbXBsZU5vcm1hbGl6ZUNoaWxkcmVuKGNoaWxkcmVuKTtcbiAgICB9XG4gICAgdmFyIHZub2RlLCBucztcbiAgICBpZiAodHlwZW9mIHRhZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdmFyIEN0b3IgPSB2b2lkIDA7XG4gICAgICAgIG5zID0gKGNvbnRleHQuJHZub2RlICYmIGNvbnRleHQuJHZub2RlLm5zKSB8fCBjb25maWcuZ2V0VGFnTmFtZXNwYWNlKHRhZyk7XG4gICAgICAgIGlmIChjb25maWcuaXNSZXNlcnZlZFRhZyh0YWcpKSB7XG4gICAgICAgICAgICAvLyBwbGF0Zm9ybSBidWlsdC1pbiBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICBpc0RlZihkYXRhKSAmJlxuICAgICAgICAgICAgICAgIGlzRGVmKGRhdGEubmF0aXZlT24pICYmXG4gICAgICAgICAgICAgICAgZGF0YS50YWcgIT09ICdjb21wb25lbnQnKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiVGhlIC5uYXRpdmUgbW9kaWZpZXIgZm9yIHYtb24gaXMgb25seSB2YWxpZCBvbiBjb21wb25lbnRzIGJ1dCBpdCB3YXMgdXNlZCBvbiA8XCIuY29uY2F0KHRhZywgXCI+LlwiKSwgY29udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2bm9kZSA9IG5ldyBWTm9kZShjb25maWcucGFyc2VQbGF0Zm9ybVRhZ05hbWUodGFnKSwgZGF0YSwgY2hpbGRyZW4sIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICgoIWRhdGEgfHwgIWRhdGEucHJlKSAmJlxuICAgICAgICAgICAgaXNEZWYoKEN0b3IgPSByZXNvbHZlQXNzZXQoY29udGV4dC4kb3B0aW9ucywgJ2NvbXBvbmVudHMnLCB0YWcpKSkpIHtcbiAgICAgICAgICAgIC8vIGNvbXBvbmVudFxuICAgICAgICAgICAgdm5vZGUgPSBjcmVhdGVDb21wb25lbnQoQ3RvciwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4sIHRhZyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyB1bmtub3duIG9yIHVubGlzdGVkIG5hbWVzcGFjZWQgZWxlbWVudHNcbiAgICAgICAgICAgIC8vIGNoZWNrIGF0IHJ1bnRpbWUgYmVjYXVzZSBpdCBtYXkgZ2V0IGFzc2lnbmVkIGEgbmFtZXNwYWNlIHdoZW4gaXRzXG4gICAgICAgICAgICAvLyBwYXJlbnQgbm9ybWFsaXplcyBjaGlsZHJlblxuICAgICAgICAgICAgdm5vZGUgPSBuZXcgVk5vZGUodGFnLCBkYXRhLCBjaGlsZHJlbiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGNvbnRleHQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyBkaXJlY3QgY29tcG9uZW50IG9wdGlvbnMgLyBjb25zdHJ1Y3RvclxuICAgICAgICB2bm9kZSA9IGNyZWF0ZUNvbXBvbmVudCh0YWcsIGRhdGEsIGNvbnRleHQsIGNoaWxkcmVuKTtcbiAgICB9XG4gICAgaWYgKGlzQXJyYXkodm5vZGUpKSB7XG4gICAgICAgIHJldHVybiB2bm9kZTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNEZWYodm5vZGUpKSB7XG4gICAgICAgIGlmIChpc0RlZihucykpXG4gICAgICAgICAgICBhcHBseU5TKHZub2RlLCBucyk7XG4gICAgICAgIGlmIChpc0RlZihkYXRhKSlcbiAgICAgICAgICAgIHJlZ2lzdGVyRGVlcEJpbmRpbmdzKGRhdGEpO1xuICAgICAgICByZXR1cm4gdm5vZGU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gY3JlYXRlRW1wdHlWTm9kZSgpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGFwcGx5TlModm5vZGUsIG5zLCBmb3JjZSkge1xuICAgIHZub2RlLm5zID0gbnM7XG4gICAgaWYgKHZub2RlLnRhZyA9PT0gJ2ZvcmVpZ25PYmplY3QnKSB7XG4gICAgICAgIC8vIHVzZSBkZWZhdWx0IG5hbWVzcGFjZSBpbnNpZGUgZm9yZWlnbk9iamVjdFxuICAgICAgICBucyA9IHVuZGVmaW5lZDtcbiAgICAgICAgZm9yY2UgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaXNEZWYodm5vZGUuY2hpbGRyZW4pKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gdm5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgY2hpbGQgPSB2bm9kZS5jaGlsZHJlbltpXTtcbiAgICAgICAgICAgIGlmIChpc0RlZihjaGlsZC50YWcpICYmXG4gICAgICAgICAgICAgICAgKGlzVW5kZWYoY2hpbGQubnMpIHx8IChpc1RydWUoZm9yY2UpICYmIGNoaWxkLnRhZyAhPT0gJ3N2ZycpKSkge1xuICAgICAgICAgICAgICAgIGFwcGx5TlMoY2hpbGQsIG5zLCBmb3JjZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyByZWYgIzUzMThcbi8vIG5lY2Vzc2FyeSB0byBlbnN1cmUgcGFyZW50IHJlLXJlbmRlciB3aGVuIGRlZXAgYmluZGluZ3MgbGlrZSA6c3R5bGUgYW5kXG4vLyA6Y2xhc3MgYXJlIHVzZWQgb24gc2xvdCBub2Rlc1xuZnVuY3Rpb24gcmVnaXN0ZXJEZWVwQmluZGluZ3MoZGF0YSkge1xuICAgIGlmIChpc09iamVjdChkYXRhLnN0eWxlKSkge1xuICAgICAgICB0cmF2ZXJzZShkYXRhLnN0eWxlKTtcbiAgICB9XG4gICAgaWYgKGlzT2JqZWN0KGRhdGEuY2xhc3MpKSB7XG4gICAgICAgIHRyYXZlcnNlKGRhdGEuY2xhc3MpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVuZGVyaW5nIHYtZm9yIGxpc3RzLlxuICovXG5mdW5jdGlvbiByZW5kZXJMaXN0KHZhbCwgcmVuZGVyKSB7XG4gICAgdmFyIHJldCA9IG51bGwsIGksIGwsIGtleXMsIGtleTtcbiAgICBpZiAoaXNBcnJheSh2YWwpIHx8IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldCA9IG5ldyBBcnJheSh2YWwubGVuZ3RoKTtcbiAgICAgICAgZm9yIChpID0gMCwgbCA9IHZhbC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHJldFtpXSA9IHJlbmRlcih2YWxbaV0sIGkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldCA9IG5ldyBBcnJheSh2YWwpO1xuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdmFsOyBpKyspIHtcbiAgICAgICAgICAgIHJldFtpXSA9IHJlbmRlcihpICsgMSwgaSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoaXNPYmplY3QodmFsKSkge1xuICAgICAgICBpZiAoaGFzU3ltYm9sICYmIHZhbFtTeW1ib2wuaXRlcmF0b3JdKSB7XG4gICAgICAgICAgICByZXQgPSBbXTtcbiAgICAgICAgICAgIHZhciBpdGVyYXRvciA9IHZhbFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gICAgICAgICAgICB2YXIgcmVzdWx0ID0gaXRlcmF0b3IubmV4dCgpO1xuICAgICAgICAgICAgd2hpbGUgKCFyZXN1bHQuZG9uZSkge1xuICAgICAgICAgICAgICAgIHJldC5wdXNoKHJlbmRlcihyZXN1bHQudmFsdWUsIHJldC5sZW5ndGgpKTtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBpdGVyYXRvci5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBrZXlzID0gT2JqZWN0LmtleXModmFsKTtcbiAgICAgICAgICAgIHJldCA9IG5ldyBBcnJheShrZXlzLmxlbmd0aCk7XG4gICAgICAgICAgICBmb3IgKGkgPSAwLCBsID0ga2V5cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAgICAgICAgIHJldFtpXSA9IHJlbmRlcih2YWxba2V5XSwga2V5LCBpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWlzRGVmKHJldCkpIHtcbiAgICAgICAgcmV0ID0gW107XG4gICAgfVxuICAgIHJldC5faXNWTGlzdCA9IHRydWU7XG4gICAgcmV0dXJuIHJldDtcbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVuZGVyaW5nIDxzbG90PlxuICovXG5mdW5jdGlvbiByZW5kZXJTbG90KG5hbWUsIGZhbGxiYWNrUmVuZGVyLCBwcm9wcywgYmluZE9iamVjdCkge1xuICAgIHZhciBzY29wZWRTbG90Rm4gPSB0aGlzLiRzY29wZWRTbG90c1tuYW1lXTtcbiAgICB2YXIgbm9kZXM7XG4gICAgaWYgKHNjb3BlZFNsb3RGbikge1xuICAgICAgICAvLyBzY29wZWQgc2xvdFxuICAgICAgICBwcm9wcyA9IHByb3BzIHx8IHt9O1xuICAgICAgICBpZiAoYmluZE9iamVjdCkge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIWlzT2JqZWN0KGJpbmRPYmplY3QpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKCdzbG90IHYtYmluZCB3aXRob3V0IGFyZ3VtZW50IGV4cGVjdHMgYW4gT2JqZWN0JywgdGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcm9wcyA9IGV4dGVuZChleHRlbmQoe30sIGJpbmRPYmplY3QpLCBwcm9wcyk7XG4gICAgICAgIH1cbiAgICAgICAgbm9kZXMgPVxuICAgICAgICAgICAgc2NvcGVkU2xvdEZuKHByb3BzKSB8fFxuICAgICAgICAgICAgICAgIChpc0Z1bmN0aW9uKGZhbGxiYWNrUmVuZGVyKSA/IGZhbGxiYWNrUmVuZGVyKCkgOiBmYWxsYmFja1JlbmRlcik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBub2RlcyA9XG4gICAgICAgICAgICB0aGlzLiRzbG90c1tuYW1lXSB8fFxuICAgICAgICAgICAgICAgIChpc0Z1bmN0aW9uKGZhbGxiYWNrUmVuZGVyKSA/IGZhbGxiYWNrUmVuZGVyKCkgOiBmYWxsYmFja1JlbmRlcik7XG4gICAgfVxuICAgIHZhciB0YXJnZXQgPSBwcm9wcyAmJiBwcm9wcy5zbG90O1xuICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuJGNyZWF0ZUVsZW1lbnQoJ3RlbXBsYXRlJywgeyBzbG90OiB0YXJnZXQgfSwgbm9kZXMpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVzb2x2aW5nIGZpbHRlcnNcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUZpbHRlcihpZCkge1xuICAgIHJldHVybiByZXNvbHZlQXNzZXQodGhpcy4kb3B0aW9ucywgJ2ZpbHRlcnMnLCBpZCwgdHJ1ZSkgfHwgaWRlbnRpdHk7XG59XG5cbmZ1bmN0aW9uIGlzS2V5Tm90TWF0Y2goZXhwZWN0LCBhY3R1YWwpIHtcbiAgICBpZiAoaXNBcnJheShleHBlY3QpKSB7XG4gICAgICAgIHJldHVybiBleHBlY3QuaW5kZXhPZihhY3R1YWwpID09PSAtMTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBleHBlY3QgIT09IGFjdHVhbDtcbiAgICB9XG59XG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciBjaGVja2luZyBrZXlDb2RlcyBmcm9tIGNvbmZpZy5cbiAqIGV4cG9zZWQgYXMgVnVlLnByb3RvdHlwZS5fa1xuICogcGFzc2luZyBpbiBldmVudEtleU5hbWUgYXMgbGFzdCBhcmd1bWVudCBzZXBhcmF0ZWx5IGZvciBiYWNrd2FyZHMgY29tcGF0XG4gKi9cbmZ1bmN0aW9uIGNoZWNrS2V5Q29kZXMoZXZlbnRLZXlDb2RlLCBrZXksIGJ1aWx0SW5LZXlDb2RlLCBldmVudEtleU5hbWUsIGJ1aWx0SW5LZXlOYW1lKSB7XG4gICAgdmFyIG1hcHBlZEtleUNvZGUgPSBjb25maWcua2V5Q29kZXNba2V5XSB8fCBidWlsdEluS2V5Q29kZTtcbiAgICBpZiAoYnVpbHRJbktleU5hbWUgJiYgZXZlbnRLZXlOYW1lICYmICFjb25maWcua2V5Q29kZXNba2V5XSkge1xuICAgICAgICByZXR1cm4gaXNLZXlOb3RNYXRjaChidWlsdEluS2V5TmFtZSwgZXZlbnRLZXlOYW1lKTtcbiAgICB9XG4gICAgZWxzZSBpZiAobWFwcGVkS2V5Q29kZSkge1xuICAgICAgICByZXR1cm4gaXNLZXlOb3RNYXRjaChtYXBwZWRLZXlDb2RlLCBldmVudEtleUNvZGUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChldmVudEtleU5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGh5cGhlbmF0ZShldmVudEtleU5hbWUpICE9PSBrZXk7XG4gICAgfVxuICAgIHJldHVybiBldmVudEtleUNvZGUgPT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgbWVyZ2luZyB2LWJpbmQ9XCJvYmplY3RcIiBpbnRvIGEgVk5vZGUncyBkYXRhLlxuICovXG5mdW5jdGlvbiBiaW5kT2JqZWN0UHJvcHMoZGF0YSwgdGFnLCB2YWx1ZSwgYXNQcm9wLCBpc1N5bmMpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgaWYgKCFpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB3YXJuJDIoJ3YtYmluZCB3aXRob3V0IGFyZ3VtZW50IGV4cGVjdHMgYW4gT2JqZWN0IG9yIEFycmF5IHZhbHVlJywgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHRvT2JqZWN0KHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBoYXNoID0gdm9pZCAwO1xuICAgICAgICAgICAgdmFyIF9sb29wXzEgPSBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCBrZXkgPT09ICdzdHlsZScgfHwgaXNSZXNlcnZlZEF0dHJpYnV0ZShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc2ggPSBkYXRhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHR5cGUgPSBkYXRhLmF0dHJzICYmIGRhdGEuYXR0cnMudHlwZTtcbiAgICAgICAgICAgICAgICAgICAgaGFzaCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBhc1Byb3AgfHwgY29uZmlnLm11c3RVc2VQcm9wKHRhZywgdHlwZSwga2V5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZGF0YS5kb21Qcm9wcyB8fCAoZGF0YS5kb21Qcm9wcyA9IHt9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZGF0YS5hdHRycyB8fCAoZGF0YS5hdHRycyA9IHt9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIGNhbWVsaXplZEtleSA9IGNhbWVsaXplKGtleSk7XG4gICAgICAgICAgICAgICAgdmFyIGh5cGhlbmF0ZWRLZXkgPSBoeXBoZW5hdGUoa2V5KTtcbiAgICAgICAgICAgICAgICBpZiAoIShjYW1lbGl6ZWRLZXkgaW4gaGFzaCkgJiYgIShoeXBoZW5hdGVkS2V5IGluIGhhc2gpKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc2hba2V5XSA9IHZhbHVlW2tleV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1N5bmMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvbiA9IGRhdGEub24gfHwgKGRhdGEub24gPSB7fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbltcInVwZGF0ZTpcIi5jb25jYXQoa2V5KV0gPSBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVba2V5XSA9ICRldmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgX2xvb3BfMShrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgc3RhdGljIHRyZWVzLlxuICovXG5mdW5jdGlvbiByZW5kZXJTdGF0aWMoaW5kZXgsIGlzSW5Gb3IpIHtcbiAgICB2YXIgY2FjaGVkID0gdGhpcy5fc3RhdGljVHJlZXMgfHwgKHRoaXMuX3N0YXRpY1RyZWVzID0gW10pO1xuICAgIHZhciB0cmVlID0gY2FjaGVkW2luZGV4XTtcbiAgICAvLyBpZiBoYXMgYWxyZWFkeS1yZW5kZXJlZCBzdGF0aWMgdHJlZSBhbmQgbm90IGluc2lkZSB2LWZvcixcbiAgICAvLyB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgdHJlZS5cbiAgICBpZiAodHJlZSAmJiAhaXNJbkZvcikge1xuICAgICAgICByZXR1cm4gdHJlZTtcbiAgICB9XG4gICAgLy8gb3RoZXJ3aXNlLCByZW5kZXIgYSBmcmVzaCB0cmVlLlxuICAgIHRyZWUgPSBjYWNoZWRbaW5kZXhdID0gdGhpcy4kb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnNbaW5kZXhdLmNhbGwodGhpcy5fcmVuZGVyUHJveHksIHRoaXMuX2MsIHRoaXMgLy8gZm9yIHJlbmRlciBmbnMgZ2VuZXJhdGVkIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudCB0ZW1wbGF0ZXNcbiAgICApO1xuICAgIG1hcmtTdGF0aWMkMSh0cmVlLCBcIl9fc3RhdGljX19cIi5jb25jYXQoaW5kZXgpLCBmYWxzZSk7XG4gICAgcmV0dXJuIHRyZWU7XG59XG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciB2LW9uY2UuXG4gKiBFZmZlY3RpdmVseSBpdCBtZWFucyBtYXJraW5nIHRoZSBub2RlIGFzIHN0YXRpYyB3aXRoIGEgdW5pcXVlIGtleS5cbiAqL1xuZnVuY3Rpb24gbWFya09uY2UodHJlZSwgaW5kZXgsIGtleSkge1xuICAgIG1hcmtTdGF0aWMkMSh0cmVlLCBcIl9fb25jZV9fXCIuY29uY2F0KGluZGV4KS5jb25jYXQoa2V5ID8gXCJfXCIuY29uY2F0KGtleSkgOiBcIlwiKSwgdHJ1ZSk7XG4gICAgcmV0dXJuIHRyZWU7XG59XG5mdW5jdGlvbiBtYXJrU3RhdGljJDEodHJlZSwga2V5LCBpc09uY2UpIHtcbiAgICBpZiAoaXNBcnJheSh0cmVlKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyZWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0cmVlW2ldICYmIHR5cGVvZiB0cmVlW2ldICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIG1hcmtTdGF0aWNOb2RlKHRyZWVbaV0sIFwiXCIuY29uY2F0KGtleSwgXCJfXCIpLmNvbmNhdChpKSwgaXNPbmNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbWFya1N0YXRpY05vZGUodHJlZSwga2V5LCBpc09uY2UpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIG1hcmtTdGF0aWNOb2RlKG5vZGUsIGtleSwgaXNPbmNlKSB7XG4gICAgbm9kZS5pc1N0YXRpYyA9IHRydWU7XG4gICAgbm9kZS5rZXkgPSBrZXk7XG4gICAgbm9kZS5pc09uY2UgPSBpc09uY2U7XG59XG5cbmZ1bmN0aW9uIGJpbmRPYmplY3RMaXN0ZW5lcnMoZGF0YSwgdmFsdWUpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgaWYgKCFpc1BsYWluT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuJDIoJ3Ytb24gd2l0aG91dCBhcmd1bWVudCBleHBlY3RzIGFuIE9iamVjdCB2YWx1ZScsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIG9uID0gKGRhdGEub24gPSBkYXRhLm9uID8gZXh0ZW5kKHt9LCBkYXRhLm9uKSA6IHt9KTtcbiAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHZhciBleGlzdGluZyA9IG9uW2tleV07XG4gICAgICAgICAgICAgICAgdmFyIG91cnMgPSB2YWx1ZVtrZXldO1xuICAgICAgICAgICAgICAgIG9uW2tleV0gPSBleGlzdGluZyA/IFtdLmNvbmNhdChleGlzdGluZywgb3VycykgOiBvdXJzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlU2NvcGVkU2xvdHMoZm5zLCByZXMsIFxuLy8gdGhlIGZvbGxvd2luZyBhcmUgYWRkZWQgaW4gMi42XG5oYXNEeW5hbWljS2V5cywgY29udGVudEhhc2hLZXkpIHtcbiAgICByZXMgPSByZXMgfHwgeyAkc3RhYmxlOiAhaGFzRHluYW1pY0tleXMgfTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZucy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgc2xvdCA9IGZuc1tpXTtcbiAgICAgICAgaWYgKGlzQXJyYXkoc2xvdCkpIHtcbiAgICAgICAgICAgIHJlc29sdmVTY29wZWRTbG90cyhzbG90LCByZXMsIGhhc0R5bmFtaWNLZXlzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChzbG90KSB7XG4gICAgICAgICAgICAvLyBtYXJrZXIgZm9yIHJldmVyc2UgcHJveHlpbmcgdi1zbG90IHdpdGhvdXQgc2NvcGUgb24gdGhpcy4kc2xvdHNcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgIGlmIChzbG90LnByb3h5KSB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIHNsb3QuZm4ucHJveHkgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzW3Nsb3Qua2V5XSA9IHNsb3QuZm47XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbnRlbnRIYXNoS2V5KSB7XG4gICAgICAgIHJlcy4ka2V5ID0gY29udGVudEhhc2hLZXk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5cbi8vIGhlbHBlciB0byBwcm9jZXNzIGR5bmFtaWMga2V5cyBmb3IgZHluYW1pYyBhcmd1bWVudHMgaW4gdi1iaW5kIGFuZCB2LW9uLlxuZnVuY3Rpb24gYmluZER5bmFtaWNLZXlzKGJhc2VPYmosIHZhbHVlcykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgIHZhciBrZXkgPSB2YWx1ZXNbaV07XG4gICAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiBrZXkpIHtcbiAgICAgICAgICAgIGJhc2VPYmpbdmFsdWVzW2ldXSA9IHZhbHVlc1tpICsgMV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBrZXkgIT09ICcnICYmIGtleSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gbnVsbCBpcyBhIHNwZWNpYWwgdmFsdWUgZm9yIGV4cGxpY2l0bHkgcmVtb3ZpbmcgYSBiaW5kaW5nXG4gICAgICAgICAgICB3YXJuJDIoXCJJbnZhbGlkIHZhbHVlIGZvciBkeW5hbWljIGRpcmVjdGl2ZSBhcmd1bWVudCAoZXhwZWN0ZWQgc3RyaW5nIG9yIG51bGwpOiBcIi5jb25jYXQoa2V5KSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJhc2VPYmo7XG59XG4vLyBoZWxwZXIgdG8gZHluYW1pY2FsbHkgYXBwZW5kIG1vZGlmaWVyIHJ1bnRpbWUgbWFya2VycyB0byBldmVudCBuYW1lcy5cbi8vIGVuc3VyZSBvbmx5IGFwcGVuZCB3aGVuIHZhbHVlIGlzIGFscmVhZHkgc3RyaW5nLCBvdGhlcndpc2UgaXQgd2lsbCBiZSBjYXN0XG4vLyB0byBzdHJpbmcgYW5kIGNhdXNlIHRoZSB0eXBlIGNoZWNrIHRvIG1pc3MuXG5mdW5jdGlvbiBwcmVwZW5kTW9kaWZpZXIodmFsdWUsIHN5bWJvbCkge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gc3ltYm9sICsgdmFsdWUgOiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gaW5zdGFsbFJlbmRlckhlbHBlcnModGFyZ2V0KSB7XG4gICAgdGFyZ2V0Ll9vID0gbWFya09uY2U7XG4gICAgdGFyZ2V0Ll9uID0gdG9OdW1iZXI7XG4gICAgdGFyZ2V0Ll9zID0gdG9TdHJpbmc7XG4gICAgdGFyZ2V0Ll9sID0gcmVuZGVyTGlzdDtcbiAgICB0YXJnZXQuX3QgPSByZW5kZXJTbG90O1xuICAgIHRhcmdldC5fcSA9IGxvb3NlRXF1YWw7XG4gICAgdGFyZ2V0Ll9pID0gbG9vc2VJbmRleE9mO1xuICAgIHRhcmdldC5fbSA9IHJlbmRlclN0YXRpYztcbiAgICB0YXJnZXQuX2YgPSByZXNvbHZlRmlsdGVyO1xuICAgIHRhcmdldC5fayA9IGNoZWNrS2V5Q29kZXM7XG4gICAgdGFyZ2V0Ll9iID0gYmluZE9iamVjdFByb3BzO1xuICAgIHRhcmdldC5fdiA9IGNyZWF0ZVRleHRWTm9kZTtcbiAgICB0YXJnZXQuX2UgPSBjcmVhdGVFbXB0eVZOb2RlO1xuICAgIHRhcmdldC5fdSA9IHJlc29sdmVTY29wZWRTbG90cztcbiAgICB0YXJnZXQuX2cgPSBiaW5kT2JqZWN0TGlzdGVuZXJzO1xuICAgIHRhcmdldC5fZCA9IGJpbmREeW5hbWljS2V5cztcbiAgICB0YXJnZXQuX3AgPSBwcmVwZW5kTW9kaWZpZXI7XG59XG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJlc29sdmluZyByYXcgY2hpbGRyZW4gVk5vZGVzIGludG8gYSBzbG90IG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVNsb3RzKGNoaWxkcmVuLCBjb250ZXh0KSB7XG4gICAgaWYgKCFjaGlsZHJlbiB8fCAhY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgdmFyIHNsb3RzID0ge307XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICAgIHZhciBkYXRhID0gY2hpbGQuZGF0YTtcbiAgICAgICAgLy8gcmVtb3ZlIHNsb3QgYXR0cmlidXRlIGlmIHRoZSBub2RlIGlzIHJlc29sdmVkIGFzIGEgVnVlIHNsb3Qgbm9kZVxuICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmF0dHJzICYmIGRhdGEuYXR0cnMuc2xvdCkge1xuICAgICAgICAgICAgZGVsZXRlIGRhdGEuYXR0cnMuc2xvdDtcbiAgICAgICAgfVxuICAgICAgICAvLyBuYW1lZCBzbG90cyBzaG91bGQgb25seSBiZSByZXNwZWN0ZWQgaWYgdGhlIHZub2RlIHdhcyByZW5kZXJlZCBpbiB0aGVcbiAgICAgICAgLy8gc2FtZSBjb250ZXh0LlxuICAgICAgICBpZiAoKGNoaWxkLmNvbnRleHQgPT09IGNvbnRleHQgfHwgY2hpbGQuZm5Db250ZXh0ID09PSBjb250ZXh0KSAmJlxuICAgICAgICAgICAgZGF0YSAmJlxuICAgICAgICAgICAgZGF0YS5zbG90ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBuYW1lXzEgPSBkYXRhLnNsb3Q7XG4gICAgICAgICAgICB2YXIgc2xvdCA9IHNsb3RzW25hbWVfMV0gfHwgKHNsb3RzW25hbWVfMV0gPSBbXSk7XG4gICAgICAgICAgICBpZiAoY2hpbGQudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgICAgICAgICAgc2xvdC5wdXNoLmFwcGx5KHNsb3QsIGNoaWxkLmNoaWxkcmVuIHx8IFtdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHNsb3QucHVzaChjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAoc2xvdHMuZGVmYXVsdCB8fCAoc2xvdHMuZGVmYXVsdCA9IFtdKSkucHVzaChjaGlsZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gaWdub3JlIHNsb3RzIHRoYXQgY29udGFpbnMgb25seSB3aGl0ZXNwYWNlXG4gICAgZm9yICh2YXIgbmFtZV8yIGluIHNsb3RzKSB7XG4gICAgICAgIGlmIChzbG90c1tuYW1lXzJdLmV2ZXJ5KGlzV2hpdGVzcGFjZSkpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBzbG90c1tuYW1lXzJdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzbG90cztcbn1cbmZ1bmN0aW9uIGlzV2hpdGVzcGFjZShub2RlKSB7XG4gICAgcmV0dXJuIChub2RlLmlzQ29tbWVudCAmJiAhbm9kZS5hc3luY0ZhY3RvcnkpIHx8IG5vZGUudGV4dCA9PT0gJyAnO1xufVxuXG5mdW5jdGlvbiBpc0FzeW5jUGxhY2Vob2xkZXIobm9kZSkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igbm90IHJlYWxseSBib29sZWFuIHR5cGVcbiAgICByZXR1cm4gbm9kZS5pc0NvbW1lbnQgJiYgbm9kZS5hc3luY0ZhY3Rvcnk7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVNjb3BlZFNsb3RzKG93bmVyVm0sIHNjb3BlZFNsb3RzLCBub3JtYWxTbG90cywgcHJldlNjb3BlZFNsb3RzKSB7XG4gICAgdmFyIHJlcztcbiAgICB2YXIgaGFzTm9ybWFsU2xvdHMgPSBPYmplY3Qua2V5cyhub3JtYWxTbG90cykubGVuZ3RoID4gMDtcbiAgICB2YXIgaXNTdGFibGUgPSBzY29wZWRTbG90cyA/ICEhc2NvcGVkU2xvdHMuJHN0YWJsZSA6ICFoYXNOb3JtYWxTbG90cztcbiAgICB2YXIga2V5ID0gc2NvcGVkU2xvdHMgJiYgc2NvcGVkU2xvdHMuJGtleTtcbiAgICBpZiAoIXNjb3BlZFNsb3RzKSB7XG4gICAgICAgIHJlcyA9IHt9O1xuICAgIH1cbiAgICBlbHNlIGlmIChzY29wZWRTbG90cy5fbm9ybWFsaXplZCkge1xuICAgICAgICAvLyBmYXN0IHBhdGggMTogY2hpbGQgY29tcG9uZW50IHJlLXJlbmRlciBvbmx5LCBwYXJlbnQgZGlkIG5vdCBjaGFuZ2VcbiAgICAgICAgcmV0dXJuIHNjb3BlZFNsb3RzLl9ub3JtYWxpemVkO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc1N0YWJsZSAmJlxuICAgICAgICBwcmV2U2NvcGVkU2xvdHMgJiZcbiAgICAgICAgcHJldlNjb3BlZFNsb3RzICE9PSBlbXB0eU9iamVjdCAmJlxuICAgICAgICBrZXkgPT09IHByZXZTY29wZWRTbG90cy4ka2V5ICYmXG4gICAgICAgICFoYXNOb3JtYWxTbG90cyAmJlxuICAgICAgICAhcHJldlNjb3BlZFNsb3RzLiRoYXNOb3JtYWwpIHtcbiAgICAgICAgLy8gZmFzdCBwYXRoIDI6IHN0YWJsZSBzY29wZWQgc2xvdHMgdy8gbm8gbm9ybWFsIHNsb3RzIHRvIHByb3h5LFxuICAgICAgICAvLyBvbmx5IG5lZWQgdG8gbm9ybWFsaXplIG9uY2VcbiAgICAgICAgcmV0dXJuIHByZXZTY29wZWRTbG90cztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJlcyA9IHt9O1xuICAgICAgICBmb3IgKHZhciBrZXlfMSBpbiBzY29wZWRTbG90cykge1xuICAgICAgICAgICAgaWYgKHNjb3BlZFNsb3RzW2tleV8xXSAmJiBrZXlfMVswXSAhPT0gJyQnKSB7XG4gICAgICAgICAgICAgICAgcmVzW2tleV8xXSA9IG5vcm1hbGl6ZVNjb3BlZFNsb3Qob3duZXJWbSwgbm9ybWFsU2xvdHMsIGtleV8xLCBzY29wZWRTbG90c1trZXlfMV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGV4cG9zZSBub3JtYWwgc2xvdHMgb24gc2NvcGVkU2xvdHNcbiAgICBmb3IgKHZhciBrZXlfMiBpbiBub3JtYWxTbG90cykge1xuICAgICAgICBpZiAoIShrZXlfMiBpbiByZXMpKSB7XG4gICAgICAgICAgICByZXNba2V5XzJdID0gcHJveHlOb3JtYWxTbG90KG5vcm1hbFNsb3RzLCBrZXlfMik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gYXZvcmlheiBzZWVtcyB0byBtb2NrIGEgbm9uLWV4dGVuc2libGUgJHNjb3BlZFNsb3RzIG9iamVjdFxuICAgIC8vIGFuZCB3aGVuIHRoYXQgaXMgcGFzc2VkIGRvd24gdGhpcyB3b3VsZCBjYXVzZSBhbiBlcnJvclxuICAgIGlmIChzY29wZWRTbG90cyAmJiBPYmplY3QuaXNFeHRlbnNpYmxlKHNjb3BlZFNsb3RzKSkge1xuICAgICAgICBzY29wZWRTbG90cy5fbm9ybWFsaXplZCA9IHJlcztcbiAgICB9XG4gICAgZGVmKHJlcywgJyRzdGFibGUnLCBpc1N0YWJsZSk7XG4gICAgZGVmKHJlcywgJyRrZXknLCBrZXkpO1xuICAgIGRlZihyZXMsICckaGFzTm9ybWFsJywgaGFzTm9ybWFsU2xvdHMpO1xuICAgIHJldHVybiByZXM7XG59XG5mdW5jdGlvbiBub3JtYWxpemVTY29wZWRTbG90KHZtLCBub3JtYWxTbG90cywga2V5LCBmbikge1xuICAgIHZhciBub3JtYWxpemVkID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY3VyID0gY3VycmVudEluc3RhbmNlO1xuICAgICAgICBzZXRDdXJyZW50SW5zdGFuY2Uodm0pO1xuICAgICAgICB2YXIgcmVzID0gYXJndW1lbnRzLmxlbmd0aCA/IGZuLmFwcGx5KG51bGwsIGFyZ3VtZW50cykgOiBmbih7fSk7XG4gICAgICAgIHJlcyA9XG4gICAgICAgICAgICByZXMgJiYgdHlwZW9mIHJlcyA9PT0gJ29iamVjdCcgJiYgIWlzQXJyYXkocmVzKVxuICAgICAgICAgICAgICAgID8gW3Jlc10gLy8gc2luZ2xlIHZub2RlXG4gICAgICAgICAgICAgICAgOiBub3JtYWxpemVDaGlsZHJlbihyZXMpO1xuICAgICAgICB2YXIgdm5vZGUgPSByZXMgJiYgcmVzWzBdO1xuICAgICAgICBzZXRDdXJyZW50SW5zdGFuY2UoY3VyKTtcbiAgICAgICAgcmV0dXJuIHJlcyAmJlxuICAgICAgICAgICAgKCF2bm9kZSB8fFxuICAgICAgICAgICAgICAgIChyZXMubGVuZ3RoID09PSAxICYmIHZub2RlLmlzQ29tbWVudCAmJiAhaXNBc3luY1BsYWNlaG9sZGVyKHZub2RlKSkpIC8vICM5NjU4LCAjMTAzOTFcbiAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICA6IHJlcztcbiAgICB9O1xuICAgIC8vIHRoaXMgaXMgYSBzbG90IHVzaW5nIHRoZSBuZXcgdi1zbG90IHN5bnRheCB3aXRob3V0IHNjb3BlLiBhbHRob3VnaCBpdCBpc1xuICAgIC8vIGNvbXBpbGVkIGFzIGEgc2NvcGVkIHNsb3QsIHJlbmRlciBmbiB1c2VycyB3b3VsZCBleHBlY3QgaXQgdG8gYmUgcHJlc2VudFxuICAgIC8vIG9uIHRoaXMuJHNsb3RzIGJlY2F1c2UgdGhlIHVzYWdlIGlzIHNlbWFudGljYWxseSBhIG5vcm1hbCBzbG90LlxuICAgIGlmIChmbi5wcm94eSkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobm9ybWFsU2xvdHMsIGtleSwge1xuICAgICAgICAgICAgZ2V0OiBub3JtYWxpemVkLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG5mdW5jdGlvbiBwcm94eU5vcm1hbFNsb3Qoc2xvdHMsIGtleSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7IHJldHVybiBzbG90c1trZXldOyB9O1xufVxuXG5mdW5jdGlvbiBpbml0U2V0dXAodm0pIHtcbiAgICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuICAgIHZhciBzZXR1cCA9IG9wdGlvbnMuc2V0dXA7XG4gICAgaWYgKHNldHVwKSB7XG4gICAgICAgIHZhciBjdHggPSAodm0uX3NldHVwQ29udGV4dCA9IGNyZWF0ZVNldHVwQ29udGV4dCh2bSkpO1xuICAgICAgICBzZXRDdXJyZW50SW5zdGFuY2Uodm0pO1xuICAgICAgICBwdXNoVGFyZ2V0KCk7XG4gICAgICAgIHZhciBzZXR1cFJlc3VsdCA9IGludm9rZVdpdGhFcnJvckhhbmRsaW5nKHNldHVwLCBudWxsLCBbdm0uX3Byb3BzIHx8IHNoYWxsb3dSZWFjdGl2ZSh7fSksIGN0eF0sIHZtLCBcInNldHVwXCIpO1xuICAgICAgICBwb3BUYXJnZXQoKTtcbiAgICAgICAgc2V0Q3VycmVudEluc3RhbmNlKCk7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKHNldHVwUmVzdWx0KSkge1xuICAgICAgICAgICAgLy8gcmVuZGVyIGZ1bmN0aW9uXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBvcHRpb25zLnJlbmRlciA9IHNldHVwUmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzT2JqZWN0KHNldHVwUmVzdWx0KSkge1xuICAgICAgICAgICAgLy8gYmluZGluZ3NcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHNldHVwUmVzdWx0IGluc3RhbmNlb2YgVk5vZGUpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJzZXR1cCgpIHNob3VsZCBub3QgcmV0dXJuIFZOb2RlcyBkaXJlY3RseSAtIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJyZXR1cm4gYSByZW5kZXIgZnVuY3Rpb24gaW5zdGVhZC5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2bS5fc2V0dXBTdGF0ZSA9IHNldHVwUmVzdWx0O1xuICAgICAgICAgICAgLy8gX19zZmMgaW5kaWNhdGVzIGNvbXBpbGVkIGJpbmRpbmdzIGZyb20gPHNjcmlwdCBzZXR1cD5cbiAgICAgICAgICAgIGlmICghc2V0dXBSZXN1bHQuX19zZmMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gc2V0dXBSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1Jlc2VydmVkKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3h5V2l0aFJlZlVud3JhcCh2bSwgc2V0dXBSZXN1bHQsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2FybiQyKFwiQXZvaWQgdXNpbmcgdmFyaWFibGVzIHRoYXQgc3RhcnQgd2l0aCBfIG9yICQgaW4gc2V0dXAoKS5cIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBleHBvc2VkIGZvciBjb21waWxlZCByZW5kZXIgZm5cbiAgICAgICAgICAgICAgICB2YXIgcHJveHkgPSAodm0uX3NldHVwUHJveHkgPSB7fSk7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHNldHVwUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICdfX3NmYycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3h5V2l0aFJlZlVud3JhcChwcm94eSwgc2V0dXBSZXN1bHQsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBzZXR1cFJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCJzZXR1cCgpIHNob3VsZCByZXR1cm4gYW4gb2JqZWN0LiBSZWNlaXZlZDogXCIuY29uY2F0KHNldHVwUmVzdWx0ID09PSBudWxsID8gJ251bGwnIDogdHlwZW9mIHNldHVwUmVzdWx0KSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBjcmVhdGVTZXR1cENvbnRleHQodm0pIHtcbiAgICB2YXIgZXhwb3NlQ2FsbGVkID0gZmFsc2U7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0IGF0dHJzKCkge1xuICAgICAgICAgICAgaWYgKCF2bS5fYXR0cnNQcm94eSkge1xuICAgICAgICAgICAgICAgIHZhciBwcm94eSA9ICh2bS5fYXR0cnNQcm94eSA9IHt9KTtcbiAgICAgICAgICAgICAgICBkZWYocHJveHksICdfdl9hdHRyX3Byb3h5JywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgc3luY1NldHVwUHJveHkocHJveHksIHZtLiRhdHRycywgZW1wdHlPYmplY3QsIHZtLCAnJGF0dHJzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdm0uX2F0dHJzUHJveHk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldCBsaXN0ZW5lcnMoKSB7XG4gICAgICAgICAgICBpZiAoIXZtLl9saXN0ZW5lcnNQcm94eSkge1xuICAgICAgICAgICAgICAgIHZhciBwcm94eSA9ICh2bS5fbGlzdGVuZXJzUHJveHkgPSB7fSk7XG4gICAgICAgICAgICAgICAgc3luY1NldHVwUHJveHkocHJveHksIHZtLiRsaXN0ZW5lcnMsIGVtcHR5T2JqZWN0LCB2bSwgJyRsaXN0ZW5lcnMnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2bS5fbGlzdGVuZXJzUHJveHk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldCBzbG90cygpIHtcbiAgICAgICAgICAgIHJldHVybiBpbml0U2xvdHNQcm94eSh2bSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVtaXQ6IGJpbmQkMSh2bS4kZW1pdCwgdm0pLFxuICAgICAgICBleHBvc2U6IGZ1bmN0aW9uIChleHBvc2VkKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgIGlmIChleHBvc2VDYWxsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2FybiQyKFwiZXhwb3NlKCkgc2hvdWxkIGJlIGNhbGxlZCBvbmx5IG9uY2UgcGVyIHNldHVwKCkuXCIsIHZtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZXhwb3NlQ2FsbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChleHBvc2VkKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoZXhwb3NlZCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm94eVdpdGhSZWZVbndyYXAodm0sIGV4cG9zZWQsIGtleSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gc3luY1NldHVwUHJveHkodG8sIGZyb20sIHByZXYsIGluc3RhbmNlLCB0eXBlKSB7XG4gICAgdmFyIGNoYW5nZWQgPSBmYWxzZTtcbiAgICBmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuICAgICAgICBpZiAoIShrZXkgaW4gdG8pKSB7XG4gICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIGRlZmluZVByb3h5QXR0cih0bywga2V5LCBpbnN0YW5jZSwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnJvbVtrZXldICE9PSBwcmV2W2tleV0pIHtcbiAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvciAodmFyIGtleSBpbiB0bykge1xuICAgICAgICBpZiAoIShrZXkgaW4gZnJvbSkpIHtcbiAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgZGVsZXRlIHRvW2tleV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoYW5nZWQ7XG59XG5mdW5jdGlvbiBkZWZpbmVQcm94eUF0dHIocHJveHksIGtleSwgaW5zdGFuY2UsIHR5cGUpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJveHksIGtleSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlW3R5cGVdW2tleV07XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGluaXRTbG90c1Byb3h5KHZtKSB7XG4gICAgaWYgKCF2bS5fc2xvdHNQcm94eSkge1xuICAgICAgICBzeW5jU2V0dXBTbG90cygodm0uX3Nsb3RzUHJveHkgPSB7fSksIHZtLiRzY29wZWRTbG90cyk7XG4gICAgfVxuICAgIHJldHVybiB2bS5fc2xvdHNQcm94eTtcbn1cbmZ1bmN0aW9uIHN5bmNTZXR1cFNsb3RzKHRvLCBmcm9tKSB7XG4gICAgZm9yICh2YXIga2V5IGluIGZyb20pIHtcbiAgICAgICAgdG9ba2V5XSA9IGZyb21ba2V5XTtcbiAgICB9XG4gICAgZm9yICh2YXIga2V5IGluIHRvKSB7XG4gICAgICAgIGlmICghKGtleSBpbiBmcm9tKSkge1xuICAgICAgICAgICAgZGVsZXRlIHRvW2tleV07XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIEBpbnRlcm5hbCB1c2UgbWFudWFsIHR5cGUgZGVmIGJlY2F1c2UgcHVibGljIHNldHVwIGNvbnRleHQgdHlwZSByZWxpZXMgb25cbiAqIGxlZ2FjeSBWTm9kZSB0eXBlc1xuICovXG5mdW5jdGlvbiB1c2VTbG90cygpIHtcbiAgICByZXR1cm4gZ2V0Q29udGV4dCgpLnNsb3RzO1xufVxuLyoqXG4gKiBAaW50ZXJuYWwgdXNlIG1hbnVhbCB0eXBlIGRlZiBiZWNhdXNlIHB1YmxpYyBzZXR1cCBjb250ZXh0IHR5cGUgcmVsaWVzIG9uXG4gKiBsZWdhY3kgVk5vZGUgdHlwZXNcbiAqL1xuZnVuY3Rpb24gdXNlQXR0cnMoKSB7XG4gICAgcmV0dXJuIGdldENvbnRleHQoKS5hdHRycztcbn1cbi8qKlxuICogVnVlIDIgb25seVxuICogQGludGVybmFsIHVzZSBtYW51YWwgdHlwZSBkZWYgYmVjYXVzZSBwdWJsaWMgc2V0dXAgY29udGV4dCB0eXBlIHJlbGllcyBvblxuICogbGVnYWN5IFZOb2RlIHR5cGVzXG4gKi9cbmZ1bmN0aW9uIHVzZUxpc3RlbmVycygpIHtcbiAgICByZXR1cm4gZ2V0Q29udGV4dCgpLmxpc3RlbmVycztcbn1cbmZ1bmN0aW9uIGdldENvbnRleHQoKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIWN1cnJlbnRJbnN0YW5jZSkge1xuICAgICAgICB3YXJuJDIoXCJ1c2VDb250ZXh0KCkgY2FsbGVkIHdpdGhvdXQgYWN0aXZlIGluc3RhbmNlLlwiKTtcbiAgICB9XG4gICAgdmFyIHZtID0gY3VycmVudEluc3RhbmNlO1xuICAgIHJldHVybiB2bS5fc2V0dXBDb250ZXh0IHx8ICh2bS5fc2V0dXBDb250ZXh0ID0gY3JlYXRlU2V0dXBDb250ZXh0KHZtKSk7XG59XG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciBtZXJnaW5nIGRlZmF1bHQgZGVjbGFyYXRpb25zLiBJbXBvcnRlZCBieSBjb21waWxlZCBjb2RlXG4gKiBvbmx5LlxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIG1lcmdlRGVmYXVsdHMocmF3LCBkZWZhdWx0cykge1xuICAgIHZhciBwcm9wcyA9IGlzQXJyYXkocmF3KVxuICAgICAgICA/IHJhdy5yZWR1Y2UoZnVuY3Rpb24gKG5vcm1hbGl6ZWQsIHApIHsgcmV0dXJuICgobm9ybWFsaXplZFtwXSA9IHt9KSwgbm9ybWFsaXplZCk7IH0sIHt9KVxuICAgICAgICA6IHJhdztcbiAgICBmb3IgKHZhciBrZXkgaW4gZGVmYXVsdHMpIHtcbiAgICAgICAgdmFyIG9wdCA9IHByb3BzW2tleV07XG4gICAgICAgIGlmIChvcHQpIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KG9wdCkgfHwgaXNGdW5jdGlvbihvcHQpKSB7XG4gICAgICAgICAgICAgICAgcHJvcHNba2V5XSA9IHsgdHlwZTogb3B0LCBkZWZhdWx0OiBkZWZhdWx0c1trZXldIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBvcHQuZGVmYXVsdCA9IGRlZmF1bHRzW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAob3B0ID09PSBudWxsKSB7XG4gICAgICAgICAgICBwcm9wc1trZXldID0geyBkZWZhdWx0OiBkZWZhdWx0c1trZXldIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgd2FybiQyKFwicHJvcHMgZGVmYXVsdCBrZXkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBoYXMgbm8gY29ycmVzcG9uZGluZyBkZWNsYXJhdGlvbi5cIikpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwcm9wcztcbn1cblxuZnVuY3Rpb24gaW5pdFJlbmRlcih2bSkge1xuICAgIHZtLl92bm9kZSA9IG51bGw7IC8vIHRoZSByb290IG9mIHRoZSBjaGlsZCB0cmVlXG4gICAgdm0uX3N0YXRpY1RyZWVzID0gbnVsbDsgLy8gdi1vbmNlIGNhY2hlZCB0cmVlc1xuICAgIHZhciBvcHRpb25zID0gdm0uJG9wdGlvbnM7XG4gICAgdmFyIHBhcmVudFZub2RlID0gKHZtLiR2bm9kZSA9IG9wdGlvbnMuX3BhcmVudFZub2RlKTsgLy8gdGhlIHBsYWNlaG9sZGVyIG5vZGUgaW4gcGFyZW50IHRyZWVcbiAgICB2YXIgcmVuZGVyQ29udGV4dCA9IHBhcmVudFZub2RlICYmIHBhcmVudFZub2RlLmNvbnRleHQ7XG4gICAgdm0uJHNsb3RzID0gcmVzb2x2ZVNsb3RzKG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuLCByZW5kZXJDb250ZXh0KTtcbiAgICB2bS4kc2NvcGVkU2xvdHMgPSBwYXJlbnRWbm9kZVxuICAgICAgICA/IG5vcm1hbGl6ZVNjb3BlZFNsb3RzKHZtLiRwYXJlbnQsIHBhcmVudFZub2RlLmRhdGEuc2NvcGVkU2xvdHMsIHZtLiRzbG90cylcbiAgICAgICAgOiBlbXB0eU9iamVjdDtcbiAgICAvLyBiaW5kIHRoZSBjcmVhdGVFbGVtZW50IGZuIHRvIHRoaXMgaW5zdGFuY2VcbiAgICAvLyBzbyB0aGF0IHdlIGdldCBwcm9wZXIgcmVuZGVyIGNvbnRleHQgaW5zaWRlIGl0LlxuICAgIC8vIGFyZ3Mgb3JkZXI6IHRhZywgZGF0YSwgY2hpbGRyZW4sIG5vcm1hbGl6YXRpb25UeXBlLCBhbHdheXNOb3JtYWxpemVcbiAgICAvLyBpbnRlcm5hbCB2ZXJzaW9uIGlzIHVzZWQgYnkgcmVuZGVyIGZ1bmN0aW9ucyBjb21waWxlZCBmcm9tIHRlbXBsYXRlc1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB2bS5fYyA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBjcmVhdGVFbGVtZW50JDEodm0sIGEsIGIsIGMsIGQsIGZhbHNlKTsgfTtcbiAgICAvLyBub3JtYWxpemF0aW9uIGlzIGFsd2F5cyBhcHBsaWVkIGZvciB0aGUgcHVibGljIHZlcnNpb24sIHVzZWQgaW5cbiAgICAvLyB1c2VyLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0aW9ucy5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdm0uJGNyZWF0ZUVsZW1lbnQgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkgeyByZXR1cm4gY3JlYXRlRWxlbWVudCQxKHZtLCBhLCBiLCBjLCBkLCB0cnVlKTsgfTtcbiAgICAvLyAkYXR0cnMgJiAkbGlzdGVuZXJzIGFyZSBleHBvc2VkIGZvciBlYXNpZXIgSE9DIGNyZWF0aW9uLlxuICAgIC8vIHRoZXkgbmVlZCB0byBiZSByZWFjdGl2ZSBzbyB0aGF0IEhPQ3MgdXNpbmcgdGhlbSBhcmUgYWx3YXlzIHVwZGF0ZWRcbiAgICB2YXIgcGFyZW50RGF0YSA9IHBhcmVudFZub2RlICYmIHBhcmVudFZub2RlLmRhdGE7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBkZWZpbmVSZWFjdGl2ZSh2bSwgJyRhdHRycycsIChwYXJlbnREYXRhICYmIHBhcmVudERhdGEuYXR0cnMpIHx8IGVtcHR5T2JqZWN0LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAhaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ICYmIHdhcm4kMihcIiRhdHRycyBpcyByZWFkb25seS5cIiwgdm0pO1xuICAgICAgICB9LCB0cnVlKTtcbiAgICAgICAgZGVmaW5lUmVhY3RpdmUodm0sICckbGlzdGVuZXJzJywgb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzIHx8IGVtcHR5T2JqZWN0LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAhaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ICYmIHdhcm4kMihcIiRsaXN0ZW5lcnMgaXMgcmVhZG9ubHkuXCIsIHZtKTtcbiAgICAgICAgfSwgdHJ1ZSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBkZWZpbmVSZWFjdGl2ZSh2bSwgJyRhdHRycycsIChwYXJlbnREYXRhICYmIHBhcmVudERhdGEuYXR0cnMpIHx8IGVtcHR5T2JqZWN0LCBudWxsLCB0cnVlKTtcbiAgICAgICAgZGVmaW5lUmVhY3RpdmUodm0sICckbGlzdGVuZXJzJywgb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzIHx8IGVtcHR5T2JqZWN0LCBudWxsLCB0cnVlKTtcbiAgICB9XG59XG52YXIgY3VycmVudFJlbmRlcmluZ0luc3RhbmNlID0gbnVsbDtcbmZ1bmN0aW9uIHJlbmRlck1peGluKFZ1ZSkge1xuICAgIC8vIGluc3RhbGwgcnVudGltZSBjb252ZW5pZW5jZSBoZWxwZXJzXG4gICAgaW5zdGFsbFJlbmRlckhlbHBlcnMoVnVlLnByb3RvdHlwZSk7XG4gICAgVnVlLnByb3RvdHlwZS4kbmV4dFRpY2sgPSBmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgcmV0dXJuIG5leHRUaWNrKGZuLCB0aGlzKTtcbiAgICB9O1xuICAgIFZ1ZS5wcm90b3R5cGUuX3JlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHZtID0gdGhpcztcbiAgICAgICAgdmFyIF9hID0gdm0uJG9wdGlvbnMsIHJlbmRlciA9IF9hLnJlbmRlciwgX3BhcmVudFZub2RlID0gX2EuX3BhcmVudFZub2RlO1xuICAgICAgICBpZiAoX3BhcmVudFZub2RlICYmIHZtLl9pc01vdW50ZWQpIHtcbiAgICAgICAgICAgIHZtLiRzY29wZWRTbG90cyA9IG5vcm1hbGl6ZVNjb3BlZFNsb3RzKHZtLiRwYXJlbnQsIF9wYXJlbnRWbm9kZS5kYXRhLnNjb3BlZFNsb3RzLCB2bS4kc2xvdHMsIHZtLiRzY29wZWRTbG90cyk7XG4gICAgICAgICAgICBpZiAodm0uX3Nsb3RzUHJveHkpIHtcbiAgICAgICAgICAgICAgICBzeW5jU2V0dXBTbG90cyh2bS5fc2xvdHNQcm94eSwgdm0uJHNjb3BlZFNsb3RzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgcGFyZW50IHZub2RlLiB0aGlzIGFsbG93cyByZW5kZXIgZnVuY3Rpb25zIHRvIGhhdmUgYWNjZXNzXG4gICAgICAgIC8vIHRvIHRoZSBkYXRhIG9uIHRoZSBwbGFjZWhvbGRlciBub2RlLlxuICAgICAgICB2bS4kdm5vZGUgPSBfcGFyZW50Vm5vZGU7XG4gICAgICAgIC8vIHJlbmRlciBzZWxmXG4gICAgICAgIHZhciB2bm9kZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFRoZXJlJ3Mgbm8gbmVlZCB0byBtYWludGFpbiBhIHN0YWNrIGJlY2F1c2UgYWxsIHJlbmRlciBmbnMgYXJlIGNhbGxlZFxuICAgICAgICAgICAgLy8gc2VwYXJhdGVseSBmcm9tIG9uZSBhbm90aGVyLiBOZXN0ZWQgY29tcG9uZW50J3MgcmVuZGVyIGZucyBhcmUgY2FsbGVkXG4gICAgICAgICAgICAvLyB3aGVuIHBhcmVudCBjb21wb25lbnQgaXMgcGF0Y2hlZC5cbiAgICAgICAgICAgIHNldEN1cnJlbnRJbnN0YW5jZSh2bSk7XG4gICAgICAgICAgICBjdXJyZW50UmVuZGVyaW5nSW5zdGFuY2UgPSB2bTtcbiAgICAgICAgICAgIHZub2RlID0gcmVuZGVyLmNhbGwodm0uX3JlbmRlclByb3h5LCB2bS4kY3JlYXRlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGhhbmRsZUVycm9yKGUsIHZtLCBcInJlbmRlclwiKTtcbiAgICAgICAgICAgIC8vIHJldHVybiBlcnJvciByZW5kZXIgcmVzdWx0LFxuICAgICAgICAgICAgLy8gb3IgcHJldmlvdXMgdm5vZGUgdG8gcHJldmVudCByZW5kZXIgZXJyb3IgY2F1c2luZyBibGFuayBjb21wb25lbnRcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB2bS4kb3B0aW9ucy5yZW5kZXJFcnJvcikge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHZub2RlID0gdm0uJG9wdGlvbnMucmVuZGVyRXJyb3IuY2FsbCh2bS5fcmVuZGVyUHJveHksIHZtLiRjcmVhdGVFbGVtZW50LCBlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwicmVuZGVyRXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIHZub2RlID0gdm0uX3Zub2RlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZub2RlID0gdm0uX3Zub2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgY3VycmVudFJlbmRlcmluZ0luc3RhbmNlID0gbnVsbDtcbiAgICAgICAgICAgIHNldEN1cnJlbnRJbnN0YW5jZSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIHRoZSByZXR1cm5lZCBhcnJheSBjb250YWlucyBvbmx5IGEgc2luZ2xlIG5vZGUsIGFsbG93IGl0XG4gICAgICAgIGlmIChpc0FycmF5KHZub2RlKSAmJiB2bm9kZS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHZub2RlID0gdm5vZGVbMF07XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmV0dXJuIGVtcHR5IHZub2RlIGluIGNhc2UgdGhlIHJlbmRlciBmdW5jdGlvbiBlcnJvcmVkIG91dFxuICAgICAgICBpZiAoISh2bm9kZSBpbnN0YW5jZW9mIFZOb2RlKSkge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoJ011bHRpcGxlIHJvb3Qgbm9kZXMgcmV0dXJuZWQgZnJvbSByZW5kZXIgZnVuY3Rpb24uIFJlbmRlciBmdW5jdGlvbiAnICtcbiAgICAgICAgICAgICAgICAgICAgJ3Nob3VsZCByZXR1cm4gYSBzaW5nbGUgcm9vdCBub2RlLicsIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZub2RlID0gY3JlYXRlRW1wdHlWTm9kZSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNldCBwYXJlbnRcbiAgICAgICAgdm5vZGUucGFyZW50ID0gX3BhcmVudFZub2RlO1xuICAgICAgICByZXR1cm4gdm5vZGU7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gZW5zdXJlQ3Rvcihjb21wLCBiYXNlKSB7XG4gICAgaWYgKGNvbXAuX19lc01vZHVsZSB8fCAoaGFzU3ltYm9sICYmIGNvbXBbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gJ01vZHVsZScpKSB7XG4gICAgICAgIGNvbXAgPSBjb21wLmRlZmF1bHQ7XG4gICAgfVxuICAgIHJldHVybiBpc09iamVjdChjb21wKSA/IGJhc2UuZXh0ZW5kKGNvbXApIDogY29tcDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUFzeW5jUGxhY2Vob2xkZXIoZmFjdG9yeSwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4sIHRhZykge1xuICAgIHZhciBub2RlID0gY3JlYXRlRW1wdHlWTm9kZSgpO1xuICAgIG5vZGUuYXN5bmNGYWN0b3J5ID0gZmFjdG9yeTtcbiAgICBub2RlLmFzeW5jTWV0YSA9IHsgZGF0YTogZGF0YSwgY29udGV4dDogY29udGV4dCwgY2hpbGRyZW46IGNoaWxkcmVuLCB0YWc6IHRhZyB9O1xuICAgIHJldHVybiBub2RlO1xufVxuZnVuY3Rpb24gcmVzb2x2ZUFzeW5jQ29tcG9uZW50KGZhY3RvcnksIGJhc2VDdG9yKSB7XG4gICAgaWYgKGlzVHJ1ZShmYWN0b3J5LmVycm9yKSAmJiBpc0RlZihmYWN0b3J5LmVycm9yQ29tcCkpIHtcbiAgICAgICAgcmV0dXJuIGZhY3RvcnkuZXJyb3JDb21wO1xuICAgIH1cbiAgICBpZiAoaXNEZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgcmV0dXJuIGZhY3RvcnkucmVzb2x2ZWQ7XG4gICAgfVxuICAgIHZhciBvd25lciA9IGN1cnJlbnRSZW5kZXJpbmdJbnN0YW5jZTtcbiAgICBpZiAob3duZXIgJiYgaXNEZWYoZmFjdG9yeS5vd25lcnMpICYmIGZhY3Rvcnkub3duZXJzLmluZGV4T2Yob3duZXIpID09PSAtMSkge1xuICAgICAgICAvLyBhbHJlYWR5IHBlbmRpbmdcbiAgICAgICAgZmFjdG9yeS5vd25lcnMucHVzaChvd25lcik7XG4gICAgfVxuICAgIGlmIChpc1RydWUoZmFjdG9yeS5sb2FkaW5nKSAmJiBpc0RlZihmYWN0b3J5LmxvYWRpbmdDb21wKSkge1xuICAgICAgICByZXR1cm4gZmFjdG9yeS5sb2FkaW5nQ29tcDtcbiAgICB9XG4gICAgaWYgKG93bmVyICYmICFpc0RlZihmYWN0b3J5Lm93bmVycykpIHtcbiAgICAgICAgdmFyIG93bmVyc18xID0gKGZhY3Rvcnkub3duZXJzID0gW293bmVyXSk7XG4gICAgICAgIHZhciBzeW5jXzEgPSB0cnVlO1xuICAgICAgICB2YXIgdGltZXJMb2FkaW5nXzEgPSBudWxsO1xuICAgICAgICB2YXIgdGltZXJUaW1lb3V0XzEgPSBudWxsO1xuICAgICAgICBvd25lci4kb24oJ2hvb2s6ZGVzdHJveWVkJywgZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVtb3ZlJDIob3duZXJzXzEsIG93bmVyKTsgfSk7XG4gICAgICAgIHZhciBmb3JjZVJlbmRlcl8xID0gZnVuY3Rpb24gKHJlbmRlckNvbXBsZXRlZCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBvd25lcnNfMS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgICAgICBvd25lcnNfMVtpXS4kZm9yY2VVcGRhdGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZW5kZXJDb21wbGV0ZWQpIHtcbiAgICAgICAgICAgICAgICBvd25lcnNfMS5sZW5ndGggPSAwO1xuICAgICAgICAgICAgICAgIGlmICh0aW1lckxvYWRpbmdfMSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXJMb2FkaW5nXzEpO1xuICAgICAgICAgICAgICAgICAgICB0aW1lckxvYWRpbmdfMSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aW1lclRpbWVvdXRfMSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXJUaW1lb3V0XzEpO1xuICAgICAgICAgICAgICAgICAgICB0aW1lclRpbWVvdXRfMSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB2YXIgcmVzb2x2ZSA9IG9uY2UoZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgLy8gY2FjaGUgcmVzb2x2ZWRcbiAgICAgICAgICAgIGZhY3RvcnkucmVzb2x2ZWQgPSBlbnN1cmVDdG9yKHJlcywgYmFzZUN0b3IpO1xuICAgICAgICAgICAgLy8gaW52b2tlIGNhbGxiYWNrcyBvbmx5IGlmIHRoaXMgaXMgbm90IGEgc3luY2hyb25vdXMgcmVzb2x2ZVxuICAgICAgICAgICAgLy8gKGFzeW5jIHJlc29sdmVzIGFyZSBzaGltbWVkIGFzIHN5bmNocm9ub3VzIGR1cmluZyBTU1IpXG4gICAgICAgICAgICBpZiAoIXN5bmNfMSkge1xuICAgICAgICAgICAgICAgIGZvcmNlUmVuZGVyXzEodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBvd25lcnNfMS5sZW5ndGggPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHJlamVjdF8xID0gb25jZShmdW5jdGlvbiAocmVhc29uKSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgICAgd2FybiQyKFwiRmFpbGVkIHRvIHJlc29sdmUgYXN5bmMgY29tcG9uZW50OiBcIi5jb25jYXQoU3RyaW5nKGZhY3RvcnkpKSArXG4gICAgICAgICAgICAgICAgICAgIChyZWFzb24gPyBcIlxcblJlYXNvbjogXCIuY29uY2F0KHJlYXNvbikgOiAnJykpO1xuICAgICAgICAgICAgaWYgKGlzRGVmKGZhY3RvcnkuZXJyb3JDb21wKSkge1xuICAgICAgICAgICAgICAgIGZhY3RvcnkuZXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZvcmNlUmVuZGVyXzEodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgcmVzXzEgPSBmYWN0b3J5KHJlc29sdmUsIHJlamVjdF8xKTtcbiAgICAgICAgaWYgKGlzT2JqZWN0KHJlc18xKSkge1xuICAgICAgICAgICAgaWYgKGlzUHJvbWlzZShyZXNfMSkpIHtcbiAgICAgICAgICAgICAgICAvLyAoKSA9PiBQcm9taXNlXG4gICAgICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzXzEudGhlbihyZXNvbHZlLCByZWplY3RfMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNQcm9taXNlKHJlc18xLmNvbXBvbmVudCkpIHtcbiAgICAgICAgICAgICAgICByZXNfMS5jb21wb25lbnQudGhlbihyZXNvbHZlLCByZWplY3RfMSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzRGVmKHJlc18xLmVycm9yKSkge1xuICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LmVycm9yQ29tcCA9IGVuc3VyZUN0b3IocmVzXzEuZXJyb3IsIGJhc2VDdG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzRGVmKHJlc18xLmxvYWRpbmcpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZhY3RvcnkubG9hZGluZ0NvbXAgPSBlbnN1cmVDdG9yKHJlc18xLmxvYWRpbmcsIGJhc2VDdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc18xLmRlbGF5ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBOb2RlSlMgdGltZW91dCB0eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lckxvYWRpbmdfMSA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyTG9hZGluZ18xID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNVbmRlZihmYWN0b3J5LnJlc29sdmVkKSAmJiBpc1VuZGVmKGZhY3RvcnkuZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY3RvcnkubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlUmVuZGVyXzEoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHJlc18xLmRlbGF5IHx8IDIwMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzRGVmKHJlc18xLnRpbWVvdXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgTm9kZUpTIHRpbWVvdXQgdHlwZVxuICAgICAgICAgICAgICAgICAgICB0aW1lclRpbWVvdXRfMSA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGltZXJUaW1lb3V0XzEgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3RfMShwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gXCJ0aW1lb3V0IChcIi5jb25jYXQocmVzXzEudGltZW91dCwgXCJtcylcIikgOiBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSwgcmVzXzEudGltZW91dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHN5bmNfMSA9IGZhbHNlO1xuICAgICAgICAvLyByZXR1cm4gaW4gY2FzZSByZXNvbHZlZCBzeW5jaHJvbm91c2x5XG4gICAgICAgIHJldHVybiBmYWN0b3J5LmxvYWRpbmcgPyBmYWN0b3J5LmxvYWRpbmdDb21wIDogZmFjdG9yeS5yZXNvbHZlZDtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdldEZpcnN0Q29tcG9uZW50Q2hpbGQoY2hpbGRyZW4pIHtcbiAgICBpZiAoaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGMgPSBjaGlsZHJlbltpXTtcbiAgICAgICAgICAgIGlmIChpc0RlZihjKSAmJiAoaXNEZWYoYy5jb21wb25lbnRPcHRpb25zKSB8fCBpc0FzeW5jUGxhY2Vob2xkZXIoYykpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGluaXRFdmVudHModm0pIHtcbiAgICB2bS5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB2bS5faGFzSG9va0V2ZW50ID0gZmFsc2U7XG4gICAgLy8gaW5pdCBwYXJlbnQgYXR0YWNoZWQgZXZlbnRzXG4gICAgdmFyIGxpc3RlbmVycyA9IHZtLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7XG4gICAgaWYgKGxpc3RlbmVycykge1xuICAgICAgICB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnModm0sIGxpc3RlbmVycyk7XG4gICAgfVxufVxudmFyIHRhcmdldCQxO1xuZnVuY3Rpb24gYWRkJDEoZXZlbnQsIGZuKSB7XG4gICAgdGFyZ2V0JDEuJG9uKGV2ZW50LCBmbik7XG59XG5mdW5jdGlvbiByZW1vdmUkMShldmVudCwgZm4pIHtcbiAgICB0YXJnZXQkMS4kb2ZmKGV2ZW50LCBmbik7XG59XG5mdW5jdGlvbiBjcmVhdGVPbmNlSGFuZGxlciQxKGV2ZW50LCBmbikge1xuICAgIHZhciBfdGFyZ2V0ID0gdGFyZ2V0JDE7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG9uY2VIYW5kbGVyKCkge1xuICAgICAgICB2YXIgcmVzID0gZm4uYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICAgICAgaWYgKHJlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX3RhcmdldC4kb2ZmKGV2ZW50LCBvbmNlSGFuZGxlcik7XG4gICAgICAgIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzKHZtLCBsaXN0ZW5lcnMsIG9sZExpc3RlbmVycykge1xuICAgIHRhcmdldCQxID0gdm07XG4gICAgdXBkYXRlTGlzdGVuZXJzKGxpc3RlbmVycywgb2xkTGlzdGVuZXJzIHx8IHt9LCBhZGQkMSwgcmVtb3ZlJDEsIGNyZWF0ZU9uY2VIYW5kbGVyJDEsIHZtKTtcbiAgICB0YXJnZXQkMSA9IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGV2ZW50c01peGluKFZ1ZSkge1xuICAgIHZhciBob29rUkUgPSAvXmhvb2s6LztcbiAgICBWdWUucHJvdG90eXBlLiRvbiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICAgICAgdmFyIHZtID0gdGhpcztcbiAgICAgICAgaWYgKGlzQXJyYXkoZXZlbnQpKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGV2ZW50Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIHZtLiRvbihldmVudFtpXSwgZm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgKHZtLl9ldmVudHNbZXZlbnRdIHx8ICh2bS5fZXZlbnRzW2V2ZW50XSA9IFtdKSkucHVzaChmbik7XG4gICAgICAgICAgICAvLyBvcHRpbWl6ZSBob29rOmV2ZW50IGNvc3QgYnkgdXNpbmcgYSBib29sZWFuIGZsYWcgbWFya2VkIGF0IHJlZ2lzdHJhdGlvblxuICAgICAgICAgICAgLy8gaW5zdGVhZCBvZiBhIGhhc2ggbG9va3VwXG4gICAgICAgICAgICBpZiAoaG9va1JFLnRlc3QoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgdm0uX2hhc0hvb2tFdmVudCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZtO1xuICAgIH07XG4gICAgVnVlLnByb3RvdHlwZS4kb25jZSA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICAgICAgdmFyIHZtID0gdGhpcztcbiAgICAgICAgZnVuY3Rpb24gb24oKSB7XG4gICAgICAgICAgICB2bS4kb2ZmKGV2ZW50LCBvbik7XG4gICAgICAgICAgICBmbi5hcHBseSh2bSwgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBvbi5mbiA9IGZuO1xuICAgICAgICB2bS4kb24oZXZlbnQsIG9uKTtcbiAgICAgICAgcmV0dXJuIHZtO1xuICAgIH07XG4gICAgVnVlLnByb3RvdHlwZS4kb2ZmID0gZnVuY3Rpb24gKGV2ZW50LCBmbikge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICAvLyBhbGxcbiAgICAgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB2bS5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgICAgIHJldHVybiB2bTtcbiAgICAgICAgfVxuICAgICAgICAvLyBhcnJheSBvZiBldmVudHNcbiAgICAgICAgaWYgKGlzQXJyYXkoZXZlbnQpKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpXzEgPSAwLCBsID0gZXZlbnQubGVuZ3RoOyBpXzEgPCBsOyBpXzErKykge1xuICAgICAgICAgICAgICAgIHZtLiRvZmYoZXZlbnRbaV8xXSwgZm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZtO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNwZWNpZmljIGV2ZW50XG4gICAgICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2ZW50XTtcbiAgICAgICAgaWYgKCFjYnMpIHtcbiAgICAgICAgICAgIHJldHVybiB2bTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZuKSB7XG4gICAgICAgICAgICB2bS5fZXZlbnRzW2V2ZW50XSA9IG51bGw7XG4gICAgICAgICAgICByZXR1cm4gdm07XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3BlY2lmaWMgaGFuZGxlclxuICAgICAgICB2YXIgY2I7XG4gICAgICAgIHZhciBpID0gY2JzLmxlbmd0aDtcbiAgICAgICAgd2hpbGUgKGktLSkge1xuICAgICAgICAgICAgY2IgPSBjYnNbaV07XG4gICAgICAgICAgICBpZiAoY2IgPT09IGZuIHx8IGNiLmZuID09PSBmbikge1xuICAgICAgICAgICAgICAgIGNicy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZtO1xuICAgIH07XG4gICAgVnVlLnByb3RvdHlwZS4kZW1pdCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGxvd2VyQ2FzZUV2ZW50ID0gZXZlbnQudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGlmIChsb3dlckNhc2VFdmVudCAhPT0gZXZlbnQgJiYgdm0uX2V2ZW50c1tsb3dlckNhc2VFdmVudF0pIHtcbiAgICAgICAgICAgICAgICB0aXAoXCJFdmVudCBcXFwiXCIuY29uY2F0KGxvd2VyQ2FzZUV2ZW50LCBcIlxcXCIgaXMgZW1pdHRlZCBpbiBjb21wb25lbnQgXCIpICtcbiAgICAgICAgICAgICAgICAgICAgXCJcIi5jb25jYXQoZm9ybWF0Q29tcG9uZW50TmFtZSh2bSksIFwiIGJ1dCB0aGUgaGFuZGxlciBpcyByZWdpc3RlcmVkIGZvciBcXFwiXCIpLmNvbmNhdChldmVudCwgXCJcXFwiLiBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIk5vdGUgdGhhdCBIVE1MIGF0dHJpYnV0ZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUgYW5kIHlvdSBjYW5ub3QgdXNlIFwiICtcbiAgICAgICAgICAgICAgICAgICAgXCJ2LW9uIHRvIGxpc3RlbiB0byBjYW1lbENhc2UgZXZlbnRzIHdoZW4gdXNpbmcgaW4tRE9NIHRlbXBsYXRlcy4gXCIgK1xuICAgICAgICAgICAgICAgICAgICBcIllvdSBzaG91bGQgcHJvYmFibHkgdXNlIFxcXCJcIi5jb25jYXQoaHlwaGVuYXRlKGV2ZW50KSwgXCJcXFwiIGluc3RlYWQgb2YgXFxcIlwiKS5jb25jYXQoZXZlbnQsIFwiXFxcIi5cIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2ZW50XTtcbiAgICAgICAgaWYgKGNicykge1xuICAgICAgICAgICAgY2JzID0gY2JzLmxlbmd0aCA+IDEgPyB0b0FycmF5KGNicykgOiBjYnM7XG4gICAgICAgICAgICB2YXIgYXJncyA9IHRvQXJyYXkoYXJndW1lbnRzLCAxKTtcbiAgICAgICAgICAgIHZhciBpbmZvID0gXCJldmVudCBoYW5kbGVyIGZvciBcXFwiXCIuY29uY2F0KGV2ZW50LCBcIlxcXCJcIik7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGNicy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyhjYnNbaV0sIHZtLCBhcmdzLCB2bSwgaW5mbyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZtO1xuICAgIH07XG59XG5cbnZhciBhY3RpdmVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ID0gZmFsc2U7XG5mdW5jdGlvbiBzZXRBY3RpdmVJbnN0YW5jZSh2bSkge1xuICAgIHZhciBwcmV2QWN0aXZlSW5zdGFuY2UgPSBhY3RpdmVJbnN0YW5jZTtcbiAgICBhY3RpdmVJbnN0YW5jZSA9IHZtO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFjdGl2ZUluc3RhbmNlID0gcHJldkFjdGl2ZUluc3RhbmNlO1xuICAgIH07XG59XG5mdW5jdGlvbiBpbml0TGlmZWN5Y2xlKHZtKSB7XG4gICAgdmFyIG9wdGlvbnMgPSB2bS4kb3B0aW9ucztcbiAgICAvLyBsb2NhdGUgZmlyc3Qgbm9uLWFic3RyYWN0IHBhcmVudFxuICAgIHZhciBwYXJlbnQgPSBvcHRpb25zLnBhcmVudDtcbiAgICBpZiAocGFyZW50ICYmICFvcHRpb25zLmFic3RyYWN0KSB7XG4gICAgICAgIHdoaWxlIChwYXJlbnQuJG9wdGlvbnMuYWJzdHJhY3QgJiYgcGFyZW50LiRwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudCA9IHBhcmVudC4kcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIHBhcmVudC4kY2hpbGRyZW4ucHVzaCh2bSk7XG4gICAgfVxuICAgIHZtLiRwYXJlbnQgPSBwYXJlbnQ7XG4gICAgdm0uJHJvb3QgPSBwYXJlbnQgPyBwYXJlbnQuJHJvb3QgOiB2bTtcbiAgICB2bS4kY2hpbGRyZW4gPSBbXTtcbiAgICB2bS4kcmVmcyA9IHt9O1xuICAgIHZtLl9wcm92aWRlZCA9IHBhcmVudCA/IHBhcmVudC5fcHJvdmlkZWQgOiBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHZtLl93YXRjaGVyID0gbnVsbDtcbiAgICB2bS5faW5hY3RpdmUgPSBudWxsO1xuICAgIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICAgIHZtLl9pc01vdW50ZWQgPSBmYWxzZTtcbiAgICB2bS5faXNEZXN0cm95ZWQgPSBmYWxzZTtcbiAgICB2bS5faXNCZWluZ0Rlc3Ryb3llZCA9IGZhbHNlO1xufVxuZnVuY3Rpb24gbGlmZWN5Y2xlTWl4aW4oVnVlKSB7XG4gICAgVnVlLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKHZub2RlLCBoeWRyYXRpbmcpIHtcbiAgICAgICAgdmFyIHZtID0gdGhpcztcbiAgICAgICAgdmFyIHByZXZFbCA9IHZtLiRlbDtcbiAgICAgICAgdmFyIHByZXZWbm9kZSA9IHZtLl92bm9kZTtcbiAgICAgICAgdmFyIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSA9IHNldEFjdGl2ZUluc3RhbmNlKHZtKTtcbiAgICAgICAgdm0uX3Zub2RlID0gdm5vZGU7XG4gICAgICAgIC8vIFZ1ZS5wcm90b3R5cGUuX19wYXRjaF9fIGlzIGluamVjdGVkIGluIGVudHJ5IHBvaW50c1xuICAgICAgICAvLyBiYXNlZCBvbiB0aGUgcmVuZGVyaW5nIGJhY2tlbmQgdXNlZC5cbiAgICAgICAgaWYgKCFwcmV2Vm5vZGUpIHtcbiAgICAgICAgICAgIC8vIGluaXRpYWwgcmVuZGVyXG4gICAgICAgICAgICB2bS4kZWwgPSB2bS5fX3BhdGNoX18odm0uJGVsLCB2bm9kZSwgaHlkcmF0aW5nLCBmYWxzZSAvKiByZW1vdmVPbmx5ICovKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIHVwZGF0ZXNcbiAgICAgICAgICAgIHZtLiRlbCA9IHZtLl9fcGF0Y2hfXyhwcmV2Vm5vZGUsIHZub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXN0b3JlQWN0aXZlSW5zdGFuY2UoKTtcbiAgICAgICAgLy8gdXBkYXRlIF9fdnVlX18gcmVmZXJlbmNlXG4gICAgICAgIGlmIChwcmV2RWwpIHtcbiAgICAgICAgICAgIHByZXZFbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodm0uJGVsKSB7XG4gICAgICAgICAgICB2bS4kZWwuX192dWVfXyA9IHZtO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIHBhcmVudCBpcyBhbiBIT0MsIHVwZGF0ZSBpdHMgJGVsIGFzIHdlbGxcbiAgICAgICAgdmFyIHdyYXBwZXIgPSB2bTtcbiAgICAgICAgd2hpbGUgKHdyYXBwZXIgJiZcbiAgICAgICAgICAgIHdyYXBwZXIuJHZub2RlICYmXG4gICAgICAgICAgICB3cmFwcGVyLiRwYXJlbnQgJiZcbiAgICAgICAgICAgIHdyYXBwZXIuJHZub2RlID09PSB3cmFwcGVyLiRwYXJlbnQuX3Zub2RlKSB7XG4gICAgICAgICAgICB3cmFwcGVyLiRwYXJlbnQuJGVsID0gd3JhcHBlci4kZWw7XG4gICAgICAgICAgICB3cmFwcGVyID0gd3JhcHBlci4kcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIHVwZGF0ZWQgaG9vayBpcyBjYWxsZWQgYnkgdGhlIHNjaGVkdWxlciB0byBlbnN1cmUgdGhhdCBjaGlsZHJlbiBhcmVcbiAgICAgICAgLy8gdXBkYXRlZCBpbiBhIHBhcmVudCdzIHVwZGF0ZWQgaG9vay5cbiAgICB9O1xuICAgIFZ1ZS5wcm90b3R5cGUuJGZvcmNlVXBkYXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgICAgICAgIHZtLl93YXRjaGVyLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBWdWUucHJvdG90eXBlLiRkZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdm0gPSB0aGlzO1xuICAgICAgICBpZiAodm0uX2lzQmVpbmdEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjYWxsSG9vayQxKHZtLCAnYmVmb3JlRGVzdHJveScpO1xuICAgICAgICB2bS5faXNCZWluZ0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gcGFyZW50XG4gICAgICAgIHZhciBwYXJlbnQgPSB2bS4kcGFyZW50O1xuICAgICAgICBpZiAocGFyZW50ICYmICFwYXJlbnQuX2lzQmVpbmdEZXN0cm95ZWQgJiYgIXZtLiRvcHRpb25zLmFic3RyYWN0KSB7XG4gICAgICAgICAgICByZW1vdmUkMihwYXJlbnQuJGNoaWxkcmVuLCB2bSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdGVhcmRvd24gc2NvcGUuIHRoaXMgaW5jbHVkZXMgYm90aCB0aGUgcmVuZGVyIHdhdGNoZXIgYW5kIG90aGVyXG4gICAgICAgIC8vIHdhdGNoZXJzIGNyZWF0ZWRcbiAgICAgICAgdm0uX3Njb3BlLnN0b3AoKTtcbiAgICAgICAgLy8gcmVtb3ZlIHJlZmVyZW5jZSBmcm9tIGRhdGEgb2JcbiAgICAgICAgLy8gZnJvemVuIG9iamVjdCBtYXkgbm90IGhhdmUgb2JzZXJ2ZXIuXG4gICAgICAgIGlmICh2bS5fZGF0YS5fX29iX18pIHtcbiAgICAgICAgICAgIHZtLl9kYXRhLl9fb2JfXy52bUNvdW50LS07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2FsbCB0aGUgbGFzdCBob29rLi4uXG4gICAgICAgIHZtLl9pc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgICAgIC8vIGludm9rZSBkZXN0cm95IGhvb2tzIG9uIGN1cnJlbnQgcmVuZGVyZWQgdHJlZVxuICAgICAgICB2bS5fX3BhdGNoX18odm0uX3Zub2RlLCBudWxsKTtcbiAgICAgICAgLy8gZmlyZSBkZXN0cm95ZWQgaG9va1xuICAgICAgICBjYWxsSG9vayQxKHZtLCAnZGVzdHJveWVkJyk7XG4gICAgICAgIC8vIHR1cm4gb2ZmIGFsbCBpbnN0YW5jZSBsaXN0ZW5lcnMuXG4gICAgICAgIHZtLiRvZmYoKTtcbiAgICAgICAgLy8gcmVtb3ZlIF9fdnVlX18gcmVmZXJlbmNlXG4gICAgICAgIGlmICh2bS4kZWwpIHtcbiAgICAgICAgICAgIHZtLiRlbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICAvLyByZWxlYXNlIGNpcmN1bGFyIHJlZmVyZW5jZSAoIzY3NTkpXG4gICAgICAgIGlmICh2bS4kdm5vZGUpIHtcbiAgICAgICAgICAgIHZtLiR2bm9kZS5wYXJlbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfTtcbn1cbmZ1bmN0aW9uIG1vdW50Q29tcG9uZW50KHZtLCBlbCwgaHlkcmF0aW5nKSB7XG4gICAgdm0uJGVsID0gZWw7XG4gICAgaWYgKCF2bS4kb3B0aW9ucy5yZW5kZXIpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBpbnZhbGlkIHR5cGVcbiAgICAgICAgdm0uJG9wdGlvbnMucmVuZGVyID0gY3JlYXRlRW1wdHlWTm9kZTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgaWYgKCh2bS4kb3B0aW9ucy50ZW1wbGF0ZSAmJiB2bS4kb3B0aW9ucy50ZW1wbGF0ZS5jaGFyQXQoMCkgIT09ICcjJykgfHxcbiAgICAgICAgICAgICAgICB2bS4kb3B0aW9ucy5lbCB8fFxuICAgICAgICAgICAgICAgIGVsKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKCdZb3UgYXJlIHVzaW5nIHRoZSBydW50aW1lLW9ubHkgYnVpbGQgb2YgVnVlIHdoZXJlIHRoZSB0ZW1wbGF0ZSAnICtcbiAgICAgICAgICAgICAgICAgICAgJ2NvbXBpbGVyIGlzIG5vdCBhdmFpbGFibGUuIEVpdGhlciBwcmUtY29tcGlsZSB0aGUgdGVtcGxhdGVzIGludG8gJyArXG4gICAgICAgICAgICAgICAgICAgICdyZW5kZXIgZnVuY3Rpb25zLCBvciB1c2UgdGhlIGNvbXBpbGVyLWluY2x1ZGVkIGJ1aWxkLicsIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHdhcm4kMignRmFpbGVkIHRvIG1vdW50IGNvbXBvbmVudDogdGVtcGxhdGUgb3IgcmVuZGVyIGZ1bmN0aW9uIG5vdCBkZWZpbmVkLicsIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBjYWxsSG9vayQxKHZtLCAnYmVmb3JlTW91bnQnKTtcbiAgICB2YXIgdXBkYXRlQ29tcG9uZW50O1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICAgIHVwZGF0ZUNvbXBvbmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBuYW1lID0gdm0uX25hbWU7XG4gICAgICAgICAgICB2YXIgaWQgPSB2bS5fdWlkO1xuICAgICAgICAgICAgdmFyIHN0YXJ0VGFnID0gXCJ2dWUtcGVyZi1zdGFydDpcIi5jb25jYXQoaWQpO1xuICAgICAgICAgICAgdmFyIGVuZFRhZyA9IFwidnVlLXBlcmYtZW5kOlwiLmNvbmNhdChpZCk7XG4gICAgICAgICAgICBtYXJrKHN0YXJ0VGFnKTtcbiAgICAgICAgICAgIHZhciB2bm9kZSA9IHZtLl9yZW5kZXIoKTtcbiAgICAgICAgICAgIG1hcmsoZW5kVGFnKTtcbiAgICAgICAgICAgIG1lYXN1cmUoXCJ2dWUgXCIuY29uY2F0KG5hbWUsIFwiIHJlbmRlclwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4gICAgICAgICAgICBtYXJrKHN0YXJ0VGFnKTtcbiAgICAgICAgICAgIHZtLl91cGRhdGUodm5vZGUsIGh5ZHJhdGluZyk7XG4gICAgICAgICAgICBtYXJrKGVuZFRhZyk7XG4gICAgICAgICAgICBtZWFzdXJlKFwidnVlIFwiLmNvbmNhdChuYW1lLCBcIiBwYXRjaFwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB1cGRhdGVDb21wb25lbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2bS5fdXBkYXRlKHZtLl9yZW5kZXIoKSwgaHlkcmF0aW5nKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgdmFyIHdhdGNoZXJPcHRpb25zID0ge1xuICAgICAgICBiZWZvcmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmICh2bS5faXNNb3VudGVkICYmICF2bS5faXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgICAgICBjYWxsSG9vayQxKHZtLCAnYmVmb3JlVXBkYXRlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhdGNoZXJPcHRpb25zLm9uVHJhY2sgPSBmdW5jdGlvbiAoZSkgeyByZXR1cm4gY2FsbEhvb2skMSh2bSwgJ3JlbmRlclRyYWNrZWQnLCBbZV0pOyB9O1xuICAgICAgICB3YXRjaGVyT3B0aW9ucy5vblRyaWdnZXIgPSBmdW5jdGlvbiAoZSkgeyByZXR1cm4gY2FsbEhvb2skMSh2bSwgJ3JlbmRlclRyaWdnZXJlZCcsIFtlXSk7IH07XG4gICAgfVxuICAgIC8vIHdlIHNldCB0aGlzIHRvIHZtLl93YXRjaGVyIGluc2lkZSB0aGUgd2F0Y2hlcidzIGNvbnN0cnVjdG9yXG4gICAgLy8gc2luY2UgdGhlIHdhdGNoZXIncyBpbml0aWFsIHBhdGNoIG1heSBjYWxsICRmb3JjZVVwZGF0ZSAoZS5nLiBpbnNpZGUgY2hpbGRcbiAgICAvLyBjb21wb25lbnQncyBtb3VudGVkIGhvb2spLCB3aGljaCByZWxpZXMgb24gdm0uX3dhdGNoZXIgYmVpbmcgYWxyZWFkeSBkZWZpbmVkXG4gICAgbmV3IFdhdGNoZXIodm0sIHVwZGF0ZUNvbXBvbmVudCwgbm9vcCwgd2F0Y2hlck9wdGlvbnMsIHRydWUgLyogaXNSZW5kZXJXYXRjaGVyICovKTtcbiAgICBoeWRyYXRpbmcgPSBmYWxzZTtcbiAgICAvLyBmbHVzaCBidWZmZXIgZm9yIGZsdXNoOiBcInByZVwiIHdhdGNoZXJzIHF1ZXVlZCBpbiBzZXR1cCgpXG4gICAgdmFyIHByZVdhdGNoZXJzID0gdm0uX3ByZVdhdGNoZXJzO1xuICAgIGlmIChwcmVXYXRjaGVycykge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByZVdhdGNoZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBwcmVXYXRjaGVyc1tpXS5ydW4oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBtYW51YWxseSBtb3VudGVkIGluc3RhbmNlLCBjYWxsIG1vdW50ZWQgb24gc2VsZlxuICAgIC8vIG1vdW50ZWQgaXMgY2FsbGVkIGZvciByZW5kZXItY3JlYXRlZCBjaGlsZCBjb21wb25lbnRzIGluIGl0cyBpbnNlcnRlZCBob29rXG4gICAgaWYgKHZtLiR2bm9kZSA9PSBudWxsKSB7XG4gICAgICAgIHZtLl9pc01vdW50ZWQgPSB0cnVlO1xuICAgICAgICBjYWxsSG9vayQxKHZtLCAnbW91bnRlZCcpO1xuICAgIH1cbiAgICByZXR1cm4gdm07XG59XG5mdW5jdGlvbiB1cGRhdGVDaGlsZENvbXBvbmVudCh2bSwgcHJvcHNEYXRhLCBsaXN0ZW5lcnMsIHBhcmVudFZub2RlLCByZW5kZXJDaGlsZHJlbikge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCA9IHRydWU7XG4gICAgfVxuICAgIC8vIGRldGVybWluZSB3aGV0aGVyIGNvbXBvbmVudCBoYXMgc2xvdCBjaGlsZHJlblxuICAgIC8vIHdlIG5lZWQgdG8gZG8gdGhpcyBiZWZvcmUgb3ZlcndyaXRpbmcgJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuLlxuICAgIC8vIGNoZWNrIGlmIHRoZXJlIGFyZSBkeW5hbWljIHNjb3BlZFNsb3RzIChoYW5kLXdyaXR0ZW4gb3IgY29tcGlsZWQgYnV0IHdpdGhcbiAgICAvLyBkeW5hbWljIHNsb3QgbmFtZXMpLiBTdGF0aWMgc2NvcGVkIHNsb3RzIGNvbXBpbGVkIGZyb20gdGVtcGxhdGUgaGFzIHRoZVxuICAgIC8vIFwiJHN0YWJsZVwiIG1hcmtlci5cbiAgICB2YXIgbmV3U2NvcGVkU2xvdHMgPSBwYXJlbnRWbm9kZS5kYXRhLnNjb3BlZFNsb3RzO1xuICAgIHZhciBvbGRTY29wZWRTbG90cyA9IHZtLiRzY29wZWRTbG90cztcbiAgICB2YXIgaGFzRHluYW1pY1Njb3BlZFNsb3QgPSAhISgobmV3U2NvcGVkU2xvdHMgJiYgIW5ld1Njb3BlZFNsb3RzLiRzdGFibGUpIHx8XG4gICAgICAgIChvbGRTY29wZWRTbG90cyAhPT0gZW1wdHlPYmplY3QgJiYgIW9sZFNjb3BlZFNsb3RzLiRzdGFibGUpIHx8XG4gICAgICAgIChuZXdTY29wZWRTbG90cyAmJiB2bS4kc2NvcGVkU2xvdHMuJGtleSAhPT0gbmV3U2NvcGVkU2xvdHMuJGtleSkgfHxcbiAgICAgICAgKCFuZXdTY29wZWRTbG90cyAmJiB2bS4kc2NvcGVkU2xvdHMuJGtleSkpO1xuICAgIC8vIEFueSBzdGF0aWMgc2xvdCBjaGlsZHJlbiBmcm9tIHRoZSBwYXJlbnQgbWF5IGhhdmUgY2hhbmdlZCBkdXJpbmcgcGFyZW50J3NcbiAgICAvLyB1cGRhdGUuIER5bmFtaWMgc2NvcGVkIHNsb3RzIG1heSBhbHNvIGhhdmUgY2hhbmdlZC4gSW4gc3VjaCBjYXNlcywgYSBmb3JjZWRcbiAgICAvLyB1cGRhdGUgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBjb3JyZWN0bmVzcy5cbiAgICB2YXIgbmVlZHNGb3JjZVVwZGF0ZSA9ICEhKHJlbmRlckNoaWxkcmVuIHx8IC8vIGhhcyBuZXcgc3RhdGljIHNsb3RzXG4gICAgICAgIHZtLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiB8fCAvLyBoYXMgb2xkIHN0YXRpYyBzbG90c1xuICAgICAgICBoYXNEeW5hbWljU2NvcGVkU2xvdCk7XG4gICAgdmFyIHByZXZWTm9kZSA9IHZtLiR2bm9kZTtcbiAgICB2bS4kb3B0aW9ucy5fcGFyZW50Vm5vZGUgPSBwYXJlbnRWbm9kZTtcbiAgICB2bS4kdm5vZGUgPSBwYXJlbnRWbm9kZTsgLy8gdXBkYXRlIHZtJ3MgcGxhY2Vob2xkZXIgbm9kZSB3aXRob3V0IHJlLXJlbmRlclxuICAgIGlmICh2bS5fdm5vZGUpIHtcbiAgICAgICAgLy8gdXBkYXRlIGNoaWxkIHRyZWUncyBwYXJlbnRcbiAgICAgICAgdm0uX3Zub2RlLnBhcmVudCA9IHBhcmVudFZub2RlO1xuICAgIH1cbiAgICB2bS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4gPSByZW5kZXJDaGlsZHJlbjtcbiAgICAvLyB1cGRhdGUgJGF0dHJzIGFuZCAkbGlzdGVuZXJzIGhhc2hcbiAgICAvLyB0aGVzZSBhcmUgYWxzbyByZWFjdGl2ZSBzbyB0aGV5IG1heSB0cmlnZ2VyIGNoaWxkIHVwZGF0ZSBpZiB0aGUgY2hpbGRcbiAgICAvLyB1c2VkIHRoZW0gZHVyaW5nIHJlbmRlclxuICAgIHZhciBhdHRycyA9IHBhcmVudFZub2RlLmRhdGEuYXR0cnMgfHwgZW1wdHlPYmplY3Q7XG4gICAgaWYgKHZtLl9hdHRyc1Byb3h5KSB7XG4gICAgICAgIC8vIGZvcmNlIHVwZGF0ZSBpZiBhdHRycyBhcmUgYWNjZXNzZWQgYW5kIGhhcyBjaGFuZ2VkIHNpbmNlIGl0IG1heSBiZVxuICAgICAgICAvLyBwYXNzZWQgdG8gYSBjaGlsZCBjb21wb25lbnQuXG4gICAgICAgIGlmIChzeW5jU2V0dXBQcm94eSh2bS5fYXR0cnNQcm94eSwgYXR0cnMsIChwcmV2Vk5vZGUuZGF0YSAmJiBwcmV2Vk5vZGUuZGF0YS5hdHRycykgfHwgZW1wdHlPYmplY3QsIHZtLCAnJGF0dHJzJykpIHtcbiAgICAgICAgICAgIG5lZWRzRm9yY2VVcGRhdGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHZtLiRhdHRycyA9IGF0dHJzO1xuICAgIC8vIHVwZGF0ZSBsaXN0ZW5lcnNcbiAgICBsaXN0ZW5lcnMgPSBsaXN0ZW5lcnMgfHwgZW1wdHlPYmplY3Q7XG4gICAgdmFyIHByZXZMaXN0ZW5lcnMgPSB2bS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO1xuICAgIGlmICh2bS5fbGlzdGVuZXJzUHJveHkpIHtcbiAgICAgICAgc3luY1NldHVwUHJveHkodm0uX2xpc3RlbmVyc1Byb3h5LCBsaXN0ZW5lcnMsIHByZXZMaXN0ZW5lcnMgfHwgZW1wdHlPYmplY3QsIHZtLCAnJGxpc3RlbmVycycpO1xuICAgIH1cbiAgICB2bS4kbGlzdGVuZXJzID0gdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycyA9IGxpc3RlbmVycztcbiAgICB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnModm0sIGxpc3RlbmVycywgcHJldkxpc3RlbmVycyk7XG4gICAgLy8gdXBkYXRlIHByb3BzXG4gICAgaWYgKHByb3BzRGF0YSAmJiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgICAgICB0b2dnbGVPYnNlcnZpbmcoZmFsc2UpO1xuICAgICAgICB2YXIgcHJvcHMgPSB2bS5fcHJvcHM7XG4gICAgICAgIHZhciBwcm9wS2V5cyA9IHZtLiRvcHRpb25zLl9wcm9wS2V5cyB8fCBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIGtleSA9IHByb3BLZXlzW2ldO1xuICAgICAgICAgICAgdmFyIHByb3BPcHRpb25zID0gdm0uJG9wdGlvbnMucHJvcHM7IC8vIHd0ZiBmbG93P1xuICAgICAgICAgICAgcHJvcHNba2V5XSA9IHZhbGlkYXRlUHJvcChrZXksIHByb3BPcHRpb25zLCBwcm9wc0RhdGEsIHZtKTtcbiAgICAgICAgfVxuICAgICAgICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG4gICAgICAgIC8vIGtlZXAgYSBjb3B5IG9mIHJhdyBwcm9wc0RhdGFcbiAgICAgICAgdm0uJG9wdGlvbnMucHJvcHNEYXRhID0gcHJvcHNEYXRhO1xuICAgIH1cbiAgICAvLyByZXNvbHZlIHNsb3RzICsgZm9yY2UgdXBkYXRlIGlmIGhhcyBjaGlsZHJlblxuICAgIGlmIChuZWVkc0ZvcmNlVXBkYXRlKSB7XG4gICAgICAgIHZtLiRzbG90cyA9IHJlc29sdmVTbG90cyhyZW5kZXJDaGlsZHJlbiwgcGFyZW50Vm5vZGUuY29udGV4dCk7XG4gICAgICAgIHZtLiRmb3JjZVVwZGF0ZSgpO1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSBmYWxzZTtcbiAgICB9XG59XG5mdW5jdGlvbiBpc0luSW5hY3RpdmVUcmVlKHZtKSB7XG4gICAgd2hpbGUgKHZtICYmICh2bSA9IHZtLiRwYXJlbnQpKSB7XG4gICAgICAgIGlmICh2bS5faW5hY3RpdmUpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gYWN0aXZhdGVDaGlsZENvbXBvbmVudCh2bSwgZGlyZWN0KSB7XG4gICAgaWYgKGRpcmVjdCkge1xuICAgICAgICB2bS5fZGlyZWN0SW5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGlzSW5JbmFjdGl2ZVRyZWUodm0pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAodm0uX2RpcmVjdEluYWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZtLl9pbmFjdGl2ZSB8fCB2bS5faW5hY3RpdmUgPT09IG51bGwpIHtcbiAgICAgICAgdm0uX2luYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm0uJGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KHZtLiRjaGlsZHJlbltpXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FsbEhvb2skMSh2bSwgJ2FjdGl2YXRlZCcpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGRlYWN0aXZhdGVDaGlsZENvbXBvbmVudCh2bSwgZGlyZWN0KSB7XG4gICAgaWYgKGRpcmVjdCkge1xuICAgICAgICB2bS5fZGlyZWN0SW5hY3RpdmUgPSB0cnVlO1xuICAgICAgICBpZiAoaXNJbkluYWN0aXZlVHJlZSh2bSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXZtLl9pbmFjdGl2ZSkge1xuICAgICAgICB2bS5faW5hY3RpdmUgPSB0cnVlO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLiRjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KHZtLiRjaGlsZHJlbltpXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FsbEhvb2skMSh2bSwgJ2RlYWN0aXZhdGVkJyk7XG4gICAgfVxufVxuZnVuY3Rpb24gY2FsbEhvb2skMSh2bSwgaG9vaywgYXJncywgc2V0Q29udGV4dCkge1xuICAgIGlmIChzZXRDb250ZXh0ID09PSB2b2lkIDApIHsgc2V0Q29udGV4dCA9IHRydWU7IH1cbiAgICAvLyAjNzU3MyBkaXNhYmxlIGRlcCBjb2xsZWN0aW9uIHdoZW4gaW52b2tpbmcgbGlmZWN5Y2xlIGhvb2tzXG4gICAgcHVzaFRhcmdldCgpO1xuICAgIHZhciBwcmV2ID0gY3VycmVudEluc3RhbmNlO1xuICAgIHNldENvbnRleHQgJiYgc2V0Q3VycmVudEluc3RhbmNlKHZtKTtcbiAgICB2YXIgaGFuZGxlcnMgPSB2bS4kb3B0aW9uc1tob29rXTtcbiAgICB2YXIgaW5mbyA9IFwiXCIuY29uY2F0KGhvb2ssIFwiIGhvb2tcIik7XG4gICAgaWYgKGhhbmRsZXJzKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBqID0gaGFuZGxlcnMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgICBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyhoYW5kbGVyc1tpXSwgdm0sIGFyZ3MgfHwgbnVsbCwgdm0sIGluZm8pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh2bS5faGFzSG9va0V2ZW50KSB7XG4gICAgICAgIHZtLiRlbWl0KCdob29rOicgKyBob29rKTtcbiAgICB9XG4gICAgc2V0Q29udGV4dCAmJiBzZXRDdXJyZW50SW5zdGFuY2UocHJldik7XG4gICAgcG9wVGFyZ2V0KCk7XG59XG5cbnZhciBNQVhfVVBEQVRFX0NPVU5UID0gMTAwO1xudmFyIHF1ZXVlID0gW107XG52YXIgYWN0aXZhdGVkQ2hpbGRyZW4gPSBbXTtcbnZhciBoYXMgPSB7fTtcbnZhciBjaXJjdWxhciA9IHt9O1xudmFyIHdhaXRpbmcgPSBmYWxzZTtcbnZhciBmbHVzaGluZyA9IGZhbHNlO1xudmFyIGluZGV4JDEgPSAwO1xuLyoqXG4gKiBSZXNldCB0aGUgc2NoZWR1bGVyJ3Mgc3RhdGUuXG4gKi9cbmZ1bmN0aW9uIHJlc2V0U2NoZWR1bGVyU3RhdGUoKSB7XG4gICAgaW5kZXgkMSA9IHF1ZXVlLmxlbmd0aCA9IGFjdGl2YXRlZENoaWxkcmVuLmxlbmd0aCA9IDA7XG4gICAgaGFzID0ge307XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgY2lyY3VsYXIgPSB7fTtcbiAgICB9XG4gICAgd2FpdGluZyA9IGZsdXNoaW5nID0gZmFsc2U7XG59XG4vLyBBc3luYyBlZGdlIGNhc2UgIzY1NjYgcmVxdWlyZXMgc2F2aW5nIHRoZSB0aW1lc3RhbXAgd2hlbiBldmVudCBsaXN0ZW5lcnMgYXJlXG4vLyBhdHRhY2hlZC4gSG93ZXZlciwgY2FsbGluZyBwZXJmb3JtYW5jZS5ub3coKSBoYXMgYSBwZXJmIG92ZXJoZWFkIGVzcGVjaWFsbHlcbi8vIGlmIHRoZSBwYWdlIGhhcyB0aG91c2FuZHMgb2YgZXZlbnQgbGlzdGVuZXJzLiBJbnN0ZWFkLCB3ZSB0YWtlIGEgdGltZXN0YW1wXG4vLyBldmVyeSB0aW1lIHRoZSBzY2hlZHVsZXIgZmx1c2hlcyBhbmQgdXNlIHRoYXQgZm9yIGFsbCBldmVudCBsaXN0ZW5lcnNcbi8vIGF0dGFjaGVkIGR1cmluZyB0aGF0IGZsdXNoLlxudmFyIGN1cnJlbnRGbHVzaFRpbWVzdGFtcCA9IDA7XG4vLyBBc3luYyBlZGdlIGNhc2UgZml4IHJlcXVpcmVzIHN0b3JpbmcgYW4gZXZlbnQgbGlzdGVuZXIncyBhdHRhY2ggdGltZXN0YW1wLlxudmFyIGdldE5vdyA9IERhdGUubm93O1xuLy8gRGV0ZXJtaW5lIHdoYXQgZXZlbnQgdGltZXN0YW1wIHRoZSBicm93c2VyIGlzIHVzaW5nLiBBbm5veWluZ2x5LCB0aGVcbi8vIHRpbWVzdGFtcCBjYW4gZWl0aGVyIGJlIGhpLXJlcyAocmVsYXRpdmUgdG8gcGFnZSBsb2FkKSBvciBsb3ctcmVzXG4vLyAocmVsYXRpdmUgdG8gVU5JWCBlcG9jaCksIHNvIGluIG9yZGVyIHRvIGNvbXBhcmUgdGltZSB3ZSBoYXZlIHRvIHVzZSB0aGVcbi8vIHNhbWUgdGltZXN0YW1wIHR5cGUgd2hlbiBzYXZpbmcgdGhlIGZsdXNoIHRpbWVzdGFtcC5cbi8vIEFsbCBJRSB2ZXJzaW9ucyB1c2UgbG93LXJlcyBldmVudCB0aW1lc3RhbXBzLCBhbmQgaGF2ZSBwcm9ibGVtYXRpYyBjbG9ja1xuLy8gaW1wbGVtZW50YXRpb25zICgjOTYzMilcbmlmIChpbkJyb3dzZXIgJiYgIWlzSUUpIHtcbiAgICB2YXIgcGVyZm9ybWFuY2VfMSA9IHdpbmRvdy5wZXJmb3JtYW5jZTtcbiAgICBpZiAocGVyZm9ybWFuY2VfMSAmJlxuICAgICAgICB0eXBlb2YgcGVyZm9ybWFuY2VfMS5ub3cgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgZ2V0Tm93KCkgPiBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXZlbnQnKS50aW1lU3RhbXApIHtcbiAgICAgICAgLy8gaWYgdGhlIGV2ZW50IHRpbWVzdGFtcCwgYWx0aG91Z2ggZXZhbHVhdGVkIEFGVEVSIHRoZSBEYXRlLm5vdygpLCBpc1xuICAgICAgICAvLyBzbWFsbGVyIHRoYW4gaXQsIGl0IG1lYW5zIHRoZSBldmVudCBpcyB1c2luZyBhIGhpLXJlcyB0aW1lc3RhbXAsXG4gICAgICAgIC8vIGFuZCB3ZSBuZWVkIHRvIHVzZSB0aGUgaGktcmVzIHZlcnNpb24gZm9yIGV2ZW50IGxpc3RlbmVyIHRpbWVzdGFtcHMgYXNcbiAgICAgICAgLy8gd2VsbC5cbiAgICAgICAgZ2V0Tm93ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcGVyZm9ybWFuY2VfMS5ub3coKTsgfTtcbiAgICB9XG59XG52YXIgc29ydENvbXBhcmVGbiA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgaWYgKGEucG9zdCkge1xuICAgICAgICBpZiAoIWIucG9zdClcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBlbHNlIGlmIChiLnBvc3QpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICByZXR1cm4gYS5pZCAtIGIuaWQ7XG59O1xuLyoqXG4gKiBGbHVzaCBib3RoIHF1ZXVlcyBhbmQgcnVuIHRoZSB3YXRjaGVycy5cbiAqL1xuZnVuY3Rpb24gZmx1c2hTY2hlZHVsZXJRdWV1ZSgpIHtcbiAgICBjdXJyZW50Rmx1c2hUaW1lc3RhbXAgPSBnZXROb3coKTtcbiAgICBmbHVzaGluZyA9IHRydWU7XG4gICAgdmFyIHdhdGNoZXIsIGlkO1xuICAgIC8vIFNvcnQgcXVldWUgYmVmb3JlIGZsdXNoLlxuICAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0OlxuICAgIC8vIDEuIENvbXBvbmVudHMgYXJlIHVwZGF0ZWQgZnJvbSBwYXJlbnQgdG8gY2hpbGQuIChiZWNhdXNlIHBhcmVudCBpcyBhbHdheXNcbiAgICAvLyAgICBjcmVhdGVkIGJlZm9yZSB0aGUgY2hpbGQpXG4gICAgLy8gMi4gQSBjb21wb25lbnQncyB1c2VyIHdhdGNoZXJzIGFyZSBydW4gYmVmb3JlIGl0cyByZW5kZXIgd2F0Y2hlciAoYmVjYXVzZVxuICAgIC8vICAgIHVzZXIgd2F0Y2hlcnMgYXJlIGNyZWF0ZWQgYmVmb3JlIHRoZSByZW5kZXIgd2F0Y2hlcilcbiAgICAvLyAzLiBJZiBhIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQgZHVyaW5nIGEgcGFyZW50IGNvbXBvbmVudCdzIHdhdGNoZXIgcnVuLFxuICAgIC8vICAgIGl0cyB3YXRjaGVycyBjYW4gYmUgc2tpcHBlZC5cbiAgICBxdWV1ZS5zb3J0KHNvcnRDb21wYXJlRm4pO1xuICAgIC8vIGRvIG5vdCBjYWNoZSBsZW5ndGggYmVjYXVzZSBtb3JlIHdhdGNoZXJzIG1pZ2h0IGJlIHB1c2hlZFxuICAgIC8vIGFzIHdlIHJ1biBleGlzdGluZyB3YXRjaGVyc1xuICAgIGZvciAoaW5kZXgkMSA9IDA7IGluZGV4JDEgPCBxdWV1ZS5sZW5ndGg7IGluZGV4JDErKykge1xuICAgICAgICB3YXRjaGVyID0gcXVldWVbaW5kZXgkMV07XG4gICAgICAgIGlmICh3YXRjaGVyLmJlZm9yZSkge1xuICAgICAgICAgICAgd2F0Y2hlci5iZWZvcmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZCA9IHdhdGNoZXIuaWQ7XG4gICAgICAgIGhhc1tpZF0gPSBudWxsO1xuICAgICAgICB3YXRjaGVyLnJ1bigpO1xuICAgICAgICAvLyBpbiBkZXYgYnVpbGQsIGNoZWNrIGFuZCBzdG9wIGNpcmN1bGFyIHVwZGF0ZXMuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGhhc1tpZF0gIT0gbnVsbCkge1xuICAgICAgICAgICAgY2lyY3VsYXJbaWRdID0gKGNpcmN1bGFyW2lkXSB8fCAwKSArIDE7XG4gICAgICAgICAgICBpZiAoY2lyY3VsYXJbaWRdID4gTUFYX1VQREFURV9DT1VOVCkge1xuICAgICAgICAgICAgICAgIHdhcm4kMignWW91IG1heSBoYXZlIGFuIGluZmluaXRlIHVwZGF0ZSBsb29wICcgK1xuICAgICAgICAgICAgICAgICAgICAod2F0Y2hlci51c2VyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiaW4gd2F0Y2hlciB3aXRoIGV4cHJlc3Npb24gXFxcIlwiLmNvbmNhdCh3YXRjaGVyLmV4cHJlc3Npb24sIFwiXFxcIlwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBcImluIGEgY29tcG9uZW50IHJlbmRlciBmdW5jdGlvbi5cIiksIHdhdGNoZXIudm0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGtlZXAgY29waWVzIG9mIHBvc3QgcXVldWVzIGJlZm9yZSByZXNldHRpbmcgc3RhdGVcbiAgICB2YXIgYWN0aXZhdGVkUXVldWUgPSBhY3RpdmF0ZWRDaGlsZHJlbi5zbGljZSgpO1xuICAgIHZhciB1cGRhdGVkUXVldWUgPSBxdWV1ZS5zbGljZSgpO1xuICAgIHJlc2V0U2NoZWR1bGVyU3RhdGUoKTtcbiAgICAvLyBjYWxsIGNvbXBvbmVudCB1cGRhdGVkIGFuZCBhY3RpdmF0ZWQgaG9va3NcbiAgICBjYWxsQWN0aXZhdGVkSG9va3MoYWN0aXZhdGVkUXVldWUpO1xuICAgIGNhbGxVcGRhdGVkSG9va3ModXBkYXRlZFF1ZXVlKTtcbiAgICBjbGVhbnVwRGVwcygpO1xuICAgIC8vIGRldnRvb2wgaG9va1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChkZXZ0b29scyAmJiBjb25maWcuZGV2dG9vbHMpIHtcbiAgICAgICAgZGV2dG9vbHMuZW1pdCgnZmx1c2gnKTtcbiAgICB9XG59XG5mdW5jdGlvbiBjYWxsVXBkYXRlZEhvb2tzKHF1ZXVlKSB7XG4gICAgdmFyIGkgPSBxdWV1ZS5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgICB2YXIgd2F0Y2hlciA9IHF1ZXVlW2ldO1xuICAgICAgICB2YXIgdm0gPSB3YXRjaGVyLnZtO1xuICAgICAgICBpZiAodm0gJiYgdm0uX3dhdGNoZXIgPT09IHdhdGNoZXIgJiYgdm0uX2lzTW91bnRlZCAmJiAhdm0uX2lzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICBjYWxsSG9vayQxKHZtLCAndXBkYXRlZCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBRdWV1ZSBhIGtlcHQtYWxpdmUgY29tcG9uZW50IHRoYXQgd2FzIGFjdGl2YXRlZCBkdXJpbmcgcGF0Y2guXG4gKiBUaGUgcXVldWUgd2lsbCBiZSBwcm9jZXNzZWQgYWZ0ZXIgdGhlIGVudGlyZSB0cmVlIGhhcyBiZWVuIHBhdGNoZWQuXG4gKi9cbmZ1bmN0aW9uIHF1ZXVlQWN0aXZhdGVkQ29tcG9uZW50KHZtKSB7XG4gICAgLy8gc2V0dGluZyBfaW5hY3RpdmUgdG8gZmFsc2UgaGVyZSBzbyB0aGF0IGEgcmVuZGVyIGZ1bmN0aW9uIGNhblxuICAgIC8vIHJlbHkgb24gY2hlY2tpbmcgd2hldGhlciBpdCdzIGluIGFuIGluYWN0aXZlIHRyZWUgKGUuZy4gcm91dGVyLXZpZXcpXG4gICAgdm0uX2luYWN0aXZlID0gZmFsc2U7XG4gICAgYWN0aXZhdGVkQ2hpbGRyZW4ucHVzaCh2bSk7XG59XG5mdW5jdGlvbiBjYWxsQWN0aXZhdGVkSG9va3MocXVldWUpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHF1ZXVlW2ldLl9pbmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQocXVldWVbaV0sIHRydWUgLyogdHJ1ZSAqLyk7XG4gICAgfVxufVxuLyoqXG4gKiBQdXNoIGEgd2F0Y2hlciBpbnRvIHRoZSB3YXRjaGVyIHF1ZXVlLlxuICogSm9icyB3aXRoIGR1cGxpY2F0ZSBJRHMgd2lsbCBiZSBza2lwcGVkIHVubGVzcyBpdCdzXG4gKiBwdXNoZWQgd2hlbiB0aGUgcXVldWUgaXMgYmVpbmcgZmx1c2hlZC5cbiAqL1xuZnVuY3Rpb24gcXVldWVXYXRjaGVyKHdhdGNoZXIpIHtcbiAgICB2YXIgaWQgPSB3YXRjaGVyLmlkO1xuICAgIGlmIChoYXNbaWRdICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAod2F0Y2hlciA9PT0gRGVwLnRhcmdldCAmJiB3YXRjaGVyLm5vUmVjdXJzZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGhhc1tpZF0gPSB0cnVlO1xuICAgIGlmICghZmx1c2hpbmcpIHtcbiAgICAgICAgcXVldWUucHVzaCh3YXRjaGVyKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIGlmIGFscmVhZHkgZmx1c2hpbmcsIHNwbGljZSB0aGUgd2F0Y2hlciBiYXNlZCBvbiBpdHMgaWRcbiAgICAgICAgLy8gaWYgYWxyZWFkeSBwYXN0IGl0cyBpZCwgaXQgd2lsbCBiZSBydW4gbmV4dCBpbW1lZGlhdGVseS5cbiAgICAgICAgdmFyIGkgPSBxdWV1ZS5sZW5ndGggLSAxO1xuICAgICAgICB3aGlsZSAoaSA+IGluZGV4JDEgJiYgcXVldWVbaV0uaWQgPiB3YXRjaGVyLmlkKSB7XG4gICAgICAgICAgICBpLS07XG4gICAgICAgIH1cbiAgICAgICAgcXVldWUuc3BsaWNlKGkgKyAxLCAwLCB3YXRjaGVyKTtcbiAgICB9XG4gICAgLy8gcXVldWUgdGhlIGZsdXNoXG4gICAgaWYgKCF3YWl0aW5nKSB7XG4gICAgICAgIHdhaXRpbmcgPSB0cnVlO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhY29uZmlnLmFzeW5jKSB7XG4gICAgICAgICAgICBmbHVzaFNjaGVkdWxlclF1ZXVlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbmV4dFRpY2soZmx1c2hTY2hlZHVsZXJRdWV1ZSk7XG4gICAgfVxufVxuXG52YXIgV0FUQ0hFUiA9IFwid2F0Y2hlclwiO1xudmFyIFdBVENIRVJfQ0IgPSBcIlwiLmNvbmNhdChXQVRDSEVSLCBcIiBjYWxsYmFja1wiKTtcbnZhciBXQVRDSEVSX0dFVFRFUiA9IFwiXCIuY29uY2F0KFdBVENIRVIsIFwiIGdldHRlclwiKTtcbnZhciBXQVRDSEVSX0NMRUFOVVAgPSBcIlwiLmNvbmNhdChXQVRDSEVSLCBcIiBjbGVhbnVwXCIpO1xuLy8gU2ltcGxlIGVmZmVjdC5cbmZ1bmN0aW9uIHdhdGNoRWZmZWN0KGVmZmVjdCwgb3B0aW9ucykge1xuICAgIHJldHVybiBkb1dhdGNoKGVmZmVjdCwgbnVsbCwgb3B0aW9ucyk7XG59XG5mdW5jdGlvbiB3YXRjaFBvc3RFZmZlY3QoZWZmZWN0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGRvV2F0Y2goZWZmZWN0LCBudWxsLCAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJ1xuICAgICAgICA/IF9fYXNzaWduKF9fYXNzaWduKHt9LCBvcHRpb25zKSwgeyBmbHVzaDogJ3Bvc3QnIH0pIDogeyBmbHVzaDogJ3Bvc3QnIH0pKTtcbn1cbmZ1bmN0aW9uIHdhdGNoU3luY0VmZmVjdChlZmZlY3QsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gZG9XYXRjaChlZmZlY3QsIG51bGwsIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nXG4gICAgICAgID8gX19hc3NpZ24oX19hc3NpZ24oe30sIG9wdGlvbnMpLCB7IGZsdXNoOiAnc3luYycgfSkgOiB7IGZsdXNoOiAnc3luYycgfSkpO1xufVxuLy8gaW5pdGlhbCB2YWx1ZSBmb3Igd2F0Y2hlcnMgdG8gdHJpZ2dlciBvbiB1bmRlZmluZWQgaW5pdGlhbCB2YWx1ZXNcbnZhciBJTklUSUFMX1dBVENIRVJfVkFMVUUgPSB7fTtcbi8vIGltcGxlbWVudGF0aW9uXG5mdW5jdGlvbiB3YXRjaChzb3VyY2UsIGNiLCBvcHRpb25zKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdHlwZW9mIGNiICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm4kMihcImB3YXRjaChmbiwgb3B0aW9ucz8pYCBzaWduYXR1cmUgaGFzIGJlZW4gbW92ZWQgdG8gYSBzZXBhcmF0ZSBBUEkuIFwiICtcbiAgICAgICAgICAgIFwiVXNlIGB3YXRjaEVmZmVjdChmbiwgb3B0aW9ucz8pYCBpbnN0ZWFkLiBgd2F0Y2hgIG5vdyBvbmx5IFwiICtcbiAgICAgICAgICAgIFwic3VwcG9ydHMgYHdhdGNoKHNvdXJjZSwgY2IsIG9wdGlvbnM/KSBzaWduYXR1cmUuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gZG9XYXRjaChzb3VyY2UsIGNiLCBvcHRpb25zKTtcbn1cbmZ1bmN0aW9uIGRvV2F0Y2goc291cmNlLCBjYiwgX2EpIHtcbiAgICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8gZW1wdHlPYmplY3QgOiBfYSwgaW1tZWRpYXRlID0gX2IuaW1tZWRpYXRlLCBkZWVwID0gX2IuZGVlcCwgX2MgPSBfYi5mbHVzaCwgZmx1c2ggPSBfYyA9PT0gdm9pZCAwID8gJ3ByZScgOiBfYywgb25UcmFjayA9IF9iLm9uVHJhY2ssIG9uVHJpZ2dlciA9IF9iLm9uVHJpZ2dlcjtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhY2IpIHtcbiAgICAgICAgaWYgKGltbWVkaWF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCJ3YXRjaCgpIFxcXCJpbW1lZGlhdGVcXFwiIG9wdGlvbiBpcyBvbmx5IHJlc3BlY3RlZCB3aGVuIHVzaW5nIHRoZSBcIiArXG4gICAgICAgICAgICAgICAgXCJ3YXRjaChzb3VyY2UsIGNhbGxiYWNrLCBvcHRpb25zPykgc2lnbmF0dXJlLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVlcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCJ3YXRjaCgpIFxcXCJkZWVwXFxcIiBvcHRpb24gaXMgb25seSByZXNwZWN0ZWQgd2hlbiB1c2luZyB0aGUgXCIgK1xuICAgICAgICAgICAgICAgIFwid2F0Y2goc291cmNlLCBjYWxsYmFjaywgb3B0aW9ucz8pIHNpZ25hdHVyZS5cIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIHdhcm5JbnZhbGlkU291cmNlID0gZnVuY3Rpb24gKHMpIHtcbiAgICAgICAgd2FybiQyKFwiSW52YWxpZCB3YXRjaCBzb3VyY2U6IFwiLmNvbmNhdChzLCBcIi4gQSB3YXRjaCBzb3VyY2UgY2FuIG9ubHkgYmUgYSBnZXR0ZXIvZWZmZWN0IFwiKSArXG4gICAgICAgICAgICBcImZ1bmN0aW9uLCBhIHJlZiwgYSByZWFjdGl2ZSBvYmplY3QsIG9yIGFuIGFycmF5IG9mIHRoZXNlIHR5cGVzLlwiKTtcbiAgICB9O1xuICAgIHZhciBpbnN0YW5jZSA9IGN1cnJlbnRJbnN0YW5jZTtcbiAgICB2YXIgY2FsbCA9IGZ1bmN0aW9uIChmbiwgdHlwZSwgYXJncykge1xuICAgICAgICBpZiAoYXJncyA9PT0gdm9pZCAwKSB7IGFyZ3MgPSBudWxsOyB9XG4gICAgICAgIHJldHVybiBpbnZva2VXaXRoRXJyb3JIYW5kbGluZyhmbiwgbnVsbCwgYXJncywgaW5zdGFuY2UsIHR5cGUpO1xuICAgIH07XG4gICAgdmFyIGdldHRlcjtcbiAgICB2YXIgZm9yY2VUcmlnZ2VyID0gZmFsc2U7XG4gICAgdmFyIGlzTXVsdGlTb3VyY2UgPSBmYWxzZTtcbiAgICBpZiAoaXNSZWYoc291cmNlKSkge1xuICAgICAgICBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBzb3VyY2UudmFsdWU7IH07XG4gICAgICAgIGZvcmNlVHJpZ2dlciA9IGlzU2hhbGxvdyhzb3VyY2UpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc1JlYWN0aXZlKHNvdXJjZSkpIHtcbiAgICAgICAgZ2V0dGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgc291cmNlLl9fb2JfXy5kZXAuZGVwZW5kKCk7XG4gICAgICAgICAgICByZXR1cm4gc291cmNlO1xuICAgICAgICB9O1xuICAgICAgICBkZWVwID0gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNBcnJheShzb3VyY2UpKSB7XG4gICAgICAgIGlzTXVsdGlTb3VyY2UgPSB0cnVlO1xuICAgICAgICBmb3JjZVRyaWdnZXIgPSBzb3VyY2Uuc29tZShmdW5jdGlvbiAocykgeyByZXR1cm4gaXNSZWFjdGl2ZShzKSB8fCBpc1NoYWxsb3cocyk7IH0pO1xuICAgICAgICBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gc291cmNlLm1hcChmdW5jdGlvbiAocykge1xuICAgICAgICAgICAgICAgIGlmIChpc1JlZihzKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcy52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNSZWFjdGl2ZShzKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhdmVyc2Uocyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzRnVuY3Rpb24ocykpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGwocywgV0FUQ0hFUl9HRVRURVIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuSW52YWxpZFNvdXJjZShzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNGdW5jdGlvbihzb3VyY2UpKSB7XG4gICAgICAgIGlmIChjYikge1xuICAgICAgICAgICAgLy8gZ2V0dGVyIHdpdGggY2JcbiAgICAgICAgICAgIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNhbGwoc291cmNlLCBXQVRDSEVSX0dFVFRFUik7IH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBubyBjYiAtPiBzaW1wbGUgZWZmZWN0XG4gICAgICAgICAgICBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlICYmIGluc3RhbmNlLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjbGVhbnVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFudXAoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhbGwoc291cmNlLCBXQVRDSEVSLCBbb25DbGVhbnVwXSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBnZXR0ZXIgPSBub29wO1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm5JbnZhbGlkU291cmNlKHNvdXJjZSk7XG4gICAgfVxuICAgIGlmIChjYiAmJiBkZWVwKSB7XG4gICAgICAgIHZhciBiYXNlR2V0dGVyXzEgPSBnZXR0ZXI7XG4gICAgICAgIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRyYXZlcnNlKGJhc2VHZXR0ZXJfMSgpKTsgfTtcbiAgICB9XG4gICAgdmFyIGNsZWFudXA7XG4gICAgdmFyIG9uQ2xlYW51cCA9IGZ1bmN0aW9uIChmbikge1xuICAgICAgICBjbGVhbnVwID0gd2F0Y2hlci5vblN0b3AgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjYWxsKGZuLCBXQVRDSEVSX0NMRUFOVVApO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgLy8gaW4gU1NSIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0dXAgYW4gYWN0dWFsIGVmZmVjdCwgYW5kIGl0IHNob3VsZCBiZSBub29wXG4gICAgLy8gdW5sZXNzIGl0J3MgZWFnZXJcbiAgICBpZiAoaXNTZXJ2ZXJSZW5kZXJpbmcoKSkge1xuICAgICAgICAvLyB3ZSB3aWxsIGFsc28gbm90IGNhbGwgdGhlIGludmFsaWRhdGUgY2FsbGJhY2sgKCsgcnVubmVyIGlzIG5vdCBzZXQgdXApXG4gICAgICAgIG9uQ2xlYW51cCA9IG5vb3A7XG4gICAgICAgIGlmICghY2IpIHtcbiAgICAgICAgICAgIGdldHRlcigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGltbWVkaWF0ZSkge1xuICAgICAgICAgICAgY2FsbChjYiwgV0FUQ0hFUl9DQiwgW1xuICAgICAgICAgICAgICAgIGdldHRlcigpLFxuICAgICAgICAgICAgICAgIGlzTXVsdGlTb3VyY2UgPyBbXSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBvbkNsZWFudXBcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub29wO1xuICAgIH1cbiAgICB2YXIgd2F0Y2hlciA9IG5ldyBXYXRjaGVyKGN1cnJlbnRJbnN0YW5jZSwgZ2V0dGVyLCBub29wLCB7XG4gICAgICAgIGxhenk6IHRydWVcbiAgICB9KTtcbiAgICB3YXRjaGVyLm5vUmVjdXJzZSA9ICFjYjtcbiAgICB2YXIgb2xkVmFsdWUgPSBpc011bHRpU291cmNlID8gW10gOiBJTklUSUFMX1dBVENIRVJfVkFMVUU7XG4gICAgLy8gb3ZlcndyaXRlIGRlZmF1bHQgcnVuXG4gICAgd2F0Y2hlci5ydW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghd2F0Y2hlci5hY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2IpIHtcbiAgICAgICAgICAgIC8vIHdhdGNoKHNvdXJjZSwgY2IpXG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSB3YXRjaGVyLmdldCgpO1xuICAgICAgICAgICAgaWYgKGRlZXAgfHxcbiAgICAgICAgICAgICAgICBmb3JjZVRyaWdnZXIgfHxcbiAgICAgICAgICAgICAgICAoaXNNdWx0aVNvdXJjZVxuICAgICAgICAgICAgICAgICAgICA/IG5ld1ZhbHVlLnNvbWUoZnVuY3Rpb24gKHYsIGkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBoYXNDaGFuZ2VkKHYsIG9sZFZhbHVlW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgOiBoYXNDaGFuZ2VkKG5ld1ZhbHVlLCBvbGRWYWx1ZSkpKSB7XG4gICAgICAgICAgICAgICAgLy8gY2xlYW51cCBiZWZvcmUgcnVubmluZyBjYiBhZ2FpblxuICAgICAgICAgICAgICAgIGlmIChjbGVhbnVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFudXAoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FsbChjYiwgV0FUQ0hFUl9DQiwgW1xuICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzcyB1bmRlZmluZWQgYXMgdGhlIG9sZCB2YWx1ZSB3aGVuIGl0J3MgY2hhbmdlZCBmb3IgdGhlIGZpcnN0IHRpbWVcbiAgICAgICAgICAgICAgICAgICAgb2xkVmFsdWUgPT09IElOSVRJQUxfV0FUQ0hFUl9WQUxVRSA/IHVuZGVmaW5lZCA6IG9sZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBvbkNsZWFudXBcbiAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICBvbGRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gd2F0Y2hFZmZlY3RcbiAgICAgICAgICAgIHdhdGNoZXIuZ2V0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGlmIChmbHVzaCA9PT0gJ3N5bmMnKSB7XG4gICAgICAgIHdhdGNoZXIudXBkYXRlID0gd2F0Y2hlci5ydW47XG4gICAgfVxuICAgIGVsc2UgaWYgKGZsdXNoID09PSAncG9zdCcpIHtcbiAgICAgICAgd2F0Y2hlci5wb3N0ID0gdHJ1ZTtcbiAgICAgICAgd2F0Y2hlci51cGRhdGUgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBxdWV1ZVdhdGNoZXIod2F0Y2hlcik7IH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyBwcmVcbiAgICAgICAgd2F0Y2hlci51cGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoaW5zdGFuY2UgJiYgaW5zdGFuY2UgPT09IGN1cnJlbnRJbnN0YW5jZSAmJiAhaW5zdGFuY2UuX2lzTW91bnRlZCkge1xuICAgICAgICAgICAgICAgIC8vIHByZS13YXRjaGVyIHRyaWdnZXJlZCBiZWZvcmVcbiAgICAgICAgICAgICAgICB2YXIgYnVmZmVyID0gaW5zdGFuY2UuX3ByZVdhdGNoZXJzIHx8IChpbnN0YW5jZS5fcHJlV2F0Y2hlcnMgPSBbXSk7XG4gICAgICAgICAgICAgICAgaWYgKGJ1ZmZlci5pbmRleE9mKHdhdGNoZXIpIDwgMClcbiAgICAgICAgICAgICAgICAgICAgYnVmZmVyLnB1c2god2F0Y2hlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBxdWV1ZVdhdGNoZXIod2F0Y2hlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhdGNoZXIub25UcmFjayA9IG9uVHJhY2s7XG4gICAgICAgIHdhdGNoZXIub25UcmlnZ2VyID0gb25UcmlnZ2VyO1xuICAgIH1cbiAgICAvLyBpbml0aWFsIHJ1blxuICAgIGlmIChjYikge1xuICAgICAgICBpZiAoaW1tZWRpYXRlKSB7XG4gICAgICAgICAgICB3YXRjaGVyLnJ1bigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgb2xkVmFsdWUgPSB3YXRjaGVyLmdldCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGZsdXNoID09PSAncG9zdCcgJiYgaW5zdGFuY2UpIHtcbiAgICAgICAgaW5zdGFuY2UuJG9uY2UoJ2hvb2s6bW91bnRlZCcsIGZ1bmN0aW9uICgpIHsgcmV0dXJuIHdhdGNoZXIuZ2V0KCk7IH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgd2F0Y2hlci5nZXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgd2F0Y2hlci50ZWFyZG93bigpO1xuICAgIH07XG59XG5cbnZhciBhY3RpdmVFZmZlY3RTY29wZTtcbnZhciBFZmZlY3RTY29wZSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBFZmZlY3RTY29wZShkZXRhY2hlZCkge1xuICAgICAgICBpZiAoZGV0YWNoZWQgPT09IHZvaWQgMCkgeyBkZXRhY2hlZCA9IGZhbHNlOyB9XG4gICAgICAgIHRoaXMuZGV0YWNoZWQgPSBkZXRhY2hlZDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBpbnRlcm5hbFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAvKipcbiAgICAgICAgICogQGludGVybmFsXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmVmZmVjdHMgPSBbXTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBpbnRlcm5hbFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5jbGVhbnVwcyA9IFtdO1xuICAgICAgICB0aGlzLnBhcmVudCA9IGFjdGl2ZUVmZmVjdFNjb3BlO1xuICAgICAgICBpZiAoIWRldGFjaGVkICYmIGFjdGl2ZUVmZmVjdFNjb3BlKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4ID1cbiAgICAgICAgICAgICAgICAoYWN0aXZlRWZmZWN0U2NvcGUuc2NvcGVzIHx8IChhY3RpdmVFZmZlY3RTY29wZS5zY29wZXMgPSBbXSkpLnB1c2godGhpcykgLSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIEVmZmVjdFNjb3BlLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoZm4pIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudEVmZmVjdFNjb3BlID0gYWN0aXZlRWZmZWN0U2NvcGU7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVmZmVjdFNjb3BlID0gdGhpcztcbiAgICAgICAgICAgICAgICByZXR1cm4gZm4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVmZmVjdFNjb3BlID0gY3VycmVudEVmZmVjdFNjb3BlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHdhcm4kMihcImNhbm5vdCBydW4gYW4gaW5hY3RpdmUgZWZmZWN0IHNjb3BlLlwiKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLyoqXG4gICAgICogVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWQgb24gbm9uLWRldGFjaGVkIHNjb3Blc1xuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEVmZmVjdFNjb3BlLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYWN0aXZlRWZmZWN0U2NvcGUgPSB0aGlzO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWQgb24gbm9uLWRldGFjaGVkIHNjb3Blc1xuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEVmZmVjdFNjb3BlLnByb3RvdHlwZS5vZmYgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFjdGl2ZUVmZmVjdFNjb3BlID0gdGhpcy5wYXJlbnQ7XG4gICAgfTtcbiAgICBFZmZlY3RTY29wZS5wcm90b3R5cGUuc3RvcCA9IGZ1bmN0aW9uIChmcm9tUGFyZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICAgICAgdmFyIGkgPSB2b2lkIDAsIGwgPSB2b2lkIDA7XG4gICAgICAgICAgICBmb3IgKGkgPSAwLCBsID0gdGhpcy5lZmZlY3RzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuZWZmZWN0c1tpXS50ZWFyZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChpID0gMCwgbCA9IHRoaXMuY2xlYW51cHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhbnVwc1tpXSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuc2NvcGVzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChpID0gMCwgbCA9IHRoaXMuc2NvcGVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjb3Blc1tpXS5zdG9wKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIG5lc3RlZCBzY29wZSwgZGVyZWZlcmVuY2UgZnJvbSBwYXJlbnQgdG8gYXZvaWQgbWVtb3J5IGxlYWtzXG4gICAgICAgICAgICBpZiAoIXRoaXMuZGV0YWNoZWQgJiYgdGhpcy5wYXJlbnQgJiYgIWZyb21QYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAvLyBvcHRpbWl6ZWQgTygxKSByZW1vdmFsXG4gICAgICAgICAgICAgICAgdmFyIGxhc3QgPSB0aGlzLnBhcmVudC5zY29wZXMucG9wKCk7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3QgJiYgbGFzdCAhPT0gdGhpcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudC5zY29wZXNbdGhpcy5pbmRleF0gPSBsYXN0O1xuICAgICAgICAgICAgICAgICAgICBsYXN0LmluZGV4ID0gdGhpcy5pbmRleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhcmVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBFZmZlY3RTY29wZTtcbn0oKSk7XG5mdW5jdGlvbiBlZmZlY3RTY29wZShkZXRhY2hlZCkge1xuICAgIHJldHVybiBuZXcgRWZmZWN0U2NvcGUoZGV0YWNoZWQpO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gcmVjb3JkRWZmZWN0U2NvcGUoZWZmZWN0LCBzY29wZSkge1xuICAgIGlmIChzY29wZSA9PT0gdm9pZCAwKSB7IHNjb3BlID0gYWN0aXZlRWZmZWN0U2NvcGU7IH1cbiAgICBpZiAoc2NvcGUgJiYgc2NvcGUuYWN0aXZlKSB7XG4gICAgICAgIHNjb3BlLmVmZmVjdHMucHVzaChlZmZlY3QpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldEN1cnJlbnRTY29wZSgpIHtcbiAgICByZXR1cm4gYWN0aXZlRWZmZWN0U2NvcGU7XG59XG5mdW5jdGlvbiBvblNjb3BlRGlzcG9zZShmbikge1xuICAgIGlmIChhY3RpdmVFZmZlY3RTY29wZSkge1xuICAgICAgICBhY3RpdmVFZmZlY3RTY29wZS5jbGVhbnVwcy5wdXNoKGZuKTtcbiAgICB9XG4gICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB3YXJuJDIoXCJvblNjb3BlRGlzcG9zZSgpIGlzIGNhbGxlZCB3aGVuIHRoZXJlIGlzIG5vIGFjdGl2ZSBlZmZlY3Qgc2NvcGVcIiArXG4gICAgICAgICAgICBcIiB0byBiZSBhc3NvY2lhdGVkIHdpdGguXCIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gcHJvdmlkZShrZXksIHZhbHVlKSB7XG4gICAgaWYgKCFjdXJyZW50SW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHdhcm4kMihcInByb3ZpZGUoKSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBzZXR1cCgpLlwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gVFMgZG9lc24ndCBhbGxvdyBzeW1ib2wgYXMgaW5kZXggdHlwZVxuICAgICAgICByZXNvbHZlUHJvdmlkZWQoY3VycmVudEluc3RhbmNlKVtrZXldID0gdmFsdWU7XG4gICAgfVxufVxuZnVuY3Rpb24gcmVzb2x2ZVByb3ZpZGVkKHZtKSB7XG4gICAgLy8gYnkgZGVmYXVsdCBhbiBpbnN0YW5jZSBpbmhlcml0cyBpdHMgcGFyZW50J3MgcHJvdmlkZXMgb2JqZWN0XG4gICAgLy8gYnV0IHdoZW4gaXQgbmVlZHMgdG8gcHJvdmlkZSB2YWx1ZXMgb2YgaXRzIG93biwgaXQgY3JlYXRlcyBpdHNcbiAgICAvLyBvd24gcHJvdmlkZXMgb2JqZWN0IHVzaW5nIHBhcmVudCBwcm92aWRlcyBvYmplY3QgYXMgcHJvdG90eXBlLlxuICAgIC8vIHRoaXMgd2F5IGluIGBpbmplY3RgIHdlIGNhbiBzaW1wbHkgbG9vayB1cCBpbmplY3Rpb25zIGZyb20gZGlyZWN0XG4gICAgLy8gcGFyZW50IGFuZCBsZXQgdGhlIHByb3RvdHlwZSBjaGFpbiBkbyB0aGUgd29yay5cbiAgICB2YXIgZXhpc3RpbmcgPSB2bS5fcHJvdmlkZWQ7XG4gICAgdmFyIHBhcmVudFByb3ZpZGVzID0gdm0uJHBhcmVudCAmJiB2bS4kcGFyZW50Ll9wcm92aWRlZDtcbiAgICBpZiAocGFyZW50UHJvdmlkZXMgPT09IGV4aXN0aW5nKSB7XG4gICAgICAgIHJldHVybiAodm0uX3Byb3ZpZGVkID0gT2JqZWN0LmNyZWF0ZShwYXJlbnRQcm92aWRlcykpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGluamVjdChrZXksIGRlZmF1bHRWYWx1ZSwgdHJlYXREZWZhdWx0QXNGYWN0b3J5KSB7XG4gICAgaWYgKHRyZWF0RGVmYXVsdEFzRmFjdG9yeSA9PT0gdm9pZCAwKSB7IHRyZWF0RGVmYXVsdEFzRmFjdG9yeSA9IGZhbHNlOyB9XG4gICAgLy8gZmFsbGJhY2sgdG8gYGN1cnJlbnRSZW5kZXJpbmdJbnN0YW5jZWAgc28gdGhhdCB0aGlzIGNhbiBiZSBjYWxsZWQgaW5cbiAgICAvLyBhIGZ1bmN0aW9uYWwgY29tcG9uZW50XG4gICAgdmFyIGluc3RhbmNlID0gY3VycmVudEluc3RhbmNlO1xuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgICAvLyAjMjQwMFxuICAgICAgICAvLyB0byBzdXBwb3J0IGBhcHAudXNlYCBwbHVnaW5zLFxuICAgICAgICAvLyBmYWxsYmFjayB0byBhcHBDb250ZXh0J3MgYHByb3ZpZGVzYCBpZiB0aGUgaW5zdGFuY2UgaXMgYXQgcm9vdFxuICAgICAgICB2YXIgcHJvdmlkZXMgPSBpbnN0YW5jZS4kcGFyZW50ICYmIGluc3RhbmNlLiRwYXJlbnQuX3Byb3ZpZGVkO1xuICAgICAgICBpZiAocHJvdmlkZXMgJiYga2V5IGluIHByb3ZpZGVzKSB7XG4gICAgICAgICAgICAvLyBUUyBkb2Vzbid0IGFsbG93IHN5bWJvbCBhcyBpbmRleCB0eXBlXG4gICAgICAgICAgICByZXR1cm4gcHJvdmlkZXNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRyZWF0RGVmYXVsdEFzRmFjdG9yeSAmJiBpc0Z1bmN0aW9uKGRlZmF1bHRWYWx1ZSlcbiAgICAgICAgICAgICAgICA/IGRlZmF1bHRWYWx1ZS5jYWxsKGluc3RhbmNlKVxuICAgICAgICAgICAgICAgIDogZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHdhcm4kMihcImluamVjdGlvbiBcXFwiXCIuY29uY2F0KFN0cmluZyhrZXkpLCBcIlxcXCIgbm90IGZvdW5kLlwiKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB3YXJuJDIoXCJpbmplY3QoKSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBzZXR1cCgpIG9yIGZ1bmN0aW9uYWwgY29tcG9uZW50cy5cIik7XG4gICAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCB0aGlzIGZ1bmN0aW9uIG5lZWRzIG1hbnVhbCBwdWJsaWMgdHlwZSBkZWNsYXJhdGlvbiBiZWNhdXNlIGl0IHJlbGllc1xuICogb24gcHJldmlvdXNseSBtYW51YWxseSBhdXRob3JlZCB0eXBlcyBmcm9tIFZ1ZSAyXG4gKi9cbmZ1bmN0aW9uIGgodHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gICAgaWYgKCFjdXJyZW50SW5zdGFuY2UpIHtcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgd2FybiQyKFwiZ2xvYmFsbHkgaW1wb3J0ZWQgaCgpIGNhbiBvbmx5IGJlIGludm9rZWQgd2hlbiB0aGVyZSBpcyBhbiBhY3RpdmUgXCIgK1xuICAgICAgICAgICAgICAgIFwiY29tcG9uZW50IGluc3RhbmNlLCBlLmcuIHN5bmNocm9ub3VzbHkgaW4gYSBjb21wb25lbnQncyByZW5kZXIgb3Igc2V0dXAgZnVuY3Rpb24uXCIpO1xuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlRWxlbWVudCQxKGN1cnJlbnRJbnN0YW5jZSwgdHlwZSwgcHJvcHMsIGNoaWxkcmVuLCAyLCB0cnVlKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3IoZXJyLCB2bSwgaW5mbykge1xuICAgIC8vIERlYWN0aXZhdGUgZGVwcyB0cmFja2luZyB3aGlsZSBwcm9jZXNzaW5nIGVycm9yIGhhbmRsZXIgdG8gYXZvaWQgcG9zc2libGUgaW5maW5pdGUgcmVuZGVyaW5nLlxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL3Z1ZXgvaXNzdWVzLzE1MDVcbiAgICBwdXNoVGFyZ2V0KCk7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHZtKSB7XG4gICAgICAgICAgICB2YXIgY3VyID0gdm07XG4gICAgICAgICAgICB3aGlsZSAoKGN1ciA9IGN1ci4kcGFyZW50KSkge1xuICAgICAgICAgICAgICAgIHZhciBob29rcyA9IGN1ci4kb3B0aW9ucy5lcnJvckNhcHR1cmVkO1xuICAgICAgICAgICAgICAgIGlmIChob29rcykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjYXB0dXJlID0gaG9va3NbaV0uY2FsbChjdXIsIGVyciwgdm0sIGluZm8pID09PSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FwdHVyZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxIYW5kbGVFcnJvcihlLCBjdXIsICdlcnJvckNhcHR1cmVkIGhvb2snKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBnbG9iYWxIYW5kbGVFcnJvcihlcnIsIHZtLCBpbmZvKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIHBvcFRhcmdldCgpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGludm9rZVdpdGhFcnJvckhhbmRsaW5nKGhhbmRsZXIsIGNvbnRleHQsIGFyZ3MsIHZtLCBpbmZvKSB7XG4gICAgdmFyIHJlcztcbiAgICB0cnkge1xuICAgICAgICByZXMgPSBhcmdzID8gaGFuZGxlci5hcHBseShjb250ZXh0LCBhcmdzKSA6IGhhbmRsZXIuY2FsbChjb250ZXh0KTtcbiAgICAgICAgaWYgKHJlcyAmJiAhcmVzLl9pc1Z1ZSAmJiBpc1Byb21pc2UocmVzKSAmJiAhcmVzLl9oYW5kbGVkKSB7XG4gICAgICAgICAgICByZXMuY2F0Y2goZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGhhbmRsZUVycm9yKGUsIHZtLCBpbmZvICsgXCIgKFByb21pc2UvYXN5bmMpXCIpOyB9KTtcbiAgICAgICAgICAgIHJlcy5faGFuZGxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIGluZm8pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuZnVuY3Rpb24gZ2xvYmFsSGFuZGxlRXJyb3IoZXJyLCB2bSwgaW5mbykge1xuICAgIGlmIChjb25maWcuZXJyb3JIYW5kbGVyKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLmVycm9ySGFuZGxlci5jYWxsKG51bGwsIGVyciwgdm0sIGluZm8pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAvLyBpZiB0aGUgdXNlciBpbnRlbnRpb25hbGx5IHRocm93cyB0aGUgb3JpZ2luYWwgZXJyb3IgaW4gdGhlIGhhbmRsZXIsXG4gICAgICAgICAgICAvLyBkbyBub3QgbG9nIGl0IHR3aWNlXG4gICAgICAgICAgICBpZiAoZSAhPT0gZXJyKSB7XG4gICAgICAgICAgICAgICAgbG9nRXJyb3IoZSwgbnVsbCwgJ2NvbmZpZy5lcnJvckhhbmRsZXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBsb2dFcnJvcihlcnIsIHZtLCBpbmZvKTtcbn1cbmZ1bmN0aW9uIGxvZ0Vycm9yKGVyciwgdm0sIGluZm8pIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB3YXJuJDIoXCJFcnJvciBpbiBcIi5jb25jYXQoaW5mbywgXCI6IFxcXCJcIikuY29uY2F0KGVyci50b1N0cmluZygpLCBcIlxcXCJcIiksIHZtKTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaW5Ccm93c2VyICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgfVxufVxuXG4vKiBnbG9iYWxzIE11dGF0aW9uT2JzZXJ2ZXIgKi9cbnZhciBpc1VzaW5nTWljcm9UYXNrID0gZmFsc2U7XG52YXIgY2FsbGJhY2tzID0gW107XG52YXIgcGVuZGluZyA9IGZhbHNlO1xuZnVuY3Rpb24gZmx1c2hDYWxsYmFja3MoKSB7XG4gICAgcGVuZGluZyA9IGZhbHNlO1xuICAgIHZhciBjb3BpZXMgPSBjYWxsYmFja3Muc2xpY2UoMCk7XG4gICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3BpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29waWVzW2ldKCk7XG4gICAgfVxufVxuLy8gSGVyZSB3ZSBoYXZlIGFzeW5jIGRlZmVycmluZyB3cmFwcGVycyB1c2luZyBtaWNyb3Rhc2tzLlxuLy8gSW4gMi41IHdlIHVzZWQgKG1hY3JvKSB0YXNrcyAoaW4gY29tYmluYXRpb24gd2l0aCBtaWNyb3Rhc2tzKS5cbi8vIEhvd2V2ZXIsIGl0IGhhcyBzdWJ0bGUgcHJvYmxlbXMgd2hlbiBzdGF0ZSBpcyBjaGFuZ2VkIHJpZ2h0IGJlZm9yZSByZXBhaW50XG4vLyAoZS5nLiAjNjgxMywgb3V0LWluIHRyYW5zaXRpb25zKS5cbi8vIEFsc28sIHVzaW5nIChtYWNybykgdGFza3MgaW4gZXZlbnQgaGFuZGxlciB3b3VsZCBjYXVzZSBzb21lIHdlaXJkIGJlaGF2aW9yc1xuLy8gdGhhdCBjYW5ub3QgYmUgY2lyY3VtdmVudGVkIChlLmcuICM3MTA5LCAjNzE1MywgIzc1NDYsICM3ODM0LCAjODEwOSkuXG4vLyBTbyB3ZSBub3cgdXNlIG1pY3JvdGFza3MgZXZlcnl3aGVyZSwgYWdhaW4uXG4vLyBBIG1ham9yIGRyYXdiYWNrIG9mIHRoaXMgdHJhZGVvZmYgaXMgdGhhdCB0aGVyZSBhcmUgc29tZSBzY2VuYXJpb3Ncbi8vIHdoZXJlIG1pY3JvdGFza3MgaGF2ZSB0b28gaGlnaCBhIHByaW9yaXR5IGFuZCBmaXJlIGluIGJldHdlZW4gc3VwcG9zZWRseVxuLy8gc2VxdWVudGlhbCBldmVudHMgKGUuZy4gIzQ1MjEsICM2NjkwLCB3aGljaCBoYXZlIHdvcmthcm91bmRzKVxuLy8gb3IgZXZlbiBiZXR3ZWVuIGJ1YmJsaW5nIG9mIHRoZSBzYW1lIGV2ZW50ICgjNjU2NikuXG52YXIgdGltZXJGdW5jO1xuLy8gVGhlIG5leHRUaWNrIGJlaGF2aW9yIGxldmVyYWdlcyB0aGUgbWljcm90YXNrIHF1ZXVlLCB3aGljaCBjYW4gYmUgYWNjZXNzZWRcbi8vIHZpYSBlaXRoZXIgbmF0aXZlIFByb21pc2UudGhlbiBvciBNdXRhdGlvbk9ic2VydmVyLlxuLy8gTXV0YXRpb25PYnNlcnZlciBoYXMgd2lkZXIgc3VwcG9ydCwgaG93ZXZlciBpdCBpcyBzZXJpb3VzbHkgYnVnZ2VkIGluXG4vLyBVSVdlYlZpZXcgaW4gaU9TID49IDkuMy4zIHdoZW4gdHJpZ2dlcmVkIGluIHRvdWNoIGV2ZW50IGhhbmRsZXJzLiBJdFxuLy8gY29tcGxldGVseSBzdG9wcyB3b3JraW5nIGFmdGVyIHRyaWdnZXJpbmcgYSBmZXcgdGltZXMuLi4gc28sIGlmIG5hdGl2ZVxuLy8gUHJvbWlzZSBpcyBhdmFpbGFibGUsIHdlIHdpbGwgdXNlIGl0OlxuLyogaXN0YW5idWwgaWdub3JlIG5leHQsICRmbG93LWRpc2FibGUtbGluZSAqL1xuaWYgKHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShQcm9taXNlKSkge1xuICAgIHZhciBwXzEgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB0aW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHBfMS50aGVuKGZsdXNoQ2FsbGJhY2tzKTtcbiAgICAgICAgLy8gSW4gcHJvYmxlbWF0aWMgVUlXZWJWaWV3cywgUHJvbWlzZS50aGVuIGRvZXNuJ3QgY29tcGxldGVseSBicmVhaywgYnV0XG4gICAgICAgIC8vIGl0IGNhbiBnZXQgc3R1Y2sgaW4gYSB3ZWlyZCBzdGF0ZSB3aGVyZSBjYWxsYmFja3MgYXJlIHB1c2hlZCBpbnRvIHRoZVxuICAgICAgICAvLyBtaWNyb3Rhc2sgcXVldWUgYnV0IHRoZSBxdWV1ZSBpc24ndCBiZWluZyBmbHVzaGVkLCB1bnRpbCB0aGUgYnJvd3NlclxuICAgICAgICAvLyBuZWVkcyB0byBkbyBzb21lIG90aGVyIHdvcmssIGUuZy4gaGFuZGxlIGEgdGltZXIuIFRoZXJlZm9yZSB3ZSBjYW5cbiAgICAgICAgLy8gXCJmb3JjZVwiIHRoZSBtaWNyb3Rhc2sgcXVldWUgdG8gYmUgZmx1c2hlZCBieSBhZGRpbmcgYW4gZW1wdHkgdGltZXIuXG4gICAgICAgIGlmIChpc0lPUylcbiAgICAgICAgICAgIHNldFRpbWVvdXQobm9vcCk7XG4gICAgfTtcbiAgICBpc1VzaW5nTWljcm9UYXNrID0gdHJ1ZTtcbn1cbmVsc2UgaWYgKCFpc0lFICYmXG4gICAgdHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnICYmXG4gICAgKGlzTmF0aXZlKE11dGF0aW9uT2JzZXJ2ZXIpIHx8XG4gICAgICAgIC8vIFBoYW50b21KUyBhbmQgaU9TIDcueFxuICAgICAgICBNdXRhdGlvbk9ic2VydmVyLnRvU3RyaW5nKCkgPT09ICdbb2JqZWN0IE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcl0nKSkge1xuICAgIC8vIFVzZSBNdXRhdGlvbk9ic2VydmVyIHdoZXJlIG5hdGl2ZSBQcm9taXNlIGlzIG5vdCBhdmFpbGFibGUsXG4gICAgLy8gZS5nLiBQaGFudG9tSlMsIGlPUzcsIEFuZHJvaWQgNC40XG4gICAgLy8gKCM2NDY2IE11dGF0aW9uT2JzZXJ2ZXIgaXMgdW5yZWxpYWJsZSBpbiBJRTExKVxuICAgIHZhciBjb3VudGVyXzEgPSAxO1xuICAgIHZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGZsdXNoQ2FsbGJhY2tzKTtcbiAgICB2YXIgdGV4dE5vZGVfMSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFN0cmluZyhjb3VudGVyXzEpKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKHRleHROb2RlXzEsIHtcbiAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZVxuICAgIH0pO1xuICAgIHRpbWVyRnVuYyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY291bnRlcl8xID0gKGNvdW50ZXJfMSArIDEpICUgMjtcbiAgICAgICAgdGV4dE5vZGVfMS5kYXRhID0gU3RyaW5nKGNvdW50ZXJfMSk7XG4gICAgfTtcbiAgICBpc1VzaW5nTWljcm9UYXNrID0gdHJ1ZTtcbn1cbmVsc2UgaWYgKHR5cGVvZiBzZXRJbW1lZGlhdGUgIT09ICd1bmRlZmluZWQnICYmIGlzTmF0aXZlKHNldEltbWVkaWF0ZSkpIHtcbiAgICAvLyBGYWxsYmFjayB0byBzZXRJbW1lZGlhdGUuXG4gICAgLy8gVGVjaG5pY2FsbHkgaXQgbGV2ZXJhZ2VzIHRoZSAobWFjcm8pIHRhc2sgcXVldWUsXG4gICAgLy8gYnV0IGl0IGlzIHN0aWxsIGEgYmV0dGVyIGNob2ljZSB0aGFuIHNldFRpbWVvdXQuXG4gICAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBzZXRJbW1lZGlhdGUoZmx1c2hDYWxsYmFja3MpO1xuICAgIH07XG59XG5lbHNlIHtcbiAgICAvLyBGYWxsYmFjayB0byBzZXRUaW1lb3V0LlxuICAgIHRpbWVyRnVuYyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc2V0VGltZW91dChmbHVzaENhbGxiYWNrcywgMCk7XG4gICAgfTtcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIG5leHRUaWNrKGNiLCBjdHgpIHtcbiAgICB2YXIgX3Jlc29sdmU7XG4gICAgY2FsbGJhY2tzLnB1c2goZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoY2IpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY2IuY2FsbChjdHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVFcnJvcihlLCBjdHgsICduZXh0VGljaycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKF9yZXNvbHZlKSB7XG4gICAgICAgICAgICBfcmVzb2x2ZShjdHgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICAgIHBlbmRpbmcgPSB0cnVlO1xuICAgICAgICB0aW1lckZ1bmMoKTtcbiAgICB9XG4gICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgaWYgKCFjYiAmJiB0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XG4gICAgICAgICAgICBfcmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdXNlQ3NzTW9kdWxlKG5hbWUpIHtcbiAgICBpZiAobmFtZSA9PT0gdm9pZCAwKSB7IG5hbWUgPSAnJHN0eWxlJzsgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAge1xuICAgICAgICBpZiAoIWN1cnJlbnRJbnN0YW5jZSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuJDIoXCJ1c2VDc3NNb2R1bGUgbXVzdCBiZSBjYWxsZWQgaW5zaWRlIHNldHVwKClcIik7XG4gICAgICAgICAgICByZXR1cm4gZW1wdHlPYmplY3Q7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG1vZCA9IGN1cnJlbnRJbnN0YW5jZVtuYW1lXTtcbiAgICAgICAgaWYgKCFtb2QpIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJDdXJyZW50IGluc3RhbmNlIGRvZXMgbm90IGhhdmUgQ1NTIG1vZHVsZSBuYW1lZCBcXFwiXCIuY29uY2F0KG5hbWUsIFwiXFxcIi5cIikpO1xuICAgICAgICAgICAgcmV0dXJuIGVtcHR5T2JqZWN0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2Q7XG4gICAgfVxufVxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciBTRkMncyBDU1MgdmFyaWFibGUgaW5qZWN0aW9uIGZlYXR1cmUuXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiB1c2VDc3NWYXJzKGdldHRlcikge1xuICAgIGlmICghaW5Ccm93c2VyICYmICFmYWxzZSlcbiAgICAgICAgcmV0dXJuO1xuICAgIHZhciBpbnN0YW5jZSA9IGN1cnJlbnRJbnN0YW5jZTtcbiAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgIHdhcm4kMihcInVzZUNzc1ZhcnMgaXMgY2FsbGVkIHdpdGhvdXQgY3VycmVudCBhY3RpdmUgY29tcG9uZW50IGluc3RhbmNlLlwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB3YXRjaFBvc3RFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZWwgPSBpbnN0YW5jZS4kZWw7XG4gICAgICAgIHZhciB2YXJzID0gZ2V0dGVyKGluc3RhbmNlLCBpbnN0YW5jZS5fc2V0dXBQcm94eSk7XG4gICAgICAgIGlmIChlbCAmJiBlbC5ub2RlVHlwZSA9PT0gMSkge1xuICAgICAgICAgICAgdmFyIHN0eWxlID0gZWwuc3R5bGU7XG4gICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gdmFycykge1xuICAgICAgICAgICAgICAgIHN0eWxlLnNldFByb3BlcnR5KFwiLS1cIi5jb25jYXQoa2V5KSwgdmFyc1trZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIHYzLWNvbXBhdGlibGUgYXN5bmMgY29tcG9uZW50IEFQSS5cbiAqIEBpbnRlcm5hbCB0aGUgdHlwZSBpcyBtYW51YWxseSBkZWNsYXJlZCBpbiA8cm9vdD4vdHlwZXMvdjMtZGVmaW5lLWFzeW5jLWNvbXBvbmVudC5kLnRzXG4gKiBiZWNhdXNlIGl0IHJlbGllcyBvbiBleGlzdGluZyBtYW51YWwgdHlwZXNcbiAqL1xuZnVuY3Rpb24gZGVmaW5lQXN5bmNDb21wb25lbnQoc291cmNlKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24oc291cmNlKSkge1xuICAgICAgICBzb3VyY2UgPSB7IGxvYWRlcjogc291cmNlIH07XG4gICAgfVxuICAgIHZhciBsb2FkZXIgPSBzb3VyY2UubG9hZGVyLCBsb2FkaW5nQ29tcG9uZW50ID0gc291cmNlLmxvYWRpbmdDb21wb25lbnQsIGVycm9yQ29tcG9uZW50ID0gc291cmNlLmVycm9yQ29tcG9uZW50LCBfYSA9IHNvdXJjZS5kZWxheSwgZGVsYXkgPSBfYSA9PT0gdm9pZCAwID8gMjAwIDogX2EsIHRpbWVvdXQgPSBzb3VyY2UudGltZW91dCwgLy8gdW5kZWZpbmVkID0gbmV2ZXIgdGltZXMgb3V0XG4gICAgX2IgPSBzb3VyY2Uuc3VzcGVuc2libGUsIC8vIHVuZGVmaW5lZCA9IG5ldmVyIHRpbWVzIG91dFxuICAgIHN1c3BlbnNpYmxlID0gX2IgPT09IHZvaWQgMCA/IGZhbHNlIDogX2IsIC8vIGluIFZ1ZSAzIGRlZmF1bHQgaXMgdHJ1ZVxuICAgIHVzZXJPbkVycm9yID0gc291cmNlLm9uRXJyb3I7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgc3VzcGVuc2libGUpIHtcbiAgICAgICAgd2FybiQyKFwiVGhlIHN1c3BlbnNpYmxiZSBvcHRpb24gZm9yIGFzeW5jIGNvbXBvbmVudHMgaXMgbm90IHN1cHBvcnRlZCBpbiBWdWUyLiBJdCBpcyBpZ25vcmVkLlwiKTtcbiAgICB9XG4gICAgdmFyIHBlbmRpbmdSZXF1ZXN0ID0gbnVsbDtcbiAgICB2YXIgcmV0cmllcyA9IDA7XG4gICAgdmFyIHJldHJ5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXRyaWVzKys7XG4gICAgICAgIHBlbmRpbmdSZXF1ZXN0ID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIGxvYWQoKTtcbiAgICB9O1xuICAgIHZhciBsb2FkID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdGhpc1JlcXVlc3Q7XG4gICAgICAgIHJldHVybiAocGVuZGluZ1JlcXVlc3QgfHxcbiAgICAgICAgICAgICh0aGlzUmVxdWVzdCA9IHBlbmRpbmdSZXF1ZXN0ID1cbiAgICAgICAgICAgICAgICBsb2FkZXIoKVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgICAgICAgICAgICBlcnIgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyciA6IG5ldyBFcnJvcihTdHJpbmcoZXJyKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1c2VyT25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXNlclJldHJ5ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVzb2x2ZShyZXRyeSgpKTsgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXNlckZhaWwgPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZWplY3QoZXJyKTsgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyT25FcnJvcihlcnIsIHVzZXJSZXRyeSwgdXNlckZhaWwsIHJldHJpZXMgKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKGNvbXApIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNSZXF1ZXN0ICE9PSBwZW5kaW5nUmVxdWVzdCAmJiBwZW5kaW5nUmVxdWVzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBlbmRpbmdSZXF1ZXN0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFjb21wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCJBc3luYyBjb21wb25lbnQgbG9hZGVyIHJlc29sdmVkIHRvIHVuZGVmaW5lZC4gXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiSWYgeW91IGFyZSB1c2luZyByZXRyeSgpLCBtYWtlIHN1cmUgdG8gcmV0dXJuIGl0cyByZXR1cm4gdmFsdWUuXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIGludGVyb3AgbW9kdWxlIGRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbXAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIChjb21wLl9fZXNNb2R1bGUgfHwgY29tcFtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTW9kdWxlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAgPSBjb21wLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29tcCAmJiAhaXNPYmplY3QoY29tcCkgJiYgIWlzRnVuY3Rpb24oY29tcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgYXN5bmMgY29tcG9uZW50IGxvYWQgcmVzdWx0OiBcIi5jb25jYXQoY29tcCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb21wO1xuICAgICAgICAgICAgICAgIH0pKSk7XG4gICAgfTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgY29tcG9uZW50ID0gbG9hZCgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29tcG9uZW50OiBjb21wb25lbnQsXG4gICAgICAgICAgICBkZWxheTogZGVsYXksXG4gICAgICAgICAgICB0aW1lb3V0OiB0aW1lb3V0LFxuICAgICAgICAgICAgZXJyb3I6IGVycm9yQ29tcG9uZW50LFxuICAgICAgICAgICAgbG9hZGluZzogbG9hZGluZ0NvbXBvbmVudFxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpZmVDeWNsZShob29rTmFtZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAoZm4sIHRhcmdldCkge1xuICAgICAgICBpZiAodGFyZ2V0ID09PSB2b2lkIDApIHsgdGFyZ2V0ID0gY3VycmVudEluc3RhbmNlOyB9XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgICAgd2FybiQyKFwiXCIuY29uY2F0KGZvcm1hdE5hbWUoaG9va05hbWUpLCBcIiBpcyBjYWxsZWQgd2hlbiB0aGVyZSBpcyBubyBhY3RpdmUgY29tcG9uZW50IGluc3RhbmNlIHRvIGJlIFwiKSArXG4gICAgICAgICAgICAgICAgICAgIFwiYXNzb2NpYXRlZCB3aXRoLiBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiTGlmZWN5Y2xlIGluamVjdGlvbiBBUElzIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGV4ZWN1dGlvbiBvZiBzZXR1cCgpLlwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5qZWN0SG9vayh0YXJnZXQsIGhvb2tOYW1lLCBmbik7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGZvcm1hdE5hbWUobmFtZSkge1xuICAgIGlmIChuYW1lID09PSAnYmVmb3JlRGVzdHJveScpIHtcbiAgICAgICAgbmFtZSA9ICdiZWZvcmVVbm1vdW50JztcbiAgICB9XG4gICAgZWxzZSBpZiAobmFtZSA9PT0gJ2Rlc3Ryb3llZCcpIHtcbiAgICAgICAgbmFtZSA9ICd1bm1vdW50ZWQnO1xuICAgIH1cbiAgICByZXR1cm4gXCJvblwiLmNvbmNhdChuYW1lWzBdLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKDEpKTtcbn1cbmZ1bmN0aW9uIGluamVjdEhvb2soaW5zdGFuY2UsIGhvb2tOYW1lLCBmbikge1xuICAgIHZhciBvcHRpb25zID0gaW5zdGFuY2UuJG9wdGlvbnM7XG4gICAgb3B0aW9uc1tob29rTmFtZV0gPSBtZXJnZUxpZmVjeWNsZUhvb2sob3B0aW9uc1tob29rTmFtZV0sIGZuKTtcbn1cbnZhciBvbkJlZm9yZU1vdW50ID0gY3JlYXRlTGlmZUN5Y2xlKCdiZWZvcmVNb3VudCcpO1xudmFyIG9uTW91bnRlZCA9IGNyZWF0ZUxpZmVDeWNsZSgnbW91bnRlZCcpO1xudmFyIG9uQmVmb3JlVXBkYXRlID0gY3JlYXRlTGlmZUN5Y2xlKCdiZWZvcmVVcGRhdGUnKTtcbnZhciBvblVwZGF0ZWQgPSBjcmVhdGVMaWZlQ3ljbGUoJ3VwZGF0ZWQnKTtcbnZhciBvbkJlZm9yZVVubW91bnQgPSBjcmVhdGVMaWZlQ3ljbGUoJ2JlZm9yZURlc3Ryb3knKTtcbnZhciBvblVubW91bnRlZCA9IGNyZWF0ZUxpZmVDeWNsZSgnZGVzdHJveWVkJyk7XG52YXIgb25BY3RpdmF0ZWQgPSBjcmVhdGVMaWZlQ3ljbGUoJ2FjdGl2YXRlZCcpO1xudmFyIG9uRGVhY3RpdmF0ZWQgPSBjcmVhdGVMaWZlQ3ljbGUoJ2RlYWN0aXZhdGVkJyk7XG52YXIgb25TZXJ2ZXJQcmVmZXRjaCA9IGNyZWF0ZUxpZmVDeWNsZSgnc2VydmVyUHJlZmV0Y2gnKTtcbnZhciBvblJlbmRlclRyYWNrZWQgPSBjcmVhdGVMaWZlQ3ljbGUoJ3JlbmRlclRyYWNrZWQnKTtcbnZhciBvblJlbmRlclRyaWdnZXJlZCA9IGNyZWF0ZUxpZmVDeWNsZSgncmVuZGVyVHJpZ2dlcmVkJyk7XG52YXIgaW5qZWN0RXJyb3JDYXB0dXJlZEhvb2sgPSBjcmVhdGVMaWZlQ3ljbGUoJ2Vycm9yQ2FwdHVyZWQnKTtcbmZ1bmN0aW9uIG9uRXJyb3JDYXB0dXJlZChob29rLCB0YXJnZXQpIHtcbiAgICBpZiAodGFyZ2V0ID09PSB2b2lkIDApIHsgdGFyZ2V0ID0gY3VycmVudEluc3RhbmNlOyB9XG4gICAgaW5qZWN0RXJyb3JDYXB0dXJlZEhvb2soaG9vaywgdGFyZ2V0KTtcbn1cblxuLyoqXG4gKiBOb3RlOiBhbHNvIHVwZGF0ZSBkaXN0L3Z1ZS5ydW50aW1lLm1qcyB3aGVuIGFkZGluZyBuZXcgZXhwb3J0cyB0byB0aGlzIGZpbGUuXG4gKi9cbnZhciB2ZXJzaW9uID0gJzIuNy4xNCc7XG4vKipcbiAqIEBpbnRlcm5hbCB0eXBlIGlzIG1hbnVhbGx5IGRlY2xhcmVkIGluIDxyb290Pi90eXBlcy92My1kZWZpbmUtY29tcG9uZW50LmQudHNcbiAqL1xuZnVuY3Rpb24gZGVmaW5lQ29tcG9uZW50KG9wdGlvbnMpIHtcbiAgICByZXR1cm4gb3B0aW9ucztcbn1cblxudmFyIHNlZW5PYmplY3RzID0gbmV3IF9TZXQoKTtcbi8qKlxuICogUmVjdXJzaXZlbHkgdHJhdmVyc2UgYW4gb2JqZWN0IHRvIGV2b2tlIGFsbCBjb252ZXJ0ZWRcbiAqIGdldHRlcnMsIHNvIHRoYXQgZXZlcnkgbmVzdGVkIHByb3BlcnR5IGluc2lkZSB0aGUgb2JqZWN0XG4gKiBpcyBjb2xsZWN0ZWQgYXMgYSBcImRlZXBcIiBkZXBlbmRlbmN5LlxuICovXG5mdW5jdGlvbiB0cmF2ZXJzZSh2YWwpIHtcbiAgICBfdHJhdmVyc2UodmFsLCBzZWVuT2JqZWN0cyk7XG4gICAgc2Vlbk9iamVjdHMuY2xlYXIoKTtcbiAgICByZXR1cm4gdmFsO1xufVxuZnVuY3Rpb24gX3RyYXZlcnNlKHZhbCwgc2Vlbikge1xuICAgIHZhciBpLCBrZXlzO1xuICAgIHZhciBpc0EgPSBpc0FycmF5KHZhbCk7XG4gICAgaWYgKCghaXNBICYmICFpc09iamVjdCh2YWwpKSB8fFxuICAgICAgICB2YWwuX192X3NraXAgLyogUmVhY3RpdmVGbGFncy5TS0lQICovIHx8XG4gICAgICAgIE9iamVjdC5pc0Zyb3plbih2YWwpIHx8XG4gICAgICAgIHZhbCBpbnN0YW5jZW9mIFZOb2RlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHZhbC5fX29iX18pIHtcbiAgICAgICAgdmFyIGRlcElkID0gdmFsLl9fb2JfXy5kZXAuaWQ7XG4gICAgICAgIGlmIChzZWVuLmhhcyhkZXBJZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZWVuLmFkZChkZXBJZCk7XG4gICAgfVxuICAgIGlmIChpc0EpIHtcbiAgICAgICAgaSA9IHZhbC5sZW5ndGg7XG4gICAgICAgIHdoaWxlIChpLS0pXG4gICAgICAgICAgICBfdHJhdmVyc2UodmFsW2ldLCBzZWVuKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNSZWYodmFsKSkge1xuICAgICAgICBfdHJhdmVyc2UodmFsLnZhbHVlLCBzZWVuKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGtleXMgPSBPYmplY3Qua2V5cyh2YWwpO1xuICAgICAgICBpID0ga2V5cy5sZW5ndGg7XG4gICAgICAgIHdoaWxlIChpLS0pXG4gICAgICAgICAgICBfdHJhdmVyc2UodmFsW2tleXNbaV1dLCBzZWVuKTtcbiAgICB9XG59XG5cbnZhciB1aWQkMSA9IDA7XG4vKipcbiAqIEEgd2F0Y2hlciBwYXJzZXMgYW4gZXhwcmVzc2lvbiwgY29sbGVjdHMgZGVwZW5kZW5jaWVzLFxuICogYW5kIGZpcmVzIGNhbGxiYWNrIHdoZW4gdGhlIGV4cHJlc3Npb24gdmFsdWUgY2hhbmdlcy5cbiAqIFRoaXMgaXMgdXNlZCBmb3IgYm90aCB0aGUgJHdhdGNoKCkgYXBpIGFuZCBkaXJlY3RpdmVzLlxuICogQGludGVybmFsXG4gKi9cbnZhciBXYXRjaGVyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFdhdGNoZXIodm0sIGV4cE9yRm4sIGNiLCBvcHRpb25zLCBpc1JlbmRlcldhdGNoZXIpIHtcbiAgICAgICAgcmVjb3JkRWZmZWN0U2NvcGUodGhpcywgXG4gICAgICAgIC8vIGlmIHRoZSBhY3RpdmUgZWZmZWN0IHNjb3BlIGlzIG1hbnVhbGx5IGNyZWF0ZWQgKG5vdCBhIGNvbXBvbmVudCBzY29wZSksXG4gICAgICAgIC8vIHByaW9yaXRpemUgaXRcbiAgICAgICAgYWN0aXZlRWZmZWN0U2NvcGUgJiYgIWFjdGl2ZUVmZmVjdFNjb3BlLl92bVxuICAgICAgICAgICAgPyBhY3RpdmVFZmZlY3RTY29wZVxuICAgICAgICAgICAgOiB2bVxuICAgICAgICAgICAgICAgID8gdm0uX3Njb3BlXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQpO1xuICAgICAgICBpZiAoKHRoaXMudm0gPSB2bSkgJiYgaXNSZW5kZXJXYXRjaGVyKSB7XG4gICAgICAgICAgICB2bS5fd2F0Y2hlciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgLy8gb3B0aW9uc1xuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5kZWVwID0gISFvcHRpb25zLmRlZXA7XG4gICAgICAgICAgICB0aGlzLnVzZXIgPSAhIW9wdGlvbnMudXNlcjtcbiAgICAgICAgICAgIHRoaXMubGF6eSA9ICEhb3B0aW9ucy5sYXp5O1xuICAgICAgICAgICAgdGhpcy5zeW5jID0gISFvcHRpb25zLnN5bmM7XG4gICAgICAgICAgICB0aGlzLmJlZm9yZSA9IG9wdGlvbnMuYmVmb3JlO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uVHJhY2sgPSBvcHRpb25zLm9uVHJhY2s7XG4gICAgICAgICAgICAgICAgdGhpcy5vblRyaWdnZXIgPSBvcHRpb25zLm9uVHJpZ2dlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVlcCA9IHRoaXMudXNlciA9IHRoaXMubGF6eSA9IHRoaXMuc3luYyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2IgPSBjYjtcbiAgICAgICAgdGhpcy5pZCA9ICsrdWlkJDE7IC8vIHVpZCBmb3IgYmF0Y2hpbmdcbiAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB0aGlzLnBvc3QgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRoaXMubGF6eTsgLy8gZm9yIGxhenkgd2F0Y2hlcnNcbiAgICAgICAgdGhpcy5kZXBzID0gW107XG4gICAgICAgIHRoaXMubmV3RGVwcyA9IFtdO1xuICAgICAgICB0aGlzLmRlcElkcyA9IG5ldyBfU2V0KCk7XG4gICAgICAgIHRoaXMubmV3RGVwSWRzID0gbmV3IF9TZXQoKTtcbiAgICAgICAgdGhpcy5leHByZXNzaW9uID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGV4cE9yRm4udG9TdHJpbmcoKSA6ICcnO1xuICAgICAgICAvLyBwYXJzZSBleHByZXNzaW9uIGZvciBnZXR0ZXJcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24oZXhwT3JGbikpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0dGVyID0gZXhwT3JGbjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0dGVyID0gcGFyc2VQYXRoKGV4cE9yRm4pO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmdldHRlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0dGVyID0gbm9vcDtcbiAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgICAgICAgIHdhcm4kMihcIkZhaWxlZCB3YXRjaGluZyBwYXRoOiBcXFwiXCIuY29uY2F0KGV4cE9yRm4sIFwiXFxcIiBcIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1dhdGNoZXIgb25seSBhY2NlcHRzIHNpbXBsZSBkb3QtZGVsaW1pdGVkIHBhdGhzLiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdGb3IgZnVsbCBjb250cm9sLCB1c2UgYSBmdW5jdGlvbiBpbnN0ZWFkLicsIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5sYXp5ID8gdW5kZWZpbmVkIDogdGhpcy5nZXQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRXZhbHVhdGUgdGhlIGdldHRlciwgYW5kIHJlLWNvbGxlY3QgZGVwZW5kZW5jaWVzLlxuICAgICAqL1xuICAgIFdhdGNoZXIucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcHVzaFRhcmdldCh0aGlzKTtcbiAgICAgICAgdmFyIHZhbHVlO1xuICAgICAgICB2YXIgdm0gPSB0aGlzLnZtO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmdldHRlci5jYWxsKHZtLCB2bSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXIpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVFcnJvcihlLCB2bSwgXCJnZXR0ZXIgZm9yIHdhdGNoZXIgXFxcIlwiLmNvbmNhdCh0aGlzLmV4cHJlc3Npb24sIFwiXFxcIlwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgLy8gXCJ0b3VjaFwiIGV2ZXJ5IHByb3BlcnR5IHNvIHRoZXkgYXJlIGFsbCB0cmFja2VkIGFzXG4gICAgICAgICAgICAvLyBkZXBlbmRlbmNpZXMgZm9yIGRlZXAgd2F0Y2hpbmdcbiAgICAgICAgICAgIGlmICh0aGlzLmRlZXApIHtcbiAgICAgICAgICAgICAgICB0cmF2ZXJzZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwb3BUYXJnZXQoKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYW51cERlcHMoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBBZGQgYSBkZXBlbmRlbmN5IHRvIHRoaXMgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIFdhdGNoZXIucHJvdG90eXBlLmFkZERlcCA9IGZ1bmN0aW9uIChkZXApIHtcbiAgICAgICAgdmFyIGlkID0gZGVwLmlkO1xuICAgICAgICBpZiAoIXRoaXMubmV3RGVwSWRzLmhhcyhpZCkpIHtcbiAgICAgICAgICAgIHRoaXMubmV3RGVwSWRzLmFkZChpZCk7XG4gICAgICAgICAgICB0aGlzLm5ld0RlcHMucHVzaChkZXApO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRlcElkcy5oYXMoaWQpKSB7XG4gICAgICAgICAgICAgICAgZGVwLmFkZFN1Yih0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG4gICAgLyoqXG4gICAgICogQ2xlYW4gdXAgZm9yIGRlcGVuZGVuY3kgY29sbGVjdGlvbi5cbiAgICAgKi9cbiAgICBXYXRjaGVyLnByb3RvdHlwZS5jbGVhbnVwRGVwcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGkgPSB0aGlzLmRlcHMubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgICAgICB2YXIgZGVwID0gdGhpcy5kZXBzW2ldO1xuICAgICAgICAgICAgaWYgKCF0aGlzLm5ld0RlcElkcy5oYXMoZGVwLmlkKSkge1xuICAgICAgICAgICAgICAgIGRlcC5yZW1vdmVTdWIodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHRtcCA9IHRoaXMuZGVwSWRzO1xuICAgICAgICB0aGlzLmRlcElkcyA9IHRoaXMubmV3RGVwSWRzO1xuICAgICAgICB0aGlzLm5ld0RlcElkcyA9IHRtcDtcbiAgICAgICAgdGhpcy5uZXdEZXBJZHMuY2xlYXIoKTtcbiAgICAgICAgdG1wID0gdGhpcy5kZXBzO1xuICAgICAgICB0aGlzLmRlcHMgPSB0aGlzLm5ld0RlcHM7XG4gICAgICAgIHRoaXMubmV3RGVwcyA9IHRtcDtcbiAgICAgICAgdGhpcy5uZXdEZXBzLmxlbmd0aCA9IDA7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBTdWJzY3JpYmVyIGludGVyZmFjZS5cbiAgICAgKiBXaWxsIGJlIGNhbGxlZCB3aGVuIGEgZGVwZW5kZW5jeSBjaGFuZ2VzLlxuICAgICAqL1xuICAgIFdhdGNoZXIucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMubGF6eSkge1xuICAgICAgICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5zeW5jKSB7XG4gICAgICAgICAgICB0aGlzLnJ1bigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcXVldWVXYXRjaGVyKHRoaXMpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBTY2hlZHVsZXIgam9iIGludGVyZmFjZS5cbiAgICAgKiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyLlxuICAgICAqL1xuICAgIFdhdGNoZXIucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLmdldCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlIHx8XG4gICAgICAgICAgICAgICAgLy8gRGVlcCB3YXRjaGVycyBhbmQgd2F0Y2hlcnMgb24gT2JqZWN0L0FycmF5cyBzaG91bGQgZmlyZSBldmVuXG4gICAgICAgICAgICAgICAgLy8gd2hlbiB0aGUgdmFsdWUgaXMgdGhlIHNhbWUsIGJlY2F1c2UgdGhlIHZhbHVlIG1heVxuICAgICAgICAgICAgICAgIC8vIGhhdmUgbXV0YXRlZC5cbiAgICAgICAgICAgICAgICBpc09iamVjdCh2YWx1ZSkgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmRlZXApIHtcbiAgICAgICAgICAgICAgICAvLyBzZXQgbmV3IHZhbHVlXG4gICAgICAgICAgICAgICAgdmFyIG9sZFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICAgICAgICAgICAgICB2YXIgaW5mbyA9IFwiY2FsbGJhY2sgZm9yIHdhdGNoZXIgXFxcIlwiLmNvbmNhdCh0aGlzLmV4cHJlc3Npb24sIFwiXFxcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgaW52b2tlV2l0aEVycm9ySGFuZGxpbmcodGhpcy5jYiwgdGhpcy52bSwgW3ZhbHVlLCBvbGRWYWx1ZV0sIHRoaXMudm0sIGluZm8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYi5jYWxsKHRoaXMudm0sIHZhbHVlLCBvbGRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBFdmFsdWF0ZSB0aGUgdmFsdWUgb2YgdGhlIHdhdGNoZXIuXG4gICAgICogVGhpcyBvbmx5IGdldHMgY2FsbGVkIGZvciBsYXp5IHdhdGNoZXJzLlxuICAgICAqL1xuICAgIFdhdGNoZXIucHJvdG90eXBlLmV2YWx1YXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXQoKTtcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogRGVwZW5kIG9uIGFsbCBkZXBzIGNvbGxlY3RlZCBieSB0aGlzIHdhdGNoZXIuXG4gICAgICovXG4gICAgV2F0Y2hlci5wcm90b3R5cGUuZGVwZW5kID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaSA9IHRoaXMuZGVwcy5sZW5ndGg7XG4gICAgICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgICAgIHRoaXMuZGVwc1tpXS5kZXBlbmQoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHNlbGYgZnJvbSBhbGwgZGVwZW5kZW5jaWVzJyBzdWJzY3JpYmVyIGxpc3QuXG4gICAgICovXG4gICAgV2F0Y2hlci5wcm90b3R5cGUudGVhcmRvd24gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLnZtICYmICF0aGlzLnZtLl9pc0JlaW5nRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZW1vdmUkMih0aGlzLnZtLl9zY29wZS5lZmZlY3RzLCB0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgICAgICAgIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgICAgICAgICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlcHNbaV0ucmVtb3ZlU3ViKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9uU3RvcCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25TdG9wKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBXYXRjaGVyO1xufSgpKTtcblxudmFyIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbiA9IHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IG5vb3AsXG4gICAgc2V0OiBub29wXG59O1xuZnVuY3Rpb24gcHJveHkodGFyZ2V0LCBzb3VyY2VLZXksIGtleSkge1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSBmdW5jdGlvbiBwcm94eUdldHRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbc291cmNlS2V5XVtrZXldO1xuICAgIH07XG4gICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uIHByb3h5U2V0dGVyKHZhbCkge1xuICAgICAgICB0aGlzW3NvdXJjZUtleV1ba2V5XSA9IHZhbDtcbiAgICB9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uKTtcbn1cbmZ1bmN0aW9uIGluaXRTdGF0ZSh2bSkge1xuICAgIHZhciBvcHRzID0gdm0uJG9wdGlvbnM7XG4gICAgaWYgKG9wdHMucHJvcHMpXG4gICAgICAgIGluaXRQcm9wcyQxKHZtLCBvcHRzLnByb3BzKTtcbiAgICAvLyBDb21wb3NpdGlvbiBBUElcbiAgICBpbml0U2V0dXAodm0pO1xuICAgIGlmIChvcHRzLm1ldGhvZHMpXG4gICAgICAgIGluaXRNZXRob2RzKHZtLCBvcHRzLm1ldGhvZHMpO1xuICAgIGlmIChvcHRzLmRhdGEpIHtcbiAgICAgICAgaW5pdERhdGEodm0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIG9iID0gb2JzZXJ2ZSgodm0uX2RhdGEgPSB7fSkpO1xuICAgICAgICBvYiAmJiBvYi52bUNvdW50Kys7XG4gICAgfVxuICAgIGlmIChvcHRzLmNvbXB1dGVkKVxuICAgICAgICBpbml0Q29tcHV0ZWQkMSh2bSwgb3B0cy5jb21wdXRlZCk7XG4gICAgaWYgKG9wdHMud2F0Y2ggJiYgb3B0cy53YXRjaCAhPT0gbmF0aXZlV2F0Y2gpIHtcbiAgICAgICAgaW5pdFdhdGNoKHZtLCBvcHRzLndhdGNoKTtcbiAgICB9XG59XG5mdW5jdGlvbiBpbml0UHJvcHMkMSh2bSwgcHJvcHNPcHRpb25zKSB7XG4gICAgdmFyIHByb3BzRGF0YSA9IHZtLiRvcHRpb25zLnByb3BzRGF0YSB8fCB7fTtcbiAgICB2YXIgcHJvcHMgPSAodm0uX3Byb3BzID0gc2hhbGxvd1JlYWN0aXZlKHt9KSk7XG4gICAgLy8gY2FjaGUgcHJvcCBrZXlzIHNvIHRoYXQgZnV0dXJlIHByb3BzIHVwZGF0ZXMgY2FuIGl0ZXJhdGUgdXNpbmcgQXJyYXlcbiAgICAvLyBpbnN0ZWFkIG9mIGR5bmFtaWMgb2JqZWN0IGtleSBlbnVtZXJhdGlvbi5cbiAgICB2YXIga2V5cyA9ICh2bS4kb3B0aW9ucy5fcHJvcEtleXMgPSBbXSk7XG4gICAgdmFyIGlzUm9vdCA9ICF2bS4kcGFyZW50O1xuICAgIC8vIHJvb3QgaW5zdGFuY2UgcHJvcHMgc2hvdWxkIGJlIGNvbnZlcnRlZFxuICAgIGlmICghaXNSb290KSB7XG4gICAgICAgIHRvZ2dsZU9ic2VydmluZyhmYWxzZSk7XG4gICAgfVxuICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgdmFyIHZhbHVlID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcHNPcHRpb25zLCBwcm9wc0RhdGEsIHZtKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIHZhciBoeXBoZW5hdGVkS2V5ID0gaHlwaGVuYXRlKGtleSk7XG4gICAgICAgICAgICBpZiAoaXNSZXNlcnZlZEF0dHJpYnV0ZShoeXBoZW5hdGVkS2V5KSB8fFxuICAgICAgICAgICAgICAgIGNvbmZpZy5pc1Jlc2VydmVkQXR0cihoeXBoZW5hdGVkS2V5KSkge1xuICAgICAgICAgICAgICAgIHdhcm4kMihcIlxcXCJcIi5jb25jYXQoaHlwaGVuYXRlZEtleSwgXCJcXFwiIGlzIGEgcmVzZXJ2ZWQgYXR0cmlidXRlIGFuZCBjYW5ub3QgYmUgdXNlZCBhcyBjb21wb25lbnQgcHJvcC5cIiksIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmluZVJlYWN0aXZlKHByb3BzLCBrZXksIHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1Jvb3QgJiYgIWlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCJBdm9pZCBtdXRhdGluZyBhIHByb3AgZGlyZWN0bHkgc2luY2UgdGhlIHZhbHVlIHdpbGwgYmUgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJvdmVyd3JpdHRlbiB3aGVuZXZlciB0aGUgcGFyZW50IGNvbXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkluc3RlYWQsIHVzZSBhIGRhdGEgb3IgY29tcHV0ZWQgcHJvcGVydHkgYmFzZWQgb24gdGhlIHByb3AncyBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlLiBQcm9wIGJlaW5nIG11dGF0ZWQ6IFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCJcIiksIHZtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRlZmluZVJlYWN0aXZlKHByb3BzLCBrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzdGF0aWMgcHJvcHMgYXJlIGFscmVhZHkgcHJveGllZCBvbiB0aGUgY29tcG9uZW50J3MgcHJvdG90eXBlXG4gICAgICAgIC8vIGR1cmluZyBWdWUuZXh0ZW5kKCkuIFdlIG9ubHkgbmVlZCB0byBwcm94eSBwcm9wcyBkZWZpbmVkIGF0XG4gICAgICAgIC8vIGluc3RhbnRpYXRpb24gaGVyZS5cbiAgICAgICAgaWYgKCEoa2V5IGluIHZtKSkge1xuICAgICAgICAgICAgcHJveHkodm0sIFwiX3Byb3BzXCIsIGtleSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wc09wdGlvbnMpIHtcbiAgICAgICAgX2xvb3BfMShrZXkpO1xuICAgIH1cbiAgICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG59XG5mdW5jdGlvbiBpbml0RGF0YSh2bSkge1xuICAgIHZhciBkYXRhID0gdm0uJG9wdGlvbnMuZGF0YTtcbiAgICBkYXRhID0gdm0uX2RhdGEgPSBpc0Z1bmN0aW9uKGRhdGEpID8gZ2V0RGF0YShkYXRhLCB2bSkgOiBkYXRhIHx8IHt9O1xuICAgIGlmICghaXNQbGFpbk9iamVjdChkYXRhKSkge1xuICAgICAgICBkYXRhID0ge307XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgIHdhcm4kMignZGF0YSBmdW5jdGlvbnMgc2hvdWxkIHJldHVybiBhbiBvYmplY3Q6XFxuJyArXG4gICAgICAgICAgICAgICAgJ2h0dHBzOi8vdjIudnVlanMub3JnL3YyL2d1aWRlL2NvbXBvbmVudHMuaHRtbCNkYXRhLU11c3QtQmUtYS1GdW5jdGlvbicsIHZtKTtcbiAgICB9XG4gICAgLy8gcHJveHkgZGF0YSBvbiBpbnN0YW5jZVxuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZGF0YSk7XG4gICAgdmFyIHByb3BzID0gdm0uJG9wdGlvbnMucHJvcHM7XG4gICAgdmFyIG1ldGhvZHMgPSB2bS4kb3B0aW9ucy5tZXRob2RzO1xuICAgIHZhciBpID0ga2V5cy5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmIChtZXRob2RzICYmIGhhc093bihtZXRob2RzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiTWV0aG9kIFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGFzIGEgZGF0YSBwcm9wZXJ0eS5cIiksIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMgJiYgaGFzT3duKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgICAgd2FybiQyKFwiVGhlIGRhdGEgcHJvcGVydHkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBpcyBhbHJlYWR5IGRlY2xhcmVkIGFzIGEgcHJvcC4gXCIpICtcbiAgICAgICAgICAgICAgICAgICAgXCJVc2UgcHJvcCBkZWZhdWx0IHZhbHVlIGluc3RlYWQuXCIsIHZtKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghaXNSZXNlcnZlZChrZXkpKSB7XG4gICAgICAgICAgICBwcm94eSh2bSwgXCJfZGF0YVwiLCBrZXkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIG9ic2VydmUgZGF0YVxuICAgIHZhciBvYiA9IG9ic2VydmUoZGF0YSk7XG4gICAgb2IgJiYgb2Iudm1Db3VudCsrO1xufVxuZnVuY3Rpb24gZ2V0RGF0YShkYXRhLCB2bSkge1xuICAgIC8vICM3NTczIGRpc2FibGUgZGVwIGNvbGxlY3Rpb24gd2hlbiBpbnZva2luZyBkYXRhIGdldHRlcnNcbiAgICBwdXNoVGFyZ2V0KCk7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGRhdGEuY2FsbCh2bSwgdm0pO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBoYW5kbGVFcnJvcihlLCB2bSwgXCJkYXRhKClcIik7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIHBvcFRhcmdldCgpO1xuICAgIH1cbn1cbnZhciBjb21wdXRlZFdhdGNoZXJPcHRpb25zID0geyBsYXp5OiB0cnVlIH07XG5mdW5jdGlvbiBpbml0Q29tcHV0ZWQkMSh2bSwgY29tcHV0ZWQpIHtcbiAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICB2YXIgd2F0Y2hlcnMgPSAodm0uX2NvbXB1dGVkV2F0Y2hlcnMgPSBPYmplY3QuY3JlYXRlKG51bGwpKTtcbiAgICAvLyBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSBqdXN0IGdldHRlcnMgZHVyaW5nIFNTUlxuICAgIHZhciBpc1NTUiA9IGlzU2VydmVyUmVuZGVyaW5nKCk7XG4gICAgZm9yICh2YXIga2V5IGluIGNvbXB1dGVkKSB7XG4gICAgICAgIHZhciB1c2VyRGVmID0gY29tcHV0ZWRba2V5XTtcbiAgICAgICAgdmFyIGdldHRlciA9IGlzRnVuY3Rpb24odXNlckRlZikgPyB1c2VyRGVmIDogdXNlckRlZi5nZXQ7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGdldHRlciA9PSBudWxsKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCJHZXR0ZXIgaXMgbWlzc2luZyBmb3IgY29tcHV0ZWQgcHJvcGVydHkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIi5cIiksIHZtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzU1NSKSB7XG4gICAgICAgICAgICAvLyBjcmVhdGUgaW50ZXJuYWwgd2F0Y2hlciBmb3IgdGhlIGNvbXB1dGVkIHByb3BlcnR5LlxuICAgICAgICAgICAgd2F0Y2hlcnNba2V5XSA9IG5ldyBXYXRjaGVyKHZtLCBnZXR0ZXIgfHwgbm9vcCwgbm9vcCwgY29tcHV0ZWRXYXRjaGVyT3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29tcG9uZW50LWRlZmluZWQgY29tcHV0ZWQgcHJvcGVydGllcyBhcmUgYWxyZWFkeSBkZWZpbmVkIG9uIHRoZVxuICAgICAgICAvLyBjb21wb25lbnQgcHJvdG90eXBlLiBXZSBvbmx5IG5lZWQgdG8gZGVmaW5lIGNvbXB1dGVkIHByb3BlcnRpZXMgZGVmaW5lZFxuICAgICAgICAvLyBhdCBpbnN0YW50aWF0aW9uIGhlcmUuXG4gICAgICAgIGlmICghKGtleSBpbiB2bSkpIHtcbiAgICAgICAgICAgIGRlZmluZUNvbXB1dGVkKHZtLCBrZXksIHVzZXJEZWYpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmIChrZXkgaW4gdm0uJGRhdGEpIHtcbiAgICAgICAgICAgICAgICB3YXJuJDIoXCJUaGUgY29tcHV0ZWQgcHJvcGVydHkgXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBpcyBhbHJlYWR5IGRlZmluZWQgaW4gZGF0YS5cIiksIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHZtLiRvcHRpb25zLnByb3BzICYmIGtleSBpbiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgICAgICAgICAgICAgIHdhcm4kMihcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIuY29uY2F0KGtleSwgXCJcXFwiIGlzIGFscmVhZHkgZGVmaW5lZCBhcyBhIHByb3AuXCIpLCB2bSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh2bS4kb3B0aW9ucy5tZXRob2RzICYmIGtleSBpbiB2bS4kb3B0aW9ucy5tZXRob2RzKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiVGhlIGNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGFzIGEgbWV0aG9kLlwiKSwgdm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gZGVmaW5lQ29tcHV0ZWQodGFyZ2V0LCBrZXksIHVzZXJEZWYpIHtcbiAgICB2YXIgc2hvdWxkQ2FjaGUgPSAhaXNTZXJ2ZXJSZW5kZXJpbmcoKTtcbiAgICBpZiAoaXNGdW5jdGlvbih1c2VyRGVmKSkge1xuICAgICAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uZ2V0ID0gc2hvdWxkQ2FjaGVcbiAgICAgICAgICAgID8gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIoa2V5KVxuICAgICAgICAgICAgOiBjcmVhdGVHZXR0ZXJJbnZva2VyKHVzZXJEZWYpO1xuICAgICAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID0gbm9vcDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSB1c2VyRGVmLmdldFxuICAgICAgICAgICAgPyBzaG91bGRDYWNoZSAmJiB1c2VyRGVmLmNhY2hlICE9PSBmYWxzZVxuICAgICAgICAgICAgICAgID8gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIoa2V5KVxuICAgICAgICAgICAgICAgIDogY3JlYXRlR2V0dGVySW52b2tlcih1c2VyRGVmLmdldClcbiAgICAgICAgICAgIDogbm9vcDtcbiAgICAgICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IHVzZXJEZWYuc2V0IHx8IG5vb3A7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPT09IG5vb3ApIHtcbiAgICAgICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHdhcm4kMihcIkNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgd2FzIGFzc2lnbmVkIHRvIGJ1dCBpdCBoYXMgbm8gc2V0dGVyLlwiKSwgdGhpcyk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUNvbXB1dGVkR2V0dGVyKGtleSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBjb21wdXRlZEdldHRlcigpIHtcbiAgICAgICAgdmFyIHdhdGNoZXIgPSB0aGlzLl9jb21wdXRlZFdhdGNoZXJzICYmIHRoaXMuX2NvbXB1dGVkV2F0Y2hlcnNba2V5XTtcbiAgICAgICAgaWYgKHdhdGNoZXIpIHtcbiAgICAgICAgICAgIGlmICh3YXRjaGVyLmRpcnR5KSB7XG4gICAgICAgICAgICAgICAgd2F0Y2hlci5ldmFsdWF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKERlcC50YXJnZXQpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBEZXAudGFyZ2V0Lm9uVHJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgRGVwLnRhcmdldC5vblRyYWNrKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdDogRGVwLnRhcmdldCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZ2V0XCIgLyogVHJhY2tPcFR5cGVzLkdFVCAqLyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB3YXRjaGVyLmRlcGVuZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHdhdGNoZXIudmFsdWU7XG4gICAgICAgIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlR2V0dGVySW52b2tlcihmbikge1xuICAgIHJldHVybiBmdW5jdGlvbiBjb21wdXRlZEdldHRlcigpIHtcbiAgICAgICAgcmV0dXJuIGZuLmNhbGwodGhpcywgdGhpcyk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGluaXRNZXRob2RzKHZtLCBtZXRob2RzKSB7XG4gICAgdmFyIHByb3BzID0gdm0uJG9wdGlvbnMucHJvcHM7XG4gICAgZm9yICh2YXIga2V5IGluIG1ldGhvZHMpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbWV0aG9kc1trZXldICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiTWV0aG9kIFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgaGFzIHR5cGUgXFxcIlwiKS5jb25jYXQodHlwZW9mIG1ldGhvZHNba2V5XSwgXCJcXFwiIGluIHRoZSBjb21wb25lbnQgZGVmaW5pdGlvbi4gXCIpICtcbiAgICAgICAgICAgICAgICAgICAgXCJEaWQgeW91IHJlZmVyZW5jZSB0aGUgZnVuY3Rpb24gY29ycmVjdGx5P1wiLCB2bSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvcHMgJiYgaGFzT3duKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiTWV0aG9kIFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGFzIGEgcHJvcC5cIiksIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChrZXkgaW4gdm0gJiYgaXNSZXNlcnZlZChrZXkpKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiTWV0aG9kIFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgY29uZmxpY3RzIHdpdGggYW4gZXhpc3RpbmcgVnVlIGluc3RhbmNlIG1ldGhvZC4gXCIpICtcbiAgICAgICAgICAgICAgICAgICAgXCJBdm9pZCBkZWZpbmluZyBjb21wb25lbnQgbWV0aG9kcyB0aGF0IHN0YXJ0IHdpdGggXyBvciAkLlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2bVtrZXldID0gdHlwZW9mIG1ldGhvZHNba2V5XSAhPT0gJ2Z1bmN0aW9uJyA/IG5vb3AgOiBiaW5kJDEobWV0aG9kc1trZXldLCB2bSk7XG4gICAgfVxufVxuZnVuY3Rpb24gaW5pdFdhdGNoKHZtLCB3YXRjaCkge1xuICAgIGZvciAodmFyIGtleSBpbiB3YXRjaCkge1xuICAgICAgICB2YXIgaGFuZGxlciA9IHdhdGNoW2tleV07XG4gICAgICAgIGlmIChpc0FycmF5KGhhbmRsZXIpKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhhbmRsZXIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjcmVhdGVXYXRjaGVyKHZtLCBrZXksIGhhbmRsZXJbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY3JlYXRlV2F0Y2hlcih2bSwga2V5LCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZVdhdGNoZXIodm0sIGV4cE9yRm4sIGhhbmRsZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAoaXNQbGFpbk9iamVjdChoYW5kbGVyKSkge1xuICAgICAgICBvcHRpb25zID0gaGFuZGxlcjtcbiAgICAgICAgaGFuZGxlciA9IGhhbmRsZXIuaGFuZGxlcjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnc3RyaW5nJykge1xuICAgICAgICBoYW5kbGVyID0gdm1baGFuZGxlcl07XG4gICAgfVxuICAgIHJldHVybiB2bS4kd2F0Y2goZXhwT3JGbiwgaGFuZGxlciwgb3B0aW9ucyk7XG59XG5mdW5jdGlvbiBzdGF0ZU1peGluKFZ1ZSkge1xuICAgIC8vIGZsb3cgc29tZWhvdyBoYXMgcHJvYmxlbXMgd2l0aCBkaXJlY3RseSBkZWNsYXJlZCBkZWZpbml0aW9uIG9iamVjdFxuICAgIC8vIHdoZW4gdXNpbmcgT2JqZWN0LmRlZmluZVByb3BlcnR5LCBzbyB3ZSBoYXZlIHRvIHByb2NlZHVyYWxseSBidWlsZCB1cFxuICAgIC8vIHRoZSBvYmplY3QgaGVyZS5cbiAgICB2YXIgZGF0YURlZiA9IHt9O1xuICAgIGRhdGFEZWYuZ2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgICB9O1xuICAgIHZhciBwcm9wc0RlZiA9IHt9O1xuICAgIHByb3BzRGVmLmdldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3BzO1xuICAgIH07XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGF0YURlZi5zZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB3YXJuJDIoJ0F2b2lkIHJlcGxhY2luZyBpbnN0YW5jZSByb290ICRkYXRhLiAnICtcbiAgICAgICAgICAgICAgICAnVXNlIG5lc3RlZCBkYXRhIHByb3BlcnRpZXMgaW5zdGVhZC4nLCB0aGlzKTtcbiAgICAgICAgfTtcbiAgICAgICAgcHJvcHNEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgd2FybiQyKFwiJHByb3BzIGlzIHJlYWRvbmx5LlwiLCB0aGlzKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckZGF0YScsIGRhdGFEZWYpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJHByb3BzJywgcHJvcHNEZWYpO1xuICAgIFZ1ZS5wcm90b3R5cGUuJHNldCA9IHNldDtcbiAgICBWdWUucHJvdG90eXBlLiRkZWxldGUgPSBkZWw7XG4gICAgVnVlLnByb3RvdHlwZS4kd2F0Y2ggPSBmdW5jdGlvbiAoZXhwT3JGbiwgY2IsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIHZtID0gdGhpcztcbiAgICAgICAgaWYgKGlzUGxhaW5PYmplY3QoY2IpKSB7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlV2F0Y2hlcih2bSwgZXhwT3JGbiwgY2IsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgICAgICBvcHRpb25zLnVzZXIgPSB0cnVlO1xuICAgICAgICB2YXIgd2F0Y2hlciA9IG5ldyBXYXRjaGVyKHZtLCBleHBPckZuLCBjYiwgb3B0aW9ucyk7XG4gICAgICAgIGlmIChvcHRpb25zLmltbWVkaWF0ZSkge1xuICAgICAgICAgICAgdmFyIGluZm8gPSBcImNhbGxiYWNrIGZvciBpbW1lZGlhdGUgd2F0Y2hlciBcXFwiXCIuY29uY2F0KHdhdGNoZXIuZXhwcmVzc2lvbiwgXCJcXFwiXCIpO1xuICAgICAgICAgICAgcHVzaFRhcmdldCgpO1xuICAgICAgICAgICAgaW52b2tlV2l0aEVycm9ySGFuZGxpbmcoY2IsIHZtLCBbd2F0Y2hlci52YWx1ZV0sIHZtLCBpbmZvKTtcbiAgICAgICAgICAgIHBvcFRhcmdldCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiB1bndhdGNoRm4oKSB7XG4gICAgICAgICAgICB3YXRjaGVyLnRlYXJkb3duKCk7XG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gaW5pdFByb3ZpZGUodm0pIHtcbiAgICB2YXIgcHJvdmlkZU9wdGlvbiA9IHZtLiRvcHRpb25zLnByb3ZpZGU7XG4gICAgaWYgKHByb3ZpZGVPcHRpb24pIHtcbiAgICAgICAgdmFyIHByb3ZpZGVkID0gaXNGdW5jdGlvbihwcm92aWRlT3B0aW9uKVxuICAgICAgICAgICAgPyBwcm92aWRlT3B0aW9uLmNhbGwodm0pXG4gICAgICAgICAgICA6IHByb3ZpZGVPcHRpb247XG4gICAgICAgIGlmICghaXNPYmplY3QocHJvdmlkZWQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHNvdXJjZSA9IHJlc29sdmVQcm92aWRlZCh2bSk7XG4gICAgICAgIC8vIElFOSBkb2Vzbid0IHN1cHBvcnQgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMgc28gd2UgaGF2ZSB0b1xuICAgICAgICAvLyBpdGVyYXRlIHRoZSBrZXlzIG91cnNlbHZlcy5cbiAgICAgICAgdmFyIGtleXMgPSBoYXNTeW1ib2wgPyBSZWZsZWN0Lm93bktleXMocHJvdmlkZWQpIDogT2JqZWN0LmtleXMocHJvdmlkZWQpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNvdXJjZSwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3ZpZGVkLCBrZXkpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGluaXRJbmplY3Rpb25zKHZtKSB7XG4gICAgdmFyIHJlc3VsdCA9IHJlc29sdmVJbmplY3Qodm0uJG9wdGlvbnMuaW5qZWN0LCB2bSk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0b2dnbGVPYnNlcnZpbmcoZmFsc2UpO1xuICAgICAgICBPYmplY3Qua2V5cyhyZXN1bHQpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgZGVmaW5lUmVhY3RpdmUodm0sIGtleSwgcmVzdWx0W2tleV0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2FybiQyKFwiQXZvaWQgbXV0YXRpbmcgYW4gaW5qZWN0ZWQgdmFsdWUgZGlyZWN0bHkgc2luY2UgdGhlIGNoYW5nZXMgd2lsbCBiZSBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICBcIm92ZXJ3cml0dGVuIHdoZW5ldmVyIHRoZSBwcm92aWRlZCBjb21wb25lbnQgcmUtcmVuZGVycy4gXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJpbmplY3Rpb24gYmVpbmcgbXV0YXRlZDogXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIlwiKSwgdm0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZGVmaW5lUmVhY3RpdmUodm0sIGtleSwgcmVzdWx0W2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdG9nZ2xlT2JzZXJ2aW5nKHRydWUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHJlc29sdmVJbmplY3QoaW5qZWN0LCB2bSkge1xuICAgIGlmIChpbmplY3QpIHtcbiAgICAgICAgLy8gaW5qZWN0IGlzIDphbnkgYmVjYXVzZSBmbG93IGlzIG5vdCBzbWFydCBlbm91Z2ggdG8gZmlndXJlIG91dCBjYWNoZWRcbiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIHZhciBrZXlzID0gaGFzU3ltYm9sID8gUmVmbGVjdC5vd25LZXlzKGluamVjdCkgOiBPYmplY3Qua2V5cyhpbmplY3QpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAgICAgLy8gIzY1NzQgaW4gY2FzZSB0aGUgaW5qZWN0IG9iamVjdCBpcyBvYnNlcnZlZC4uLlxuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ19fb2JfXycpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB2YXIgcHJvdmlkZUtleSA9IGluamVjdFtrZXldLmZyb207XG4gICAgICAgICAgICBpZiAocHJvdmlkZUtleSBpbiB2bS5fcHJvdmlkZWQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHZtLl9wcm92aWRlZFtwcm92aWRlS2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCdkZWZhdWx0JyBpbiBpbmplY3Rba2V5XSkge1xuICAgICAgICAgICAgICAgIHZhciBwcm92aWRlRGVmYXVsdCA9IGluamVjdFtrZXldLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBpc0Z1bmN0aW9uKHByb3ZpZGVEZWZhdWx0KVxuICAgICAgICAgICAgICAgICAgICA/IHByb3ZpZGVEZWZhdWx0LmNhbGwodm0pXG4gICAgICAgICAgICAgICAgICAgIDogcHJvdmlkZURlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgd2FybiQyKFwiSW5qZWN0aW9uIFxcXCJcIi5jb25jYXQoa2V5LCBcIlxcXCIgbm90IGZvdW5kXCIpLCB2bSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG5cbnZhciB1aWQgPSAwO1xuZnVuY3Rpb24gaW5pdE1peGluJDEoVnVlKSB7XG4gICAgVnVlLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgICAgIHZhciB2bSA9IHRoaXM7XG4gICAgICAgIC8vIGEgdWlkXG4gICAgICAgIHZtLl91aWQgPSB1aWQrKztcbiAgICAgICAgdmFyIHN0YXJ0VGFnLCBlbmRUYWc7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYgbWFyaykge1xuICAgICAgICAgICAgc3RhcnRUYWcgPSBcInZ1ZS1wZXJmLXN0YXJ0OlwiLmNvbmNhdCh2bS5fdWlkKTtcbiAgICAgICAgICAgIGVuZFRhZyA9IFwidnVlLXBlcmYtZW5kOlwiLmNvbmNhdCh2bS5fdWlkKTtcbiAgICAgICAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGEgZmxhZyB0byBtYXJrIHRoaXMgYXMgYSBWdWUgaW5zdGFuY2Ugd2l0aG91dCBoYXZpbmcgdG8gZG8gaW5zdGFuY2VvZlxuICAgICAgICAvLyBjaGVja1xuICAgICAgICB2bS5faXNWdWUgPSB0cnVlO1xuICAgICAgICAvLyBhdm9pZCBpbnN0YW5jZXMgZnJvbSBiZWluZyBvYnNlcnZlZFxuICAgICAgICB2bS5fX3Zfc2tpcCA9IHRydWU7XG4gICAgICAgIC8vIGVmZmVjdCBzY29wZVxuICAgICAgICB2bS5fc2NvcGUgPSBuZXcgRWZmZWN0U2NvcGUodHJ1ZSAvKiBkZXRhY2hlZCAqLyk7XG4gICAgICAgIHZtLl9zY29wZS5fdm0gPSB0cnVlO1xuICAgICAgICAvLyBtZXJnZSBvcHRpb25zXG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuX2lzQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBvcHRpbWl6ZSBpbnRlcm5hbCBjb21wb25lbnQgaW5zdGFudGlhdGlvblxuICAgICAgICAgICAgLy8gc2luY2UgZHluYW1pYyBvcHRpb25zIG1lcmdpbmcgaXMgcHJldHR5IHNsb3csIGFuZCBub25lIG9mIHRoZVxuICAgICAgICAgICAgLy8gaW50ZXJuYWwgY29tcG9uZW50IG9wdGlvbnMgbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQuXG4gICAgICAgICAgICBpbml0SW50ZXJuYWxDb21wb25lbnQodm0sIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdm0uJG9wdGlvbnMgPSBtZXJnZU9wdGlvbnMocmVzb2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyh2bS5jb25zdHJ1Y3RvciksIG9wdGlvbnMgfHwge30sIHZtKTtcbiAgICAgICAgfVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgaW5pdFByb3h5KHZtKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZtLl9yZW5kZXJQcm94eSA9IHZtO1xuICAgICAgICB9XG4gICAgICAgIC8vIGV4cG9zZSByZWFsIHNlbGZcbiAgICAgICAgdm0uX3NlbGYgPSB2bTtcbiAgICAgICAgaW5pdExpZmVjeWNsZSh2bSk7XG4gICAgICAgIGluaXRFdmVudHModm0pO1xuICAgICAgICBpbml0UmVuZGVyKHZtKTtcbiAgICAgICAgY2FsbEhvb2skMSh2bSwgJ2JlZm9yZUNyZWF0ZScsIHVuZGVmaW5lZCwgZmFsc2UgLyogc2V0Q29udGV4dCAqLyk7XG4gICAgICAgIGluaXRJbmplY3Rpb25zKHZtKTsgLy8gcmVzb2x2ZSBpbmplY3Rpb25zIGJlZm9yZSBkYXRhL3Byb3BzXG4gICAgICAgIGluaXRTdGF0ZSh2bSk7XG4gICAgICAgIGluaXRQcm92aWRlKHZtKTsgLy8gcmVzb2x2ZSBwcm92aWRlIGFmdGVyIGRhdGEvcHJvcHNcbiAgICAgICAgY2FsbEhvb2skMSh2bSwgJ2NyZWF0ZWQnKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICAgICAgICB2bS5fbmFtZSA9IGZvcm1hdENvbXBvbmVudE5hbWUodm0sIGZhbHNlKTtcbiAgICAgICAgICAgIG1hcmsoZW5kVGFnKTtcbiAgICAgICAgICAgIG1lYXN1cmUoXCJ2dWUgXCIuY29uY2F0KHZtLl9uYW1lLCBcIiBpbml0XCIpLCBzdGFydFRhZywgZW5kVGFnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodm0uJG9wdGlvbnMuZWwpIHtcbiAgICAgICAgICAgIHZtLiRtb3VudCh2bS4kb3B0aW9ucy5lbCk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gaW5pdEludGVybmFsQ29tcG9uZW50KHZtLCBvcHRpb25zKSB7XG4gICAgdmFyIG9wdHMgPSAodm0uJG9wdGlvbnMgPSBPYmplY3QuY3JlYXRlKHZtLmNvbnN0cnVjdG9yLm9wdGlvbnMpKTtcbiAgICAvLyBkb2luZyB0aGlzIGJlY2F1c2UgaXQncyBmYXN0ZXIgdGhhbiBkeW5hbWljIGVudW1lcmF0aW9uLlxuICAgIHZhciBwYXJlbnRWbm9kZSA9IG9wdGlvbnMuX3BhcmVudFZub2RlO1xuICAgIG9wdHMucGFyZW50ID0gb3B0aW9ucy5wYXJlbnQ7XG4gICAgb3B0cy5fcGFyZW50Vm5vZGUgPSBwYXJlbnRWbm9kZTtcbiAgICB2YXIgdm5vZGVDb21wb25lbnRPcHRpb25zID0gcGFyZW50Vm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICBvcHRzLnByb3BzRGF0YSA9IHZub2RlQ29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGE7XG4gICAgb3B0cy5fcGFyZW50TGlzdGVuZXJzID0gdm5vZGVDb21wb25lbnRPcHRpb25zLmxpc3RlbmVycztcbiAgICBvcHRzLl9yZW5kZXJDaGlsZHJlbiA9IHZub2RlQ29tcG9uZW50T3B0aW9ucy5jaGlsZHJlbjtcbiAgICBvcHRzLl9jb21wb25lbnRUYWcgPSB2bm9kZUNvbXBvbmVudE9wdGlvbnMudGFnO1xuICAgIGlmIChvcHRpb25zLnJlbmRlcikge1xuICAgICAgICBvcHRzLnJlbmRlciA9IG9wdGlvbnMucmVuZGVyO1xuICAgICAgICBvcHRzLnN0YXRpY1JlbmRlckZucyA9IG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMoQ3Rvcikge1xuICAgIHZhciBvcHRpb25zID0gQ3Rvci5vcHRpb25zO1xuICAgIGlmIChDdG9yLnN1cGVyKSB7XG4gICAgICAgIHZhciBzdXBlck9wdGlvbnMgPSByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0b3Iuc3VwZXIpO1xuICAgICAgICB2YXIgY2FjaGVkU3VwZXJPcHRpb25zID0gQ3Rvci5zdXBlck9wdGlvbnM7XG4gICAgICAgIGlmIChzdXBlck9wdGlvbnMgIT09IGNhY2hlZFN1cGVyT3B0aW9ucykge1xuICAgICAgICAgICAgLy8gc3VwZXIgb3B0aW9uIGNoYW5nZWQsXG4gICAgICAgICAgICAvLyBuZWVkIHRvIHJlc29sdmUgbmV3IG9wdGlvbnMuXG4gICAgICAgICAgICBDdG9yLnN1cGVyT3B0aW9ucyA9IHN1cGVyT3B0aW9ucztcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgbGF0ZS1tb2RpZmllZC9hdHRhY2hlZCBvcHRpb25zICgjNDk3NilcbiAgICAgICAgICAgIHZhciBtb2RpZmllZE9wdGlvbnMgPSByZXNvbHZlTW9kaWZpZWRPcHRpb25zKEN0b3IpO1xuICAgICAgICAgICAgLy8gdXBkYXRlIGJhc2UgZXh0ZW5kIG9wdGlvbnNcbiAgICAgICAgICAgIGlmIChtb2RpZmllZE9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBleHRlbmQoQ3Rvci5leHRlbmRPcHRpb25zLCBtb2RpZmllZE9wdGlvbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3B0aW9ucyA9IEN0b3Iub3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhzdXBlck9wdGlvbnMsIEN0b3IuZXh0ZW5kT3B0aW9ucyk7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5uYW1lKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5jb21wb25lbnRzW29wdGlvbnMubmFtZV0gPSBDdG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zO1xufVxuZnVuY3Rpb24gcmVzb2x2ZU1vZGlmaWVkT3B0aW9ucyhDdG9yKSB7XG4gICAgdmFyIG1vZGlmaWVkO1xuICAgIHZhciBsYXRlc3QgPSBDdG9yLm9wdGlvbnM7XG4gICAgdmFyIHNlYWxlZCA9IEN0b3Iuc2VhbGVkT3B0aW9ucztcbiAgICBmb3IgKHZhciBrZXkgaW4gbGF0ZXN0KSB7XG4gICAgICAgIGlmIChsYXRlc3Rba2V5XSAhPT0gc2VhbGVkW2tleV0pIHtcbiAgICAgICAgICAgIGlmICghbW9kaWZpZWQpXG4gICAgICAgICAgICAgICAgbW9kaWZpZWQgPSB7fTtcbiAgICAgICAgICAgIG1vZGlmaWVkW2tleV0gPSBsYXRlc3Rba2V5XTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbW9kaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIEZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0KGRhdGEsIHByb3BzLCBjaGlsZHJlbiwgcGFyZW50LCBDdG9yKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcbiAgICB2YXIgb3B0aW9ucyA9IEN0b3Iub3B0aW9ucztcbiAgICAvLyBlbnN1cmUgdGhlIGNyZWF0ZUVsZW1lbnQgZnVuY3Rpb24gaW4gZnVuY3Rpb25hbCBjb21wb25lbnRzXG4gICAgLy8gZ2V0cyBhIHVuaXF1ZSBjb250ZXh0IC0gdGhpcyBpcyBuZWNlc3NhcnkgZm9yIGNvcnJlY3QgbmFtZWQgc2xvdCBjaGVja1xuICAgIHZhciBjb250ZXh0Vm07XG4gICAgaWYgKGhhc093bihwYXJlbnQsICdfdWlkJykpIHtcbiAgICAgICAgY29udGV4dFZtID0gT2JqZWN0LmNyZWF0ZShwYXJlbnQpO1xuICAgICAgICBjb250ZXh0Vm0uX29yaWdpbmFsID0gcGFyZW50O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gdGhlIGNvbnRleHQgdm0gcGFzc2VkIGluIGlzIGEgZnVuY3Rpb25hbCBjb250ZXh0IGFzIHdlbGwuXG4gICAgICAgIC8vIGluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBhcmUgYWJsZSB0byBnZXQgYSBob2xkIHRvIHRoZVxuICAgICAgICAvLyByZWFsIGNvbnRleHQgaW5zdGFuY2UuXG4gICAgICAgIGNvbnRleHRWbSA9IHBhcmVudDtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBwYXJlbnQgPSBwYXJlbnQuX29yaWdpbmFsO1xuICAgIH1cbiAgICB2YXIgaXNDb21waWxlZCA9IGlzVHJ1ZShvcHRpb25zLl9jb21waWxlZCk7XG4gICAgdmFyIG5lZWROb3JtYWxpemF0aW9uID0gIWlzQ29tcGlsZWQ7XG4gICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIHRoaXMubGlzdGVuZXJzID0gZGF0YS5vbiB8fCBlbXB0eU9iamVjdDtcbiAgICB0aGlzLmluamVjdGlvbnMgPSByZXNvbHZlSW5qZWN0KG9wdGlvbnMuaW5qZWN0LCBwYXJlbnQpO1xuICAgIHRoaXMuc2xvdHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghX3RoaXMuJHNsb3RzKSB7XG4gICAgICAgICAgICBub3JtYWxpemVTY29wZWRTbG90cyhwYXJlbnQsIGRhdGEuc2NvcGVkU2xvdHMsIChfdGhpcy4kc2xvdHMgPSByZXNvbHZlU2xvdHMoY2hpbGRyZW4sIHBhcmVudCkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3RoaXMuJHNsb3RzO1xuICAgIH07XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzY29wZWRTbG90cycsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplU2NvcGVkU2xvdHMocGFyZW50LCBkYXRhLnNjb3BlZFNsb3RzLCB0aGlzLnNsb3RzKCkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgLy8gc3VwcG9ydCBmb3IgY29tcGlsZWQgZnVuY3Rpb25hbCB0ZW1wbGF0ZVxuICAgIGlmIChpc0NvbXBpbGVkKSB7XG4gICAgICAgIC8vIGV4cG9zaW5nICRvcHRpb25zIGZvciByZW5kZXJTdGF0aWMoKVxuICAgICAgICB0aGlzLiRvcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgLy8gcHJlLXJlc29sdmUgc2xvdHMgZm9yIHJlbmRlclNsb3QoKVxuICAgICAgICB0aGlzLiRzbG90cyA9IHRoaXMuc2xvdHMoKTtcbiAgICAgICAgdGhpcy4kc2NvcGVkU2xvdHMgPSBub3JtYWxpemVTY29wZWRTbG90cyhwYXJlbnQsIGRhdGEuc2NvcGVkU2xvdHMsIHRoaXMuJHNsb3RzKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuX3Njb3BlSWQpIHtcbiAgICAgICAgdGhpcy5fYyA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7XG4gICAgICAgICAgICB2YXIgdm5vZGUgPSBjcmVhdGVFbGVtZW50JDEoY29udGV4dFZtLCBhLCBiLCBjLCBkLCBuZWVkTm9ybWFsaXphdGlvbik7XG4gICAgICAgICAgICBpZiAodm5vZGUgJiYgIWlzQXJyYXkodm5vZGUpKSB7XG4gICAgICAgICAgICAgICAgdm5vZGUuZm5TY29wZUlkID0gb3B0aW9ucy5fc2NvcGVJZDtcbiAgICAgICAgICAgICAgICB2bm9kZS5mbkNvbnRleHQgPSBwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdm5vZGU7XG4gICAgICAgIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0aGlzLl9jID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHtcbiAgICAgICAgICAgIHJldHVybiBjcmVhdGVFbGVtZW50JDEoY29udGV4dFZtLCBhLCBiLCBjLCBkLCBuZWVkTm9ybWFsaXphdGlvbik7XG4gICAgICAgIH07XG4gICAgfVxufVxuaW5zdGFsbFJlbmRlckhlbHBlcnMoRnVuY3Rpb25hbFJlbmRlckNvbnRleHQucHJvdG90eXBlKTtcbmZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uYWxDb21wb25lbnQoQ3RvciwgcHJvcHNEYXRhLCBkYXRhLCBjb250ZXh0Vm0sIGNoaWxkcmVuKSB7XG4gICAgdmFyIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4gICAgdmFyIHByb3BzID0ge307XG4gICAgdmFyIHByb3BPcHRpb25zID0gb3B0aW9ucy5wcm9wcztcbiAgICBpZiAoaXNEZWYocHJvcE9wdGlvbnMpKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgICAgICAgcHJvcHNba2V5XSA9IHZhbGlkYXRlUHJvcChrZXksIHByb3BPcHRpb25zLCBwcm9wc0RhdGEgfHwgZW1wdHlPYmplY3QpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBpZiAoaXNEZWYoZGF0YS5hdHRycykpXG4gICAgICAgICAgICBtZXJnZVByb3BzKHByb3BzLCBkYXRhLmF0dHJzKTtcbiAgICAgICAgaWYgKGlzRGVmKGRhdGEucHJvcHMpKVxuICAgICAgICAgICAgbWVyZ2VQcm9wcyhwcm9wcywgZGF0YS5wcm9wcyk7XG4gICAgfVxuICAgIHZhciByZW5kZXJDb250ZXh0ID0gbmV3IEZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0KGRhdGEsIHByb3BzLCBjaGlsZHJlbiwgY29udGV4dFZtLCBDdG9yKTtcbiAgICB2YXIgdm5vZGUgPSBvcHRpb25zLnJlbmRlci5jYWxsKG51bGwsIHJlbmRlckNvbnRleHQuX2MsIHJlbmRlckNvbnRleHQpO1xuICAgIGlmICh2bm9kZSBpbnN0YW5jZW9mIFZOb2RlKSB7XG4gICAgICAgIHJldHVybiBjbG9uZUFuZE1hcmtGdW5jdGlvbmFsUmVzdWx0KHZub2RlLCBkYXRhLCByZW5kZXJDb250ZXh0LnBhcmVudCwgb3B0aW9ucywgcmVuZGVyQ29udGV4dCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzQXJyYXkodm5vZGUpKSB7XG4gICAgICAgIHZhciB2bm9kZXMgPSBub3JtYWxpemVDaGlsZHJlbih2bm9kZSkgfHwgW107XG4gICAgICAgIHZhciByZXMgPSBuZXcgQXJyYXkodm5vZGVzLmxlbmd0aCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICByZXNbaV0gPSBjbG9uZUFuZE1hcmtGdW5jdGlvbmFsUmVzdWx0KHZub2Rlc1tpXSwgZGF0YSwgcmVuZGVyQ29udGV4dC5wYXJlbnQsIG9wdGlvbnMsIHJlbmRlckNvbnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxufVxuZnVuY3Rpb24gY2xvbmVBbmRNYXJrRnVuY3Rpb25hbFJlc3VsdCh2bm9kZSwgZGF0YSwgY29udGV4dFZtLCBvcHRpb25zLCByZW5kZXJDb250ZXh0KSB7XG4gICAgLy8gIzc4MTcgY2xvbmUgbm9kZSBiZWZvcmUgc2V0dGluZyBmbkNvbnRleHQsIG90aGVyd2lzZSBpZiB0aGUgbm9kZSBpcyByZXVzZWRcbiAgICAvLyAoZS5nLiBpdCB3YXMgZnJvbSBhIGNhY2hlZCBub3JtYWwgc2xvdCkgdGhlIGZuQ29udGV4dCBjYXVzZXMgbmFtZWQgc2xvdHNcbiAgICAvLyB0aGF0IHNob3VsZCBub3QgYmUgbWF0Y2hlZCB0byBtYXRjaC5cbiAgICB2YXIgY2xvbmUgPSBjbG9uZVZOb2RlKHZub2RlKTtcbiAgICBjbG9uZS5mbkNvbnRleHQgPSBjb250ZXh0Vm07XG4gICAgY2xvbmUuZm5PcHRpb25zID0gb3B0aW9ucztcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAoY2xvbmUuZGV2dG9vbHNNZXRhID0gY2xvbmUuZGV2dG9vbHNNZXRhIHx8IHt9KS5yZW5kZXJDb250ZXh0ID1cbiAgICAgICAgICAgIHJlbmRlckNvbnRleHQ7XG4gICAgfVxuICAgIGlmIChkYXRhLnNsb3QpIHtcbiAgICAgICAgKGNsb25lLmRhdGEgfHwgKGNsb25lLmRhdGEgPSB7fSkpLnNsb3QgPSBkYXRhLnNsb3Q7XG4gICAgfVxuICAgIHJldHVybiBjbG9uZTtcbn1cbmZ1bmN0aW9uIG1lcmdlUHJvcHModG8sIGZyb20pIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuICAgICAgICB0b1tjYW1lbGl6ZShrZXkpXSA9IGZyb21ba2V5XTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdldENvbXBvbmVudE5hbWUob3B0aW9ucykge1xuICAgIHJldHVybiBvcHRpb25zLm5hbWUgfHwgb3B0aW9ucy5fX25hbWUgfHwgb3B0aW9ucy5fY29tcG9uZW50VGFnO1xufVxuLy8gaW5saW5lIGhvb2tzIHRvIGJlIGludm9rZWQgb24gY29tcG9uZW50IFZOb2RlcyBkdXJpbmcgcGF0Y2hcbnZhciBjb21wb25lbnRWTm9kZUhvb2tzID0ge1xuICAgIGluaXQ6IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0aW5nKSB7XG4gICAgICAgIGlmICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSAmJlxuICAgICAgICAgICAgIXZub2RlLmNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCAmJlxuICAgICAgICAgICAgdm5vZGUuZGF0YS5rZWVwQWxpdmUpIHtcbiAgICAgICAgICAgIC8vIGtlcHQtYWxpdmUgY29tcG9uZW50cywgdHJlYXQgYXMgYSBwYXRjaFxuICAgICAgICAgICAgdmFyIG1vdW50ZWROb2RlID0gdm5vZGU7IC8vIHdvcmsgYXJvdW5kIGZsb3dcbiAgICAgICAgICAgIGNvbXBvbmVudFZOb2RlSG9va3MucHJlcGF0Y2gobW91bnRlZE5vZGUsIG1vdW50ZWROb2RlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBjaGlsZCA9ICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IGNyZWF0ZUNvbXBvbmVudEluc3RhbmNlRm9yVm5vZGUodm5vZGUsIGFjdGl2ZUluc3RhbmNlKSk7XG4gICAgICAgICAgICBjaGlsZC4kbW91bnQoaHlkcmF0aW5nID8gdm5vZGUuZWxtIDogdW5kZWZpbmVkLCBoeWRyYXRpbmcpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBwcmVwYXRjaDogZnVuY3Rpb24gKG9sZFZub2RlLCB2bm9kZSkge1xuICAgICAgICB2YXIgb3B0aW9ucyA9IHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gICAgICAgIHZhciBjaGlsZCA9ICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlKTtcbiAgICAgICAgdXBkYXRlQ2hpbGRDb21wb25lbnQoY2hpbGQsIG9wdGlvbnMucHJvcHNEYXRhLCAvLyB1cGRhdGVkIHByb3BzXG4gICAgICAgIG9wdGlvbnMubGlzdGVuZXJzLCAvLyB1cGRhdGVkIGxpc3RlbmVyc1xuICAgICAgICB2bm9kZSwgLy8gbmV3IHBhcmVudCB2bm9kZVxuICAgICAgICBvcHRpb25zLmNoaWxkcmVuIC8vIG5ldyBjaGlsZHJlblxuICAgICAgICApO1xuICAgIH0sXG4gICAgaW5zZXJ0OiBmdW5jdGlvbiAodm5vZGUpIHtcbiAgICAgICAgdmFyIGNvbnRleHQgPSB2bm9kZS5jb250ZXh0LCBjb21wb25lbnRJbnN0YW5jZSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgICBpZiAoIWNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQgPSB0cnVlO1xuICAgICAgICAgICAgY2FsbEhvb2skMShjb21wb25lbnRJbnN0YW5jZSwgJ21vdW50ZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodm5vZGUuZGF0YS5rZWVwQWxpdmUpIHtcbiAgICAgICAgICAgIGlmIChjb250ZXh0Ll9pc01vdW50ZWQpIHtcbiAgICAgICAgICAgICAgICAvLyB2dWUtcm91dGVyIzEyMTJcbiAgICAgICAgICAgICAgICAvLyBEdXJpbmcgdXBkYXRlcywgYSBrZXB0LWFsaXZlIGNvbXBvbmVudCdzIGNoaWxkIGNvbXBvbmVudHMgbWF5XG4gICAgICAgICAgICAgICAgLy8gY2hhbmdlLCBzbyBkaXJlY3RseSB3YWxraW5nIHRoZSB0cmVlIGhlcmUgbWF5IGNhbGwgYWN0aXZhdGVkIGhvb2tzXG4gICAgICAgICAgICAgICAgLy8gb24gaW5jb3JyZWN0IGNoaWxkcmVuLiBJbnN0ZWFkIHdlIHB1c2ggdGhlbSBpbnRvIGEgcXVldWUgd2hpY2ggd2lsbFxuICAgICAgICAgICAgICAgIC8vIGJlIHByb2Nlc3NlZCBhZnRlciB0aGUgd2hvbGUgcGF0Y2ggcHJvY2VzcyBlbmRlZC5cbiAgICAgICAgICAgICAgICBxdWV1ZUFjdGl2YXRlZENvbXBvbmVudChjb21wb25lbnRJbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlLCB0cnVlIC8qIGRpcmVjdCAqLyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRlc3Ryb3k6IGZ1bmN0aW9uICh2bm9kZSkge1xuICAgICAgICB2YXIgY29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgICAgaWYgKCFjb21wb25lbnRJbnN0YW5jZS5faXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIGlmICghdm5vZGUuZGF0YS5rZWVwQWxpdmUpIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS4kZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlLCB0cnVlIC8qIGRpcmVjdCAqLyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xudmFyIGhvb2tzVG9NZXJnZSA9IE9iamVjdC5rZXlzKGNvbXBvbmVudFZOb2RlSG9va3MpO1xuZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50KEN0b3IsIGRhdGEsIGNvbnRleHQsIGNoaWxkcmVuLCB0YWcpIHtcbiAgICBpZiAoaXNVbmRlZihDdG9yKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBiYXNlQ3RvciA9IGNvbnRleHQuJG9wdGlvbnMuX2Jhc2U7XG4gICAgLy8gcGxhaW4gb3B0aW9ucyBvYmplY3Q6IHR1cm4gaXQgaW50byBhIGNvbnN0cnVjdG9yXG4gICAgaWYgKGlzT2JqZWN0KEN0b3IpKSB7XG4gICAgICAgIEN0b3IgPSBiYXNlQ3Rvci5leHRlbmQoQ3Rvcik7XG4gICAgfVxuICAgIC8vIGlmIGF0IHRoaXMgc3RhZ2UgaXQncyBub3QgYSBjb25zdHJ1Y3RvciBvciBhbiBhc3luYyBjb21wb25lbnQgZmFjdG9yeSxcbiAgICAvLyByZWplY3QuXG4gICAgaWYgKHR5cGVvZiBDdG9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCJJbnZhbGlkIENvbXBvbmVudCBkZWZpbml0aW9uOiBcIi5jb25jYXQoU3RyaW5nKEN0b3IpKSwgY29udGV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBhc3luYyBjb21wb25lbnRcbiAgICB2YXIgYXN5bmNGYWN0b3J5O1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBpZiAoaXNVbmRlZihDdG9yLmNpZCkpIHtcbiAgICAgICAgYXN5bmNGYWN0b3J5ID0gQ3RvcjtcbiAgICAgICAgQ3RvciA9IHJlc29sdmVBc3luY0NvbXBvbmVudChhc3luY0ZhY3RvcnksIGJhc2VDdG9yKTtcbiAgICAgICAgaWYgKEN0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGEgcGxhY2Vob2xkZXIgbm9kZSBmb3IgYXN5bmMgY29tcG9uZW50LCB3aGljaCBpcyByZW5kZXJlZFxuICAgICAgICAgICAgLy8gYXMgYSBjb21tZW50IG5vZGUgYnV0IHByZXNlcnZlcyBhbGwgdGhlIHJhdyBpbmZvcm1hdGlvbiBmb3IgdGhlIG5vZGUuXG4gICAgICAgICAgICAvLyB0aGUgaW5mb3JtYXRpb24gd2lsbCBiZSB1c2VkIGZvciBhc3luYyBzZXJ2ZXItcmVuZGVyaW5nIGFuZCBoeWRyYXRpb24uXG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlQXN5bmNQbGFjZWhvbGRlcihhc3luY0ZhY3RvcnksIGRhdGEsIGNvbnRleHQsIGNoaWxkcmVuLCB0YWcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRhdGEgPSBkYXRhIHx8IHt9O1xuICAgIC8vIHJlc29sdmUgY29uc3RydWN0b3Igb3B0aW9ucyBpbiBjYXNlIGdsb2JhbCBtaXhpbnMgYXJlIGFwcGxpZWQgYWZ0ZXJcbiAgICAvLyBjb21wb25lbnQgY29uc3RydWN0b3IgY3JlYXRpb25cbiAgICByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0b3IpO1xuICAgIC8vIHRyYW5zZm9ybSBjb21wb25lbnQgdi1tb2RlbCBkYXRhIGludG8gcHJvcHMgJiBldmVudHNcbiAgICBpZiAoaXNEZWYoZGF0YS5tb2RlbCkpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICB0cmFuc2Zvcm1Nb2RlbChDdG9yLm9wdGlvbnMsIGRhdGEpO1xuICAgIH1cbiAgICAvLyBleHRyYWN0IHByb3BzXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHZhciBwcm9wc0RhdGEgPSBleHRyYWN0UHJvcHNGcm9tVk5vZGVEYXRhKGRhdGEsIEN0b3IsIHRhZyk7XG4gICAgLy8gZnVuY3Rpb25hbCBjb21wb25lbnRcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgaWYgKGlzVHJ1ZShDdG9yLm9wdGlvbnMuZnVuY3Rpb25hbCkpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZ1bmN0aW9uYWxDb21wb25lbnQoQ3RvciwgcHJvcHNEYXRhLCBkYXRhLCBjb250ZXh0LCBjaGlsZHJlbik7XG4gICAgfVxuICAgIC8vIGV4dHJhY3QgbGlzdGVuZXJzLCBzaW5jZSB0aGVzZSBuZWVkcyB0byBiZSB0cmVhdGVkIGFzXG4gICAgLy8gY2hpbGQgY29tcG9uZW50IGxpc3RlbmVycyBpbnN0ZWFkIG9mIERPTSBsaXN0ZW5lcnNcbiAgICB2YXIgbGlzdGVuZXJzID0gZGF0YS5vbjtcbiAgICAvLyByZXBsYWNlIHdpdGggbGlzdGVuZXJzIHdpdGggLm5hdGl2ZSBtb2RpZmllclxuICAgIC8vIHNvIGl0IGdldHMgcHJvY2Vzc2VkIGR1cmluZyBwYXJlbnQgY29tcG9uZW50IHBhdGNoLlxuICAgIGRhdGEub24gPSBkYXRhLm5hdGl2ZU9uO1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBpZiAoaXNUcnVlKEN0b3Iub3B0aW9ucy5hYnN0cmFjdCkpIHtcbiAgICAgICAgLy8gYWJzdHJhY3QgY29tcG9uZW50cyBkbyBub3Qga2VlcCBhbnl0aGluZ1xuICAgICAgICAvLyBvdGhlciB0aGFuIHByb3BzICYgbGlzdGVuZXJzICYgc2xvdFxuICAgICAgICAvLyB3b3JrIGFyb3VuZCBmbG93XG4gICAgICAgIHZhciBzbG90ID0gZGF0YS5zbG90O1xuICAgICAgICBkYXRhID0ge307XG4gICAgICAgIGlmIChzbG90KSB7XG4gICAgICAgICAgICBkYXRhLnNsb3QgPSBzbG90O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGluc3RhbGwgY29tcG9uZW50IG1hbmFnZW1lbnQgaG9va3Mgb250byB0aGUgcGxhY2Vob2xkZXIgbm9kZVxuICAgIGluc3RhbGxDb21wb25lbnRIb29rcyhkYXRhKTtcbiAgICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciB2bm9kZVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoQ3Rvci5vcHRpb25zKSB8fCB0YWc7XG4gICAgdmFyIHZub2RlID0gbmV3IFZOb2RlKFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBcInZ1ZS1jb21wb25lbnQtXCIuY29uY2F0KEN0b3IuY2lkKS5jb25jYXQobmFtZSA/IFwiLVwiLmNvbmNhdChuYW1lKSA6ICcnKSwgZGF0YSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29udGV4dCwgXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHsgQ3RvcjogQ3RvciwgcHJvcHNEYXRhOiBwcm9wc0RhdGEsIGxpc3RlbmVyczogbGlzdGVuZXJzLCB0YWc6IHRhZywgY2hpbGRyZW46IGNoaWxkcmVuIH0sIGFzeW5jRmFjdG9yeSk7XG4gICAgcmV0dXJuIHZub2RlO1xufVxuZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50SW5zdGFuY2VGb3JWbm9kZShcbi8vIHdlIGtub3cgaXQncyBNb3VudGVkQ29tcG9uZW50Vk5vZGUgYnV0IGZsb3cgZG9lc24ndFxudm5vZGUsIFxuLy8gYWN0aXZlSW5zdGFuY2UgaW4gbGlmZWN5Y2xlIHN0YXRlXG5wYXJlbnQpIHtcbiAgICB2YXIgb3B0aW9ucyA9IHtcbiAgICAgICAgX2lzQ29tcG9uZW50OiB0cnVlLFxuICAgICAgICBfcGFyZW50Vm5vZGU6IHZub2RlLFxuICAgICAgICBwYXJlbnQ6IHBhcmVudFxuICAgIH07XG4gICAgLy8gY2hlY2sgaW5saW5lLXRlbXBsYXRlIHJlbmRlciBmdW5jdGlvbnNcbiAgICB2YXIgaW5saW5lVGVtcGxhdGUgPSB2bm9kZS5kYXRhLmlubGluZVRlbXBsYXRlO1xuICAgIGlmIChpc0RlZihpbmxpbmVUZW1wbGF0ZSkpIHtcbiAgICAgICAgb3B0aW9ucy5yZW5kZXIgPSBpbmxpbmVUZW1wbGF0ZS5yZW5kZXI7XG4gICAgICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gaW5saW5lVGVtcGxhdGUuc3RhdGljUmVuZGVyRm5zO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IHZub2RlLmNvbXBvbmVudE9wdGlvbnMuQ3RvcihvcHRpb25zKTtcbn1cbmZ1bmN0aW9uIGluc3RhbGxDb21wb25lbnRIb29rcyhkYXRhKSB7XG4gICAgdmFyIGhvb2tzID0gZGF0YS5ob29rIHx8IChkYXRhLmhvb2sgPSB7fSk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBob29rc1RvTWVyZ2UubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGtleSA9IGhvb2tzVG9NZXJnZVtpXTtcbiAgICAgICAgdmFyIGV4aXN0aW5nID0gaG9va3Nba2V5XTtcbiAgICAgICAgdmFyIHRvTWVyZ2UgPSBjb21wb25lbnRWTm9kZUhvb2tzW2tleV07XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgaWYgKGV4aXN0aW5nICE9PSB0b01lcmdlICYmICEoZXhpc3RpbmcgJiYgZXhpc3RpbmcuX21lcmdlZCkpIHtcbiAgICAgICAgICAgIGhvb2tzW2tleV0gPSBleGlzdGluZyA/IG1lcmdlSG9vayh0b01lcmdlLCBleGlzdGluZykgOiB0b01lcmdlO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gbWVyZ2VIb29rKGYxLCBmMikge1xuICAgIHZhciBtZXJnZWQgPSBmdW5jdGlvbiAoYSwgYikge1xuICAgICAgICAvLyBmbG93IGNvbXBsYWlucyBhYm91dCBleHRyYSBhcmdzIHdoaWNoIGlzIHdoeSB3ZSB1c2UgYW55XG4gICAgICAgIGYxKGEsIGIpO1xuICAgICAgICBmMihhLCBiKTtcbiAgICB9O1xuICAgIG1lcmdlZC5fbWVyZ2VkID0gdHJ1ZTtcbiAgICByZXR1cm4gbWVyZ2VkO1xufVxuLy8gdHJhbnNmb3JtIGNvbXBvbmVudCB2LW1vZGVsIGluZm8gKHZhbHVlIGFuZCBjYWxsYmFjaykgaW50b1xuLy8gcHJvcCBhbmQgZXZlbnQgaGFuZGxlciByZXNwZWN0aXZlbHkuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Nb2RlbChvcHRpb25zLCBkYXRhKSB7XG4gICAgdmFyIHByb3AgPSAob3B0aW9ucy5tb2RlbCAmJiBvcHRpb25zLm1vZGVsLnByb3ApIHx8ICd2YWx1ZSc7XG4gICAgdmFyIGV2ZW50ID0gKG9wdGlvbnMubW9kZWwgJiYgb3B0aW9ucy5tb2RlbC5ldmVudCkgfHwgJ2lucHV0JztcbiAgICAoZGF0YS5hdHRycyB8fCAoZGF0YS5hdHRycyA9IHt9KSlbcHJvcF0gPSBkYXRhLm1vZGVsLnZhbHVlO1xuICAgIHZhciBvbiA9IGRhdGEub24gfHwgKGRhdGEub24gPSB7fSk7XG4gICAgdmFyIGV4aXN0aW5nID0gb25bZXZlbnRdO1xuICAgIHZhciBjYWxsYmFjayA9IGRhdGEubW9kZWwuY2FsbGJhY2s7XG4gICAgaWYgKGlzRGVmKGV4aXN0aW5nKSkge1xuICAgICAgICBpZiAoaXNBcnJheShleGlzdGluZylcbiAgICAgICAgICAgID8gZXhpc3RpbmcuaW5kZXhPZihjYWxsYmFjaykgPT09IC0xXG4gICAgICAgICAgICA6IGV4aXN0aW5nICE9PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgb25bZXZlbnRdID0gW2NhbGxiYWNrXS5jb25jYXQoZXhpc3RpbmcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBvbltldmVudF0gPSBjYWxsYmFjaztcbiAgICB9XG59XG5cbnZhciB3YXJuJDIgPSBub29wO1xudmFyIHRpcCA9IG5vb3A7XG52YXIgZ2VuZXJhdGVDb21wb25lbnRUcmFjZTsgLy8gd29yayBhcm91bmQgZmxvdyBjaGVja1xudmFyIGZvcm1hdENvbXBvbmVudE5hbWU7XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHZhciBoYXNDb25zb2xlXzEgPSB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgdmFyIGNsYXNzaWZ5UkVfMSA9IC8oPzpefFstX10pKFxcdykvZztcbiAgICB2YXIgY2xhc3NpZnlfMSA9IGZ1bmN0aW9uIChzdHIpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKGNsYXNzaWZ5UkVfMSwgZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGMudG9VcHBlckNhc2UoKTsgfSkucmVwbGFjZSgvWy1fXS9nLCAnJyk7XG4gICAgfTtcbiAgICB3YXJuJDIgPSBmdW5jdGlvbiAobXNnLCB2bSkge1xuICAgICAgICBpZiAodm0gPT09IHZvaWQgMCkgeyB2bSA9IGN1cnJlbnRJbnN0YW5jZTsgfVxuICAgICAgICB2YXIgdHJhY2UgPSB2bSA/IGdlbmVyYXRlQ29tcG9uZW50VHJhY2Uodm0pIDogJyc7XG4gICAgICAgIGlmIChjb25maWcud2FybkhhbmRsZXIpIHtcbiAgICAgICAgICAgIGNvbmZpZy53YXJuSGFuZGxlci5jYWxsKG51bGwsIG1zZywgdm0sIHRyYWNlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChoYXNDb25zb2xlXzEgJiYgIWNvbmZpZy5zaWxlbnQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJbVnVlIHdhcm5dOiBcIi5jb25jYXQobXNnKS5jb25jYXQodHJhY2UpKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgdGlwID0gZnVuY3Rpb24gKG1zZywgdm0pIHtcbiAgICAgICAgaWYgKGhhc0NvbnNvbGVfMSAmJiAhY29uZmlnLnNpbGVudCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiW1Z1ZSB0aXBdOiBcIi5jb25jYXQobXNnKSArICh2bSA/IGdlbmVyYXRlQ29tcG9uZW50VHJhY2Uodm0pIDogJycpKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZm9ybWF0Q29tcG9uZW50TmFtZSA9IGZ1bmN0aW9uICh2bSwgaW5jbHVkZUZpbGUpIHtcbiAgICAgICAgaWYgKHZtLiRyb290ID09PSB2bSkge1xuICAgICAgICAgICAgcmV0dXJuICc8Um9vdD4nO1xuICAgICAgICB9XG4gICAgICAgIHZhciBvcHRpb25zID0gaXNGdW5jdGlvbih2bSkgJiYgdm0uY2lkICE9IG51bGxcbiAgICAgICAgICAgID8gdm0ub3B0aW9uc1xuICAgICAgICAgICAgOiB2bS5faXNWdWVcbiAgICAgICAgICAgICAgICA/IHZtLiRvcHRpb25zIHx8IHZtLmNvbnN0cnVjdG9yLm9wdGlvbnNcbiAgICAgICAgICAgICAgICA6IHZtO1xuICAgICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUob3B0aW9ucyk7XG4gICAgICAgIHZhciBmaWxlID0gb3B0aW9ucy5fX2ZpbGU7XG4gICAgICAgIGlmICghbmFtZSAmJiBmaWxlKSB7XG4gICAgICAgICAgICB2YXIgbWF0Y2ggPSBmaWxlLm1hdGNoKC8oW14vXFxcXF0rKVxcLnZ1ZSQvKTtcbiAgICAgICAgICAgIG5hbWUgPSBtYXRjaCAmJiBtYXRjaFsxXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKChuYW1lID8gXCI8XCIuY29uY2F0KGNsYXNzaWZ5XzEobmFtZSksIFwiPlwiKSA6IFwiPEFub255bW91cz5cIikgK1xuICAgICAgICAgICAgKGZpbGUgJiYgaW5jbHVkZUZpbGUgIT09IGZhbHNlID8gXCIgYXQgXCIuY29uY2F0KGZpbGUpIDogJycpKTtcbiAgICB9O1xuICAgIHZhciByZXBlYXRfMSA9IGZ1bmN0aW9uIChzdHIsIG4pIHtcbiAgICAgICAgdmFyIHJlcyA9ICcnO1xuICAgICAgICB3aGlsZSAobikge1xuICAgICAgICAgICAgaWYgKG4gJSAyID09PSAxKVxuICAgICAgICAgICAgICAgIHJlcyArPSBzdHI7XG4gICAgICAgICAgICBpZiAobiA+IDEpXG4gICAgICAgICAgICAgICAgc3RyICs9IHN0cjtcbiAgICAgICAgICAgIG4gPj49IDE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICAgIGdlbmVyYXRlQ29tcG9uZW50VHJhY2UgPSBmdW5jdGlvbiAodm0pIHtcbiAgICAgICAgaWYgKHZtLl9pc1Z1ZSAmJiB2bS4kcGFyZW50KSB7XG4gICAgICAgICAgICB2YXIgdHJlZSA9IFtdO1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSA9IDA7XG4gICAgICAgICAgICB3aGlsZSAodm0pIHtcbiAgICAgICAgICAgICAgICBpZiAodHJlZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBsYXN0ID0gdHJlZVt0cmVlLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdC5jb25zdHJ1Y3RvciA9PT0gdm0uY29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSsrO1xuICAgICAgICAgICAgICAgICAgICAgICAgdm0gPSB2bS4kcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZVt0cmVlLmxlbmd0aCAtIDFdID0gW2xhc3QsIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UgPSAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRyZWUucHVzaCh2bSk7XG4gICAgICAgICAgICAgICAgdm0gPSB2bS4kcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgnXFxuXFxuZm91bmQgaW5cXG5cXG4nICtcbiAgICAgICAgICAgICAgICB0cmVlXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKHZtLCBpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcIlwiLmNvbmNhdChpID09PSAwID8gJy0tLT4gJyA6IHJlcGVhdF8xKCcgJywgNSArIGkgKiAyKSkuY29uY2F0KGlzQXJyYXkodm0pXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiXCIuY29uY2F0KGZvcm1hdENvbXBvbmVudE5hbWUodm1bMF0pLCBcIi4uLiAoXCIpLmNvbmNhdCh2bVsxXSwgXCIgcmVjdXJzaXZlIGNhbGxzKVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmb3JtYXRDb21wb25lbnROYW1lKHZtKSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJ1xcbicpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBcIlxcblxcbihmb3VuZCBpbiBcIi5jb25jYXQoZm9ybWF0Q29tcG9uZW50TmFtZSh2bSksIFwiKVwiKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbi8qKlxuICogT3B0aW9uIG92ZXJ3cml0aW5nIHN0cmF0ZWdpZXMgYXJlIGZ1bmN0aW9ucyB0aGF0IGhhbmRsZVxuICogaG93IHRvIG1lcmdlIGEgcGFyZW50IG9wdGlvbiB2YWx1ZSBhbmQgYSBjaGlsZCBvcHRpb25cbiAqIHZhbHVlIGludG8gdGhlIGZpbmFsIHZhbHVlLlxuICovXG52YXIgc3RyYXRzID0gY29uZmlnLm9wdGlvbk1lcmdlU3RyYXRlZ2llcztcbi8qKlxuICogT3B0aW9ucyB3aXRoIHJlc3RyaWN0aW9uc1xuICovXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHN0cmF0cy5lbCA9IHN0cmF0cy5wcm9wc0RhdGEgPSBmdW5jdGlvbiAocGFyZW50LCBjaGlsZCwgdm0sIGtleSkge1xuICAgICAgICBpZiAoIXZtKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCJvcHRpb24gXFxcIlwiLmNvbmNhdChrZXksIFwiXFxcIiBjYW4gb25seSBiZSB1c2VkIGR1cmluZyBpbnN0YW5jZSBcIikgK1xuICAgICAgICAgICAgICAgICdjcmVhdGlvbiB3aXRoIHRoZSBgbmV3YCBrZXl3b3JkLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWZhdWx0U3RyYXQocGFyZW50LCBjaGlsZCk7XG4gICAgfTtcbn1cbi8qKlxuICogSGVscGVyIHRoYXQgcmVjdXJzaXZlbHkgbWVyZ2VzIHR3byBkYXRhIG9iamVjdHMgdG9nZXRoZXIuXG4gKi9cbmZ1bmN0aW9uIG1lcmdlRGF0YSh0bywgZnJvbSwgcmVjdXJzaXZlKSB7XG4gICAgaWYgKHJlY3Vyc2l2ZSA9PT0gdm9pZCAwKSB7IHJlY3Vyc2l2ZSA9IHRydWU7IH1cbiAgICBpZiAoIWZyb20pXG4gICAgICAgIHJldHVybiB0bztcbiAgICB2YXIga2V5LCB0b1ZhbCwgZnJvbVZhbDtcbiAgICB2YXIga2V5cyA9IGhhc1N5bWJvbFxuICAgICAgICA/IFJlZmxlY3Qub3duS2V5cyhmcm9tKVxuICAgICAgICA6IE9iamVjdC5rZXlzKGZyb20pO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAvLyBpbiBjYXNlIHRoZSBvYmplY3QgaXMgYWxyZWFkeSBvYnNlcnZlZC4uLlxuICAgICAgICBpZiAoa2V5ID09PSAnX19vYl9fJylcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB0b1ZhbCA9IHRvW2tleV07XG4gICAgICAgIGZyb21WYWwgPSBmcm9tW2tleV07XG4gICAgICAgIGlmICghcmVjdXJzaXZlIHx8ICFoYXNPd24odG8sIGtleSkpIHtcbiAgICAgICAgICAgIHNldCh0bywga2V5LCBmcm9tVmFsKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0b1ZhbCAhPT0gZnJvbVZhbCAmJlxuICAgICAgICAgICAgaXNQbGFpbk9iamVjdCh0b1ZhbCkgJiZcbiAgICAgICAgICAgIGlzUGxhaW5PYmplY3QoZnJvbVZhbCkpIHtcbiAgICAgICAgICAgIG1lcmdlRGF0YSh0b1ZhbCwgZnJvbVZhbCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRvO1xufVxuLyoqXG4gKiBEYXRhXG4gKi9cbmZ1bmN0aW9uIG1lcmdlRGF0YU9yRm4ocGFyZW50VmFsLCBjaGlsZFZhbCwgdm0pIHtcbiAgICBpZiAoIXZtKSB7XG4gICAgICAgIC8vIGluIGEgVnVlLmV4dGVuZCBtZXJnZSwgYm90aCBzaG91bGQgYmUgZnVuY3Rpb25zXG4gICAgICAgIGlmICghY2hpbGRWYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnRWYWw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFwYXJlbnRWYWwpIHtcbiAgICAgICAgICAgIHJldHVybiBjaGlsZFZhbDtcbiAgICAgICAgfVxuICAgICAgICAvLyB3aGVuIHBhcmVudFZhbCAmIGNoaWxkVmFsIGFyZSBib3RoIHByZXNlbnQsXG4gICAgICAgIC8vIHdlIG5lZWQgdG8gcmV0dXJuIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZVxuICAgICAgICAvLyBtZXJnZWQgcmVzdWx0IG9mIGJvdGggZnVuY3Rpb25zLi4uIG5vIG5lZWQgdG9cbiAgICAgICAgLy8gY2hlY2sgaWYgcGFyZW50VmFsIGlzIGEgZnVuY3Rpb24gaGVyZSBiZWNhdXNlXG4gICAgICAgIC8vIGl0IGhhcyB0byBiZSBhIGZ1bmN0aW9uIHRvIHBhc3MgcHJldmlvdXMgbWVyZ2VzLlxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gbWVyZ2VkRGF0YUZuKCkge1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlRGF0YShpc0Z1bmN0aW9uKGNoaWxkVmFsKSA/IGNoaWxkVmFsLmNhbGwodGhpcywgdGhpcykgOiBjaGlsZFZhbCwgaXNGdW5jdGlvbihwYXJlbnRWYWwpID8gcGFyZW50VmFsLmNhbGwodGhpcywgdGhpcykgOiBwYXJlbnRWYWwpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIG1lcmdlZEluc3RhbmNlRGF0YUZuKCkge1xuICAgICAgICAgICAgLy8gaW5zdGFuY2UgbWVyZ2VcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZURhdGEgPSBpc0Z1bmN0aW9uKGNoaWxkVmFsKVxuICAgICAgICAgICAgICAgID8gY2hpbGRWYWwuY2FsbCh2bSwgdm0pXG4gICAgICAgICAgICAgICAgOiBjaGlsZFZhbDtcbiAgICAgICAgICAgIHZhciBkZWZhdWx0RGF0YSA9IGlzRnVuY3Rpb24ocGFyZW50VmFsKVxuICAgICAgICAgICAgICAgID8gcGFyZW50VmFsLmNhbGwodm0sIHZtKVxuICAgICAgICAgICAgICAgIDogcGFyZW50VmFsO1xuICAgICAgICAgICAgaWYgKGluc3RhbmNlRGF0YSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBtZXJnZURhdGEoaW5zdGFuY2VEYXRhLCBkZWZhdWx0RGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdERhdGE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufVxuc3RyYXRzLmRhdGEgPSBmdW5jdGlvbiAocGFyZW50VmFsLCBjaGlsZFZhbCwgdm0pIHtcbiAgICBpZiAoIXZtKSB7XG4gICAgICAgIGlmIChjaGlsZFZhbCAmJiB0eXBlb2YgY2hpbGRWYWwgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICB3YXJuJDIoJ1RoZSBcImRhdGFcIiBvcHRpb24gc2hvdWxkIGJlIGEgZnVuY3Rpb24gJyArXG4gICAgICAgICAgICAgICAgICAgICd0aGF0IHJldHVybnMgYSBwZXItaW5zdGFuY2UgdmFsdWUgaW4gY29tcG9uZW50ICcgK1xuICAgICAgICAgICAgICAgICAgICAnZGVmaW5pdGlvbnMuJywgdm0pO1xuICAgICAgICAgICAgcmV0dXJuIHBhcmVudFZhbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWVyZ2VEYXRhT3JGbihwYXJlbnRWYWwsIGNoaWxkVmFsKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lcmdlRGF0YU9yRm4ocGFyZW50VmFsLCBjaGlsZFZhbCwgdm0pO1xufTtcbi8qKlxuICogSG9va3MgYW5kIHByb3BzIGFyZSBtZXJnZWQgYXMgYXJyYXlzLlxuICovXG5mdW5jdGlvbiBtZXJnZUxpZmVjeWNsZUhvb2socGFyZW50VmFsLCBjaGlsZFZhbCkge1xuICAgIHZhciByZXMgPSBjaGlsZFZhbFxuICAgICAgICA/IHBhcmVudFZhbFxuICAgICAgICAgICAgPyBwYXJlbnRWYWwuY29uY2F0KGNoaWxkVmFsKVxuICAgICAgICAgICAgOiBpc0FycmF5KGNoaWxkVmFsKVxuICAgICAgICAgICAgICAgID8gY2hpbGRWYWxcbiAgICAgICAgICAgICAgICA6IFtjaGlsZFZhbF1cbiAgICAgICAgOiBwYXJlbnRWYWw7XG4gICAgcmV0dXJuIHJlcyA/IGRlZHVwZUhvb2tzKHJlcykgOiByZXM7XG59XG5mdW5jdGlvbiBkZWR1cGVIb29rcyhob29rcykge1xuICAgIHZhciByZXMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChyZXMuaW5kZXhPZihob29rc1tpXSkgPT09IC0xKSB7XG4gICAgICAgICAgICByZXMucHVzaChob29rc1tpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbkxJRkVDWUNMRV9IT09LUy5mb3JFYWNoKGZ1bmN0aW9uIChob29rKSB7XG4gICAgc3RyYXRzW2hvb2tdID0gbWVyZ2VMaWZlY3ljbGVIb29rO1xufSk7XG4vKipcbiAqIEFzc2V0c1xuICpcbiAqIFdoZW4gYSB2bSBpcyBwcmVzZW50IChpbnN0YW5jZSBjcmVhdGlvbiksIHdlIG5lZWQgdG8gZG9cbiAqIGEgdGhyZWUtd2F5IG1lcmdlIGJldHdlZW4gY29uc3RydWN0b3Igb3B0aW9ucywgaW5zdGFuY2VcbiAqIG9wdGlvbnMgYW5kIHBhcmVudCBvcHRpb25zLlxuICovXG5mdW5jdGlvbiBtZXJnZUFzc2V0cyhwYXJlbnRWYWwsIGNoaWxkVmFsLCB2bSwga2V5KSB7XG4gICAgdmFyIHJlcyA9IE9iamVjdC5jcmVhdGUocGFyZW50VmFsIHx8IG51bGwpO1xuICAgIGlmIChjaGlsZFZhbCkge1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGFzc2VydE9iamVjdFR5cGUoa2V5LCBjaGlsZFZhbCwgdm0pO1xuICAgICAgICByZXR1cm4gZXh0ZW5kKHJlcywgY2hpbGRWYWwpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG59XG5BU1NFVF9UWVBFUy5mb3JFYWNoKGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgc3RyYXRzW3R5cGUgKyAncyddID0gbWVyZ2VBc3NldHM7XG59KTtcbi8qKlxuICogV2F0Y2hlcnMuXG4gKlxuICogV2F0Y2hlcnMgaGFzaGVzIHNob3VsZCBub3Qgb3ZlcndyaXRlIG9uZVxuICogYW5vdGhlciwgc28gd2UgbWVyZ2UgdGhlbSBhcyBhcnJheXMuXG4gKi9cbnN0cmF0cy53YXRjaCA9IGZ1bmN0aW9uIChwYXJlbnRWYWwsIGNoaWxkVmFsLCB2bSwga2V5KSB7XG4gICAgLy8gd29yayBhcm91bmQgRmlyZWZveCdzIE9iamVjdC5wcm90b3R5cGUud2F0Y2guLi5cbiAgICAvL0B0cy1leHBlY3QtZXJyb3Igd29yayBhcm91bmRcbiAgICBpZiAocGFyZW50VmFsID09PSBuYXRpdmVXYXRjaClcbiAgICAgICAgcGFyZW50VmFsID0gdW5kZWZpbmVkO1xuICAgIC8vQHRzLWV4cGVjdC1lcnJvciB3b3JrIGFyb3VuZFxuICAgIGlmIChjaGlsZFZhbCA9PT0gbmF0aXZlV2F0Y2gpXG4gICAgICAgIGNoaWxkVmFsID0gdW5kZWZpbmVkO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY2hpbGRWYWwpXG4gICAgICAgIHJldHVybiBPYmplY3QuY3JlYXRlKHBhcmVudFZhbCB8fCBudWxsKTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBhc3NlcnRPYmplY3RUeXBlKGtleSwgY2hpbGRWYWwsIHZtKTtcbiAgICB9XG4gICAgaWYgKCFwYXJlbnRWYWwpXG4gICAgICAgIHJldHVybiBjaGlsZFZhbDtcbiAgICB2YXIgcmV0ID0ge307XG4gICAgZXh0ZW5kKHJldCwgcGFyZW50VmFsKTtcbiAgICBmb3IgKHZhciBrZXlfMSBpbiBjaGlsZFZhbCkge1xuICAgICAgICB2YXIgcGFyZW50XzEgPSByZXRba2V5XzFdO1xuICAgICAgICB2YXIgY2hpbGQgPSBjaGlsZFZhbFtrZXlfMV07XG4gICAgICAgIGlmIChwYXJlbnRfMSAmJiAhaXNBcnJheShwYXJlbnRfMSkpIHtcbiAgICAgICAgICAgIHBhcmVudF8xID0gW3BhcmVudF8xXTtcbiAgICAgICAgfVxuICAgICAgICByZXRba2V5XzFdID0gcGFyZW50XzEgPyBwYXJlbnRfMS5jb25jYXQoY2hpbGQpIDogaXNBcnJheShjaGlsZCkgPyBjaGlsZCA6IFtjaGlsZF07XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG59O1xuLyoqXG4gKiBPdGhlciBvYmplY3QgaGFzaGVzLlxuICovXG5zdHJhdHMucHJvcHMgPVxuICAgIHN0cmF0cy5tZXRob2RzID1cbiAgICAgICAgc3RyYXRzLmluamVjdCA9XG4gICAgICAgICAgICBzdHJhdHMuY29tcHV0ZWQgPVxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChwYXJlbnRWYWwsIGNoaWxkVmFsLCB2bSwga2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZFZhbCAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRPYmplY3RUeXBlKGtleSwgY2hpbGRWYWwsIHZtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIXBhcmVudFZhbClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZFZhbDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIGV4dGVuZChyZXQsIHBhcmVudFZhbCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZFZhbClcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuZChyZXQsIGNoaWxkVmFsKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgICAgICAgICB9O1xuc3RyYXRzLnByb3ZpZGUgPSBmdW5jdGlvbiAocGFyZW50VmFsLCBjaGlsZFZhbCkge1xuICAgIGlmICghcGFyZW50VmFsKVxuICAgICAgICByZXR1cm4gY2hpbGRWYWw7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHJldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIG1lcmdlRGF0YShyZXQsIGlzRnVuY3Rpb24ocGFyZW50VmFsKSA/IHBhcmVudFZhbC5jYWxsKHRoaXMpIDogcGFyZW50VmFsKTtcbiAgICAgICAgaWYgKGNoaWxkVmFsKSB7XG4gICAgICAgICAgICBtZXJnZURhdGEocmV0LCBpc0Z1bmN0aW9uKGNoaWxkVmFsKSA/IGNoaWxkVmFsLmNhbGwodGhpcykgOiBjaGlsZFZhbCwgZmFsc2UgLy8gbm9uLXJlY3Vyc2l2ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmV0O1xuICAgIH07XG59O1xuLyoqXG4gKiBEZWZhdWx0IHN0cmF0ZWd5LlxuICovXG52YXIgZGVmYXVsdFN0cmF0ID0gZnVuY3Rpb24gKHBhcmVudFZhbCwgY2hpbGRWYWwpIHtcbiAgICByZXR1cm4gY2hpbGRWYWwgPT09IHVuZGVmaW5lZCA/IHBhcmVudFZhbCA6IGNoaWxkVmFsO1xufTtcbi8qKlxuICogVmFsaWRhdGUgY29tcG9uZW50IG5hbWVzXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ29tcG9uZW50cyhvcHRpb25zKSB7XG4gICAgZm9yICh2YXIga2V5IGluIG9wdGlvbnMuY29tcG9uZW50cykge1xuICAgICAgICB2YWxpZGF0ZUNvbXBvbmVudE5hbWUoa2V5KTtcbiAgICB9XG59XG5mdW5jdGlvbiB2YWxpZGF0ZUNvbXBvbmVudE5hbWUobmFtZSkge1xuICAgIGlmICghbmV3IFJlZ0V4cChcIl5bYS16QS1aXVtcXFxcLVxcXFwuMC05X1wiLmNvbmNhdCh1bmljb2RlUmVnRXhwLnNvdXJjZSwgXCJdKiRcIikpLnRlc3QobmFtZSkpIHtcbiAgICAgICAgd2FybiQyKCdJbnZhbGlkIGNvbXBvbmVudCBuYW1lOiBcIicgK1xuICAgICAgICAgICAgbmFtZSArXG4gICAgICAgICAgICAnXCIuIENvbXBvbmVudCBuYW1lcyAnICtcbiAgICAgICAgICAgICdzaG91bGQgY29uZm9ybSB0byB2YWxpZCBjdXN0b20gZWxlbWVudCBuYW1lIGluIGh0bWw1IHNwZWNpZmljYXRpb24uJyk7XG4gICAgfVxuICAgIGlmIChpc0J1aWx0SW5UYWcobmFtZSkgfHwgY29uZmlnLmlzUmVzZXJ2ZWRUYWcobmFtZSkpIHtcbiAgICAgICAgd2FybiQyKCdEbyBub3QgdXNlIGJ1aWx0LWluIG9yIHJlc2VydmVkIEhUTUwgZWxlbWVudHMgYXMgY29tcG9uZW50ICcgK1xuICAgICAgICAgICAgJ2lkOiAnICtcbiAgICAgICAgICAgIG5hbWUpO1xuICAgIH1cbn1cbi8qKlxuICogRW5zdXJlIGFsbCBwcm9wcyBvcHRpb24gc3ludGF4IGFyZSBub3JtYWxpemVkIGludG8gdGhlXG4gKiBPYmplY3QtYmFzZWQgZm9ybWF0LlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVQcm9wcyhvcHRpb25zLCB2bSkge1xuICAgIHZhciBwcm9wcyA9IG9wdGlvbnMucHJvcHM7XG4gICAgaWYgKCFwcm9wcylcbiAgICAgICAgcmV0dXJuO1xuICAgIHZhciByZXMgPSB7fTtcbiAgICB2YXIgaSwgdmFsLCBuYW1lO1xuICAgIGlmIChpc0FycmF5KHByb3BzKSkge1xuICAgICAgICBpID0gcHJvcHMubGVuZ3RoO1xuICAgICAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgICAgICB2YWwgPSBwcm9wc1tpXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIG5hbWUgPSBjYW1lbGl6ZSh2YWwpO1xuICAgICAgICAgICAgICAgIHJlc1tuYW1lXSA9IHsgdHlwZTogbnVsbCB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgIHdhcm4kMigncHJvcHMgbXVzdCBiZSBzdHJpbmdzIHdoZW4gdXNpbmcgYXJyYXkgc3ludGF4LicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUGxhaW5PYmplY3QocHJvcHMpKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwcm9wcykge1xuICAgICAgICAgICAgdmFsID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIG5hbWUgPSBjYW1lbGl6ZShrZXkpO1xuICAgICAgICAgICAgcmVzW25hbWVdID0gaXNQbGFpbk9iamVjdCh2YWwpID8gdmFsIDogeyB0eXBlOiB2YWwgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhcm4kMihcIkludmFsaWQgdmFsdWUgZm9yIG9wdGlvbiBcXFwicHJvcHNcXFwiOiBleHBlY3RlZCBhbiBBcnJheSBvciBhbiBPYmplY3QsIFwiICtcbiAgICAgICAgICAgIFwiYnV0IGdvdCBcIi5jb25jYXQodG9SYXdUeXBlKHByb3BzKSwgXCIuXCIpLCB2bSk7XG4gICAgfVxuICAgIG9wdGlvbnMucHJvcHMgPSByZXM7XG59XG4vKipcbiAqIE5vcm1hbGl6ZSBhbGwgaW5qZWN0aW9ucyBpbnRvIE9iamVjdC1iYXNlZCBmb3JtYXRcbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplSW5qZWN0KG9wdGlvbnMsIHZtKSB7XG4gICAgdmFyIGluamVjdCA9IG9wdGlvbnMuaW5qZWN0O1xuICAgIGlmICghaW5qZWN0KVxuICAgICAgICByZXR1cm47XG4gICAgdmFyIG5vcm1hbGl6ZWQgPSAob3B0aW9ucy5pbmplY3QgPSB7fSk7XG4gICAgaWYgKGlzQXJyYXkoaW5qZWN0KSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluamVjdC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbm9ybWFsaXplZFtpbmplY3RbaV1dID0geyBmcm9tOiBpbmplY3RbaV0gfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChpc1BsYWluT2JqZWN0KGluamVjdCkpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIGluamVjdCkge1xuICAgICAgICAgICAgdmFyIHZhbCA9IGluamVjdFtrZXldO1xuICAgICAgICAgICAgbm9ybWFsaXplZFtrZXldID0gaXNQbGFpbk9iamVjdCh2YWwpXG4gICAgICAgICAgICAgICAgPyBleHRlbmQoeyBmcm9tOiBrZXkgfSwgdmFsKVxuICAgICAgICAgICAgICAgIDogeyBmcm9tOiB2YWwgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhcm4kMihcIkludmFsaWQgdmFsdWUgZm9yIG9wdGlvbiBcXFwiaW5qZWN0XFxcIjogZXhwZWN0ZWQgYW4gQXJyYXkgb3IgYW4gT2JqZWN0LCBcIiArXG4gICAgICAgICAgICBcImJ1dCBnb3QgXCIuY29uY2F0KHRvUmF3VHlwZShpbmplY3QpLCBcIi5cIiksIHZtKTtcbiAgICB9XG59XG4vKipcbiAqIE5vcm1hbGl6ZSByYXcgZnVuY3Rpb24gZGlyZWN0aXZlcyBpbnRvIG9iamVjdCBmb3JtYXQuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZURpcmVjdGl2ZXMkMShvcHRpb25zKSB7XG4gICAgdmFyIGRpcnMgPSBvcHRpb25zLmRpcmVjdGl2ZXM7XG4gICAgaWYgKGRpcnMpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIGRpcnMpIHtcbiAgICAgICAgICAgIHZhciBkZWYgPSBkaXJzW2tleV07XG4gICAgICAgICAgICBpZiAoaXNGdW5jdGlvbihkZWYpKSB7XG4gICAgICAgICAgICAgICAgZGlyc1trZXldID0geyBiaW5kOiBkZWYsIHVwZGF0ZTogZGVmIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBhc3NlcnRPYmplY3RUeXBlKG5hbWUsIHZhbHVlLCB2bSkge1xuICAgIGlmICghaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgd2FybiQyKFwiSW52YWxpZCB2YWx1ZSBmb3Igb3B0aW9uIFxcXCJcIi5jb25jYXQobmFtZSwgXCJcXFwiOiBleHBlY3RlZCBhbiBPYmplY3QsIFwiKSArXG4gICAgICAgICAgICBcImJ1dCBnb3QgXCIuY29uY2F0KHRvUmF3VHlwZSh2YWx1ZSksIFwiLlwiKSwgdm0pO1xuICAgIH1cbn1cbi8qKlxuICogTWVyZ2UgdHdvIG9wdGlvbiBvYmplY3RzIGludG8gYSBuZXcgb25lLlxuICogQ29yZSB1dGlsaXR5IHVzZWQgaW4gYm90aCBpbnN0YW50aWF0aW9uIGFuZCBpbmhlcml0YW5jZS5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VPcHRpb25zKHBhcmVudCwgY2hpbGQsIHZtKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgY2hlY2tDb21wb25lbnRzKGNoaWxkKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY2hpbGQpKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgY2hpbGQgPSBjaGlsZC5vcHRpb25zO1xuICAgIH1cbiAgICBub3JtYWxpemVQcm9wcyhjaGlsZCwgdm0pO1xuICAgIG5vcm1hbGl6ZUluamVjdChjaGlsZCwgdm0pO1xuICAgIG5vcm1hbGl6ZURpcmVjdGl2ZXMkMShjaGlsZCk7XG4gICAgLy8gQXBwbHkgZXh0ZW5kcyBhbmQgbWl4aW5zIG9uIHRoZSBjaGlsZCBvcHRpb25zLFxuICAgIC8vIGJ1dCBvbmx5IGlmIGl0IGlzIGEgcmF3IG9wdGlvbnMgb2JqZWN0IHRoYXQgaXNuJ3RcbiAgICAvLyB0aGUgcmVzdWx0IG9mIGFub3RoZXIgbWVyZ2VPcHRpb25zIGNhbGwuXG4gICAgLy8gT25seSBtZXJnZWQgb3B0aW9ucyBoYXMgdGhlIF9iYXNlIHByb3BlcnR5LlxuICAgIGlmICghY2hpbGQuX2Jhc2UpIHtcbiAgICAgICAgaWYgKGNoaWxkLmV4dGVuZHMpIHtcbiAgICAgICAgICAgIHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLmV4dGVuZHMsIHZtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hpbGQubWl4aW5zKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGNoaWxkLm1peGlucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgICAgICBwYXJlbnQgPSBtZXJnZU9wdGlvbnMocGFyZW50LCBjaGlsZC5taXhpbnNbaV0sIHZtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgb3B0aW9ucyA9IHt9O1xuICAgIHZhciBrZXk7XG4gICAgZm9yIChrZXkgaW4gcGFyZW50KSB7XG4gICAgICAgIG1lcmdlRmllbGQoa2V5KTtcbiAgICB9XG4gICAgZm9yIChrZXkgaW4gY2hpbGQpIHtcbiAgICAgICAgaWYgKCFoYXNPd24ocGFyZW50LCBrZXkpKSB7XG4gICAgICAgICAgICBtZXJnZUZpZWxkKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gbWVyZ2VGaWVsZChrZXkpIHtcbiAgICAgICAgdmFyIHN0cmF0ID0gc3RyYXRzW2tleV0gfHwgZGVmYXVsdFN0cmF0O1xuICAgICAgICBvcHRpb25zW2tleV0gPSBzdHJhdChwYXJlbnRba2V5XSwgY2hpbGRba2V5XSwgdm0sIGtleSk7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zO1xufVxuLyoqXG4gKiBSZXNvbHZlIGFuIGFzc2V0LlxuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJlY2F1c2UgY2hpbGQgaW5zdGFuY2VzIG5lZWQgYWNjZXNzXG4gKiB0byBhc3NldHMgZGVmaW5lZCBpbiBpdHMgYW5jZXN0b3IgY2hhaW4uXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVBc3NldChvcHRpb25zLCB0eXBlLCBpZCwgd2Fybk1pc3NpbmcpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAodHlwZW9mIGlkICE9PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBhc3NldHMgPSBvcHRpb25zW3R5cGVdO1xuICAgIC8vIGNoZWNrIGxvY2FsIHJlZ2lzdHJhdGlvbiB2YXJpYXRpb25zIGZpcnN0XG4gICAgaWYgKGhhc093bihhc3NldHMsIGlkKSlcbiAgICAgICAgcmV0dXJuIGFzc2V0c1tpZF07XG4gICAgdmFyIGNhbWVsaXplZElkID0gY2FtZWxpemUoaWQpO1xuICAgIGlmIChoYXNPd24oYXNzZXRzLCBjYW1lbGl6ZWRJZCkpXG4gICAgICAgIHJldHVybiBhc3NldHNbY2FtZWxpemVkSWRdO1xuICAgIHZhciBQYXNjYWxDYXNlSWQgPSBjYXBpdGFsaXplKGNhbWVsaXplZElkKTtcbiAgICBpZiAoaGFzT3duKGFzc2V0cywgUGFzY2FsQ2FzZUlkKSlcbiAgICAgICAgcmV0dXJuIGFzc2V0c1tQYXNjYWxDYXNlSWRdO1xuICAgIC8vIGZhbGxiYWNrIHRvIHByb3RvdHlwZSBjaGFpblxuICAgIHZhciByZXMgPSBhc3NldHNbaWRdIHx8IGFzc2V0c1tjYW1lbGl6ZWRJZF0gfHwgYXNzZXRzW1Bhc2NhbENhc2VJZF07XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2Fybk1pc3NpbmcgJiYgIXJlcykge1xuICAgICAgICB3YXJuJDIoJ0ZhaWxlZCB0byByZXNvbHZlICcgKyB0eXBlLnNsaWNlKDAsIC0xKSArICc6ICcgKyBpZCk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcChrZXksIHByb3BPcHRpb25zLCBwcm9wc0RhdGEsIHZtKSB7XG4gICAgdmFyIHByb3AgPSBwcm9wT3B0aW9uc1trZXldO1xuICAgIHZhciBhYnNlbnQgPSAhaGFzT3duKHByb3BzRGF0YSwga2V5KTtcbiAgICB2YXIgdmFsdWUgPSBwcm9wc0RhdGFba2V5XTtcbiAgICAvLyBib29sZWFuIGNhc3RpbmdcbiAgICB2YXIgYm9vbGVhbkluZGV4ID0gZ2V0VHlwZUluZGV4KEJvb2xlYW4sIHByb3AudHlwZSk7XG4gICAgaWYgKGJvb2xlYW5JbmRleCA+IC0xKSB7XG4gICAgICAgIGlmIChhYnNlbnQgJiYgIWhhc093bihwcm9wLCAnZGVmYXVsdCcpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gaHlwaGVuYXRlKGtleSkpIHtcbiAgICAgICAgICAgIC8vIG9ubHkgY2FzdCBlbXB0eSBzdHJpbmcgLyBzYW1lIG5hbWUgdG8gYm9vbGVhbiBpZlxuICAgICAgICAgICAgLy8gYm9vbGVhbiBoYXMgaGlnaGVyIHByaW9yaXR5XG4gICAgICAgICAgICB2YXIgc3RyaW5nSW5kZXggPSBnZXRUeXBlSW5kZXgoU3RyaW5nLCBwcm9wLnR5cGUpO1xuICAgICAgICAgICAgaWYgKHN0cmluZ0luZGV4IDwgMCB8fCBib29sZWFuSW5kZXggPCBzdHJpbmdJbmRleCkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBjaGVjayBkZWZhdWx0IHZhbHVlXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdmFsdWUgPSBnZXRQcm9wRGVmYXVsdFZhbHVlKHZtLCBwcm9wLCBrZXkpO1xuICAgICAgICAvLyBzaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZSBpcyBhIGZyZXNoIGNvcHksXG4gICAgICAgIC8vIG1ha2Ugc3VyZSB0byBvYnNlcnZlIGl0LlxuICAgICAgICB2YXIgcHJldlNob3VsZE9ic2VydmUgPSBzaG91bGRPYnNlcnZlO1xuICAgICAgICB0b2dnbGVPYnNlcnZpbmcodHJ1ZSk7XG4gICAgICAgIG9ic2VydmUodmFsdWUpO1xuICAgICAgICB0b2dnbGVPYnNlcnZpbmcocHJldlNob3VsZE9ic2VydmUpO1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBhc3NlcnRQcm9wKHByb3AsIGtleSwgdmFsdWUsIHZtLCBhYnNlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG59XG4vKipcbiAqIEdldCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBhIHByb3AuXG4gKi9cbmZ1bmN0aW9uIGdldFByb3BEZWZhdWx0VmFsdWUodm0sIHByb3AsIGtleSkge1xuICAgIC8vIG5vIGRlZmF1bHQsIHJldHVybiB1bmRlZmluZWRcbiAgICBpZiAoIWhhc093bihwcm9wLCAnZGVmYXVsdCcpKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHZhciBkZWYgPSBwcm9wLmRlZmF1bHQ7XG4gICAgLy8gd2FybiBhZ2FpbnN0IG5vbi1mYWN0b3J5IGRlZmF1bHRzIGZvciBPYmplY3QgJiBBcnJheVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGlzT2JqZWN0KGRlZikpIHtcbiAgICAgICAgd2FybiQyKCdJbnZhbGlkIGRlZmF1bHQgdmFsdWUgZm9yIHByb3AgXCInICtcbiAgICAgICAgICAgIGtleSArXG4gICAgICAgICAgICAnXCI6ICcgK1xuICAgICAgICAgICAgJ1Byb3BzIHdpdGggdHlwZSBPYmplY3QvQXJyYXkgbXVzdCB1c2UgYSBmYWN0b3J5IGZ1bmN0aW9uICcgK1xuICAgICAgICAgICAgJ3RvIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZS4nLCB2bSk7XG4gICAgfVxuICAgIC8vIHRoZSByYXcgcHJvcCB2YWx1ZSB3YXMgYWxzbyB1bmRlZmluZWQgZnJvbSBwcmV2aW91cyByZW5kZXIsXG4gICAgLy8gcmV0dXJuIHByZXZpb3VzIGRlZmF1bHQgdmFsdWUgdG8gYXZvaWQgdW5uZWNlc3Nhcnkgd2F0Y2hlciB0cmlnZ2VyXG4gICAgaWYgKHZtICYmXG4gICAgICAgIHZtLiRvcHRpb25zLnByb3BzRGF0YSAmJlxuICAgICAgICB2bS4kb3B0aW9ucy5wcm9wc0RhdGFba2V5XSA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgIHZtLl9wcm9wc1trZXldICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHZtLl9wcm9wc1trZXldO1xuICAgIH1cbiAgICAvLyBjYWxsIGZhY3RvcnkgZnVuY3Rpb24gZm9yIG5vbi1GdW5jdGlvbiB0eXBlc1xuICAgIC8vIGEgdmFsdWUgaXMgRnVuY3Rpb24gaWYgaXRzIHByb3RvdHlwZSBpcyBmdW5jdGlvbiBldmVuIGFjcm9zcyBkaWZmZXJlbnQgZXhlY3V0aW9uIGNvbnRleHRcbiAgICByZXR1cm4gaXNGdW5jdGlvbihkZWYpICYmIGdldFR5cGUocHJvcC50eXBlKSAhPT0gJ0Z1bmN0aW9uJ1xuICAgICAgICA/IGRlZi5jYWxsKHZtKVxuICAgICAgICA6IGRlZjtcbn1cbi8qKlxuICogQXNzZXJ0IHdoZXRoZXIgYSBwcm9wIGlzIHZhbGlkLlxuICovXG5mdW5jdGlvbiBhc3NlcnRQcm9wKHByb3AsIG5hbWUsIHZhbHVlLCB2bSwgYWJzZW50KSB7XG4gICAgaWYgKHByb3AucmVxdWlyZWQgJiYgYWJzZW50KSB7XG4gICAgICAgIHdhcm4kMignTWlzc2luZyByZXF1aXJlZCBwcm9wOiBcIicgKyBuYW1lICsgJ1wiJywgdm0pO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PSBudWxsICYmICFwcm9wLnJlcXVpcmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHR5cGUgPSBwcm9wLnR5cGU7XG4gICAgdmFyIHZhbGlkID0gIXR5cGUgfHwgdHlwZSA9PT0gdHJ1ZTtcbiAgICB2YXIgZXhwZWN0ZWRUeXBlcyA9IFtdO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIGlmICghaXNBcnJheSh0eXBlKSkge1xuICAgICAgICAgICAgdHlwZSA9IFt0eXBlXTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGUubGVuZ3RoICYmICF2YWxpZDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgYXNzZXJ0ZWRUeXBlID0gYXNzZXJ0VHlwZSh2YWx1ZSwgdHlwZVtpXSwgdm0pO1xuICAgICAgICAgICAgZXhwZWN0ZWRUeXBlcy5wdXNoKGFzc2VydGVkVHlwZS5leHBlY3RlZFR5cGUgfHwgJycpO1xuICAgICAgICAgICAgdmFsaWQgPSBhc3NlcnRlZFR5cGUudmFsaWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIGhhdmVFeHBlY3RlZFR5cGVzID0gZXhwZWN0ZWRUeXBlcy5zb21lKGZ1bmN0aW9uICh0KSB7IHJldHVybiB0OyB9KTtcbiAgICBpZiAoIXZhbGlkICYmIGhhdmVFeHBlY3RlZFR5cGVzKSB7XG4gICAgICAgIHdhcm4kMihnZXRJbnZhbGlkVHlwZU1lc3NhZ2UobmFtZSwgdmFsdWUsIGV4cGVjdGVkVHlwZXMpLCB2bSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHZhbGlkYXRvciA9IHByb3AudmFsaWRhdG9yO1xuICAgIGlmICh2YWxpZGF0b3IpIHtcbiAgICAgICAgaWYgKCF2YWxpZGF0b3IodmFsdWUpKSB7XG4gICAgICAgICAgICB3YXJuJDIoJ0ludmFsaWQgcHJvcDogY3VzdG9tIHZhbGlkYXRvciBjaGVjayBmYWlsZWQgZm9yIHByb3AgXCInICsgbmFtZSArICdcIi4nLCB2bSk7XG4gICAgICAgIH1cbiAgICB9XG59XG52YXIgc2ltcGxlQ2hlY2tSRSA9IC9eKFN0cmluZ3xOdW1iZXJ8Qm9vbGVhbnxGdW5jdGlvbnxTeW1ib2x8QmlnSW50KSQvO1xuZnVuY3Rpb24gYXNzZXJ0VHlwZSh2YWx1ZSwgdHlwZSwgdm0pIHtcbiAgICB2YXIgdmFsaWQ7XG4gICAgdmFyIGV4cGVjdGVkVHlwZSA9IGdldFR5cGUodHlwZSk7XG4gICAgaWYgKHNpbXBsZUNoZWNrUkUudGVzdChleHBlY3RlZFR5cGUpKSB7XG4gICAgICAgIHZhciB0ID0gdHlwZW9mIHZhbHVlO1xuICAgICAgICB2YWxpZCA9IHQgPT09IGV4cGVjdGVkVHlwZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAvLyBmb3IgcHJpbWl0aXZlIHdyYXBwZXIgb2JqZWN0c1xuICAgICAgICBpZiAoIXZhbGlkICYmIHQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICB2YWxpZCA9IHZhbHVlIGluc3RhbmNlb2YgdHlwZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChleHBlY3RlZFR5cGUgPT09ICdPYmplY3QnKSB7XG4gICAgICAgIHZhbGlkID0gaXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gJ0FycmF5Jykge1xuICAgICAgICB2YWxpZCA9IGlzQXJyYXkodmFsdWUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhbGlkID0gdmFsdWUgaW5zdGFuY2VvZiB0eXBlO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB3YXJuJDIoJ0ludmFsaWQgcHJvcCB0eXBlOiBcIicgKyBTdHJpbmcodHlwZSkgKyAnXCIgaXMgbm90IGEgY29uc3RydWN0b3InLCB2bSk7XG4gICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkOiB2YWxpZCxcbiAgICAgICAgZXhwZWN0ZWRUeXBlOiBleHBlY3RlZFR5cGVcbiAgICB9O1xufVxudmFyIGZ1bmN0aW9uVHlwZUNoZWNrUkUgPSAvXlxccypmdW5jdGlvbiAoXFx3KykvO1xuLyoqXG4gKiBVc2UgZnVuY3Rpb24gc3RyaW5nIG5hbWUgdG8gY2hlY2sgYnVpbHQtaW4gdHlwZXMsXG4gKiBiZWNhdXNlIGEgc2ltcGxlIGVxdWFsaXR5IGNoZWNrIHdpbGwgZmFpbCB3aGVuIHJ1bm5pbmdcbiAqIGFjcm9zcyBkaWZmZXJlbnQgdm1zIC8gaWZyYW1lcy5cbiAqL1xuZnVuY3Rpb24gZ2V0VHlwZShmbikge1xuICAgIHZhciBtYXRjaCA9IGZuICYmIGZuLnRvU3RyaW5nKCkubWF0Y2goZnVuY3Rpb25UeXBlQ2hlY2tSRSk7XG4gICAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMV0gOiAnJztcbn1cbmZ1bmN0aW9uIGlzU2FtZVR5cGUoYSwgYikge1xuICAgIHJldHVybiBnZXRUeXBlKGEpID09PSBnZXRUeXBlKGIpO1xufVxuZnVuY3Rpb24gZ2V0VHlwZUluZGV4KHR5cGUsIGV4cGVjdGVkVHlwZXMpIHtcbiAgICBpZiAoIWlzQXJyYXkoZXhwZWN0ZWRUeXBlcykpIHtcbiAgICAgICAgcmV0dXJuIGlzU2FtZVR5cGUoZXhwZWN0ZWRUeXBlcywgdHlwZSkgPyAwIDogLTE7XG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBleHBlY3RlZFR5cGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGlmIChpc1NhbWVUeXBlKGV4cGVjdGVkVHlwZXNbaV0sIHR5cGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG59XG5mdW5jdGlvbiBnZXRJbnZhbGlkVHlwZU1lc3NhZ2UobmFtZSwgdmFsdWUsIGV4cGVjdGVkVHlwZXMpIHtcbiAgICB2YXIgbWVzc2FnZSA9IFwiSW52YWxpZCBwcm9wOiB0eXBlIGNoZWNrIGZhaWxlZCBmb3IgcHJvcCBcXFwiXCIuY29uY2F0KG5hbWUsIFwiXFxcIi5cIikgK1xuICAgICAgICBcIiBFeHBlY3RlZCBcIi5jb25jYXQoZXhwZWN0ZWRUeXBlcy5tYXAoY2FwaXRhbGl6ZSkuam9pbignLCAnKSk7XG4gICAgdmFyIGV4cGVjdGVkVHlwZSA9IGV4cGVjdGVkVHlwZXNbMF07XG4gICAgdmFyIHJlY2VpdmVkVHlwZSA9IHRvUmF3VHlwZSh2YWx1ZSk7XG4gICAgLy8gY2hlY2sgaWYgd2UgbmVlZCB0byBzcGVjaWZ5IGV4cGVjdGVkIHZhbHVlXG4gICAgaWYgKGV4cGVjdGVkVHlwZXMubGVuZ3RoID09PSAxICYmXG4gICAgICAgIGlzRXhwbGljYWJsZShleHBlY3RlZFR5cGUpICYmXG4gICAgICAgIGlzRXhwbGljYWJsZSh0eXBlb2YgdmFsdWUpICYmXG4gICAgICAgICFpc0Jvb2xlYW4oZXhwZWN0ZWRUeXBlLCByZWNlaXZlZFR5cGUpKSB7XG4gICAgICAgIG1lc3NhZ2UgKz0gXCIgd2l0aCB2YWx1ZSBcIi5jb25jYXQoc3R5bGVWYWx1ZSh2YWx1ZSwgZXhwZWN0ZWRUeXBlKSk7XG4gICAgfVxuICAgIG1lc3NhZ2UgKz0gXCIsIGdvdCBcIi5jb25jYXQocmVjZWl2ZWRUeXBlLCBcIiBcIik7XG4gICAgLy8gY2hlY2sgaWYgd2UgbmVlZCB0byBzcGVjaWZ5IHJlY2VpdmVkIHZhbHVlXG4gICAgaWYgKGlzRXhwbGljYWJsZShyZWNlaXZlZFR5cGUpKSB7XG4gICAgICAgIG1lc3NhZ2UgKz0gXCJ3aXRoIHZhbHVlIFwiLmNvbmNhdChzdHlsZVZhbHVlKHZhbHVlLCByZWNlaXZlZFR5cGUpLCBcIi5cIik7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xufVxuZnVuY3Rpb24gc3R5bGVWYWx1ZSh2YWx1ZSwgdHlwZSkge1xuICAgIGlmICh0eXBlID09PSAnU3RyaW5nJykge1xuICAgICAgICByZXR1cm4gXCJcXFwiXCIuY29uY2F0KHZhbHVlLCBcIlxcXCJcIik7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgPT09ICdOdW1iZXInKSB7XG4gICAgICAgIHJldHVybiBcIlwiLmNvbmNhdChOdW1iZXIodmFsdWUpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBcIlwiLmNvbmNhdCh2YWx1ZSk7XG4gICAgfVxufVxudmFyIEVYUExJQ0FCTEVfVFlQRVMgPSBbJ3N0cmluZycsICdudW1iZXInLCAnYm9vbGVhbiddO1xuZnVuY3Rpb24gaXNFeHBsaWNhYmxlKHZhbHVlKSB7XG4gICAgcmV0dXJuIEVYUExJQ0FCTEVfVFlQRVMuc29tZShmdW5jdGlvbiAoZWxlbSkgeyByZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gZWxlbTsgfSk7XG59XG5mdW5jdGlvbiBpc0Jvb2xlYW4oKSB7XG4gICAgdmFyIGFyZ3MgPSBbXTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICBhcmdzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgfVxuICAgIHJldHVybiBhcmdzLnNvbWUoZnVuY3Rpb24gKGVsZW0pIHsgcmV0dXJuIGVsZW0udG9Mb3dlckNhc2UoKSA9PT0gJ2Jvb2xlYW4nOyB9KTtcbn1cblxuZnVuY3Rpb24gVnVlKG9wdGlvbnMpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhKHRoaXMgaW5zdGFuY2VvZiBWdWUpKSB7XG4gICAgICAgIHdhcm4kMignVnVlIGlzIGEgY29uc3RydWN0b3IgYW5kIHNob3VsZCBiZSBjYWxsZWQgd2l0aCB0aGUgYG5ld2Aga2V5d29yZCcpO1xuICAgIH1cbiAgICB0aGlzLl9pbml0KG9wdGlvbnMpO1xufVxuLy9AdHMtZXhwZWN0LWVycm9yIFZ1ZSBoYXMgZnVuY3Rpb24gdHlwZVxuaW5pdE1peGluJDEoVnVlKTtcbi8vQHRzLWV4cGVjdC1lcnJvciBWdWUgaGFzIGZ1bmN0aW9uIHR5cGVcbnN0YXRlTWl4aW4oVnVlKTtcbi8vQHRzLWV4cGVjdC1lcnJvciBWdWUgaGFzIGZ1bmN0aW9uIHR5cGVcbmV2ZW50c01peGluKFZ1ZSk7XG4vL0B0cy1leHBlY3QtZXJyb3IgVnVlIGhhcyBmdW5jdGlvbiB0eXBlXG5saWZlY3ljbGVNaXhpbihWdWUpO1xuLy9AdHMtZXhwZWN0LWVycm9yIFZ1ZSBoYXMgZnVuY3Rpb24gdHlwZVxucmVuZGVyTWl4aW4oVnVlKTtcblxuZnVuY3Rpb24gaW5pdFVzZShWdWUpIHtcbiAgICBWdWUudXNlID0gZnVuY3Rpb24gKHBsdWdpbikge1xuICAgICAgICB2YXIgaW5zdGFsbGVkUGx1Z2lucyA9IHRoaXMuX2luc3RhbGxlZFBsdWdpbnMgfHwgKHRoaXMuX2luc3RhbGxlZFBsdWdpbnMgPSBbXSk7XG4gICAgICAgIGlmIChpbnN0YWxsZWRQbHVnaW5zLmluZGV4T2YocGx1Z2luKSA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICAvLyBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICAgICAgdmFyIGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cywgMSk7XG4gICAgICAgIGFyZ3MudW5zaGlmdCh0aGlzKTtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ocGx1Z2luLmluc3RhbGwpKSB7XG4gICAgICAgICAgICBwbHVnaW4uaW5zdGFsbC5hcHBseShwbHVnaW4sIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzRnVuY3Rpb24ocGx1Z2luKSkge1xuICAgICAgICAgICAgcGx1Z2luLmFwcGx5KG51bGwsIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGluc3RhbGxlZFBsdWdpbnMucHVzaChwbHVnaW4pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBpbml0TWl4aW4oVnVlKSB7XG4gICAgVnVlLm1peGluID0gZnVuY3Rpb24gKG1peGluKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG1lcmdlT3B0aW9ucyh0aGlzLm9wdGlvbnMsIG1peGluKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gaW5pdEV4dGVuZChWdWUpIHtcbiAgICAvKipcbiAgICAgKiBFYWNoIGluc3RhbmNlIGNvbnN0cnVjdG9yLCBpbmNsdWRpbmcgVnVlLCBoYXMgYSB1bmlxdWVcbiAgICAgKiBjaWQuIFRoaXMgZW5hYmxlcyB1cyB0byBjcmVhdGUgd3JhcHBlZCBcImNoaWxkXG4gICAgICogY29uc3RydWN0b3JzXCIgZm9yIHByb3RvdHlwYWwgaW5oZXJpdGFuY2UgYW5kIGNhY2hlIHRoZW0uXG4gICAgICovXG4gICAgVnVlLmNpZCA9IDA7XG4gICAgdmFyIGNpZCA9IDE7XG4gICAgLyoqXG4gICAgICogQ2xhc3MgaW5oZXJpdGFuY2VcbiAgICAgKi9cbiAgICBWdWUuZXh0ZW5kID0gZnVuY3Rpb24gKGV4dGVuZE9wdGlvbnMpIHtcbiAgICAgICAgZXh0ZW5kT3B0aW9ucyA9IGV4dGVuZE9wdGlvbnMgfHwge307XG4gICAgICAgIHZhciBTdXBlciA9IHRoaXM7XG4gICAgICAgIHZhciBTdXBlcklkID0gU3VwZXIuY2lkO1xuICAgICAgICB2YXIgY2FjaGVkQ3RvcnMgPSBleHRlbmRPcHRpb25zLl9DdG9yIHx8IChleHRlbmRPcHRpb25zLl9DdG9yID0ge30pO1xuICAgICAgICBpZiAoY2FjaGVkQ3RvcnNbU3VwZXJJZF0pIHtcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDdG9yc1tTdXBlcklkXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoZXh0ZW5kT3B0aW9ucykgfHwgZ2V0Q29tcG9uZW50TmFtZShTdXBlci5vcHRpb25zKTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgbmFtZSkge1xuICAgICAgICAgICAgdmFsaWRhdGVDb21wb25lbnROYW1lKG5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBTdWIgPSBmdW5jdGlvbiBWdWVDb21wb25lbnQob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5faW5pdChvcHRpb25zKTtcbiAgICAgICAgfTtcbiAgICAgICAgU3ViLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoU3VwZXIucHJvdG90eXBlKTtcbiAgICAgICAgU3ViLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFN1YjtcbiAgICAgICAgU3ViLmNpZCA9IGNpZCsrO1xuICAgICAgICBTdWIub3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhTdXBlci5vcHRpb25zLCBleHRlbmRPcHRpb25zKTtcbiAgICAgICAgU3ViWydzdXBlciddID0gU3VwZXI7XG4gICAgICAgIC8vIEZvciBwcm9wcyBhbmQgY29tcHV0ZWQgcHJvcGVydGllcywgd2UgZGVmaW5lIHRoZSBwcm94eSBnZXR0ZXJzIG9uXG4gICAgICAgIC8vIHRoZSBWdWUgaW5zdGFuY2VzIGF0IGV4dGVuc2lvbiB0aW1lLCBvbiB0aGUgZXh0ZW5kZWQgcHJvdG90eXBlLiBUaGlzXG4gICAgICAgIC8vIGF2b2lkcyBPYmplY3QuZGVmaW5lUHJvcGVydHkgY2FsbHMgZm9yIGVhY2ggaW5zdGFuY2UgY3JlYXRlZC5cbiAgICAgICAgaWYgKFN1Yi5vcHRpb25zLnByb3BzKSB7XG4gICAgICAgICAgICBpbml0UHJvcHMoU3ViKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoU3ViLm9wdGlvbnMuY29tcHV0ZWQpIHtcbiAgICAgICAgICAgIGluaXRDb21wdXRlZChTdWIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFsbG93IGZ1cnRoZXIgZXh0ZW5zaW9uL21peGluL3BsdWdpbiB1c2FnZVxuICAgICAgICBTdWIuZXh0ZW5kID0gU3VwZXIuZXh0ZW5kO1xuICAgICAgICBTdWIubWl4aW4gPSBTdXBlci5taXhpbjtcbiAgICAgICAgU3ViLnVzZSA9IFN1cGVyLnVzZTtcbiAgICAgICAgLy8gY3JlYXRlIGFzc2V0IHJlZ2lzdGVycywgc28gZXh0ZW5kZWQgY2xhc3Nlc1xuICAgICAgICAvLyBjYW4gaGF2ZSB0aGVpciBwcml2YXRlIGFzc2V0cyB0b28uXG4gICAgICAgIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgICAgIFN1Ylt0eXBlXSA9IFN1cGVyW3R5cGVdO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gZW5hYmxlIHJlY3Vyc2l2ZSBzZWxmLWxvb2t1cFxuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgU3ViLm9wdGlvbnMuY29tcG9uZW50c1tuYW1lXSA9IFN1YjtcbiAgICAgICAgfVxuICAgICAgICAvLyBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBzdXBlciBvcHRpb25zIGF0IGV4dGVuc2lvbiB0aW1lLlxuICAgICAgICAvLyBsYXRlciBhdCBpbnN0YW50aWF0aW9uIHdlIGNhbiBjaGVjayBpZiBTdXBlcidzIG9wdGlvbnMgaGF2ZVxuICAgICAgICAvLyBiZWVuIHVwZGF0ZWQuXG4gICAgICAgIFN1Yi5zdXBlck9wdGlvbnMgPSBTdXBlci5vcHRpb25zO1xuICAgICAgICBTdWIuZXh0ZW5kT3B0aW9ucyA9IGV4dGVuZE9wdGlvbnM7XG4gICAgICAgIFN1Yi5zZWFsZWRPcHRpb25zID0gZXh0ZW5kKHt9LCBTdWIub3B0aW9ucyk7XG4gICAgICAgIC8vIGNhY2hlIGNvbnN0cnVjdG9yXG4gICAgICAgIGNhY2hlZEN0b3JzW1N1cGVySWRdID0gU3ViO1xuICAgICAgICByZXR1cm4gU3ViO1xuICAgIH07XG59XG5mdW5jdGlvbiBpbml0UHJvcHMoQ29tcCkge1xuICAgIHZhciBwcm9wcyA9IENvbXAub3B0aW9ucy5wcm9wcztcbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgICAgcHJveHkoQ29tcC5wcm90b3R5cGUsIFwiX3Byb3BzXCIsIGtleSk7XG4gICAgfVxufVxuZnVuY3Rpb24gaW5pdENvbXB1dGVkKENvbXApIHtcbiAgICB2YXIgY29tcHV0ZWQgPSBDb21wLm9wdGlvbnMuY29tcHV0ZWQ7XG4gICAgZm9yICh2YXIga2V5IGluIGNvbXB1dGVkKSB7XG4gICAgICAgIGRlZmluZUNvbXB1dGVkKENvbXAucHJvdG90eXBlLCBrZXksIGNvbXB1dGVkW2tleV0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW5pdEFzc2V0UmVnaXN0ZXJzKFZ1ZSkge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhc3NldCByZWdpc3RyYXRpb24gbWV0aG9kcy5cbiAgICAgKi9cbiAgICBBU1NFVF9UWVBFUy5mb3JFYWNoKGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZnVuY3Rpb24gaXMgbm90IGV4YWN0IHNhbWUgdHlwZVxuICAgICAgICBWdWVbdHlwZV0gPSBmdW5jdGlvbiAoaWQsIGRlZmluaXRpb24pIHtcbiAgICAgICAgICAgIGlmICghZGVmaW5pdGlvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNbdHlwZSArICdzJ11baWRdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgdHlwZSA9PT0gJ2NvbXBvbmVudCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVDb21wb25lbnROYW1lKGlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdjb21wb25lbnQnICYmIGlzUGxhaW5PYmplY3QoZGVmaW5pdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9uLm5hbWUgPSBkZWZpbml0aW9uLm5hbWUgfHwgaWQ7XG4gICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24gPSB0aGlzLm9wdGlvbnMuX2Jhc2UuZXh0ZW5kKGRlZmluaXRpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gJ2RpcmVjdGl2ZScgJiYgaXNGdW5jdGlvbihkZWZpbml0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9uID0geyBiaW5kOiBkZWZpbml0aW9uLCB1cGRhdGU6IGRlZmluaXRpb24gfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zW3R5cGUgKyAncyddW2lkXSA9IGRlZmluaXRpb247XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlZmluaXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIF9nZXRDb21wb25lbnROYW1lKG9wdHMpIHtcbiAgICByZXR1cm4gb3B0cyAmJiAoZ2V0Q29tcG9uZW50TmFtZShvcHRzLkN0b3Iub3B0aW9ucykgfHwgb3B0cy50YWcpO1xufVxuZnVuY3Rpb24gbWF0Y2hlcyhwYXR0ZXJuLCBuYW1lKSB7XG4gICAgaWYgKGlzQXJyYXkocGF0dGVybikpIHtcbiAgICAgICAgcmV0dXJuIHBhdHRlcm4uaW5kZXhPZihuYW1lKSA+IC0xO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2YgcGF0dGVybiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHBhdHRlcm4uc3BsaXQoJywnKS5pbmRleE9mKG5hbWUpID4gLTE7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUmVnRXhwKHBhdHRlcm4pKSB7XG4gICAgICAgIHJldHVybiBwYXR0ZXJuLnRlc3QobmFtZSk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gcHJ1bmVDYWNoZShrZWVwQWxpdmVJbnN0YW5jZSwgZmlsdGVyKSB7XG4gICAgdmFyIGNhY2hlID0ga2VlcEFsaXZlSW5zdGFuY2UuY2FjaGUsIGtleXMgPSBrZWVwQWxpdmVJbnN0YW5jZS5rZXlzLCBfdm5vZGUgPSBrZWVwQWxpdmVJbnN0YW5jZS5fdm5vZGU7XG4gICAgZm9yICh2YXIga2V5IGluIGNhY2hlKSB7XG4gICAgICAgIHZhciBlbnRyeSA9IGNhY2hlW2tleV07XG4gICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgdmFyIG5hbWVfMSA9IGVudHJ5Lm5hbWU7XG4gICAgICAgICAgICBpZiAobmFtZV8xICYmICFmaWx0ZXIobmFtZV8xKSkge1xuICAgICAgICAgICAgICAgIHBydW5lQ2FjaGVFbnRyeShjYWNoZSwga2V5LCBrZXlzLCBfdm5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gcHJ1bmVDYWNoZUVudHJ5KGNhY2hlLCBrZXksIGtleXMsIGN1cnJlbnQpIHtcbiAgICB2YXIgZW50cnkgPSBjYWNoZVtrZXldO1xuICAgIGlmIChlbnRyeSAmJiAoIWN1cnJlbnQgfHwgZW50cnkudGFnICE9PSBjdXJyZW50LnRhZykpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjYW4gYmUgdW5kZWZpbmVkXG4gICAgICAgIGVudHJ5LmNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCk7XG4gICAgfVxuICAgIGNhY2hlW2tleV0gPSBudWxsO1xuICAgIHJlbW92ZSQyKGtleXMsIGtleSk7XG59XG52YXIgcGF0dGVyblR5cGVzID0gW1N0cmluZywgUmVnRXhwLCBBcnJheV07XG4vLyBUT0RPIGRlZmluZUNvbXBvbmVudFxudmFyIEtlZXBBbGl2ZSA9IHtcbiAgICBuYW1lOiAna2VlcC1hbGl2ZScsXG4gICAgYWJzdHJhY3Q6IHRydWUsXG4gICAgcHJvcHM6IHtcbiAgICAgICAgaW5jbHVkZTogcGF0dGVyblR5cGVzLFxuICAgICAgICBleGNsdWRlOiBwYXR0ZXJuVHlwZXMsXG4gICAgICAgIG1heDogW1N0cmluZywgTnVtYmVyXVxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICBjYWNoZVZOb2RlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLCBjYWNoZSA9IF9hLmNhY2hlLCBrZXlzID0gX2Eua2V5cywgdm5vZGVUb0NhY2hlID0gX2Eudm5vZGVUb0NhY2hlLCBrZXlUb0NhY2hlID0gX2Eua2V5VG9DYWNoZTtcbiAgICAgICAgICAgIGlmICh2bm9kZVRvQ2FjaGUpIHtcbiAgICAgICAgICAgICAgICB2YXIgdGFnID0gdm5vZGVUb0NhY2hlLnRhZywgY29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZVRvQ2FjaGUuY29tcG9uZW50SW5zdGFuY2UsIGNvbXBvbmVudE9wdGlvbnMgPSB2bm9kZVRvQ2FjaGUuY29tcG9uZW50T3B0aW9ucztcbiAgICAgICAgICAgICAgICBjYWNoZVtrZXlUb0NhY2hlXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogX2dldENvbXBvbmVudE5hbWUoY29tcG9uZW50T3B0aW9ucyksXG4gICAgICAgICAgICAgICAgICAgIHRhZzogdGFnLFxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZTogY29tcG9uZW50SW5zdGFuY2VcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGtleXMucHVzaChrZXlUb0NhY2hlKTtcbiAgICAgICAgICAgICAgICAvLyBwcnVuZSBvbGRlc3QgZW50cnlcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXggJiYga2V5cy5sZW5ndGggPiBwYXJzZUludCh0aGlzLm1heCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJ1bmVDYWNoZUVudHJ5KGNhY2hlLCBrZXlzWzBdLCBrZXlzLCB0aGlzLl92bm9kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudm5vZGVUb0NhY2hlID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgdGhpcy5rZXlzID0gW107XG4gICAgfSxcbiAgICBkZXN0cm95ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yICh2YXIga2V5IGluIHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHBydW5lQ2FjaGVFbnRyeSh0aGlzLmNhY2hlLCBrZXksIHRoaXMua2V5cyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1vdW50ZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdGhpcy5jYWNoZVZOb2RlKCk7XG4gICAgICAgIHRoaXMuJHdhdGNoKCdpbmNsdWRlJywgZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgICAgcHJ1bmVDYWNoZShfdGhpcywgZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIG1hdGNoZXModmFsLCBuYW1lKTsgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiR3YXRjaCgnZXhjbHVkZScsIGZ1bmN0aW9uICh2YWwpIHtcbiAgICAgICAgICAgIHBydW5lQ2FjaGUoX3RoaXMsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiAhbWF0Y2hlcyh2YWwsIG5hbWUpOyB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICB1cGRhdGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY2FjaGVWTm9kZSgpO1xuICAgIH0sXG4gICAgcmVuZGVyOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBzbG90ID0gdGhpcy4kc2xvdHMuZGVmYXVsdDtcbiAgICAgICAgdmFyIHZub2RlID0gZ2V0Rmlyc3RDb21wb25lbnRDaGlsZChzbG90KTtcbiAgICAgICAgdmFyIGNvbXBvbmVudE9wdGlvbnMgPSB2bm9kZSAmJiB2bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICAgICAgICBpZiAoY29tcG9uZW50T3B0aW9ucykge1xuICAgICAgICAgICAgLy8gY2hlY2sgcGF0dGVyblxuICAgICAgICAgICAgdmFyIG5hbWVfMiA9IF9nZXRDb21wb25lbnROYW1lKGNvbXBvbmVudE9wdGlvbnMpO1xuICAgICAgICAgICAgdmFyIF9hID0gdGhpcywgaW5jbHVkZSA9IF9hLmluY2x1ZGUsIGV4Y2x1ZGUgPSBfYS5leGNsdWRlO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgLy8gbm90IGluY2x1ZGVkXG4gICAgICAgICAgICAoaW5jbHVkZSAmJiAoIW5hbWVfMiB8fCAhbWF0Y2hlcyhpbmNsdWRlLCBuYW1lXzIpKSkgfHxcbiAgICAgICAgICAgICAgICAvLyBleGNsdWRlZFxuICAgICAgICAgICAgICAgIChleGNsdWRlICYmIG5hbWVfMiAmJiBtYXRjaGVzKGV4Y2x1ZGUsIG5hbWVfMikpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZub2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIF9iID0gdGhpcywgY2FjaGUgPSBfYi5jYWNoZSwga2V5cyA9IF9iLmtleXM7XG4gICAgICAgICAgICB2YXIga2V5ID0gdm5vZGUua2V5ID09IG51bGxcbiAgICAgICAgICAgICAgICA/IC8vIHNhbWUgY29uc3RydWN0b3IgbWF5IGdldCByZWdpc3RlcmVkIGFzIGRpZmZlcmVudCBsb2NhbCBjb21wb25lbnRzXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvIGNpZCBhbG9uZSBpcyBub3QgZW5vdWdoICgjMzI2OSlcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50T3B0aW9ucy5DdG9yLmNpZCArXG4gICAgICAgICAgICAgICAgICAgICAgICAoY29tcG9uZW50T3B0aW9ucy50YWcgPyBcIjo6XCIuY29uY2F0KGNvbXBvbmVudE9wdGlvbnMudGFnKSA6ICcnKVxuICAgICAgICAgICAgICAgIDogdm5vZGUua2V5O1xuICAgICAgICAgICAgaWYgKGNhY2hlW2tleV0pIHtcbiAgICAgICAgICAgICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IGNhY2hlW2tleV0uY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgLy8gbWFrZSBjdXJyZW50IGtleSBmcmVzaGVzdFxuICAgICAgICAgICAgICAgIHJlbW92ZSQyKGtleXMsIGtleSk7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBkZWxheSBzZXR0aW5nIHRoZSBjYWNoZSB1bnRpbCB1cGRhdGVcbiAgICAgICAgICAgICAgICB0aGlzLnZub2RlVG9DYWNoZSA9IHZub2RlO1xuICAgICAgICAgICAgICAgIHRoaXMua2V5VG9DYWNoZSA9IGtleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgY2FuIHZub2RlLmRhdGEgY2FuIGJlIHVuZGVmaW5lZFxuICAgICAgICAgICAgdm5vZGUuZGF0YS5rZWVwQWxpdmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2bm9kZSB8fCAoc2xvdCAmJiBzbG90WzBdKTtcbiAgICB9XG59O1xuXG52YXIgYnVpbHRJbkNvbXBvbmVudHMgPSB7XG4gICAgS2VlcEFsaXZlOiBLZWVwQWxpdmVcbn07XG5cbmZ1bmN0aW9uIGluaXRHbG9iYWxBUEkoVnVlKSB7XG4gICAgLy8gY29uZmlnXG4gICAgdmFyIGNvbmZpZ0RlZiA9IHt9O1xuICAgIGNvbmZpZ0RlZi5nZXQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBjb25maWc7IH07XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgY29uZmlnRGVmLnNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHdhcm4kMignRG8gbm90IHJlcGxhY2UgdGhlIFZ1ZS5jb25maWcgb2JqZWN0LCBzZXQgaW5kaXZpZHVhbCBmaWVsZHMgaW5zdGVhZC4nKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSwgJ2NvbmZpZycsIGNvbmZpZ0RlZik7XG4gICAgLy8gZXhwb3NlZCB1dGlsIG1ldGhvZHMuXG4gICAgLy8gTk9URTogdGhlc2UgYXJlIG5vdCBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkgLSBhdm9pZCByZWx5aW5nIG9uXG4gICAgLy8gdGhlbSB1bmxlc3MgeW91IGFyZSBhd2FyZSBvZiB0aGUgcmlzay5cbiAgICBWdWUudXRpbCA9IHtcbiAgICAgICAgd2Fybjogd2FybiQyLFxuICAgICAgICBleHRlbmQ6IGV4dGVuZCxcbiAgICAgICAgbWVyZ2VPcHRpb25zOiBtZXJnZU9wdGlvbnMsXG4gICAgICAgIGRlZmluZVJlYWN0aXZlOiBkZWZpbmVSZWFjdGl2ZVxuICAgIH07XG4gICAgVnVlLnNldCA9IHNldDtcbiAgICBWdWUuZGVsZXRlID0gZGVsO1xuICAgIFZ1ZS5uZXh0VGljayA9IG5leHRUaWNrO1xuICAgIC8vIDIuNiBleHBsaWNpdCBvYnNlcnZhYmxlIEFQSVxuICAgIFZ1ZS5vYnNlcnZhYmxlID0gZnVuY3Rpb24gKG9iaikge1xuICAgICAgICBvYnNlcnZlKG9iaik7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfTtcbiAgICBWdWUub3B0aW9ucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgICAgICBWdWUub3B0aW9uc1t0eXBlICsgJ3MnXSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgfSk7XG4gICAgLy8gdGhpcyBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBcImJhc2VcIiBjb25zdHJ1Y3RvciB0byBleHRlbmQgYWxsIHBsYWluLW9iamVjdFxuICAgIC8vIGNvbXBvbmVudHMgd2l0aCBpbiBXZWV4J3MgbXVsdGktaW5zdGFuY2Ugc2NlbmFyaW9zLlxuICAgIFZ1ZS5vcHRpb25zLl9iYXNlID0gVnVlO1xuICAgIGV4dGVuZChWdWUub3B0aW9ucy5jb21wb25lbnRzLCBidWlsdEluQ29tcG9uZW50cyk7XG4gICAgaW5pdFVzZShWdWUpO1xuICAgIGluaXRNaXhpbihWdWUpO1xuICAgIGluaXRFeHRlbmQoVnVlKTtcbiAgICBpbml0QXNzZXRSZWdpc3RlcnMoVnVlKTtcbn1cblxuaW5pdEdsb2JhbEFQSShWdWUpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckaXNTZXJ2ZXInLCB7XG4gICAgZ2V0OiBpc1NlcnZlclJlbmRlcmluZ1xufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgJyRzc3JDb250ZXh0Jywge1xuICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm4gdGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4dDtcbiAgICB9XG59KTtcbi8vIGV4cG9zZSBGdW5jdGlvbmFsUmVuZGVyQ29udGV4dCBmb3Igc3NyIHJ1bnRpbWUgaGVscGVyIGluc3RhbGxhdGlvblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSwgJ0Z1bmN0aW9uYWxSZW5kZXJDb250ZXh0Jywge1xuICAgIHZhbHVlOiBGdW5jdGlvbmFsUmVuZGVyQ29udGV4dFxufSk7XG5WdWUudmVyc2lvbiA9IHZlcnNpb247XG5cbi8vIHRoZXNlIGFyZSByZXNlcnZlZCBmb3Igd2ViIGJlY2F1c2UgdGhleSBhcmUgZGlyZWN0bHkgY29tcGlsZWQgYXdheVxuLy8gZHVyaW5nIHRlbXBsYXRlIGNvbXBpbGF0aW9uXG52YXIgaXNSZXNlcnZlZEF0dHIgPSBtYWtlTWFwKCdzdHlsZSxjbGFzcycpO1xuLy8gYXR0cmlidXRlcyB0aGF0IHNob3VsZCBiZSB1c2luZyBwcm9wcyBmb3IgYmluZGluZ1xudmFyIGFjY2VwdFZhbHVlID0gbWFrZU1hcCgnaW5wdXQsdGV4dGFyZWEsb3B0aW9uLHNlbGVjdCxwcm9ncmVzcycpO1xudmFyIG11c3RVc2VQcm9wID0gZnVuY3Rpb24gKHRhZywgdHlwZSwgYXR0cikge1xuICAgIHJldHVybiAoKGF0dHIgPT09ICd2YWx1ZScgJiYgYWNjZXB0VmFsdWUodGFnKSAmJiB0eXBlICE9PSAnYnV0dG9uJykgfHxcbiAgICAgICAgKGF0dHIgPT09ICdzZWxlY3RlZCcgJiYgdGFnID09PSAnb3B0aW9uJykgfHxcbiAgICAgICAgKGF0dHIgPT09ICdjaGVja2VkJyAmJiB0YWcgPT09ICdpbnB1dCcpIHx8XG4gICAgICAgIChhdHRyID09PSAnbXV0ZWQnICYmIHRhZyA9PT0gJ3ZpZGVvJykpO1xufTtcbnZhciBpc0VudW1lcmF0ZWRBdHRyID0gbWFrZU1hcCgnY29udGVudGVkaXRhYmxlLGRyYWdnYWJsZSxzcGVsbGNoZWNrJyk7XG52YXIgaXNWYWxpZENvbnRlbnRFZGl0YWJsZVZhbHVlID0gbWFrZU1hcCgnZXZlbnRzLGNhcmV0LHR5cGluZyxwbGFpbnRleHQtb25seScpO1xudmFyIGNvbnZlcnRFbnVtZXJhdGVkVmFsdWUgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICAgIHJldHVybiBpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJ2ZhbHNlJ1xuICAgICAgICA/ICdmYWxzZSdcbiAgICAgICAgOiAvLyBhbGxvdyBhcmJpdHJhcnkgc3RyaW5nIHZhbHVlIGZvciBjb250ZW50ZWRpdGFibGVcbiAgICAgICAgICAgIGtleSA9PT0gJ2NvbnRlbnRlZGl0YWJsZScgJiYgaXNWYWxpZENvbnRlbnRFZGl0YWJsZVZhbHVlKHZhbHVlKVxuICAgICAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgICAgICA6ICd0cnVlJztcbn07XG52YXIgaXNCb29sZWFuQXR0ciA9IG1ha2VNYXAoJ2FsbG93ZnVsbHNjcmVlbixhc3luYyxhdXRvZm9jdXMsYXV0b3BsYXksY2hlY2tlZCxjb21wYWN0LGNvbnRyb2xzLGRlY2xhcmUsJyArXG4gICAgJ2RlZmF1bHQsZGVmYXVsdGNoZWNrZWQsZGVmYXVsdG11dGVkLGRlZmF1bHRzZWxlY3RlZCxkZWZlcixkaXNhYmxlZCwnICtcbiAgICAnZW5hYmxlZCxmb3Jtbm92YWxpZGF0ZSxoaWRkZW4saW5kZXRlcm1pbmF0ZSxpbmVydCxpc21hcCxpdGVtc2NvcGUsbG9vcCxtdWx0aXBsZSwnICtcbiAgICAnbXV0ZWQsbm9ocmVmLG5vcmVzaXplLG5vc2hhZGUsbm92YWxpZGF0ZSxub3dyYXAsb3BlbixwYXVzZW9uZXhpdCxyZWFkb25seSwnICtcbiAgICAncmVxdWlyZWQscmV2ZXJzZWQsc2NvcGVkLHNlYW1sZXNzLHNlbGVjdGVkLHNvcnRhYmxlLCcgK1xuICAgICd0cnVlc3BlZWQsdHlwZW11c3RtYXRjaCx2aXNpYmxlJyk7XG52YXIgeGxpbmtOUyA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJztcbnZhciBpc1hsaW5rID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICByZXR1cm4gbmFtZS5jaGFyQXQoNSkgPT09ICc6JyAmJiBuYW1lLnNsaWNlKDAsIDUpID09PSAneGxpbmsnO1xufTtcbnZhciBnZXRYbGlua1Byb3AgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIHJldHVybiBpc1hsaW5rKG5hbWUpID8gbmFtZS5zbGljZSg2LCBuYW1lLmxlbmd0aCkgOiAnJztcbn07XG52YXIgaXNGYWxzeUF0dHJWYWx1ZSA9IGZ1bmN0aW9uICh2YWwpIHtcbiAgICByZXR1cm4gdmFsID09IG51bGwgfHwgdmFsID09PSBmYWxzZTtcbn07XG5cbmZ1bmN0aW9uIGdlbkNsYXNzRm9yVm5vZGUodm5vZGUpIHtcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgdmFyIHBhcmVudE5vZGUgPSB2bm9kZTtcbiAgICB2YXIgY2hpbGROb2RlID0gdm5vZGU7XG4gICAgd2hpbGUgKGlzRGVmKGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZSkpIHtcbiAgICAgICAgY2hpbGROb2RlID0gY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgICAgaWYgKGNoaWxkTm9kZSAmJiBjaGlsZE5vZGUuZGF0YSkge1xuICAgICAgICAgICAgZGF0YSA9IG1lcmdlQ2xhc3NEYXRhKGNoaWxkTm9kZS5kYXRhLCBkYXRhKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHBhcmVudE5vZGUucGFyZW50IG5vdCBWTm9kZVdpdGhEYXRhXG4gICAgd2hpbGUgKGlzRGVmKChwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSkge1xuICAgICAgICBpZiAocGFyZW50Tm9kZSAmJiBwYXJlbnROb2RlLmRhdGEpIHtcbiAgICAgICAgICAgIGRhdGEgPSBtZXJnZUNsYXNzRGF0YShkYXRhLCBwYXJlbnROb2RlLmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZW5kZXJDbGFzcyhkYXRhLnN0YXRpY0NsYXNzLCBkYXRhLmNsYXNzKTtcbn1cbmZ1bmN0aW9uIG1lcmdlQ2xhc3NEYXRhKGNoaWxkLCBwYXJlbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBzdGF0aWNDbGFzczogY29uY2F0KGNoaWxkLnN0YXRpY0NsYXNzLCBwYXJlbnQuc3RhdGljQ2xhc3MpLFxuICAgICAgICBjbGFzczogaXNEZWYoY2hpbGQuY2xhc3MpID8gW2NoaWxkLmNsYXNzLCBwYXJlbnQuY2xhc3NdIDogcGFyZW50LmNsYXNzXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHJlbmRlckNsYXNzKHN0YXRpY0NsYXNzLCBkeW5hbWljQ2xhc3MpIHtcbiAgICBpZiAoaXNEZWYoc3RhdGljQ2xhc3MpIHx8IGlzRGVmKGR5bmFtaWNDbGFzcykpIHtcbiAgICAgICAgcmV0dXJuIGNvbmNhdChzdGF0aWNDbGFzcywgc3RyaW5naWZ5Q2xhc3MoZHluYW1pY0NsYXNzKSk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gY29uY2F0KGEsIGIpIHtcbiAgICByZXR1cm4gYSA/IChiID8gYSArICcgJyArIGIgOiBhKSA6IGIgfHwgJyc7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlDbGFzcyh2YWx1ZSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5naWZ5QXJyYXkodmFsdWUpO1xuICAgIH1cbiAgICBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmdpZnlPYmplY3QodmFsdWUpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5QXJyYXkodmFsdWUpIHtcbiAgICB2YXIgcmVzID0gJyc7XG4gICAgdmFyIHN0cmluZ2lmaWVkO1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGlmIChpc0RlZigoc3RyaW5naWZpZWQgPSBzdHJpbmdpZnlDbGFzcyh2YWx1ZVtpXSkpKSAmJiBzdHJpbmdpZmllZCAhPT0gJycpIHtcbiAgICAgICAgICAgIGlmIChyZXMpXG4gICAgICAgICAgICAgICAgcmVzICs9ICcgJztcbiAgICAgICAgICAgIHJlcyArPSBzdHJpbmdpZmllZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5T2JqZWN0KHZhbHVlKSB7XG4gICAgdmFyIHJlcyA9ICcnO1xuICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWVba2V5XSkge1xuICAgICAgICAgICAgaWYgKHJlcylcbiAgICAgICAgICAgICAgICByZXMgKz0gJyAnO1xuICAgICAgICAgICAgcmVzICs9IGtleTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuXG52YXIgbmFtZXNwYWNlTWFwID0ge1xuICAgIHN2ZzogJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyxcbiAgICBtYXRoOiAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCdcbn07XG52YXIgaXNIVE1MVGFnID0gbWFrZU1hcCgnaHRtbCxib2R5LGJhc2UsaGVhZCxsaW5rLG1ldGEsc3R5bGUsdGl0bGUsJyArXG4gICAgJ2FkZHJlc3MsYXJ0aWNsZSxhc2lkZSxmb290ZXIsaGVhZGVyLGgxLGgyLGgzLGg0LGg1LGg2LGhncm91cCxuYXYsc2VjdGlvbiwnICtcbiAgICAnZGl2LGRkLGRsLGR0LGZpZ2NhcHRpb24sZmlndXJlLHBpY3R1cmUsaHIsaW1nLGxpLG1haW4sb2wscCxwcmUsdWwsJyArXG4gICAgJ2EsYixhYmJyLGJkaSxiZG8sYnIsY2l0ZSxjb2RlLGRhdGEsZGZuLGVtLGksa2JkLG1hcmsscSxycCxydCxydGMscnVieSwnICtcbiAgICAncyxzYW1wLHNtYWxsLHNwYW4sc3Ryb25nLHN1YixzdXAsdGltZSx1LHZhcix3YnIsYXJlYSxhdWRpbyxtYXAsdHJhY2ssdmlkZW8sJyArXG4gICAgJ2VtYmVkLG9iamVjdCxwYXJhbSxzb3VyY2UsY2FudmFzLHNjcmlwdCxub3NjcmlwdCxkZWwsaW5zLCcgK1xuICAgICdjYXB0aW9uLGNvbCxjb2xncm91cCx0YWJsZSx0aGVhZCx0Ym9keSx0ZCx0aCx0ciwnICtcbiAgICAnYnV0dG9uLGRhdGFsaXN0LGZpZWxkc2V0LGZvcm0saW5wdXQsbGFiZWwsbGVnZW5kLG1ldGVyLG9wdGdyb3VwLG9wdGlvbiwnICtcbiAgICAnb3V0cHV0LHByb2dyZXNzLHNlbGVjdCx0ZXh0YXJlYSwnICtcbiAgICAnZGV0YWlscyxkaWFsb2csbWVudSxtZW51aXRlbSxzdW1tYXJ5LCcgK1xuICAgICdjb250ZW50LGVsZW1lbnQsc2hhZG93LHRlbXBsYXRlLGJsb2NrcXVvdGUsaWZyYW1lLHRmb290Jyk7XG4vLyB0aGlzIG1hcCBpcyBpbnRlbnRpb25hbGx5IHNlbGVjdGl2ZSwgb25seSBjb3ZlcmluZyBTVkcgZWxlbWVudHMgdGhhdCBtYXlcbi8vIGNvbnRhaW4gY2hpbGQgZWxlbWVudHMuXG52YXIgaXNTVkcgPSBtYWtlTWFwKCdzdmcsYW5pbWF0ZSxjaXJjbGUsY2xpcHBhdGgsY3Vyc29yLGRlZnMsZGVzYyxlbGxpcHNlLGZpbHRlcixmb250LWZhY2UsJyArXG4gICAgJ2ZvcmVpZ25vYmplY3QsZyxnbHlwaCxpbWFnZSxsaW5lLG1hcmtlcixtYXNrLG1pc3NpbmctZ2x5cGgscGF0aCxwYXR0ZXJuLCcgK1xuICAgICdwb2x5Z29uLHBvbHlsaW5lLHJlY3Qsc3dpdGNoLHN5bWJvbCx0ZXh0LHRleHRwYXRoLHRzcGFuLHVzZSx2aWV3JywgdHJ1ZSk7XG52YXIgaXNQcmVUYWcgPSBmdW5jdGlvbiAodGFnKSB7IHJldHVybiB0YWcgPT09ICdwcmUnOyB9O1xudmFyIGlzUmVzZXJ2ZWRUYWcgPSBmdW5jdGlvbiAodGFnKSB7XG4gICAgcmV0dXJuIGlzSFRNTFRhZyh0YWcpIHx8IGlzU1ZHKHRhZyk7XG59O1xuZnVuY3Rpb24gZ2V0VGFnTmFtZXNwYWNlKHRhZykge1xuICAgIGlmIChpc1NWRyh0YWcpKSB7XG4gICAgICAgIHJldHVybiAnc3ZnJztcbiAgICB9XG4gICAgLy8gYmFzaWMgc3VwcG9ydCBmb3IgTWF0aE1MXG4gICAgLy8gbm90ZSBpdCBkb2Vzbid0IHN1cHBvcnQgb3RoZXIgTWF0aE1MIGVsZW1lbnRzIGJlaW5nIGNvbXBvbmVudCByb290c1xuICAgIGlmICh0YWcgPT09ICdtYXRoJykge1xuICAgICAgICByZXR1cm4gJ21hdGgnO1xuICAgIH1cbn1cbnZhciB1bmtub3duRWxlbWVudENhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbmZ1bmN0aW9uIGlzVW5rbm93bkVsZW1lbnQodGFnKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFpbkJyb3dzZXIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChpc1Jlc2VydmVkVGFnKHRhZykpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0YWcgPSB0YWcudG9Mb3dlckNhc2UoKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHVua25vd25FbGVtZW50Q2FjaGVbdGFnXTtcbiAgICB9XG4gICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO1xuICAgIGlmICh0YWcuaW5kZXhPZignLScpID4gLTEpIHtcbiAgICAgICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjgyMTAzNjQvMTA3MDI0NFxuICAgICAgICByZXR1cm4gKHVua25vd25FbGVtZW50Q2FjaGVbdGFnXSA9XG4gICAgICAgICAgICBlbC5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkhUTUxVbmtub3duRWxlbWVudCB8fFxuICAgICAgICAgICAgICAgIGVsLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuICh1bmtub3duRWxlbWVudENhY2hlW3RhZ10gPSAvSFRNTFVua25vd25FbGVtZW50Ly50ZXN0KGVsLnRvU3RyaW5nKCkpKTtcbiAgICB9XG59XG52YXIgaXNUZXh0SW5wdXRUeXBlID0gbWFrZU1hcCgndGV4dCxudW1iZXIscGFzc3dvcmQsc2VhcmNoLGVtYWlsLHRlbCx1cmwnKTtcblxuLyoqXG4gKiBRdWVyeSBhbiBlbGVtZW50IHNlbGVjdG9yIGlmIGl0J3Mgbm90IGFuIGVsZW1lbnQgYWxyZWFkeS5cbiAqL1xuZnVuY3Rpb24gcXVlcnkoZWwpIHtcbiAgICBpZiAodHlwZW9mIGVsID09PSAnc3RyaW5nJykge1xuICAgICAgICB2YXIgc2VsZWN0ZWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGVsKTtcbiAgICAgICAgaWYgKCFzZWxlY3RlZCkge1xuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuJDIoJ0Nhbm5vdCBmaW5kIGVsZW1lbnQ6ICcgKyBlbCk7XG4gICAgICAgICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGVsO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0YWdOYW1lLCB2bm9kZSkge1xuICAgIHZhciBlbG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpO1xuICAgIGlmICh0YWdOYW1lICE9PSAnc2VsZWN0Jykge1xuICAgICAgICByZXR1cm4gZWxtO1xuICAgIH1cbiAgICAvLyBmYWxzZSBvciBudWxsIHdpbGwgcmVtb3ZlIHRoZSBhdHRyaWJ1dGUgYnV0IHVuZGVmaW5lZCB3aWxsIG5vdFxuICAgIGlmICh2bm9kZS5kYXRhICYmXG4gICAgICAgIHZub2RlLmRhdGEuYXR0cnMgJiZcbiAgICAgICAgdm5vZGUuZGF0YS5hdHRycy5tdWx0aXBsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVsbS5zZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJ211bHRpcGxlJyk7XG4gICAgfVxuICAgIHJldHVybiBlbG07XG59XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlLCB0YWdOYW1lKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2VNYXBbbmFtZXNwYWNlXSwgdGFnTmFtZSk7XG59XG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSh0ZXh0KSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpO1xufVxuZnVuY3Rpb24gY3JlYXRlQ29tbWVudCh0ZXh0KSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQodGV4dCk7XG59XG5mdW5jdGlvbiBpbnNlcnRCZWZvcmUocGFyZW50Tm9kZSwgbmV3Tm9kZSwgcmVmZXJlbmNlTm9kZSkge1xuICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5ld05vZGUsIHJlZmVyZW5jZU5vZGUpO1xufVxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQobm9kZSwgY2hpbGQpIHtcbiAgICBub2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIGFwcGVuZENoaWxkKG5vZGUsIGNoaWxkKSB7XG4gICAgbm9kZS5hcHBlbmRDaGlsZChjaGlsZCk7XG59XG5mdW5jdGlvbiBwYXJlbnROb2RlKG5vZGUpIHtcbiAgICByZXR1cm4gbm9kZS5wYXJlbnROb2RlO1xufVxuZnVuY3Rpb24gbmV4dFNpYmxpbmcobm9kZSkge1xuICAgIHJldHVybiBub2RlLm5leHRTaWJsaW5nO1xufVxuZnVuY3Rpb24gdGFnTmFtZShub2RlKSB7XG4gICAgcmV0dXJuIG5vZGUudGFnTmFtZTtcbn1cbmZ1bmN0aW9uIHNldFRleHRDb250ZW50KG5vZGUsIHRleHQpIHtcbiAgICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcbn1cbmZ1bmN0aW9uIHNldFN0eWxlU2NvcGUobm9kZSwgc2NvcGVJZCkge1xuICAgIG5vZGUuc2V0QXR0cmlidXRlKHNjb3BlSWQsICcnKTtcbn1cblxudmFyIG5vZGVPcHMgPSAvKiNfX1BVUkVfXyovT2JqZWN0LmZyZWV6ZSh7XG4gIF9fcHJvdG9fXzogbnVsbCxcbiAgY3JlYXRlRWxlbWVudDogY3JlYXRlRWxlbWVudCxcbiAgY3JlYXRlRWxlbWVudE5TOiBjcmVhdGVFbGVtZW50TlMsXG4gIGNyZWF0ZVRleHROb2RlOiBjcmVhdGVUZXh0Tm9kZSxcbiAgY3JlYXRlQ29tbWVudDogY3JlYXRlQ29tbWVudCxcbiAgaW5zZXJ0QmVmb3JlOiBpbnNlcnRCZWZvcmUsXG4gIHJlbW92ZUNoaWxkOiByZW1vdmVDaGlsZCxcbiAgYXBwZW5kQ2hpbGQ6IGFwcGVuZENoaWxkLFxuICBwYXJlbnROb2RlOiBwYXJlbnROb2RlLFxuICBuZXh0U2libGluZzogbmV4dFNpYmxpbmcsXG4gIHRhZ05hbWU6IHRhZ05hbWUsXG4gIHNldFRleHRDb250ZW50OiBzZXRUZXh0Q29udGVudCxcbiAgc2V0U3R5bGVTY29wZTogc2V0U3R5bGVTY29wZVxufSk7XG5cbnZhciByZWYgPSB7XG4gICAgY3JlYXRlOiBmdW5jdGlvbiAoXywgdm5vZGUpIHtcbiAgICAgICAgcmVnaXN0ZXJSZWYodm5vZGUpO1xuICAgIH0sXG4gICAgdXBkYXRlOiBmdW5jdGlvbiAob2xkVm5vZGUsIHZub2RlKSB7XG4gICAgICAgIGlmIChvbGRWbm9kZS5kYXRhLnJlZiAhPT0gdm5vZGUuZGF0YS5yZWYpIHtcbiAgICAgICAgICAgIHJlZ2lzdGVyUmVmKG9sZFZub2RlLCB0cnVlKTtcbiAgICAgICAgICAgIHJlZ2lzdGVyUmVmKHZub2RlKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGVzdHJveTogZnVuY3Rpb24gKHZub2RlKSB7XG4gICAgICAgIHJlZ2lzdGVyUmVmKHZub2RlLCB0cnVlKTtcbiAgICB9XG59O1xuZnVuY3Rpb24gcmVnaXN0ZXJSZWYodm5vZGUsIGlzUmVtb3ZhbCkge1xuICAgIHZhciByZWYgPSB2bm9kZS5kYXRhLnJlZjtcbiAgICBpZiAoIWlzRGVmKHJlZikpXG4gICAgICAgIHJldHVybjtcbiAgICB2YXIgdm0gPSB2bm9kZS5jb250ZXh0O1xuICAgIHZhciByZWZWYWx1ZSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlIHx8IHZub2RlLmVsbTtcbiAgICB2YXIgdmFsdWUgPSBpc1JlbW92YWwgPyBudWxsIDogcmVmVmFsdWU7XG4gICAgdmFyICRyZWZzVmFsdWUgPSBpc1JlbW92YWwgPyB1bmRlZmluZWQgOiByZWZWYWx1ZTtcbiAgICBpZiAoaXNGdW5jdGlvbihyZWYpKSB7XG4gICAgICAgIGludm9rZVdpdGhFcnJvckhhbmRsaW5nKHJlZiwgdm0sIFt2YWx1ZV0sIHZtLCBcInRlbXBsYXRlIHJlZiBmdW5jdGlvblwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgaXNGb3IgPSB2bm9kZS5kYXRhLnJlZkluRm9yO1xuICAgIHZhciBfaXNTdHJpbmcgPSB0eXBlb2YgcmVmID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgcmVmID09PSAnbnVtYmVyJztcbiAgICB2YXIgX2lzUmVmID0gaXNSZWYocmVmKTtcbiAgICB2YXIgcmVmcyA9IHZtLiRyZWZzO1xuICAgIGlmIChfaXNTdHJpbmcgfHwgX2lzUmVmKSB7XG4gICAgICAgIGlmIChpc0Zvcikge1xuICAgICAgICAgICAgdmFyIGV4aXN0aW5nID0gX2lzU3RyaW5nID8gcmVmc1tyZWZdIDogcmVmLnZhbHVlO1xuICAgICAgICAgICAgaWYgKGlzUmVtb3ZhbCkge1xuICAgICAgICAgICAgICAgIGlzQXJyYXkoZXhpc3RpbmcpICYmIHJlbW92ZSQyKGV4aXN0aW5nLCByZWZWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQXJyYXkoZXhpc3RpbmcpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChfaXNTdHJpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnNbcmVmXSA9IFtyZWZWYWx1ZV07XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRTZXR1cFJlZih2bSwgcmVmLCByZWZzW3JlZl0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmLnZhbHVlID0gW3JlZlZhbHVlXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICghZXhpc3RpbmcuaW5jbHVkZXMocmVmVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLnB1c2gocmVmVmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChfaXNTdHJpbmcpIHtcbiAgICAgICAgICAgIGlmIChpc1JlbW92YWwgJiYgcmVmc1tyZWZdICE9PSByZWZWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlZnNbcmVmXSA9ICRyZWZzVmFsdWU7XG4gICAgICAgICAgICBzZXRTZXR1cFJlZih2bSwgcmVmLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoX2lzUmVmKSB7XG4gICAgICAgICAgICBpZiAoaXNSZW1vdmFsICYmIHJlZi52YWx1ZSAhPT0gcmVmVmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWYudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB3YXJuJDIoXCJJbnZhbGlkIHRlbXBsYXRlIHJlZiB0eXBlOiBcIi5jb25jYXQodHlwZW9mIHJlZikpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gc2V0U2V0dXBSZWYoX2EsIGtleSwgdmFsKSB7XG4gICAgdmFyIF9zZXR1cFN0YXRlID0gX2EuX3NldHVwU3RhdGU7XG4gICAgaWYgKF9zZXR1cFN0YXRlICYmIGhhc093bihfc2V0dXBTdGF0ZSwga2V5KSkge1xuICAgICAgICBpZiAoaXNSZWYoX3NldHVwU3RhdGVba2V5XSkpIHtcbiAgICAgICAgICAgIF9zZXR1cFN0YXRlW2tleV0udmFsdWUgPSB2YWw7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBfc2V0dXBTdGF0ZVtrZXldID0gdmFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIFZpcnR1YWwgRE9NIHBhdGNoaW5nIGFsZ29yaXRobSBiYXNlZCBvbiBTbmFiYmRvbSBieVxuICogU2ltb24gRnJpaXMgVmluZHVtIChAcGFsZGVwaW5kKVxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcGFsZGVwaW5kL3NuYWJiZG9tL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqXG4gKiBtb2RpZmllZCBieSBFdmFuIFlvdSAoQHl5eDk5MDgwMylcbiAqXG4gKiBOb3QgdHlwZS1jaGVja2luZyB0aGlzIGJlY2F1c2UgdGhpcyBmaWxlIGlzIHBlcmYtY3JpdGljYWwgYW5kIHRoZSBjb3N0XG4gKiBvZiBtYWtpbmcgZmxvdyB1bmRlcnN0YW5kIGl0IGlzIG5vdCB3b3J0aCBpdC5cbiAqL1xudmFyIGVtcHR5Tm9kZSA9IG5ldyBWTm9kZSgnJywge30sIFtdKTtcbnZhciBob29rcyA9IFsnY3JlYXRlJywgJ2FjdGl2YXRlJywgJ3VwZGF0ZScsICdyZW1vdmUnLCAnZGVzdHJveSddO1xuZnVuY3Rpb24gc2FtZVZub2RlKGEsIGIpIHtcbiAgICByZXR1cm4gKGEua2V5ID09PSBiLmtleSAmJlxuICAgICAgICBhLmFzeW5jRmFjdG9yeSA9PT0gYi5hc3luY0ZhY3RvcnkgJiZcbiAgICAgICAgKChhLnRhZyA9PT0gYi50YWcgJiZcbiAgICAgICAgICAgIGEuaXNDb21tZW50ID09PSBiLmlzQ29tbWVudCAmJlxuICAgICAgICAgICAgaXNEZWYoYS5kYXRhKSA9PT0gaXNEZWYoYi5kYXRhKSAmJlxuICAgICAgICAgICAgc2FtZUlucHV0VHlwZShhLCBiKSkgfHxcbiAgICAgICAgICAgIChpc1RydWUoYS5pc0FzeW5jUGxhY2Vob2xkZXIpICYmIGlzVW5kZWYoYi5hc3luY0ZhY3RvcnkuZXJyb3IpKSkpO1xufVxuZnVuY3Rpb24gc2FtZUlucHV0VHlwZShhLCBiKSB7XG4gICAgaWYgKGEudGFnICE9PSAnaW5wdXQnKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB2YXIgaTtcbiAgICB2YXIgdHlwZUEgPSBpc0RlZigoaSA9IGEuZGF0YSkpICYmIGlzRGVmKChpID0gaS5hdHRycykpICYmIGkudHlwZTtcbiAgICB2YXIgdHlwZUIgPSBpc0RlZigoaSA9IGIuZGF0YSkpICYmIGlzRGVmKChpID0gaS5hdHRycykpICYmIGkudHlwZTtcbiAgICByZXR1cm4gdHlwZUEgPT09IHR5cGVCIHx8IChpc1RleHRJbnB1dFR5cGUodHlwZUEpICYmIGlzVGV4dElucHV0VHlwZSh0eXBlQikpO1xufVxuZnVuY3Rpb24gY3JlYXRlS2V5VG9PbGRJZHgoY2hpbGRyZW4sIGJlZ2luSWR4LCBlbmRJZHgpIHtcbiAgICB2YXIgaSwga2V5O1xuICAgIHZhciBtYXAgPSB7fTtcbiAgICBmb3IgKGkgPSBiZWdpbklkeDsgaSA8PSBlbmRJZHg7ICsraSkge1xuICAgICAgICBrZXkgPSBjaGlsZHJlbltpXS5rZXk7XG4gICAgICAgIGlmIChpc0RlZihrZXkpKVxuICAgICAgICAgICAgbWFwW2tleV0gPSBpO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xufVxuZnVuY3Rpb24gY3JlYXRlUGF0Y2hGdW5jdGlvbihiYWNrZW5kKSB7XG4gICAgdmFyIGksIGo7XG4gICAgdmFyIGNicyA9IHt9O1xuICAgIHZhciBtb2R1bGVzID0gYmFja2VuZC5tb2R1bGVzLCBub2RlT3BzID0gYmFja2VuZC5ub2RlT3BzO1xuICAgIGZvciAoaSA9IDA7IGkgPCBob29rcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjYnNbaG9va3NbaV1dID0gW107XG4gICAgICAgIGZvciAoaiA9IDA7IGogPCBtb2R1bGVzLmxlbmd0aDsgKytqKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYobW9kdWxlc1tqXVtob29rc1tpXV0pKSB7XG4gICAgICAgICAgICAgICAgY2JzW2hvb2tzW2ldXS5wdXNoKG1vZHVsZXNbal1baG9va3NbaV1dKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBlbXB0eU5vZGVBdChlbG0pIHtcbiAgICAgICAgcmV0dXJuIG5ldyBWTm9kZShub2RlT3BzLnRhZ05hbWUoZWxtKS50b0xvd2VyQ2FzZSgpLCB7fSwgW10sIHVuZGVmaW5lZCwgZWxtKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlUm1DYihjaGlsZEVsbSwgbGlzdGVuZXJzKSB7XG4gICAgICAgIGZ1bmN0aW9uIHJlbW92ZSgpIHtcbiAgICAgICAgICAgIGlmICgtLXJlbW92ZS5saXN0ZW5lcnMgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZW1vdmVOb2RlKGNoaWxkRWxtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZW1vdmUubGlzdGVuZXJzID0gbGlzdGVuZXJzO1xuICAgICAgICByZXR1cm4gcmVtb3ZlO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZW1vdmVOb2RlKGVsKSB7XG4gICAgICAgIHZhciBwYXJlbnQgPSBub2RlT3BzLnBhcmVudE5vZGUoZWwpO1xuICAgICAgICAvLyBlbGVtZW50IG1heSBoYXZlIGFscmVhZHkgYmVlbiByZW1vdmVkIGR1ZSB0byB2LWh0bWwgLyB2LXRleHRcbiAgICAgICAgaWYgKGlzRGVmKHBhcmVudCkpIHtcbiAgICAgICAgICAgIG5vZGVPcHMucmVtb3ZlQ2hpbGQocGFyZW50LCBlbCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaXNVbmtub3duRWxlbWVudCh2bm9kZSwgaW5WUHJlKSB7XG4gICAgICAgIHJldHVybiAoIWluVlByZSAmJlxuICAgICAgICAgICAgIXZub2RlLm5zICYmXG4gICAgICAgICAgICAhKGNvbmZpZy5pZ25vcmVkRWxlbWVudHMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgY29uZmlnLmlnbm9yZWRFbGVtZW50cy5zb21lKGZ1bmN0aW9uIChpZ25vcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzUmVnRXhwKGlnbm9yZSlcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaWdub3JlLnRlc3Qodm5vZGUudGFnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpZ25vcmUgPT09IHZub2RlLnRhZztcbiAgICAgICAgICAgICAgICB9KSkgJiZcbiAgICAgICAgICAgIGNvbmZpZy5pc1Vua25vd25FbGVtZW50KHZub2RlLnRhZykpO1xuICAgIH1cbiAgICB2YXIgY3JlYXRpbmdFbG1JblZQcmUgPSAwO1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUVsbSh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSwgbmVzdGVkLCBvd25lckFycmF5LCBpbmRleCkge1xuICAgICAgICBpZiAoaXNEZWYodm5vZGUuZWxtKSAmJiBpc0RlZihvd25lckFycmF5KSkge1xuICAgICAgICAgICAgLy8gVGhpcyB2bm9kZSB3YXMgdXNlZCBpbiBhIHByZXZpb3VzIHJlbmRlciFcbiAgICAgICAgICAgIC8vIG5vdyBpdCdzIHVzZWQgYXMgYSBuZXcgbm9kZSwgb3ZlcndyaXRpbmcgaXRzIGVsbSB3b3VsZCBjYXVzZVxuICAgICAgICAgICAgLy8gcG90ZW50aWFsIHBhdGNoIGVycm9ycyBkb3duIHRoZSByb2FkIHdoZW4gaXQncyB1c2VkIGFzIGFuIGluc2VydGlvblxuICAgICAgICAgICAgLy8gcmVmZXJlbmNlIG5vZGUuIEluc3RlYWQsIHdlIGNsb25lIHRoZSBub2RlIG9uLWRlbWFuZCBiZWZvcmUgY3JlYXRpbmdcbiAgICAgICAgICAgIC8vIGFzc29jaWF0ZWQgRE9NIGVsZW1lbnQgZm9yIGl0LlxuICAgICAgICAgICAgdm5vZGUgPSBvd25lckFycmF5W2luZGV4XSA9IGNsb25lVk5vZGUodm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIHZub2RlLmlzUm9vdEluc2VydCA9ICFuZXN0ZWQ7IC8vIGZvciB0cmFuc2l0aW9uIGVudGVyIGNoZWNrXG4gICAgICAgIGlmIChjcmVhdGVDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgICAgICB2YXIgY2hpbGRyZW4gPSB2bm9kZS5jaGlsZHJlbjtcbiAgICAgICAgdmFyIHRhZyA9IHZub2RlLnRhZztcbiAgICAgICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5wcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRpbmdFbG1JblZQcmUrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzVW5rbm93bkVsZW1lbnQodm5vZGUsIGNyZWF0aW5nRWxtSW5WUHJlKSkge1xuICAgICAgICAgICAgICAgICAgICB3YXJuJDIoJ1Vua25vd24gY3VzdG9tIGVsZW1lbnQ6IDwnICtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhZyArXG4gICAgICAgICAgICAgICAgICAgICAgICAnPiAtIGRpZCB5b3UgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAncmVnaXN0ZXIgdGhlIGNvbXBvbmVudCBjb3JyZWN0bHk/IEZvciByZWN1cnNpdmUgY29tcG9uZW50cywgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWFrZSBzdXJlIHRvIHByb3ZpZGUgdGhlIFwibmFtZVwiIG9wdGlvbi4nLCB2bm9kZS5jb250ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2bm9kZS5lbG0gPSB2bm9kZS5uc1xuICAgICAgICAgICAgICAgID8gbm9kZU9wcy5jcmVhdGVFbGVtZW50TlModm5vZGUubnMsIHRhZylcbiAgICAgICAgICAgICAgICA6IG5vZGVPcHMuY3JlYXRlRWxlbWVudCh0YWcsIHZub2RlKTtcbiAgICAgICAgICAgIHNldFNjb3BlKHZub2RlKTtcbiAgICAgICAgICAgIGNyZWF0ZUNoaWxkcmVuKHZub2RlLCBjaGlsZHJlbiwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgICAgICAgICAgIGludm9rZUNyZWF0ZUhvb2tzKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZGF0YSAmJiBkYXRhLnByZSkge1xuICAgICAgICAgICAgICAgIGNyZWF0aW5nRWxtSW5WUHJlLS07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNUcnVlKHZub2RlLmlzQ29tbWVudCkpIHtcbiAgICAgICAgICAgIHZub2RlLmVsbSA9IG5vZGVPcHMuY3JlYXRlQ29tbWVudCh2bm9kZS50ZXh0KTtcbiAgICAgICAgICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZub2RlLmVsbSA9IG5vZGVPcHMuY3JlYXRlVGV4dE5vZGUodm5vZGUudGV4dCk7XG4gICAgICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtKSB7XG4gICAgICAgIHZhciBpID0gdm5vZGUuZGF0YTtcbiAgICAgICAgaWYgKGlzRGVmKGkpKSB7XG4gICAgICAgICAgICB2YXIgaXNSZWFjdGl2YXRlZCA9IGlzRGVmKHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSAmJiBpLmtlZXBBbGl2ZTtcbiAgICAgICAgICAgIGlmIChpc0RlZigoaSA9IGkuaG9vaykpICYmIGlzRGVmKChpID0gaS5pbml0KSkpIHtcbiAgICAgICAgICAgICAgICBpKHZub2RlLCBmYWxzZSAvKiBoeWRyYXRpbmcgKi8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gYWZ0ZXIgY2FsbGluZyB0aGUgaW5pdCBob29rLCBpZiB0aGUgdm5vZGUgaXMgYSBjaGlsZCBjb21wb25lbnRcbiAgICAgICAgICAgIC8vIGl0IHNob3VsZCd2ZSBjcmVhdGVkIGEgY2hpbGQgaW5zdGFuY2UgYW5kIG1vdW50ZWQgaXQuIHRoZSBjaGlsZFxuICAgICAgICAgICAgLy8gY29tcG9uZW50IGFsc28gaGFzIHNldCB0aGUgcGxhY2Vob2xkZXIgdm5vZGUncyBlbG0uXG4gICAgICAgICAgICAvLyBpbiB0aGF0IGNhc2Ugd2UgY2FuIGp1c3QgcmV0dXJuIHRoZSBlbGVtZW50IGFuZCBiZSBkb25lLlxuICAgICAgICAgICAgaWYgKGlzRGVmKHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgICAgICAgICAgICAgIGluaXRDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgICAgICAgICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICAgICAgICAgICAgICAgIGlmIChpc1RydWUoaXNSZWFjdGl2YXRlZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVhY3RpdmF0ZUNvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGluaXRDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgICAgICBpZiAoaXNEZWYodm5vZGUuZGF0YS5wZW5kaW5nSW5zZXJ0KSkge1xuICAgICAgICAgICAgaW5zZXJ0ZWRWbm9kZVF1ZXVlLnB1c2guYXBwbHkoaW5zZXJ0ZWRWbm9kZVF1ZXVlLCB2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQpO1xuICAgICAgICAgICAgdm5vZGUuZGF0YS5wZW5kaW5nSW5zZXJ0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB2bm9kZS5lbG0gPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS4kZWw7XG4gICAgICAgIGlmIChpc1BhdGNoYWJsZSh2bm9kZSkpIHtcbiAgICAgICAgICAgIGludm9rZUNyZWF0ZUhvb2tzKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICAgICAgc2V0U2NvcGUodm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gZW1wdHkgY29tcG9uZW50IHJvb3QuXG4gICAgICAgICAgICAvLyBza2lwIGFsbCBlbGVtZW50LXJlbGF0ZWQgbW9kdWxlcyBleGNlcHQgZm9yIHJlZiAoIzM0NTUpXG4gICAgICAgICAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gICAgICAgICAgICAvLyBtYWtlIHN1cmUgdG8gaW52b2tlIHRoZSBpbnNlcnQgaG9va1xuICAgICAgICAgICAgaW5zZXJ0ZWRWbm9kZVF1ZXVlLnB1c2godm5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlYWN0aXZhdGVDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pIHtcbiAgICAgICAgdmFyIGk7XG4gICAgICAgIC8vIGhhY2sgZm9yICM0MzM5OiBhIHJlYWN0aXZhdGVkIGNvbXBvbmVudCB3aXRoIGlubmVyIHRyYW5zaXRpb25cbiAgICAgICAgLy8gZG9lcyBub3QgdHJpZ2dlciBiZWNhdXNlIHRoZSBpbm5lciBub2RlJ3MgY3JlYXRlZCBob29rcyBhcmUgbm90IGNhbGxlZFxuICAgICAgICAvLyBhZ2Fpbi4gSXQncyBub3QgaWRlYWwgdG8gaW52b2x2ZSBtb2R1bGUtc3BlY2lmaWMgbG9naWMgaW4gaGVyZSBidXRcbiAgICAgICAgLy8gdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEgYmV0dGVyIHdheSB0byBkbyBpdC5cbiAgICAgICAgdmFyIGlubmVyTm9kZSA9IHZub2RlO1xuICAgICAgICB3aGlsZSAoaW5uZXJOb2RlLmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICAgICAgICBpbm5lck5vZGUgPSBpbm5lck5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO1xuICAgICAgICAgICAgaWYgKGlzRGVmKChpID0gaW5uZXJOb2RlLmRhdGEpKSAmJiBpc0RlZigoaSA9IGkudHJhbnNpdGlvbikpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNicy5hY3RpdmF0ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgICAgICBjYnMuYWN0aXZhdGVbaV0oZW1wdHlOb2RlLCBpbm5lck5vZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaChpbm5lck5vZGUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHVubGlrZSBhIG5ld2x5IGNyZWF0ZWQgY29tcG9uZW50LFxuICAgICAgICAvLyBhIHJlYWN0aXZhdGVkIGtlZXAtYWxpdmUgY29tcG9uZW50IGRvZXNuJ3QgaW5zZXJ0IGl0c2VsZlxuICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGluc2VydChwYXJlbnQsIGVsbSwgcmVmKSB7XG4gICAgICAgIGlmIChpc0RlZihwYXJlbnQpKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYocmVmKSkge1xuICAgICAgICAgICAgICAgIGlmIChub2RlT3BzLnBhcmVudE5vZGUocmVmKSA9PT0gcGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVudCwgZWxtLCByZWYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG5vZGVPcHMuYXBwZW5kQ2hpbGQocGFyZW50LCBlbG0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkcmVuKHZub2RlLCBjaGlsZHJlbiwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAgICAgIGlmIChpc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICBjaGVja0R1cGxpY2F0ZUtleXMoY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaV8xID0gMDsgaV8xIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2lfMSkge1xuICAgICAgICAgICAgICAgIGNyZWF0ZUVsbShjaGlsZHJlbltpXzFdLCBpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmVsbSwgbnVsbCwgdHJ1ZSwgY2hpbGRyZW4sIGlfMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNQcmltaXRpdmUodm5vZGUudGV4dCkpIHtcbiAgICAgICAgICAgIG5vZGVPcHMuYXBwZW5kQ2hpbGQodm5vZGUuZWxtLCBub2RlT3BzLmNyZWF0ZVRleHROb2RlKFN0cmluZyh2bm9kZS50ZXh0KSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzUGF0Y2hhYmxlKHZub2RlKSB7XG4gICAgICAgIHdoaWxlICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgICAgICAgdm5vZGUgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzRGVmKHZub2RlLnRhZyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGludm9rZUNyZWF0ZUhvb2tzKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpIHtcbiAgICAgICAgZm9yICh2YXIgaV8yID0gMDsgaV8yIDwgY2JzLmNyZWF0ZS5sZW5ndGg7ICsraV8yKSB7XG4gICAgICAgICAgICBjYnMuY3JlYXRlW2lfMl0oZW1wdHlOb2RlLCB2bm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgaSA9IHZub2RlLmRhdGEuaG9vazsgLy8gUmV1c2UgdmFyaWFibGVcbiAgICAgICAgaWYgKGlzRGVmKGkpKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYoaS5jcmVhdGUpKVxuICAgICAgICAgICAgICAgIGkuY3JlYXRlKGVtcHR5Tm9kZSwgdm5vZGUpO1xuICAgICAgICAgICAgaWYgKGlzRGVmKGkuaW5zZXJ0KSlcbiAgICAgICAgICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc2V0IHNjb3BlIGlkIGF0dHJpYnV0ZSBmb3Igc2NvcGVkIENTUy5cbiAgICAvLyB0aGlzIGlzIGltcGxlbWVudGVkIGFzIGEgc3BlY2lhbCBjYXNlIHRvIGF2b2lkIHRoZSBvdmVyaGVhZFxuICAgIC8vIG9mIGdvaW5nIHRocm91Z2ggdGhlIG5vcm1hbCBhdHRyaWJ1dGUgcGF0Y2hpbmcgcHJvY2Vzcy5cbiAgICBmdW5jdGlvbiBzZXRTY29wZSh2bm9kZSkge1xuICAgICAgICB2YXIgaTtcbiAgICAgICAgaWYgKGlzRGVmKChpID0gdm5vZGUuZm5TY29wZUlkKSkpIHtcbiAgICAgICAgICAgIG5vZGVPcHMuc2V0U3R5bGVTY29wZSh2bm9kZS5lbG0sIGkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGFuY2VzdG9yID0gdm5vZGU7XG4gICAgICAgICAgICB3aGlsZSAoYW5jZXN0b3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNEZWYoKGkgPSBhbmNlc3Rvci5jb250ZXh0KSkgJiYgaXNEZWYoKGkgPSBpLiRvcHRpb25zLl9zY29wZUlkKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZU9wcy5zZXRTdHlsZVNjb3BlKHZub2RlLmVsbSwgaSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGZvciBzbG90IGNvbnRlbnQgdGhleSBzaG91bGQgYWxzbyBnZXQgdGhlIHNjb3BlSWQgZnJvbSB0aGUgaG9zdCBpbnN0YW5jZS5cbiAgICAgICAgaWYgKGlzRGVmKChpID0gYWN0aXZlSW5zdGFuY2UpKSAmJlxuICAgICAgICAgICAgaSAhPT0gdm5vZGUuY29udGV4dCAmJlxuICAgICAgICAgICAgaSAhPT0gdm5vZGUuZm5Db250ZXh0ICYmXG4gICAgICAgICAgICBpc0RlZigoaSA9IGkuJG9wdGlvbnMuX3Njb3BlSWQpKSkge1xuICAgICAgICAgICAgbm9kZU9wcy5zZXRTdHlsZVNjb3BlKHZub2RlLmVsbSwgaSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gYWRkVm5vZGVzKHBhcmVudEVsbSwgcmVmRWxtLCB2bm9kZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgICAgICBmb3IgKDsgc3RhcnRJZHggPD0gZW5kSWR4OyArK3N0YXJ0SWR4KSB7XG4gICAgICAgICAgICBjcmVhdGVFbG0odm5vZGVzW3N0YXJ0SWR4XSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSwgZmFsc2UsIHZub2Rlcywgc3RhcnRJZHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGludm9rZURlc3Ryb3lIb29rKHZub2RlKSB7XG4gICAgICAgIHZhciBpLCBqO1xuICAgICAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgICAgICAgaWYgKGlzRGVmKChpID0gZGF0YS5ob29rKSkgJiYgaXNEZWYoKGkgPSBpLmRlc3Ryb3kpKSlcbiAgICAgICAgICAgICAgICBpKHZub2RlKTtcbiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMuZGVzdHJveS5sZW5ndGg7ICsraSlcbiAgICAgICAgICAgICAgICBjYnMuZGVzdHJveVtpXSh2bm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGVmKChpID0gdm5vZGUuY2hpbGRyZW4pKSkge1xuICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHZub2RlLmNoaWxkcmVuLmxlbmd0aDsgKytqKSB7XG4gICAgICAgICAgICAgICAgaW52b2tlRGVzdHJveUhvb2sodm5vZGUuY2hpbGRyZW5bal0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlbW92ZVZub2Rlcyh2bm9kZXMsIHN0YXJ0SWR4LCBlbmRJZHgpIHtcbiAgICAgICAgZm9yICg7IHN0YXJ0SWR4IDw9IGVuZElkeDsgKytzdGFydElkeCkge1xuICAgICAgICAgICAgdmFyIGNoID0gdm5vZGVzW3N0YXJ0SWR4XTtcbiAgICAgICAgICAgIGlmIChpc0RlZihjaCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNEZWYoY2gudGFnKSkge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVBbmRJbnZva2VSZW1vdmVIb29rKGNoKTtcbiAgICAgICAgICAgICAgICAgICAgaW52b2tlRGVzdHJveUhvb2soY2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGV4dCBub2RlXG4gICAgICAgICAgICAgICAgICAgIHJlbW92ZU5vZGUoY2guZWxtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcmVtb3ZlQW5kSW52b2tlUmVtb3ZlSG9vayh2bm9kZSwgcm0pIHtcbiAgICAgICAgaWYgKGlzRGVmKHJtKSB8fCBpc0RlZih2bm9kZS5kYXRhKSkge1xuICAgICAgICAgICAgdmFyIGlfMztcbiAgICAgICAgICAgIHZhciBsaXN0ZW5lcnMgPSBjYnMucmVtb3ZlLmxlbmd0aCArIDE7XG4gICAgICAgICAgICBpZiAoaXNEZWYocm0pKSB7XG4gICAgICAgICAgICAgICAgLy8gd2UgaGF2ZSBhIHJlY3Vyc2l2ZWx5IHBhc3NlZCBkb3duIHJtIGNhbGxiYWNrXG4gICAgICAgICAgICAgICAgLy8gaW5jcmVhc2UgdGhlIGxpc3RlbmVycyBjb3VudFxuICAgICAgICAgICAgICAgIHJtLmxpc3RlbmVycyArPSBsaXN0ZW5lcnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBkaXJlY3RseSByZW1vdmluZ1xuICAgICAgICAgICAgICAgIHJtID0gY3JlYXRlUm1DYih2bm9kZS5lbG0sIGxpc3RlbmVycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyByZWN1cnNpdmVseSBpbnZva2UgaG9va3Mgb24gY2hpbGQgY29tcG9uZW50IHJvb3Qgbm9kZVxuICAgICAgICAgICAgaWYgKGlzRGVmKChpXzMgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkpICYmXG4gICAgICAgICAgICAgICAgaXNEZWYoKGlfMyA9IGlfMy5fdm5vZGUpKSAmJlxuICAgICAgICAgICAgICAgIGlzRGVmKGlfMy5kYXRhKSkge1xuICAgICAgICAgICAgICAgIHJlbW92ZUFuZEludm9rZVJlbW92ZUhvb2soaV8zLCBybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGlfMyA9IDA7IGlfMyA8IGNicy5yZW1vdmUubGVuZ3RoOyArK2lfMykge1xuICAgICAgICAgICAgICAgIGNicy5yZW1vdmVbaV8zXSh2bm9kZSwgcm0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzRGVmKChpXzMgPSB2bm9kZS5kYXRhLmhvb2spKSAmJiBpc0RlZigoaV8zID0gaV8zLnJlbW92ZSkpKSB7XG4gICAgICAgICAgICAgICAgaV8zKHZub2RlLCBybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBybSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmVtb3ZlTm9kZSh2bm9kZS5lbG0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHVwZGF0ZUNoaWxkcmVuKHBhcmVudEVsbSwgb2xkQ2gsIG5ld0NoLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9ubHkpIHtcbiAgICAgICAgdmFyIG9sZFN0YXJ0SWR4ID0gMDtcbiAgICAgICAgdmFyIG5ld1N0YXJ0SWR4ID0gMDtcbiAgICAgICAgdmFyIG9sZEVuZElkeCA9IG9sZENoLmxlbmd0aCAtIDE7XG4gICAgICAgIHZhciBvbGRTdGFydFZub2RlID0gb2xkQ2hbMF07XG4gICAgICAgIHZhciBvbGRFbmRWbm9kZSA9IG9sZENoW29sZEVuZElkeF07XG4gICAgICAgIHZhciBuZXdFbmRJZHggPSBuZXdDaC5sZW5ndGggLSAxO1xuICAgICAgICB2YXIgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWzBdO1xuICAgICAgICB2YXIgbmV3RW5kVm5vZGUgPSBuZXdDaFtuZXdFbmRJZHhdO1xuICAgICAgICB2YXIgb2xkS2V5VG9JZHgsIGlkeEluT2xkLCB2bm9kZVRvTW92ZSwgcmVmRWxtO1xuICAgICAgICAvLyByZW1vdmVPbmx5IGlzIGEgc3BlY2lhbCBmbGFnIHVzZWQgb25seSBieSA8dHJhbnNpdGlvbi1ncm91cD5cbiAgICAgICAgLy8gdG8gZW5zdXJlIHJlbW92ZWQgZWxlbWVudHMgc3RheSBpbiBjb3JyZWN0IHJlbGF0aXZlIHBvc2l0aW9uc1xuICAgICAgICAvLyBkdXJpbmcgbGVhdmluZyB0cmFuc2l0aW9uc1xuICAgICAgICB2YXIgY2FuTW92ZSA9ICFyZW1vdmVPbmx5O1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgY2hlY2tEdXBsaWNhdGVLZXlzKG5ld0NoKTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAob2xkU3RhcnRJZHggPD0gb2xkRW5kSWR4ICYmIG5ld1N0YXJ0SWR4IDw9IG5ld0VuZElkeCkge1xuICAgICAgICAgICAgaWYgKGlzVW5kZWYob2xkU3RhcnRWbm9kZSkpIHtcbiAgICAgICAgICAgICAgICBvbGRTdGFydFZub2RlID0gb2xkQ2hbKytvbGRTdGFydElkeF07IC8vIFZub2RlIGhhcyBiZWVuIG1vdmVkIGxlZnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGlzVW5kZWYob2xkRW5kVm5vZGUpKSB7XG4gICAgICAgICAgICAgICAgb2xkRW5kVm5vZGUgPSBvbGRDaFstLW9sZEVuZElkeF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChzYW1lVm5vZGUob2xkU3RhcnRWbm9kZSwgbmV3U3RhcnRWbm9kZSkpIHtcbiAgICAgICAgICAgICAgICBwYXRjaFZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgICAgICAgICBvbGRTdGFydFZub2RlID0gb2xkQ2hbKytvbGRTdGFydElkeF07XG4gICAgICAgICAgICAgICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoc2FtZVZub2RlKG9sZEVuZFZub2RlLCBuZXdFbmRWbm9kZSkpIHtcbiAgICAgICAgICAgICAgICBwYXRjaFZub2RlKG9sZEVuZFZub2RlLCBuZXdFbmRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3RW5kSWR4KTtcbiAgICAgICAgICAgICAgICBvbGRFbmRWbm9kZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgICAgICAgICAgICBuZXdFbmRWbm9kZSA9IG5ld0NoWy0tbmV3RW5kSWR4XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHNhbWVWbm9kZShvbGRTdGFydFZub2RlLCBuZXdFbmRWbm9kZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBWbm9kZSBtb3ZlZCByaWdodFxuICAgICAgICAgICAgICAgIHBhdGNoVm5vZGUob2xkU3RhcnRWbm9kZSwgbmV3RW5kVm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgbmV3Q2gsIG5ld0VuZElkeCk7XG4gICAgICAgICAgICAgICAgY2FuTW92ZSAmJlxuICAgICAgICAgICAgICAgICAgICBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBub2RlT3BzLm5leHRTaWJsaW5nKG9sZEVuZFZub2RlLmVsbSkpO1xuICAgICAgICAgICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0SWR4XTtcbiAgICAgICAgICAgICAgICBuZXdFbmRWbm9kZSA9IG5ld0NoWy0tbmV3RW5kSWR4XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHNhbWVWbm9kZShvbGRFbmRWbm9kZSwgbmV3U3RhcnRWbm9kZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBWbm9kZSBtb3ZlZCBsZWZ0XG4gICAgICAgICAgICAgICAgcGF0Y2hWbm9kZShvbGRFbmRWbm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBuZXdDaCwgbmV3U3RhcnRJZHgpO1xuICAgICAgICAgICAgICAgIGNhbk1vdmUgJiZcbiAgICAgICAgICAgICAgICAgICAgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50RWxtLCBvbGRFbmRWbm9kZS5lbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtKTtcbiAgICAgICAgICAgICAgICBvbGRFbmRWbm9kZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgICAgICAgICAgICBuZXdTdGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNVbmRlZihvbGRLZXlUb0lkeCkpXG4gICAgICAgICAgICAgICAgICAgIG9sZEtleVRvSWR4ID0gY3JlYXRlS2V5VG9PbGRJZHgob2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgICAgICAgICAgICAgIGlkeEluT2xkID0gaXNEZWYobmV3U3RhcnRWbm9kZS5rZXkpXG4gICAgICAgICAgICAgICAgICAgID8gb2xkS2V5VG9JZHhbbmV3U3RhcnRWbm9kZS5rZXldXG4gICAgICAgICAgICAgICAgICAgIDogZmluZElkeEluT2xkKG5ld1N0YXJ0Vm5vZGUsIG9sZENoLCBvbGRTdGFydElkeCwgb2xkRW5kSWR4KTtcbiAgICAgICAgICAgICAgICBpZiAoaXNVbmRlZihpZHhJbk9sZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTmV3IGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlRWxtKG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCBvbGRTdGFydFZub2RlLmVsbSwgZmFsc2UsIG5ld0NoLCBuZXdTdGFydElkeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2bm9kZVRvTW92ZSA9IG9sZENoW2lkeEluT2xkXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNhbWVWbm9kZSh2bm9kZVRvTW92ZSwgbmV3U3RhcnRWbm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoVm5vZGUodm5vZGVUb01vdmUsIG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgbmV3Q2gsIG5ld1N0YXJ0SWR4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9sZENoW2lkeEluT2xkXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbk1vdmUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIHZub2RlVG9Nb3ZlLmVsbSwgb2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2FtZSBrZXkgYnV0IGRpZmZlcmVudCBlbGVtZW50LiB0cmVhdCBhcyBuZXcgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRWxtKG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCBvbGRTdGFydFZub2RlLmVsbSwgZmFsc2UsIG5ld0NoLCBuZXdTdGFydElkeCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChvbGRTdGFydElkeCA+IG9sZEVuZElkeCkge1xuICAgICAgICAgICAgcmVmRWxtID0gaXNVbmRlZihuZXdDaFtuZXdFbmRJZHggKyAxXSkgPyBudWxsIDogbmV3Q2hbbmV3RW5kSWR4ICsgMV0uZWxtO1xuICAgICAgICAgICAgYWRkVm5vZGVzKHBhcmVudEVsbSwgcmVmRWxtLCBuZXdDaCwgbmV3U3RhcnRJZHgsIG5ld0VuZElkeCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChuZXdTdGFydElkeCA+IG5ld0VuZElkeCkge1xuICAgICAgICAgICAgcmVtb3ZlVm5vZGVzKG9sZENoLCBvbGRTdGFydElkeCwgb2xkRW5kSWR4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBjaGVja0R1cGxpY2F0ZUtleXMoY2hpbGRyZW4pIHtcbiAgICAgICAgdmFyIHNlZW5LZXlzID0ge307XG4gICAgICAgIGZvciAodmFyIGlfNCA9IDA7IGlfNCA8IGNoaWxkcmVuLmxlbmd0aDsgaV80KyspIHtcbiAgICAgICAgICAgIHZhciB2bm9kZSA9IGNoaWxkcmVuW2lfNF07XG4gICAgICAgICAgICB2YXIga2V5ID0gdm5vZGUua2V5O1xuICAgICAgICAgICAgaWYgKGlzRGVmKGtleSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoc2VlbktleXNba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCJEdXBsaWNhdGUga2V5cyBkZXRlY3RlZDogJ1wiLmNvbmNhdChrZXksIFwiJy4gVGhpcyBtYXkgY2F1c2UgYW4gdXBkYXRlIGVycm9yLlwiKSwgdm5vZGUuY29udGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzZWVuS2V5c1trZXldID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZmluZElkeEluT2xkKG5vZGUsIG9sZENoLCBzdGFydCwgZW5kKSB7XG4gICAgICAgIGZvciAodmFyIGlfNSA9IHN0YXJ0OyBpXzUgPCBlbmQ7IGlfNSsrKSB7XG4gICAgICAgICAgICB2YXIgYyA9IG9sZENoW2lfNV07XG4gICAgICAgICAgICBpZiAoaXNEZWYoYykgJiYgc2FtZVZub2RlKG5vZGUsIGMpKVxuICAgICAgICAgICAgICAgIHJldHVybiBpXzU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gcGF0Y2hWbm9kZShvbGRWbm9kZSwgdm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgb3duZXJBcnJheSwgaW5kZXgsIHJlbW92ZU9ubHkpIHtcbiAgICAgICAgaWYgKG9sZFZub2RlID09PSB2bm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0RlZih2bm9kZS5lbG0pICYmIGlzRGVmKG93bmVyQXJyYXkpKSB7XG4gICAgICAgICAgICAvLyBjbG9uZSByZXVzZWQgdm5vZGVcbiAgICAgICAgICAgIHZub2RlID0gb3duZXJBcnJheVtpbmRleF0gPSBjbG9uZVZOb2RlKHZub2RlKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZWxtID0gKHZub2RlLmVsbSA9IG9sZFZub2RlLmVsbSk7XG4gICAgICAgIGlmIChpc1RydWUob2xkVm5vZGUuaXNBc3luY1BsYWNlaG9sZGVyKSkge1xuICAgICAgICAgICAgaWYgKGlzRGVmKHZub2RlLmFzeW5jRmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICAgICAgICBoeWRyYXRlKG9sZFZub2RlLmVsbSwgdm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2bm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJldXNlIGVsZW1lbnQgZm9yIHN0YXRpYyB0cmVlcy5cbiAgICAgICAgLy8gbm90ZSB3ZSBvbmx5IGRvIHRoaXMgaWYgdGhlIHZub2RlIGlzIGNsb25lZCAtXG4gICAgICAgIC8vIGlmIHRoZSBuZXcgbm9kZSBpcyBub3QgY2xvbmVkIGl0IG1lYW5zIHRoZSByZW5kZXIgZnVuY3Rpb25zIGhhdmUgYmVlblxuICAgICAgICAvLyByZXNldCBieSB0aGUgaG90LXJlbG9hZC1hcGkgYW5kIHdlIG5lZWQgdG8gZG8gYSBwcm9wZXIgcmUtcmVuZGVyLlxuICAgICAgICBpZiAoaXNUcnVlKHZub2RlLmlzU3RhdGljKSAmJlxuICAgICAgICAgICAgaXNUcnVlKG9sZFZub2RlLmlzU3RhdGljKSAmJlxuICAgICAgICAgICAgdm5vZGUua2V5ID09PSBvbGRWbm9kZS5rZXkgJiZcbiAgICAgICAgICAgIChpc1RydWUodm5vZGUuaXNDbG9uZWQpIHx8IGlzVHJ1ZSh2bm9kZS5pc09uY2UpKSkge1xuICAgICAgICAgICAgdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgPSBvbGRWbm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaTtcbiAgICAgICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgICAgICBpZiAoaXNEZWYoZGF0YSkgJiYgaXNEZWYoKGkgPSBkYXRhLmhvb2spKSAmJiBpc0RlZigoaSA9IGkucHJlcGF0Y2gpKSkge1xuICAgICAgICAgICAgaShvbGRWbm9kZSwgdm5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBvbGRDaCA9IG9sZFZub2RlLmNoaWxkcmVuO1xuICAgICAgICB2YXIgY2ggPSB2bm9kZS5jaGlsZHJlbjtcbiAgICAgICAgaWYgKGlzRGVmKGRhdGEpICYmIGlzUGF0Y2hhYmxlKHZub2RlKSkge1xuICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNicy51cGRhdGUubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAgY2JzLnVwZGF0ZVtpXShvbGRWbm9kZSwgdm5vZGUpO1xuICAgICAgICAgICAgaWYgKGlzRGVmKChpID0gZGF0YS5ob29rKSkgJiYgaXNEZWYoKGkgPSBpLnVwZGF0ZSkpKVxuICAgICAgICAgICAgICAgIGkob2xkVm5vZGUsIHZub2RlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNVbmRlZih2bm9kZS50ZXh0KSkge1xuICAgICAgICAgICAgaWYgKGlzRGVmKG9sZENoKSAmJiBpc0RlZihjaCkpIHtcbiAgICAgICAgICAgICAgICBpZiAob2xkQ2ggIT09IGNoKVxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVDaGlsZHJlbihlbG0sIG9sZENoLCBjaCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCByZW1vdmVPbmx5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGlzRGVmKGNoKSkge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrRHVwbGljYXRlS2V5cyhjaCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0RlZihvbGRWbm9kZS50ZXh0KSlcbiAgICAgICAgICAgICAgICAgICAgbm9kZU9wcy5zZXRUZXh0Q29udGVudChlbG0sICcnKTtcbiAgICAgICAgICAgICAgICBhZGRWbm9kZXMoZWxtLCBudWxsLCBjaCwgMCwgY2gubGVuZ3RoIC0gMSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGlzRGVmKG9sZENoKSkge1xuICAgICAgICAgICAgICAgIHJlbW92ZVZub2RlcyhvbGRDaCwgMCwgb2xkQ2gubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChpc0RlZihvbGRWbm9kZS50ZXh0KSkge1xuICAgICAgICAgICAgICAgIG5vZGVPcHMuc2V0VGV4dENvbnRlbnQoZWxtLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAob2xkVm5vZGUudGV4dCAhPT0gdm5vZGUudGV4dCkge1xuICAgICAgICAgICAgbm9kZU9wcy5zZXRUZXh0Q29udGVudChlbG0sIHZub2RlLnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgICAgICAgaWYgKGlzRGVmKChpID0gZGF0YS5ob29rKSkgJiYgaXNEZWYoKGkgPSBpLnBvc3RwYXRjaCkpKVxuICAgICAgICAgICAgICAgIGkob2xkVm5vZGUsIHZub2RlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBpbnZva2VJbnNlcnRIb29rKHZub2RlLCBxdWV1ZSwgaW5pdGlhbCkge1xuICAgICAgICAvLyBkZWxheSBpbnNlcnQgaG9va3MgZm9yIGNvbXBvbmVudCByb290IG5vZGVzLCBpbnZva2UgdGhlbSBhZnRlciB0aGVcbiAgICAgICAgLy8gZWxlbWVudCBpcyByZWFsbHkgaW5zZXJ0ZWRcbiAgICAgICAgaWYgKGlzVHJ1ZShpbml0aWFsKSAmJiBpc0RlZih2bm9kZS5wYXJlbnQpKSB7XG4gICAgICAgICAgICB2bm9kZS5wYXJlbnQuZGF0YS5wZW5kaW5nSW5zZXJ0ID0gcXVldWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpXzYgPSAwOyBpXzYgPCBxdWV1ZS5sZW5ndGg7ICsraV82KSB7XG4gICAgICAgICAgICAgICAgcXVldWVbaV82XS5kYXRhLmhvb2suaW5zZXJ0KHF1ZXVlW2lfNl0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBoeWRyYXRpb25CYWlsZWQgPSBmYWxzZTtcbiAgICAvLyBsaXN0IG9mIG1vZHVsZXMgdGhhdCBjYW4gc2tpcCBjcmVhdGUgaG9vayBkdXJpbmcgaHlkcmF0aW9uIGJlY2F1c2UgdGhleVxuICAgIC8vIGFyZSBhbHJlYWR5IHJlbmRlcmVkIG9uIHRoZSBjbGllbnQgb3IgaGFzIG5vIG5lZWQgZm9yIGluaXRpYWxpemF0aW9uXG4gICAgLy8gTm90ZTogc3R5bGUgaXMgZXhjbHVkZWQgYmVjYXVzZSBpdCByZWxpZXMgb24gaW5pdGlhbCBjbG9uZSBmb3IgZnV0dXJlXG4gICAgLy8gZGVlcCB1cGRhdGVzICgjNzA2MykuXG4gICAgdmFyIGlzUmVuZGVyZWRNb2R1bGUgPSBtYWtlTWFwKCdhdHRycyxjbGFzcyxzdGF0aWNDbGFzcyxzdGF0aWNTdHlsZSxrZXknKTtcbiAgICAvLyBOb3RlOiB0aGlzIGlzIGEgYnJvd3Nlci1vbmx5IGZ1bmN0aW9uIHNvIHdlIGNhbiBhc3N1bWUgZWxtcyBhcmUgRE9NIG5vZGVzLlxuICAgIGZ1bmN0aW9uIGh5ZHJhdGUoZWxtLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBpblZQcmUpIHtcbiAgICAgICAgdmFyIGk7XG4gICAgICAgIHZhciB0YWcgPSB2bm9kZS50YWcsIGRhdGEgPSB2bm9kZS5kYXRhLCBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAgICAgICBpblZQcmUgPSBpblZQcmUgfHwgKGRhdGEgJiYgZGF0YS5wcmUpO1xuICAgICAgICB2bm9kZS5lbG0gPSBlbG07XG4gICAgICAgIGlmIChpc1RydWUodm5vZGUuaXNDb21tZW50KSAmJiBpc0RlZih2bm9kZS5hc3luY0ZhY3RvcnkpKSB7XG4gICAgICAgICAgICB2bm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYXNzZXJ0IG5vZGUgbWF0Y2hcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmICghYXNzZXJ0Tm9kZU1hdGNoKGVsbSwgdm5vZGUsIGluVlByZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYoKGkgPSBkYXRhLmhvb2spKSAmJiBpc0RlZigoaSA9IGkuaW5pdCkpKVxuICAgICAgICAgICAgICAgIGkodm5vZGUsIHRydWUgLyogaHlkcmF0aW5nICovKTtcbiAgICAgICAgICAgIGlmIChpc0RlZigoaSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSkpIHtcbiAgICAgICAgICAgICAgICAvLyBjaGlsZCBjb21wb25lbnQuIGl0IHNob3VsZCBoYXZlIGh5ZHJhdGVkIGl0cyBvd24gdHJlZS5cbiAgICAgICAgICAgICAgICBpbml0Q29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc0RlZih0YWcpKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWYoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgLy8gZW1wdHkgZWxlbWVudCwgYWxsb3cgY2xpZW50IHRvIHBpY2sgdXAgYW5kIHBvcHVsYXRlIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgaWYgKCFlbG0uaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZUNoaWxkcmVuKHZub2RlLCBjaGlsZHJlbiwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHYtaHRtbCBhbmQgZG9tUHJvcHM6IGlubmVySFRNTFxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNEZWYoKGkgPSBkYXRhKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmKChpID0gaS5kb21Qcm9wcykpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZigoaSA9IGkuaW5uZXJIVE1MKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSBlbG0uaW5uZXJIVE1MKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFoeWRyYXRpb25CYWlsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHlkcmF0aW9uQmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYXJlbnQ6ICcsIGVsbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybignc2VydmVyIGlubmVySFRNTDogJywgaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignY2xpZW50IGlubmVySFRNTDogJywgZWxtLmlubmVySFRNTCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGl0ZXJhdGUgYW5kIGNvbXBhcmUgY2hpbGRyZW4gbGlzdHNcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjaGlsZHJlbk1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjaGlsZE5vZGUgPSBlbG0uZmlyc3RDaGlsZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGlfNyA9IDA7IGlfNyA8IGNoaWxkcmVuLmxlbmd0aDsgaV83KyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNoaWxkTm9kZSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaHlkcmF0ZShjaGlsZE5vZGUsIGNoaWxkcmVuW2lfN10sIGluc2VydGVkVm5vZGVRdWV1ZSwgaW5WUHJlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbk1hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUubmV4dFNpYmxpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBjaGlsZE5vZGUgaXMgbm90IG51bGwsIGl0IG1lYW5zIHRoZSBhY3R1YWwgY2hpbGROb2RlcyBsaXN0IGlzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsb25nZXIgdGhhbiB0aGUgdmlydHVhbCBjaGlsZHJlbiBsaXN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZHJlbk1hdGNoIHx8IGNoaWxkTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaHlkcmF0aW9uQmFpbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh5ZHJhdGlvbkJhaWxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignUGFyZW50OiAnLCBlbG0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ01pc21hdGNoaW5nIGNoaWxkTm9kZXMgdnMuIFZOb2RlczogJywgZWxtLmNoaWxkTm9kZXMsIGNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGZ1bGxJbnZva2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzUmVuZGVyZWRNb2R1bGUoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZnVsbEludm9rZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnZva2VDcmVhdGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghZnVsbEludm9rZSAmJiBkYXRhWydjbGFzcyddKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVuc3VyZSBjb2xsZWN0aW5nIGRlcHMgZm9yIGRlZXAgY2xhc3MgYmluZGluZ3MgZm9yIGZ1dHVyZSB1cGRhdGVzXG4gICAgICAgICAgICAgICAgICAgIHRyYXZlcnNlKGRhdGFbJ2NsYXNzJ10pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChlbG0uZGF0YSAhPT0gdm5vZGUudGV4dCkge1xuICAgICAgICAgICAgZWxtLmRhdGEgPSB2bm9kZS50ZXh0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBhc3NlcnROb2RlTWF0Y2gobm9kZSwgdm5vZGUsIGluVlByZSkge1xuICAgICAgICBpZiAoaXNEZWYodm5vZGUudGFnKSkge1xuICAgICAgICAgICAgcmV0dXJuICh2bm9kZS50YWcuaW5kZXhPZigndnVlLWNvbXBvbmVudCcpID09PSAwIHx8XG4gICAgICAgICAgICAgICAgKCFpc1Vua25vd25FbGVtZW50KHZub2RlLCBpblZQcmUpICYmXG4gICAgICAgICAgICAgICAgICAgIHZub2RlLnRhZy50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgKG5vZGUudGFnTmFtZSAmJiBub2RlLnRhZ05hbWUudG9Mb3dlckNhc2UoKSkpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlLm5vZGVUeXBlID09PSAodm5vZGUuaXNDb21tZW50ID8gOCA6IDMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiBwYXRjaChvbGRWbm9kZSwgdm5vZGUsIGh5ZHJhdGluZywgcmVtb3ZlT25seSkge1xuICAgICAgICBpZiAoaXNVbmRlZih2bm9kZSkpIHtcbiAgICAgICAgICAgIGlmIChpc0RlZihvbGRWbm9kZSkpXG4gICAgICAgICAgICAgICAgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhciBpc0luaXRpYWxQYXRjaCA9IGZhbHNlO1xuICAgICAgICB2YXIgaW5zZXJ0ZWRWbm9kZVF1ZXVlID0gW107XG4gICAgICAgIGlmIChpc1VuZGVmKG9sZFZub2RlKSkge1xuICAgICAgICAgICAgLy8gZW1wdHkgbW91bnQgKGxpa2VseSBhcyBjb21wb25lbnQpLCBjcmVhdGUgbmV3IHJvb3QgZWxlbWVudFxuICAgICAgICAgICAgaXNJbml0aWFsUGF0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgY3JlYXRlRWxtKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGlzUmVhbEVsZW1lbnQgPSBpc0RlZihvbGRWbm9kZS5ub2RlVHlwZSk7XG4gICAgICAgICAgICBpZiAoIWlzUmVhbEVsZW1lbnQgJiYgc2FtZVZub2RlKG9sZFZub2RlLCB2bm9kZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBwYXRjaCBleGlzdGluZyByb290IG5vZGVcbiAgICAgICAgICAgICAgICBwYXRjaFZub2RlKG9sZFZub2RlLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBudWxsLCBudWxsLCByZW1vdmVPbmx5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpc1JlYWxFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG1vdW50aW5nIHRvIGEgcmVhbCBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoaXMgaXMgc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQgYW5kIGlmIHdlIGNhbiBwZXJmb3JtXG4gICAgICAgICAgICAgICAgICAgIC8vIGEgc3VjY2Vzc2Z1bCBoeWRyYXRpb24uXG4gICAgICAgICAgICAgICAgICAgIGlmIChvbGRWbm9kZS5ub2RlVHlwZSA9PT0gMSAmJiBvbGRWbm9kZS5oYXNBdHRyaWJ1dGUoU1NSX0FUVFIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbGRWbm9kZS5yZW1vdmVBdHRyaWJ1dGUoU1NSX0FUVFIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaHlkcmF0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNUcnVlKGh5ZHJhdGluZykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoeWRyYXRlKG9sZFZub2RlLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludm9rZUluc2VydEhvb2sodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9sZFZub2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4kMignVGhlIGNsaWVudC1zaWRlIHJlbmRlcmVkIHZpcnR1YWwgRE9NIHRyZWUgaXMgbm90IG1hdGNoaW5nICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQuIFRoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSBpbmNvcnJlY3QgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdIVE1MIG1hcmt1cCwgZm9yIGV4YW1wbGUgbmVzdGluZyBibG9jay1sZXZlbCBlbGVtZW50cyBpbnNpZGUgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8cD4sIG9yIG1pc3NpbmcgPHRib2R5Pi4gQmFpbGluZyBoeWRyYXRpb24gYW5kIHBlcmZvcm1pbmcgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmdWxsIGNsaWVudC1zaWRlIHJlbmRlci4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBlaXRoZXIgbm90IHNlcnZlci1yZW5kZXJlZCwgb3IgaHlkcmF0aW9uIGZhaWxlZC5cbiAgICAgICAgICAgICAgICAgICAgLy8gY3JlYXRlIGFuIGVtcHR5IG5vZGUgYW5kIHJlcGxhY2UgaXRcbiAgICAgICAgICAgICAgICAgICAgb2xkVm5vZGUgPSBlbXB0eU5vZGVBdChvbGRWbm9kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHJlcGxhY2luZyBleGlzdGluZyBlbGVtZW50XG4gICAgICAgICAgICAgICAgdmFyIG9sZEVsbSA9IG9sZFZub2RlLmVsbTtcbiAgICAgICAgICAgICAgICB2YXIgcGFyZW50RWxtID0gbm9kZU9wcy5wYXJlbnROb2RlKG9sZEVsbSk7XG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIG5ldyBub2RlXG4gICAgICAgICAgICAgICAgY3JlYXRlRWxtKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIFxuICAgICAgICAgICAgICAgIC8vIGV4dHJlbWVseSByYXJlIGVkZ2UgY2FzZTogZG8gbm90IGluc2VydCBpZiBvbGQgZWxlbWVudCBpcyBpbiBhXG4gICAgICAgICAgICAgICAgLy8gbGVhdmluZyB0cmFuc2l0aW9uLiBPbmx5IGhhcHBlbnMgd2hlbiBjb21iaW5pbmcgdHJhbnNpdGlvbiArXG4gICAgICAgICAgICAgICAgLy8ga2VlcC1hbGl2ZSArIEhPQ3MuICgjNDU5MClcbiAgICAgICAgICAgICAgICBvbGRFbG0uX2xlYXZlQ2IgPyBudWxsIDogcGFyZW50RWxtLCBub2RlT3BzLm5leHRTaWJsaW5nKG9sZEVsbSkpO1xuICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBwYXJlbnQgcGxhY2Vob2xkZXIgbm9kZSBlbGVtZW50LCByZWN1cnNpdmVseVxuICAgICAgICAgICAgICAgIGlmIChpc0RlZih2bm9kZS5wYXJlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBhbmNlc3RvciA9IHZub2RlLnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBhdGNoYWJsZSA9IGlzUGF0Y2hhYmxlKHZub2RlKTtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpXzggPSAwOyBpXzggPCBjYnMuZGVzdHJveS5sZW5ndGg7ICsraV84KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2JzLmRlc3Ryb3lbaV84XShhbmNlc3Rvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmNlc3Rvci5lbG0gPSB2bm9kZS5lbG07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGF0Y2hhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaV85ID0gMDsgaV85IDwgY2JzLmNyZWF0ZS5sZW5ndGg7ICsraV85KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNicy5jcmVhdGVbaV85XShlbXB0eU5vZGUsIGFuY2VzdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gIzY1MTNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbnZva2UgaW5zZXJ0IGhvb2tzIHRoYXQgbWF5IGhhdmUgYmVlbiBtZXJnZWQgYnkgY3JlYXRlIGhvb2tzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGUuZy4gZm9yIGRpcmVjdGl2ZXMgdGhhdCB1c2VzIHRoZSBcImluc2VydGVkXCIgaG9vay5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaW5zZXJ0XzEgPSBhbmNlc3Rvci5kYXRhLmhvb2suaW5zZXJ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnNlcnRfMS5tZXJnZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3RhcnQgYXQgaW5kZXggMSB0byBhdm9pZCByZS1pbnZva2luZyBjb21wb25lbnQgbW91bnRlZCBob29rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGlfMTAgPSAxOyBpXzEwIDwgaW5zZXJ0XzEuZm5zLmxlbmd0aDsgaV8xMCsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRfMS5mbnNbaV8xMF0oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyUmVmKGFuY2VzdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGRlc3Ryb3kgb2xkIG5vZGVcbiAgICAgICAgICAgICAgICBpZiAoaXNEZWYocGFyZW50RWxtKSkge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVWbm9kZXMoW29sZFZub2RlXSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzRGVmKG9sZFZub2RlLnRhZykpIHtcbiAgICAgICAgICAgICAgICAgICAgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbnZva2VJbnNlcnRIb29rKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIGlzSW5pdGlhbFBhdGNoKTtcbiAgICAgICAgcmV0dXJuIHZub2RlLmVsbTtcbiAgICB9O1xufVxuXG52YXIgZGlyZWN0aXZlcyQxID0ge1xuICAgIGNyZWF0ZTogdXBkYXRlRGlyZWN0aXZlcyxcbiAgICB1cGRhdGU6IHVwZGF0ZURpcmVjdGl2ZXMsXG4gICAgZGVzdHJveTogZnVuY3Rpb24gdW5iaW5kRGlyZWN0aXZlcyh2bm9kZSkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGVtcHR5Tm9kZSBpcyBub3QgVk5vZGVXaXRoRGF0YVxuICAgICAgICB1cGRhdGVEaXJlY3RpdmVzKHZub2RlLCBlbXB0eU5vZGUpO1xuICAgIH1cbn07XG5mdW5jdGlvbiB1cGRhdGVEaXJlY3RpdmVzKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIGlmIChvbGRWbm9kZS5kYXRhLmRpcmVjdGl2ZXMgfHwgdm5vZGUuZGF0YS5kaXJlY3RpdmVzKSB7XG4gICAgICAgIF91cGRhdGUob2xkVm5vZGUsIHZub2RlKTtcbiAgICB9XG59XG5mdW5jdGlvbiBfdXBkYXRlKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIHZhciBpc0NyZWF0ZSA9IG9sZFZub2RlID09PSBlbXB0eU5vZGU7XG4gICAgdmFyIGlzRGVzdHJveSA9IHZub2RlID09PSBlbXB0eU5vZGU7XG4gICAgdmFyIG9sZERpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzKG9sZFZub2RlLmRhdGEuZGlyZWN0aXZlcywgb2xkVm5vZGUuY29udGV4dCk7XG4gICAgdmFyIG5ld0RpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzKHZub2RlLmRhdGEuZGlyZWN0aXZlcywgdm5vZGUuY29udGV4dCk7XG4gICAgdmFyIGRpcnNXaXRoSW5zZXJ0ID0gW107XG4gICAgdmFyIGRpcnNXaXRoUG9zdHBhdGNoID0gW107XG4gICAgdmFyIGtleSwgb2xkRGlyLCBkaXI7XG4gICAgZm9yIChrZXkgaW4gbmV3RGlycykge1xuICAgICAgICBvbGREaXIgPSBvbGREaXJzW2tleV07XG4gICAgICAgIGRpciA9IG5ld0RpcnNba2V5XTtcbiAgICAgICAgaWYgKCFvbGREaXIpIHtcbiAgICAgICAgICAgIC8vIG5ldyBkaXJlY3RpdmUsIGJpbmRcbiAgICAgICAgICAgIGNhbGxIb29rKGRpciwgJ2JpbmQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgICAgICAgaWYgKGRpci5kZWYgJiYgZGlyLmRlZi5pbnNlcnRlZCkge1xuICAgICAgICAgICAgICAgIGRpcnNXaXRoSW5zZXJ0LnB1c2goZGlyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGV4aXN0aW5nIGRpcmVjdGl2ZSwgdXBkYXRlXG4gICAgICAgICAgICBkaXIub2xkVmFsdWUgPSBvbGREaXIudmFsdWU7XG4gICAgICAgICAgICBkaXIub2xkQXJnID0gb2xkRGlyLmFyZztcbiAgICAgICAgICAgIGNhbGxIb29rKGRpciwgJ3VwZGF0ZScsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICAgICAgICBpZiAoZGlyLmRlZiAmJiBkaXIuZGVmLmNvbXBvbmVudFVwZGF0ZWQpIHtcbiAgICAgICAgICAgICAgICBkaXJzV2l0aFBvc3RwYXRjaC5wdXNoKGRpcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGRpcnNXaXRoSW5zZXJ0Lmxlbmd0aCkge1xuICAgICAgICB2YXIgY2FsbEluc2VydCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlyc1dpdGhJbnNlcnQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjYWxsSG9vayhkaXJzV2l0aEluc2VydFtpXSwgJ2luc2VydGVkJywgdm5vZGUsIG9sZFZub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGlzQ3JlYXRlKSB7XG4gICAgICAgICAgICBtZXJnZVZOb2RlSG9vayh2bm9kZSwgJ2luc2VydCcsIGNhbGxJbnNlcnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY2FsbEluc2VydCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChkaXJzV2l0aFBvc3RwYXRjaC5sZW5ndGgpIHtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2sodm5vZGUsICdwb3N0cGF0Y2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRpcnNXaXRoUG9zdHBhdGNoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY2FsbEhvb2soZGlyc1dpdGhQb3N0cGF0Y2hbaV0sICdjb21wb25lbnRVcGRhdGVkJywgdm5vZGUsIG9sZFZub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmICghaXNDcmVhdGUpIHtcbiAgICAgICAgZm9yIChrZXkgaW4gb2xkRGlycykge1xuICAgICAgICAgICAgaWYgKCFuZXdEaXJzW2tleV0pIHtcbiAgICAgICAgICAgICAgICAvLyBubyBsb25nZXIgcHJlc2VudCwgdW5iaW5kXG4gICAgICAgICAgICAgICAgY2FsbEhvb2sob2xkRGlyc1trZXldLCAndW5iaW5kJywgb2xkVm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxudmFyIGVtcHR5TW9kaWZpZXJzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZURpcmVjdGl2ZXMoZGlycywgdm0pIHtcbiAgICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICBpZiAoIWRpcnMpIHtcbiAgICAgICAgLy8gJGZsb3ctZGlzYWJsZS1saW5lXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIHZhciBpLCBkaXI7XG4gICAgZm9yIChpID0gMDsgaSA8IGRpcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZGlyID0gZGlyc1tpXTtcbiAgICAgICAgaWYgKCFkaXIubW9kaWZpZXJzKSB7XG4gICAgICAgICAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICAgICAgICAgIGRpci5tb2RpZmllcnMgPSBlbXB0eU1vZGlmaWVycztcbiAgICAgICAgfVxuICAgICAgICByZXNbZ2V0UmF3RGlyTmFtZShkaXIpXSA9IGRpcjtcbiAgICAgICAgaWYgKHZtLl9zZXR1cFN0YXRlICYmIHZtLl9zZXR1cFN0YXRlLl9fc2ZjKSB7XG4gICAgICAgICAgICB2YXIgc2V0dXBEZWYgPSBkaXIuZGVmIHx8IHJlc29sdmVBc3NldCh2bSwgJ19zZXR1cFN0YXRlJywgJ3YtJyArIGRpci5uYW1lKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2V0dXBEZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBkaXIuZGVmID0ge1xuICAgICAgICAgICAgICAgICAgICBiaW5kOiBzZXR1cERlZixcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlOiBzZXR1cERlZixcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZGlyLmRlZiA9IHNldHVwRGVmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpci5kZWYgPSBkaXIuZGVmIHx8IHJlc29sdmVBc3NldCh2bS4kb3B0aW9ucywgJ2RpcmVjdGl2ZXMnLCBkaXIubmFtZSwgdHJ1ZSk7XG4gICAgfVxuICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgIHJldHVybiByZXM7XG59XG5mdW5jdGlvbiBnZXRSYXdEaXJOYW1lKGRpcikge1xuICAgIHJldHVybiAoZGlyLnJhd05hbWUgfHwgXCJcIi5jb25jYXQoZGlyLm5hbWUsIFwiLlwiKS5jb25jYXQoT2JqZWN0LmtleXMoZGlyLm1vZGlmaWVycyB8fCB7fSkuam9pbignLicpKSk7XG59XG5mdW5jdGlvbiBjYWxsSG9vayhkaXIsIGhvb2ssIHZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95KSB7XG4gICAgdmFyIGZuID0gZGlyLmRlZiAmJiBkaXIuZGVmW2hvb2tdO1xuICAgIGlmIChmbikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZm4odm5vZGUuZWxtLCBkaXIsIHZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm5vZGUuY29udGV4dCwgXCJkaXJlY3RpdmUgXCIuY29uY2F0KGRpci5uYW1lLCBcIiBcIikuY29uY2F0KGhvb2ssIFwiIGhvb2tcIikpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG52YXIgYmFzZU1vZHVsZXMgPSBbcmVmLCBkaXJlY3RpdmVzJDFdO1xuXG5mdW5jdGlvbiB1cGRhdGVBdHRycyhvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICB2YXIgb3B0cyA9IHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gICAgaWYgKGlzRGVmKG9wdHMpICYmIG9wdHMuQ3Rvci5vcHRpb25zLmluaGVyaXRBdHRycyA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLmF0dHJzKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEuYXR0cnMpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGtleSwgY3VyLCBvbGQ7XG4gICAgdmFyIGVsbSA9IHZub2RlLmVsbTtcbiAgICB2YXIgb2xkQXR0cnMgPSBvbGRWbm9kZS5kYXRhLmF0dHJzIHx8IHt9O1xuICAgIHZhciBhdHRycyA9IHZub2RlLmRhdGEuYXR0cnMgfHwge307XG4gICAgLy8gY2xvbmUgb2JzZXJ2ZWQgb2JqZWN0cywgYXMgdGhlIHVzZXIgcHJvYmFibHkgd2FudHMgdG8gbXV0YXRlIGl0XG4gICAgaWYgKGlzRGVmKGF0dHJzLl9fb2JfXykgfHwgaXNUcnVlKGF0dHJzLl92X2F0dHJfcHJveHkpKSB7XG4gICAgICAgIGF0dHJzID0gdm5vZGUuZGF0YS5hdHRycyA9IGV4dGVuZCh7fSwgYXR0cnMpO1xuICAgIH1cbiAgICBmb3IgKGtleSBpbiBhdHRycykge1xuICAgICAgICBjdXIgPSBhdHRyc1trZXldO1xuICAgICAgICBvbGQgPSBvbGRBdHRyc1trZXldO1xuICAgICAgICBpZiAob2xkICE9PSBjdXIpIHtcbiAgICAgICAgICAgIHNldEF0dHIoZWxtLCBrZXksIGN1ciwgdm5vZGUuZGF0YS5wcmUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vICM0MzkxOiBpbiBJRTksIHNldHRpbmcgdHlwZSBjYW4gcmVzZXQgdmFsdWUgZm9yIGlucHV0W3R5cGU9cmFkaW9dXG4gICAgLy8gIzY2NjY6IElFL0VkZ2UgZm9yY2VzIHByb2dyZXNzIHZhbHVlIGRvd24gdG8gMSBiZWZvcmUgc2V0dGluZyBhIG1heFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICgoaXNJRSB8fCBpc0VkZ2UpICYmIGF0dHJzLnZhbHVlICE9PSBvbGRBdHRycy52YWx1ZSkge1xuICAgICAgICBzZXRBdHRyKGVsbSwgJ3ZhbHVlJywgYXR0cnMudmFsdWUpO1xuICAgIH1cbiAgICBmb3IgKGtleSBpbiBvbGRBdHRycykge1xuICAgICAgICBpZiAoaXNVbmRlZihhdHRyc1trZXldKSkge1xuICAgICAgICAgICAgaWYgKGlzWGxpbmsoa2V5KSkge1xuICAgICAgICAgICAgICAgIGVsbS5yZW1vdmVBdHRyaWJ1dGVOUyh4bGlua05TLCBnZXRYbGlua1Byb3Aoa2V5KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICghaXNFbnVtZXJhdGVkQXR0cihrZXkpKSB7XG4gICAgICAgICAgICAgICAgZWxtLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gc2V0QXR0cihlbCwga2V5LCB2YWx1ZSwgaXNJblByZSkge1xuICAgIGlmIChpc0luUHJlIHx8IGVsLnRhZ05hbWUuaW5kZXhPZignLScpID4gLTEpIHtcbiAgICAgICAgYmFzZVNldEF0dHIoZWwsIGtleSwgdmFsdWUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc0Jvb2xlYW5BdHRyKGtleSkpIHtcbiAgICAgICAgLy8gc2V0IGF0dHJpYnV0ZSBmb3IgYmxhbmsgdmFsdWVcbiAgICAgICAgLy8gZS5nLiA8b3B0aW9uIGRpc2FibGVkPlNlbGVjdCBvbmU8L29wdGlvbj5cbiAgICAgICAgaWYgKGlzRmFsc3lBdHRyVmFsdWUodmFsdWUpKSB7XG4gICAgICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIHRlY2huaWNhbGx5IGFsbG93ZnVsbHNjcmVlbiBpcyBhIGJvb2xlYW4gYXR0cmlidXRlIGZvciA8aWZyYW1lPixcbiAgICAgICAgICAgIC8vIGJ1dCBGbGFzaCBleHBlY3RzIGEgdmFsdWUgb2YgXCJ0cnVlXCIgd2hlbiB1c2VkIG9uIDxlbWJlZD4gdGFnXG4gICAgICAgICAgICB2YWx1ZSA9IGtleSA9PT0gJ2FsbG93ZnVsbHNjcmVlbicgJiYgZWwudGFnTmFtZSA9PT0gJ0VNQkVEJyA/ICd0cnVlJyA6IGtleTtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChpc0VudW1lcmF0ZWRBdHRyKGtleSkpIHtcbiAgICAgICAgZWwuc2V0QXR0cmlidXRlKGtleSwgY29udmVydEVudW1lcmF0ZWRWYWx1ZShrZXksIHZhbHVlKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzWGxpbmsoa2V5KSkge1xuICAgICAgICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZU5TKHhsaW5rTlMsIGdldFhsaW5rUHJvcChrZXkpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZU5TKHhsaW5rTlMsIGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBiYXNlU2V0QXR0cihlbCwga2V5LCB2YWx1ZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gYmFzZVNldEF0dHIoZWwsIGtleSwgdmFsdWUpIHtcbiAgICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyAjNzEzODogSUUxMCAmIDExIGZpcmVzIGlucHV0IGV2ZW50IHdoZW4gc2V0dGluZyBwbGFjZWhvbGRlciBvblxuICAgICAgICAvLyA8dGV4dGFyZWE+Li4uIGJsb2NrIHRoZSBmaXJzdCBpbnB1dCBldmVudCBhbmQgcmVtb3ZlIHRoZSBibG9ja2VyXG4gICAgICAgIC8vIGltbWVkaWF0ZWx5LlxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKGlzSUUgJiZcbiAgICAgICAgICAgICFpc0lFOSAmJlxuICAgICAgICAgICAgZWwudGFnTmFtZSA9PT0gJ1RFWFRBUkVBJyAmJlxuICAgICAgICAgICAga2V5ID09PSAncGxhY2Vob2xkZXInICYmXG4gICAgICAgICAgICB2YWx1ZSAhPT0gJycgJiZcbiAgICAgICAgICAgICFlbC5fX2llcGgpIHtcbiAgICAgICAgICAgIHZhciBibG9ja2VyXzEgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBibG9ja2VyXzEpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgYmxvY2tlcl8xKTtcbiAgICAgICAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgICAgICAgZWwuX19pZXBoID0gdHJ1ZTsgLyogSUUgcGxhY2Vob2xkZXIgcGF0Y2hlZCAqL1xuICAgICAgICB9XG4gICAgICAgIGVsLnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICB9XG59XG52YXIgYXR0cnMgPSB7XG4gICAgY3JlYXRlOiB1cGRhdGVBdHRycyxcbiAgICB1cGRhdGU6IHVwZGF0ZUF0dHJzXG59O1xuXG5mdW5jdGlvbiB1cGRhdGVDbGFzcyhvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIHZhciBvbGREYXRhID0gb2xkVm5vZGUuZGF0YTtcbiAgICBpZiAoaXNVbmRlZihkYXRhLnN0YXRpY0NsYXNzKSAmJlxuICAgICAgICBpc1VuZGVmKGRhdGEuY2xhc3MpICYmXG4gICAgICAgIChpc1VuZGVmKG9sZERhdGEpIHx8XG4gICAgICAgICAgICAoaXNVbmRlZihvbGREYXRhLnN0YXRpY0NsYXNzKSAmJiBpc1VuZGVmKG9sZERhdGEuY2xhc3MpKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgY2xzID0gZ2VuQ2xhc3NGb3JWbm9kZSh2bm9kZSk7XG4gICAgLy8gaGFuZGxlIHRyYW5zaXRpb24gY2xhc3Nlc1xuICAgIHZhciB0cmFuc2l0aW9uQ2xhc3MgPSBlbC5fdHJhbnNpdGlvbkNsYXNzZXM7XG4gICAgaWYgKGlzRGVmKHRyYW5zaXRpb25DbGFzcykpIHtcbiAgICAgICAgY2xzID0gY29uY2F0KGNscywgc3RyaW5naWZ5Q2xhc3ModHJhbnNpdGlvbkNsYXNzKSk7XG4gICAgfVxuICAgIC8vIHNldCB0aGUgY2xhc3NcbiAgICBpZiAoY2xzICE9PSBlbC5fcHJldkNsYXNzKSB7XG4gICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCBjbHMpO1xuICAgICAgICBlbC5fcHJldkNsYXNzID0gY2xzO1xuICAgIH1cbn1cbnZhciBrbGFzcyQxID0ge1xuICAgIGNyZWF0ZTogdXBkYXRlQ2xhc3MsXG4gICAgdXBkYXRlOiB1cGRhdGVDbGFzc1xufTtcblxudmFyIHZhbGlkRGl2aXNpb25DaGFyUkUgPSAvW1xcdykuK1xcLV8kXFxdXS87XG5mdW5jdGlvbiBwYXJzZUZpbHRlcnMoZXhwKSB7XG4gICAgdmFyIGluU2luZ2xlID0gZmFsc2U7XG4gICAgdmFyIGluRG91YmxlID0gZmFsc2U7XG4gICAgdmFyIGluVGVtcGxhdGVTdHJpbmcgPSBmYWxzZTtcbiAgICB2YXIgaW5SZWdleCA9IGZhbHNlO1xuICAgIHZhciBjdXJseSA9IDA7XG4gICAgdmFyIHNxdWFyZSA9IDA7XG4gICAgdmFyIHBhcmVuID0gMDtcbiAgICB2YXIgbGFzdEZpbHRlckluZGV4ID0gMDtcbiAgICB2YXIgYywgcHJldiwgaSwgZXhwcmVzc2lvbiwgZmlsdGVycztcbiAgICBmb3IgKGkgPSAwOyBpIDwgZXhwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHByZXYgPSBjO1xuICAgICAgICBjID0gZXhwLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGlmIChpblNpbmdsZSkge1xuICAgICAgICAgICAgaWYgKGMgPT09IDB4MjcgJiYgcHJldiAhPT0gMHg1YylcbiAgICAgICAgICAgICAgICBpblNpbmdsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGluRG91YmxlKSB7XG4gICAgICAgICAgICBpZiAoYyA9PT0gMHgyMiAmJiBwcmV2ICE9PSAweDVjKVxuICAgICAgICAgICAgICAgIGluRG91YmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaW5UZW1wbGF0ZVN0cmluZykge1xuICAgICAgICAgICAgaWYgKGMgPT09IDB4NjAgJiYgcHJldiAhPT0gMHg1YylcbiAgICAgICAgICAgICAgICBpblRlbXBsYXRlU3RyaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaW5SZWdleCkge1xuICAgICAgICAgICAgaWYgKGMgPT09IDB4MmYgJiYgcHJldiAhPT0gMHg1YylcbiAgICAgICAgICAgICAgICBpblJlZ2V4ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYyA9PT0gMHg3YyAmJiAvLyBwaXBlXG4gICAgICAgICAgICBleHAuY2hhckNvZGVBdChpICsgMSkgIT09IDB4N2MgJiZcbiAgICAgICAgICAgIGV4cC5jaGFyQ29kZUF0KGkgLSAxKSAhPT0gMHg3YyAmJlxuICAgICAgICAgICAgIWN1cmx5ICYmXG4gICAgICAgICAgICAhc3F1YXJlICYmXG4gICAgICAgICAgICAhcGFyZW4pIHtcbiAgICAgICAgICAgIGlmIChleHByZXNzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBmaXJzdCBmaWx0ZXIsIGVuZCBvZiBleHByZXNzaW9uXG4gICAgICAgICAgICAgICAgbGFzdEZpbHRlckluZGV4ID0gaSArIDE7XG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbiA9IGV4cC5zbGljZSgwLCBpKS50cmltKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBwdXNoRmlsdGVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGMpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDB4MjI6XG4gICAgICAgICAgICAgICAgICAgIGluRG91YmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIFwiXG4gICAgICAgICAgICAgICAgY2FzZSAweDI3OlxuICAgICAgICAgICAgICAgICAgICBpblNpbmdsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrOyAvLyAnXG4gICAgICAgICAgICAgICAgY2FzZSAweDYwOlxuICAgICAgICAgICAgICAgICAgICBpblRlbXBsYXRlU3RyaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIGBcbiAgICAgICAgICAgICAgICBjYXNlIDB4Mjg6XG4gICAgICAgICAgICAgICAgICAgIHBhcmVuKys7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrOyAvLyAoXG4gICAgICAgICAgICAgICAgY2FzZSAweDI5OlxuICAgICAgICAgICAgICAgICAgICBwYXJlbi0tO1xuICAgICAgICAgICAgICAgICAgICBicmVhazsgLy8gKVxuICAgICAgICAgICAgICAgIGNhc2UgMHg1YjpcbiAgICAgICAgICAgICAgICAgICAgc3F1YXJlKys7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrOyAvLyBbXG4gICAgICAgICAgICAgICAgY2FzZSAweDVkOlxuICAgICAgICAgICAgICAgICAgICBzcXVhcmUtLTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIF1cbiAgICAgICAgICAgICAgICBjYXNlIDB4N2I6XG4gICAgICAgICAgICAgICAgICAgIGN1cmx5Kys7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrOyAvLyB7XG4gICAgICAgICAgICAgICAgY2FzZSAweDdkOlxuICAgICAgICAgICAgICAgICAgICBjdXJseS0tO1xuICAgICAgICAgICAgICAgICAgICBicmVhazsgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGMgPT09IDB4MmYpIHtcbiAgICAgICAgICAgICAgICAvLyAvXG4gICAgICAgICAgICAgICAgdmFyIGogPSBpIC0gMTtcbiAgICAgICAgICAgICAgICB2YXIgcCBcbiAgICAgICAgICAgICAgICAvLyBmaW5kIGZpcnN0IG5vbi13aGl0ZXNwYWNlIHByZXYgY2hhclxuICAgICAgICAgICAgICAgID0gdm9pZCAwO1xuICAgICAgICAgICAgICAgIC8vIGZpbmQgZmlyc3Qgbm9uLXdoaXRlc3BhY2UgcHJldiBjaGFyXG4gICAgICAgICAgICAgICAgZm9yICg7IGogPj0gMDsgai0tKSB7XG4gICAgICAgICAgICAgICAgICAgIHAgPSBleHAuY2hhckF0KGopO1xuICAgICAgICAgICAgICAgICAgICBpZiAocCAhPT0gJyAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghcCB8fCAhdmFsaWREaXZpc2lvbkNoYXJSRS50ZXN0KHApKSB7XG4gICAgICAgICAgICAgICAgICAgIGluUmVnZXggPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZXhwcmVzc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGV4cHJlc3Npb24gPSBleHAuc2xpY2UoMCwgaSkudHJpbSgpO1xuICAgIH1cbiAgICBlbHNlIGlmIChsYXN0RmlsdGVySW5kZXggIT09IDApIHtcbiAgICAgICAgcHVzaEZpbHRlcigpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwdXNoRmlsdGVyKCkge1xuICAgICAgICAoZmlsdGVycyB8fCAoZmlsdGVycyA9IFtdKSkucHVzaChleHAuc2xpY2UobGFzdEZpbHRlckluZGV4LCBpKS50cmltKCkpO1xuICAgICAgICBsYXN0RmlsdGVySW5kZXggPSBpICsgMTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGZpbHRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGV4cHJlc3Npb24gPSB3cmFwRmlsdGVyKGV4cHJlc3Npb24sIGZpbHRlcnNbaV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBleHByZXNzaW9uO1xufVxuZnVuY3Rpb24gd3JhcEZpbHRlcihleHAsIGZpbHRlcikge1xuICAgIHZhciBpID0gZmlsdGVyLmluZGV4T2YoJygnKTtcbiAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgLy8gX2Y6IHJlc29sdmVGaWx0ZXJcbiAgICAgICAgcmV0dXJuIFwiX2YoXFxcIlwiLmNvbmNhdChmaWx0ZXIsIFwiXFxcIikoXCIpLmNvbmNhdChleHAsIFwiKVwiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHZhciBuYW1lXzEgPSBmaWx0ZXIuc2xpY2UoMCwgaSk7XG4gICAgICAgIHZhciBhcmdzID0gZmlsdGVyLnNsaWNlKGkgKyAxKTtcbiAgICAgICAgcmV0dXJuIFwiX2YoXFxcIlwiLmNvbmNhdChuYW1lXzEsIFwiXFxcIikoXCIpLmNvbmNhdChleHApLmNvbmNhdChhcmdzICE9PSAnKScgPyAnLCcgKyBhcmdzIDogYXJncyk7XG4gICAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuZnVuY3Rpb24gYmFzZVdhcm4obXNnLCByYW5nZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJbVnVlIGNvbXBpbGVyXTogXCIuY29uY2F0KG1zZykpO1xufVxuLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtdmFycyAqL1xuZnVuY3Rpb24gcGx1Y2tNb2R1bGVGdW5jdGlvbihtb2R1bGVzLCBrZXkpIHtcbiAgICByZXR1cm4gbW9kdWxlcyA/IG1vZHVsZXMubWFwKGZ1bmN0aW9uIChtKSB7IHJldHVybiBtW2tleV07IH0pLmZpbHRlcihmdW5jdGlvbiAoXykgeyByZXR1cm4gXzsgfSkgOiBbXTtcbn1cbmZ1bmN0aW9uIGFkZFByb3AoZWwsIG5hbWUsIHZhbHVlLCByYW5nZSwgZHluYW1pYykge1xuICAgIChlbC5wcm9wcyB8fCAoZWwucHJvcHMgPSBbXSkpLnB1c2gocmFuZ2VTZXRJdGVtKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlLCBkeW5hbWljOiBkeW5hbWljIH0sIHJhbmdlKSk7XG4gICAgZWwucGxhaW4gPSBmYWxzZTtcbn1cbmZ1bmN0aW9uIGFkZEF0dHIoZWwsIG5hbWUsIHZhbHVlLCByYW5nZSwgZHluYW1pYykge1xuICAgIHZhciBhdHRycyA9IGR5bmFtaWNcbiAgICAgICAgPyBlbC5keW5hbWljQXR0cnMgfHwgKGVsLmR5bmFtaWNBdHRycyA9IFtdKVxuICAgICAgICA6IGVsLmF0dHJzIHx8IChlbC5hdHRycyA9IFtdKTtcbiAgICBhdHRycy5wdXNoKHJhbmdlU2V0SXRlbSh7IG5hbWU6IG5hbWUsIHZhbHVlOiB2YWx1ZSwgZHluYW1pYzogZHluYW1pYyB9LCByYW5nZSkpO1xuICAgIGVsLnBsYWluID0gZmFsc2U7XG59XG4vLyBhZGQgYSByYXcgYXR0ciAodXNlIHRoaXMgaW4gcHJlVHJhbnNmb3JtcylcbmZ1bmN0aW9uIGFkZFJhd0F0dHIoZWwsIG5hbWUsIHZhbHVlLCByYW5nZSkge1xuICAgIGVsLmF0dHJzTWFwW25hbWVdID0gdmFsdWU7XG4gICAgZWwuYXR0cnNMaXN0LnB1c2gocmFuZ2VTZXRJdGVtKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlIH0sIHJhbmdlKSk7XG59XG5mdW5jdGlvbiBhZGREaXJlY3RpdmUoZWwsIG5hbWUsIHJhd05hbWUsIHZhbHVlLCBhcmcsIGlzRHluYW1pY0FyZywgbW9kaWZpZXJzLCByYW5nZSkge1xuICAgIChlbC5kaXJlY3RpdmVzIHx8IChlbC5kaXJlY3RpdmVzID0gW10pKS5wdXNoKHJhbmdlU2V0SXRlbSh7XG4gICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgIHJhd05hbWU6IHJhd05hbWUsXG4gICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgYXJnOiBhcmcsXG4gICAgICAgIGlzRHluYW1pY0FyZzogaXNEeW5hbWljQXJnLFxuICAgICAgICBtb2RpZmllcnM6IG1vZGlmaWVyc1xuICAgIH0sIHJhbmdlKSk7XG4gICAgZWwucGxhaW4gPSBmYWxzZTtcbn1cbmZ1bmN0aW9uIHByZXBlbmRNb2RpZmllck1hcmtlcihzeW1ib2wsIG5hbWUsIGR5bmFtaWMpIHtcbiAgICByZXR1cm4gZHluYW1pYyA/IFwiX3AoXCIuY29uY2F0KG5hbWUsIFwiLFxcXCJcIikuY29uY2F0KHN5bWJvbCwgXCJcXFwiKVwiKSA6IHN5bWJvbCArIG5hbWU7IC8vIG1hcmsgdGhlIGV2ZW50IGFzIGNhcHR1cmVkXG59XG5mdW5jdGlvbiBhZGRIYW5kbGVyKGVsLCBuYW1lLCB2YWx1ZSwgbW9kaWZpZXJzLCBpbXBvcnRhbnQsIHdhcm4sIHJhbmdlLCBkeW5hbWljKSB7XG4gICAgbW9kaWZpZXJzID0gbW9kaWZpZXJzIHx8IGVtcHR5T2JqZWN0O1xuICAgIC8vIHdhcm4gcHJldmVudCBhbmQgcGFzc2l2ZSBtb2RpZmllclxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4gJiYgbW9kaWZpZXJzLnByZXZlbnQgJiYgbW9kaWZpZXJzLnBhc3NpdmUpIHtcbiAgICAgICAgd2FybihcInBhc3NpdmUgYW5kIHByZXZlbnQgY2FuJ3QgYmUgdXNlZCB0b2dldGhlci4gXCIgK1xuICAgICAgICAgICAgXCJQYXNzaXZlIGhhbmRsZXIgY2FuJ3QgcHJldmVudCBkZWZhdWx0IGV2ZW50LlwiLCByYW5nZSk7XG4gICAgfVxuICAgIC8vIG5vcm1hbGl6ZSBjbGljay5yaWdodCBhbmQgY2xpY2subWlkZGxlIHNpbmNlIHRoZXkgZG9uJ3QgYWN0dWFsbHkgZmlyZVxuICAgIC8vIHRoaXMgaXMgdGVjaG5pY2FsbHkgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGF0IGxlYXN0IGZvciBub3cgYnJvd3NlcnMgYXJlXG4gICAgLy8gdGhlIG9ubHkgdGFyZ2V0IGVudnMgdGhhdCBoYXZlIHJpZ2h0L21pZGRsZSBjbGlja3MuXG4gICAgaWYgKG1vZGlmaWVycy5yaWdodCkge1xuICAgICAgICBpZiAoZHluYW1pYykge1xuICAgICAgICAgICAgbmFtZSA9IFwiKFwiLmNvbmNhdChuYW1lLCBcIik9PT0nY2xpY2snPydjb250ZXh0bWVudSc6KFwiKS5jb25jYXQobmFtZSwgXCIpXCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG5hbWUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIG5hbWUgPSAnY29udGV4dG1lbnUnO1xuICAgICAgICAgICAgZGVsZXRlIG1vZGlmaWVycy5yaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChtb2RpZmllcnMubWlkZGxlKSB7XG4gICAgICAgIGlmIChkeW5hbWljKSB7XG4gICAgICAgICAgICBuYW1lID0gXCIoXCIuY29uY2F0KG5hbWUsIFwiKT09PSdjbGljayc/J21vdXNldXAnOihcIikuY29uY2F0KG5hbWUsIFwiKVwiKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChuYW1lID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICBuYW1lID0gJ21vdXNldXAnO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGNoZWNrIGNhcHR1cmUgbW9kaWZpZXJcbiAgICBpZiAobW9kaWZpZXJzLmNhcHR1cmUpIHtcbiAgICAgICAgZGVsZXRlIG1vZGlmaWVycy5jYXB0dXJlO1xuICAgICAgICBuYW1lID0gcHJlcGVuZE1vZGlmaWVyTWFya2VyKCchJywgbmFtZSwgZHluYW1pYyk7XG4gICAgfVxuICAgIGlmIChtb2RpZmllcnMub25jZSkge1xuICAgICAgICBkZWxldGUgbW9kaWZpZXJzLm9uY2U7XG4gICAgICAgIG5hbWUgPSBwcmVwZW5kTW9kaWZpZXJNYXJrZXIoJ34nLCBuYW1lLCBkeW5hbWljKTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKG1vZGlmaWVycy5wYXNzaXZlKSB7XG4gICAgICAgIGRlbGV0ZSBtb2RpZmllcnMucGFzc2l2ZTtcbiAgICAgICAgbmFtZSA9IHByZXBlbmRNb2RpZmllck1hcmtlcignJicsIG5hbWUsIGR5bmFtaWMpO1xuICAgIH1cbiAgICB2YXIgZXZlbnRzO1xuICAgIGlmIChtb2RpZmllcnMubmF0aXZlKSB7XG4gICAgICAgIGRlbGV0ZSBtb2RpZmllcnMubmF0aXZlO1xuICAgICAgICBldmVudHMgPSBlbC5uYXRpdmVFdmVudHMgfHwgKGVsLm5hdGl2ZUV2ZW50cyA9IHt9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGV2ZW50cyA9IGVsLmV2ZW50cyB8fCAoZWwuZXZlbnRzID0ge30pO1xuICAgIH1cbiAgICB2YXIgbmV3SGFuZGxlciA9IHJhbmdlU2V0SXRlbSh7IHZhbHVlOiB2YWx1ZS50cmltKCksIGR5bmFtaWM6IGR5bmFtaWMgfSwgcmFuZ2UpO1xuICAgIGlmIChtb2RpZmllcnMgIT09IGVtcHR5T2JqZWN0KSB7XG4gICAgICAgIG5ld0hhbmRsZXIubW9kaWZpZXJzID0gbW9kaWZpZXJzO1xuICAgIH1cbiAgICB2YXIgaGFuZGxlcnMgPSBldmVudHNbbmFtZV07XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaGFuZGxlcnMpKSB7XG4gICAgICAgIGltcG9ydGFudCA/IGhhbmRsZXJzLnVuc2hpZnQobmV3SGFuZGxlcikgOiBoYW5kbGVycy5wdXNoKG5ld0hhbmRsZXIpO1xuICAgIH1cbiAgICBlbHNlIGlmIChoYW5kbGVycykge1xuICAgICAgICBldmVudHNbbmFtZV0gPSBpbXBvcnRhbnQgPyBbbmV3SGFuZGxlciwgaGFuZGxlcnNdIDogW2hhbmRsZXJzLCBuZXdIYW5kbGVyXTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGV2ZW50c1tuYW1lXSA9IG5ld0hhbmRsZXI7XG4gICAgfVxuICAgIGVsLnBsYWluID0gZmFsc2U7XG59XG5mdW5jdGlvbiBnZXRSYXdCaW5kaW5nQXR0cihlbCwgbmFtZSkge1xuICAgIHJldHVybiAoZWwucmF3QXR0cnNNYXBbJzonICsgbmFtZV0gfHxcbiAgICAgICAgZWwucmF3QXR0cnNNYXBbJ3YtYmluZDonICsgbmFtZV0gfHxcbiAgICAgICAgZWwucmF3QXR0cnNNYXBbbmFtZV0pO1xufVxuZnVuY3Rpb24gZ2V0QmluZGluZ0F0dHIoZWwsIG5hbWUsIGdldFN0YXRpYykge1xuICAgIHZhciBkeW5hbWljVmFsdWUgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnOicgKyBuYW1lKSB8fCBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1iaW5kOicgKyBuYW1lKTtcbiAgICBpZiAoZHluYW1pY1ZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlRmlsdGVycyhkeW5hbWljVmFsdWUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChnZXRTdGF0aWMgIT09IGZhbHNlKSB7XG4gICAgICAgIHZhciBzdGF0aWNWYWx1ZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsIG5hbWUpO1xuICAgICAgICBpZiAoc3RhdGljVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHN0YXRpY1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIG5vdGU6IHRoaXMgb25seSByZW1vdmVzIHRoZSBhdHRyIGZyb20gdGhlIEFycmF5IChhdHRyc0xpc3QpIHNvIHRoYXQgaXRcbi8vIGRvZXNuJ3QgZ2V0IHByb2Nlc3NlZCBieSBwcm9jZXNzQXR0cnMuXG4vLyBCeSBkZWZhdWx0IGl0IGRvZXMgTk9UIHJlbW92ZSBpdCBmcm9tIHRoZSBtYXAgKGF0dHJzTWFwKSBiZWNhdXNlIHRoZSBtYXAgaXNcbi8vIG5lZWRlZCBkdXJpbmcgY29kZWdlbi5cbmZ1bmN0aW9uIGdldEFuZFJlbW92ZUF0dHIoZWwsIG5hbWUsIHJlbW92ZUZyb21NYXApIHtcbiAgICB2YXIgdmFsO1xuICAgIGlmICgodmFsID0gZWwuYXR0cnNNYXBbbmFtZV0pICE9IG51bGwpIHtcbiAgICAgICAgdmFyIGxpc3QgPSBlbC5hdHRyc0xpc3Q7XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gbGlzdC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChsaXN0W2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICBsaXN0LnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocmVtb3ZlRnJvbU1hcCkge1xuICAgICAgICBkZWxldGUgZWwuYXR0cnNNYXBbbmFtZV07XG4gICAgfVxuICAgIHJldHVybiB2YWw7XG59XG5mdW5jdGlvbiBnZXRBbmRSZW1vdmVBdHRyQnlSZWdleChlbCwgbmFtZSkge1xuICAgIHZhciBsaXN0ID0gZWwuYXR0cnNMaXN0O1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gbGlzdC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdmFyIGF0dHIgPSBsaXN0W2ldO1xuICAgICAgICBpZiAobmFtZS50ZXN0KGF0dHIubmFtZSkpIHtcbiAgICAgICAgICAgIGxpc3Quc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgcmV0dXJuIGF0dHI7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiByYW5nZVNldEl0ZW0oaXRlbSwgcmFuZ2UpIHtcbiAgICBpZiAocmFuZ2UpIHtcbiAgICAgICAgaWYgKHJhbmdlLnN0YXJ0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGl0ZW0uc3RhcnQgPSByYW5nZS5zdGFydDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmFuZ2UuZW5kICE9IG51bGwpIHtcbiAgICAgICAgICAgIGl0ZW0uZW5kID0gcmFuZ2UuZW5kO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdGVtO1xufVxuXG4vKipcbiAqIENyb3NzLXBsYXRmb3JtIGNvZGUgZ2VuZXJhdGlvbiBmb3IgY29tcG9uZW50IHYtbW9kZWxcbiAqL1xuZnVuY3Rpb24gZ2VuQ29tcG9uZW50TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpIHtcbiAgICB2YXIgX2EgPSBtb2RpZmllcnMgfHwge30sIG51bWJlciA9IF9hLm51bWJlciwgdHJpbSA9IF9hLnRyaW07XG4gICAgdmFyIGJhc2VWYWx1ZUV4cHJlc3Npb24gPSAnJCR2JztcbiAgICB2YXIgdmFsdWVFeHByZXNzaW9uID0gYmFzZVZhbHVlRXhwcmVzc2lvbjtcbiAgICBpZiAodHJpbSkge1xuICAgICAgICB2YWx1ZUV4cHJlc3Npb24gPVxuICAgICAgICAgICAgXCIodHlwZW9mIFwiLmNvbmNhdChiYXNlVmFsdWVFeHByZXNzaW9uLCBcIiA9PT0gJ3N0cmluZydcIikgK1xuICAgICAgICAgICAgICAgIFwiPyBcIi5jb25jYXQoYmFzZVZhbHVlRXhwcmVzc2lvbiwgXCIudHJpbSgpXCIpICtcbiAgICAgICAgICAgICAgICBcIjogXCIuY29uY2F0KGJhc2VWYWx1ZUV4cHJlc3Npb24sIFwiKVwiKTtcbiAgICB9XG4gICAgaWYgKG51bWJlcikge1xuICAgICAgICB2YWx1ZUV4cHJlc3Npb24gPSBcIl9uKFwiLmNvbmNhdCh2YWx1ZUV4cHJlc3Npb24sIFwiKVwiKTtcbiAgICB9XG4gICAgdmFyIGFzc2lnbm1lbnQgPSBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgdmFsdWVFeHByZXNzaW9uKTtcbiAgICBlbC5tb2RlbCA9IHtcbiAgICAgICAgdmFsdWU6IFwiKFwiLmNvbmNhdCh2YWx1ZSwgXCIpXCIpLFxuICAgICAgICBleHByZXNzaW9uOiBKU09OLnN0cmluZ2lmeSh2YWx1ZSksXG4gICAgICAgIGNhbGxiYWNrOiBcImZ1bmN0aW9uIChcIi5jb25jYXQoYmFzZVZhbHVlRXhwcmVzc2lvbiwgXCIpIHtcIikuY29uY2F0KGFzc2lnbm1lbnQsIFwifVwiKVxuICAgIH07XG59XG4vKipcbiAqIENyb3NzLXBsYXRmb3JtIGNvZGVnZW4gaGVscGVyIGZvciBnZW5lcmF0aW5nIHYtbW9kZWwgdmFsdWUgYXNzaWdubWVudCBjb2RlLlxuICovXG5mdW5jdGlvbiBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgYXNzaWdubWVudCkge1xuICAgIHZhciByZXMgPSBwYXJzZU1vZGVsKHZhbHVlKTtcbiAgICBpZiAocmVzLmtleSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gXCJcIi5jb25jYXQodmFsdWUsIFwiPVwiKS5jb25jYXQoYXNzaWdubWVudCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gXCIkc2V0KFwiLmNvbmNhdChyZXMuZXhwLCBcIiwgXCIpLmNvbmNhdChyZXMua2V5LCBcIiwgXCIpLmNvbmNhdChhc3NpZ25tZW50LCBcIilcIik7XG4gICAgfVxufVxuLyoqXG4gKiBQYXJzZSBhIHYtbW9kZWwgZXhwcmVzc2lvbiBpbnRvIGEgYmFzZSBwYXRoIGFuZCBhIGZpbmFsIGtleSBzZWdtZW50LlxuICogSGFuZGxlcyBib3RoIGRvdC1wYXRoIGFuZCBwb3NzaWJsZSBzcXVhcmUgYnJhY2tldHMuXG4gKlxuICogUG9zc2libGUgY2FzZXM6XG4gKlxuICogLSB0ZXN0XG4gKiAtIHRlc3Rba2V5XVxuICogLSB0ZXN0W3Rlc3QxW2tleV1dXG4gKiAtIHRlc3RbXCJhXCJdW2tleV1cbiAqIC0geHh4LnRlc3RbYVthXS50ZXN0MVtrZXldXVxuICogLSB0ZXN0Lnh4eC5hW1wiYXNhXCJdW3Rlc3QxW2tleV1dXG4gKlxuICovXG52YXIgbGVuLCBzdHIsIGNociwgaW5kZXgsIGV4cHJlc3Npb25Qb3MsIGV4cHJlc3Npb25FbmRQb3M7XG5mdW5jdGlvbiBwYXJzZU1vZGVsKHZhbCkge1xuICAgIC8vIEZpeCBodHRwczovL2dpdGh1Yi5jb20vdnVlanMvdnVlL3B1bGwvNzczMFxuICAgIC8vIGFsbG93IHYtbW9kZWw9XCJvYmoudmFsIFwiICh0cmFpbGluZyB3aGl0ZXNwYWNlKVxuICAgIHZhbCA9IHZhbC50cmltKCk7XG4gICAgbGVuID0gdmFsLmxlbmd0aDtcbiAgICBpZiAodmFsLmluZGV4T2YoJ1snKSA8IDAgfHwgdmFsLmxhc3RJbmRleE9mKCddJykgPCBsZW4gLSAxKSB7XG4gICAgICAgIGluZGV4ID0gdmFsLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGV4cDogdmFsLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICAgICAgICBrZXk6ICdcIicgKyB2YWwuc2xpY2UoaW5kZXggKyAxKSArICdcIidcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGV4cDogdmFsLFxuICAgICAgICAgICAgICAgIGtleTogbnVsbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdHIgPSB2YWw7XG4gICAgaW5kZXggPSBleHByZXNzaW9uUG9zID0gZXhwcmVzc2lvbkVuZFBvcyA9IDA7XG4gICAgd2hpbGUgKCFlb2YoKSkge1xuICAgICAgICBjaHIgPSBuZXh0KCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoaXNTdHJpbmdTdGFydChjaHIpKSB7XG4gICAgICAgICAgICBwYXJzZVN0cmluZyhjaHIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGNociA9PT0gMHg1Yikge1xuICAgICAgICAgICAgcGFyc2VCcmFja2V0KGNocik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZXhwOiB2YWwuc2xpY2UoMCwgZXhwcmVzc2lvblBvcyksXG4gICAgICAgIGtleTogdmFsLnNsaWNlKGV4cHJlc3Npb25Qb3MgKyAxLCBleHByZXNzaW9uRW5kUG9zKVxuICAgIH07XG59XG5mdW5jdGlvbiBuZXh0KCkge1xuICAgIHJldHVybiBzdHIuY2hhckNvZGVBdCgrK2luZGV4KTtcbn1cbmZ1bmN0aW9uIGVvZigpIHtcbiAgICByZXR1cm4gaW5kZXggPj0gbGVuO1xufVxuZnVuY3Rpb24gaXNTdHJpbmdTdGFydChjaHIpIHtcbiAgICByZXR1cm4gY2hyID09PSAweDIyIHx8IGNociA9PT0gMHgyNztcbn1cbmZ1bmN0aW9uIHBhcnNlQnJhY2tldChjaHIpIHtcbiAgICB2YXIgaW5CcmFja2V0ID0gMTtcbiAgICBleHByZXNzaW9uUG9zID0gaW5kZXg7XG4gICAgd2hpbGUgKCFlb2YoKSkge1xuICAgICAgICBjaHIgPSBuZXh0KCk7XG4gICAgICAgIGlmIChpc1N0cmluZ1N0YXJ0KGNocikpIHtcbiAgICAgICAgICAgIHBhcnNlU3RyaW5nKGNocik7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hyID09PSAweDViKVxuICAgICAgICAgICAgaW5CcmFja2V0Kys7XG4gICAgICAgIGlmIChjaHIgPT09IDB4NWQpXG4gICAgICAgICAgICBpbkJyYWNrZXQtLTtcbiAgICAgICAgaWYgKGluQnJhY2tldCA9PT0gMCkge1xuICAgICAgICAgICAgZXhwcmVzc2lvbkVuZFBvcyA9IGluZGV4O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBwYXJzZVN0cmluZyhjaHIpIHtcbiAgICB2YXIgc3RyaW5nUXVvdGUgPSBjaHI7XG4gICAgd2hpbGUgKCFlb2YoKSkge1xuICAgICAgICBjaHIgPSBuZXh0KCk7XG4gICAgICAgIGlmIChjaHIgPT09IHN0cmluZ1F1b3RlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxudmFyIHdhcm4kMTtcbi8vIGluIHNvbWUgY2FzZXMsIHRoZSBldmVudCB1c2VkIGhhcyB0byBiZSBkZXRlcm1pbmVkIGF0IHJ1bnRpbWVcbi8vIHNvIHdlIHVzZWQgc29tZSByZXNlcnZlZCB0b2tlbnMgZHVyaW5nIGNvbXBpbGUuXG52YXIgUkFOR0VfVE9LRU4gPSAnX19yJztcbnZhciBDSEVDS0JPWF9SQURJT19UT0tFTiA9ICdfX2MnO1xuZnVuY3Rpb24gbW9kZWwkMShlbCwgZGlyLCBfd2Fybikge1xuICAgIHdhcm4kMSA9IF93YXJuO1xuICAgIHZhciB2YWx1ZSA9IGRpci52YWx1ZTtcbiAgICB2YXIgbW9kaWZpZXJzID0gZGlyLm1vZGlmaWVycztcbiAgICB2YXIgdGFnID0gZWwudGFnO1xuICAgIHZhciB0eXBlID0gZWwuYXR0cnNNYXAudHlwZTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAvLyBpbnB1dHMgd2l0aCB0eXBlPVwiZmlsZVwiIGFyZSByZWFkIG9ubHkgYW5kIHNldHRpbmcgdGhlIGlucHV0J3NcbiAgICAgICAgLy8gdmFsdWUgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICAgICAgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAnZmlsZScpIHtcbiAgICAgICAgICAgIHdhcm4kMShcIjxcIi5jb25jYXQoZWwudGFnLCBcIiB2LW1vZGVsPVxcXCJcIikuY29uY2F0KHZhbHVlLCBcIlxcXCIgdHlwZT1cXFwiZmlsZVxcXCI+OlxcblwiKSArXG4gICAgICAgICAgICAgICAgXCJGaWxlIGlucHV0cyBhcmUgcmVhZCBvbmx5LiBVc2UgYSB2LW9uOmNoYW5nZSBsaXN0ZW5lciBpbnN0ZWFkLlwiLCBlbC5yYXdBdHRyc01hcFsndi1tb2RlbCddKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZWwuY29tcG9uZW50KSB7XG4gICAgICAgIGdlbkNvbXBvbmVudE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAgICAgLy8gY29tcG9uZW50IHYtbW9kZWwgZG9lc24ndCBuZWVkIGV4dHJhIHJ1bnRpbWVcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBlbHNlIGlmICh0YWcgPT09ICdzZWxlY3QnKSB7XG4gICAgICAgIGdlblNlbGVjdChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgICAgIGdlbkNoZWNrYm94TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICAgIH1cbiAgICBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgJiYgdHlwZSA9PT0gJ3JhZGlvJykge1xuICAgICAgICBnZW5SYWRpb01vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGFnID09PSAnaW5wdXQnIHx8IHRhZyA9PT0gJ3RleHRhcmVhJykge1xuICAgICAgICBnZW5EZWZhdWx0TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICAgIH1cbiAgICBlbHNlIGlmICghY29uZmlnLmlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgICAgICBnZW5Db21wb25lbnRNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gICAgICAgIC8vIGNvbXBvbmVudCB2LW1vZGVsIGRvZXNuJ3QgbmVlZCBleHRyYSBydW50aW1lXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB3YXJuJDEoXCI8XCIuY29uY2F0KGVsLnRhZywgXCIgdi1tb2RlbD1cXFwiXCIpLmNvbmNhdCh2YWx1ZSwgXCJcXFwiPjogXCIpICtcbiAgICAgICAgICAgIFwidi1tb2RlbCBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgZWxlbWVudCB0eXBlLiBcIiArXG4gICAgICAgICAgICBcIklmIHlvdSBhcmUgd29ya2luZyB3aXRoIGNvbnRlbnRlZGl0YWJsZSwgaXQncyByZWNvbW1lbmRlZCB0byBcIiArXG4gICAgICAgICAgICAnd3JhcCBhIGxpYnJhcnkgZGVkaWNhdGVkIGZvciB0aGF0IHB1cnBvc2UgaW5zaWRlIGEgY3VzdG9tIGNvbXBvbmVudC4nLCBlbC5yYXdBdHRyc01hcFsndi1tb2RlbCddKTtcbiAgICB9XG4gICAgLy8gZW5zdXJlIHJ1bnRpbWUgZGlyZWN0aXZlIG1ldGFkYXRhXG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBnZW5DaGVja2JveE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKSB7XG4gICAgdmFyIG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICAgIHZhciB2YWx1ZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3ZhbHVlJykgfHwgJ251bGwnO1xuICAgIHZhciB0cnVlVmFsdWVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd0cnVlLXZhbHVlJykgfHwgJ3RydWUnO1xuICAgIHZhciBmYWxzZVZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnZmFsc2UtdmFsdWUnKSB8fCAnZmFsc2UnO1xuICAgIGFkZFByb3AoZWwsICdjaGVja2VkJywgXCJBcnJheS5pc0FycmF5KFwiLmNvbmNhdCh2YWx1ZSwgXCIpXCIpICtcbiAgICAgICAgXCI/X2koXCIuY29uY2F0KHZhbHVlLCBcIixcIikuY29uY2F0KHZhbHVlQmluZGluZywgXCIpPi0xXCIpICtcbiAgICAgICAgKHRydWVWYWx1ZUJpbmRpbmcgPT09ICd0cnVlJ1xuICAgICAgICAgICAgPyBcIjooXCIuY29uY2F0KHZhbHVlLCBcIilcIilcbiAgICAgICAgICAgIDogXCI6X3EoXCIuY29uY2F0KHZhbHVlLCBcIixcIikuY29uY2F0KHRydWVWYWx1ZUJpbmRpbmcsIFwiKVwiKSkpO1xuICAgIGFkZEhhbmRsZXIoZWwsICdjaGFuZ2UnLCBcInZhciAkJGE9XCIuY29uY2F0KHZhbHVlLCBcIixcIikgK1xuICAgICAgICAnJCRlbD0kZXZlbnQudGFyZ2V0LCcgK1xuICAgICAgICBcIiQkYz0kJGVsLmNoZWNrZWQ/KFwiLmNvbmNhdCh0cnVlVmFsdWVCaW5kaW5nLCBcIik6KFwiKS5jb25jYXQoZmFsc2VWYWx1ZUJpbmRpbmcsIFwiKTtcIikgK1xuICAgICAgICAnaWYoQXJyYXkuaXNBcnJheSgkJGEpKXsnICtcbiAgICAgICAgXCJ2YXIgJCR2PVwiLmNvbmNhdChudW1iZXIgPyAnX24oJyArIHZhbHVlQmluZGluZyArICcpJyA6IHZhbHVlQmluZGluZywgXCIsXCIpICtcbiAgICAgICAgJyQkaT1faSgkJGEsJCR2KTsnICtcbiAgICAgICAgXCJpZigkJGVsLmNoZWNrZWQpeyQkaTwwJiYoXCIuY29uY2F0KGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCAnJCRhLmNvbmNhdChbJCR2XSknKSwgXCIpfVwiKSArXG4gICAgICAgIFwiZWxzZXskJGk+LTEmJihcIi5jb25jYXQoZ2VuQXNzaWdubWVudENvZGUodmFsdWUsICckJGEuc2xpY2UoMCwkJGkpLmNvbmNhdCgkJGEuc2xpY2UoJCRpKzEpKScpLCBcIil9XCIpICtcbiAgICAgICAgXCJ9ZWxzZXtcIi5jb25jYXQoZ2VuQXNzaWdubWVudENvZGUodmFsdWUsICckJGMnKSwgXCJ9XCIpLCBudWxsLCB0cnVlKTtcbn1cbmZ1bmN0aW9uIGdlblJhZGlvTW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpIHtcbiAgICB2YXIgbnVtYmVyID0gbW9kaWZpZXJzICYmIG1vZGlmaWVycy5udW1iZXI7XG4gICAgdmFyIHZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAndmFsdWUnKSB8fCAnbnVsbCc7XG4gICAgdmFsdWVCaW5kaW5nID0gbnVtYmVyID8gXCJfbihcIi5jb25jYXQodmFsdWVCaW5kaW5nLCBcIilcIikgOiB2YWx1ZUJpbmRpbmc7XG4gICAgYWRkUHJvcChlbCwgJ2NoZWNrZWQnLCBcIl9xKFwiLmNvbmNhdCh2YWx1ZSwgXCIsXCIpLmNvbmNhdCh2YWx1ZUJpbmRpbmcsIFwiKVwiKSk7XG4gICAgYWRkSGFuZGxlcihlbCwgJ2NoYW5nZScsIGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCB2YWx1ZUJpbmRpbmcpLCBudWxsLCB0cnVlKTtcbn1cbmZ1bmN0aW9uIGdlblNlbGVjdChlbCwgdmFsdWUsIG1vZGlmaWVycykge1xuICAgIHZhciBudW1iZXIgPSBtb2RpZmllcnMgJiYgbW9kaWZpZXJzLm51bWJlcjtcbiAgICB2YXIgc2VsZWN0ZWRWYWwgPSBcIkFycmF5LnByb3RvdHlwZS5maWx0ZXJcIiArXG4gICAgICAgIFwiLmNhbGwoJGV2ZW50LnRhcmdldC5vcHRpb25zLGZ1bmN0aW9uKG8pe3JldHVybiBvLnNlbGVjdGVkfSlcIiArXG4gICAgICAgIFwiLm1hcChmdW5jdGlvbihvKXt2YXIgdmFsID0gXFxcIl92YWx1ZVxcXCIgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZTtcIiArXG4gICAgICAgIFwicmV0dXJuIFwiLmNvbmNhdChudW1iZXIgPyAnX24odmFsKScgOiAndmFsJywgXCJ9KVwiKTtcbiAgICB2YXIgYXNzaWdubWVudCA9ICckZXZlbnQudGFyZ2V0Lm11bHRpcGxlID8gJCRzZWxlY3RlZFZhbCA6ICQkc2VsZWN0ZWRWYWxbMF0nO1xuICAgIHZhciBjb2RlID0gXCJ2YXIgJCRzZWxlY3RlZFZhbCA9IFwiLmNvbmNhdChzZWxlY3RlZFZhbCwgXCI7XCIpO1xuICAgIGNvZGUgPSBcIlwiLmNvbmNhdChjb2RlLCBcIiBcIikuY29uY2F0KGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCBhc3NpZ25tZW50KSk7XG4gICAgYWRkSGFuZGxlcihlbCwgJ2NoYW5nZScsIGNvZGUsIG51bGwsIHRydWUpO1xufVxuZnVuY3Rpb24gZ2VuRGVmYXVsdE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKSB7XG4gICAgdmFyIHR5cGUgPSBlbC5hdHRyc01hcC50eXBlO1xuICAgIC8vIHdhcm4gaWYgdi1iaW5kOnZhbHVlIGNvbmZsaWN0cyB3aXRoIHYtbW9kZWxcbiAgICAvLyBleGNlcHQgZm9yIGlucHV0cyB3aXRoIHYtYmluZDp0eXBlXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdmFyIHZhbHVlXzEgPSBlbC5hdHRyc01hcFsndi1iaW5kOnZhbHVlJ10gfHwgZWwuYXR0cnNNYXBbJzp2YWx1ZSddO1xuICAgICAgICB2YXIgdHlwZUJpbmRpbmcgPSBlbC5hdHRyc01hcFsndi1iaW5kOnR5cGUnXSB8fCBlbC5hdHRyc01hcFsnOnR5cGUnXTtcbiAgICAgICAgaWYgKHZhbHVlXzEgJiYgIXR5cGVCaW5kaW5nKSB7XG4gICAgICAgICAgICB2YXIgYmluZGluZyA9IGVsLmF0dHJzTWFwWyd2LWJpbmQ6dmFsdWUnXSA/ICd2LWJpbmQ6dmFsdWUnIDogJzp2YWx1ZSc7XG4gICAgICAgICAgICB3YXJuJDEoXCJcIi5jb25jYXQoYmluZGluZywgXCI9XFxcIlwiKS5jb25jYXQodmFsdWVfMSwgXCJcXFwiIGNvbmZsaWN0cyB3aXRoIHYtbW9kZWwgb24gdGhlIHNhbWUgZWxlbWVudCBcIikgK1xuICAgICAgICAgICAgICAgICdiZWNhdXNlIHRoZSBsYXR0ZXIgYWxyZWFkeSBleHBhbmRzIHRvIGEgdmFsdWUgYmluZGluZyBpbnRlcm5hbGx5JywgZWwucmF3QXR0cnNNYXBbYmluZGluZ10pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBfYSA9IG1vZGlmaWVycyB8fCB7fSwgbGF6eSA9IF9hLmxhenksIG51bWJlciA9IF9hLm51bWJlciwgdHJpbSA9IF9hLnRyaW07XG4gICAgdmFyIG5lZWRDb21wb3NpdGlvbkd1YXJkID0gIWxhenkgJiYgdHlwZSAhPT0gJ3JhbmdlJztcbiAgICB2YXIgZXZlbnQgPSBsYXp5ID8gJ2NoYW5nZScgOiB0eXBlID09PSAncmFuZ2UnID8gUkFOR0VfVE9LRU4gOiAnaW5wdXQnO1xuICAgIHZhciB2YWx1ZUV4cHJlc3Npb24gPSAnJGV2ZW50LnRhcmdldC52YWx1ZSc7XG4gICAgaWYgKHRyaW0pIHtcbiAgICAgICAgdmFsdWVFeHByZXNzaW9uID0gXCIkZXZlbnQudGFyZ2V0LnZhbHVlLnRyaW0oKVwiO1xuICAgIH1cbiAgICBpZiAobnVtYmVyKSB7XG4gICAgICAgIHZhbHVlRXhwcmVzc2lvbiA9IFwiX24oXCIuY29uY2F0KHZhbHVlRXhwcmVzc2lvbiwgXCIpXCIpO1xuICAgIH1cbiAgICB2YXIgY29kZSA9IGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCB2YWx1ZUV4cHJlc3Npb24pO1xuICAgIGlmIChuZWVkQ29tcG9zaXRpb25HdWFyZCkge1xuICAgICAgICBjb2RlID0gXCJpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZylyZXR1cm47XCIuY29uY2F0KGNvZGUpO1xuICAgIH1cbiAgICBhZGRQcm9wKGVsLCAndmFsdWUnLCBcIihcIi5jb25jYXQodmFsdWUsIFwiKVwiKSk7XG4gICAgYWRkSGFuZGxlcihlbCwgZXZlbnQsIGNvZGUsIG51bGwsIHRydWUpO1xuICAgIGlmICh0cmltIHx8IG51bWJlcikge1xuICAgICAgICBhZGRIYW5kbGVyKGVsLCAnYmx1cicsICckZm9yY2VVcGRhdGUoKScpO1xuICAgIH1cbn1cblxuLy8gbm9ybWFsaXplIHYtbW9kZWwgZXZlbnQgdG9rZW5zIHRoYXQgY2FuIG9ubHkgYmUgZGV0ZXJtaW5lZCBhdCBydW50aW1lLlxuLy8gaXQncyBpbXBvcnRhbnQgdG8gcGxhY2UgdGhlIGV2ZW50IGFzIHRoZSBmaXJzdCBpbiB0aGUgYXJyYXkgYmVjYXVzZVxuLy8gdGhlIHdob2xlIHBvaW50IGlzIGVuc3VyaW5nIHRoZSB2LW1vZGVsIGNhbGxiYWNrIGdldHMgY2FsbGVkIGJlZm9yZVxuLy8gdXNlci1hdHRhY2hlZCBoYW5kbGVycy5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUV2ZW50cyhvbikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0RlZihvbltSQU5HRV9UT0tFTl0pKSB7XG4gICAgICAgIC8vIElFIGlucHV0W3R5cGU9cmFuZ2VdIG9ubHkgc3VwcG9ydHMgYGNoYW5nZWAgZXZlbnRcbiAgICAgICAgdmFyIGV2ZW50XzEgPSBpc0lFID8gJ2NoYW5nZScgOiAnaW5wdXQnO1xuICAgICAgICBvbltldmVudF8xXSA9IFtdLmNvbmNhdChvbltSQU5HRV9UT0tFTl0sIG9uW2V2ZW50XzFdIHx8IFtdKTtcbiAgICAgICAgZGVsZXRlIG9uW1JBTkdFX1RPS0VOXTtcbiAgICB9XG4gICAgLy8gVGhpcyB3YXMgb3JpZ2luYWxseSBpbnRlbmRlZCB0byBmaXggIzQ1MjEgYnV0IG5vIGxvbmdlciBuZWNlc3NhcnlcbiAgICAvLyBhZnRlciAyLjUuIEtlZXBpbmcgaXQgZm9yIGJhY2t3YXJkcyBjb21wYXQgd2l0aCBnZW5lcmF0ZWQgY29kZSBmcm9tIDwgMi40XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGlzRGVmKG9uW0NIRUNLQk9YX1JBRElPX1RPS0VOXSkpIHtcbiAgICAgICAgb24uY2hhbmdlID0gW10uY29uY2F0KG9uW0NIRUNLQk9YX1JBRElPX1RPS0VOXSwgb24uY2hhbmdlIHx8IFtdKTtcbiAgICAgICAgZGVsZXRlIG9uW0NIRUNLQk9YX1JBRElPX1RPS0VOXTtcbiAgICB9XG59XG52YXIgdGFyZ2V0O1xuZnVuY3Rpb24gY3JlYXRlT25jZUhhbmRsZXIoZXZlbnQsIGhhbmRsZXIsIGNhcHR1cmUpIHtcbiAgICB2YXIgX3RhcmdldCA9IHRhcmdldDsgLy8gc2F2ZSBjdXJyZW50IHRhcmdldCBlbGVtZW50IGluIGNsb3N1cmVcbiAgICByZXR1cm4gZnVuY3Rpb24gb25jZUhhbmRsZXIoKSB7XG4gICAgICAgIHZhciByZXMgPSBoYW5kbGVyLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XG4gICAgICAgIGlmIChyZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJlbW92ZShldmVudCwgb25jZUhhbmRsZXIsIGNhcHR1cmUsIF90YXJnZXQpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbi8vICM5NDQ2OiBGaXJlZm94IDw9IDUzIChpbiBwYXJ0aWN1bGFyLCBFU1IgNTIpIGhhcyBpbmNvcnJlY3QgRXZlbnQudGltZVN0YW1wXG4vLyBpbXBsZW1lbnRhdGlvbiBhbmQgZG9lcyBub3QgZmlyZSBtaWNyb3Rhc2tzIGluIGJldHdlZW4gZXZlbnQgcHJvcGFnYXRpb24sIHNvXG4vLyBzYWZlIHRvIGV4Y2x1ZGUuXG52YXIgdXNlTWljcm90YXNrRml4ID0gaXNVc2luZ01pY3JvVGFzayAmJiAhKGlzRkYgJiYgTnVtYmVyKGlzRkZbMV0pIDw9IDUzKTtcbmZ1bmN0aW9uIGFkZChuYW1lLCBoYW5kbGVyLCBjYXB0dXJlLCBwYXNzaXZlKSB7XG4gICAgLy8gYXN5bmMgZWRnZSBjYXNlICM2NTY2OiBpbm5lciBjbGljayBldmVudCB0cmlnZ2VycyBwYXRjaCwgZXZlbnQgaGFuZGxlclxuICAgIC8vIGF0dGFjaGVkIHRvIG91dGVyIGVsZW1lbnQgZHVyaW5nIHBhdGNoLCBhbmQgdHJpZ2dlcmVkIGFnYWluLiBUaGlzXG4gICAgLy8gaGFwcGVucyBiZWNhdXNlIGJyb3dzZXJzIGZpcmUgbWljcm90YXNrIHRpY2tzIGJldHdlZW4gZXZlbnQgcHJvcGFnYXRpb24uXG4gICAgLy8gdGhlIHNvbHV0aW9uIGlzIHNpbXBsZTogd2Ugc2F2ZSB0aGUgdGltZXN0YW1wIHdoZW4gYSBoYW5kbGVyIGlzIGF0dGFjaGVkLFxuICAgIC8vIGFuZCB0aGUgaGFuZGxlciB3b3VsZCBvbmx5IGZpcmUgaWYgdGhlIGV2ZW50IHBhc3NlZCB0byBpdCB3YXMgZmlyZWRcbiAgICAvLyBBRlRFUiBpdCB3YXMgYXR0YWNoZWQuXG4gICAgaWYgKHVzZU1pY3JvdGFza0ZpeCkge1xuICAgICAgICB2YXIgYXR0YWNoZWRUaW1lc3RhbXBfMSA9IGN1cnJlbnRGbHVzaFRpbWVzdGFtcDtcbiAgICAgICAgdmFyIG9yaWdpbmFsXzEgPSBoYW5kbGVyO1xuICAgICAgICAvL0B0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgaGFuZGxlciA9IG9yaWdpbmFsXzEuX3dyYXBwZXIgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgLy8gbm8gYnViYmxpbmcsIHNob3VsZCBhbHdheXMgZmlyZS5cbiAgICAgICAgICAgIC8vIHRoaXMgaXMganVzdCBhIHNhZmV0eSBuZXQgaW4gY2FzZSBldmVudC50aW1lU3RhbXAgaXMgdW5yZWxpYWJsZSBpblxuICAgICAgICAgICAgLy8gY2VydGFpbiB3ZWlyZCBlbnZpcm9ubWVudHMuLi5cbiAgICAgICAgICAgIGUudGFyZ2V0ID09PSBlLmN1cnJlbnRUYXJnZXQgfHxcbiAgICAgICAgICAgICAgICAvLyBldmVudCBpcyBmaXJlZCBhZnRlciBoYW5kbGVyIGF0dGFjaG1lbnRcbiAgICAgICAgICAgICAgICBlLnRpbWVTdGFtcCA+PSBhdHRhY2hlZFRpbWVzdGFtcF8xIHx8XG4gICAgICAgICAgICAgICAgLy8gYmFpbCBmb3IgZW52aXJvbm1lbnRzIHRoYXQgaGF2ZSBidWdneSBldmVudC50aW1lU3RhbXAgaW1wbGVtZW50YXRpb25zXG4gICAgICAgICAgICAgICAgLy8gIzk0NjIgaU9TIDkgYnVnOiBldmVudC50aW1lU3RhbXAgaXMgMCBhZnRlciBoaXN0b3J5LnB1c2hTdGF0ZVxuICAgICAgICAgICAgICAgIC8vICM5NjgxIFF0V2ViRW5naW5lIGV2ZW50LnRpbWVTdGFtcCBpcyBuZWdhdGl2ZSB2YWx1ZVxuICAgICAgICAgICAgICAgIGUudGltZVN0YW1wIDw9IDAgfHxcbiAgICAgICAgICAgICAgICAvLyAjOTQ0OCBiYWlsIGlmIGV2ZW50IGlzIGZpcmVkIGluIGFub3RoZXIgZG9jdW1lbnQgaW4gYSBtdWx0aS1wYWdlXG4gICAgICAgICAgICAgICAgLy8gZWxlY3Ryb24vbncuanMgYXBwLCBzaW5jZSBldmVudC50aW1lU3RhbXAgd2lsbCBiZSB1c2luZyBhIGRpZmZlcmVudFxuICAgICAgICAgICAgICAgIC8vIHN0YXJ0aW5nIHJlZmVyZW5jZVxuICAgICAgICAgICAgICAgIGUudGFyZ2V0Lm93bmVyRG9jdW1lbnQgIT09IGRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsXzEuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG4gICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIobmFtZSwgaGFuZGxlciwgc3VwcG9ydHNQYXNzaXZlID8geyBjYXB0dXJlOiBjYXB0dXJlLCBwYXNzaXZlOiBwYXNzaXZlIH0gOiBjYXB0dXJlKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZShuYW1lLCBoYW5kbGVyLCBjYXB0dXJlLCBfdGFyZ2V0KSB7XG4gICAgKF90YXJnZXQgfHwgdGFyZ2V0KS5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIFxuICAgIC8vQHRzLWV4cGVjdC1lcnJvclxuICAgIGhhbmRsZXIuX3dyYXBwZXIgfHwgaGFuZGxlciwgY2FwdHVyZSk7XG59XG5mdW5jdGlvbiB1cGRhdGVET01MaXN0ZW5lcnMob2xkVm5vZGUsIHZub2RlKSB7XG4gICAgaWYgKGlzVW5kZWYob2xkVm5vZGUuZGF0YS5vbikgJiYgaXNVbmRlZih2bm9kZS5kYXRhLm9uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBvbiA9IHZub2RlLmRhdGEub24gfHwge307XG4gICAgdmFyIG9sZE9uID0gb2xkVm5vZGUuZGF0YS5vbiB8fCB7fTtcbiAgICAvLyB2bm9kZSBpcyBlbXB0eSB3aGVuIHJlbW92aW5nIGFsbCBsaXN0ZW5lcnMsXG4gICAgLy8gYW5kIHVzZSBvbGQgdm5vZGUgZG9tIGVsZW1lbnRcbiAgICB0YXJnZXQgPSB2bm9kZS5lbG0gfHwgb2xkVm5vZGUuZWxtO1xuICAgIG5vcm1hbGl6ZUV2ZW50cyhvbik7XG4gICAgdXBkYXRlTGlzdGVuZXJzKG9uLCBvbGRPbiwgYWRkLCByZW1vdmUsIGNyZWF0ZU9uY2VIYW5kbGVyLCB2bm9kZS5jb250ZXh0KTtcbiAgICB0YXJnZXQgPSB1bmRlZmluZWQ7XG59XG52YXIgZXZlbnRzID0ge1xuICAgIGNyZWF0ZTogdXBkYXRlRE9NTGlzdGVuZXJzLFxuICAgIHVwZGF0ZTogdXBkYXRlRE9NTGlzdGVuZXJzLFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZW1wdHlOb2RlIGhhcyBhY3R1YWxseSBkYXRhXG4gICAgZGVzdHJveTogZnVuY3Rpb24gKHZub2RlKSB7IHJldHVybiB1cGRhdGVET01MaXN0ZW5lcnModm5vZGUsIGVtcHR5Tm9kZSk7IH1cbn07XG5cbnZhciBzdmdDb250YWluZXI7XG5mdW5jdGlvbiB1cGRhdGVET01Qcm9wcyhvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLmRvbVByb3BzKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEuZG9tUHJvcHMpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGtleSwgY3VyO1xuICAgIHZhciBlbG0gPSB2bm9kZS5lbG07XG4gICAgdmFyIG9sZFByb3BzID0gb2xkVm5vZGUuZGF0YS5kb21Qcm9wcyB8fCB7fTtcbiAgICB2YXIgcHJvcHMgPSB2bm9kZS5kYXRhLmRvbVByb3BzIHx8IHt9O1xuICAgIC8vIGNsb25lIG9ic2VydmVkIG9iamVjdHMsIGFzIHRoZSB1c2VyIHByb2JhYmx5IHdhbnRzIHRvIG11dGF0ZSBpdFxuICAgIGlmIChpc0RlZihwcm9wcy5fX29iX18pIHx8IGlzVHJ1ZShwcm9wcy5fdl9hdHRyX3Byb3h5KSkge1xuICAgICAgICBwcm9wcyA9IHZub2RlLmRhdGEuZG9tUHJvcHMgPSBleHRlbmQoe30sIHByb3BzKTtcbiAgICB9XG4gICAgZm9yIChrZXkgaW4gb2xkUHJvcHMpIHtcbiAgICAgICAgaWYgKCEoa2V5IGluIHByb3BzKSkge1xuICAgICAgICAgICAgZWxtW2tleV0gPSAnJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGtleSBpbiBwcm9wcykge1xuICAgICAgICBjdXIgPSBwcm9wc1trZXldO1xuICAgICAgICAvLyBpZ25vcmUgY2hpbGRyZW4gaWYgdGhlIG5vZGUgaGFzIHRleHRDb250ZW50IG9yIGlubmVySFRNTCxcbiAgICAgICAgLy8gYXMgdGhlc2Ugd2lsbCB0aHJvdyBhd2F5IGV4aXN0aW5nIERPTSBub2RlcyBhbmQgY2F1c2UgcmVtb3ZhbCBlcnJvcnNcbiAgICAgICAgLy8gb24gc3Vic2VxdWVudCBwYXRjaGVzICgjMzM2MClcbiAgICAgICAgaWYgKGtleSA9PT0gJ3RleHRDb250ZW50JyB8fCBrZXkgPT09ICdpbm5lckhUTUwnKSB7XG4gICAgICAgICAgICBpZiAodm5vZGUuY2hpbGRyZW4pXG4gICAgICAgICAgICAgICAgdm5vZGUuY2hpbGRyZW4ubGVuZ3RoID0gMDtcbiAgICAgICAgICAgIGlmIChjdXIgPT09IG9sZFByb3BzW2tleV0pXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAvLyAjNjYwMSB3b3JrIGFyb3VuZCBDaHJvbWUgdmVyc2lvbiA8PSA1NSBidWcgd2hlcmUgc2luZ2xlIHRleHROb2RlXG4gICAgICAgICAgICAvLyByZXBsYWNlZCBieSBpbm5lckhUTUwvdGV4dENvbnRlbnQgcmV0YWlucyBpdHMgcGFyZW50Tm9kZSBwcm9wZXJ0eVxuICAgICAgICAgICAgaWYgKGVsbS5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGVsbS5yZW1vdmVDaGlsZChlbG0uY2hpbGROb2Rlc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ3ZhbHVlJyAmJiBlbG0udGFnTmFtZSAhPT0gJ1BST0dSRVNTJykge1xuICAgICAgICAgICAgLy8gc3RvcmUgdmFsdWUgYXMgX3ZhbHVlIGFzIHdlbGwgc2luY2VcbiAgICAgICAgICAgIC8vIG5vbi1zdHJpbmcgdmFsdWVzIHdpbGwgYmUgc3RyaW5naWZpZWRcbiAgICAgICAgICAgIGVsbS5fdmFsdWUgPSBjdXI7XG4gICAgICAgICAgICAvLyBhdm9pZCByZXNldHRpbmcgY3Vyc29yIHBvc2l0aW9uIHdoZW4gdmFsdWUgaXMgdGhlIHNhbWVcbiAgICAgICAgICAgIHZhciBzdHJDdXIgPSBpc1VuZGVmKGN1cikgPyAnJyA6IFN0cmluZyhjdXIpO1xuICAgICAgICAgICAgaWYgKHNob3VsZFVwZGF0ZVZhbHVlKGVsbSwgc3RyQ3VyKSkge1xuICAgICAgICAgICAgICAgIGVsbS52YWx1ZSA9IHN0ckN1cjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChrZXkgPT09ICdpbm5lckhUTUwnICYmXG4gICAgICAgICAgICBpc1NWRyhlbG0udGFnTmFtZSkgJiZcbiAgICAgICAgICAgIGlzVW5kZWYoZWxtLmlubmVySFRNTCkpIHtcbiAgICAgICAgICAgIC8vIElFIGRvZXNuJ3Qgc3VwcG9ydCBpbm5lckhUTUwgZm9yIFNWRyBlbGVtZW50c1xuICAgICAgICAgICAgc3ZnQ29udGFpbmVyID0gc3ZnQ29udGFpbmVyIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgc3ZnQ29udGFpbmVyLmlubmVySFRNTCA9IFwiPHN2Zz5cIi5jb25jYXQoY3VyLCBcIjwvc3ZnPlwiKTtcbiAgICAgICAgICAgIHZhciBzdmcgPSBzdmdDb250YWluZXIuZmlyc3RDaGlsZDtcbiAgICAgICAgICAgIHdoaWxlIChlbG0uZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgICAgIGVsbS5yZW1vdmVDaGlsZChlbG0uZmlyc3RDaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aGlsZSAoc3ZnLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgICAgICBlbG0uYXBwZW5kQ2hpbGQoc3ZnLmZpcnN0Q2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKFxuICAgICAgICAvLyBza2lwIHRoZSB1cGRhdGUgaWYgb2xkIGFuZCBuZXcgVkRPTSBzdGF0ZSBpcyB0aGUgc2FtZS5cbiAgICAgICAgLy8gYHZhbHVlYCBpcyBoYW5kbGVkIHNlcGFyYXRlbHkgYmVjYXVzZSB0aGUgRE9NIHZhbHVlIG1heSBiZSB0ZW1wb3JhcmlseVxuICAgICAgICAvLyBvdXQgb2Ygc3luYyB3aXRoIFZET00gc3RhdGUgZHVlIHRvIGZvY3VzLCBjb21wb3NpdGlvbiBhbmQgbW9kaWZpZXJzLlxuICAgICAgICAvLyBUaGlzICAjNDUyMSBieSBza2lwcGluZyB0aGUgdW5uZWNlc3NhcnkgYGNoZWNrZWRgIHVwZGF0ZS5cbiAgICAgICAgY3VyICE9PSBvbGRQcm9wc1trZXldKSB7XG4gICAgICAgICAgICAvLyBzb21lIHByb3BlcnR5IHVwZGF0ZXMgY2FuIHRocm93XG4gICAgICAgICAgICAvLyBlLmcuIGB2YWx1ZWAgb24gPHByb2dyZXNzPiB3LyBub24tZmluaXRlIHZhbHVlXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGVsbVtrZXldID0gY3VyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHsgfVxuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gc2hvdWxkVXBkYXRlVmFsdWUoZWxtLCBjaGVja1ZhbCkge1xuICAgIHJldHVybiAoXG4gICAgLy9AdHMtZXhwZWN0LWVycm9yXG4gICAgIWVsbS5jb21wb3NpbmcgJiZcbiAgICAgICAgKGVsbS50YWdOYW1lID09PSAnT1BUSU9OJyB8fFxuICAgICAgICAgICAgaXNOb3RJbkZvY3VzQW5kRGlydHkoZWxtLCBjaGVja1ZhbCkgfHxcbiAgICAgICAgICAgIGlzRGlydHlXaXRoTW9kaWZpZXJzKGVsbSwgY2hlY2tWYWwpKSk7XG59XG5mdW5jdGlvbiBpc05vdEluRm9jdXNBbmREaXJ0eShlbG0sIGNoZWNrVmFsKSB7XG4gICAgLy8gcmV0dXJuIHRydWUgd2hlbiB0ZXh0Ym94ICgubnVtYmVyIGFuZCAudHJpbSkgbG9zZXMgZm9jdXMgYW5kIGl0cyB2YWx1ZSBpc1xuICAgIC8vIG5vdCBlcXVhbCB0byB0aGUgdXBkYXRlZCB2YWx1ZVxuICAgIHZhciBub3RJbkZvY3VzID0gdHJ1ZTtcbiAgICAvLyAjNjE1N1xuICAgIC8vIHdvcmsgYXJvdW5kIElFIGJ1ZyB3aGVuIGFjY2Vzc2luZyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluIGFuIGlmcmFtZVxuICAgIHRyeSB7XG4gICAgICAgIG5vdEluRm9jdXMgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBlbG07XG4gICAgfVxuICAgIGNhdGNoIChlKSB7IH1cbiAgICByZXR1cm4gbm90SW5Gb2N1cyAmJiBlbG0udmFsdWUgIT09IGNoZWNrVmFsO1xufVxuZnVuY3Rpb24gaXNEaXJ0eVdpdGhNb2RpZmllcnMoZWxtLCBuZXdWYWwpIHtcbiAgICB2YXIgdmFsdWUgPSBlbG0udmFsdWU7XG4gICAgdmFyIG1vZGlmaWVycyA9IGVsbS5fdk1vZGlmaWVyczsgLy8gaW5qZWN0ZWQgYnkgdi1tb2RlbCBydW50aW1lXG4gICAgaWYgKGlzRGVmKG1vZGlmaWVycykpIHtcbiAgICAgICAgaWYgKG1vZGlmaWVycy5udW1iZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0b051bWJlcih2YWx1ZSkgIT09IHRvTnVtYmVyKG5ld1ZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1vZGlmaWVycy50cmltKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUudHJpbSgpICE9PSBuZXdWYWwudHJpbSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSAhPT0gbmV3VmFsO1xufVxudmFyIGRvbVByb3BzID0ge1xuICAgIGNyZWF0ZTogdXBkYXRlRE9NUHJvcHMsXG4gICAgdXBkYXRlOiB1cGRhdGVET01Qcm9wc1xufTtcblxudmFyIHBhcnNlU3R5bGVUZXh0ID0gY2FjaGVkKGZ1bmN0aW9uIChjc3NUZXh0KSB7XG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIHZhciBsaXN0RGVsaW1pdGVyID0gLzsoPyFbXihdKlxcKSkvZztcbiAgICB2YXIgcHJvcGVydHlEZWxpbWl0ZXIgPSAvOiguKykvO1xuICAgIGNzc1RleHQuc3BsaXQobGlzdERlbGltaXRlcikuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgdmFyIHRtcCA9IGl0ZW0uc3BsaXQocHJvcGVydHlEZWxpbWl0ZXIpO1xuICAgICAgICAgICAgdG1wLmxlbmd0aCA+IDEgJiYgKHJlc1t0bXBbMF0udHJpbSgpXSA9IHRtcFsxXS50cmltKCkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcztcbn0pO1xuLy8gbWVyZ2Ugc3RhdGljIGFuZCBkeW5hbWljIHN0eWxlIGRhdGEgb24gdGhlIHNhbWUgdm5vZGVcbmZ1bmN0aW9uIG5vcm1hbGl6ZVN0eWxlRGF0YShkYXRhKSB7XG4gICAgdmFyIHN0eWxlID0gbm9ybWFsaXplU3R5bGVCaW5kaW5nKGRhdGEuc3R5bGUpO1xuICAgIC8vIHN0YXRpYyBzdHlsZSBpcyBwcmUtcHJvY2Vzc2VkIGludG8gYW4gb2JqZWN0IGR1cmluZyBjb21waWxhdGlvblxuICAgIC8vIGFuZCBpcyBhbHdheXMgYSBmcmVzaCBvYmplY3QsIHNvIGl0J3Mgc2FmZSB0byBtZXJnZSBpbnRvIGl0XG4gICAgcmV0dXJuIGRhdGEuc3RhdGljU3R5bGUgPyBleHRlbmQoZGF0YS5zdGF0aWNTdHlsZSwgc3R5bGUpIDogc3R5bGU7XG59XG4vLyBub3JtYWxpemUgcG9zc2libGUgYXJyYXkgLyBzdHJpbmcgdmFsdWVzIGludG8gT2JqZWN0XG5mdW5jdGlvbiBub3JtYWxpemVTdHlsZUJpbmRpbmcoYmluZGluZ1N0eWxlKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYmluZGluZ1N0eWxlKSkge1xuICAgICAgICByZXR1cm4gdG9PYmplY3QoYmluZGluZ1N0eWxlKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBiaW5kaW5nU3R5bGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBwYXJzZVN0eWxlVGV4dChiaW5kaW5nU3R5bGUpO1xuICAgIH1cbiAgICByZXR1cm4gYmluZGluZ1N0eWxlO1xufVxuLyoqXG4gKiBwYXJlbnQgY29tcG9uZW50IHN0eWxlIHNob3VsZCBiZSBhZnRlciBjaGlsZCdzXG4gKiBzbyB0aGF0IHBhcmVudCBjb21wb25lbnQncyBzdHlsZSBjb3VsZCBvdmVycmlkZSBpdFxuICovXG5mdW5jdGlvbiBnZXRTdHlsZSh2bm9kZSwgY2hlY2tDaGlsZCkge1xuICAgIHZhciByZXMgPSB7fTtcbiAgICB2YXIgc3R5bGVEYXRhO1xuICAgIGlmIChjaGVja0NoaWxkKSB7XG4gICAgICAgIHZhciBjaGlsZE5vZGUgPSB2bm9kZTtcbiAgICAgICAgd2hpbGUgKGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgICAgICAgY2hpbGROb2RlID0gY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgICAgICAgIGlmIChjaGlsZE5vZGUgJiZcbiAgICAgICAgICAgICAgICBjaGlsZE5vZGUuZGF0YSAmJlxuICAgICAgICAgICAgICAgIChzdHlsZURhdGEgPSBub3JtYWxpemVTdHlsZURhdGEoY2hpbGROb2RlLmRhdGEpKSkge1xuICAgICAgICAgICAgICAgIGV4dGVuZChyZXMsIHN0eWxlRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKChzdHlsZURhdGEgPSBub3JtYWxpemVTdHlsZURhdGEodm5vZGUuZGF0YSkpKSB7XG4gICAgICAgIGV4dGVuZChyZXMsIHN0eWxlRGF0YSk7XG4gICAgfVxuICAgIHZhciBwYXJlbnROb2RlID0gdm5vZGU7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXJlbnROb2RlLnBhcmVudCBub3QgVk5vZGVXaXRoRGF0YVxuICAgIHdoaWxlICgocGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFyZW50KSkge1xuICAgICAgICBpZiAocGFyZW50Tm9kZS5kYXRhICYmIChzdHlsZURhdGEgPSBub3JtYWxpemVTdHlsZURhdGEocGFyZW50Tm9kZS5kYXRhKSkpIHtcbiAgICAgICAgICAgIGV4dGVuZChyZXMsIHN0eWxlRGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cblxudmFyIGNzc1ZhclJFID0gL14tLS87XG52YXIgaW1wb3J0YW50UkUgPSAvXFxzKiFpbXBvcnRhbnQkLztcbnZhciBzZXRQcm9wID0gZnVuY3Rpb24gKGVsLCBuYW1lLCB2YWwpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoY3NzVmFyUkUudGVzdChuYW1lKSkge1xuICAgICAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWwpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpbXBvcnRhbnRSRS50ZXN0KHZhbCkpIHtcbiAgICAgICAgZWwuc3R5bGUuc2V0UHJvcGVydHkoaHlwaGVuYXRlKG5hbWUpLCB2YWwucmVwbGFjZShpbXBvcnRhbnRSRSwgJycpLCAnaW1wb3J0YW50Jyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemUobmFtZSk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIC8vIFN1cHBvcnQgdmFsdWVzIGFycmF5IGNyZWF0ZWQgYnkgYXV0b3ByZWZpeGVyLCBlLmcuXG4gICAgICAgICAgICAvLyB7ZGlzcGxheTogW1wiLXdlYmtpdC1ib3hcIiwgXCItbXMtZmxleGJveFwiLCBcImZsZXhcIl19XG4gICAgICAgICAgICAvLyBTZXQgdGhlbSBvbmUgYnkgb25lLCBhbmQgdGhlIGJyb3dzZXIgd2lsbCBvbmx5IHNldCB0aG9zZSBpdCBjYW4gcmVjb2duaXplXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gdmFsLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZWwuc3R5bGVbbm9ybWFsaXplZE5hbWVdID0gdmFsW2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZWwuc3R5bGVbbm9ybWFsaXplZE5hbWVdID0gdmFsO1xuICAgICAgICB9XG4gICAgfVxufTtcbnZhciB2ZW5kb3JOYW1lcyA9IFsnV2Via2l0JywgJ01veicsICdtcyddO1xudmFyIGVtcHR5U3R5bGU7XG52YXIgbm9ybWFsaXplID0gY2FjaGVkKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgZW1wdHlTdHlsZSA9IGVtcHR5U3R5bGUgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7XG4gICAgcHJvcCA9IGNhbWVsaXplKHByb3ApO1xuICAgIGlmIChwcm9wICE9PSAnZmlsdGVyJyAmJiBwcm9wIGluIGVtcHR5U3R5bGUpIHtcbiAgICAgICAgcmV0dXJuIHByb3A7XG4gICAgfVxuICAgIHZhciBjYXBOYW1lID0gcHJvcC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHByb3Auc2xpY2UoMSk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2ZW5kb3JOYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgbmFtZV8xID0gdmVuZG9yTmFtZXNbaV0gKyBjYXBOYW1lO1xuICAgICAgICBpZiAobmFtZV8xIGluIGVtcHR5U3R5bGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuYW1lXzE7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbmZ1bmN0aW9uIHVwZGF0ZVN0eWxlKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICB2YXIgb2xkRGF0YSA9IG9sZFZub2RlLmRhdGE7XG4gICAgaWYgKGlzVW5kZWYoZGF0YS5zdGF0aWNTdHlsZSkgJiZcbiAgICAgICAgaXNVbmRlZihkYXRhLnN0eWxlKSAmJlxuICAgICAgICBpc1VuZGVmKG9sZERhdGEuc3RhdGljU3R5bGUpICYmXG4gICAgICAgIGlzVW5kZWYob2xkRGF0YS5zdHlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgY3VyLCBuYW1lO1xuICAgIHZhciBlbCA9IHZub2RlLmVsbTtcbiAgICB2YXIgb2xkU3RhdGljU3R5bGUgPSBvbGREYXRhLnN0YXRpY1N0eWxlO1xuICAgIHZhciBvbGRTdHlsZUJpbmRpbmcgPSBvbGREYXRhLm5vcm1hbGl6ZWRTdHlsZSB8fCBvbGREYXRhLnN0eWxlIHx8IHt9O1xuICAgIC8vIGlmIHN0YXRpYyBzdHlsZSBleGlzdHMsIHN0eWxlYmluZGluZyBhbHJlYWR5IG1lcmdlZCBpbnRvIGl0IHdoZW4gZG9pbmcgbm9ybWFsaXplU3R5bGVEYXRhXG4gICAgdmFyIG9sZFN0eWxlID0gb2xkU3RhdGljU3R5bGUgfHwgb2xkU3R5bGVCaW5kaW5nO1xuICAgIHZhciBzdHlsZSA9IG5vcm1hbGl6ZVN0eWxlQmluZGluZyh2bm9kZS5kYXRhLnN0eWxlKSB8fCB7fTtcbiAgICAvLyBzdG9yZSBub3JtYWxpemVkIHN0eWxlIHVuZGVyIGEgZGlmZmVyZW50IGtleSBmb3IgbmV4dCBkaWZmXG4gICAgLy8gbWFrZSBzdXJlIHRvIGNsb25lIGl0IGlmIGl0J3MgcmVhY3RpdmUsIHNpbmNlIHRoZSB1c2VyIGxpa2VseSB3YW50c1xuICAgIC8vIHRvIG11dGF0ZSBpdC5cbiAgICB2bm9kZS5kYXRhLm5vcm1hbGl6ZWRTdHlsZSA9IGlzRGVmKHN0eWxlLl9fb2JfXykgPyBleHRlbmQoe30sIHN0eWxlKSA6IHN0eWxlO1xuICAgIHZhciBuZXdTdHlsZSA9IGdldFN0eWxlKHZub2RlLCB0cnVlKTtcbiAgICBmb3IgKG5hbWUgaW4gb2xkU3R5bGUpIHtcbiAgICAgICAgaWYgKGlzVW5kZWYobmV3U3R5bGVbbmFtZV0pKSB7XG4gICAgICAgICAgICBzZXRQcm9wKGVsLCBuYW1lLCAnJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChuYW1lIGluIG5ld1N0eWxlKSB7XG4gICAgICAgIGN1ciA9IG5ld1N0eWxlW25hbWVdO1xuICAgICAgICBpZiAoY3VyICE9PSBvbGRTdHlsZVtuYW1lXSkge1xuICAgICAgICAgICAgLy8gaWU5IHNldHRpbmcgdG8gbnVsbCBoYXMgbm8gZWZmZWN0LCBtdXN0IHVzZSBlbXB0eSBzdHJpbmdcbiAgICAgICAgICAgIHNldFByb3AoZWwsIG5hbWUsIGN1ciA9PSBudWxsID8gJycgOiBjdXIpO1xuICAgICAgICB9XG4gICAgfVxufVxudmFyIHN0eWxlJDEgPSB7XG4gICAgY3JlYXRlOiB1cGRhdGVTdHlsZSxcbiAgICB1cGRhdGU6IHVwZGF0ZVN0eWxlXG59O1xuXG52YXIgd2hpdGVzcGFjZVJFJDEgPSAvXFxzKy87XG4vKipcbiAqIEFkZCBjbGFzcyB3aXRoIGNvbXBhdGliaWxpdHkgZm9yIFNWRyBzaW5jZSBjbGFzc0xpc3QgaXMgbm90IHN1cHBvcnRlZCBvblxuICogU1ZHIGVsZW1lbnRzIGluIElFXG4gKi9cbmZ1bmN0aW9uIGFkZENsYXNzKGVsLCBjbHMpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWNscyB8fCAhKGNscyA9IGNscy50cmltKCkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgICAgIGlmIChjbHMuaW5kZXhPZignICcpID4gLTEpIHtcbiAgICAgICAgICAgIGNscy5zcGxpdCh3aGl0ZXNwYWNlUkUkMSkuZm9yRWFjaChmdW5jdGlvbiAoYykgeyByZXR1cm4gZWwuY2xhc3NMaXN0LmFkZChjKTsgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKGNscyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHZhciBjdXIgPSBcIiBcIi5jb25jYXQoZWwuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnLCBcIiBcIik7XG4gICAgICAgIGlmIChjdXIuaW5kZXhPZignICcgKyBjbHMgKyAnICcpIDwgMCkge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIChjdXIgKyBjbHMpLnRyaW0oKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIFJlbW92ZSBjbGFzcyB3aXRoIGNvbXBhdGliaWxpdHkgZm9yIFNWRyBzaW5jZSBjbGFzc0xpc3QgaXMgbm90IHN1cHBvcnRlZCBvblxuICogU1ZHIGVsZW1lbnRzIGluIElFXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZUNsYXNzKGVsLCBjbHMpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWNscyB8fCAhKGNscyA9IGNscy50cmltKCkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZWwuY2xhc3NMaXN0KSB7XG4gICAgICAgIGlmIChjbHMuaW5kZXhPZignICcpID4gLTEpIHtcbiAgICAgICAgICAgIGNscy5zcGxpdCh3aGl0ZXNwYWNlUkUkMSkuZm9yRWFjaChmdW5jdGlvbiAoYykgeyByZXR1cm4gZWwuY2xhc3NMaXN0LnJlbW92ZShjKTsgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKGNscyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlbC5jbGFzc0xpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHZhciBjdXIgPSBcIiBcIi5jb25jYXQoZWwuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnLCBcIiBcIik7XG4gICAgICAgIHZhciB0YXIgPSAnICcgKyBjbHMgKyAnICc7XG4gICAgICAgIHdoaWxlIChjdXIuaW5kZXhPZih0YXIpID49IDApIHtcbiAgICAgICAgICAgIGN1ciA9IGN1ci5yZXBsYWNlKHRhciwgJyAnKTtcbiAgICAgICAgfVxuICAgICAgICBjdXIgPSBjdXIudHJpbSgpO1xuICAgICAgICBpZiAoY3VyKSB7XG4gICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgY3VyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnY2xhc3MnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVRyYW5zaXRpb24oZGVmKSB7XG4gICAgaWYgKCFkZWYpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0eXBlb2YgZGVmID09PSAnb2JqZWN0Jykge1xuICAgICAgICB2YXIgcmVzID0ge307XG4gICAgICAgIGlmIChkZWYuY3NzICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgZXh0ZW5kKHJlcywgYXV0b0Nzc1RyYW5zaXRpb24oZGVmLm5hbWUgfHwgJ3YnKSk7XG4gICAgICAgIH1cbiAgICAgICAgZXh0ZW5kKHJlcywgZGVmKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIGRlZiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGF1dG9Dc3NUcmFuc2l0aW9uKGRlZik7XG4gICAgfVxufVxudmFyIGF1dG9Dc3NUcmFuc2l0aW9uID0gY2FjaGVkKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZW50ZXJDbGFzczogXCJcIi5jb25jYXQobmFtZSwgXCItZW50ZXJcIiksXG4gICAgICAgIGVudGVyVG9DbGFzczogXCJcIi5jb25jYXQobmFtZSwgXCItZW50ZXItdG9cIiksXG4gICAgICAgIGVudGVyQWN0aXZlQ2xhc3M6IFwiXCIuY29uY2F0KG5hbWUsIFwiLWVudGVyLWFjdGl2ZVwiKSxcbiAgICAgICAgbGVhdmVDbGFzczogXCJcIi5jb25jYXQobmFtZSwgXCItbGVhdmVcIiksXG4gICAgICAgIGxlYXZlVG9DbGFzczogXCJcIi5jb25jYXQobmFtZSwgXCItbGVhdmUtdG9cIiksXG4gICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M6IFwiXCIuY29uY2F0KG5hbWUsIFwiLWxlYXZlLWFjdGl2ZVwiKVxuICAgIH07XG59KTtcbnZhciBoYXNUcmFuc2l0aW9uID0gaW5Ccm93c2VyICYmICFpc0lFOTtcbnZhciBUUkFOU0lUSU9OID0gJ3RyYW5zaXRpb24nO1xudmFyIEFOSU1BVElPTiA9ICdhbmltYXRpb24nO1xuLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eS9ldmVudCBzbmlmZmluZ1xudmFyIHRyYW5zaXRpb25Qcm9wID0gJ3RyYW5zaXRpb24nO1xudmFyIHRyYW5zaXRpb25FbmRFdmVudCA9ICd0cmFuc2l0aW9uZW5kJztcbnZhciBhbmltYXRpb25Qcm9wID0gJ2FuaW1hdGlvbic7XG52YXIgYW5pbWF0aW9uRW5kRXZlbnQgPSAnYW5pbWF0aW9uZW5kJztcbmlmIChoYXNUcmFuc2l0aW9uKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHdpbmRvdy5vbnRyYW5zaXRpb25lbmQgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgICB3aW5kb3cub253ZWJraXR0cmFuc2l0aW9uZW5kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHJhbnNpdGlvblByb3AgPSAnV2Via2l0VHJhbnNpdGlvbic7XG4gICAgICAgIHRyYW5zaXRpb25FbmRFdmVudCA9ICd3ZWJraXRUcmFuc2l0aW9uRW5kJztcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5vbmFuaW1hdGlvbmVuZCA9PT0gdW5kZWZpbmVkICYmXG4gICAgICAgIHdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGFuaW1hdGlvblByb3AgPSAnV2Via2l0QW5pbWF0aW9uJztcbiAgICAgICAgYW5pbWF0aW9uRW5kRXZlbnQgPSAnd2Via2l0QW5pbWF0aW9uRW5kJztcbiAgICB9XG59XG4vLyBiaW5kaW5nIHRvIHdpbmRvdyBpcyBuZWNlc3NhcnkgdG8gbWFrZSBob3QgcmVsb2FkIHdvcmsgaW4gSUUgaW4gc3RyaWN0IG1vZGVcbnZhciByYWYgPSBpbkJyb3dzZXJcbiAgICA/IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVcbiAgICAgICAgPyB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KVxuICAgICAgICA6IHNldFRpbWVvdXRcbiAgICA6IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uICgvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmbikgeyByZXR1cm4gZm4oKTsgfTtcbmZ1bmN0aW9uIG5leHRGcmFtZShmbikge1xuICAgIHJhZihmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgcmFmKGZuKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgY2xzKSB7XG4gICAgdmFyIHRyYW5zaXRpb25DbGFzc2VzID0gZWwuX3RyYW5zaXRpb25DbGFzc2VzIHx8IChlbC5fdHJhbnNpdGlvbkNsYXNzZXMgPSBbXSk7XG4gICAgaWYgKHRyYW5zaXRpb25DbGFzc2VzLmluZGV4T2YoY2xzKSA8IDApIHtcbiAgICAgICAgdHJhbnNpdGlvbkNsYXNzZXMucHVzaChjbHMpO1xuICAgICAgICBhZGRDbGFzcyhlbCwgY2xzKTtcbiAgICB9XG59XG5mdW5jdGlvbiByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGNscykge1xuICAgIGlmIChlbC5fdHJhbnNpdGlvbkNsYXNzZXMpIHtcbiAgICAgICAgcmVtb3ZlJDIoZWwuX3RyYW5zaXRpb25DbGFzc2VzLCBjbHMpO1xuICAgIH1cbiAgICByZW1vdmVDbGFzcyhlbCwgY2xzKTtcbn1cbmZ1bmN0aW9uIHdoZW5UcmFuc2l0aW9uRW5kcyhlbCwgZXhwZWN0ZWRUeXBlLCBjYikge1xuICAgIHZhciBfYSA9IGdldFRyYW5zaXRpb25JbmZvKGVsLCBleHBlY3RlZFR5cGUpLCB0eXBlID0gX2EudHlwZSwgdGltZW91dCA9IF9hLnRpbWVvdXQsIHByb3BDb3VudCA9IF9hLnByb3BDb3VudDtcbiAgICBpZiAoIXR5cGUpXG4gICAgICAgIHJldHVybiBjYigpO1xuICAgIHZhciBldmVudCA9IHR5cGUgPT09IFRSQU5TSVRJT04gPyB0cmFuc2l0aW9uRW5kRXZlbnQgOiBhbmltYXRpb25FbmRFdmVudDtcbiAgICB2YXIgZW5kZWQgPSAwO1xuICAgIHZhciBlbmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIG9uRW5kKTtcbiAgICAgICAgY2IoKTtcbiAgICB9O1xuICAgIHZhciBvbkVuZCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGlmIChlLnRhcmdldCA9PT0gZWwpIHtcbiAgICAgICAgICAgIGlmICgrK2VuZGVkID49IHByb3BDb3VudCkge1xuICAgICAgICAgICAgICAgIGVuZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGVuZGVkIDwgcHJvcENvdW50KSB7XG4gICAgICAgICAgICBlbmQoKTtcbiAgICAgICAgfVxuICAgIH0sIHRpbWVvdXQgKyAxKTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBvbkVuZCk7XG59XG52YXIgdHJhbnNmb3JtUkUgPSAvXFxiKHRyYW5zZm9ybXxhbGwpKCx8JCkvO1xuZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbkluZm8oZWwsIGV4cGVjdGVkVHlwZSkge1xuICAgIHZhciBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCk7XG4gICAgLy8gSlNET00gbWF5IHJldHVybiB1bmRlZmluZWQgZm9yIHRyYW5zaXRpb24gcHJvcGVydGllc1xuICAgIHZhciB0cmFuc2l0aW9uRGVsYXlzID0gKHN0eWxlc1t0cmFuc2l0aW9uUHJvcCArICdEZWxheSddIHx8ICcnKS5zcGxpdCgnLCAnKTtcbiAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9ucyA9IChzdHlsZXNbdHJhbnNpdGlvblByb3AgKyAnRHVyYXRpb24nXSB8fCAnJykuc3BsaXQoJywgJyk7XG4gICAgdmFyIHRyYW5zaXRpb25UaW1lb3V0ID0gZ2V0VGltZW91dCh0cmFuc2l0aW9uRGVsYXlzLCB0cmFuc2l0aW9uRHVyYXRpb25zKTtcbiAgICB2YXIgYW5pbWF0aW9uRGVsYXlzID0gKHN0eWxlc1thbmltYXRpb25Qcm9wICsgJ0RlbGF5J10gfHwgJycpLnNwbGl0KCcsICcpO1xuICAgIHZhciBhbmltYXRpb25EdXJhdGlvbnMgPSAoc3R5bGVzW2FuaW1hdGlvblByb3AgKyAnRHVyYXRpb24nXSB8fCAnJykuc3BsaXQoJywgJyk7XG4gICAgdmFyIGFuaW1hdGlvblRpbWVvdXQgPSBnZXRUaW1lb3V0KGFuaW1hdGlvbkRlbGF5cywgYW5pbWF0aW9uRHVyYXRpb25zKTtcbiAgICB2YXIgdHlwZTtcbiAgICB2YXIgdGltZW91dCA9IDA7XG4gICAgdmFyIHByb3BDb3VudCA9IDA7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGV4cGVjdGVkVHlwZSA9PT0gVFJBTlNJVElPTikge1xuICAgICAgICBpZiAodHJhbnNpdGlvblRpbWVvdXQgPiAwKSB7XG4gICAgICAgICAgICB0eXBlID0gVFJBTlNJVElPTjtcbiAgICAgICAgICAgIHRpbWVvdXQgPSB0cmFuc2l0aW9uVGltZW91dDtcbiAgICAgICAgICAgIHByb3BDb3VudCA9IHRyYW5zaXRpb25EdXJhdGlvbnMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gQU5JTUFUSU9OKSB7XG4gICAgICAgIGlmIChhbmltYXRpb25UaW1lb3V0ID4gMCkge1xuICAgICAgICAgICAgdHlwZSA9IEFOSU1BVElPTjtcbiAgICAgICAgICAgIHRpbWVvdXQgPSBhbmltYXRpb25UaW1lb3V0O1xuICAgICAgICAgICAgcHJvcENvdW50ID0gYW5pbWF0aW9uRHVyYXRpb25zLmxlbmd0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGltZW91dCA9IE1hdGgubWF4KHRyYW5zaXRpb25UaW1lb3V0LCBhbmltYXRpb25UaW1lb3V0KTtcbiAgICAgICAgdHlwZSA9XG4gICAgICAgICAgICB0aW1lb3V0ID4gMFxuICAgICAgICAgICAgICAgID8gdHJhbnNpdGlvblRpbWVvdXQgPiBhbmltYXRpb25UaW1lb3V0XG4gICAgICAgICAgICAgICAgICAgID8gVFJBTlNJVElPTlxuICAgICAgICAgICAgICAgICAgICA6IEFOSU1BVElPTlxuICAgICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgcHJvcENvdW50ID0gdHlwZVxuICAgICAgICAgICAgPyB0eXBlID09PSBUUkFOU0lUSU9OXG4gICAgICAgICAgICAgICAgPyB0cmFuc2l0aW9uRHVyYXRpb25zLmxlbmd0aFxuICAgICAgICAgICAgICAgIDogYW5pbWF0aW9uRHVyYXRpb25zLmxlbmd0aFxuICAgICAgICAgICAgOiAwO1xuICAgIH1cbiAgICB2YXIgaGFzVHJhbnNmb3JtID0gdHlwZSA9PT0gVFJBTlNJVElPTiAmJiB0cmFuc2Zvcm1SRS50ZXN0KHN0eWxlc1t0cmFuc2l0aW9uUHJvcCArICdQcm9wZXJ0eSddKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiB0eXBlLFxuICAgICAgICB0aW1lb3V0OiB0aW1lb3V0LFxuICAgICAgICBwcm9wQ291bnQ6IHByb3BDb3VudCxcbiAgICAgICAgaGFzVHJhbnNmb3JtOiBoYXNUcmFuc2Zvcm1cbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0VGltZW91dChkZWxheXMsIGR1cmF0aW9ucykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgd2hpbGUgKGRlbGF5cy5sZW5ndGggPCBkdXJhdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIGRlbGF5cyA9IGRlbGF5cy5jb25jYXQoZGVsYXlzKTtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWF4LmFwcGx5KG51bGwsIGR1cmF0aW9ucy5tYXAoZnVuY3Rpb24gKGQsIGkpIHtcbiAgICAgICAgcmV0dXJuIHRvTXMoZCkgKyB0b01zKGRlbGF5c1tpXSk7XG4gICAgfSkpO1xufVxuLy8gT2xkIHZlcnNpb25zIG9mIENocm9taXVtIChiZWxvdyA2MS4wLjMxNjMuMTAwKSBmb3JtYXRzIGZsb2F0aW5nIHBvaW50ZXIgbnVtYmVyc1xuLy8gaW4gYSBsb2NhbGUtZGVwZW5kZW50IHdheSwgdXNpbmcgYSBjb21tYSBpbnN0ZWFkIG9mIGEgZG90LlxuLy8gSWYgY29tbWEgaXMgbm90IHJlcGxhY2VkIHdpdGggYSBkb3QsIHRoZSBpbnB1dCB3aWxsIGJlIHJvdW5kZWQgZG93biAoaS5lLiBhY3Rpbmdcbi8vIGFzIGEgZmxvb3IgZnVuY3Rpb24pIGNhdXNpbmcgdW5leHBlY3RlZCBiZWhhdmlvcnNcbmZ1bmN0aW9uIHRvTXMocykge1xuICAgIHJldHVybiBOdW1iZXIocy5zbGljZSgwLCAtMSkucmVwbGFjZSgnLCcsICcuJykpICogMTAwMDtcbn1cblxuZnVuY3Rpb24gZW50ZXIodm5vZGUsIHRvZ2dsZURpc3BsYXkpIHtcbiAgICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gICAgLy8gY2FsbCBsZWF2ZSBjYWxsYmFjayBub3dcbiAgICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2IpKSB7XG4gICAgICAgIGVsLl9sZWF2ZUNiLmNhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgIGVsLl9sZWF2ZUNiKCk7XG4gICAgfVxuICAgIHZhciBkYXRhID0gcmVzb2x2ZVRyYW5zaXRpb24odm5vZGUuZGF0YS50cmFuc2l0aW9uKTtcbiAgICBpZiAoaXNVbmRlZihkYXRhKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0RlZihlbC5fZW50ZXJDYikgfHwgZWwubm9kZVR5cGUgIT09IDEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgY3NzID0gZGF0YS5jc3MsIHR5cGUgPSBkYXRhLnR5cGUsIGVudGVyQ2xhc3MgPSBkYXRhLmVudGVyQ2xhc3MsIGVudGVyVG9DbGFzcyA9IGRhdGEuZW50ZXJUb0NsYXNzLCBlbnRlckFjdGl2ZUNsYXNzID0gZGF0YS5lbnRlckFjdGl2ZUNsYXNzLCBhcHBlYXJDbGFzcyA9IGRhdGEuYXBwZWFyQ2xhc3MsIGFwcGVhclRvQ2xhc3MgPSBkYXRhLmFwcGVhclRvQ2xhc3MsIGFwcGVhckFjdGl2ZUNsYXNzID0gZGF0YS5hcHBlYXJBY3RpdmVDbGFzcywgYmVmb3JlRW50ZXIgPSBkYXRhLmJlZm9yZUVudGVyLCBlbnRlciA9IGRhdGEuZW50ZXIsIGFmdGVyRW50ZXIgPSBkYXRhLmFmdGVyRW50ZXIsIGVudGVyQ2FuY2VsbGVkID0gZGF0YS5lbnRlckNhbmNlbGxlZCwgYmVmb3JlQXBwZWFyID0gZGF0YS5iZWZvcmVBcHBlYXIsIGFwcGVhciA9IGRhdGEuYXBwZWFyLCBhZnRlckFwcGVhciA9IGRhdGEuYWZ0ZXJBcHBlYXIsIGFwcGVhckNhbmNlbGxlZCA9IGRhdGEuYXBwZWFyQ2FuY2VsbGVkLCBkdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XG4gICAgLy8gYWN0aXZlSW5zdGFuY2Ugd2lsbCBhbHdheXMgYmUgdGhlIDx0cmFuc2l0aW9uPiBjb21wb25lbnQgbWFuYWdpbmcgdGhpc1xuICAgIC8vIHRyYW5zaXRpb24uIE9uZSBlZGdlIGNhc2UgdG8gY2hlY2sgaXMgd2hlbiB0aGUgPHRyYW5zaXRpb24+IGlzIHBsYWNlZFxuICAgIC8vIGFzIHRoZSByb290IG5vZGUgb2YgYSBjaGlsZCBjb21wb25lbnQuIEluIHRoYXQgY2FzZSB3ZSBuZWVkIHRvIGNoZWNrXG4gICAgLy8gPHRyYW5zaXRpb24+J3MgcGFyZW50IGZvciBhcHBlYXIgY2hlY2suXG4gICAgdmFyIGNvbnRleHQgPSBhY3RpdmVJbnN0YW5jZTtcbiAgICB2YXIgdHJhbnNpdGlvbk5vZGUgPSBhY3RpdmVJbnN0YW5jZS4kdm5vZGU7XG4gICAgd2hpbGUgKHRyYW5zaXRpb25Ob2RlICYmIHRyYW5zaXRpb25Ob2RlLnBhcmVudCkge1xuICAgICAgICBjb250ZXh0ID0gdHJhbnNpdGlvbk5vZGUuY29udGV4dDtcbiAgICAgICAgdHJhbnNpdGlvbk5vZGUgPSB0cmFuc2l0aW9uTm9kZS5wYXJlbnQ7XG4gICAgfVxuICAgIHZhciBpc0FwcGVhciA9ICFjb250ZXh0Ll9pc01vdW50ZWQgfHwgIXZub2RlLmlzUm9vdEluc2VydDtcbiAgICBpZiAoaXNBcHBlYXIgJiYgIWFwcGVhciAmJiBhcHBlYXIgIT09ICcnKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHN0YXJ0Q2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJDbGFzcyA/IGFwcGVhckNsYXNzIDogZW50ZXJDbGFzcztcbiAgICB2YXIgYWN0aXZlQ2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJBY3RpdmVDbGFzcyA/IGFwcGVhckFjdGl2ZUNsYXNzIDogZW50ZXJBY3RpdmVDbGFzcztcbiAgICB2YXIgdG9DbGFzcyA9IGlzQXBwZWFyICYmIGFwcGVhclRvQ2xhc3MgPyBhcHBlYXJUb0NsYXNzIDogZW50ZXJUb0NsYXNzO1xuICAgIHZhciBiZWZvcmVFbnRlckhvb2sgPSBpc0FwcGVhciA/IGJlZm9yZUFwcGVhciB8fCBiZWZvcmVFbnRlciA6IGJlZm9yZUVudGVyO1xuICAgIHZhciBlbnRlckhvb2sgPSBpc0FwcGVhciA/IChpc0Z1bmN0aW9uKGFwcGVhcikgPyBhcHBlYXIgOiBlbnRlcikgOiBlbnRlcjtcbiAgICB2YXIgYWZ0ZXJFbnRlckhvb2sgPSBpc0FwcGVhciA/IGFmdGVyQXBwZWFyIHx8IGFmdGVyRW50ZXIgOiBhZnRlckVudGVyO1xuICAgIHZhciBlbnRlckNhbmNlbGxlZEhvb2sgPSBpc0FwcGVhclxuICAgICAgICA/IGFwcGVhckNhbmNlbGxlZCB8fCBlbnRlckNhbmNlbGxlZFxuICAgICAgICA6IGVudGVyQ2FuY2VsbGVkO1xuICAgIHZhciBleHBsaWNpdEVudGVyRHVyYXRpb24gPSB0b051bWJlcihpc09iamVjdChkdXJhdGlvbikgPyBkdXJhdGlvbi5lbnRlciA6IGR1cmF0aW9uKTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBleHBsaWNpdEVudGVyRHVyYXRpb24gIT0gbnVsbCkge1xuICAgICAgICBjaGVja0R1cmF0aW9uKGV4cGxpY2l0RW50ZXJEdXJhdGlvbiwgJ2VudGVyJywgdm5vZGUpO1xuICAgIH1cbiAgICB2YXIgZXhwZWN0c0NTUyA9IGNzcyAhPT0gZmFsc2UgJiYgIWlzSUU5O1xuICAgIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChlbnRlckhvb2spO1xuICAgIHZhciBjYiA9IChlbC5fZW50ZXJDYiA9IG9uY2UoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCB0b0NsYXNzKTtcbiAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgYWN0aXZlQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW50ZXJDYW5jZWxsZWRIb29rICYmIGVudGVyQ2FuY2VsbGVkSG9vayhlbCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBhZnRlckVudGVySG9vayAmJiBhZnRlckVudGVySG9vayhlbCk7XG4gICAgICAgIH1cbiAgICAgICAgZWwuX2VudGVyQ2IgPSBudWxsO1xuICAgIH0pKTtcbiAgICBpZiAoIXZub2RlLmRhdGEuc2hvdykge1xuICAgICAgICAvLyByZW1vdmUgcGVuZGluZyBsZWF2ZSBlbGVtZW50IG9uIGVudGVyIGJ5IGluamVjdGluZyBhbiBpbnNlcnQgaG9va1xuICAgICAgICBtZXJnZVZOb2RlSG9vayh2bm9kZSwgJ2luc2VydCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBwYXJlbnQgPSBlbC5wYXJlbnROb2RlO1xuICAgICAgICAgICAgdmFyIHBlbmRpbmdOb2RlID0gcGFyZW50ICYmIHBhcmVudC5fcGVuZGluZyAmJiBwYXJlbnQuX3BlbmRpbmdbdm5vZGUua2V5XTtcbiAgICAgICAgICAgIGlmIChwZW5kaW5nTm9kZSAmJlxuICAgICAgICAgICAgICAgIHBlbmRpbmdOb2RlLnRhZyA9PT0gdm5vZGUudGFnICYmXG4gICAgICAgICAgICAgICAgcGVuZGluZ05vZGUuZWxtLl9sZWF2ZUNiKSB7XG4gICAgICAgICAgICAgICAgcGVuZGluZ05vZGUuZWxtLl9sZWF2ZUNiKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbnRlckhvb2sgJiYgZW50ZXJIb29rKGVsLCBjYik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBzdGFydCBlbnRlciB0cmFuc2l0aW9uXG4gICAgYmVmb3JlRW50ZXJIb29rICYmIGJlZm9yZUVudGVySG9vayhlbCk7XG4gICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBzdGFydENsYXNzKTtcbiAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBhY3RpdmVDbGFzcyk7XG4gICAgICAgIG5leHRGcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgaWYgKCFjYi5jYW5jZWxsZWQpIHtcbiAgICAgICAgICAgICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIHRvQ2xhc3MpO1xuICAgICAgICAgICAgICAgIGlmICghdXNlcldhbnRzQ29udHJvbCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZER1cmF0aW9uKGV4cGxpY2l0RW50ZXJEdXJhdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoY2IsIGV4cGxpY2l0RW50ZXJEdXJhdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGVuVHJhbnNpdGlvbkVuZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh2bm9kZS5kYXRhLnNob3cpIHtcbiAgICAgICAgdG9nZ2xlRGlzcGxheSAmJiB0b2dnbGVEaXNwbGF5KCk7XG4gICAgICAgIGVudGVySG9vayAmJiBlbnRlckhvb2soZWwsIGNiKTtcbiAgICB9XG4gICAgaWYgKCFleHBlY3RzQ1NTICYmICF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgIGNiKCk7XG4gICAgfVxufVxuZnVuY3Rpb24gbGVhdmUodm5vZGUsIHJtKSB7XG4gICAgdmFyIGVsID0gdm5vZGUuZWxtO1xuICAgIC8vIGNhbGwgZW50ZXIgY2FsbGJhY2sgbm93XG4gICAgaWYgKGlzRGVmKGVsLl9lbnRlckNiKSkge1xuICAgICAgICBlbC5fZW50ZXJDYi5jYW5jZWxsZWQgPSB0cnVlO1xuICAgICAgICBlbC5fZW50ZXJDYigpO1xuICAgIH1cbiAgICB2YXIgZGF0YSA9IHJlc29sdmVUcmFuc2l0aW9uKHZub2RlLmRhdGEudHJhbnNpdGlvbik7XG4gICAgaWYgKGlzVW5kZWYoZGF0YSkgfHwgZWwubm9kZVR5cGUgIT09IDEpIHtcbiAgICAgICAgcmV0dXJuIHJtKCk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0RlZihlbC5fbGVhdmVDYikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgY3NzID0gZGF0YS5jc3MsIHR5cGUgPSBkYXRhLnR5cGUsIGxlYXZlQ2xhc3MgPSBkYXRhLmxlYXZlQ2xhc3MsIGxlYXZlVG9DbGFzcyA9IGRhdGEubGVhdmVUb0NsYXNzLCBsZWF2ZUFjdGl2ZUNsYXNzID0gZGF0YS5sZWF2ZUFjdGl2ZUNsYXNzLCBiZWZvcmVMZWF2ZSA9IGRhdGEuYmVmb3JlTGVhdmUsIGxlYXZlID0gZGF0YS5sZWF2ZSwgYWZ0ZXJMZWF2ZSA9IGRhdGEuYWZ0ZXJMZWF2ZSwgbGVhdmVDYW5jZWxsZWQgPSBkYXRhLmxlYXZlQ2FuY2VsbGVkLCBkZWxheUxlYXZlID0gZGF0YS5kZWxheUxlYXZlLCBkdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XG4gICAgdmFyIGV4cGVjdHNDU1MgPSBjc3MgIT09IGZhbHNlICYmICFpc0lFOTtcbiAgICB2YXIgdXNlcldhbnRzQ29udHJvbCA9IGdldEhvb2tBcmd1bWVudHNMZW5ndGgobGVhdmUpO1xuICAgIHZhciBleHBsaWNpdExlYXZlRHVyYXRpb24gPSB0b051bWJlcihpc09iamVjdChkdXJhdGlvbikgPyBkdXJhdGlvbi5sZWF2ZSA6IGR1cmF0aW9uKTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc0RlZihleHBsaWNpdExlYXZlRHVyYXRpb24pKSB7XG4gICAgICAgIGNoZWNrRHVyYXRpb24oZXhwbGljaXRMZWF2ZUR1cmF0aW9uLCAnbGVhdmUnLCB2bm9kZSk7XG4gICAgfVxuICAgIHZhciBjYiA9IChlbC5fbGVhdmVDYiA9IG9uY2UoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoZWwucGFyZW50Tm9kZSAmJiBlbC5wYXJlbnROb2RlLl9wZW5kaW5nKSB7XG4gICAgICAgICAgICBlbC5wYXJlbnROb2RlLl9wZW5kaW5nW3Zub2RlLmtleV0gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChleHBlY3RzQ1NTKSB7XG4gICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlVG9DbGFzcyk7XG4gICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQWN0aXZlQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xhc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGVhdmVDYW5jZWxsZWQgJiYgbGVhdmVDYW5jZWxsZWQoZWwpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcm0oKTtcbiAgICAgICAgICAgIGFmdGVyTGVhdmUgJiYgYWZ0ZXJMZWF2ZShlbCk7XG4gICAgICAgIH1cbiAgICAgICAgZWwuX2xlYXZlQ2IgPSBudWxsO1xuICAgIH0pKTtcbiAgICBpZiAoZGVsYXlMZWF2ZSkge1xuICAgICAgICBkZWxheUxlYXZlKHBlcmZvcm1MZWF2ZSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBwZXJmb3JtTGVhdmUoKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGVyZm9ybUxlYXZlKCkge1xuICAgICAgICAvLyB0aGUgZGVsYXllZCBsZWF2ZSBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4gY2FuY2VsbGVkXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJlY29yZCBsZWF2aW5nIGVsZW1lbnRcbiAgICAgICAgaWYgKCF2bm9kZS5kYXRhLnNob3cgJiYgZWwucGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgKGVsLnBhcmVudE5vZGUuX3BlbmRpbmcgfHwgKGVsLnBhcmVudE5vZGUuX3BlbmRpbmcgPSB7fSkpW3Zub2RlLmtleV0gPVxuICAgICAgICAgICAgICAgIHZub2RlO1xuICAgICAgICB9XG4gICAgICAgIGJlZm9yZUxlYXZlICYmIGJlZm9yZUxlYXZlKGVsKTtcbiAgICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVDbGFzcyk7XG4gICAgICAgICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQWN0aXZlQ2xhc3MpO1xuICAgICAgICAgICAgbmV4dEZyYW1lKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xhc3MpO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICBpZiAoIWNiLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgICAgICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlVG9DbGFzcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdXNlcldhbnRzQ29udHJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzVmFsaWREdXJhdGlvbihleHBsaWNpdExlYXZlRHVyYXRpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChjYiwgZXhwbGljaXRMZWF2ZUR1cmF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW5UcmFuc2l0aW9uRW5kcyhlbCwgdHlwZSwgY2IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgbGVhdmUgJiYgbGVhdmUoZWwsIGNiKTtcbiAgICAgICAgaWYgKCFleHBlY3RzQ1NTICYmICF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgICAgICBjYigpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gb25seSB1c2VkIGluIGRldiBtb2RlXG5mdW5jdGlvbiBjaGVja0R1cmF0aW9uKHZhbCwgbmFtZSwgdm5vZGUpIHtcbiAgICBpZiAodHlwZW9mIHZhbCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgd2FybiQyKFwiPHRyYW5zaXRpb24+IGV4cGxpY2l0IFwiLmNvbmNhdChuYW1lLCBcIiBkdXJhdGlvbiBpcyBub3QgYSB2YWxpZCBudW1iZXIgLSBcIikgK1xuICAgICAgICAgICAgXCJnb3QgXCIuY29uY2F0KEpTT04uc3RyaW5naWZ5KHZhbCksIFwiLlwiKSwgdm5vZGUuY29udGV4dCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzTmFOKHZhbCkpIHtcbiAgICAgICAgd2FybiQyKFwiPHRyYW5zaXRpb24+IGV4cGxpY2l0IFwiLmNvbmNhdChuYW1lLCBcIiBkdXJhdGlvbiBpcyBOYU4gLSBcIikgK1xuICAgICAgICAgICAgJ3RoZSBkdXJhdGlvbiBleHByZXNzaW9uIG1pZ2h0IGJlIGluY29ycmVjdC4nLCB2bm9kZS5jb250ZXh0KTtcbiAgICB9XG59XG5mdW5jdGlvbiBpc1ZhbGlkRHVyYXRpb24odmFsKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdudW1iZXInICYmICFpc05hTih2YWwpO1xufVxuLyoqXG4gKiBOb3JtYWxpemUgYSB0cmFuc2l0aW9uIGhvb2sncyBhcmd1bWVudCBsZW5ndGguIFRoZSBob29rIG1heSBiZTpcbiAqIC0gYSBtZXJnZWQgaG9vayAoaW52b2tlcikgd2l0aCB0aGUgb3JpZ2luYWwgaW4gLmZuc1xuICogLSBhIHdyYXBwZWQgY29tcG9uZW50IG1ldGhvZCAoY2hlY2sgLl9sZW5ndGgpXG4gKiAtIGEgcGxhaW4gZnVuY3Rpb24gKC5sZW5ndGgpXG4gKi9cbmZ1bmN0aW9uIGdldEhvb2tBcmd1bWVudHNMZW5ndGgoZm4pIHtcbiAgICBpZiAoaXNVbmRlZihmbikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdmFyIGludm9rZXJGbnMgPSBmbi5mbnM7XG4gICAgaWYgKGlzRGVmKGludm9rZXJGbnMpKSB7XG4gICAgICAgIC8vIGludm9rZXJcbiAgICAgICAgcmV0dXJuIGdldEhvb2tBcmd1bWVudHNMZW5ndGgoQXJyYXkuaXNBcnJheShpbnZva2VyRm5zKSA/IGludm9rZXJGbnNbMF0gOiBpbnZva2VyRm5zKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgcmV0dXJuIChmbi5fbGVuZ3RoIHx8IGZuLmxlbmd0aCkgPiAxO1xuICAgIH1cbn1cbmZ1bmN0aW9uIF9lbnRlcihfLCB2bm9kZSkge1xuICAgIGlmICh2bm9kZS5kYXRhLnNob3cgIT09IHRydWUpIHtcbiAgICAgICAgZW50ZXIodm5vZGUpO1xuICAgIH1cbn1cbnZhciB0cmFuc2l0aW9uID0gaW5Ccm93c2VyXG4gICAgPyB7XG4gICAgICAgIGNyZWF0ZTogX2VudGVyLFxuICAgICAgICBhY3RpdmF0ZTogX2VudGVyLFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uICh2bm9kZSwgcm0pIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICBpZiAodm5vZGUuZGF0YS5zaG93ICE9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIGxlYXZlKHZub2RlLCBybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBybSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIDoge307XG5cbnZhciBwbGF0Zm9ybU1vZHVsZXMgPSBbYXR0cnMsIGtsYXNzJDEsIGV2ZW50cywgZG9tUHJvcHMsIHN0eWxlJDEsIHRyYW5zaXRpb25dO1xuXG4vLyB0aGUgZGlyZWN0aXZlIG1vZHVsZSBzaG91bGQgYmUgYXBwbGllZCBsYXN0LCBhZnRlciBhbGxcbi8vIGJ1aWx0LWluIG1vZHVsZXMgaGF2ZSBiZWVuIGFwcGxpZWQuXG52YXIgbW9kdWxlcyQxID0gcGxhdGZvcm1Nb2R1bGVzLmNvbmNhdChiYXNlTW9kdWxlcyk7XG52YXIgcGF0Y2ggPSBjcmVhdGVQYXRjaEZ1bmN0aW9uKHsgbm9kZU9wczogbm9kZU9wcywgbW9kdWxlczogbW9kdWxlcyQxIH0pO1xuXG4vKipcbiAqIE5vdCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBsaWtlIGF0dGFjaGluZ1xuICogcHJvcGVydGllcyB0byBFbGVtZW50cy5cbiAqL1xuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoaXNJRTkpIHtcbiAgICAvLyBodHRwOi8vd3d3Lm1hdHRzNDExLmNvbS9wb3N0L2ludGVybmV0LWV4cGxvcmVyLTktb25pbnB1dC9cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzZWxlY3Rpb25jaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgaWYgKGVsICYmIGVsLnZtb2RlbCkge1xuICAgICAgICAgICAgdHJpZ2dlcihlbCwgJ2lucHV0Jyk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbnZhciBkaXJlY3RpdmUgPSB7XG4gICAgaW5zZXJ0ZWQ6IGZ1bmN0aW9uIChlbCwgYmluZGluZywgdm5vZGUsIG9sZFZub2RlKSB7XG4gICAgICAgIGlmICh2bm9kZS50YWcgPT09ICdzZWxlY3QnKSB7XG4gICAgICAgICAgICAvLyAjNjkwM1xuICAgICAgICAgICAgaWYgKG9sZFZub2RlLmVsbSAmJiAhb2xkVm5vZGUuZWxtLl92T3B0aW9ucykge1xuICAgICAgICAgICAgICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLCAncG9zdHBhdGNoJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBkaXJlY3RpdmUuY29tcG9uZW50VXBkYXRlZChlbCwgYmluZGluZywgdm5vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWwuX3ZPcHRpb25zID0gW10ubWFwLmNhbGwoZWwub3B0aW9ucywgZ2V0VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZub2RlLnRhZyA9PT0gJ3RleHRhcmVhJyB8fCBpc1RleHRJbnB1dFR5cGUoZWwudHlwZSkpIHtcbiAgICAgICAgICAgIGVsLl92TW9kaWZpZXJzID0gYmluZGluZy5tb2RpZmllcnM7XG4gICAgICAgICAgICBpZiAoIWJpbmRpbmcubW9kaWZpZXJzLmxhenkpIHtcbiAgICAgICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbnN0YXJ0Jywgb25Db21wb3NpdGlvblN0YXJ0KTtcbiAgICAgICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbmVuZCcsIG9uQ29tcG9zaXRpb25FbmQpO1xuICAgICAgICAgICAgICAgIC8vIFNhZmFyaSA8IDEwLjIgJiBVSVdlYlZpZXcgZG9lc24ndCBmaXJlIGNvbXBvc2l0aW9uZW5kIHdoZW5cbiAgICAgICAgICAgICAgICAvLyBzd2l0Y2hpbmcgZm9jdXMgYmVmb3JlIGNvbmZpcm1pbmcgY29tcG9zaXRpb24gY2hvaWNlXG4gICAgICAgICAgICAgICAgLy8gdGhpcyBhbHNvIGZpeGVzIHRoZSBpc3N1ZSB3aGVyZSBzb21lIGJyb3dzZXJzIGUuZy4gaU9TIENocm9tZVxuICAgICAgICAgICAgICAgIC8vIGZpcmVzIFwiY2hhbmdlXCIgaW5zdGVhZCBvZiBcImlucHV0XCIgb24gYXV0b2NvbXBsZXRlLlxuICAgICAgICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uQ29tcG9zaXRpb25FbmQpO1xuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgICAgIGlmIChpc0lFOSkge1xuICAgICAgICAgICAgICAgICAgICBlbC52bW9kZWwgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcG9uZW50VXBkYXRlZDogZnVuY3Rpb24gKGVsLCBiaW5kaW5nLCB2bm9kZSkge1xuICAgICAgICBpZiAodm5vZGUudGFnID09PSAnc2VsZWN0Jykge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xuICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGUgb3B0aW9ucyByZW5kZXJlZCBieSB2LWZvciBoYXZlIGNoYW5nZWQsXG4gICAgICAgICAgICAvLyBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHZhbHVlIGlzIG91dC1vZi1zeW5jIHdpdGggdGhlIHJlbmRlcmVkIG9wdGlvbnMuXG4gICAgICAgICAgICAvLyBkZXRlY3Qgc3VjaCBjYXNlcyBhbmQgZmlsdGVyIG91dCB2YWx1ZXMgdGhhdCBubyBsb25nZXIgaGFzIGEgbWF0Y2hpbmdcbiAgICAgICAgICAgIC8vIG9wdGlvbiBpbiB0aGUgRE9NLlxuICAgICAgICAgICAgdmFyIHByZXZPcHRpb25zXzEgPSBlbC5fdk9wdGlvbnM7XG4gICAgICAgICAgICB2YXIgY3VyT3B0aW9uc18xID0gKGVsLl92T3B0aW9ucyA9IFtdLm1hcC5jYWxsKGVsLm9wdGlvbnMsIGdldFZhbHVlKSk7XG4gICAgICAgICAgICBpZiAoY3VyT3B0aW9uc18xLnNvbWUoZnVuY3Rpb24gKG8sIGkpIHsgcmV0dXJuICFsb29zZUVxdWFsKG8sIHByZXZPcHRpb25zXzFbaV0pOyB9KSkge1xuICAgICAgICAgICAgICAgIC8vIHRyaWdnZXIgY2hhbmdlIGV2ZW50IGlmXG4gICAgICAgICAgICAgICAgLy8gbm8gbWF0Y2hpbmcgb3B0aW9uIGZvdW5kIGZvciBhdCBsZWFzdCBvbmUgdmFsdWVcbiAgICAgICAgICAgICAgICB2YXIgbmVlZFJlc2V0ID0gZWwubXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgICAgPyBiaW5kaW5nLnZhbHVlLnNvbWUoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIGhhc05vTWF0Y2hpbmdPcHRpb24odiwgY3VyT3B0aW9uc18xKTsgfSlcbiAgICAgICAgICAgICAgICAgICAgOiBiaW5kaW5nLnZhbHVlICE9PSBiaW5kaW5nLm9sZFZhbHVlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNOb01hdGNoaW5nT3B0aW9uKGJpbmRpbmcudmFsdWUsIGN1ck9wdGlvbnNfMSk7XG4gICAgICAgICAgICAgICAgaWYgKG5lZWRSZXNldCkge1xuICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyKGVsLCAnY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufTtcbmZ1bmN0aW9uIHNldFNlbGVjdGVkKGVsLCBiaW5kaW5nLCB2bSkge1xuICAgIGFjdHVhbGx5U2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZtKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXNJRSB8fCBpc0VkZ2UpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBhY3R1YWxseVNldFNlbGVjdGVkKGVsLCBiaW5kaW5nLCB2bSk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGFjdHVhbGx5U2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZtKSB7XG4gICAgdmFyIHZhbHVlID0gYmluZGluZy52YWx1ZTtcbiAgICB2YXIgaXNNdWx0aXBsZSA9IGVsLm11bHRpcGxlO1xuICAgIGlmIChpc011bHRpcGxlICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICB3YXJuJDIoXCI8c2VsZWN0IG11bHRpcGxlIHYtbW9kZWw9XFxcIlwiLmNvbmNhdChiaW5kaW5nLmV4cHJlc3Npb24sIFwiXFxcIj4gXCIpICtcbiAgICAgICAgICAgICAgICBcImV4cGVjdHMgYW4gQXJyYXkgdmFsdWUgZm9yIGl0cyBiaW5kaW5nLCBidXQgZ290IFwiLmNvbmNhdChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAuc2xpY2UoOCwgLTEpKSwgdm0pO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciBzZWxlY3RlZCwgb3B0aW9uO1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gZWwub3B0aW9ucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgb3B0aW9uID0gZWwub3B0aW9uc1tpXTtcbiAgICAgICAgaWYgKGlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkID0gbG9vc2VJbmRleE9mKHZhbHVlLCBnZXRWYWx1ZShvcHRpb24pKSA+IC0xO1xuICAgICAgICAgICAgaWYgKG9wdGlvbi5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBvcHRpb24uc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChsb29zZUVxdWFsKGdldFZhbHVlKG9wdGlvbiksIHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGlmIChlbC5zZWxlY3RlZEluZGV4ICE9PSBpKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnNlbGVjdGVkSW5kZXggPSBpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFpc011bHRpcGxlKSB7XG4gICAgICAgIGVsLnNlbGVjdGVkSW5kZXggPSAtMTtcbiAgICB9XG59XG5mdW5jdGlvbiBoYXNOb01hdGNoaW5nT3B0aW9uKHZhbHVlLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMuZXZlcnkoZnVuY3Rpb24gKG8pIHsgcmV0dXJuICFsb29zZUVxdWFsKG8sIHZhbHVlKTsgfSk7XG59XG5mdW5jdGlvbiBnZXRWYWx1ZShvcHRpb24pIHtcbiAgICByZXR1cm4gJ192YWx1ZScgaW4gb3B0aW9uID8gb3B0aW9uLl92YWx1ZSA6IG9wdGlvbi52YWx1ZTtcbn1cbmZ1bmN0aW9uIG9uQ29tcG9zaXRpb25TdGFydChlKSB7XG4gICAgZS50YXJnZXQuY29tcG9zaW5nID0gdHJ1ZTtcbn1cbmZ1bmN0aW9uIG9uQ29tcG9zaXRpb25FbmQoZSkge1xuICAgIC8vIHByZXZlbnQgdHJpZ2dlcmluZyBhbiBpbnB1dCBldmVudCBmb3Igbm8gcmVhc29uXG4gICAgaWYgKCFlLnRhcmdldC5jb21wb3NpbmcpXG4gICAgICAgIHJldHVybjtcbiAgICBlLnRhcmdldC5jb21wb3NpbmcgPSBmYWxzZTtcbiAgICB0cmlnZ2VyKGUudGFyZ2V0LCAnaW5wdXQnKTtcbn1cbmZ1bmN0aW9uIHRyaWdnZXIoZWwsIHR5cGUpIHtcbiAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7XG4gICAgZS5pbml0RXZlbnQodHlwZSwgdHJ1ZSwgdHJ1ZSk7XG4gICAgZWwuZGlzcGF0Y2hFdmVudChlKTtcbn1cblxuLy8gcmVjdXJzaXZlbHkgc2VhcmNoIGZvciBwb3NzaWJsZSB0cmFuc2l0aW9uIGRlZmluZWQgaW5zaWRlIHRoZSBjb21wb25lbnQgcm9vdFxuZnVuY3Rpb24gbG9jYXRlTm9kZSh2bm9kZSkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICByZXR1cm4gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgJiYgKCF2bm9kZS5kYXRhIHx8ICF2bm9kZS5kYXRhLnRyYW5zaXRpb24pXG4gICAgICAgID8gbG9jYXRlTm9kZSh2bm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUpXG4gICAgICAgIDogdm5vZGU7XG59XG52YXIgc2hvdyA9IHtcbiAgICBiaW5kOiBmdW5jdGlvbiAoZWwsIF9hLCB2bm9kZSkge1xuICAgICAgICB2YXIgdmFsdWUgPSBfYS52YWx1ZTtcbiAgICAgICAgdm5vZGUgPSBsb2NhdGVOb2RlKHZub2RlKTtcbiAgICAgICAgdmFyIHRyYW5zaXRpb24gPSB2bm9kZS5kYXRhICYmIHZub2RlLmRhdGEudHJhbnNpdGlvbjtcbiAgICAgICAgdmFyIG9yaWdpbmFsRGlzcGxheSA9IChlbC5fX3ZPcmlnaW5hbERpc3BsYXkgPVxuICAgICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnID8gJycgOiBlbC5zdHlsZS5kaXNwbGF5KTtcbiAgICAgICAgaWYgKHZhbHVlICYmIHRyYW5zaXRpb24pIHtcbiAgICAgICAgICAgIHZub2RlLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgICAgICAgICBlbnRlcih2bm9kZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBvcmlnaW5hbERpc3BsYXk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSB2YWx1ZSA/IG9yaWdpbmFsRGlzcGxheSA6ICdub25lJztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdXBkYXRlOiBmdW5jdGlvbiAoZWwsIF9hLCB2bm9kZSkge1xuICAgICAgICB2YXIgdmFsdWUgPSBfYS52YWx1ZSwgb2xkVmFsdWUgPSBfYS5vbGRWYWx1ZTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmICghdmFsdWUgPT09ICFvbGRWYWx1ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgdm5vZGUgPSBsb2NhdGVOb2RlKHZub2RlKTtcbiAgICAgICAgdmFyIHRyYW5zaXRpb24gPSB2bm9kZS5kYXRhICYmIHZub2RlLmRhdGEudHJhbnNpdGlvbjtcbiAgICAgICAgaWYgKHRyYW5zaXRpb24pIHtcbiAgICAgICAgICAgIHZub2RlLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBlbnRlcih2bm9kZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gZWwuX192T3JpZ2luYWxEaXNwbGF5O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbGVhdmUodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSB2YWx1ZSA/IGVsLl9fdk9yaWdpbmFsRGlzcGxheSA6ICdub25lJztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdW5iaW5kOiBmdW5jdGlvbiAoZWwsIGJpbmRpbmcsIHZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95KSB7XG4gICAgICAgIGlmICghaXNEZXN0cm95KSB7XG4gICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gZWwuX192T3JpZ2luYWxEaXNwbGF5O1xuICAgICAgICB9XG4gICAgfVxufTtcblxudmFyIHBsYXRmb3JtRGlyZWN0aXZlcyA9IHtcbiAgICBtb2RlbDogZGlyZWN0aXZlLFxuICAgIHNob3c6IHNob3dcbn07XG5cbi8vIFByb3ZpZGVzIHRyYW5zaXRpb24gc3VwcG9ydCBmb3IgYSBzaW5nbGUgZWxlbWVudC9jb21wb25lbnQuXG52YXIgdHJhbnNpdGlvblByb3BzID0ge1xuICAgIG5hbWU6IFN0cmluZyxcbiAgICBhcHBlYXI6IEJvb2xlYW4sXG4gICAgY3NzOiBCb29sZWFuLFxuICAgIG1vZGU6IFN0cmluZyxcbiAgICB0eXBlOiBTdHJpbmcsXG4gICAgZW50ZXJDbGFzczogU3RyaW5nLFxuICAgIGxlYXZlQ2xhc3M6IFN0cmluZyxcbiAgICBlbnRlclRvQ2xhc3M6IFN0cmluZyxcbiAgICBsZWF2ZVRvQ2xhc3M6IFN0cmluZyxcbiAgICBlbnRlckFjdGl2ZUNsYXNzOiBTdHJpbmcsXG4gICAgbGVhdmVBY3RpdmVDbGFzczogU3RyaW5nLFxuICAgIGFwcGVhckNsYXNzOiBTdHJpbmcsXG4gICAgYXBwZWFyQWN0aXZlQ2xhc3M6IFN0cmluZyxcbiAgICBhcHBlYXJUb0NsYXNzOiBTdHJpbmcsXG4gICAgZHVyYXRpb246IFtOdW1iZXIsIFN0cmluZywgT2JqZWN0XVxufTtcbi8vIGluIGNhc2UgdGhlIGNoaWxkIGlzIGFsc28gYW4gYWJzdHJhY3QgY29tcG9uZW50LCBlLmcuIDxrZWVwLWFsaXZlPlxuLy8gd2Ugd2FudCB0byByZWN1cnNpdmVseSByZXRyaWV2ZSB0aGUgcmVhbCBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWRcbmZ1bmN0aW9uIGdldFJlYWxDaGlsZCh2bm9kZSkge1xuICAgIHZhciBjb21wT3B0aW9ucyA9IHZub2RlICYmIHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gICAgaWYgKGNvbXBPcHRpb25zICYmIGNvbXBPcHRpb25zLkN0b3Iub3B0aW9ucy5hYnN0cmFjdCkge1xuICAgICAgICByZXR1cm4gZ2V0UmVhbENoaWxkKGdldEZpcnN0Q29tcG9uZW50Q2hpbGQoY29tcE9wdGlvbnMuY2hpbGRyZW4pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB2bm9kZTtcbiAgICB9XG59XG5mdW5jdGlvbiBleHRyYWN0VHJhbnNpdGlvbkRhdGEoY29tcCkge1xuICAgIHZhciBkYXRhID0ge307XG4gICAgdmFyIG9wdGlvbnMgPSBjb21wLiRvcHRpb25zO1xuICAgIC8vIHByb3BzXG4gICAgZm9yICh2YXIga2V5IGluIG9wdGlvbnMucHJvcHNEYXRhKSB7XG4gICAgICAgIGRhdGFba2V5XSA9IGNvbXBba2V5XTtcbiAgICB9XG4gICAgLy8gZXZlbnRzLlxuICAgIC8vIGV4dHJhY3QgbGlzdGVuZXJzIGFuZCBwYXNzIHRoZW0gZGlyZWN0bHkgdG8gdGhlIHRyYW5zaXRpb24gbWV0aG9kc1xuICAgIHZhciBsaXN0ZW5lcnMgPSBvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7XG4gICAgZm9yICh2YXIga2V5IGluIGxpc3RlbmVycykge1xuICAgICAgICBkYXRhW2NhbWVsaXplKGtleSldID0gbGlzdGVuZXJzW2tleV07XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuZnVuY3Rpb24gcGxhY2Vob2xkZXIoaCwgcmF3Q2hpbGQpIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgaWYgKC9cXGQta2VlcC1hbGl2ZSQvLnRlc3QocmF3Q2hpbGQudGFnKSkge1xuICAgICAgICByZXR1cm4gaCgna2VlcC1hbGl2ZScsIHtcbiAgICAgICAgICAgIHByb3BzOiByYXdDaGlsZC5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YVxuICAgICAgICB9KTtcbiAgICB9XG59XG5mdW5jdGlvbiBoYXNQYXJlbnRUcmFuc2l0aW9uKHZub2RlKSB7XG4gICAgd2hpbGUgKCh2bm9kZSA9IHZub2RlLnBhcmVudCkpIHtcbiAgICAgICAgaWYgKHZub2RlLmRhdGEudHJhbnNpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBpc1NhbWVDaGlsZChjaGlsZCwgb2xkQ2hpbGQpIHtcbiAgICByZXR1cm4gb2xkQ2hpbGQua2V5ID09PSBjaGlsZC5rZXkgJiYgb2xkQ2hpbGQudGFnID09PSBjaGlsZC50YWc7XG59XG52YXIgaXNOb3RUZXh0Tm9kZSA9IGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLnRhZyB8fCBpc0FzeW5jUGxhY2Vob2xkZXIoYyk7IH07XG52YXIgaXNWU2hvd0RpcmVjdGl2ZSA9IGZ1bmN0aW9uIChkKSB7IHJldHVybiBkLm5hbWUgPT09ICdzaG93JzsgfTtcbnZhciBUcmFuc2l0aW9uID0ge1xuICAgIG5hbWU6ICd0cmFuc2l0aW9uJyxcbiAgICBwcm9wczogdHJhbnNpdGlvblByb3BzLFxuICAgIGFic3RyYWN0OiB0cnVlLFxuICAgIHJlbmRlcjogZnVuY3Rpb24gKGgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdmFyIGNoaWxkcmVuID0gdGhpcy4kc2xvdHMuZGVmYXVsdDtcbiAgICAgICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIGZpbHRlciBvdXQgdGV4dCBub2RlcyAocG9zc2libGUgd2hpdGVzcGFjZXMpXG4gICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW4uZmlsdGVyKGlzTm90VGV4dE5vZGUpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKCFjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyB3YXJuIG11bHRpcGxlIGVsZW1lbnRzXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNoaWxkcmVuLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHdhcm4kMignPHRyYW5zaXRpb24+IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBzaW5nbGUgZWxlbWVudC4gVXNlICcgK1xuICAgICAgICAgICAgICAgICc8dHJhbnNpdGlvbi1ncm91cD4gZm9yIGxpc3RzLicsIHRoaXMuJHBhcmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG1vZGUgPSB0aGlzLm1vZGU7XG4gICAgICAgIC8vIHdhcm4gaW52YWxpZCBtb2RlXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG1vZGUgJiYgbW9kZSAhPT0gJ2luLW91dCcgJiYgbW9kZSAhPT0gJ291dC1pbicpIHtcbiAgICAgICAgICAgIHdhcm4kMignaW52YWxpZCA8dHJhbnNpdGlvbj4gbW9kZTogJyArIG1vZGUsIHRoaXMuJHBhcmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHJhd0NoaWxkID0gY2hpbGRyZW5bMF07XG4gICAgICAgIC8vIGlmIHRoaXMgaXMgYSBjb21wb25lbnQgcm9vdCBub2RlIGFuZCB0aGUgY29tcG9uZW50J3NcbiAgICAgICAgLy8gcGFyZW50IGNvbnRhaW5lciBub2RlIGFsc28gaGFzIHRyYW5zaXRpb24sIHNraXAuXG4gICAgICAgIGlmIChoYXNQYXJlbnRUcmFuc2l0aW9uKHRoaXMuJHZub2RlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJhd0NoaWxkO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFwcGx5IHRyYW5zaXRpb24gZGF0YSB0byBjaGlsZFxuICAgICAgICAvLyB1c2UgZ2V0UmVhbENoaWxkKCkgdG8gaWdub3JlIGFic3RyYWN0IGNvbXBvbmVudHMgZS5nLiBrZWVwLWFsaXZlXG4gICAgICAgIHZhciBjaGlsZCA9IGdldFJlYWxDaGlsZChyYXdDaGlsZCk7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoIWNoaWxkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmF3Q2hpbGQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2xlYXZpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcihoLCByYXdDaGlsZCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZW5zdXJlIGEga2V5IHRoYXQgaXMgdW5pcXVlIHRvIHRoZSB2bm9kZSB0eXBlIGFuZCB0byB0aGlzIHRyYW5zaXRpb25cbiAgICAgICAgLy8gY29tcG9uZW50IGluc3RhbmNlLiBUaGlzIGtleSB3aWxsIGJlIHVzZWQgdG8gcmVtb3ZlIHBlbmRpbmcgbGVhdmluZyBub2Rlc1xuICAgICAgICAvLyBkdXJpbmcgZW50ZXJpbmcuXG4gICAgICAgIHZhciBpZCA9IFwiX190cmFuc2l0aW9uLVwiLmNvbmNhdCh0aGlzLl91aWQsIFwiLVwiKTtcbiAgICAgICAgY2hpbGQua2V5ID1cbiAgICAgICAgICAgIGNoaWxkLmtleSA9PSBudWxsXG4gICAgICAgICAgICAgICAgPyBjaGlsZC5pc0NvbW1lbnRcbiAgICAgICAgICAgICAgICAgICAgPyBpZCArICdjb21tZW50J1xuICAgICAgICAgICAgICAgICAgICA6IGlkICsgY2hpbGQudGFnXG4gICAgICAgICAgICAgICAgOiBpc1ByaW1pdGl2ZShjaGlsZC5rZXkpXG4gICAgICAgICAgICAgICAgICAgID8gU3RyaW5nKGNoaWxkLmtleSkuaW5kZXhPZihpZCkgPT09IDBcbiAgICAgICAgICAgICAgICAgICAgICAgID8gY2hpbGQua2V5XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlkICsgY2hpbGQua2V5XG4gICAgICAgICAgICAgICAgICAgIDogY2hpbGQua2V5O1xuICAgICAgICB2YXIgZGF0YSA9ICgoY2hpbGQuZGF0YSB8fCAoY2hpbGQuZGF0YSA9IHt9KSkudHJhbnNpdGlvbiA9XG4gICAgICAgICAgICBleHRyYWN0VHJhbnNpdGlvbkRhdGEodGhpcykpO1xuICAgICAgICB2YXIgb2xkUmF3Q2hpbGQgPSB0aGlzLl92bm9kZTtcbiAgICAgICAgdmFyIG9sZENoaWxkID0gZ2V0UmVhbENoaWxkKG9sZFJhd0NoaWxkKTtcbiAgICAgICAgLy8gbWFyayB2LXNob3dcbiAgICAgICAgLy8gc28gdGhhdCB0aGUgdHJhbnNpdGlvbiBtb2R1bGUgY2FuIGhhbmQgb3ZlciB0aGUgY29udHJvbCB0byB0aGUgZGlyZWN0aXZlXG4gICAgICAgIGlmIChjaGlsZC5kYXRhLmRpcmVjdGl2ZXMgJiYgY2hpbGQuZGF0YS5kaXJlY3RpdmVzLnNvbWUoaXNWU2hvd0RpcmVjdGl2ZSkpIHtcbiAgICAgICAgICAgIGNoaWxkLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9sZENoaWxkICYmXG4gICAgICAgICAgICBvbGRDaGlsZC5kYXRhICYmXG4gICAgICAgICAgICAhaXNTYW1lQ2hpbGQoY2hpbGQsIG9sZENoaWxkKSAmJlxuICAgICAgICAgICAgIWlzQXN5bmNQbGFjZWhvbGRlcihvbGRDaGlsZCkgJiZcbiAgICAgICAgICAgIC8vICM2Njg3IGNvbXBvbmVudCByb290IGlzIGEgY29tbWVudCBub2RlXG4gICAgICAgICAgICAhKG9sZENoaWxkLmNvbXBvbmVudEluc3RhbmNlICYmXG4gICAgICAgICAgICAgICAgb2xkQ2hpbGQuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlLmlzQ29tbWVudCkpIHtcbiAgICAgICAgICAgIC8vIHJlcGxhY2Ugb2xkIGNoaWxkIHRyYW5zaXRpb24gZGF0YSB3aXRoIGZyZXNoIG9uZVxuICAgICAgICAgICAgLy8gaW1wb3J0YW50IGZvciBkeW5hbWljIHRyYW5zaXRpb25zIVxuICAgICAgICAgICAgdmFyIG9sZERhdGEgPSAob2xkQ2hpbGQuZGF0YS50cmFuc2l0aW9uID0gZXh0ZW5kKHt9LCBkYXRhKSk7XG4gICAgICAgICAgICAvLyBoYW5kbGUgdHJhbnNpdGlvbiBtb2RlXG4gICAgICAgICAgICBpZiAobW9kZSA9PT0gJ291dC1pbicpIHtcbiAgICAgICAgICAgICAgICAvLyByZXR1cm4gcGxhY2Vob2xkZXIgbm9kZSBhbmQgcXVldWUgdXBkYXRlIHdoZW4gbGVhdmUgZmluaXNoZXNcbiAgICAgICAgICAgICAgICB0aGlzLl9sZWF2aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBtZXJnZVZOb2RlSG9vayhvbGREYXRhLCAnYWZ0ZXJMZWF2ZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuX2xlYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuJGZvcmNlVXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYWNlaG9sZGVyKGgsIHJhd0NoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG1vZGUgPT09ICdpbi1vdXQnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzQXN5bmNQbGFjZWhvbGRlcihjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9sZFJhd0NoaWxkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgZGVsYXllZExlYXZlXzE7XG4gICAgICAgICAgICAgICAgdmFyIHBlcmZvcm1MZWF2ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsYXllZExlYXZlXzEoKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIG1lcmdlVk5vZGVIb29rKGRhdGEsICdhZnRlckVudGVyJywgcGVyZm9ybUxlYXZlKTtcbiAgICAgICAgICAgICAgICBtZXJnZVZOb2RlSG9vayhkYXRhLCAnZW50ZXJDYW5jZWxsZWQnLCBwZXJmb3JtTGVhdmUpO1xuICAgICAgICAgICAgICAgIG1lcmdlVk5vZGVIb29rKG9sZERhdGEsICdkZWxheUxlYXZlJywgZnVuY3Rpb24gKGxlYXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGF5ZWRMZWF2ZV8xID0gbGVhdmU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJhd0NoaWxkO1xuICAgIH1cbn07XG5cbi8vIFByb3ZpZGVzIHRyYW5zaXRpb24gc3VwcG9ydCBmb3IgbGlzdCBpdGVtcy5cbnZhciBwcm9wcyA9IGV4dGVuZCh7XG4gICAgdGFnOiBTdHJpbmcsXG4gICAgbW92ZUNsYXNzOiBTdHJpbmdcbn0sIHRyYW5zaXRpb25Qcm9wcyk7XG5kZWxldGUgcHJvcHMubW9kZTtcbnZhciBUcmFuc2l0aW9uR3JvdXAgPSB7XG4gICAgcHJvcHM6IHByb3BzLFxuICAgIGJlZm9yZU1vdW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciB1cGRhdGUgPSB0aGlzLl91cGRhdGU7XG4gICAgICAgIHRoaXMuX3VwZGF0ZSA9IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0aW5nKSB7XG4gICAgICAgICAgICB2YXIgcmVzdG9yZUFjdGl2ZUluc3RhbmNlID0gc2V0QWN0aXZlSW5zdGFuY2UoX3RoaXMpO1xuICAgICAgICAgICAgLy8gZm9yY2UgcmVtb3ZpbmcgcGFzc1xuICAgICAgICAgICAgX3RoaXMuX19wYXRjaF9fKF90aGlzLl92bm9kZSwgX3RoaXMua2VwdCwgZmFsc2UsIC8vIGh5ZHJhdGluZ1xuICAgICAgICAgICAgdHJ1ZSAvLyByZW1vdmVPbmx5ICghaW1wb3J0YW50LCBhdm9pZHMgdW5uZWNlc3NhcnkgbW92ZXMpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgX3RoaXMuX3Zub2RlID0gX3RoaXMua2VwdDtcbiAgICAgICAgICAgIHJlc3RvcmVBY3RpdmVJbnN0YW5jZSgpO1xuICAgICAgICAgICAgdXBkYXRlLmNhbGwoX3RoaXMsIHZub2RlLCBoeWRyYXRpbmcpO1xuICAgICAgICB9O1xuICAgIH0sXG4gICAgcmVuZGVyOiBmdW5jdGlvbiAoaCkge1xuICAgICAgICB2YXIgdGFnID0gdGhpcy50YWcgfHwgdGhpcy4kdm5vZGUuZGF0YS50YWcgfHwgJ3NwYW4nO1xuICAgICAgICB2YXIgbWFwID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgdmFyIHByZXZDaGlsZHJlbiA9ICh0aGlzLnByZXZDaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4pO1xuICAgICAgICB2YXIgcmF3Q2hpbGRyZW4gPSB0aGlzLiRzbG90cy5kZWZhdWx0IHx8IFtdO1xuICAgICAgICB2YXIgY2hpbGRyZW4gPSAodGhpcy5jaGlsZHJlbiA9IFtdKTtcbiAgICAgICAgdmFyIHRyYW5zaXRpb25EYXRhID0gZXh0cmFjdFRyYW5zaXRpb25EYXRhKHRoaXMpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhd0NoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgYyA9IHJhd0NoaWxkcmVuW2ldO1xuICAgICAgICAgICAgaWYgKGMudGFnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGMua2V5ICE9IG51bGwgJiYgU3RyaW5nKGMua2V5KS5pbmRleE9mKCdfX3ZsaXN0JykgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChjKTtcbiAgICAgICAgICAgICAgICAgICAgbWFwW2Mua2V5XSA9IGM7XG4gICAgICAgICAgICAgICAgICAgIChjLmRhdGEgfHwgKGMuZGF0YSA9IHt9KSkudHJhbnNpdGlvbiA9IHRyYW5zaXRpb25EYXRhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBvcHRzID0gYy5jb21wb25lbnRPcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZV8xID0gb3B0c1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBnZXRDb21wb25lbnROYW1lKG9wdHMuQ3Rvci5vcHRpb25zKSB8fCBvcHRzLnRhZyB8fCAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjLnRhZztcbiAgICAgICAgICAgICAgICAgICAgd2FybiQyKFwiPHRyYW5zaXRpb24tZ3JvdXA+IGNoaWxkcmVuIG11c3QgYmUga2V5ZWQ6IDxcIi5jb25jYXQobmFtZV8xLCBcIj5cIikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocHJldkNoaWxkcmVuKSB7XG4gICAgICAgICAgICB2YXIga2VwdCA9IFtdO1xuICAgICAgICAgICAgdmFyIHJlbW92ZWQgPSBbXTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldkNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIGMgPSBwcmV2Q2hpbGRyZW5baV07XG4gICAgICAgICAgICAgICAgYy5kYXRhLnRyYW5zaXRpb24gPSB0cmFuc2l0aW9uRGF0YTtcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QgaXMgbm90IHR5cGVkIGluIE5vZGVcbiAgICAgICAgICAgICAgICBjLmRhdGEucG9zID0gYy5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgaWYgKG1hcFtjLmtleV0pIHtcbiAgICAgICAgICAgICAgICAgICAga2VwdC5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlZC5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMua2VwdCA9IGgodGFnLCBudWxsLCBrZXB0KTtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlZCA9IHJlbW92ZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGgodGFnLCBudWxsLCBjaGlsZHJlbik7XG4gICAgfSxcbiAgICB1cGRhdGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjaGlsZHJlbiA9IHRoaXMucHJldkNoaWxkcmVuO1xuICAgICAgICB2YXIgbW92ZUNsYXNzID0gdGhpcy5tb3ZlQ2xhc3MgfHwgKHRoaXMubmFtZSB8fCAndicpICsgJy1tb3ZlJztcbiAgICAgICAgaWYgKCFjaGlsZHJlbi5sZW5ndGggfHwgIXRoaXMuaGFzTW92ZShjaGlsZHJlblswXS5lbG0sIG1vdmVDbGFzcykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyB3ZSBkaXZpZGUgdGhlIHdvcmsgaW50byB0aHJlZSBsb29wcyB0byBhdm9pZCBtaXhpbmcgRE9NIHJlYWRzIGFuZCB3cml0ZXNcbiAgICAgICAgLy8gaW4gZWFjaCBpdGVyYXRpb24gLSB3aGljaCBoZWxwcyBwcmV2ZW50IGxheW91dCB0aHJhc2hpbmcuXG4gICAgICAgIGNoaWxkcmVuLmZvckVhY2goY2FsbFBlbmRpbmdDYnMpO1xuICAgICAgICBjaGlsZHJlbi5mb3JFYWNoKHJlY29yZFBvc2l0aW9uKTtcbiAgICAgICAgY2hpbGRyZW4uZm9yRWFjaChhcHBseVRyYW5zbGF0aW9uKTtcbiAgICAgICAgLy8gZm9yY2UgcmVmbG93IHRvIHB1dCBldmVyeXRoaW5nIGluIHBvc2l0aW9uXG4gICAgICAgIC8vIGFzc2lnbiB0byB0aGlzIHRvIGF2b2lkIGJlaW5nIHJlbW92ZWQgaW4gdHJlZS1zaGFraW5nXG4gICAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgICB0aGlzLl9yZWZsb3cgPSBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgICAgICAgaWYgKGMuZGF0YS5tb3ZlZCkge1xuICAgICAgICAgICAgICAgIHZhciBlbF8xID0gYy5lbG07XG4gICAgICAgICAgICAgICAgdmFyIHMgPSBlbF8xLnN0eWxlO1xuICAgICAgICAgICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbF8xLCBtb3ZlQ2xhc3MpO1xuICAgICAgICAgICAgICAgIHMudHJhbnNmb3JtID0gcy5XZWJraXRUcmFuc2Zvcm0gPSBzLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcnO1xuICAgICAgICAgICAgICAgIGVsXzEuYWRkRXZlbnRMaXN0ZW5lcih0cmFuc2l0aW9uRW5kRXZlbnQsIChlbF8xLl9tb3ZlQ2IgPSBmdW5jdGlvbiBjYihlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlICYmIGUudGFyZ2V0ICE9PSBlbF8xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFlIHx8IC90cmFuc2Zvcm0kLy50ZXN0KGUucHJvcGVydHlOYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxfMS5yZW1vdmVFdmVudExpc3RlbmVyKHRyYW5zaXRpb25FbmRFdmVudCwgY2IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxfMS5fbW92ZUNiID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbF8xLCBtb3ZlQ2xhc3MpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgaGFzTW92ZTogZnVuY3Rpb24gKGVsLCBtb3ZlQ2xhc3MpIHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgaWYgKCFoYXNUcmFuc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAodGhpcy5faGFzTW92ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9oYXNNb3ZlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRGV0ZWN0IHdoZXRoZXIgYW4gZWxlbWVudCB3aXRoIHRoZSBtb3ZlIGNsYXNzIGFwcGxpZWQgaGFzXG4gICAgICAgICAgICAvLyBDU1MgdHJhbnNpdGlvbnMuIFNpbmNlIHRoZSBlbGVtZW50IG1heSBiZSBpbnNpZGUgYW4gZW50ZXJpbmdcbiAgICAgICAgICAgIC8vIHRyYW5zaXRpb24gYXQgdGhpcyB2ZXJ5IG1vbWVudCwgd2UgbWFrZSBhIGNsb25lIG9mIGl0IGFuZCByZW1vdmVcbiAgICAgICAgICAgIC8vIGFsbCBvdGhlciB0cmFuc2l0aW9uIGNsYXNzZXMgYXBwbGllZCB0byBlbnN1cmUgb25seSB0aGUgbW92ZSBjbGFzc1xuICAgICAgICAgICAgLy8gaXMgYXBwbGllZC5cbiAgICAgICAgICAgIHZhciBjbG9uZSA9IGVsLmNsb25lTm9kZSgpO1xuICAgICAgICAgICAgaWYgKGVsLl90cmFuc2l0aW9uQ2xhc3Nlcykge1xuICAgICAgICAgICAgICAgIGVsLl90cmFuc2l0aW9uQ2xhc3Nlcy5mb3JFYWNoKGZ1bmN0aW9uIChjbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoY2xvbmUsIGNscyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhZGRDbGFzcyhjbG9uZSwgbW92ZUNsYXNzKTtcbiAgICAgICAgICAgIGNsb25lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICB0aGlzLiRlbC5hcHBlbmRDaGlsZChjbG9uZSk7XG4gICAgICAgICAgICB2YXIgaW5mbyA9IGdldFRyYW5zaXRpb25JbmZvKGNsb25lKTtcbiAgICAgICAgICAgIHRoaXMuJGVsLnJlbW92ZUNoaWxkKGNsb25lKTtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5faGFzTW92ZSA9IGluZm8uaGFzVHJhbnNmb3JtKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5mdW5jdGlvbiBjYWxsUGVuZGluZ0NicyhjKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGMuZWxtLl9tb3ZlQ2IpIHtcbiAgICAgICAgYy5lbG0uX21vdmVDYigpO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoYy5lbG0uX2VudGVyQ2IpIHtcbiAgICAgICAgYy5lbG0uX2VudGVyQ2IoKTtcbiAgICB9XG59XG5mdW5jdGlvbiByZWNvcmRQb3NpdGlvbihjKSB7XG4gICAgYy5kYXRhLm5ld1BvcyA9IGMuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xufVxuZnVuY3Rpb24gYXBwbHlUcmFuc2xhdGlvbihjKSB7XG4gICAgdmFyIG9sZFBvcyA9IGMuZGF0YS5wb3M7XG4gICAgdmFyIG5ld1BvcyA9IGMuZGF0YS5uZXdQb3M7XG4gICAgdmFyIGR4ID0gb2xkUG9zLmxlZnQgLSBuZXdQb3MubGVmdDtcbiAgICB2YXIgZHkgPSBvbGRQb3MudG9wIC0gbmV3UG9zLnRvcDtcbiAgICBpZiAoZHggfHwgZHkpIHtcbiAgICAgICAgYy5kYXRhLm1vdmVkID0gdHJ1ZTtcbiAgICAgICAgdmFyIHMgPSBjLmVsbS5zdHlsZTtcbiAgICAgICAgcy50cmFuc2Zvcm0gPSBzLldlYmtpdFRyYW5zZm9ybSA9IFwidHJhbnNsYXRlKFwiLmNvbmNhdChkeCwgXCJweCxcIikuY29uY2F0KGR5LCBcInB4KVwiKTtcbiAgICAgICAgcy50cmFuc2l0aW9uRHVyYXRpb24gPSAnMHMnO1xuICAgIH1cbn1cblxudmFyIHBsYXRmb3JtQ29tcG9uZW50cyA9IHtcbiAgICBUcmFuc2l0aW9uOiBUcmFuc2l0aW9uLFxuICAgIFRyYW5zaXRpb25Hcm91cDogVHJhbnNpdGlvbkdyb3VwXG59O1xuXG4vLyBpbnN0YWxsIHBsYXRmb3JtIHNwZWNpZmljIHV0aWxzXG5WdWUuY29uZmlnLm11c3RVc2VQcm9wID0gbXVzdFVzZVByb3A7XG5WdWUuY29uZmlnLmlzUmVzZXJ2ZWRUYWcgPSBpc1Jlc2VydmVkVGFnO1xuVnVlLmNvbmZpZy5pc1Jlc2VydmVkQXR0ciA9IGlzUmVzZXJ2ZWRBdHRyO1xuVnVlLmNvbmZpZy5nZXRUYWdOYW1lc3BhY2UgPSBnZXRUYWdOYW1lc3BhY2U7XG5WdWUuY29uZmlnLmlzVW5rbm93bkVsZW1lbnQgPSBpc1Vua25vd25FbGVtZW50O1xuLy8gaW5zdGFsbCBwbGF0Zm9ybSBydW50aW1lIGRpcmVjdGl2ZXMgJiBjb21wb25lbnRzXG5leHRlbmQoVnVlLm9wdGlvbnMuZGlyZWN0aXZlcywgcGxhdGZvcm1EaXJlY3RpdmVzKTtcbmV4dGVuZChWdWUub3B0aW9ucy5jb21wb25lbnRzLCBwbGF0Zm9ybUNvbXBvbmVudHMpO1xuLy8gaW5zdGFsbCBwbGF0Zm9ybSBwYXRjaCBmdW5jdGlvblxuVnVlLnByb3RvdHlwZS5fX3BhdGNoX18gPSBpbkJyb3dzZXIgPyBwYXRjaCA6IG5vb3A7XG4vLyBwdWJsaWMgbW91bnQgbWV0aG9kXG5WdWUucHJvdG90eXBlLiRtb3VudCA9IGZ1bmN0aW9uIChlbCwgaHlkcmF0aW5nKSB7XG4gICAgZWwgPSBlbCAmJiBpbkJyb3dzZXIgPyBxdWVyeShlbCkgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIG1vdW50Q29tcG9uZW50KHRoaXMsIGVsLCBoeWRyYXRpbmcpO1xufTtcbi8vIGRldnRvb2xzIGdsb2JhbCBob29rXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuaWYgKGluQnJvd3Nlcikge1xuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoY29uZmlnLmRldnRvb2xzKSB7XG4gICAgICAgICAgICBpZiAoZGV2dG9vbHMpIHtcbiAgICAgICAgICAgICAgICBkZXZ0b29scy5lbWl0KCdpbml0JywgVnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICd0ZXN0Jykge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICBjb25zb2xlW2NvbnNvbGUuaW5mbyA/ICdpbmZvJyA6ICdsb2cnXSgnRG93bmxvYWQgdGhlIFZ1ZSBEZXZ0b29scyBleHRlbnNpb24gZm9yIGEgYmV0dGVyIGRldmVsb3BtZW50IGV4cGVyaWVuY2U6XFxuJyArXG4gICAgICAgICAgICAgICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vdnVlanMvdnVlLWRldnRvb2xzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAndGVzdCcgJiZcbiAgICAgICAgICAgIGNvbmZpZy5wcm9kdWN0aW9uVGlwICE9PSBmYWxzZSAmJlxuICAgICAgICAgICAgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICBjb25zb2xlW2NvbnNvbGUuaW5mbyA/ICdpbmZvJyA6ICdsb2cnXShcIllvdSBhcmUgcnVubmluZyBWdWUgaW4gZGV2ZWxvcG1lbnQgbW9kZS5cXG5cIiArXG4gICAgICAgICAgICAgICAgXCJNYWtlIHN1cmUgdG8gdHVybiBvbiBwcm9kdWN0aW9uIG1vZGUgd2hlbiBkZXBsb3lpbmcgZm9yIHByb2R1Y3Rpb24uXFxuXCIgK1xuICAgICAgICAgICAgICAgIFwiU2VlIG1vcmUgdGlwcyBhdCBodHRwczovL3Z1ZWpzLm9yZy9ndWlkZS9kZXBsb3ltZW50Lmh0bWxcIik7XG4gICAgICAgIH1cbiAgICB9LCAwKTtcbn1cblxudmFyIGRlZmF1bHRUYWdSRSA9IC9cXHtcXHsoKD86LnxcXHI/XFxuKSs/KVxcfVxcfS9nO1xudmFyIHJlZ2V4RXNjYXBlUkUgPSAvWy0uKis/XiR7fSgpfFtcXF1cXC9cXFxcXS9nO1xudmFyIGJ1aWxkUmVnZXggPSBjYWNoZWQoZnVuY3Rpb24gKGRlbGltaXRlcnMpIHtcbiAgICB2YXIgb3BlbiA9IGRlbGltaXRlcnNbMF0ucmVwbGFjZShyZWdleEVzY2FwZVJFLCAnXFxcXCQmJyk7XG4gICAgdmFyIGNsb3NlID0gZGVsaW1pdGVyc1sxXS5yZXBsYWNlKHJlZ2V4RXNjYXBlUkUsICdcXFxcJCYnKTtcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChvcGVuICsgJygoPzoufFxcXFxuKSs/KScgKyBjbG9zZSwgJ2cnKTtcbn0pO1xuZnVuY3Rpb24gcGFyc2VUZXh0KHRleHQsIGRlbGltaXRlcnMpIHtcbiAgICAvL0B0cy1leHBlY3QtZXJyb3JcbiAgICB2YXIgdGFnUkUgPSBkZWxpbWl0ZXJzID8gYnVpbGRSZWdleChkZWxpbWl0ZXJzKSA6IGRlZmF1bHRUYWdSRTtcbiAgICBpZiAoIXRhZ1JFLnRlc3QodGV4dCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdG9rZW5zID0gW107XG4gICAgdmFyIHJhd1Rva2VucyA9IFtdO1xuICAgIHZhciBsYXN0SW5kZXggPSAodGFnUkUubGFzdEluZGV4ID0gMCk7XG4gICAgdmFyIG1hdGNoLCBpbmRleCwgdG9rZW5WYWx1ZTtcbiAgICB3aGlsZSAoKG1hdGNoID0gdGFnUkUuZXhlYyh0ZXh0KSkpIHtcbiAgICAgICAgaW5kZXggPSBtYXRjaC5pbmRleDtcbiAgICAgICAgLy8gcHVzaCB0ZXh0IHRva2VuXG4gICAgICAgIGlmIChpbmRleCA+IGxhc3RJbmRleCkge1xuICAgICAgICAgICAgcmF3VG9rZW5zLnB1c2goKHRva2VuVmFsdWUgPSB0ZXh0LnNsaWNlKGxhc3RJbmRleCwgaW5kZXgpKSk7XG4gICAgICAgICAgICB0b2tlbnMucHVzaChKU09OLnN0cmluZ2lmeSh0b2tlblZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdGFnIHRva2VuXG4gICAgICAgIHZhciBleHAgPSBwYXJzZUZpbHRlcnMobWF0Y2hbMV0udHJpbSgpKTtcbiAgICAgICAgdG9rZW5zLnB1c2goXCJfcyhcIi5jb25jYXQoZXhwLCBcIilcIikpO1xuICAgICAgICByYXdUb2tlbnMucHVzaCh7ICdAYmluZGluZyc6IGV4cCB9KTtcbiAgICAgICAgbGFzdEluZGV4ID0gaW5kZXggKyBtYXRjaFswXS5sZW5ndGg7XG4gICAgfVxuICAgIGlmIChsYXN0SW5kZXggPCB0ZXh0Lmxlbmd0aCkge1xuICAgICAgICByYXdUb2tlbnMucHVzaCgodG9rZW5WYWx1ZSA9IHRleHQuc2xpY2UobGFzdEluZGV4KSkpO1xuICAgICAgICB0b2tlbnMucHVzaChKU09OLnN0cmluZ2lmeSh0b2tlblZhbHVlKSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGV4cHJlc3Npb246IHRva2Vucy5qb2luKCcrJyksXG4gICAgICAgIHRva2VuczogcmF3VG9rZW5zXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTm9kZSQxKGVsLCBvcHRpb25zKSB7XG4gICAgdmFyIHdhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdhcm47XG4gICAgdmFyIHN0YXRpY0NsYXNzID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ2NsYXNzJyk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgc3RhdGljQ2xhc3MpIHtcbiAgICAgICAgdmFyIHJlcyA9IHBhcnNlVGV4dChzdGF0aWNDbGFzcywgb3B0aW9ucy5kZWxpbWl0ZXJzKTtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgd2FybihcImNsYXNzPVxcXCJcIi5jb25jYXQoc3RhdGljQ2xhc3MsIFwiXFxcIjogXCIpICtcbiAgICAgICAgICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAgICAgICAgICAgICAnVXNlIHYtYmluZCBvciB0aGUgY29sb24gc2hvcnRoYW5kIGluc3RlYWQuIEZvciBleGFtcGxlLCAnICtcbiAgICAgICAgICAgICAgICAnaW5zdGVhZCBvZiA8ZGl2IGNsYXNzPVwie3sgdmFsIH19XCI+LCB1c2UgPGRpdiA6Y2xhc3M9XCJ2YWxcIj4uJywgZWwucmF3QXR0cnNNYXBbJ2NsYXNzJ10pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChzdGF0aWNDbGFzcykge1xuICAgICAgICBlbC5zdGF0aWNDbGFzcyA9IEpTT04uc3RyaW5naWZ5KHN0YXRpY0NsYXNzLnJlcGxhY2UoL1xccysvZywgJyAnKS50cmltKCkpO1xuICAgIH1cbiAgICB2YXIgY2xhc3NCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdjbGFzcycsIGZhbHNlIC8qIGdldFN0YXRpYyAqLyk7XG4gICAgaWYgKGNsYXNzQmluZGluZykge1xuICAgICAgICBlbC5jbGFzc0JpbmRpbmcgPSBjbGFzc0JpbmRpbmc7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2VuRGF0YSQyKGVsKSB7XG4gICAgdmFyIGRhdGEgPSAnJztcbiAgICBpZiAoZWwuc3RhdGljQ2xhc3MpIHtcbiAgICAgICAgZGF0YSArPSBcInN0YXRpY0NsYXNzOlwiLmNvbmNhdChlbC5zdGF0aWNDbGFzcywgXCIsXCIpO1xuICAgIH1cbiAgICBpZiAoZWwuY2xhc3NCaW5kaW5nKSB7XG4gICAgICAgIGRhdGEgKz0gXCJjbGFzczpcIi5jb25jYXQoZWwuY2xhc3NCaW5kaW5nLCBcIixcIik7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxudmFyIGtsYXNzID0ge1xuICAgIHN0YXRpY0tleXM6IFsnc3RhdGljQ2xhc3MnXSxcbiAgICB0cmFuc2Zvcm1Ob2RlOiB0cmFuc2Zvcm1Ob2RlJDEsXG4gICAgZ2VuRGF0YTogZ2VuRGF0YSQyXG59O1xuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Ob2RlKGVsLCBvcHRpb25zKSB7XG4gICAgdmFyIHdhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdhcm47XG4gICAgdmFyIHN0YXRpY1N0eWxlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3N0eWxlJyk7XG4gICAgaWYgKHN0YXRpY1N0eWxlKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgdmFyIHJlcyA9IHBhcnNlVGV4dChzdGF0aWNTdHlsZSwgb3B0aW9ucy5kZWxpbWl0ZXJzKTtcbiAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICB3YXJuKFwic3R5bGU9XFxcIlwiLmNvbmNhdChzdGF0aWNTdHlsZSwgXCJcXFwiOiBcIikgK1xuICAgICAgICAgICAgICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAgICAgICAgICAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9uIHNob3J0aGFuZCBpbnN0ZWFkLiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICAgICAgICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgc3R5bGU9XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2IDpzdHlsZT1cInZhbFwiPi4nLCBlbC5yYXdBdHRyc01hcFsnc3R5bGUnXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWwuc3RhdGljU3R5bGUgPSBKU09OLnN0cmluZ2lmeShwYXJzZVN0eWxlVGV4dChzdGF0aWNTdHlsZSkpO1xuICAgIH1cbiAgICB2YXIgc3R5bGVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdzdHlsZScsIGZhbHNlIC8qIGdldFN0YXRpYyAqLyk7XG4gICAgaWYgKHN0eWxlQmluZGluZykge1xuICAgICAgICBlbC5zdHlsZUJpbmRpbmcgPSBzdHlsZUJpbmRpbmc7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2VuRGF0YSQxKGVsKSB7XG4gICAgdmFyIGRhdGEgPSAnJztcbiAgICBpZiAoZWwuc3RhdGljU3R5bGUpIHtcbiAgICAgICAgZGF0YSArPSBcInN0YXRpY1N0eWxlOlwiLmNvbmNhdChlbC5zdGF0aWNTdHlsZSwgXCIsXCIpO1xuICAgIH1cbiAgICBpZiAoZWwuc3R5bGVCaW5kaW5nKSB7XG4gICAgICAgIGRhdGEgKz0gXCJzdHlsZTooXCIuY29uY2F0KGVsLnN0eWxlQmluZGluZywgXCIpLFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG52YXIgc3R5bGUgPSB7XG4gICAgc3RhdGljS2V5czogWydzdGF0aWNTdHlsZSddLFxuICAgIHRyYW5zZm9ybU5vZGU6IHRyYW5zZm9ybU5vZGUsXG4gICAgZ2VuRGF0YTogZ2VuRGF0YSQxXG59O1xuXG52YXIgZGVjb2RlcjtcbnZhciBoZSA9IHtcbiAgICBkZWNvZGU6IGZ1bmN0aW9uIChodG1sKSB7XG4gICAgICAgIGRlY29kZXIgPSBkZWNvZGVyIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBkZWNvZGVyLmlubmVySFRNTCA9IGh0bWw7XG4gICAgICAgIHJldHVybiBkZWNvZGVyLnRleHRDb250ZW50O1xuICAgIH1cbn07XG5cbnZhciBpc1VuYXJ5VGFnID0gbWFrZU1hcCgnYXJlYSxiYXNlLGJyLGNvbCxlbWJlZCxmcmFtZSxocixpbWcsaW5wdXQsaXNpbmRleCxrZXlnZW4sJyArXG4gICAgJ2xpbmssbWV0YSxwYXJhbSxzb3VyY2UsdHJhY2ssd2JyJyk7XG4vLyBFbGVtZW50cyB0aGF0IHlvdSBjYW4sIGludGVudGlvbmFsbHksIGxlYXZlIG9wZW5cbi8vIChhbmQgd2hpY2ggY2xvc2UgdGhlbXNlbHZlcylcbnZhciBjYW5CZUxlZnRPcGVuVGFnID0gbWFrZU1hcCgnY29sZ3JvdXAsZGQsZHQsbGksb3B0aW9ucyxwLHRkLHRmb290LHRoLHRoZWFkLHRyLHNvdXJjZScpO1xuLy8gSFRNTDUgdGFncyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9pbmRpY2VzLmh0bWwjZWxlbWVudHMtM1xuLy8gUGhyYXNpbmcgQ29udGVudCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9kb20uaHRtbCNwaHJhc2luZy1jb250ZW50XG52YXIgaXNOb25QaHJhc2luZ1RhZyA9IG1ha2VNYXAoJ2FkZHJlc3MsYXJ0aWNsZSxhc2lkZSxiYXNlLGJsb2NrcXVvdGUsYm9keSxjYXB0aW9uLGNvbCxjb2xncm91cCxkZCwnICtcbiAgICAnZGV0YWlscyxkaWFsb2csZGl2LGRsLGR0LGZpZWxkc2V0LGZpZ2NhcHRpb24sZmlndXJlLGZvb3Rlcixmb3JtLCcgK1xuICAgICdoMSxoMixoMyxoNCxoNSxoNixoZWFkLGhlYWRlcixoZ3JvdXAsaHIsaHRtbCxsZWdlbmQsbGksbWVudWl0ZW0sbWV0YSwnICtcbiAgICAnb3B0Z3JvdXAsb3B0aW9uLHBhcmFtLHJwLHJ0LHNvdXJjZSxzdHlsZSxzdW1tYXJ5LHRib2R5LHRkLHRmb290LHRoLHRoZWFkLCcgK1xuICAgICd0aXRsZSx0cix0cmFjaycpO1xuXG4vKipcbiAqIE5vdCB0eXBlLWNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGl0J3MgbW9zdGx5IHZlbmRvciBjb2RlLlxuICovXG4vLyBSZWd1bGFyIEV4cHJlc3Npb25zIGZvciBwYXJzaW5nIHRhZ3MgYW5kIGF0dHJpYnV0ZXNcbnZhciBhdHRyaWJ1dGUgPSAvXlxccyooW15cXHNcIic8PlxcLz1dKykoPzpcXHMqKD0pXFxzKig/OlwiKFteXCJdKilcIit8JyhbXiddKiknK3woW15cXHNcIic9PD5gXSspKSk/LztcbnZhciBkeW5hbWljQXJnQXR0cmlidXRlID0gL15cXHMqKCg/OnYtW1xcdy1dKzp8QHw6fCMpXFxbW149XSs/XFxdW15cXHNcIic8PlxcLz1dKikoPzpcXHMqKD0pXFxzKig/OlwiKFteXCJdKilcIit8JyhbXiddKiknK3woW15cXHNcIic9PD5gXSspKSk/LztcbnZhciBuY25hbWUgPSBcIlthLXpBLVpfXVtcXFxcLVxcXFwuMC05X2EtekEtWlwiLmNvbmNhdCh1bmljb2RlUmVnRXhwLnNvdXJjZSwgXCJdKlwiKTtcbnZhciBxbmFtZUNhcHR1cmUgPSBcIigoPzpcIi5jb25jYXQobmNuYW1lLCBcIlxcXFw6KT9cIikuY29uY2F0KG5jbmFtZSwgXCIpXCIpO1xudmFyIHN0YXJ0VGFnT3BlbiA9IG5ldyBSZWdFeHAoXCJePFwiLmNvbmNhdChxbmFtZUNhcHR1cmUpKTtcbnZhciBzdGFydFRhZ0Nsb3NlID0gL15cXHMqKFxcLz8pPi87XG52YXIgZW5kVGFnID0gbmV3IFJlZ0V4cChcIl48XFxcXC9cIi5jb25jYXQocW5hbWVDYXB0dXJlLCBcIltePl0qPlwiKSk7XG52YXIgZG9jdHlwZSA9IC9ePCFET0NUWVBFIFtePl0rPi9pO1xuLy8gIzcyOTg6IGVzY2FwZSAtIHRvIGF2b2lkIGJlaW5nIHBhc3NlZCBhcyBIVE1MIGNvbW1lbnQgd2hlbiBpbmxpbmVkIGluIHBhZ2VcbnZhciBjb21tZW50ID0gL148IVxcLS0vO1xudmFyIGNvbmRpdGlvbmFsQ29tbWVudCA9IC9ePCFcXFsvO1xuLy8gU3BlY2lhbCBFbGVtZW50cyAoY2FuIGNvbnRhaW4gYW55dGhpbmcpXG52YXIgaXNQbGFpblRleHRFbGVtZW50ID0gbWFrZU1hcCgnc2NyaXB0LHN0eWxlLHRleHRhcmVhJywgdHJ1ZSk7XG52YXIgcmVDYWNoZSA9IHt9O1xudmFyIGRlY29kaW5nTWFwID0ge1xuICAgICcmbHQ7JzogJzwnLFxuICAgICcmZ3Q7JzogJz4nLFxuICAgICcmcXVvdDsnOiAnXCInLFxuICAgICcmYW1wOyc6ICcmJyxcbiAgICAnJiMxMDsnOiAnXFxuJyxcbiAgICAnJiM5Oyc6ICdcXHQnLFxuICAgICcmIzM5Oyc6IFwiJ1wiXG59O1xudmFyIGVuY29kZWRBdHRyID0gLyYoPzpsdHxndHxxdW90fGFtcHwjMzkpOy9nO1xudmFyIGVuY29kZWRBdHRyV2l0aE5ld0xpbmVzID0gLyYoPzpsdHxndHxxdW90fGFtcHwjMzl8IzEwfCM5KTsvZztcbi8vICM1OTkyXG52YXIgaXNJZ25vcmVOZXdsaW5lVGFnID0gbWFrZU1hcCgncHJlLHRleHRhcmVhJywgdHJ1ZSk7XG52YXIgc2hvdWxkSWdub3JlRmlyc3ROZXdsaW5lID0gZnVuY3Rpb24gKHRhZywgaHRtbCkge1xuICAgIHJldHVybiB0YWcgJiYgaXNJZ25vcmVOZXdsaW5lVGFnKHRhZykgJiYgaHRtbFswXSA9PT0gJ1xcbic7XG59O1xuZnVuY3Rpb24gZGVjb2RlQXR0cih2YWx1ZSwgc2hvdWxkRGVjb2RlTmV3bGluZXMpIHtcbiAgICB2YXIgcmUgPSBzaG91bGREZWNvZGVOZXdsaW5lcyA/IGVuY29kZWRBdHRyV2l0aE5ld0xpbmVzIDogZW5jb2RlZEF0dHI7XG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UocmUsIGZ1bmN0aW9uIChtYXRjaCkgeyByZXR1cm4gZGVjb2RpbmdNYXBbbWF0Y2hdOyB9KTtcbn1cbmZ1bmN0aW9uIHBhcnNlSFRNTChodG1sLCBvcHRpb25zKSB7XG4gICAgdmFyIHN0YWNrID0gW107XG4gICAgdmFyIGV4cGVjdEhUTUwgPSBvcHRpb25zLmV4cGVjdEhUTUw7XG4gICAgdmFyIGlzVW5hcnlUYWcgPSBvcHRpb25zLmlzVW5hcnlUYWcgfHwgbm87XG4gICAgdmFyIGNhbkJlTGVmdE9wZW5UYWcgPSBvcHRpb25zLmNhbkJlTGVmdE9wZW5UYWcgfHwgbm87XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICB2YXIgbGFzdCwgbGFzdFRhZztcbiAgICB2YXIgX2xvb3BfMSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGFzdCA9IGh0bWw7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSdyZSBub3QgaW4gYSBwbGFpbnRleHQgY29udGVudCBlbGVtZW50IGxpa2Ugc2NyaXB0L3N0eWxlXG4gICAgICAgIGlmICghbGFzdFRhZyB8fCAhaXNQbGFpblRleHRFbGVtZW50KGxhc3RUYWcpKSB7XG4gICAgICAgICAgICB2YXIgdGV4dEVuZCA9IGh0bWwuaW5kZXhPZignPCcpO1xuICAgICAgICAgICAgaWYgKHRleHRFbmQgPT09IDApIHtcbiAgICAgICAgICAgICAgICAvLyBDb21tZW50OlxuICAgICAgICAgICAgICAgIGlmIChjb21tZW50LnRlc3QoaHRtbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbW1lbnRFbmQgPSBodG1sLmluZGV4T2YoJy0tPicpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tbWVudEVuZCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRLZWVwQ29tbWVudCAmJiBvcHRpb25zLmNvbW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmNvbW1lbnQoaHRtbC5zdWJzdHJpbmcoNCwgY29tbWVudEVuZCksIGluZGV4LCBpbmRleCArIGNvbW1lbnRFbmQgKyAzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2UoY29tbWVudEVuZCArIDMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiY29udGludWVcIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbmRpdGlvbmFsX2NvbW1lbnQjRG93bmxldmVsLXJldmVhbGVkX2NvbmRpdGlvbmFsX2NvbW1lbnRcbiAgICAgICAgICAgICAgICBpZiAoY29uZGl0aW9uYWxDb21tZW50LnRlc3QoaHRtbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbmRpdGlvbmFsRW5kID0gaHRtbC5pbmRleE9mKCddPicpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29uZGl0aW9uYWxFbmQgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZShjb25kaXRpb25hbEVuZCArIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiY29udGludWVcIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBEb2N0eXBlOlxuICAgICAgICAgICAgICAgIHZhciBkb2N0eXBlTWF0Y2ggPSBodG1sLm1hdGNoKGRvY3R5cGUpO1xuICAgICAgICAgICAgICAgIGlmIChkb2N0eXBlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgYWR2YW5jZShkb2N0eXBlTWF0Y2hbMF0ubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFwiY29udGludWVcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gRW5kIHRhZzpcbiAgICAgICAgICAgICAgICB2YXIgZW5kVGFnTWF0Y2ggPSBodG1sLm1hdGNoKGVuZFRhZyk7XG4gICAgICAgICAgICAgICAgaWYgKGVuZFRhZ01hdGNoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjdXJJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICBhZHZhbmNlKGVuZFRhZ01hdGNoWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIHBhcnNlRW5kVGFnKGVuZFRhZ01hdGNoWzFdLCBjdXJJbmRleCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBTdGFydCB0YWc6XG4gICAgICAgICAgICAgICAgdmFyIHN0YXJ0VGFnTWF0Y2ggPSBwYXJzZVN0YXJ0VGFnKCk7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXJ0VGFnTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlU3RhcnRUYWcoc3RhcnRUYWdNYXRjaCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzaG91bGRJZ25vcmVGaXJzdE5ld2xpbmUoc3RhcnRUYWdNYXRjaC50YWdOYW1lLCBodG1sKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZSgxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0ZXh0ID0gdm9pZCAwLCByZXN0ID0gdm9pZCAwLCBuZXh0ID0gdm9pZCAwO1xuICAgICAgICAgICAgaWYgKHRleHRFbmQgPj0gMCkge1xuICAgICAgICAgICAgICAgIHJlc3QgPSBodG1sLnNsaWNlKHRleHRFbmQpO1xuICAgICAgICAgICAgICAgIHdoaWxlICghZW5kVGFnLnRlc3QocmVzdCkgJiZcbiAgICAgICAgICAgICAgICAgICAgIXN0YXJ0VGFnT3Blbi50ZXN0KHJlc3QpICYmXG4gICAgICAgICAgICAgICAgICAgICFjb21tZW50LnRlc3QocmVzdCkgJiZcbiAgICAgICAgICAgICAgICAgICAgIWNvbmRpdGlvbmFsQ29tbWVudC50ZXN0KHJlc3QpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIDwgaW4gcGxhaW4gdGV4dCwgYmUgZm9yZ2l2aW5nIGFuZCB0cmVhdCBpdCBhcyB0ZXh0XG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSByZXN0LmluZGV4T2YoJzwnLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5leHQgPCAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIHRleHRFbmQgKz0gbmV4dDtcbiAgICAgICAgICAgICAgICAgICAgcmVzdCA9IGh0bWwuc2xpY2UodGV4dEVuZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRleHQgPSBodG1sLnN1YnN0cmluZygwLCB0ZXh0RW5kKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0ZXh0RW5kIDwgMCkge1xuICAgICAgICAgICAgICAgIHRleHQgPSBodG1sO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgICAgICAgICBhZHZhbmNlKHRleHQubGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmNoYXJzICYmIHRleHQpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLmNoYXJzKHRleHQsIGluZGV4IC0gdGV4dC5sZW5ndGgsIGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHZhciBlbmRUYWdMZW5ndGhfMSA9IDA7XG4gICAgICAgICAgICB2YXIgc3RhY2tlZFRhZ18xID0gbGFzdFRhZy50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgdmFyIHJlU3RhY2tlZFRhZyA9IHJlQ2FjaGVbc3RhY2tlZFRhZ18xXSB8fFxuICAgICAgICAgICAgICAgIChyZUNhY2hlW3N0YWNrZWRUYWdfMV0gPSBuZXcgUmVnRXhwKCcoW1xcXFxzXFxcXFNdKj8pKDwvJyArIHN0YWNrZWRUYWdfMSArICdbXj5dKj4pJywgJ2knKSk7XG4gICAgICAgICAgICB2YXIgcmVzdCA9IGh0bWwucmVwbGFjZShyZVN0YWNrZWRUYWcsIGZ1bmN0aW9uIChhbGwsIHRleHQsIGVuZFRhZykge1xuICAgICAgICAgICAgICAgIGVuZFRhZ0xlbmd0aF8xID0gZW5kVGFnLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBpZiAoIWlzUGxhaW5UZXh0RWxlbWVudChzdGFja2VkVGFnXzEpICYmIHN0YWNrZWRUYWdfMSAhPT0gJ25vc2NyaXB0Jykge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gdGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoLzwhXFwtLShbXFxzXFxTXSo/KS0tPi9nLCAnJDEnKSAvLyAjNzI5OFxuICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoLzwhXFxbQ0RBVEFcXFsoW1xcc1xcU10qPyldXT4vZywgJyQxJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChzaG91bGRJZ25vcmVGaXJzdE5ld2xpbmUoc3RhY2tlZFRhZ18xLCB0ZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gdGV4dC5zbGljZSgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuY2hhcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5jaGFycyh0ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpbmRleCArPSBodG1sLmxlbmd0aCAtIHJlc3QubGVuZ3RoO1xuICAgICAgICAgICAgaHRtbCA9IHJlc3Q7XG4gICAgICAgICAgICBwYXJzZUVuZFRhZyhzdGFja2VkVGFnXzEsIGluZGV4IC0gZW5kVGFnTGVuZ3RoXzEsIGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaHRtbCA9PT0gbGFzdCkge1xuICAgICAgICAgICAgb3B0aW9ucy5jaGFycyAmJiBvcHRpb25zLmNoYXJzKGh0bWwpO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIXN0YWNrLmxlbmd0aCAmJiBvcHRpb25zLndhcm4pIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLndhcm4oXCJNYWwtZm9ybWF0dGVkIHRhZyBhdCBlbmQgb2YgdGVtcGxhdGU6IFxcXCJcIi5jb25jYXQoaHRtbCwgXCJcXFwiXCIpLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBpbmRleCArIGh0bWwubGVuZ3RoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gXCJicmVha1wiO1xuICAgICAgICB9XG4gICAgfTtcbiAgICB3aGlsZSAoaHRtbCkge1xuICAgICAgICB2YXIgc3RhdGVfMSA9IF9sb29wXzEoKTtcbiAgICAgICAgaWYgKHN0YXRlXzEgPT09IFwiYnJlYWtcIilcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICAvLyBDbGVhbiB1cCBhbnkgcmVtYWluaW5nIHRhZ3NcbiAgICBwYXJzZUVuZFRhZygpO1xuICAgIGZ1bmN0aW9uIGFkdmFuY2Uobikge1xuICAgICAgICBpbmRleCArPSBuO1xuICAgICAgICBodG1sID0gaHRtbC5zdWJzdHJpbmcobik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlU3RhcnRUYWcoKSB7XG4gICAgICAgIHZhciBzdGFydCA9IGh0bWwubWF0Y2goc3RhcnRUYWdPcGVuKTtcbiAgICAgICAgaWYgKHN0YXJ0KSB7XG4gICAgICAgICAgICB2YXIgbWF0Y2ggPSB7XG4gICAgICAgICAgICAgICAgdGFnTmFtZTogc3RhcnRbMV0sXG4gICAgICAgICAgICAgICAgYXR0cnM6IFtdLFxuICAgICAgICAgICAgICAgIHN0YXJ0OiBpbmRleFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGFkdmFuY2Uoc3RhcnRbMF0ubGVuZ3RoKTtcbiAgICAgICAgICAgIHZhciBlbmQgPSB2b2lkIDAsIGF0dHIgPSB2b2lkIDA7XG4gICAgICAgICAgICB3aGlsZSAoIShlbmQgPSBodG1sLm1hdGNoKHN0YXJ0VGFnQ2xvc2UpKSAmJlxuICAgICAgICAgICAgICAgIChhdHRyID0gaHRtbC5tYXRjaChkeW5hbWljQXJnQXR0cmlidXRlKSB8fCBodG1sLm1hdGNoKGF0dHJpYnV0ZSkpKSB7XG4gICAgICAgICAgICAgICAgYXR0ci5zdGFydCA9IGluZGV4O1xuICAgICAgICAgICAgICAgIGFkdmFuY2UoYXR0clswXS5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGF0dHIuZW5kID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgbWF0Y2guYXR0cnMucHVzaChhdHRyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlbmQpIHtcbiAgICAgICAgICAgICAgICBtYXRjaC51bmFyeVNsYXNoID0gZW5kWzFdO1xuICAgICAgICAgICAgICAgIGFkdmFuY2UoZW5kWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgbWF0Y2guZW5kID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhbmRsZVN0YXJ0VGFnKG1hdGNoKSB7XG4gICAgICAgIHZhciB0YWdOYW1lID0gbWF0Y2gudGFnTmFtZTtcbiAgICAgICAgdmFyIHVuYXJ5U2xhc2ggPSBtYXRjaC51bmFyeVNsYXNoO1xuICAgICAgICBpZiAoZXhwZWN0SFRNTCkge1xuICAgICAgICAgICAgaWYgKGxhc3RUYWcgPT09ICdwJyAmJiBpc05vblBocmFzaW5nVGFnKHRhZ05hbWUpKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VFbmRUYWcobGFzdFRhZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2FuQmVMZWZ0T3BlblRhZyh0YWdOYW1lKSAmJiBsYXN0VGFnID09PSB0YWdOYW1lKSB7XG4gICAgICAgICAgICAgICAgcGFyc2VFbmRUYWcodGFnTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHVuYXJ5ID0gaXNVbmFyeVRhZyh0YWdOYW1lKSB8fCAhIXVuYXJ5U2xhc2g7XG4gICAgICAgIHZhciBsID0gbWF0Y2guYXR0cnMubGVuZ3RoO1xuICAgICAgICB2YXIgYXR0cnMgPSBuZXcgQXJyYXkobCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgYXJncyA9IG1hdGNoLmF0dHJzW2ldO1xuICAgICAgICAgICAgdmFyIHZhbHVlID0gYXJnc1szXSB8fCBhcmdzWzRdIHx8IGFyZ3NbNV0gfHwgJyc7XG4gICAgICAgICAgICB2YXIgc2hvdWxkRGVjb2RlTmV3bGluZXMgPSB0YWdOYW1lID09PSAnYScgJiYgYXJnc1sxXSA9PT0gJ2hyZWYnXG4gICAgICAgICAgICAgICAgPyBvcHRpb25zLnNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZlxuICAgICAgICAgICAgICAgIDogb3B0aW9ucy5zaG91bGREZWNvZGVOZXdsaW5lcztcbiAgICAgICAgICAgIGF0dHJzW2ldID0ge1xuICAgICAgICAgICAgICAgIG5hbWU6IGFyZ3NbMV0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGRlY29kZUF0dHIodmFsdWUsIHNob3VsZERlY29kZU5ld2xpbmVzKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBhdHRyc1tpXS5zdGFydCA9IGFyZ3Muc3RhcnQgKyBhcmdzWzBdLm1hdGNoKC9eXFxzKi8pLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBhdHRyc1tpXS5lbmQgPSBhcmdzLmVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXVuYXJ5KSB7XG4gICAgICAgICAgICBzdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICB0YWc6IHRhZ05hbWUsXG4gICAgICAgICAgICAgICAgbG93ZXJDYXNlZFRhZzogdGFnTmFtZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgICAgICAgIGF0dHJzOiBhdHRycyxcbiAgICAgICAgICAgICAgICBzdGFydDogbWF0Y2guc3RhcnQsXG4gICAgICAgICAgICAgICAgZW5kOiBtYXRjaC5lbmRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbGFzdFRhZyA9IHRhZ05hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuc3RhcnQpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgYXR0cnMsIHVuYXJ5LCBtYXRjaC5zdGFydCwgbWF0Y2guZW5kKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBwYXJzZUVuZFRhZyh0YWdOYW1lLCBzdGFydCwgZW5kKSB7XG4gICAgICAgIHZhciBwb3MsIGxvd2VyQ2FzZWRUYWdOYW1lO1xuICAgICAgICBpZiAoc3RhcnQgPT0gbnVsbClcbiAgICAgICAgICAgIHN0YXJ0ID0gaW5kZXg7XG4gICAgICAgIGlmIChlbmQgPT0gbnVsbClcbiAgICAgICAgICAgIGVuZCA9IGluZGV4O1xuICAgICAgICAvLyBGaW5kIHRoZSBjbG9zZXN0IG9wZW5lZCB0YWcgb2YgdGhlIHNhbWUgdHlwZVxuICAgICAgICBpZiAodGFnTmFtZSkge1xuICAgICAgICAgICAgbG93ZXJDYXNlZFRhZ05hbWUgPSB0YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICBmb3IgKHBvcyA9IHN0YWNrLmxlbmd0aCAtIDE7IHBvcyA+PSAwOyBwb3MtLSkge1xuICAgICAgICAgICAgICAgIGlmIChzdGFja1twb3NdLmxvd2VyQ2FzZWRUYWcgPT09IGxvd2VyQ2FzZWRUYWdOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIElmIG5vIHRhZyBuYW1lIGlzIHByb3ZpZGVkLCBjbGVhbiBzaG9wXG4gICAgICAgICAgICBwb3MgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwb3MgPj0gMCkge1xuICAgICAgICAgICAgLy8gQ2xvc2UgYWxsIHRoZSBvcGVuIGVsZW1lbnRzLCB1cCB0aGUgc3RhY2tcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFjay5sZW5ndGggLSAxOyBpID49IHBvczsgaS0tKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgKGkgPiBwb3MgfHwgIXRhZ05hbWUpICYmIG9wdGlvbnMud2Fybikge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLndhcm4oXCJ0YWcgPFwiLmNvbmNhdChzdGFja1tpXS50YWcsIFwiPiBoYXMgbm8gbWF0Y2hpbmcgZW5kIHRhZy5cIiksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFja1tpXS5zdGFydCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogc3RhY2tbaV0uZW5kXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5lbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5lbmQoc3RhY2tbaV0udGFnLCBzdGFydCwgZW5kKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBSZW1vdmUgdGhlIG9wZW4gZWxlbWVudHMgZnJvbSB0aGUgc3RhY2tcbiAgICAgICAgICAgIHN0YWNrLmxlbmd0aCA9IHBvcztcbiAgICAgICAgICAgIGxhc3RUYWcgPSBwb3MgJiYgc3RhY2tbcG9zIC0gMV0udGFnO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGxvd2VyQ2FzZWRUYWdOYW1lID09PSAnYnInKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zdGFydCkge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgW10sIHRydWUsIHN0YXJ0LCBlbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGxvd2VyQ2FzZWRUYWdOYW1lID09PSAncCcpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5zdGFydCh0YWdOYW1lLCBbXSwgZmFsc2UsIHN0YXJ0LCBlbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZW5kKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5lbmQodGFnTmFtZSwgc3RhcnQsIGVuZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnZhciBvblJFID0gL15AfF52LW9uOi87XG52YXIgZGlyUkUgPSAvXnYtfF5AfF46fF4jLztcbnZhciBmb3JBbGlhc1JFID0gLyhbXFxzXFxTXSo/KVxccysoPzppbnxvZilcXHMrKFtcXHNcXFNdKikvO1xudmFyIGZvckl0ZXJhdG9yUkUgPSAvLChbXixcXH1cXF1dKikoPzosKFteLFxcfVxcXV0qKSk/JC87XG52YXIgc3RyaXBQYXJlbnNSRSA9IC9eXFwofFxcKSQvZztcbnZhciBkeW5hbWljQXJnUkUgPSAvXlxcWy4qXFxdJC87XG52YXIgYXJnUkUgPSAvOiguKikkLztcbnZhciBiaW5kUkUgPSAvXjp8XlxcLnxedi1iaW5kOi87XG52YXIgbW9kaWZpZXJSRSA9IC9cXC5bXi5cXF1dKyg/PVteXFxdXSokKS9nO1xudmFyIHNsb3RSRSA9IC9edi1zbG90KDp8JCl8XiMvO1xudmFyIGxpbmVCcmVha1JFID0gL1tcXHJcXG5dLztcbnZhciB3aGl0ZXNwYWNlUkUgPSAvWyBcXGZcXHRcXHJcXG5dKy9nO1xudmFyIGludmFsaWRBdHRyaWJ1dGVSRSA9IC9bXFxzXCInPD5cXC89XS87XG52YXIgZGVjb2RlSFRNTENhY2hlZCA9IGNhY2hlZChoZS5kZWNvZGUpO1xudmFyIGVtcHR5U2xvdFNjb3BlVG9rZW4gPSBcIl9lbXB0eV9cIjtcbi8vIGNvbmZpZ3VyYWJsZSBzdGF0ZVxudmFyIHdhcm47XG52YXIgZGVsaW1pdGVycztcbnZhciB0cmFuc2Zvcm1zO1xudmFyIHByZVRyYW5zZm9ybXM7XG52YXIgcG9zdFRyYW5zZm9ybXM7XG52YXIgcGxhdGZvcm1Jc1ByZVRhZztcbnZhciBwbGF0Zm9ybU11c3RVc2VQcm9wO1xudmFyIHBsYXRmb3JtR2V0VGFnTmFtZXNwYWNlO1xudmFyIG1heWJlQ29tcG9uZW50O1xuZnVuY3Rpb24gY3JlYXRlQVNURWxlbWVudCh0YWcsIGF0dHJzLCBwYXJlbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAxLFxuICAgICAgICB0YWc6IHRhZyxcbiAgICAgICAgYXR0cnNMaXN0OiBhdHRycyxcbiAgICAgICAgYXR0cnNNYXA6IG1ha2VBdHRyc01hcChhdHRycyksXG4gICAgICAgIHJhd0F0dHJzTWFwOiB7fSxcbiAgICAgICAgcGFyZW50OiBwYXJlbnQsXG4gICAgICAgIGNoaWxkcmVuOiBbXVxuICAgIH07XG59XG4vKipcbiAqIENvbnZlcnQgSFRNTCBzdHJpbmcgdG8gQVNULlxuICovXG5mdW5jdGlvbiBwYXJzZSh0ZW1wbGF0ZSwgb3B0aW9ucykge1xuICAgIHdhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdhcm47XG4gICAgcGxhdGZvcm1Jc1ByZVRhZyA9IG9wdGlvbnMuaXNQcmVUYWcgfHwgbm87XG4gICAgcGxhdGZvcm1NdXN0VXNlUHJvcCA9IG9wdGlvbnMubXVzdFVzZVByb3AgfHwgbm87XG4gICAgcGxhdGZvcm1HZXRUYWdOYW1lc3BhY2UgPSBvcHRpb25zLmdldFRhZ05hbWVzcGFjZSB8fCBubztcbiAgICB2YXIgaXNSZXNlcnZlZFRhZyA9IG9wdGlvbnMuaXNSZXNlcnZlZFRhZyB8fCBubztcbiAgICBtYXliZUNvbXBvbmVudCA9IGZ1bmN0aW9uIChlbCkge1xuICAgICAgICByZXR1cm4gISEoZWwuY29tcG9uZW50IHx8XG4gICAgICAgICAgICBlbC5hdHRyc01hcFsnOmlzJ10gfHxcbiAgICAgICAgICAgIGVsLmF0dHJzTWFwWyd2LWJpbmQ6aXMnXSB8fFxuICAgICAgICAgICAgIShlbC5hdHRyc01hcC5pcyA/IGlzUmVzZXJ2ZWRUYWcoZWwuYXR0cnNNYXAuaXMpIDogaXNSZXNlcnZlZFRhZyhlbC50YWcpKSk7XG4gICAgfTtcbiAgICB0cmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICd0cmFuc2Zvcm1Ob2RlJyk7XG4gICAgcHJlVHJhbnNmb3JtcyA9IHBsdWNrTW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVzLCAncHJlVHJhbnNmb3JtTm9kZScpO1xuICAgIHBvc3RUcmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICdwb3N0VHJhbnNmb3JtTm9kZScpO1xuICAgIGRlbGltaXRlcnMgPSBvcHRpb25zLmRlbGltaXRlcnM7XG4gICAgdmFyIHN0YWNrID0gW107XG4gICAgdmFyIHByZXNlcnZlV2hpdGVzcGFjZSA9IG9wdGlvbnMucHJlc2VydmVXaGl0ZXNwYWNlICE9PSBmYWxzZTtcbiAgICB2YXIgd2hpdGVzcGFjZU9wdGlvbiA9IG9wdGlvbnMud2hpdGVzcGFjZTtcbiAgICB2YXIgcm9vdDtcbiAgICB2YXIgY3VycmVudFBhcmVudDtcbiAgICB2YXIgaW5WUHJlID0gZmFsc2U7XG4gICAgdmFyIGluUHJlID0gZmFsc2U7XG4gICAgdmFyIHdhcm5lZCA9IGZhbHNlO1xuICAgIGZ1bmN0aW9uIHdhcm5PbmNlKG1zZywgcmFuZ2UpIHtcbiAgICAgICAgaWYgKCF3YXJuZWQpIHtcbiAgICAgICAgICAgIHdhcm5lZCA9IHRydWU7XG4gICAgICAgICAgICB3YXJuKG1zZywgcmFuZ2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNsb3NlRWxlbWVudChlbGVtZW50KSB7XG4gICAgICAgIHRyaW1FbmRpbmdXaGl0ZXNwYWNlKGVsZW1lbnQpO1xuICAgICAgICBpZiAoIWluVlByZSAmJiAhZWxlbWVudC5wcm9jZXNzZWQpIHtcbiAgICAgICAgICAgIGVsZW1lbnQgPSBwcm9jZXNzRWxlbWVudChlbGVtZW50LCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0cmVlIG1hbmFnZW1lbnRcbiAgICAgICAgaWYgKCFzdGFjay5sZW5ndGggJiYgZWxlbWVudCAhPT0gcm9vdCkge1xuICAgICAgICAgICAgLy8gYWxsb3cgcm9vdCBlbGVtZW50cyB3aXRoIHYtaWYsIHYtZWxzZS1pZiBhbmQgdi1lbHNlXG4gICAgICAgICAgICBpZiAocm9vdC5pZiAmJiAoZWxlbWVudC5lbHNlaWYgfHwgZWxlbWVudC5lbHNlKSkge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrUm9vdENvbnN0cmFpbnRzKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhZGRJZkNvbmRpdGlvbihyb290LCB7XG4gICAgICAgICAgICAgICAgICAgIGV4cDogZWxlbWVudC5lbHNlaWYsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrOiBlbGVtZW50XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgd2Fybk9uY2UoXCJDb21wb25lbnQgdGVtcGxhdGUgc2hvdWxkIGNvbnRhaW4gZXhhY3RseSBvbmUgcm9vdCBlbGVtZW50LiBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwiSWYgeW91IGFyZSB1c2luZyB2LWlmIG9uIG11bHRpcGxlIGVsZW1lbnRzLCBcIiArXG4gICAgICAgICAgICAgICAgICAgIFwidXNlIHYtZWxzZS1pZiB0byBjaGFpbiB0aGVtIGluc3RlYWQuXCIsIHsgc3RhcnQ6IGVsZW1lbnQuc3RhcnQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1cnJlbnRQYXJlbnQgJiYgIWVsZW1lbnQuZm9yYmlkZGVuKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5lbHNlaWYgfHwgZWxlbWVudC5lbHNlKSB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc0lmQ29uZGl0aW9ucyhlbGVtZW50LCBjdXJyZW50UGFyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnNsb3RTY29wZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBzY29wZWQgc2xvdFxuICAgICAgICAgICAgICAgICAgICAvLyBrZWVwIGl0IGluIHRoZSBjaGlsZHJlbiBsaXN0IHNvIHRoYXQgdi1lbHNlKC1pZikgY29uZGl0aW9ucyBjYW5cbiAgICAgICAgICAgICAgICAgICAgLy8gZmluZCBpdCBhcyB0aGUgcHJldiBub2RlLlxuICAgICAgICAgICAgICAgICAgICB2YXIgbmFtZV8xID0gZWxlbWVudC5zbG90VGFyZ2V0IHx8ICdcImRlZmF1bHRcIic7XG4gICAgICAgICAgICAgICAgICAgIChjdXJyZW50UGFyZW50LnNjb3BlZFNsb3RzIHx8IChjdXJyZW50UGFyZW50LnNjb3BlZFNsb3RzID0ge30pKVtuYW1lXzFdID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudC5jaGlsZHJlbi5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGVsZW1lbnQucGFyZW50ID0gY3VycmVudFBhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBmaW5hbCBjaGlsZHJlbiBjbGVhbnVwXG4gICAgICAgIC8vIGZpbHRlciBvdXQgc2NvcGVkIHNsb3RzXG4gICAgICAgIGVsZW1lbnQuY2hpbGRyZW4gPSBlbGVtZW50LmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbiAoYykgeyByZXR1cm4gIWMuc2xvdFNjb3BlOyB9KTtcbiAgICAgICAgLy8gcmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2Ugbm9kZSBhZ2FpblxuICAgICAgICB0cmltRW5kaW5nV2hpdGVzcGFjZShlbGVtZW50KTtcbiAgICAgICAgLy8gY2hlY2sgcHJlIHN0YXRlXG4gICAgICAgIGlmIChlbGVtZW50LnByZSkge1xuICAgICAgICAgICAgaW5WUHJlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBsYXRmb3JtSXNQcmVUYWcoZWxlbWVudC50YWcpKSB7XG4gICAgICAgICAgICBpblByZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFwcGx5IHBvc3QtdHJhbnNmb3Jtc1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBvc3RUcmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBwb3N0VHJhbnNmb3Jtc1tpXShlbGVtZW50LCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiB0cmltRW5kaW5nV2hpdGVzcGFjZShlbCkge1xuICAgICAgICAvLyByZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZSBub2RlXG4gICAgICAgIGlmICghaW5QcmUpIHtcbiAgICAgICAgICAgIHZhciBsYXN0Tm9kZSA9IHZvaWQgMDtcbiAgICAgICAgICAgIHdoaWxlICgobGFzdE5vZGUgPSBlbC5jaGlsZHJlbltlbC5jaGlsZHJlbi5sZW5ndGggLSAxXSkgJiZcbiAgICAgICAgICAgICAgICBsYXN0Tm9kZS50eXBlID09PSAzICYmXG4gICAgICAgICAgICAgICAgbGFzdE5vZGUudGV4dCA9PT0gJyAnKSB7XG4gICAgICAgICAgICAgICAgZWwuY2hpbGRyZW4ucG9wKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gY2hlY2tSb290Q29uc3RyYWludHMoZWwpIHtcbiAgICAgICAgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnIHx8IGVsLnRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgICAgICAgd2Fybk9uY2UoXCJDYW5ub3QgdXNlIDxcIi5jb25jYXQoZWwudGFnLCBcIj4gYXMgY29tcG9uZW50IHJvb3QgZWxlbWVudCBiZWNhdXNlIGl0IG1heSBcIikgK1xuICAgICAgICAgICAgICAgICdjb250YWluIG11bHRpcGxlIG5vZGVzLicsIHsgc3RhcnQ6IGVsLnN0YXJ0IH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbC5hdHRyc01hcC5oYXNPd25Qcm9wZXJ0eSgndi1mb3InKSkge1xuICAgICAgICAgICAgd2Fybk9uY2UoJ0Nhbm5vdCB1c2Ugdi1mb3Igb24gc3RhdGVmdWwgY29tcG9uZW50IHJvb3QgZWxlbWVudCBiZWNhdXNlICcgK1xuICAgICAgICAgICAgICAgICdpdCByZW5kZXJzIG11bHRpcGxlIGVsZW1lbnRzLicsIGVsLnJhd0F0dHJzTWFwWyd2LWZvciddKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwYXJzZUhUTUwodGVtcGxhdGUsIHtcbiAgICAgICAgd2Fybjogd2FybixcbiAgICAgICAgZXhwZWN0SFRNTDogb3B0aW9ucy5leHBlY3RIVE1MLFxuICAgICAgICBpc1VuYXJ5VGFnOiBvcHRpb25zLmlzVW5hcnlUYWcsXG4gICAgICAgIGNhbkJlTGVmdE9wZW5UYWc6IG9wdGlvbnMuY2FuQmVMZWZ0T3BlblRhZyxcbiAgICAgICAgc2hvdWxkRGVjb2RlTmV3bGluZXM6IG9wdGlvbnMuc2hvdWxkRGVjb2RlTmV3bGluZXMsXG4gICAgICAgIHNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZjogb3B0aW9ucy5zaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWYsXG4gICAgICAgIHNob3VsZEtlZXBDb21tZW50OiBvcHRpb25zLmNvbW1lbnRzLFxuICAgICAgICBvdXRwdXRTb3VyY2VSYW5nZTogb3B0aW9ucy5vdXRwdXRTb3VyY2VSYW5nZSxcbiAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uICh0YWcsIGF0dHJzLCB1bmFyeSwgc3RhcnQsIGVuZCkge1xuICAgICAgICAgICAgLy8gY2hlY2sgbmFtZXNwYWNlLlxuICAgICAgICAgICAgLy8gaW5oZXJpdCBwYXJlbnQgbnMgaWYgdGhlcmUgaXMgb25lXG4gICAgICAgICAgICB2YXIgbnMgPSAoY3VycmVudFBhcmVudCAmJiBjdXJyZW50UGFyZW50Lm5zKSB8fCBwbGF0Zm9ybUdldFRhZ05hbWVzcGFjZSh0YWcpO1xuICAgICAgICAgICAgLy8gaGFuZGxlIElFIHN2ZyBidWdcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgaWYgKGlzSUUgJiYgbnMgPT09ICdzdmcnKSB7XG4gICAgICAgICAgICAgICAgYXR0cnMgPSBndWFyZElFU1ZHQnVnKGF0dHJzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBlbGVtZW50ID0gY3JlYXRlQVNURWxlbWVudCh0YWcsIGF0dHJzLCBjdXJyZW50UGFyZW50KTtcbiAgICAgICAgICAgIGlmIChucykge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQubnMgPSBucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zdGFydCA9IHN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmVuZCA9IGVuZDtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yYXdBdHRyc01hcCA9IGVsZW1lbnQuYXR0cnNMaXN0LnJlZHVjZShmdW5jdGlvbiAoY3VtdWxhdGVkLCBhdHRyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdW11bGF0ZWRbYXR0ci5uYW1lXSA9IGF0dHI7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VtdWxhdGVkO1xuICAgICAgICAgICAgICAgICAgICB9LCB7fSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF0dHJzLmZvckVhY2goZnVuY3Rpb24gKGF0dHIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGludmFsaWRBdHRyaWJ1dGVSRS50ZXN0KGF0dHIubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4oXCJJbnZhbGlkIGR5bmFtaWMgYXJndW1lbnQgZXhwcmVzc2lvbjogYXR0cmlidXRlIG5hbWVzIGNhbm5vdCBjb250YWluIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInNwYWNlcywgcXVvdGVzLCA8LCA+LCAvIG9yID0uXCIsIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGF0dHIuc3RhcnQgKyBhdHRyLm5hbWUuaW5kZXhPZihcIltcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogYXR0ci5zdGFydCArIGF0dHIubmFtZS5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNGb3JiaWRkZW5UYWcoZWxlbWVudCkgJiYgIWlzU2VydmVyUmVuZGVyaW5nKCkpIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LmZvcmJpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgICAgICAgICAgICAgICB3YXJuKCdUZW1wbGF0ZXMgc2hvdWxkIG9ubHkgYmUgcmVzcG9uc2libGUgZm9yIG1hcHBpbmcgdGhlIHN0YXRlIHRvIHRoZSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdVSS4gQXZvaWQgcGxhY2luZyB0YWdzIHdpdGggc2lkZS1lZmZlY3RzIGluIHlvdXIgdGVtcGxhdGVzLCBzdWNoIGFzICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCI8XCIuY29uY2F0KHRhZywgXCI+XCIpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICcsIGFzIHRoZXkgd2lsbCBub3QgYmUgcGFyc2VkLicsIHsgc3RhcnQ6IGVsZW1lbnQuc3RhcnQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBhcHBseSBwcmUtdHJhbnNmb3Jtc1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcmVUcmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudCA9IHByZVRyYW5zZm9ybXNbaV0oZWxlbWVudCwgb3B0aW9ucykgfHwgZWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghaW5WUHJlKSB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1ByZShlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5wcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5WUHJlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGxhdGZvcm1Jc1ByZVRhZyhlbGVtZW50LnRhZykpIHtcbiAgICAgICAgICAgICAgICBpblByZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW5WUHJlKSB7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1Jhd0F0dHJzKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoIWVsZW1lbnQucHJvY2Vzc2VkKSB7XG4gICAgICAgICAgICAgICAgLy8gc3RydWN0dXJhbCBkaXJlY3RpdmVzXG4gICAgICAgICAgICAgICAgcHJvY2Vzc0ZvcihlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBwcm9jZXNzSWYoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc09uY2UoZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJvb3QpIHtcbiAgICAgICAgICAgICAgICByb290ID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBjaGVja1Jvb3RDb25zdHJhaW50cyhyb290KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXVuYXJ5KSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudCA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgc3RhY2sucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNsb3NlRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZW5kOiBmdW5jdGlvbiAodGFnLCBzdGFydCwgZW5kKSB7XG4gICAgICAgICAgICB2YXIgZWxlbWVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgLy8gcG9wIHN0YWNrXG4gICAgICAgICAgICBzdGFjay5sZW5ndGggLT0gMTtcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnQgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LmVuZCA9IGVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNsb3NlRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hhcnM6IGZ1bmN0aW9uICh0ZXh0LCBzdGFydCwgZW5kKSB7XG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRQYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGV4dCA9PT0gdGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5PbmNlKCdDb21wb25lbnQgdGVtcGxhdGUgcmVxdWlyZXMgYSByb290IGVsZW1lbnQsIHJhdGhlciB0aGFuIGp1c3QgdGV4dC4nLCB7IHN0YXJ0OiBzdGFydCB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgodGV4dCA9IHRleHQudHJpbSgpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2Fybk9uY2UoXCJ0ZXh0IFxcXCJcIi5jb25jYXQodGV4dCwgXCJcXFwiIG91dHNpZGUgcm9vdCBlbGVtZW50IHdpbGwgYmUgaWdub3JlZC5cIiksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogc3RhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElFIHRleHRhcmVhIHBsYWNlaG9sZGVyIGJ1Z1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgICBpZiAoaXNJRSAmJlxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJlbnQudGFnID09PSAndGV4dGFyZWEnICYmXG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudC5hdHRyc01hcC5wbGFjZWhvbGRlciA9PT0gdGV4dCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBjaGlsZHJlbiA9IGN1cnJlbnRQYXJlbnQuY2hpbGRyZW47XG4gICAgICAgICAgICBpZiAoaW5QcmUgfHwgdGV4dC50cmltKCkpIHtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gaXNUZXh0VGFnKGN1cnJlbnRQYXJlbnQpXG4gICAgICAgICAgICAgICAgICAgID8gdGV4dFxuICAgICAgICAgICAgICAgICAgICA6IGRlY29kZUhUTUxDYWNoZWQodGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICghY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSB3aGl0ZXNwYWNlLW9ubHkgbm9kZSByaWdodCBhZnRlciBhbiBvcGVuaW5nIHRhZ1xuICAgICAgICAgICAgICAgIHRleHQgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHdoaXRlc3BhY2VPcHRpb24pIHtcbiAgICAgICAgICAgICAgICBpZiAod2hpdGVzcGFjZU9wdGlvbiA9PT0gJ2NvbmRlbnNlJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBpbiBjb25kZW5zZSBtb2RlLCByZW1vdmUgdGhlIHdoaXRlc3BhY2Ugbm9kZSBpZiBpdCBjb250YWluc1xuICAgICAgICAgICAgICAgICAgICAvLyBsaW5lIGJyZWFrLCBvdGhlcndpc2UgY29uZGVuc2UgdG8gYSBzaW5nbGUgc3BhY2VcbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGxpbmVCcmVha1JFLnRlc3QodGV4dCkgPyAnJyA6ICcgJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSAnICc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdGV4dCA9IHByZXNlcnZlV2hpdGVzcGFjZSA/ICcgJyA6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWluUHJlICYmIHdoaXRlc3BhY2VPcHRpb24gPT09ICdjb25kZW5zZScpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uZGVuc2UgY29uc2VjdXRpdmUgd2hpdGVzcGFjZXMgaW50byBzaW5nbGUgc3BhY2VcbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9IHRleHQucmVwbGFjZSh3aGl0ZXNwYWNlUkUsICcgJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciByZXMgPSB2b2lkIDA7XG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkID0gdm9pZCAwO1xuICAgICAgICAgICAgICAgIGlmICghaW5WUHJlICYmIHRleHQgIT09ICcgJyAmJiAocmVzID0gcGFyc2VUZXh0KHRleHQsIGRlbGltaXRlcnMpKSkge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IDIsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiByZXMuZXhwcmVzc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuczogcmVzLnRva2VucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodGV4dCAhPT0gJyAnIHx8XG4gICAgICAgICAgICAgICAgICAgICFjaGlsZHJlbi5sZW5ndGggfHxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV0udGV4dCAhPT0gJyAnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogMyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIG9wdGlvbnMub3V0cHV0U291cmNlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLnN0YXJ0ID0gc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZC5lbmQgPSBlbmQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50OiBmdW5jdGlvbiAodGV4dCwgc3RhcnQsIGVuZCkge1xuICAgICAgICAgICAgLy8gYWRkaW5nIGFueXRoaW5nIGFzIGEgc2libGluZyB0byB0aGUgcm9vdCBub2RlIGlzIGZvcmJpZGRlblxuICAgICAgICAgICAgLy8gY29tbWVudHMgc2hvdWxkIHN0aWxsIGJlIGFsbG93ZWQsIGJ1dCBpZ25vcmVkXG4gICAgICAgICAgICBpZiAoY3VycmVudFBhcmVudCkge1xuICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogMyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgaXNDb21tZW50OiB0cnVlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLnN0YXJ0ID0gc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLmVuZCA9IGVuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudC5jaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByb290O1xufVxuZnVuY3Rpb24gcHJvY2Vzc1ByZShlbCkge1xuICAgIGlmIChnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1wcmUnKSAhPSBudWxsKSB7XG4gICAgICAgIGVsLnByZSA9IHRydWU7XG4gICAgfVxufVxuZnVuY3Rpb24gcHJvY2Vzc1Jhd0F0dHJzKGVsKSB7XG4gICAgdmFyIGxpc3QgPSBlbC5hdHRyc0xpc3Q7XG4gICAgdmFyIGxlbiA9IGxpc3QubGVuZ3RoO1xuICAgIGlmIChsZW4pIHtcbiAgICAgICAgdmFyIGF0dHJzID0gKGVsLmF0dHJzID0gbmV3IEFycmF5KGxlbikpO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgICBhdHRyc1tpXSA9IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBsaXN0W2ldLm5hbWUsXG4gICAgICAgICAgICAgICAgdmFsdWU6IEpTT04uc3RyaW5naWZ5KGxpc3RbaV0udmFsdWUpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKGxpc3RbaV0uc3RhcnQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGF0dHJzW2ldLnN0YXJ0ID0gbGlzdFtpXS5zdGFydDtcbiAgICAgICAgICAgICAgICBhdHRyc1tpXS5lbmQgPSBsaXN0W2ldLmVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICghZWwucHJlKSB7XG4gICAgICAgIC8vIG5vbiByb290IG5vZGUgaW4gcHJlIGJsb2NrcyB3aXRoIG5vIGF0dHJpYnV0ZXNcbiAgICAgICAgZWwucGxhaW4gPSB0cnVlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHByb2Nlc3NFbGVtZW50KGVsZW1lbnQsIG9wdGlvbnMpIHtcbiAgICBwcm9jZXNzS2V5KGVsZW1lbnQpO1xuICAgIC8vIGRldGVybWluZSB3aGV0aGVyIHRoaXMgaXMgYSBwbGFpbiBlbGVtZW50IGFmdGVyXG4gICAgLy8gcmVtb3Zpbmcgc3RydWN0dXJhbCBhdHRyaWJ1dGVzXG4gICAgZWxlbWVudC5wbGFpbiA9XG4gICAgICAgICFlbGVtZW50LmtleSAmJiAhZWxlbWVudC5zY29wZWRTbG90cyAmJiAhZWxlbWVudC5hdHRyc0xpc3QubGVuZ3RoO1xuICAgIHByb2Nlc3NSZWYoZWxlbWVudCk7XG4gICAgcHJvY2Vzc1Nsb3RDb250ZW50KGVsZW1lbnQpO1xuICAgIHByb2Nlc3NTbG90T3V0bGV0KGVsZW1lbnQpO1xuICAgIHByb2Nlc3NDb21wb25lbnQoZWxlbWVudCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGVsZW1lbnQgPSB0cmFuc2Zvcm1zW2ldKGVsZW1lbnQsIG9wdGlvbnMpIHx8IGVsZW1lbnQ7XG4gICAgfVxuICAgIHByb2Nlc3NBdHRycyhlbGVtZW50KTtcbiAgICByZXR1cm4gZWxlbWVudDtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NLZXkoZWwpIHtcbiAgICB2YXIgZXhwID0gZ2V0QmluZGluZ0F0dHIoZWwsICdrZXknKTtcbiAgICBpZiAoZXhwKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICBpZiAoZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgICAgICAgICAgd2FybihcIjx0ZW1wbGF0ZT4gY2Fubm90IGJlIGtleWVkLiBQbGFjZSB0aGUga2V5IG9uIHJlYWwgZWxlbWVudHMgaW5zdGVhZC5cIiwgZ2V0UmF3QmluZGluZ0F0dHIoZWwsICdrZXknKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZWwuZm9yKSB7XG4gICAgICAgICAgICAgICAgdmFyIGl0ZXJhdG9yID0gZWwuaXRlcmF0b3IyIHx8IGVsLml0ZXJhdG9yMTtcbiAgICAgICAgICAgICAgICB2YXIgcGFyZW50XzEgPSBlbC5wYXJlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZXJhdG9yICYmXG4gICAgICAgICAgICAgICAgICAgIGl0ZXJhdG9yID09PSBleHAgJiZcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50XzEgJiZcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50XzEudGFnID09PSAndHJhbnNpdGlvbi1ncm91cCcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2FybihcIkRvIG5vdCB1c2Ugdi1mb3IgaW5kZXggYXMga2V5IG9uIDx0cmFuc2l0aW9uLWdyb3VwPiBjaGlsZHJlbiwgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0aGlzIGlzIHRoZSBzYW1lIGFzIG5vdCB1c2luZyBrZXlzLlwiLCBnZXRSYXdCaW5kaW5nQXR0cihlbCwgJ2tleScpLCB0cnVlIC8qIHRpcCAqLyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsLmtleSA9IGV4cDtcbiAgICB9XG59XG5mdW5jdGlvbiBwcm9jZXNzUmVmKGVsKSB7XG4gICAgdmFyIHJlZiA9IGdldEJpbmRpbmdBdHRyKGVsLCAncmVmJyk7XG4gICAgaWYgKHJlZikge1xuICAgICAgICBlbC5yZWYgPSByZWY7XG4gICAgICAgIGVsLnJlZkluRm9yID0gY2hlY2tJbkZvcihlbCk7XG4gICAgfVxufVxuZnVuY3Rpb24gcHJvY2Vzc0ZvcihlbCkge1xuICAgIHZhciBleHA7XG4gICAgaWYgKChleHAgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1mb3InKSkpIHtcbiAgICAgICAgdmFyIHJlcyA9IHBhcnNlRm9yKGV4cCk7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIGV4dGVuZChlbCwgcmVzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB3YXJuKFwiSW52YWxpZCB2LWZvciBleHByZXNzaW9uOiBcIi5jb25jYXQoZXhwKSwgZWwucmF3QXR0cnNNYXBbJ3YtZm9yJ10pO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gcGFyc2VGb3IoZXhwKSB7XG4gICAgdmFyIGluTWF0Y2ggPSBleHAubWF0Y2goZm9yQWxpYXNSRSk7XG4gICAgaWYgKCFpbk1hdGNoKVxuICAgICAgICByZXR1cm47XG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIHJlcy5mb3IgPSBpbk1hdGNoWzJdLnRyaW0oKTtcbiAgICB2YXIgYWxpYXMgPSBpbk1hdGNoWzFdLnRyaW0oKS5yZXBsYWNlKHN0cmlwUGFyZW5zUkUsICcnKTtcbiAgICB2YXIgaXRlcmF0b3JNYXRjaCA9IGFsaWFzLm1hdGNoKGZvckl0ZXJhdG9yUkUpO1xuICAgIGlmIChpdGVyYXRvck1hdGNoKSB7XG4gICAgICAgIHJlcy5hbGlhcyA9IGFsaWFzLnJlcGxhY2UoZm9ySXRlcmF0b3JSRSwgJycpLnRyaW0oKTtcbiAgICAgICAgcmVzLml0ZXJhdG9yMSA9IGl0ZXJhdG9yTWF0Y2hbMV0udHJpbSgpO1xuICAgICAgICBpZiAoaXRlcmF0b3JNYXRjaFsyXSkge1xuICAgICAgICAgICAgcmVzLml0ZXJhdG9yMiA9IGl0ZXJhdG9yTWF0Y2hbMl0udHJpbSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXMuYWxpYXMgPSBhbGlhcztcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbmZ1bmN0aW9uIHByb2Nlc3NJZihlbCkge1xuICAgIHZhciBleHAgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1pZicpO1xuICAgIGlmIChleHApIHtcbiAgICAgICAgZWwuaWYgPSBleHA7XG4gICAgICAgIGFkZElmQ29uZGl0aW9uKGVsLCB7XG4gICAgICAgICAgICBleHA6IGV4cCxcbiAgICAgICAgICAgIGJsb2NrOiBlbFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGlmIChnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1lbHNlJykgIT0gbnVsbCkge1xuICAgICAgICAgICAgZWwuZWxzZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGVsc2VpZiA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UtaWYnKTtcbiAgICAgICAgaWYgKGVsc2VpZikge1xuICAgICAgICAgICAgZWwuZWxzZWlmID0gZWxzZWlmO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gcHJvY2Vzc0lmQ29uZGl0aW9ucyhlbCwgcGFyZW50KSB7XG4gICAgdmFyIHByZXYgPSBmaW5kUHJldkVsZW1lbnQocGFyZW50LmNoaWxkcmVuKTtcbiAgICBpZiAocHJldiAmJiBwcmV2LmlmKSB7XG4gICAgICAgIGFkZElmQ29uZGl0aW9uKHByZXYsIHtcbiAgICAgICAgICAgIGV4cDogZWwuZWxzZWlmLFxuICAgICAgICAgICAgYmxvY2s6IGVsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIHdhcm4oXCJ2LVwiLmNvbmNhdChlbC5lbHNlaWYgPyAnZWxzZS1pZj1cIicgKyBlbC5lbHNlaWYgKyAnXCInIDogJ2Vsc2UnLCBcIiBcIikgK1xuICAgICAgICAgICAgXCJ1c2VkIG9uIGVsZW1lbnQgPFwiLmNvbmNhdChlbC50YWcsIFwiPiB3aXRob3V0IGNvcnJlc3BvbmRpbmcgdi1pZi5cIiksIGVsLnJhd0F0dHJzTWFwW2VsLmVsc2VpZiA/ICd2LWVsc2UtaWYnIDogJ3YtZWxzZSddKTtcbiAgICB9XG59XG5mdW5jdGlvbiBmaW5kUHJldkVsZW1lbnQoY2hpbGRyZW4pIHtcbiAgICB2YXIgaSA9IGNoaWxkcmVuLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgIGlmIChjaGlsZHJlbltpXS50eXBlID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gY2hpbGRyZW5baV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjaGlsZHJlbltpXS50ZXh0ICE9PSAnICcpIHtcbiAgICAgICAgICAgICAgICB3YXJuKFwidGV4dCBcXFwiXCIuY29uY2F0KGNoaWxkcmVuW2ldLnRleHQudHJpbSgpLCBcIlxcXCIgYmV0d2VlbiB2LWlmIGFuZCB2LWVsc2UoLWlmKSBcIikgK1xuICAgICAgICAgICAgICAgICAgICBcIndpbGwgYmUgaWdub3JlZC5cIiwgY2hpbGRyZW5baV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hpbGRyZW4ucG9wKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBhZGRJZkNvbmRpdGlvbihlbCwgY29uZGl0aW9uKSB7XG4gICAgaWYgKCFlbC5pZkNvbmRpdGlvbnMpIHtcbiAgICAgICAgZWwuaWZDb25kaXRpb25zID0gW107XG4gICAgfVxuICAgIGVsLmlmQ29uZGl0aW9ucy5wdXNoKGNvbmRpdGlvbik7XG59XG5mdW5jdGlvbiBwcm9jZXNzT25jZShlbCkge1xuICAgIHZhciBvbmNlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Ytb25jZScpO1xuICAgIGlmIChvbmNlICE9IG51bGwpIHtcbiAgICAgICAgZWwub25jZSA9IHRydWU7XG4gICAgfVxufVxuLy8gaGFuZGxlIGNvbnRlbnQgYmVpbmcgcGFzc2VkIHRvIGEgY29tcG9uZW50IGFzIHNsb3QsXG4vLyBlLmcuIDx0ZW1wbGF0ZSBzbG90PVwieHh4XCI+LCA8ZGl2IHNsb3Qtc2NvcGU9XCJ4eHhcIj5cbmZ1bmN0aW9uIHByb2Nlc3NTbG90Q29udGVudChlbCkge1xuICAgIHZhciBzbG90U2NvcGU7XG4gICAgaWYgKGVsLnRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgICBzbG90U2NvcGUgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnc2NvcGUnKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHNsb3RTY29wZSkge1xuICAgICAgICAgICAgd2FybihcInRoZSBcXFwic2NvcGVcXFwiIGF0dHJpYnV0ZSBmb3Igc2NvcGVkIHNsb3RzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgICAgICAgICAgICAgXCJyZXBsYWNlZCBieSBcXFwic2xvdC1zY29wZVxcXCIgc2luY2UgMi41LiBUaGUgbmV3IFxcXCJzbG90LXNjb3BlXFxcIiBhdHRyaWJ1dGUgXCIgK1xuICAgICAgICAgICAgICAgIFwiY2FuIGFsc28gYmUgdXNlZCBvbiBwbGFpbiBlbGVtZW50cyBpbiBhZGRpdGlvbiB0byA8dGVtcGxhdGU+IHRvIFwiICtcbiAgICAgICAgICAgICAgICBcImRlbm90ZSBzY29wZWQgc2xvdHMuXCIsIGVsLnJhd0F0dHJzTWFwWydzY29wZSddLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbC5zbG90U2NvcGUgPSBzbG90U2NvcGUgfHwgZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Nsb3Qtc2NvcGUnKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHNsb3RTY29wZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICdzbG90LXNjb3BlJykpKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBlbC5hdHRyc01hcFsndi1mb3InXSkge1xuICAgICAgICAgICAgd2FybihcIkFtYmlndW91cyBjb21iaW5lZCB1c2FnZSBvZiBzbG90LXNjb3BlIGFuZCB2LWZvciBvbiA8XCIuY29uY2F0KGVsLnRhZywgXCI+IFwiKSArXG4gICAgICAgICAgICAgICAgXCIodi1mb3IgdGFrZXMgaGlnaGVyIHByaW9yaXR5KS4gVXNlIGEgd3JhcHBlciA8dGVtcGxhdGU+IGZvciB0aGUgXCIgK1xuICAgICAgICAgICAgICAgIFwic2NvcGVkIHNsb3QgdG8gbWFrZSBpdCBjbGVhcmVyLlwiLCBlbC5yYXdBdHRyc01hcFsnc2xvdC1zY29wZSddLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbC5zbG90U2NvcGUgPSBzbG90U2NvcGU7XG4gICAgfVxuICAgIC8vIHNsb3Q9XCJ4eHhcIlxuICAgIHZhciBzbG90VGFyZ2V0ID0gZ2V0QmluZGluZ0F0dHIoZWwsICdzbG90Jyk7XG4gICAgaWYgKHNsb3RUYXJnZXQpIHtcbiAgICAgICAgZWwuc2xvdFRhcmdldCA9IHNsb3RUYXJnZXQgPT09ICdcIlwiJyA/ICdcImRlZmF1bHRcIicgOiBzbG90VGFyZ2V0O1xuICAgICAgICBlbC5zbG90VGFyZ2V0RHluYW1pYyA9ICEhKGVsLmF0dHJzTWFwWyc6c2xvdCddIHx8IGVsLmF0dHJzTWFwWyd2LWJpbmQ6c2xvdCddKTtcbiAgICAgICAgLy8gcHJlc2VydmUgc2xvdCBhcyBhbiBhdHRyaWJ1dGUgZm9yIG5hdGl2ZSBzaGFkb3cgRE9NIGNvbXBhdFxuICAgICAgICAvLyBvbmx5IGZvciBub24tc2NvcGVkIHNsb3RzLlxuICAgICAgICBpZiAoZWwudGFnICE9PSAndGVtcGxhdGUnICYmICFlbC5zbG90U2NvcGUpIHtcbiAgICAgICAgICAgIGFkZEF0dHIoZWwsICdzbG90Jywgc2xvdFRhcmdldCwgZ2V0UmF3QmluZGluZ0F0dHIoZWwsICdzbG90JykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIDIuNiB2LXNsb3Qgc3ludGF4XG4gICAge1xuICAgICAgICBpZiAoZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgICAgICAvLyB2LXNsb3Qgb24gPHRlbXBsYXRlPlxuICAgICAgICAgICAgdmFyIHNsb3RCaW5kaW5nID0gZ2V0QW5kUmVtb3ZlQXR0ckJ5UmVnZXgoZWwsIHNsb3RSRSk7XG4gICAgICAgICAgICBpZiAoc2xvdEJpbmRpbmcpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZWwuc2xvdFRhcmdldCB8fCBlbC5zbG90U2NvcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4oXCJVbmV4cGVjdGVkIG1peGVkIHVzYWdlIG9mIGRpZmZlcmVudCBzbG90IHN5bnRheGVzLlwiLCBlbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsLnBhcmVudCAmJiAhbWF5YmVDb21wb25lbnQoZWwucGFyZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2FybihcIjx0ZW1wbGF0ZSB2LXNsb3Q+IGNhbiBvbmx5IGFwcGVhciBhdCB0aGUgcm9vdCBsZXZlbCBpbnNpZGUgXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidGhlIHJlY2VpdmluZyBjb21wb25lbnRcIiwgZWwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciBfYSA9IGdldFNsb3ROYW1lKHNsb3RCaW5kaW5nKSwgbmFtZV8yID0gX2EubmFtZSwgZHluYW1pYyA9IF9hLmR5bmFtaWM7XG4gICAgICAgICAgICAgICAgZWwuc2xvdFRhcmdldCA9IG5hbWVfMjtcbiAgICAgICAgICAgICAgICBlbC5zbG90VGFyZ2V0RHluYW1pYyA9IGR5bmFtaWM7XG4gICAgICAgICAgICAgICAgZWwuc2xvdFNjb3BlID0gc2xvdEJpbmRpbmcudmFsdWUgfHwgZW1wdHlTbG90U2NvcGVUb2tlbjsgLy8gZm9yY2UgaXQgaW50byBhIHNjb3BlZCBzbG90IGZvciBwZXJmXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyB2LXNsb3Qgb24gY29tcG9uZW50LCBkZW5vdGVzIGRlZmF1bHQgc2xvdFxuICAgICAgICAgICAgdmFyIHNsb3RCaW5kaW5nID0gZ2V0QW5kUmVtb3ZlQXR0ckJ5UmVnZXgoZWwsIHNsb3RSRSk7XG4gICAgICAgICAgICBpZiAoc2xvdEJpbmRpbmcpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1heWJlQ29tcG9uZW50KGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2FybihcInYtc2xvdCBjYW4gb25seSBiZSB1c2VkIG9uIGNvbXBvbmVudHMgb3IgPHRlbXBsYXRlPi5cIiwgc2xvdEJpbmRpbmcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbC5zbG90U2NvcGUgfHwgZWwuc2xvdFRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2FybihcIlVuZXhwZWN0ZWQgbWl4ZWQgdXNhZ2Ugb2YgZGlmZmVyZW50IHNsb3Qgc3ludGF4ZXMuXCIsIGVsKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoZWwuc2NvcGVkU2xvdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4oXCJUbyBhdm9pZCBzY29wZSBhbWJpZ3VpdHksIHRoZSBkZWZhdWx0IHNsb3Qgc2hvdWxkIGFsc28gdXNlIFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjx0ZW1wbGF0ZT4gc3ludGF4IHdoZW4gdGhlcmUgYXJlIG90aGVyIG5hbWVkIHNsb3RzLlwiLCBzbG90QmluZGluZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gYWRkIHRoZSBjb21wb25lbnQncyBjaGlsZHJlbiB0byBpdHMgZGVmYXVsdCBzbG90XG4gICAgICAgICAgICAgICAgdmFyIHNsb3RzID0gZWwuc2NvcGVkU2xvdHMgfHwgKGVsLnNjb3BlZFNsb3RzID0ge30pO1xuICAgICAgICAgICAgICAgIHZhciBfYiA9IGdldFNsb3ROYW1lKHNsb3RCaW5kaW5nKSwgbmFtZV8zID0gX2IubmFtZSwgZHluYW1pYyA9IF9iLmR5bmFtaWM7XG4gICAgICAgICAgICAgICAgdmFyIHNsb3RDb250YWluZXJfMSA9IChzbG90c1tuYW1lXzNdID0gY3JlYXRlQVNURWxlbWVudCgndGVtcGxhdGUnLCBbXSwgZWwpKTtcbiAgICAgICAgICAgICAgICBzbG90Q29udGFpbmVyXzEuc2xvdFRhcmdldCA9IG5hbWVfMztcbiAgICAgICAgICAgICAgICBzbG90Q29udGFpbmVyXzEuc2xvdFRhcmdldER5bmFtaWMgPSBkeW5hbWljO1xuICAgICAgICAgICAgICAgIHNsb3RDb250YWluZXJfMS5jaGlsZHJlbiA9IGVsLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbiAoYykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWMuc2xvdFNjb3BlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjLnBhcmVudCA9IHNsb3RDb250YWluZXJfMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc2xvdENvbnRhaW5lcl8xLnNsb3RTY29wZSA9IHNsb3RCaW5kaW5nLnZhbHVlIHx8IGVtcHR5U2xvdFNjb3BlVG9rZW47XG4gICAgICAgICAgICAgICAgLy8gcmVtb3ZlIGNoaWxkcmVuIGFzIHRoZXkgYXJlIHJldHVybmVkIGZyb20gc2NvcGVkU2xvdHMgbm93XG4gICAgICAgICAgICAgICAgZWwuY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgICAgICAvLyBtYXJrIGVsIG5vbi1wbGFpbiBzbyBkYXRhIGdldHMgZ2VuZXJhdGVkXG4gICAgICAgICAgICAgICAgZWwucGxhaW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFNsb3ROYW1lKGJpbmRpbmcpIHtcbiAgICB2YXIgbmFtZSA9IGJpbmRpbmcubmFtZS5yZXBsYWNlKHNsb3RSRSwgJycpO1xuICAgIGlmICghbmFtZSkge1xuICAgICAgICBpZiAoYmluZGluZy5uYW1lWzBdICE9PSAnIycpIHtcbiAgICAgICAgICAgIG5hbWUgPSAnZGVmYXVsdCc7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgd2FybihcInYtc2xvdCBzaG9ydGhhbmQgc3ludGF4IHJlcXVpcmVzIGEgc2xvdCBuYW1lLlwiLCBiaW5kaW5nKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZHluYW1pY0FyZ1JFLnRlc3QobmFtZSlcbiAgICAgICAgPyAvLyBkeW5hbWljIFtuYW1lXVxuICAgICAgICAgICAgeyBuYW1lOiBuYW1lLnNsaWNlKDEsIC0xKSwgZHluYW1pYzogdHJ1ZSB9XG4gICAgICAgIDogLy8gc3RhdGljIG5hbWVcbiAgICAgICAgICAgIHsgbmFtZTogXCJcXFwiXCIuY29uY2F0KG5hbWUsIFwiXFxcIlwiKSwgZHluYW1pYzogZmFsc2UgfTtcbn1cbi8vIGhhbmRsZSA8c2xvdC8+IG91dGxldHNcbmZ1bmN0aW9uIHByb2Nlc3NTbG90T3V0bGV0KGVsKSB7XG4gICAgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnKSB7XG4gICAgICAgIGVsLnNsb3ROYW1lID0gZ2V0QmluZGluZ0F0dHIoZWwsICduYW1lJyk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGVsLmtleSkge1xuICAgICAgICAgICAgd2FybihcImBrZXlgIGRvZXMgbm90IHdvcmsgb24gPHNsb3Q+IGJlY2F1c2Ugc2xvdHMgYXJlIGFic3RyYWN0IG91dGxldHMgXCIgK1xuICAgICAgICAgICAgICAgIFwiYW5kIGNhbiBwb3NzaWJseSBleHBhbmQgaW50byBtdWx0aXBsZSBlbGVtZW50cy4gXCIgK1xuICAgICAgICAgICAgICAgIFwiVXNlIHRoZSBrZXkgb24gYSB3cmFwcGluZyBlbGVtZW50IGluc3RlYWQuXCIsIGdldFJhd0JpbmRpbmdBdHRyKGVsLCAna2V5JykpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gcHJvY2Vzc0NvbXBvbmVudChlbCkge1xuICAgIHZhciBiaW5kaW5nO1xuICAgIGlmICgoYmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnaXMnKSkpIHtcbiAgICAgICAgZWwuY29tcG9uZW50ID0gYmluZGluZztcbiAgICB9XG4gICAgaWYgKGdldEFuZFJlbW92ZUF0dHIoZWwsICdpbmxpbmUtdGVtcGxhdGUnKSAhPSBudWxsKSB7XG4gICAgICAgIGVsLmlubGluZVRlbXBsYXRlID0gdHJ1ZTtcbiAgICB9XG59XG5mdW5jdGlvbiBwcm9jZXNzQXR0cnMoZWwpIHtcbiAgICB2YXIgbGlzdCA9IGVsLmF0dHJzTGlzdDtcbiAgICB2YXIgaSwgbCwgbmFtZSwgcmF3TmFtZSwgdmFsdWUsIG1vZGlmaWVycywgc3luY0dlbiwgaXNEeW5hbWljO1xuICAgIGZvciAoaSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBuYW1lID0gcmF3TmFtZSA9IGxpc3RbaV0ubmFtZTtcbiAgICAgICAgdmFsdWUgPSBsaXN0W2ldLnZhbHVlO1xuICAgICAgICBpZiAoZGlyUkUudGVzdChuYW1lKSkge1xuICAgICAgICAgICAgLy8gbWFyayBlbGVtZW50IGFzIGR5bmFtaWNcbiAgICAgICAgICAgIGVsLmhhc0JpbmRpbmdzID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIG1vZGlmaWVyc1xuICAgICAgICAgICAgbW9kaWZpZXJzID0gcGFyc2VNb2RpZmllcnMobmFtZS5yZXBsYWNlKGRpclJFLCAnJykpO1xuICAgICAgICAgICAgLy8gc3VwcG9ydCAuZm9vIHNob3J0aGFuZCBzeW50YXggZm9yIHRoZSAucHJvcCBtb2RpZmllclxuICAgICAgICAgICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgICAgICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UobW9kaWZpZXJSRSwgJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGJpbmRSRS50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgLy8gdi1iaW5kXG4gICAgICAgICAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShiaW5kUkUsICcnKTtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmlsdGVycyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgaXNEeW5hbWljID0gZHluYW1pY0FyZ1JFLnRlc3QobmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzRHluYW1pYykge1xuICAgICAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zbGljZSgxLCAtMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHZhbHVlLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgd2FybihcIlRoZSB2YWx1ZSBmb3IgYSB2LWJpbmQgZXhwcmVzc2lvbiBjYW5ub3QgYmUgZW1wdHkuIEZvdW5kIGluIFxcXCJ2LWJpbmQ6XCIuY29uY2F0KG5hbWUsIFwiXFxcIlwiKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChtb2RpZmllcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGlmaWVycy5wcm9wICYmICFpc0R5bmFtaWMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBjYW1lbGl6ZShuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuYW1lID09PSAnaW5uZXJIdG1sJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gJ2lubmVySFRNTCc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGlmaWVycy5jYW1lbCAmJiAhaXNEeW5hbWljKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lID0gY2FtZWxpemUobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGlmaWVycy5zeW5jKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzeW5jR2VuID0gZ2VuQXNzaWdubWVudENvZGUodmFsdWUsIFwiJGV2ZW50XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0R5bmFtaWMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRIYW5kbGVyKGVsLCBcInVwZGF0ZTpcIi5jb25jYXQoY2FtZWxpemUobmFtZSkpLCBzeW5jR2VuLCBudWxsLCBmYWxzZSwgd2FybiwgbGlzdFtpXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGh5cGhlbmF0ZShuYW1lKSAhPT0gY2FtZWxpemUobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkSGFuZGxlcihlbCwgXCJ1cGRhdGU6XCIuY29uY2F0KGh5cGhlbmF0ZShuYW1lKSksIHN5bmNHZW4sIG51bGwsIGZhbHNlLCB3YXJuLCBsaXN0W2ldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYW5kbGVyIHcvIGR5bmFtaWMgZXZlbnQgbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZEhhbmRsZXIoZWwsIFwiXFxcInVwZGF0ZTpcXFwiKyhcIi5jb25jYXQobmFtZSwgXCIpXCIpLCBzeW5jR2VuLCBudWxsLCBmYWxzZSwgd2FybiwgbGlzdFtpXSwgdHJ1ZSAvLyBkeW5hbWljXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKG1vZGlmaWVycyAmJiBtb2RpZmllcnMucHJvcCkgfHxcbiAgICAgICAgICAgICAgICAgICAgKCFlbC5jb21wb25lbnQgJiYgcGxhdGZvcm1NdXN0VXNlUHJvcChlbC50YWcsIGVsLmF0dHJzTWFwLnR5cGUsIG5hbWUpKSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRQcm9wKGVsLCBuYW1lLCB2YWx1ZSwgbGlzdFtpXSwgaXNEeW5hbWljKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZEF0dHIoZWwsIG5hbWUsIHZhbHVlLCBsaXN0W2ldLCBpc0R5bmFtaWMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG9uUkUudGVzdChuYW1lKSkge1xuICAgICAgICAgICAgICAgIC8vIHYtb25cbiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKG9uUkUsICcnKTtcbiAgICAgICAgICAgICAgICBpc0R5bmFtaWMgPSBkeW5hbWljQXJnUkUudGVzdChuYW1lKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNEeW5hbWljKSB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDEsIC0xKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYWRkSGFuZGxlcihlbCwgbmFtZSwgdmFsdWUsIG1vZGlmaWVycywgZmFsc2UsIHdhcm4sIGxpc3RbaV0sIGlzRHluYW1pYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBub3JtYWwgZGlyZWN0aXZlc1xuICAgICAgICAgICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoZGlyUkUsICcnKTtcbiAgICAgICAgICAgICAgICAvLyBwYXJzZSBhcmdcbiAgICAgICAgICAgICAgICB2YXIgYXJnTWF0Y2ggPSBuYW1lLm1hdGNoKGFyZ1JFKTtcbiAgICAgICAgICAgICAgICB2YXIgYXJnID0gYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbMV07XG4gICAgICAgICAgICAgICAgaXNEeW5hbWljID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKGFyZykge1xuICAgICAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zbGljZSgwLCAtKGFyZy5sZW5ndGggKyAxKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkeW5hbWljQXJnUkUudGVzdChhcmcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcmcgPSBhcmcuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNEeW5hbWljID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhZGREaXJlY3RpdmUoZWwsIG5hbWUsIHJhd05hbWUsIHZhbHVlLCBhcmcsIGlzRHluYW1pYywgbW9kaWZpZXJzLCBsaXN0W2ldKTtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBuYW1lID09PSAnbW9kZWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrRm9yQWxpYXNNb2RlbChlbCwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGxpdGVyYWwgYXR0cmlidXRlXG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgIHZhciByZXMgPSBwYXJzZVRleHQodmFsdWUsIGRlbGltaXRlcnMpO1xuICAgICAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgd2FybihcIlwiLmNvbmNhdChuYW1lLCBcIj1cXFwiXCIpLmNvbmNhdCh2YWx1ZSwgXCJcXFwiOiBcIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0ludGVycG9sYXRpb24gaW5zaWRlIGF0dHJpYnV0ZXMgaGFzIGJlZW4gcmVtb3ZlZC4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAnVXNlIHYtYmluZCBvciB0aGUgY29sb24gc2hvcnRoYW5kIGluc3RlYWQuIEZvciBleGFtcGxlLCAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgaWQ9XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2IDppZD1cInZhbFwiPi4nLCBsaXN0W2ldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhZGRBdHRyKGVsLCBuYW1lLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSksIGxpc3RbaV0pO1xuICAgICAgICAgICAgLy8gIzY4ODcgZmlyZWZveCBkb2Vzbid0IHVwZGF0ZSBtdXRlZCBzdGF0ZSBpZiBzZXQgdmlhIGF0dHJpYnV0ZVxuICAgICAgICAgICAgLy8gZXZlbiBpbW1lZGlhdGVseSBhZnRlciBlbGVtZW50IGNyZWF0aW9uXG4gICAgICAgICAgICBpZiAoIWVsLmNvbXBvbmVudCAmJlxuICAgICAgICAgICAgICAgIG5hbWUgPT09ICdtdXRlZCcgJiZcbiAgICAgICAgICAgICAgICBwbGF0Zm9ybU11c3RVc2VQcm9wKGVsLnRhZywgZWwuYXR0cnNNYXAudHlwZSwgbmFtZSkpIHtcbiAgICAgICAgICAgICAgICBhZGRQcm9wKGVsLCBuYW1lLCAndHJ1ZScsIGxpc3RbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gY2hlY2tJbkZvcihlbCkge1xuICAgIHZhciBwYXJlbnQgPSBlbDtcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICAgIGlmIChwYXJlbnQuZm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHBhcnNlTW9kaWZpZXJzKG5hbWUpIHtcbiAgICB2YXIgbWF0Y2ggPSBuYW1lLm1hdGNoKG1vZGlmaWVyUkUpO1xuICAgIGlmIChtYXRjaCkge1xuICAgICAgICB2YXIgcmV0XzEgPSB7fTtcbiAgICAgICAgbWF0Y2guZm9yRWFjaChmdW5jdGlvbiAobSkge1xuICAgICAgICAgICAgcmV0XzFbbS5zbGljZSgxKV0gPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJldF8xO1xuICAgIH1cbn1cbmZ1bmN0aW9uIG1ha2VBdHRyc01hcChhdHRycykge1xuICAgIHZhciBtYXAgPSB7fTtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IGF0dHJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBtYXBbYXR0cnNbaV0ubmFtZV0gJiYgIWlzSUUgJiYgIWlzRWRnZSkge1xuICAgICAgICAgICAgd2FybignZHVwbGljYXRlIGF0dHJpYnV0ZTogJyArIGF0dHJzW2ldLm5hbWUsIGF0dHJzW2ldKTtcbiAgICAgICAgfVxuICAgICAgICBtYXBbYXR0cnNbaV0ubmFtZV0gPSBhdHRyc1tpXS52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbn1cbi8vIGZvciBzY3JpcHQgKGUuZy4gdHlwZT1cIngvdGVtcGxhdGVcIikgb3Igc3R5bGUsIGRvIG5vdCBkZWNvZGUgY29udGVudFxuZnVuY3Rpb24gaXNUZXh0VGFnKGVsKSB7XG4gICAgcmV0dXJuIGVsLnRhZyA9PT0gJ3NjcmlwdCcgfHwgZWwudGFnID09PSAnc3R5bGUnO1xufVxuZnVuY3Rpb24gaXNGb3JiaWRkZW5UYWcoZWwpIHtcbiAgICByZXR1cm4gKGVsLnRhZyA9PT0gJ3N0eWxlJyB8fFxuICAgICAgICAoZWwudGFnID09PSAnc2NyaXB0JyAmJlxuICAgICAgICAgICAgKCFlbC5hdHRyc01hcC50eXBlIHx8IGVsLmF0dHJzTWFwLnR5cGUgPT09ICd0ZXh0L2phdmFzY3JpcHQnKSkpO1xufVxudmFyIGllTlNCdWcgPSAvXnhtbG5zOk5TXFxkKy87XG52YXIgaWVOU1ByZWZpeCA9IC9eTlNcXGQrOi87XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gZ3VhcmRJRVNWR0J1ZyhhdHRycykge1xuICAgIHZhciByZXMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBhdHRyID0gYXR0cnNbaV07XG4gICAgICAgIGlmICghaWVOU0J1Zy50ZXN0KGF0dHIubmFtZSkpIHtcbiAgICAgICAgICAgIGF0dHIubmFtZSA9IGF0dHIubmFtZS5yZXBsYWNlKGllTlNQcmVmaXgsICcnKTtcbiAgICAgICAgICAgIHJlcy5wdXNoKGF0dHIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG5mdW5jdGlvbiBjaGVja0ZvckFsaWFzTW9kZWwoZWwsIHZhbHVlKSB7XG4gICAgdmFyIF9lbCA9IGVsO1xuICAgIHdoaWxlIChfZWwpIHtcbiAgICAgICAgaWYgKF9lbC5mb3IgJiYgX2VsLmFsaWFzID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgd2FybihcIjxcIi5jb25jYXQoZWwudGFnLCBcIiB2LW1vZGVsPVxcXCJcIikuY29uY2F0KHZhbHVlLCBcIlxcXCI+OiBcIikgK1xuICAgICAgICAgICAgICAgIFwiWW91IGFyZSBiaW5kaW5nIHYtbW9kZWwgZGlyZWN0bHkgdG8gYSB2LWZvciBpdGVyYXRpb24gYWxpYXMuIFwiICtcbiAgICAgICAgICAgICAgICBcIlRoaXMgd2lsbCBub3QgYmUgYWJsZSB0byBtb2RpZnkgdGhlIHYtZm9yIHNvdXJjZSBhcnJheSBiZWNhdXNlIFwiICtcbiAgICAgICAgICAgICAgICBcIndyaXRpbmcgdG8gdGhlIGFsaWFzIGlzIGxpa2UgbW9kaWZ5aW5nIGEgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGUuIFwiICtcbiAgICAgICAgICAgICAgICBcIkNvbnNpZGVyIHVzaW5nIGFuIGFycmF5IG9mIG9iamVjdHMgYW5kIHVzZSB2LW1vZGVsIG9uIGFuIG9iamVjdCBwcm9wZXJ0eSBpbnN0ZWFkLlwiLCBlbC5yYXdBdHRyc01hcFsndi1tb2RlbCddKTtcbiAgICAgICAgfVxuICAgICAgICBfZWwgPSBfZWwucGFyZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBFeHBhbmQgaW5wdXRbdi1tb2RlbF0gd2l0aCBkeW5hbWljIHR5cGUgYmluZGluZ3MgaW50byB2LWlmLWVsc2UgY2hhaW5zXG4gKiBUdXJuIHRoaXM6XG4gKiAgIDxpbnB1dCB2LW1vZGVsPVwiZGF0YVt0eXBlXVwiIDp0eXBlPVwidHlwZVwiPlxuICogaW50byB0aGlzOlxuICogICA8aW5wdXQgdi1pZj1cInR5cGUgPT09ICdjaGVja2JveCdcIiB0eXBlPVwiY2hlY2tib3hcIiB2LW1vZGVsPVwiZGF0YVt0eXBlXVwiPlxuICogICA8aW5wdXQgdi1lbHNlLWlmPVwidHlwZSA9PT0gJ3JhZGlvJ1wiIHR5cGU9XCJyYWRpb1wiIHYtbW9kZWw9XCJkYXRhW3R5cGVdXCI+XG4gKiAgIDxpbnB1dCB2LWVsc2UgOnR5cGU9XCJ0eXBlXCIgdi1tb2RlbD1cImRhdGFbdHlwZV1cIj5cbiAqL1xuZnVuY3Rpb24gcHJlVHJhbnNmb3JtTm9kZShlbCwgb3B0aW9ucykge1xuICAgIGlmIChlbC50YWcgPT09ICdpbnB1dCcpIHtcbiAgICAgICAgdmFyIG1hcCA9IGVsLmF0dHJzTWFwO1xuICAgICAgICBpZiAoIW1hcFsndi1tb2RlbCddKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHR5cGVCaW5kaW5nID0gdm9pZCAwO1xuICAgICAgICBpZiAobWFwWyc6dHlwZSddIHx8IG1hcFsndi1iaW5kOnR5cGUnXSkge1xuICAgICAgICAgICAgdHlwZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3R5cGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW1hcC50eXBlICYmICF0eXBlQmluZGluZyAmJiBtYXBbJ3YtYmluZCddKSB7XG4gICAgICAgICAgICB0eXBlQmluZGluZyA9IFwiKFwiLmNvbmNhdChtYXBbJ3YtYmluZCddLCBcIikudHlwZVwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZUJpbmRpbmcpIHtcbiAgICAgICAgICAgIHZhciBpZkNvbmRpdGlvbiA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWlmJywgdHJ1ZSk7XG4gICAgICAgICAgICB2YXIgaWZDb25kaXRpb25FeHRyYSA9IGlmQ29uZGl0aW9uID8gXCImJihcIi5jb25jYXQoaWZDb25kaXRpb24sIFwiKVwiKSA6IFwiXCI7XG4gICAgICAgICAgICB2YXIgaGFzRWxzZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UnLCB0cnVlKSAhPSBudWxsO1xuICAgICAgICAgICAgdmFyIGVsc2VJZkNvbmRpdGlvbiA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UtaWYnLCB0cnVlKTtcbiAgICAgICAgICAgIC8vIDEuIGNoZWNrYm94XG4gICAgICAgICAgICB2YXIgYnJhbmNoMCA9IGNsb25lQVNURWxlbWVudChlbCk7XG4gICAgICAgICAgICAvLyBwcm9jZXNzIGZvciBvbiB0aGUgbWFpbiBub2RlXG4gICAgICAgICAgICBwcm9jZXNzRm9yKGJyYW5jaDApO1xuICAgICAgICAgICAgYWRkUmF3QXR0cihicmFuY2gwLCAndHlwZScsICdjaGVja2JveCcpO1xuICAgICAgICAgICAgcHJvY2Vzc0VsZW1lbnQoYnJhbmNoMCwgb3B0aW9ucyk7XG4gICAgICAgICAgICBicmFuY2gwLnByb2Nlc3NlZCA9IHRydWU7IC8vIHByZXZlbnQgaXQgZnJvbSBkb3VibGUtcHJvY2Vzc2VkXG4gICAgICAgICAgICBicmFuY2gwLmlmID0gXCIoXCIuY29uY2F0KHR5cGVCaW5kaW5nLCBcIik9PT0nY2hlY2tib3gnXCIpICsgaWZDb25kaXRpb25FeHRyYTtcbiAgICAgICAgICAgIGFkZElmQ29uZGl0aW9uKGJyYW5jaDAsIHtcbiAgICAgICAgICAgICAgICBleHA6IGJyYW5jaDAuaWYsXG4gICAgICAgICAgICAgICAgYmxvY2s6IGJyYW5jaDBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gMi4gYWRkIHJhZGlvIGVsc2UtaWYgY29uZGl0aW9uXG4gICAgICAgICAgICB2YXIgYnJhbmNoMSA9IGNsb25lQVNURWxlbWVudChlbCk7XG4gICAgICAgICAgICBnZXRBbmRSZW1vdmVBdHRyKGJyYW5jaDEsICd2LWZvcicsIHRydWUpO1xuICAgICAgICAgICAgYWRkUmF3QXR0cihicmFuY2gxLCAndHlwZScsICdyYWRpbycpO1xuICAgICAgICAgICAgcHJvY2Vzc0VsZW1lbnQoYnJhbmNoMSwgb3B0aW9ucyk7XG4gICAgICAgICAgICBhZGRJZkNvbmRpdGlvbihicmFuY2gwLCB7XG4gICAgICAgICAgICAgICAgZXhwOiBcIihcIi5jb25jYXQodHlwZUJpbmRpbmcsIFwiKT09PSdyYWRpbydcIikgKyBpZkNvbmRpdGlvbkV4dHJhLFxuICAgICAgICAgICAgICAgIGJsb2NrOiBicmFuY2gxXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIDMuIG90aGVyXG4gICAgICAgICAgICB2YXIgYnJhbmNoMiA9IGNsb25lQVNURWxlbWVudChlbCk7XG4gICAgICAgICAgICBnZXRBbmRSZW1vdmVBdHRyKGJyYW5jaDIsICd2LWZvcicsIHRydWUpO1xuICAgICAgICAgICAgYWRkUmF3QXR0cihicmFuY2gyLCAnOnR5cGUnLCB0eXBlQmluZGluZyk7XG4gICAgICAgICAgICBwcm9jZXNzRWxlbWVudChicmFuY2gyLCBvcHRpb25zKTtcbiAgICAgICAgICAgIGFkZElmQ29uZGl0aW9uKGJyYW5jaDAsIHtcbiAgICAgICAgICAgICAgICBleHA6IGlmQ29uZGl0aW9uLFxuICAgICAgICAgICAgICAgIGJsb2NrOiBicmFuY2gyXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChoYXNFbHNlKSB7XG4gICAgICAgICAgICAgICAgYnJhbmNoMC5lbHNlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGVsc2VJZkNvbmRpdGlvbikge1xuICAgICAgICAgICAgICAgIGJyYW5jaDAuZWxzZWlmID0gZWxzZUlmQ29uZGl0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGJyYW5jaDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBjbG9uZUFTVEVsZW1lbnQoZWwpIHtcbiAgICByZXR1cm4gY3JlYXRlQVNURWxlbWVudChlbC50YWcsIGVsLmF0dHJzTGlzdC5zbGljZSgpLCBlbC5wYXJlbnQpO1xufVxudmFyIG1vZGVsID0ge1xuICAgIHByZVRyYW5zZm9ybU5vZGU6IHByZVRyYW5zZm9ybU5vZGVcbn07XG5cbnZhciBtb2R1bGVzID0gW2tsYXNzLCBzdHlsZSwgbW9kZWxdO1xuXG5mdW5jdGlvbiB0ZXh0KGVsLCBkaXIpIHtcbiAgICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgICAgIGFkZFByb3AoZWwsICd0ZXh0Q29udGVudCcsIFwiX3MoXCIuY29uY2F0KGRpci52YWx1ZSwgXCIpXCIpLCBkaXIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaHRtbChlbCwgZGlyKSB7XG4gICAgaWYgKGRpci52YWx1ZSkge1xuICAgICAgICBhZGRQcm9wKGVsLCAnaW5uZXJIVE1MJywgXCJfcyhcIi5jb25jYXQoZGlyLnZhbHVlLCBcIilcIiksIGRpcik7XG4gICAgfVxufVxuXG52YXIgZGlyZWN0aXZlcyA9IHtcbiAgICBtb2RlbDogbW9kZWwkMSxcbiAgICB0ZXh0OiB0ZXh0LFxuICAgIGh0bWw6IGh0bWxcbn07XG5cbnZhciBiYXNlT3B0aW9ucyA9IHtcbiAgICBleHBlY3RIVE1MOiB0cnVlLFxuICAgIG1vZHVsZXM6IG1vZHVsZXMsXG4gICAgZGlyZWN0aXZlczogZGlyZWN0aXZlcyxcbiAgICBpc1ByZVRhZzogaXNQcmVUYWcsXG4gICAgaXNVbmFyeVRhZzogaXNVbmFyeVRhZyxcbiAgICBtdXN0VXNlUHJvcDogbXVzdFVzZVByb3AsXG4gICAgY2FuQmVMZWZ0T3BlblRhZzogY2FuQmVMZWZ0T3BlblRhZyxcbiAgICBpc1Jlc2VydmVkVGFnOiBpc1Jlc2VydmVkVGFnLFxuICAgIGdldFRhZ05hbWVzcGFjZTogZ2V0VGFnTmFtZXNwYWNlLFxuICAgIHN0YXRpY0tleXM6IGdlblN0YXRpY0tleXMkMShtb2R1bGVzKVxufTtcblxudmFyIGlzU3RhdGljS2V5O1xudmFyIGlzUGxhdGZvcm1SZXNlcnZlZFRhZztcbnZhciBnZW5TdGF0aWNLZXlzQ2FjaGVkID0gY2FjaGVkKGdlblN0YXRpY0tleXMpO1xuLyoqXG4gKiBHb2FsIG9mIHRoZSBvcHRpbWl6ZXI6IHdhbGsgdGhlIGdlbmVyYXRlZCB0ZW1wbGF0ZSBBU1QgdHJlZVxuICogYW5kIGRldGVjdCBzdWItdHJlZXMgdGhhdCBhcmUgcHVyZWx5IHN0YXRpYywgaS5lLiBwYXJ0cyBvZlxuICogdGhlIERPTSB0aGF0IG5ldmVyIG5lZWRzIHRvIGNoYW5nZS5cbiAqXG4gKiBPbmNlIHdlIGRldGVjdCB0aGVzZSBzdWItdHJlZXMsIHdlIGNhbjpcbiAqXG4gKiAxLiBIb2lzdCB0aGVtIGludG8gY29uc3RhbnRzLCBzbyB0aGF0IHdlIG5vIGxvbmdlciBuZWVkIHRvXG4gKiAgICBjcmVhdGUgZnJlc2ggbm9kZXMgZm9yIHRoZW0gb24gZWFjaCByZS1yZW5kZXI7XG4gKiAyLiBDb21wbGV0ZWx5IHNraXAgdGhlbSBpbiB0aGUgcGF0Y2hpbmcgcHJvY2Vzcy5cbiAqL1xuZnVuY3Rpb24gb3B0aW1pemUocm9vdCwgb3B0aW9ucykge1xuICAgIGlmICghcm9vdClcbiAgICAgICAgcmV0dXJuO1xuICAgIGlzU3RhdGljS2V5ID0gZ2VuU3RhdGljS2V5c0NhY2hlZChvcHRpb25zLnN0YXRpY0tleXMgfHwgJycpO1xuICAgIGlzUGxhdGZvcm1SZXNlcnZlZFRhZyA9IG9wdGlvbnMuaXNSZXNlcnZlZFRhZyB8fCBubztcbiAgICAvLyBmaXJzdCBwYXNzOiBtYXJrIGFsbCBub24tc3RhdGljIG5vZGVzLlxuICAgIG1hcmtTdGF0aWMocm9vdCk7XG4gICAgLy8gc2Vjb25kIHBhc3M6IG1hcmsgc3RhdGljIHJvb3RzLlxuICAgIG1hcmtTdGF0aWNSb290cyhyb290LCBmYWxzZSk7XG59XG5mdW5jdGlvbiBnZW5TdGF0aWNLZXlzKGtleXMpIHtcbiAgICByZXR1cm4gbWFrZU1hcCgndHlwZSx0YWcsYXR0cnNMaXN0LGF0dHJzTWFwLHBsYWluLHBhcmVudCxjaGlsZHJlbixhdHRycyxzdGFydCxlbmQscmF3QXR0cnNNYXAnICtcbiAgICAgICAgKGtleXMgPyAnLCcgKyBrZXlzIDogJycpKTtcbn1cbmZ1bmN0aW9uIG1hcmtTdGF0aWMobm9kZSkge1xuICAgIG5vZGUuc3RhdGljID0gaXNTdGF0aWMobm9kZSk7XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgICAgICAvLyBkbyBub3QgbWFrZSBjb21wb25lbnQgc2xvdCBjb250ZW50IHN0YXRpYy4gdGhpcyBhdm9pZHNcbiAgICAgICAgLy8gMS4gY29tcG9uZW50cyBub3QgYWJsZSB0byBtdXRhdGUgc2xvdCBub2Rlc1xuICAgICAgICAvLyAyLiBzdGF0aWMgc2xvdCBjb250ZW50IGZhaWxzIGZvciBob3QtcmVsb2FkaW5nXG4gICAgICAgIGlmICghaXNQbGF0Zm9ybVJlc2VydmVkVGFnKG5vZGUudGFnKSAmJlxuICAgICAgICAgICAgbm9kZS50YWcgIT09ICdzbG90JyAmJlxuICAgICAgICAgICAgbm9kZS5hdHRyc01hcFsnaW5saW5lLXRlbXBsYXRlJ10gPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGRyZW5baV07XG4gICAgICAgICAgICBtYXJrU3RhdGljKGNoaWxkKTtcbiAgICAgICAgICAgIGlmICghY2hpbGQuc3RhdGljKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5zdGF0aWMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5pZkNvbmRpdGlvbnMpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSAxLCBsID0gbm9kZS5pZkNvbmRpdGlvbnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdmFyIGJsb2NrID0gbm9kZS5pZkNvbmRpdGlvbnNbaV0uYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFya1N0YXRpYyhibG9jayk7XG4gICAgICAgICAgICAgICAgaWYgKCFibG9jay5zdGF0aWMpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5zdGF0aWMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBtYXJrU3RhdGljUm9vdHMobm9kZSwgaXNJbkZvcikge1xuICAgIGlmIChub2RlLnR5cGUgPT09IDEpIHtcbiAgICAgICAgaWYgKG5vZGUuc3RhdGljIHx8IG5vZGUub25jZSkge1xuICAgICAgICAgICAgbm9kZS5zdGF0aWNJbkZvciA9IGlzSW5Gb3I7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRm9yIGEgbm9kZSB0byBxdWFsaWZ5IGFzIGEgc3RhdGljIHJvb3QsIGl0IHNob3VsZCBoYXZlIGNoaWxkcmVuIHRoYXRcbiAgICAgICAgLy8gYXJlIG5vdCBqdXN0IHN0YXRpYyB0ZXh0LiBPdGhlcndpc2UgdGhlIGNvc3Qgb2YgaG9pc3Rpbmcgb3V0IHdpbGxcbiAgICAgICAgLy8gb3V0d2VpZ2ggdGhlIGJlbmVmaXRzIGFuZCBpdCdzIGJldHRlciBvZmYgdG8ganVzdCBhbHdheXMgcmVuZGVyIGl0IGZyZXNoLlxuICAgICAgICBpZiAobm9kZS5zdGF0aWMgJiZcbiAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4ubGVuZ3RoICYmXG4gICAgICAgICAgICAhKG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmIG5vZGUuY2hpbGRyZW5bMF0udHlwZSA9PT0gMykpIHtcbiAgICAgICAgICAgIG5vZGUuc3RhdGljUm9vdCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBub2RlLnN0YXRpY1Jvb3QgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgICAgIG1hcmtTdGF0aWNSb290cyhub2RlLmNoaWxkcmVuW2ldLCBpc0luRm9yIHx8ICEhbm9kZS5mb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmlmQ29uZGl0aW9ucykge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDEsIGwgPSBub2RlLmlmQ29uZGl0aW9ucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgICAgICBtYXJrU3RhdGljUm9vdHMobm9kZS5pZkNvbmRpdGlvbnNbaV0uYmxvY2ssIGlzSW5Gb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gaXNTdGF0aWMobm9kZSkge1xuICAgIGlmIChub2RlLnR5cGUgPT09IDIpIHtcbiAgICAgICAgLy8gZXhwcmVzc2lvblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChub2RlLnR5cGUgPT09IDMpIHtcbiAgICAgICAgLy8gdGV4dFxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuICEhKG5vZGUucHJlIHx8XG4gICAgICAgICghbm9kZS5oYXNCaW5kaW5ncyAmJiAvLyBubyBkeW5hbWljIGJpbmRpbmdzXG4gICAgICAgICAgICAhbm9kZS5pZiAmJlxuICAgICAgICAgICAgIW5vZGUuZm9yICYmIC8vIG5vdCB2LWlmIG9yIHYtZm9yIG9yIHYtZWxzZVxuICAgICAgICAgICAgIWlzQnVpbHRJblRhZyhub2RlLnRhZykgJiYgLy8gbm90IGEgYnVpbHQtaW5cbiAgICAgICAgICAgIGlzUGxhdGZvcm1SZXNlcnZlZFRhZyhub2RlLnRhZykgJiYgLy8gbm90IGEgY29tcG9uZW50XG4gICAgICAgICAgICAhaXNEaXJlY3RDaGlsZE9mVGVtcGxhdGVGb3Iobm9kZSkgJiZcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKG5vZGUpLmV2ZXJ5KGlzU3RhdGljS2V5KSkpO1xufVxuZnVuY3Rpb24gaXNEaXJlY3RDaGlsZE9mVGVtcGxhdGVGb3Iobm9kZSkge1xuICAgIHdoaWxlIChub2RlLnBhcmVudCkge1xuICAgICAgICBub2RlID0gbm9kZS5wYXJlbnQ7XG4gICAgICAgIGlmIChub2RlLnRhZyAhPT0gJ3RlbXBsYXRlJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmZvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG52YXIgZm5FeHBSRSA9IC9eKFtcXHckX10rfFxcKFteKV0qP1xcKSlcXHMqPT58XmZ1bmN0aW9uKD86XFxzK1tcXHckXSspP1xccypcXCgvO1xudmFyIGZuSW52b2tlUkUgPSAvXFwoW14pXSo/XFwpOyokLztcbnZhciBzaW1wbGVQYXRoUkUgPSAvXltBLVphLXpfJF1bXFx3JF0qKD86XFwuW0EtWmEtel8kXVtcXHckXSp8XFxbJ1teJ10qPyddfFxcW1wiW15cIl0qP1wiXXxcXFtcXGQrXXxcXFtbQS1aYS16XyRdW1xcdyRdKl0pKiQvO1xuLy8gS2V5Ym9hcmRFdmVudC5rZXlDb2RlIGFsaWFzZXNcbnZhciBrZXlDb2RlcyA9IHtcbiAgICBlc2M6IDI3LFxuICAgIHRhYjogOSxcbiAgICBlbnRlcjogMTMsXG4gICAgc3BhY2U6IDMyLFxuICAgIHVwOiAzOCxcbiAgICBsZWZ0OiAzNyxcbiAgICByaWdodDogMzksXG4gICAgZG93bjogNDAsXG4gICAgZGVsZXRlOiBbOCwgNDZdXG59O1xuLy8gS2V5Ym9hcmRFdmVudC5rZXkgYWxpYXNlc1xudmFyIGtleU5hbWVzID0ge1xuICAgIC8vICM3ODgwOiBJRTExIGFuZCBFZGdlIHVzZSBgRXNjYCBmb3IgRXNjYXBlIGtleSBuYW1lLlxuICAgIGVzYzogWydFc2MnLCAnRXNjYXBlJ10sXG4gICAgdGFiOiAnVGFiJyxcbiAgICBlbnRlcjogJ0VudGVyJyxcbiAgICAvLyAjOTExMjogSUUxMSB1c2VzIGBTcGFjZWJhcmAgZm9yIFNwYWNlIGtleSBuYW1lLlxuICAgIHNwYWNlOiBbJyAnLCAnU3BhY2ViYXInXSxcbiAgICAvLyAjNzgwNjogSUUxMSB1c2VzIGtleSBuYW1lcyB3aXRob3V0IGBBcnJvd2AgcHJlZml4IGZvciBhcnJvdyBrZXlzLlxuICAgIHVwOiBbJ1VwJywgJ0Fycm93VXAnXSxcbiAgICBsZWZ0OiBbJ0xlZnQnLCAnQXJyb3dMZWZ0J10sXG4gICAgcmlnaHQ6IFsnUmlnaHQnLCAnQXJyb3dSaWdodCddLFxuICAgIGRvd246IFsnRG93bicsICdBcnJvd0Rvd24nXSxcbiAgICAvLyAjOTExMjogSUUxMSB1c2VzIGBEZWxgIGZvciBEZWxldGUga2V5IG5hbWUuXG4gICAgZGVsZXRlOiBbJ0JhY2tzcGFjZScsICdEZWxldGUnLCAnRGVsJ11cbn07XG4vLyAjNDg2ODogbW9kaWZpZXJzIHRoYXQgcHJldmVudCB0aGUgZXhlY3V0aW9uIG9mIHRoZSBsaXN0ZW5lclxuLy8gbmVlZCB0byBleHBsaWNpdGx5IHJldHVybiBudWxsIHNvIHRoYXQgd2UgY2FuIGRldGVybWluZSB3aGV0aGVyIHRvIHJlbW92ZVxuLy8gdGhlIGxpc3RlbmVyIGZvciAub25jZVxudmFyIGdlbkd1YXJkID0gZnVuY3Rpb24gKGNvbmRpdGlvbikgeyByZXR1cm4gXCJpZihcIi5jb25jYXQoY29uZGl0aW9uLCBcIilyZXR1cm4gbnVsbDtcIik7IH07XG52YXIgbW9kaWZpZXJDb2RlID0ge1xuICAgIHN0b3A6ICckZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7JyxcbiAgICBwcmV2ZW50OiAnJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7JyxcbiAgICBzZWxmOiBnZW5HdWFyZChcIiRldmVudC50YXJnZXQgIT09ICRldmVudC5jdXJyZW50VGFyZ2V0XCIpLFxuICAgIGN0cmw6IGdlbkd1YXJkKFwiISRldmVudC5jdHJsS2V5XCIpLFxuICAgIHNoaWZ0OiBnZW5HdWFyZChcIiEkZXZlbnQuc2hpZnRLZXlcIiksXG4gICAgYWx0OiBnZW5HdWFyZChcIiEkZXZlbnQuYWx0S2V5XCIpLFxuICAgIG1ldGE6IGdlbkd1YXJkKFwiISRldmVudC5tZXRhS2V5XCIpLFxuICAgIGxlZnQ6IGdlbkd1YXJkKFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDBcIiksXG4gICAgbWlkZGxlOiBnZW5HdWFyZChcIididXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAxXCIpLFxuICAgIHJpZ2h0OiBnZW5HdWFyZChcIididXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAyXCIpXG59O1xuZnVuY3Rpb24gZ2VuSGFuZGxlcnMoZXZlbnRzLCBpc05hdGl2ZSkge1xuICAgIHZhciBwcmVmaXggPSBpc05hdGl2ZSA/ICduYXRpdmVPbjonIDogJ29uOic7XG4gICAgdmFyIHN0YXRpY0hhbmRsZXJzID0gXCJcIjtcbiAgICB2YXIgZHluYW1pY0hhbmRsZXJzID0gXCJcIjtcbiAgICBmb3IgKHZhciBuYW1lXzEgaW4gZXZlbnRzKSB7XG4gICAgICAgIHZhciBoYW5kbGVyQ29kZSA9IGdlbkhhbmRsZXIoZXZlbnRzW25hbWVfMV0pO1xuICAgICAgICAvL0B0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgaWYgKGV2ZW50c1tuYW1lXzFdICYmIGV2ZW50c1tuYW1lXzFdLmR5bmFtaWMpIHtcbiAgICAgICAgICAgIGR5bmFtaWNIYW5kbGVycyArPSBcIlwiLmNvbmNhdChuYW1lXzEsIFwiLFwiKS5jb25jYXQoaGFuZGxlckNvZGUsIFwiLFwiKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRpY0hhbmRsZXJzICs9IFwiXFxcIlwiLmNvbmNhdChuYW1lXzEsIFwiXFxcIjpcIikuY29uY2F0KGhhbmRsZXJDb2RlLCBcIixcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljSGFuZGxlcnMgPSBcIntcIi5jb25jYXQoc3RhdGljSGFuZGxlcnMuc2xpY2UoMCwgLTEpLCBcIn1cIik7XG4gICAgaWYgKGR5bmFtaWNIYW5kbGVycykge1xuICAgICAgICByZXR1cm4gcHJlZml4ICsgXCJfZChcIi5jb25jYXQoc3RhdGljSGFuZGxlcnMsIFwiLFtcIikuY29uY2F0KGR5bmFtaWNIYW5kbGVycy5zbGljZSgwLCAtMSksIFwiXSlcIik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gcHJlZml4ICsgc3RhdGljSGFuZGxlcnM7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2VuSGFuZGxlcihoYW5kbGVyKSB7XG4gICAgaWYgKCFoYW5kbGVyKSB7XG4gICAgICAgIHJldHVybiAnZnVuY3Rpb24oKXt9JztcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaGFuZGxlcikpIHtcbiAgICAgICAgcmV0dXJuIFwiW1wiLmNvbmNhdChoYW5kbGVyLm1hcChmdW5jdGlvbiAoaGFuZGxlcikgeyByZXR1cm4gZ2VuSGFuZGxlcihoYW5kbGVyKTsgfSkuam9pbignLCcpLCBcIl1cIik7XG4gICAgfVxuICAgIHZhciBpc01ldGhvZFBhdGggPSBzaW1wbGVQYXRoUkUudGVzdChoYW5kbGVyLnZhbHVlKTtcbiAgICB2YXIgaXNGdW5jdGlvbkV4cHJlc3Npb24gPSBmbkV4cFJFLnRlc3QoaGFuZGxlci52YWx1ZSk7XG4gICAgdmFyIGlzRnVuY3Rpb25JbnZvY2F0aW9uID0gc2ltcGxlUGF0aFJFLnRlc3QoaGFuZGxlci52YWx1ZS5yZXBsYWNlKGZuSW52b2tlUkUsICcnKSk7XG4gICAgaWYgKCFoYW5kbGVyLm1vZGlmaWVycykge1xuICAgICAgICBpZiAoaXNNZXRob2RQYXRoIHx8IGlzRnVuY3Rpb25FeHByZXNzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlci52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJmdW5jdGlvbigkZXZlbnQpe1wiLmNvbmNhdChpc0Z1bmN0aW9uSW52b2NhdGlvbiA/IFwicmV0dXJuIFwiLmNvbmNhdChoYW5kbGVyLnZhbHVlKSA6IGhhbmRsZXIudmFsdWUsIFwifVwiKTsgLy8gaW5saW5lIHN0YXRlbWVudFxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdmFyIGNvZGUgPSAnJztcbiAgICAgICAgdmFyIGdlbk1vZGlmaWVyQ29kZSA9ICcnO1xuICAgICAgICB2YXIga2V5cyA9IFtdO1xuICAgICAgICB2YXIgX2xvb3BfMSA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgICAgIGlmIChtb2RpZmllckNvZGVba2V5XSkge1xuICAgICAgICAgICAgICAgIGdlbk1vZGlmaWVyQ29kZSArPSBtb2RpZmllckNvZGVba2V5XTtcbiAgICAgICAgICAgICAgICAvLyBsZWZ0L3JpZ2h0XG4gICAgICAgICAgICAgICAgaWYgKGtleUNvZGVzW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoa2V5ID09PSAnZXhhY3QnKSB7XG4gICAgICAgICAgICAgICAgdmFyIG1vZGlmaWVyc18xID0gaGFuZGxlci5tb2RpZmllcnM7XG4gICAgICAgICAgICAgICAgZ2VuTW9kaWZpZXJDb2RlICs9IGdlbkd1YXJkKFsnY3RybCcsICdzaGlmdCcsICdhbHQnLCAnbWV0YSddXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKGtleU1vZGlmaWVyKSB7IHJldHVybiAhbW9kaWZpZXJzXzFba2V5TW9kaWZpZXJdOyB9KVxuICAgICAgICAgICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChrZXlNb2RpZmllcikgeyByZXR1cm4gXCIkZXZlbnQuXCIuY29uY2F0KGtleU1vZGlmaWVyLCBcIktleVwiKTsgfSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJ3x8JykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBoYW5kbGVyLm1vZGlmaWVycykge1xuICAgICAgICAgICAgX2xvb3BfMShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29kZSArPSBnZW5LZXlGaWx0ZXIoa2V5cyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gTWFrZSBzdXJlIG1vZGlmaWVycyBsaWtlIHByZXZlbnQgYW5kIHN0b3AgZ2V0IGV4ZWN1dGVkIGFmdGVyIGtleSBmaWx0ZXJpbmdcbiAgICAgICAgaWYgKGdlbk1vZGlmaWVyQ29kZSkge1xuICAgICAgICAgICAgY29kZSArPSBnZW5Nb2RpZmllckNvZGU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGhhbmRsZXJDb2RlID0gaXNNZXRob2RQYXRoXG4gICAgICAgICAgICA/IFwicmV0dXJuIFwiLmNvbmNhdChoYW5kbGVyLnZhbHVlLCBcIi5hcHBseShudWxsLCBhcmd1bWVudHMpXCIpXG4gICAgICAgICAgICA6IGlzRnVuY3Rpb25FeHByZXNzaW9uXG4gICAgICAgICAgICAgICAgPyBcInJldHVybiAoXCIuY29uY2F0KGhhbmRsZXIudmFsdWUsIFwiKS5hcHBseShudWxsLCBhcmd1bWVudHMpXCIpXG4gICAgICAgICAgICAgICAgOiBpc0Z1bmN0aW9uSW52b2NhdGlvblxuICAgICAgICAgICAgICAgICAgICA/IFwicmV0dXJuIFwiLmNvbmNhdChoYW5kbGVyLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA6IGhhbmRsZXIudmFsdWU7XG4gICAgICAgIHJldHVybiBcImZ1bmN0aW9uKCRldmVudCl7XCIuY29uY2F0KGNvZGUpLmNvbmNhdChoYW5kbGVyQ29kZSwgXCJ9XCIpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdlbktleUZpbHRlcihrZXlzKSB7XG4gICAgcmV0dXJuIChcbiAgICAvLyBtYWtlIHN1cmUgdGhlIGtleSBmaWx0ZXJzIG9ubHkgYXBwbHkgdG8gS2V5Ym9hcmRFdmVudHNcbiAgICAvLyAjOTQ0MTogY2FuJ3QgdXNlICdrZXlDb2RlJyBpbiAkZXZlbnQgYmVjYXVzZSBDaHJvbWUgYXV0b2ZpbGwgZmlyZXMgZmFrZVxuICAgIC8vIGtleSBldmVudHMgdGhhdCBkbyBub3QgaGF2ZSBrZXlDb2RlIHByb3BlcnR5Li4uXG4gICAgXCJpZighJGV2ZW50LnR5cGUuaW5kZXhPZigna2V5JykmJlwiICtcbiAgICAgICAgXCJcIi5jb25jYXQoa2V5cy5tYXAoZ2VuRmlsdGVyQ29kZSkuam9pbignJiYnKSwgXCIpcmV0dXJuIG51bGw7XCIpKTtcbn1cbmZ1bmN0aW9uIGdlbkZpbHRlckNvZGUoa2V5KSB7XG4gICAgdmFyIGtleVZhbCA9IHBhcnNlSW50KGtleSwgMTApO1xuICAgIGlmIChrZXlWYWwpIHtcbiAgICAgICAgcmV0dXJuIFwiJGV2ZW50LmtleUNvZGUhPT1cIi5jb25jYXQoa2V5VmFsKTtcbiAgICB9XG4gICAgdmFyIGtleUNvZGUgPSBrZXlDb2Rlc1trZXldO1xuICAgIHZhciBrZXlOYW1lID0ga2V5TmFtZXNba2V5XTtcbiAgICByZXR1cm4gKFwiX2soJGV2ZW50LmtleUNvZGUsXCIgK1xuICAgICAgICBcIlwiLmNvbmNhdChKU09OLnN0cmluZ2lmeShrZXkpLCBcIixcIikgK1xuICAgICAgICBcIlwiLmNvbmNhdChKU09OLnN0cmluZ2lmeShrZXlDb2RlKSwgXCIsXCIpICtcbiAgICAgICAgXCIkZXZlbnQua2V5LFwiICtcbiAgICAgICAgXCJcIi5jb25jYXQoSlNPTi5zdHJpbmdpZnkoa2V5TmFtZSkpICtcbiAgICAgICAgXCIpXCIpO1xufVxuXG5mdW5jdGlvbiBvbihlbCwgZGlyKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZGlyLm1vZGlmaWVycykge1xuICAgICAgICB3YXJuJDIoXCJ2LW9uIHdpdGhvdXQgYXJndW1lbnQgZG9lcyBub3Qgc3VwcG9ydCBtb2RpZmllcnMuXCIpO1xuICAgIH1cbiAgICBlbC53cmFwTGlzdGVuZXJzID0gZnVuY3Rpb24gKGNvZGUpIHsgcmV0dXJuIFwiX2coXCIuY29uY2F0KGNvZGUsIFwiLFwiKS5jb25jYXQoZGlyLnZhbHVlLCBcIilcIik7IH07XG59XG5cbmZ1bmN0aW9uIGJpbmQoZWwsIGRpcikge1xuICAgIGVsLndyYXBEYXRhID0gZnVuY3Rpb24gKGNvZGUpIHtcbiAgICAgICAgcmV0dXJuIFwiX2IoXCIuY29uY2F0KGNvZGUsIFwiLCdcIikuY29uY2F0KGVsLnRhZywgXCInLFwiKS5jb25jYXQoZGlyLnZhbHVlLCBcIixcIikuY29uY2F0KGRpci5tb2RpZmllcnMgJiYgZGlyLm1vZGlmaWVycy5wcm9wID8gJ3RydWUnIDogJ2ZhbHNlJykuY29uY2F0KGRpci5tb2RpZmllcnMgJiYgZGlyLm1vZGlmaWVycy5zeW5jID8gJyx0cnVlJyA6ICcnLCBcIilcIik7XG4gICAgfTtcbn1cblxudmFyIGJhc2VEaXJlY3RpdmVzID0ge1xuICAgIG9uOiBvbixcbiAgICBiaW5kOiBiaW5kLFxuICAgIGNsb2FrOiBub29wXG59O1xuXG52YXIgQ29kZWdlblN0YXRlID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIENvZGVnZW5TdGF0ZShvcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMud2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgICAgICAgdGhpcy50cmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICd0cmFuc2Zvcm1Db2RlJyk7XG4gICAgICAgIHRoaXMuZGF0YUdlbkZucyA9IHBsdWNrTW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVzLCAnZ2VuRGF0YScpO1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZXMgPSBleHRlbmQoZXh0ZW5kKHt9LCBiYXNlRGlyZWN0aXZlcyksIG9wdGlvbnMuZGlyZWN0aXZlcyk7XG4gICAgICAgIHZhciBpc1Jlc2VydmVkVGFnID0gb3B0aW9ucy5pc1Jlc2VydmVkVGFnIHx8IG5vO1xuICAgICAgICB0aGlzLm1heWJlQ29tcG9uZW50ID0gZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgICByZXR1cm4gISFlbC5jb21wb25lbnQgfHwgIWlzUmVzZXJ2ZWRUYWcoZWwudGFnKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5vbmNlSWQgPSAwO1xuICAgICAgICB0aGlzLnN0YXRpY1JlbmRlckZucyA9IFtdO1xuICAgICAgICB0aGlzLnByZSA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gQ29kZWdlblN0YXRlO1xufSgpKTtcbmZ1bmN0aW9uIGdlbmVyYXRlKGFzdCwgb3B0aW9ucykge1xuICAgIHZhciBzdGF0ZSA9IG5ldyBDb2RlZ2VuU3RhdGUob3B0aW9ucyk7XG4gICAgLy8gZml4ICMxMTQ4MywgUm9vdCBsZXZlbCA8c2NyaXB0PiB0YWdzIHNob3VsZCBub3QgYmUgcmVuZGVyZWQuXG4gICAgdmFyIGNvZGUgPSBhc3RcbiAgICAgICAgPyBhc3QudGFnID09PSAnc2NyaXB0J1xuICAgICAgICAgICAgPyAnbnVsbCdcbiAgICAgICAgICAgIDogZ2VuRWxlbWVudChhc3QsIHN0YXRlKVxuICAgICAgICA6ICdfYyhcImRpdlwiKSc7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVuZGVyOiBcIndpdGgodGhpcyl7cmV0dXJuIFwiLmNvbmNhdChjb2RlLCBcIn1cIiksXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGUuc3RhdGljUmVuZGVyRm5zXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdlbkVsZW1lbnQoZWwsIHN0YXRlKSB7XG4gICAgaWYgKGVsLnBhcmVudCkge1xuICAgICAgICBlbC5wcmUgPSBlbC5wcmUgfHwgZWwucGFyZW50LnByZTtcbiAgICB9XG4gICAgaWYgKGVsLnN0YXRpY1Jvb3QgJiYgIWVsLnN0YXRpY1Byb2Nlc3NlZCkge1xuICAgICAgICByZXR1cm4gZ2VuU3RhdGljKGVsLCBzdGF0ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGVsLm9uY2UgJiYgIWVsLm9uY2VQcm9jZXNzZWQpIHtcbiAgICAgICAgcmV0dXJuIGdlbk9uY2UoZWwsIHN0YXRlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZWwuZm9yICYmICFlbC5mb3JQcm9jZXNzZWQpIHtcbiAgICAgICAgcmV0dXJuIGdlbkZvcihlbCwgc3RhdGUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlbC5pZiAmJiAhZWwuaWZQcm9jZXNzZWQpIHtcbiAgICAgICAgcmV0dXJuIGdlbklmKGVsLCBzdGF0ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGVsLnRhZyA9PT0gJ3RlbXBsYXRlJyAmJiAhZWwuc2xvdFRhcmdldCAmJiAhc3RhdGUucHJlKSB7XG4gICAgICAgIHJldHVybiBnZW5DaGlsZHJlbihlbCwgc3RhdGUpIHx8ICd2b2lkIDAnO1xuICAgIH1cbiAgICBlbHNlIGlmIChlbC50YWcgPT09ICdzbG90Jykge1xuICAgICAgICByZXR1cm4gZ2VuU2xvdChlbCwgc3RhdGUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gY29tcG9uZW50IG9yIGVsZW1lbnRcbiAgICAgICAgdmFyIGNvZGUgPSB2b2lkIDA7XG4gICAgICAgIGlmIChlbC5jb21wb25lbnQpIHtcbiAgICAgICAgICAgIGNvZGUgPSBnZW5Db21wb25lbnQoZWwuY29tcG9uZW50LCBlbCwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB2b2lkIDA7XG4gICAgICAgICAgICB2YXIgbWF5YmVDb21wb25lbnQgPSBzdGF0ZS5tYXliZUNvbXBvbmVudChlbCk7XG4gICAgICAgICAgICBpZiAoIWVsLnBsYWluIHx8IChlbC5wcmUgJiYgbWF5YmVDb21wb25lbnQpKSB7XG4gICAgICAgICAgICAgICAgZGF0YSA9IGdlbkRhdGEoZWwsIHN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0YWcgXG4gICAgICAgICAgICAvLyBjaGVjayBpZiB0aGlzIGlzIGEgY29tcG9uZW50IGluIDxzY3JpcHQgc2V0dXA+XG4gICAgICAgICAgICA9IHZvaWQgMDtcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIHRoaXMgaXMgYSBjb21wb25lbnQgaW4gPHNjcmlwdCBzZXR1cD5cbiAgICAgICAgICAgIHZhciBiaW5kaW5ncyA9IHN0YXRlLm9wdGlvbnMuYmluZGluZ3M7XG4gICAgICAgICAgICBpZiAobWF5YmVDb21wb25lbnQgJiYgYmluZGluZ3MgJiYgYmluZGluZ3MuX19pc1NjcmlwdFNldHVwICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHRhZyA9IGNoZWNrQmluZGluZ1R5cGUoYmluZGluZ3MsIGVsLnRhZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRhZylcbiAgICAgICAgICAgICAgICB0YWcgPSBcIidcIi5jb25jYXQoZWwudGFnLCBcIidcIik7XG4gICAgICAgICAgICB2YXIgY2hpbGRyZW4gPSBlbC5pbmxpbmVUZW1wbGF0ZSA/IG51bGwgOiBnZW5DaGlsZHJlbihlbCwgc3RhdGUsIHRydWUpO1xuICAgICAgICAgICAgY29kZSA9IFwiX2MoXCIuY29uY2F0KHRhZykuY29uY2F0KGRhdGEgPyBcIixcIi5jb25jYXQoZGF0YSkgOiAnJyAvLyBkYXRhXG4gICAgICAgICAgICApLmNvbmNhdChjaGlsZHJlbiA/IFwiLFwiLmNvbmNhdChjaGlsZHJlbikgOiAnJyAvLyBjaGlsZHJlblxuICAgICAgICAgICAgLCBcIilcIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbW9kdWxlIHRyYW5zZm9ybXNcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS50cmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb2RlID0gc3RhdGUudHJhbnNmb3Jtc1tpXShlbCwgY29kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvZGU7XG4gICAgfVxufVxuZnVuY3Rpb24gY2hlY2tCaW5kaW5nVHlwZShiaW5kaW5ncywga2V5KSB7XG4gICAgdmFyIGNhbWVsTmFtZSA9IGNhbWVsaXplKGtleSk7XG4gICAgdmFyIFBhc2NhbE5hbWUgPSBjYXBpdGFsaXplKGNhbWVsTmFtZSk7XG4gICAgdmFyIGNoZWNrVHlwZSA9IGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgICAgIGlmIChiaW5kaW5nc1trZXldID09PSB0eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4ga2V5O1xuICAgICAgICB9XG4gICAgICAgIGlmIChiaW5kaW5nc1tjYW1lbE5hbWVdID09PSB0eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FtZWxOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGlmIChiaW5kaW5nc1tQYXNjYWxOYW1lXSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIFBhc2NhbE5hbWU7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHZhciBmcm9tQ29uc3QgPSBjaGVja1R5cGUoXCJzZXR1cC1jb25zdFwiIC8qIEJpbmRpbmdUeXBlcy5TRVRVUF9DT05TVCAqLykgfHxcbiAgICAgICAgY2hlY2tUeXBlKFwic2V0dXAtcmVhY3RpdmUtY29uc3RcIiAvKiBCaW5kaW5nVHlwZXMuU0VUVVBfUkVBQ1RJVkVfQ09OU1QgKi8pO1xuICAgIGlmIChmcm9tQ29uc3QpIHtcbiAgICAgICAgcmV0dXJuIGZyb21Db25zdDtcbiAgICB9XG4gICAgdmFyIGZyb21NYXliZVJlZiA9IGNoZWNrVHlwZShcInNldHVwLWxldFwiIC8qIEJpbmRpbmdUeXBlcy5TRVRVUF9MRVQgKi8pIHx8XG4gICAgICAgIGNoZWNrVHlwZShcInNldHVwLXJlZlwiIC8qIEJpbmRpbmdUeXBlcy5TRVRVUF9SRUYgKi8pIHx8XG4gICAgICAgIGNoZWNrVHlwZShcInNldHVwLW1heWJlLXJlZlwiIC8qIEJpbmRpbmdUeXBlcy5TRVRVUF9NQVlCRV9SRUYgKi8pO1xuICAgIGlmIChmcm9tTWF5YmVSZWYpIHtcbiAgICAgICAgcmV0dXJuIGZyb21NYXliZVJlZjtcbiAgICB9XG59XG4vLyBob2lzdCBzdGF0aWMgc3ViLXRyZWVzIG91dFxuZnVuY3Rpb24gZ2VuU3RhdGljKGVsLCBzdGF0ZSkge1xuICAgIGVsLnN0YXRpY1Byb2Nlc3NlZCA9IHRydWU7XG4gICAgLy8gU29tZSBlbGVtZW50cyAodGVtcGxhdGVzKSBuZWVkIHRvIGJlaGF2ZSBkaWZmZXJlbnRseSBpbnNpZGUgb2YgYSB2LXByZVxuICAgIC8vIG5vZGUuICBBbGwgcHJlIG5vZGVzIGFyZSBzdGF0aWMgcm9vdHMsIHNvIHdlIGNhbiB1c2UgdGhpcyBhcyBhIGxvY2F0aW9uIHRvXG4gICAgLy8gd3JhcCBhIHN0YXRlIGNoYW5nZSBhbmQgcmVzZXQgaXQgdXBvbiBleGl0aW5nIHRoZSBwcmUgbm9kZS5cbiAgICB2YXIgb3JpZ2luYWxQcmVTdGF0ZSA9IHN0YXRlLnByZTtcbiAgICBpZiAoZWwucHJlKSB7XG4gICAgICAgIHN0YXRlLnByZSA9IGVsLnByZTtcbiAgICB9XG4gICAgc3RhdGUuc3RhdGljUmVuZGVyRm5zLnB1c2goXCJ3aXRoKHRoaXMpe3JldHVybiBcIi5jb25jYXQoZ2VuRWxlbWVudChlbCwgc3RhdGUpLCBcIn1cIikpO1xuICAgIHN0YXRlLnByZSA9IG9yaWdpbmFsUHJlU3RhdGU7XG4gICAgcmV0dXJuIFwiX20oXCIuY29uY2F0KHN0YXRlLnN0YXRpY1JlbmRlckZucy5sZW5ndGggLSAxKS5jb25jYXQoZWwuc3RhdGljSW5Gb3IgPyAnLHRydWUnIDogJycsIFwiKVwiKTtcbn1cbi8vIHYtb25jZVxuZnVuY3Rpb24gZ2VuT25jZShlbCwgc3RhdGUpIHtcbiAgICBlbC5vbmNlUHJvY2Vzc2VkID0gdHJ1ZTtcbiAgICBpZiAoZWwuaWYgJiYgIWVsLmlmUHJvY2Vzc2VkKSB7XG4gICAgICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlbC5zdGF0aWNJbkZvcikge1xuICAgICAgICB2YXIga2V5ID0gJyc7XG4gICAgICAgIHZhciBwYXJlbnRfMSA9IGVsLnBhcmVudDtcbiAgICAgICAgd2hpbGUgKHBhcmVudF8xKSB7XG4gICAgICAgICAgICBpZiAocGFyZW50XzEuZm9yKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gcGFyZW50XzEua2V5O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFyZW50XzEgPSBwYXJlbnRfMS5wYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFrZXkpIHtcbiAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgICAgICAgICAgICBzdGF0ZS53YXJuKFwidi1vbmNlIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIHYtZm9yIHRoYXQgaXMga2V5ZWQuIFwiLCBlbC5yYXdBdHRyc01hcFsndi1vbmNlJ10pO1xuICAgICAgICAgICAgcmV0dXJuIGdlbkVsZW1lbnQoZWwsIHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJfbyhcIi5jb25jYXQoZ2VuRWxlbWVudChlbCwgc3RhdGUpLCBcIixcIikuY29uY2F0KHN0YXRlLm9uY2VJZCsrLCBcIixcIikuY29uY2F0KGtleSwgXCIpXCIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGdlblN0YXRpYyhlbCwgc3RhdGUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdlbklmKGVsLCBzdGF0ZSwgYWx0R2VuLCBhbHRFbXB0eSkge1xuICAgIGVsLmlmUHJvY2Vzc2VkID0gdHJ1ZTsgLy8gYXZvaWQgcmVjdXJzaW9uXG4gICAgcmV0dXJuIGdlbklmQ29uZGl0aW9ucyhlbC5pZkNvbmRpdGlvbnMuc2xpY2UoKSwgc3RhdGUsIGFsdEdlbiwgYWx0RW1wdHkpO1xufVxuZnVuY3Rpb24gZ2VuSWZDb25kaXRpb25zKGNvbmRpdGlvbnMsIHN0YXRlLCBhbHRHZW4sIGFsdEVtcHR5KSB7XG4gICAgaWYgKCFjb25kaXRpb25zLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gYWx0RW1wdHkgfHwgJ19lKCknO1xuICAgIH1cbiAgICB2YXIgY29uZGl0aW9uID0gY29uZGl0aW9ucy5zaGlmdCgpO1xuICAgIGlmIChjb25kaXRpb24uZXhwKSB7XG4gICAgICAgIHJldHVybiBcIihcIi5jb25jYXQoY29uZGl0aW9uLmV4cCwgXCIpP1wiKS5jb25jYXQoZ2VuVGVybmFyeUV4cChjb25kaXRpb24uYmxvY2spLCBcIjpcIikuY29uY2F0KGdlbklmQ29uZGl0aW9ucyhjb25kaXRpb25zLCBzdGF0ZSwgYWx0R2VuLCBhbHRFbXB0eSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFwiXCIuY29uY2F0KGdlblRlcm5hcnlFeHAoY29uZGl0aW9uLmJsb2NrKSk7XG4gICAgfVxuICAgIC8vIHYtaWYgd2l0aCB2LW9uY2Ugc2hvdWxkIGdlbmVyYXRlIGNvZGUgbGlrZSAoYSk/X20oMCk6X20oMSlcbiAgICBmdW5jdGlvbiBnZW5UZXJuYXJ5RXhwKGVsKSB7XG4gICAgICAgIHJldHVybiBhbHRHZW5cbiAgICAgICAgICAgID8gYWx0R2VuKGVsLCBzdGF0ZSlcbiAgICAgICAgICAgIDogZWwub25jZVxuICAgICAgICAgICAgICAgID8gZ2VuT25jZShlbCwgc3RhdGUpXG4gICAgICAgICAgICAgICAgOiBnZW5FbGVtZW50KGVsLCBzdGF0ZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2VuRm9yKGVsLCBzdGF0ZSwgYWx0R2VuLCBhbHRIZWxwZXIpIHtcbiAgICB2YXIgZXhwID0gZWwuZm9yO1xuICAgIHZhciBhbGlhcyA9IGVsLmFsaWFzO1xuICAgIHZhciBpdGVyYXRvcjEgPSBlbC5pdGVyYXRvcjEgPyBcIixcIi5jb25jYXQoZWwuaXRlcmF0b3IxKSA6ICcnO1xuICAgIHZhciBpdGVyYXRvcjIgPSBlbC5pdGVyYXRvcjIgPyBcIixcIi5jb25jYXQoZWwuaXRlcmF0b3IyKSA6ICcnO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgIHN0YXRlLm1heWJlQ29tcG9uZW50KGVsKSAmJlxuICAgICAgICBlbC50YWcgIT09ICdzbG90JyAmJlxuICAgICAgICBlbC50YWcgIT09ICd0ZW1wbGF0ZScgJiZcbiAgICAgICAgIWVsLmtleSkge1xuICAgICAgICBzdGF0ZS53YXJuKFwiPFwiLmNvbmNhdChlbC50YWcsIFwiIHYtZm9yPVxcXCJcIikuY29uY2F0KGFsaWFzLCBcIiBpbiBcIikuY29uY2F0KGV4cCwgXCJcXFwiPjogY29tcG9uZW50IGxpc3RzIHJlbmRlcmVkIHdpdGggXCIpICtcbiAgICAgICAgICAgIFwidi1mb3Igc2hvdWxkIGhhdmUgZXhwbGljaXQga2V5cy4gXCIgK1xuICAgICAgICAgICAgXCJTZWUgaHR0cHM6Ly92Mi52dWVqcy5vcmcvdjIvZ3VpZGUvbGlzdC5odG1sI2tleSBmb3IgbW9yZSBpbmZvLlwiLCBlbC5yYXdBdHRyc01hcFsndi1mb3InXSwgdHJ1ZSAvKiB0aXAgKi8pO1xuICAgIH1cbiAgICBlbC5mb3JQcm9jZXNzZWQgPSB0cnVlOyAvLyBhdm9pZCByZWN1cnNpb25cbiAgICByZXR1cm4gKFwiXCIuY29uY2F0KGFsdEhlbHBlciB8fCAnX2wnLCBcIigoXCIpLmNvbmNhdChleHAsIFwiKSxcIikgK1xuICAgICAgICBcImZ1bmN0aW9uKFwiLmNvbmNhdChhbGlhcykuY29uY2F0KGl0ZXJhdG9yMSkuY29uY2F0KGl0ZXJhdG9yMiwgXCIpe1wiKSArXG4gICAgICAgIFwicmV0dXJuIFwiLmNvbmNhdCgoYWx0R2VuIHx8IGdlbkVsZW1lbnQpKGVsLCBzdGF0ZSkpICtcbiAgICAgICAgJ30pJyk7XG59XG5mdW5jdGlvbiBnZW5EYXRhKGVsLCBzdGF0ZSkge1xuICAgIHZhciBkYXRhID0gJ3snO1xuICAgIC8vIGRpcmVjdGl2ZXMgZmlyc3QuXG4gICAgLy8gZGlyZWN0aXZlcyBtYXkgbXV0YXRlIHRoZSBlbCdzIG90aGVyIHByb3BlcnRpZXMgYmVmb3JlIHRoZXkgYXJlIGdlbmVyYXRlZC5cbiAgICB2YXIgZGlycyA9IGdlbkRpcmVjdGl2ZXMoZWwsIHN0YXRlKTtcbiAgICBpZiAoZGlycylcbiAgICAgICAgZGF0YSArPSBkaXJzICsgJywnO1xuICAgIC8vIGtleVxuICAgIGlmIChlbC5rZXkpIHtcbiAgICAgICAgZGF0YSArPSBcImtleTpcIi5jb25jYXQoZWwua2V5LCBcIixcIik7XG4gICAgfVxuICAgIC8vIHJlZlxuICAgIGlmIChlbC5yZWYpIHtcbiAgICAgICAgZGF0YSArPSBcInJlZjpcIi5jb25jYXQoZWwucmVmLCBcIixcIik7XG4gICAgfVxuICAgIGlmIChlbC5yZWZJbkZvcikge1xuICAgICAgICBkYXRhICs9IFwicmVmSW5Gb3I6dHJ1ZSxcIjtcbiAgICB9XG4gICAgLy8gcHJlXG4gICAgaWYgKGVsLnByZSkge1xuICAgICAgICBkYXRhICs9IFwicHJlOnRydWUsXCI7XG4gICAgfVxuICAgIC8vIHJlY29yZCBvcmlnaW5hbCB0YWcgbmFtZSBmb3IgY29tcG9uZW50cyB1c2luZyBcImlzXCIgYXR0cmlidXRlXG4gICAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgICAgICBkYXRhICs9IFwidGFnOlxcXCJcIi5jb25jYXQoZWwudGFnLCBcIlxcXCIsXCIpO1xuICAgIH1cbiAgICAvLyBtb2R1bGUgZGF0YSBnZW5lcmF0aW9uIGZ1bmN0aW9uc1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdGUuZGF0YUdlbkZucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBkYXRhICs9IHN0YXRlLmRhdGFHZW5GbnNbaV0oZWwpO1xuICAgIH1cbiAgICAvLyBhdHRyaWJ1dGVzXG4gICAgaWYgKGVsLmF0dHJzKSB7XG4gICAgICAgIGRhdGEgKz0gXCJhdHRyczpcIi5jb25jYXQoZ2VuUHJvcHMoZWwuYXR0cnMpLCBcIixcIik7XG4gICAgfVxuICAgIC8vIERPTSBwcm9wc1xuICAgIGlmIChlbC5wcm9wcykge1xuICAgICAgICBkYXRhICs9IFwiZG9tUHJvcHM6XCIuY29uY2F0KGdlblByb3BzKGVsLnByb3BzKSwgXCIsXCIpO1xuICAgIH1cbiAgICAvLyBldmVudCBoYW5kbGVyc1xuICAgIGlmIChlbC5ldmVudHMpIHtcbiAgICAgICAgZGF0YSArPSBcIlwiLmNvbmNhdChnZW5IYW5kbGVycyhlbC5ldmVudHMsIGZhbHNlKSwgXCIsXCIpO1xuICAgIH1cbiAgICBpZiAoZWwubmF0aXZlRXZlbnRzKSB7XG4gICAgICAgIGRhdGEgKz0gXCJcIi5jb25jYXQoZ2VuSGFuZGxlcnMoZWwubmF0aXZlRXZlbnRzLCB0cnVlKSwgXCIsXCIpO1xuICAgIH1cbiAgICAvLyBzbG90IHRhcmdldFxuICAgIC8vIG9ubHkgZm9yIG5vbi1zY29wZWQgc2xvdHNcbiAgICBpZiAoZWwuc2xvdFRhcmdldCAmJiAhZWwuc2xvdFNjb3BlKSB7XG4gICAgICAgIGRhdGEgKz0gXCJzbG90OlwiLmNvbmNhdChlbC5zbG90VGFyZ2V0LCBcIixcIik7XG4gICAgfVxuICAgIC8vIHNjb3BlZCBzbG90c1xuICAgIGlmIChlbC5zY29wZWRTbG90cykge1xuICAgICAgICBkYXRhICs9IFwiXCIuY29uY2F0KGdlblNjb3BlZFNsb3RzKGVsLCBlbC5zY29wZWRTbG90cywgc3RhdGUpLCBcIixcIik7XG4gICAgfVxuICAgIC8vIGNvbXBvbmVudCB2LW1vZGVsXG4gICAgaWYgKGVsLm1vZGVsKSB7XG4gICAgICAgIGRhdGEgKz0gXCJtb2RlbDp7dmFsdWU6XCIuY29uY2F0KGVsLm1vZGVsLnZhbHVlLCBcIixjYWxsYmFjazpcIikuY29uY2F0KGVsLm1vZGVsLmNhbGxiYWNrLCBcIixleHByZXNzaW9uOlwiKS5jb25jYXQoZWwubW9kZWwuZXhwcmVzc2lvbiwgXCJ9LFwiKTtcbiAgICB9XG4gICAgLy8gaW5saW5lLXRlbXBsYXRlXG4gICAgaWYgKGVsLmlubGluZVRlbXBsYXRlKSB7XG4gICAgICAgIHZhciBpbmxpbmVUZW1wbGF0ZSA9IGdlbklubGluZVRlbXBsYXRlKGVsLCBzdGF0ZSk7XG4gICAgICAgIGlmIChpbmxpbmVUZW1wbGF0ZSkge1xuICAgICAgICAgICAgZGF0YSArPSBcIlwiLmNvbmNhdChpbmxpbmVUZW1wbGF0ZSwgXCIsXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoLywkLywgJycpICsgJ30nO1xuICAgIC8vIHYtYmluZCBkeW5hbWljIGFyZ3VtZW50IHdyYXBcbiAgICAvLyB2LWJpbmQgd2l0aCBkeW5hbWljIGFyZ3VtZW50cyBtdXN0IGJlIGFwcGxpZWQgdXNpbmcgdGhlIHNhbWUgdi1iaW5kIG9iamVjdFxuICAgIC8vIG1lcmdlIGhlbHBlciBzbyB0aGF0IGNsYXNzL3N0eWxlL211c3RVc2VQcm9wIGF0dHJzIGFyZSBoYW5kbGVkIGNvcnJlY3RseS5cbiAgICBpZiAoZWwuZHluYW1pY0F0dHJzKSB7XG4gICAgICAgIGRhdGEgPSBcIl9iKFwiLmNvbmNhdChkYXRhLCBcIixcXFwiXCIpLmNvbmNhdChlbC50YWcsIFwiXFxcIixcIikuY29uY2F0KGdlblByb3BzKGVsLmR5bmFtaWNBdHRycyksIFwiKVwiKTtcbiAgICB9XG4gICAgLy8gdi1iaW5kIGRhdGEgd3JhcFxuICAgIGlmIChlbC53cmFwRGF0YSkge1xuICAgICAgICBkYXRhID0gZWwud3JhcERhdGEoZGF0YSk7XG4gICAgfVxuICAgIC8vIHYtb24gZGF0YSB3cmFwXG4gICAgaWYgKGVsLndyYXBMaXN0ZW5lcnMpIHtcbiAgICAgICAgZGF0YSA9IGVsLndyYXBMaXN0ZW5lcnMoZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuZnVuY3Rpb24gZ2VuRGlyZWN0aXZlcyhlbCwgc3RhdGUpIHtcbiAgICB2YXIgZGlycyA9IGVsLmRpcmVjdGl2ZXM7XG4gICAgaWYgKCFkaXJzKVxuICAgICAgICByZXR1cm47XG4gICAgdmFyIHJlcyA9ICdkaXJlY3RpdmVzOlsnO1xuICAgIHZhciBoYXNSdW50aW1lID0gZmFsc2U7XG4gICAgdmFyIGksIGwsIGRpciwgbmVlZFJ1bnRpbWU7XG4gICAgZm9yIChpID0gMCwgbCA9IGRpcnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGRpciA9IGRpcnNbaV07XG4gICAgICAgIG5lZWRSdW50aW1lID0gdHJ1ZTtcbiAgICAgICAgdmFyIGdlbiA9IHN0YXRlLmRpcmVjdGl2ZXNbZGlyLm5hbWVdO1xuICAgICAgICBpZiAoZ2VuKSB7XG4gICAgICAgICAgICAvLyBjb21waWxlLXRpbWUgZGlyZWN0aXZlIHRoYXQgbWFuaXB1bGF0ZXMgQVNULlxuICAgICAgICAgICAgLy8gcmV0dXJucyB0cnVlIGlmIGl0IGFsc28gbmVlZHMgYSBydW50aW1lIGNvdW50ZXJwYXJ0LlxuICAgICAgICAgICAgbmVlZFJ1bnRpbWUgPSAhIWdlbihlbCwgZGlyLCBzdGF0ZS53YXJuKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmVlZFJ1bnRpbWUpIHtcbiAgICAgICAgICAgIGhhc1J1bnRpbWUgPSB0cnVlO1xuICAgICAgICAgICAgcmVzICs9IFwie25hbWU6XFxcIlwiLmNvbmNhdChkaXIubmFtZSwgXCJcXFwiLHJhd05hbWU6XFxcIlwiKS5jb25jYXQoZGlyLnJhd05hbWUsIFwiXFxcIlwiKS5jb25jYXQoZGlyLnZhbHVlXG4gICAgICAgICAgICAgICAgPyBcIix2YWx1ZTooXCIuY29uY2F0KGRpci52YWx1ZSwgXCIpLGV4cHJlc3Npb246XCIpLmNvbmNhdChKU09OLnN0cmluZ2lmeShkaXIudmFsdWUpKVxuICAgICAgICAgICAgICAgIDogJycpLmNvbmNhdChkaXIuYXJnID8gXCIsYXJnOlwiLmNvbmNhdChkaXIuaXNEeW5hbWljQXJnID8gZGlyLmFyZyA6IFwiXFxcIlwiLmNvbmNhdChkaXIuYXJnLCBcIlxcXCJcIikpIDogJycpLmNvbmNhdChkaXIubW9kaWZpZXJzID8gXCIsbW9kaWZpZXJzOlwiLmNvbmNhdChKU09OLnN0cmluZ2lmeShkaXIubW9kaWZpZXJzKSkgOiAnJywgXCJ9LFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoaGFzUnVudGltZSkge1xuICAgICAgICByZXR1cm4gcmVzLnNsaWNlKDAsIC0xKSArICddJztcbiAgICB9XG59XG5mdW5jdGlvbiBnZW5JbmxpbmVUZW1wbGF0ZShlbCwgc3RhdGUpIHtcbiAgICB2YXIgYXN0ID0gZWwuY2hpbGRyZW5bMF07XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgKGVsLmNoaWxkcmVuLmxlbmd0aCAhPT0gMSB8fCBhc3QudHlwZSAhPT0gMSkpIHtcbiAgICAgICAgc3RhdGUud2FybignSW5saW5lLXRlbXBsYXRlIGNvbXBvbmVudHMgbXVzdCBoYXZlIGV4YWN0bHkgb25lIGNoaWxkIGVsZW1lbnQuJywgeyBzdGFydDogZWwuc3RhcnQgfSk7XG4gICAgfVxuICAgIGlmIChhc3QgJiYgYXN0LnR5cGUgPT09IDEpIHtcbiAgICAgICAgdmFyIGlubGluZVJlbmRlckZucyA9IGdlbmVyYXRlKGFzdCwgc3RhdGUub3B0aW9ucyk7XG4gICAgICAgIHJldHVybiBcImlubGluZVRlbXBsYXRlOntyZW5kZXI6ZnVuY3Rpb24oKXtcIi5jb25jYXQoaW5saW5lUmVuZGVyRm5zLnJlbmRlciwgXCJ9LHN0YXRpY1JlbmRlckZuczpbXCIpLmNvbmNhdChpbmxpbmVSZW5kZXJGbnMuc3RhdGljUmVuZGVyRm5zXG4gICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChjb2RlKSB7IHJldHVybiBcImZ1bmN0aW9uKCl7XCIuY29uY2F0KGNvZGUsIFwifVwiKTsgfSlcbiAgICAgICAgICAgIC5qb2luKCcsJyksIFwiXX1cIik7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2VuU2NvcGVkU2xvdHMoZWwsIHNsb3RzLCBzdGF0ZSkge1xuICAgIC8vIGJ5IGRlZmF1bHQgc2NvcGVkIHNsb3RzIGFyZSBjb25zaWRlcmVkIFwic3RhYmxlXCIsIHRoaXMgYWxsb3dzIGNoaWxkXG4gICAgLy8gY29tcG9uZW50cyB3aXRoIG9ubHkgc2NvcGVkIHNsb3RzIHRvIHNraXAgZm9yY2VkIHVwZGF0ZXMgZnJvbSBwYXJlbnQuXG4gICAgLy8gYnV0IGluIHNvbWUgY2FzZXMgd2UgaGF2ZSB0byBiYWlsLW91dCBvZiB0aGlzIG9wdGltaXphdGlvblxuICAgIC8vIGZvciBleGFtcGxlIGlmIHRoZSBzbG90IGNvbnRhaW5zIGR5bmFtaWMgbmFtZXMsIGhhcyB2LWlmIG9yIHYtZm9yIG9uIHRoZW0uLi5cbiAgICB2YXIgbmVlZHNGb3JjZVVwZGF0ZSA9IGVsLmZvciB8fFxuICAgICAgICBPYmplY3Qua2V5cyhzbG90cykuc29tZShmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICB2YXIgc2xvdCA9IHNsb3RzW2tleV07XG4gICAgICAgICAgICByZXR1cm4gKHNsb3Quc2xvdFRhcmdldER5bmFtaWMgfHwgc2xvdC5pZiB8fCBzbG90LmZvciB8fCBjb250YWluc1Nsb3RDaGlsZChzbG90KSAvLyBpcyBwYXNzaW5nIGRvd24gc2xvdCBmcm9tIHBhcmVudCB3aGljaCBtYXkgYmUgZHluYW1pY1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgLy8gIzk1MzQ6IGlmIGEgY29tcG9uZW50IHdpdGggc2NvcGVkIHNsb3RzIGlzIGluc2lkZSBhIGNvbmRpdGlvbmFsIGJyYW5jaCxcbiAgICAvLyBpdCdzIHBvc3NpYmxlIGZvciB0aGUgc2FtZSBjb21wb25lbnQgdG8gYmUgcmV1c2VkIGJ1dCB3aXRoIGRpZmZlcmVudFxuICAgIC8vIGNvbXBpbGVkIHNsb3QgY29udGVudC4gVG8gYXZvaWQgdGhhdCwgd2UgZ2VuZXJhdGUgYSB1bmlxdWUga2V5IGJhc2VkIG9uXG4gICAgLy8gdGhlIGdlbmVyYXRlZCBjb2RlIG9mIGFsbCB0aGUgc2xvdCBjb250ZW50cy5cbiAgICB2YXIgbmVlZHNLZXkgPSAhIWVsLmlmO1xuICAgIC8vIE9SIHdoZW4gaXQgaXMgaW5zaWRlIGFub3RoZXIgc2NvcGVkIHNsb3Qgb3Igdi1mb3IgKHRoZSByZWFjdGl2aXR5IG1heSBiZVxuICAgIC8vIGRpc2Nvbm5lY3RlZCBkdWUgdG8gdGhlIGludGVybWVkaWF0ZSBzY29wZSB2YXJpYWJsZSlcbiAgICAvLyAjOTQzOCwgIzk1MDZcbiAgICAvLyBUT0RPOiB0aGlzIGNhbiBiZSBmdXJ0aGVyIG9wdGltaXplZCBieSBwcm9wZXJseSBhbmFseXppbmcgaW4tc2NvcGUgYmluZGluZ3NcbiAgICAvLyBhbmQgc2tpcCBmb3JjZSB1cGRhdGluZyBvbmVzIHRoYXQgZG8gbm90IGFjdHVhbGx5IHVzZSBzY29wZSB2YXJpYWJsZXMuXG4gICAgaWYgKCFuZWVkc0ZvcmNlVXBkYXRlKSB7XG4gICAgICAgIHZhciBwYXJlbnRfMiA9IGVsLnBhcmVudDtcbiAgICAgICAgd2hpbGUgKHBhcmVudF8yKSB7XG4gICAgICAgICAgICBpZiAoKHBhcmVudF8yLnNsb3RTY29wZSAmJiBwYXJlbnRfMi5zbG90U2NvcGUgIT09IGVtcHR5U2xvdFNjb3BlVG9rZW4pIHx8XG4gICAgICAgICAgICAgICAgcGFyZW50XzIuZm9yKSB7XG4gICAgICAgICAgICAgICAgbmVlZHNGb3JjZVVwZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyZW50XzIuaWYpIHtcbiAgICAgICAgICAgICAgICBuZWVkc0tleSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJlbnRfMiA9IHBhcmVudF8yLnBhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgZ2VuZXJhdGVkU2xvdHMgPSBPYmplY3Qua2V5cyhzbG90cylcbiAgICAgICAgLm1hcChmdW5jdGlvbiAoa2V5KSB7IHJldHVybiBnZW5TY29wZWRTbG90KHNsb3RzW2tleV0sIHN0YXRlKTsgfSlcbiAgICAgICAgLmpvaW4oJywnKTtcbiAgICByZXR1cm4gXCJzY29wZWRTbG90czpfdShbXCIuY29uY2F0KGdlbmVyYXRlZFNsb3RzLCBcIl1cIikuY29uY2F0KG5lZWRzRm9yY2VVcGRhdGUgPyBcIixudWxsLHRydWVcIiA6IFwiXCIpLmNvbmNhdCghbmVlZHNGb3JjZVVwZGF0ZSAmJiBuZWVkc0tleSA/IFwiLG51bGwsZmFsc2UsXCIuY29uY2F0KGhhc2goZ2VuZXJhdGVkU2xvdHMpKSA6IFwiXCIsIFwiKVwiKTtcbn1cbmZ1bmN0aW9uIGhhc2goc3RyKSB7XG4gICAgdmFyIGhhc2ggPSA1MzgxO1xuICAgIHZhciBpID0gc3RyLmxlbmd0aDtcbiAgICB3aGlsZSAoaSkge1xuICAgICAgICBoYXNoID0gKGhhc2ggKiAzMykgXiBzdHIuY2hhckNvZGVBdCgtLWkpO1xuICAgIH1cbiAgICByZXR1cm4gaGFzaCA+Pj4gMDtcbn1cbmZ1bmN0aW9uIGNvbnRhaW5zU2xvdENoaWxkKGVsKSB7XG4gICAgaWYgKGVsLnR5cGUgPT09IDEpIHtcbiAgICAgICAgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZWwuY2hpbGRyZW4uc29tZShjb250YWluc1Nsb3RDaGlsZCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGdlblNjb3BlZFNsb3QoZWwsIHN0YXRlKSB7XG4gICAgdmFyIGlzTGVnYWN5U3ludGF4ID0gZWwuYXR0cnNNYXBbJ3Nsb3Qtc2NvcGUnXTtcbiAgICBpZiAoZWwuaWYgJiYgIWVsLmlmUHJvY2Vzc2VkICYmICFpc0xlZ2FjeVN5bnRheCkge1xuICAgICAgICByZXR1cm4gZ2VuSWYoZWwsIHN0YXRlLCBnZW5TY29wZWRTbG90LCBcIm51bGxcIik7XG4gICAgfVxuICAgIGlmIChlbC5mb3IgJiYgIWVsLmZvclByb2Nlc3NlZCkge1xuICAgICAgICByZXR1cm4gZ2VuRm9yKGVsLCBzdGF0ZSwgZ2VuU2NvcGVkU2xvdCk7XG4gICAgfVxuICAgIHZhciBzbG90U2NvcGUgPSBlbC5zbG90U2NvcGUgPT09IGVtcHR5U2xvdFNjb3BlVG9rZW4gPyBcIlwiIDogU3RyaW5nKGVsLnNsb3RTY29wZSk7XG4gICAgdmFyIGZuID0gXCJmdW5jdGlvbihcIi5jb25jYXQoc2xvdFNjb3BlLCBcIil7XCIpICtcbiAgICAgICAgXCJyZXR1cm4gXCIuY29uY2F0KGVsLnRhZyA9PT0gJ3RlbXBsYXRlJ1xuICAgICAgICAgICAgPyBlbC5pZiAmJiBpc0xlZ2FjeVN5bnRheFxuICAgICAgICAgICAgICAgID8gXCIoXCIuY29uY2F0KGVsLmlmLCBcIik/XCIpLmNvbmNhdChnZW5DaGlsZHJlbihlbCwgc3RhdGUpIHx8ICd1bmRlZmluZWQnLCBcIjp1bmRlZmluZWRcIilcbiAgICAgICAgICAgICAgICA6IGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSkgfHwgJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgIDogZ2VuRWxlbWVudChlbCwgc3RhdGUpLCBcIn1cIik7XG4gICAgLy8gcmV2ZXJzZSBwcm94eSB2LXNsb3Qgd2l0aG91dCBzY29wZSBvbiB0aGlzLiRzbG90c1xuICAgIHZhciByZXZlcnNlUHJveHkgPSBzbG90U2NvcGUgPyBcIlwiIDogXCIscHJveHk6dHJ1ZVwiO1xuICAgIHJldHVybiBcIntrZXk6XCIuY29uY2F0KGVsLnNsb3RUYXJnZXQgfHwgXCJcXFwiZGVmYXVsdFxcXCJcIiwgXCIsZm46XCIpLmNvbmNhdChmbikuY29uY2F0KHJldmVyc2VQcm94eSwgXCJ9XCIpO1xufVxuZnVuY3Rpb24gZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlLCBjaGVja1NraXAsIGFsdEdlbkVsZW1lbnQsIGFsdEdlbk5vZGUpIHtcbiAgICB2YXIgY2hpbGRyZW4gPSBlbC5jaGlsZHJlbjtcbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgIHZhciBlbF8xID0gY2hpbGRyZW5bMF07XG4gICAgICAgIC8vIG9wdGltaXplIHNpbmdsZSB2LWZvclxuICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgICBlbF8xLmZvciAmJlxuICAgICAgICAgICAgZWxfMS50YWcgIT09ICd0ZW1wbGF0ZScgJiZcbiAgICAgICAgICAgIGVsXzEudGFnICE9PSAnc2xvdCcpIHtcbiAgICAgICAgICAgIHZhciBub3JtYWxpemF0aW9uVHlwZV8xID0gY2hlY2tTa2lwXG4gICAgICAgICAgICAgICAgPyBzdGF0ZS5tYXliZUNvbXBvbmVudChlbF8xKVxuICAgICAgICAgICAgICAgICAgICA/IFwiLDFcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiLDBcIlxuICAgICAgICAgICAgICAgIDogXCJcIjtcbiAgICAgICAgICAgIHJldHVybiBcIlwiLmNvbmNhdCgoYWx0R2VuRWxlbWVudCB8fCBnZW5FbGVtZW50KShlbF8xLCBzdGF0ZSkpLmNvbmNhdChub3JtYWxpemF0aW9uVHlwZV8xKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbm9ybWFsaXphdGlvblR5cGUgPSBjaGVja1NraXBcbiAgICAgICAgICAgID8gZ2V0Tm9ybWFsaXphdGlvblR5cGUoY2hpbGRyZW4sIHN0YXRlLm1heWJlQ29tcG9uZW50KVxuICAgICAgICAgICAgOiAwO1xuICAgICAgICB2YXIgZ2VuXzEgPSBhbHRHZW5Ob2RlIHx8IGdlbk5vZGU7XG4gICAgICAgIHJldHVybiBcIltcIi5jb25jYXQoY2hpbGRyZW4ubWFwKGZ1bmN0aW9uIChjKSB7IHJldHVybiBnZW5fMShjLCBzdGF0ZSk7IH0pLmpvaW4oJywnKSwgXCJdXCIpLmNvbmNhdChub3JtYWxpemF0aW9uVHlwZSA/IFwiLFwiLmNvbmNhdChub3JtYWxpemF0aW9uVHlwZSkgOiAnJyk7XG4gICAgfVxufVxuLy8gZGV0ZXJtaW5lIHRoZSBub3JtYWxpemF0aW9uIG5lZWRlZCBmb3IgdGhlIGNoaWxkcmVuIGFycmF5LlxuLy8gMDogbm8gbm9ybWFsaXphdGlvbiBuZWVkZWRcbi8vIDE6IHNpbXBsZSBub3JtYWxpemF0aW9uIG5lZWRlZCAocG9zc2libGUgMS1sZXZlbCBkZWVwIG5lc3RlZCBhcnJheSlcbi8vIDI6IGZ1bGwgbm9ybWFsaXphdGlvbiBuZWVkZWRcbmZ1bmN0aW9uIGdldE5vcm1hbGl6YXRpb25UeXBlKGNoaWxkcmVuLCBtYXliZUNvbXBvbmVudCkge1xuICAgIHZhciByZXMgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGVsID0gY2hpbGRyZW5baV07XG4gICAgICAgIGlmIChlbC50eXBlICE9PSAxKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobmVlZHNOb3JtYWxpemF0aW9uKGVsKSB8fFxuICAgICAgICAgICAgKGVsLmlmQ29uZGl0aW9ucyAmJlxuICAgICAgICAgICAgICAgIGVsLmlmQ29uZGl0aW9ucy5zb21lKGZ1bmN0aW9uIChjKSB7IHJldHVybiBuZWVkc05vcm1hbGl6YXRpb24oYy5ibG9jayk7IH0pKSkge1xuICAgICAgICAgICAgcmVzID0gMjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXliZUNvbXBvbmVudChlbCkgfHxcbiAgICAgICAgICAgIChlbC5pZkNvbmRpdGlvbnMgJiYgZWwuaWZDb25kaXRpb25zLnNvbWUoZnVuY3Rpb24gKGMpIHsgcmV0dXJuIG1heWJlQ29tcG9uZW50KGMuYmxvY2spOyB9KSkpIHtcbiAgICAgICAgICAgIHJlcyA9IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbmZ1bmN0aW9uIG5lZWRzTm9ybWFsaXphdGlvbihlbCkge1xuICAgIHJldHVybiBlbC5mb3IgIT09IHVuZGVmaW5lZCB8fCBlbC50YWcgPT09ICd0ZW1wbGF0ZScgfHwgZWwudGFnID09PSAnc2xvdCc7XG59XG5mdW5jdGlvbiBnZW5Ob2RlKG5vZGUsIHN0YXRlKSB7XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgICAgICByZXR1cm4gZ2VuRWxlbWVudChub2RlLCBzdGF0ZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gMyAmJiBub2RlLmlzQ29tbWVudCkge1xuICAgICAgICByZXR1cm4gZ2VuQ29tbWVudChub2RlKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBnZW5UZXh0KG5vZGUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdlblRleHQodGV4dCkge1xuICAgIHJldHVybiBcIl92KFwiLmNvbmNhdCh0ZXh0LnR5cGUgPT09IDJcbiAgICAgICAgPyB0ZXh0LmV4cHJlc3Npb24gLy8gbm8gbmVlZCBmb3IgKCkgYmVjYXVzZSBhbHJlYWR5IHdyYXBwZWQgaW4gX3MoKVxuICAgICAgICA6IHRyYW5zZm9ybVNwZWNpYWxOZXdsaW5lcyhKU09OLnN0cmluZ2lmeSh0ZXh0LnRleHQpKSwgXCIpXCIpO1xufVxuZnVuY3Rpb24gZ2VuQ29tbWVudChjb21tZW50KSB7XG4gICAgcmV0dXJuIFwiX2UoXCIuY29uY2F0KEpTT04uc3RyaW5naWZ5KGNvbW1lbnQudGV4dCksIFwiKVwiKTtcbn1cbmZ1bmN0aW9uIGdlblNsb3QoZWwsIHN0YXRlKSB7XG4gICAgdmFyIHNsb3ROYW1lID0gZWwuc2xvdE5hbWUgfHwgJ1wiZGVmYXVsdFwiJztcbiAgICB2YXIgY2hpbGRyZW4gPSBnZW5DaGlsZHJlbihlbCwgc3RhdGUpO1xuICAgIHZhciByZXMgPSBcIl90KFwiLmNvbmNhdChzbG90TmFtZSkuY29uY2F0KGNoaWxkcmVuID8gXCIsZnVuY3Rpb24oKXtyZXR1cm4gXCIuY29uY2F0KGNoaWxkcmVuLCBcIn1cIikgOiAnJyk7XG4gICAgdmFyIGF0dHJzID0gZWwuYXR0cnMgfHwgZWwuZHluYW1pY0F0dHJzXG4gICAgICAgID8gZ2VuUHJvcHMoKGVsLmF0dHJzIHx8IFtdKS5jb25jYXQoZWwuZHluYW1pY0F0dHJzIHx8IFtdKS5tYXAoZnVuY3Rpb24gKGF0dHIpIHsgcmV0dXJuICh7XG4gICAgICAgICAgICAvLyBzbG90IHByb3BzIGFyZSBjYW1lbGl6ZWRcbiAgICAgICAgICAgIG5hbWU6IGNhbWVsaXplKGF0dHIubmFtZSksXG4gICAgICAgICAgICB2YWx1ZTogYXR0ci52YWx1ZSxcbiAgICAgICAgICAgIGR5bmFtaWM6IGF0dHIuZHluYW1pY1xuICAgICAgICB9KTsgfSkpXG4gICAgICAgIDogbnVsbDtcbiAgICB2YXIgYmluZCA9IGVsLmF0dHJzTWFwWyd2LWJpbmQnXTtcbiAgICBpZiAoKGF0dHJzIHx8IGJpbmQpICYmICFjaGlsZHJlbikge1xuICAgICAgICByZXMgKz0gXCIsbnVsbFwiO1xuICAgIH1cbiAgICBpZiAoYXR0cnMpIHtcbiAgICAgICAgcmVzICs9IFwiLFwiLmNvbmNhdChhdHRycyk7XG4gICAgfVxuICAgIGlmIChiaW5kKSB7XG4gICAgICAgIHJlcyArPSBcIlwiLmNvbmNhdChhdHRycyA/ICcnIDogJyxudWxsJywgXCIsXCIpLmNvbmNhdChiaW5kKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcyArICcpJztcbn1cbi8vIGNvbXBvbmVudE5hbWUgaXMgZWwuY29tcG9uZW50LCB0YWtlIGl0IGFzIGFyZ3VtZW50IHRvIHNodW4gZmxvdydzIHBlc3NpbWlzdGljIHJlZmluZW1lbnRcbmZ1bmN0aW9uIGdlbkNvbXBvbmVudChjb21wb25lbnROYW1lLCBlbCwgc3RhdGUpIHtcbiAgICB2YXIgY2hpbGRyZW4gPSBlbC5pbmxpbmVUZW1wbGF0ZSA/IG51bGwgOiBnZW5DaGlsZHJlbihlbCwgc3RhdGUsIHRydWUpO1xuICAgIHJldHVybiBcIl9jKFwiLmNvbmNhdChjb21wb25lbnROYW1lLCBcIixcIikuY29uY2F0KGdlbkRhdGEoZWwsIHN0YXRlKSkuY29uY2F0KGNoaWxkcmVuID8gXCIsXCIuY29uY2F0KGNoaWxkcmVuKSA6ICcnLCBcIilcIik7XG59XG5mdW5jdGlvbiBnZW5Qcm9wcyhwcm9wcykge1xuICAgIHZhciBzdGF0aWNQcm9wcyA9IFwiXCI7XG4gICAgdmFyIGR5bmFtaWNQcm9wcyA9IFwiXCI7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcHJvcCA9IHByb3BzW2ldO1xuICAgICAgICB2YXIgdmFsdWUgPSB0cmFuc2Zvcm1TcGVjaWFsTmV3bGluZXMocHJvcC52YWx1ZSk7XG4gICAgICAgIGlmIChwcm9wLmR5bmFtaWMpIHtcbiAgICAgICAgICAgIGR5bmFtaWNQcm9wcyArPSBcIlwiLmNvbmNhdChwcm9wLm5hbWUsIFwiLFwiKS5jb25jYXQodmFsdWUsIFwiLFwiKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHN0YXRpY1Byb3BzICs9IFwiXFxcIlwiLmNvbmNhdChwcm9wLm5hbWUsIFwiXFxcIjpcIikuY29uY2F0KHZhbHVlLCBcIixcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljUHJvcHMgPSBcIntcIi5jb25jYXQoc3RhdGljUHJvcHMuc2xpY2UoMCwgLTEpLCBcIn1cIik7XG4gICAgaWYgKGR5bmFtaWNQcm9wcykge1xuICAgICAgICByZXR1cm4gXCJfZChcIi5jb25jYXQoc3RhdGljUHJvcHMsIFwiLFtcIikuY29uY2F0KGR5bmFtaWNQcm9wcy5zbGljZSgwLCAtMSksIFwiXSlcIik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gc3RhdGljUHJvcHM7XG4gICAgfVxufVxuLy8gIzM4OTUsICM0MjY4XG5mdW5jdGlvbiB0cmFuc2Zvcm1TcGVjaWFsTmV3bGluZXModGV4dCkge1xuICAgIHJldHVybiB0ZXh0LnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcpLnJlcGxhY2UoL1xcdTIwMjkvZywgJ1xcXFx1MjAyOScpO1xufVxuXG4vLyB0aGVzZSBrZXl3b3JkcyBzaG91bGQgbm90IGFwcGVhciBpbnNpZGUgZXhwcmVzc2lvbnMsIGJ1dCBvcGVyYXRvcnMgbGlrZVxuLy8gdHlwZW9mLCBpbnN0YW5jZW9mIGFuZCBpbiBhcmUgYWxsb3dlZFxudmFyIHByb2hpYml0ZWRLZXl3b3JkUkUgPSBuZXcgUmVnRXhwKCdcXFxcYicgK1xuICAgICgnZG8saWYsZm9yLGxldCxuZXcsdHJ5LHZhcixjYXNlLGVsc2Usd2l0aCxhd2FpdCxicmVhayxjYXRjaCxjbGFzcyxjb25zdCwnICtcbiAgICAgICAgJ3N1cGVyLHRocm93LHdoaWxlLHlpZWxkLGRlbGV0ZSxleHBvcnQsaW1wb3J0LHJldHVybixzd2l0Y2gsZGVmYXVsdCwnICtcbiAgICAgICAgJ2V4dGVuZHMsZmluYWxseSxjb250aW51ZSxkZWJ1Z2dlcixmdW5jdGlvbixhcmd1bWVudHMnKVxuICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAuam9pbignXFxcXGJ8XFxcXGInKSArXG4gICAgJ1xcXFxiJyk7XG4vLyB0aGVzZSB1bmFyeSBvcGVyYXRvcnMgc2hvdWxkIG5vdCBiZSB1c2VkIGFzIHByb3BlcnR5L21ldGhvZCBuYW1lc1xudmFyIHVuYXJ5T3BlcmF0b3JzUkUgPSBuZXcgUmVnRXhwKCdcXFxcYicgK1xuICAgICdkZWxldGUsdHlwZW9mLHZvaWQnLnNwbGl0KCcsJykuam9pbignXFxcXHMqXFxcXChbXlxcXFwpXSpcXFxcKXxcXFxcYicpICtcbiAgICAnXFxcXHMqXFxcXChbXlxcXFwpXSpcXFxcKScpO1xuLy8gc3RyaXAgc3RyaW5ncyBpbiBleHByZXNzaW9uc1xudmFyIHN0cmlwU3RyaW5nUkUgPSAvJyg/OlteJ1xcXFxdfFxcXFwuKSonfFwiKD86W15cIlxcXFxdfFxcXFwuKSpcInxgKD86W15gXFxcXF18XFxcXC4pKlxcJFxce3xcXH0oPzpbXmBcXFxcXXxcXFxcLikqYHxgKD86W15gXFxcXF18XFxcXC4pKmAvZztcbi8vIGRldGVjdCBwcm9ibGVtYXRpYyBleHByZXNzaW9ucyBpbiBhIHRlbXBsYXRlXG5mdW5jdGlvbiBkZXRlY3RFcnJvcnMoYXN0LCB3YXJuKSB7XG4gICAgaWYgKGFzdCkge1xuICAgICAgICBjaGVja05vZGUoYXN0LCB3YXJuKTtcbiAgICB9XG59XG5mdW5jdGlvbiBjaGVja05vZGUobm9kZSwgd2Fybikge1xuICAgIGlmIChub2RlLnR5cGUgPT09IDEpIHtcbiAgICAgICAgZm9yICh2YXIgbmFtZV8xIGluIG5vZGUuYXR0cnNNYXApIHtcbiAgICAgICAgICAgIGlmIChkaXJSRS50ZXN0KG5hbWVfMSkpIHtcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBub2RlLmF0dHJzTWFwW25hbWVfMV07XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByYW5nZSA9IG5vZGUucmF3QXR0cnNNYXBbbmFtZV8xXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWVfMSA9PT0gJ3YtZm9yJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tGb3Iobm9kZSwgXCJ2LWZvcj1cXFwiXCIuY29uY2F0KHZhbHVlLCBcIlxcXCJcIiksIHdhcm4sIHJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChuYW1lXzEgPT09ICd2LXNsb3QnIHx8IG5hbWVfMVswXSA9PT0gJyMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja0Z1bmN0aW9uUGFyYW1ldGVyRXhwcmVzc2lvbih2YWx1ZSwgXCJcIi5jb25jYXQobmFtZV8xLCBcIj1cXFwiXCIpLmNvbmNhdCh2YWx1ZSwgXCJcXFwiXCIpLCB3YXJuLCByYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAob25SRS50ZXN0KG5hbWVfMSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrRXZlbnQodmFsdWUsIFwiXCIuY29uY2F0KG5hbWVfMSwgXCI9XFxcIlwiKS5jb25jYXQodmFsdWUsIFwiXFxcIlwiKSwgd2FybiwgcmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tFeHByZXNzaW9uKHZhbHVlLCBcIlwiLmNvbmNhdChuYW1lXzEsIFwiPVxcXCJcIikuY29uY2F0KHZhbHVlLCBcIlxcXCJcIiksIHdhcm4sIHJhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY2hlY2tOb2RlKG5vZGUuY2hpbGRyZW5baV0sIHdhcm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gMikge1xuICAgICAgICBjaGVja0V4cHJlc3Npb24obm9kZS5leHByZXNzaW9uLCBub2RlLnRleHQsIHdhcm4sIG5vZGUpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGNoZWNrRXZlbnQoZXhwLCB0ZXh0LCB3YXJuLCByYW5nZSkge1xuICAgIHZhciBzdHJpcHBlZCA9IGV4cC5yZXBsYWNlKHN0cmlwU3RyaW5nUkUsICcnKTtcbiAgICB2YXIga2V5d29yZE1hdGNoID0gc3RyaXBwZWQubWF0Y2godW5hcnlPcGVyYXRvcnNSRSk7XG4gICAgaWYgKGtleXdvcmRNYXRjaCAmJiBzdHJpcHBlZC5jaGFyQXQoa2V5d29yZE1hdGNoLmluZGV4IC0gMSkgIT09ICckJykge1xuICAgICAgICB3YXJuKFwiYXZvaWQgdXNpbmcgSmF2YVNjcmlwdCB1bmFyeSBvcGVyYXRvciBhcyBwcm9wZXJ0eSBuYW1lOiBcIiArXG4gICAgICAgICAgICBcIlxcXCJcIi5jb25jYXQoa2V5d29yZE1hdGNoWzBdLCBcIlxcXCIgaW4gZXhwcmVzc2lvbiBcIikuY29uY2F0KHRleHQudHJpbSgpKSwgcmFuZ2UpO1xuICAgIH1cbiAgICBjaGVja0V4cHJlc3Npb24oZXhwLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG59XG5mdW5jdGlvbiBjaGVja0Zvcihub2RlLCB0ZXh0LCB3YXJuLCByYW5nZSkge1xuICAgIGNoZWNrRXhwcmVzc2lvbihub2RlLmZvciB8fCAnJywgdGV4dCwgd2FybiwgcmFuZ2UpO1xuICAgIGNoZWNrSWRlbnRpZmllcihub2RlLmFsaWFzLCAndi1mb3IgYWxpYXMnLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG4gICAgY2hlY2tJZGVudGlmaWVyKG5vZGUuaXRlcmF0b3IxLCAndi1mb3IgaXRlcmF0b3InLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG4gICAgY2hlY2tJZGVudGlmaWVyKG5vZGUuaXRlcmF0b3IyLCAndi1mb3IgaXRlcmF0b3InLCB0ZXh0LCB3YXJuLCByYW5nZSk7XG59XG5mdW5jdGlvbiBjaGVja0lkZW50aWZpZXIoaWRlbnQsIHR5cGUsIHRleHQsIHdhcm4sIHJhbmdlKSB7XG4gICAgaWYgKHR5cGVvZiBpZGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG5ldyBGdW5jdGlvbihcInZhciBcIi5jb25jYXQoaWRlbnQsIFwiPV9cIikpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICB3YXJuKFwiaW52YWxpZCBcIi5jb25jYXQodHlwZSwgXCIgXFxcIlwiKS5jb25jYXQoaWRlbnQsIFwiXFxcIiBpbiBleHByZXNzaW9uOiBcIikuY29uY2F0KHRleHQudHJpbSgpKSwgcmFuZ2UpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gY2hlY2tFeHByZXNzaW9uKGV4cCwgdGV4dCwgd2FybiwgcmFuZ2UpIHtcbiAgICB0cnkge1xuICAgICAgICBuZXcgRnVuY3Rpb24oXCJyZXR1cm4gXCIuY29uY2F0KGV4cCkpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICB2YXIga2V5d29yZE1hdGNoID0gZXhwXG4gICAgICAgICAgICAucmVwbGFjZShzdHJpcFN0cmluZ1JFLCAnJylcbiAgICAgICAgICAgIC5tYXRjaChwcm9oaWJpdGVkS2V5d29yZFJFKTtcbiAgICAgICAgaWYgKGtleXdvcmRNYXRjaCkge1xuICAgICAgICAgICAgd2FybihcImF2b2lkIHVzaW5nIEphdmFTY3JpcHQga2V5d29yZCBhcyBwcm9wZXJ0eSBuYW1lOiBcIiArXG4gICAgICAgICAgICAgICAgXCJcXFwiXCIuY29uY2F0KGtleXdvcmRNYXRjaFswXSwgXCJcXFwiXFxuICBSYXcgZXhwcmVzc2lvbjogXCIpLmNvbmNhdCh0ZXh0LnRyaW0oKSksIHJhbmdlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHdhcm4oXCJpbnZhbGlkIGV4cHJlc3Npb246IFwiLmNvbmNhdChlLm1lc3NhZ2UsIFwiIGluXFxuXFxuXCIpICtcbiAgICAgICAgICAgICAgICBcIiAgICBcIi5jb25jYXQoZXhwLCBcIlxcblxcblwiKSArXG4gICAgICAgICAgICAgICAgXCIgIFJhdyBleHByZXNzaW9uOiBcIi5jb25jYXQodGV4dC50cmltKCksIFwiXFxuXCIpLCByYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBjaGVja0Z1bmN0aW9uUGFyYW1ldGVyRXhwcmVzc2lvbihleHAsIHRleHQsIHdhcm4sIHJhbmdlKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgbmV3IEZ1bmN0aW9uKGV4cCwgJycpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICB3YXJuKFwiaW52YWxpZCBmdW5jdGlvbiBwYXJhbWV0ZXIgZXhwcmVzc2lvbjogXCIuY29uY2F0KGUubWVzc2FnZSwgXCIgaW5cXG5cXG5cIikgK1xuICAgICAgICAgICAgXCIgICAgXCIuY29uY2F0KGV4cCwgXCJcXG5cXG5cIikgK1xuICAgICAgICAgICAgXCIgIFJhdyBleHByZXNzaW9uOiBcIi5jb25jYXQodGV4dC50cmltKCksIFwiXFxuXCIpLCByYW5nZSk7XG4gICAgfVxufVxuXG52YXIgcmFuZ2UgPSAyO1xuZnVuY3Rpb24gZ2VuZXJhdGVDb2RlRnJhbWUoc291cmNlLCBzdGFydCwgZW5kKSB7XG4gICAgaWYgKHN0YXJ0ID09PSB2b2lkIDApIHsgc3RhcnQgPSAwOyB9XG4gICAgaWYgKGVuZCA9PT0gdm9pZCAwKSB7IGVuZCA9IHNvdXJjZS5sZW5ndGg7IH1cbiAgICB2YXIgbGluZXMgPSBzb3VyY2Uuc3BsaXQoL1xccj9cXG4vKTtcbiAgICB2YXIgY291bnQgPSAwO1xuICAgIHZhciByZXMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvdW50ICs9IGxpbmVzW2ldLmxlbmd0aCArIDE7XG4gICAgICAgIGlmIChjb3VudCA+PSBzdGFydCkge1xuICAgICAgICAgICAgZm9yICh2YXIgaiA9IGkgLSByYW5nZTsgaiA8PSBpICsgcmFuZ2UgfHwgZW5kID4gY291bnQ7IGorKykge1xuICAgICAgICAgICAgICAgIGlmIChqIDwgMCB8fCBqID49IGxpbmVzLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goXCJcIi5jb25jYXQoaiArIDEpLmNvbmNhdChyZXBlYXQoXCIgXCIsIDMgLSBTdHJpbmcoaiArIDEpLmxlbmd0aCksIFwifCAgXCIpLmNvbmNhdChsaW5lc1tqXSkpO1xuICAgICAgICAgICAgICAgIHZhciBsaW5lTGVuZ3RoID0gbGluZXNbal0ubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGlmIChqID09PSBpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHB1c2ggdW5kZXJsaW5lXG4gICAgICAgICAgICAgICAgICAgIHZhciBwYWQgPSBzdGFydCAtIChjb3VudCAtIGxpbmVMZW5ndGgpICsgMTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxlbmd0aF8xID0gZW5kID4gY291bnQgPyBsaW5lTGVuZ3RoIC0gcGFkIDogZW5kIC0gc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIHJlcy5wdXNoKFwiICAgfCAgXCIgKyByZXBlYXQoXCIgXCIsIHBhZCkgKyByZXBlYXQoXCJeXCIsIGxlbmd0aF8xKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGogPiBpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbmQgPiBjb3VudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxlbmd0aF8yID0gTWF0aC5taW4oZW5kIC0gY291bnQsIGxpbmVMZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLnB1c2goXCIgICB8ICBcIiArIHJlcGVhdChcIl5cIiwgbGVuZ3RoXzIpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb3VudCArPSBsaW5lTGVuZ3RoICsgMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzLmpvaW4oJ1xcbicpO1xufVxuZnVuY3Rpb24gcmVwZWF0KHN0ciwgbikge1xuICAgIHZhciByZXN1bHQgPSAnJztcbiAgICBpZiAobiA+IDApIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnN0YW50LWNvbmRpdGlvblxuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAgICAgaWYgKG4gJiAxKVxuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzdHI7XG4gICAgICAgICAgICBuID4+Pj0gMTtcbiAgICAgICAgICAgIGlmIChuIDw9IDApXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBzdHIgKz0gc3RyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uKGNvZGUsIGVycm9ycykge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBuZXcgRnVuY3Rpb24oY29kZSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goeyBlcnI6IGVyciwgY29kZTogY29kZSB9KTtcbiAgICAgICAgcmV0dXJuIG5vb3A7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlQ29tcGlsZVRvRnVuY3Rpb25Gbihjb21waWxlKSB7XG4gICAgdmFyIGNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gY29tcGlsZVRvRnVuY3Rpb25zKHRlbXBsYXRlLCBvcHRpb25zLCB2bSkge1xuICAgICAgICBvcHRpb25zID0gZXh0ZW5kKHt9LCBvcHRpb25zKTtcbiAgICAgICAgdmFyIHdhcm4gPSBvcHRpb25zLndhcm4gfHwgd2FybiQyO1xuICAgICAgICBkZWxldGUgb3B0aW9ucy53YXJuO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGRldGVjdCBwb3NzaWJsZSBDU1AgcmVzdHJpY3Rpb25cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbmV3IEZ1bmN0aW9uKCdyZXR1cm4gMScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoZS50b1N0cmluZygpLm1hdGNoKC91bnNhZmUtZXZhbHxDU1AvKSkge1xuICAgICAgICAgICAgICAgICAgICB3YXJuKCdJdCBzZWVtcyB5b3UgYXJlIHVzaW5nIHRoZSBzdGFuZGFsb25lIGJ1aWxkIG9mIFZ1ZS5qcyBpbiBhbiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdlbnZpcm9ubWVudCB3aXRoIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHRoYXQgcHJvaGliaXRzIHVuc2FmZS1ldmFsLiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgdGVtcGxhdGUgY29tcGlsZXIgY2Fubm90IHdvcmsgaW4gdGhpcyBlbnZpcm9ubWVudC4gQ29uc2lkZXIgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAncmVsYXhpbmcgdGhlIHBvbGljeSB0byBhbGxvdyB1bnNhZmUtZXZhbCBvciBwcmUtY29tcGlsaW5nIHlvdXIgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAndGVtcGxhdGVzIGludG8gcmVuZGVyIGZ1bmN0aW9ucy4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2hlY2sgY2FjaGVcbiAgICAgICAgdmFyIGtleSA9IG9wdGlvbnMuZGVsaW1pdGVyc1xuICAgICAgICAgICAgPyBTdHJpbmcob3B0aW9ucy5kZWxpbWl0ZXJzKSArIHRlbXBsYXRlXG4gICAgICAgICAgICA6IHRlbXBsYXRlO1xuICAgICAgICBpZiAoY2FjaGVba2V5XSkge1xuICAgICAgICAgICAgcmV0dXJuIGNhY2hlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29tcGlsZVxuICAgICAgICB2YXIgY29tcGlsZWQgPSBjb21waWxlKHRlbXBsYXRlLCBvcHRpb25zKTtcbiAgICAgICAgLy8gY2hlY2sgY29tcGlsYXRpb24gZXJyb3JzL3RpcHNcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIGlmIChjb21waWxlZC5lcnJvcnMgJiYgY29tcGlsZWQuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBpbGVkLmVycm9ycy5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuKFwiRXJyb3IgY29tcGlsaW5nIHRlbXBsYXRlOlxcblxcblwiLmNvbmNhdChlLm1zZywgXCJcXG5cXG5cIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29kZUZyYW1lKHRlbXBsYXRlLCBlLnN0YXJ0LCBlLmVuZCksIHZtKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB3YXJuKFwiRXJyb3IgY29tcGlsaW5nIHRlbXBsYXRlOlxcblxcblwiLmNvbmNhdCh0ZW1wbGF0ZSwgXCJcXG5cXG5cIikgK1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZWQuZXJyb3JzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gXCItIFwiLmNvbmNhdChlKTsgfSkuam9pbignXFxuJykgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ1xcbicsIHZtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY29tcGlsZWQudGlwcyAmJiBjb21waWxlZC50aXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBpbGVkLnRpcHMuZm9yRWFjaChmdW5jdGlvbiAoZSkgeyByZXR1cm4gdGlwKGUubXNnLCB2bSk7IH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcGlsZWQudGlwcy5mb3JFYWNoKGZ1bmN0aW9uIChtc2cpIHsgcmV0dXJuIHRpcChtc2csIHZtKTsgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHR1cm4gY29kZSBpbnRvIGZ1bmN0aW9uc1xuICAgICAgICB2YXIgcmVzID0ge307XG4gICAgICAgIHZhciBmbkdlbkVycm9ycyA9IFtdO1xuICAgICAgICByZXMucmVuZGVyID0gY3JlYXRlRnVuY3Rpb24oY29tcGlsZWQucmVuZGVyLCBmbkdlbkVycm9ycyk7XG4gICAgICAgIHJlcy5zdGF0aWNSZW5kZXJGbnMgPSBjb21waWxlZC5zdGF0aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9uIChjb2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlRnVuY3Rpb24oY29kZSwgZm5HZW5FcnJvcnMpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gY2hlY2sgZnVuY3Rpb24gZ2VuZXJhdGlvbiBlcnJvcnMuXG4gICAgICAgIC8vIHRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGlmIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBjb21waWxlciBpdHNlbGYuXG4gICAgICAgIC8vIG1vc3RseSBmb3IgY29kZWdlbiBkZXZlbG9wbWVudCB1c2VcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICBpZiAoKCFjb21waWxlZC5lcnJvcnMgfHwgIWNvbXBpbGVkLmVycm9ycy5sZW5ndGgpICYmIGZuR2VuRXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHdhcm4oXCJGYWlsZWQgdG8gZ2VuZXJhdGUgcmVuZGVyIGZ1bmN0aW9uOlxcblxcblwiICtcbiAgICAgICAgICAgICAgICAgICAgZm5HZW5FcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZXJyID0gX2EuZXJyLCBjb2RlID0gX2EuY29kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcIlwiLmNvbmNhdChlcnIudG9TdHJpbmcoKSwgXCIgaW5cXG5cXG5cIikuY29uY2F0KGNvZGUsIFwiXFxuXCIpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJ1xcbicpLCB2bSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChjYWNoZVtrZXldID0gcmVzKTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDb21waWxlckNyZWF0b3IoYmFzZUNvbXBpbGUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXIoYmFzZU9wdGlvbnMpIHtcbiAgICAgICAgZnVuY3Rpb24gY29tcGlsZSh0ZW1wbGF0ZSwgb3B0aW9ucykge1xuICAgICAgICAgICAgdmFyIGZpbmFsT3B0aW9ucyA9IE9iamVjdC5jcmVhdGUoYmFzZU9wdGlvbnMpO1xuICAgICAgICAgICAgdmFyIGVycm9ycyA9IFtdO1xuICAgICAgICAgICAgdmFyIHRpcHMgPSBbXTtcbiAgICAgICAgICAgIHZhciB3YXJuID0gZnVuY3Rpb24gKG1zZywgcmFuZ2UsIHRpcCkge1xuICAgICAgICAgICAgICAgICh0aXAgPyB0aXBzIDogZXJyb3JzKS5wdXNoKG1zZyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBvcHRpb25zLm91dHB1dFNvdXJjZVJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgICAgICAgICAgICAgICB2YXIgbGVhZGluZ1NwYWNlTGVuZ3RoXzEgPSB0ZW1wbGF0ZS5tYXRjaCgvXlxccyovKVswXS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIHdhcm4gPSBmdW5jdGlvbiAobXNnLCByYW5nZSwgdGlwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHR5cGVvZiBtc2cgPT09ICdzdHJpbmcnID8geyBtc2c6IG1zZyB9IDogbXNnO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5zdGFydCA9IHJhbmdlLnN0YXJ0ICsgbGVhZGluZ1NwYWNlTGVuZ3RoXzE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyYW5nZS5lbmQgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmVuZCA9IHJhbmdlLmVuZCArIGxlYWRpbmdTcGFjZUxlbmd0aF8xO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICh0aXAgPyB0aXBzIDogZXJyb3JzKS5wdXNoKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBtZXJnZSBjdXN0b20gbW9kdWxlc1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm1vZHVsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgZmluYWxPcHRpb25zLm1vZHVsZXMgPSAoYmFzZU9wdGlvbnMubW9kdWxlcyB8fCBbXSkuY29uY2F0KG9wdGlvbnMubW9kdWxlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG1lcmdlIGN1c3RvbSBkaXJlY3RpdmVzXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGlyZWN0aXZlcykge1xuICAgICAgICAgICAgICAgICAgICBmaW5hbE9wdGlvbnMuZGlyZWN0aXZlcyA9IGV4dGVuZChPYmplY3QuY3JlYXRlKGJhc2VPcHRpb25zLmRpcmVjdGl2ZXMgfHwgbnVsbCksIG9wdGlvbnMuZGlyZWN0aXZlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGNvcHkgb3RoZXIgb3B0aW9uc1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICdtb2R1bGVzJyAmJiBrZXkgIT09ICdkaXJlY3RpdmVzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmluYWxPcHRpb25zW2tleV0gPSBvcHRpb25zW2tleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaW5hbE9wdGlvbnMud2FybiA9IHdhcm47XG4gICAgICAgICAgICB2YXIgY29tcGlsZWQgPSBiYXNlQ29tcGlsZSh0ZW1wbGF0ZS50cmltKCksIGZpbmFsT3B0aW9ucyk7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgIGRldGVjdEVycm9ycyhjb21waWxlZC5hc3QsIHdhcm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29tcGlsZWQuZXJyb3JzID0gZXJyb3JzO1xuICAgICAgICAgICAgY29tcGlsZWQudGlwcyA9IHRpcHM7XG4gICAgICAgICAgICByZXR1cm4gY29tcGlsZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbXBpbGU6IGNvbXBpbGUsXG4gICAgICAgICAgICBjb21waWxlVG9GdW5jdGlvbnM6IGNyZWF0ZUNvbXBpbGVUb0Z1bmN0aW9uRm4oY29tcGlsZSlcbiAgICAgICAgfTtcbiAgICB9O1xufVxuXG4vLyBgY3JlYXRlQ29tcGlsZXJDcmVhdG9yYCBhbGxvd3MgY3JlYXRpbmcgY29tcGlsZXJzIHRoYXQgdXNlIGFsdGVybmF0aXZlXG4vLyBwYXJzZXIvb3B0aW1pemVyL2NvZGVnZW4sIGUuZyB0aGUgU1NSIG9wdGltaXppbmcgY29tcGlsZXIuXG4vLyBIZXJlIHdlIGp1c3QgZXhwb3J0IGEgZGVmYXVsdCBjb21waWxlciB1c2luZyB0aGUgZGVmYXVsdCBwYXJ0cy5cbnZhciBjcmVhdGVDb21waWxlciA9IGNyZWF0ZUNvbXBpbGVyQ3JlYXRvcihmdW5jdGlvbiBiYXNlQ29tcGlsZSh0ZW1wbGF0ZSwgb3B0aW9ucykge1xuICAgIHZhciBhc3QgPSBwYXJzZSh0ZW1wbGF0ZS50cmltKCksIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLm9wdGltaXplICE9PSBmYWxzZSkge1xuICAgICAgICBvcHRpbWl6ZShhc3QsIG9wdGlvbnMpO1xuICAgIH1cbiAgICB2YXIgY29kZSA9IGdlbmVyYXRlKGFzdCwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgYXN0OiBhc3QsXG4gICAgICAgIHJlbmRlcjogY29kZS5yZW5kZXIsXG4gICAgICAgIHN0YXRpY1JlbmRlckZuczogY29kZS5zdGF0aWNSZW5kZXJGbnNcbiAgICB9O1xufSk7XG5cbnZhciBfYSA9IGNyZWF0ZUNvbXBpbGVyKGJhc2VPcHRpb25zKSwgY29tcGlsZVRvRnVuY3Rpb25zID0gX2EuY29tcGlsZVRvRnVuY3Rpb25zO1xuXG4vLyBjaGVjayB3aGV0aGVyIGN1cnJlbnQgYnJvd3NlciBlbmNvZGVzIGEgY2hhciBpbnNpZGUgYXR0cmlidXRlIHZhbHVlc1xudmFyIGRpdjtcbmZ1bmN0aW9uIGdldFNob3VsZERlY29kZShocmVmKSB7XG4gICAgZGl2ID0gZGl2IHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi5pbm5lckhUTUwgPSBocmVmID8gXCI8YSBocmVmPVxcXCJcXG5cXFwiLz5cIiA6IFwiPGRpdiBhPVxcXCJcXG5cXFwiLz5cIjtcbiAgICByZXR1cm4gZGl2LmlubmVySFRNTC5pbmRleE9mKCcmIzEwOycpID4gMDtcbn1cbi8vICMzNjYzOiBJRSBlbmNvZGVzIG5ld2xpbmVzIGluc2lkZSBhdHRyaWJ1dGUgdmFsdWVzIHdoaWxlIG90aGVyIGJyb3dzZXJzIGRvbid0XG52YXIgc2hvdWxkRGVjb2RlTmV3bGluZXMgPSBpbkJyb3dzZXIgPyBnZXRTaG91bGREZWNvZGUoZmFsc2UpIDogZmFsc2U7XG4vLyAjNjgyODogY2hyb21lIGVuY29kZXMgY29udGVudCBpbiBhW2hyZWZdXG52YXIgc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmID0gaW5Ccm93c2VyXG4gICAgPyBnZXRTaG91bGREZWNvZGUodHJ1ZSlcbiAgICA6IGZhbHNlO1xuXG52YXIgaWRUb1RlbXBsYXRlID0gY2FjaGVkKGZ1bmN0aW9uIChpZCkge1xuICAgIHZhciBlbCA9IHF1ZXJ5KGlkKTtcbiAgICByZXR1cm4gZWwgJiYgZWwuaW5uZXJIVE1MO1xufSk7XG52YXIgbW91bnQgPSBWdWUucHJvdG90eXBlLiRtb3VudDtcblZ1ZS5wcm90b3R5cGUuJG1vdW50ID0gZnVuY3Rpb24gKGVsLCBoeWRyYXRpbmcpIHtcbiAgICBlbCA9IGVsICYmIHF1ZXJ5KGVsKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoZWwgPT09IGRvY3VtZW50LmJvZHkgfHwgZWwgPT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICB3YXJuJDIoXCJEbyBub3QgbW91bnQgVnVlIHRvIDxodG1sPiBvciA8Ym9keT4gLSBtb3VudCB0byBub3JtYWwgZWxlbWVudHMgaW5zdGVhZC5cIik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICB2YXIgb3B0aW9ucyA9IHRoaXMuJG9wdGlvbnM7XG4gICAgLy8gcmVzb2x2ZSB0ZW1wbGF0ZS9lbCBhbmQgY29udmVydCB0byByZW5kZXIgZnVuY3Rpb25cbiAgICBpZiAoIW9wdGlvbnMucmVuZGVyKSB7XG4gICAgICAgIHZhciB0ZW1wbGF0ZSA9IG9wdGlvbnMudGVtcGxhdGU7XG4gICAgICAgIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0ZW1wbGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBpZiAodGVtcGxhdGUuY2hhckF0KDApID09PSAnIycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUgPSBpZFRvVGVtcGxhdGUodGVtcGxhdGUpO1xuICAgICAgICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIXRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuJDIoXCJUZW1wbGF0ZSBlbGVtZW50IG5vdCBmb3VuZCBvciBpcyBlbXB0eTogXCIuY29uY2F0KG9wdGlvbnMudGVtcGxhdGUpLCB0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRlbXBsYXRlLm5vZGVUeXBlKSB7XG4gICAgICAgICAgICAgICAgdGVtcGxhdGUgPSB0ZW1wbGF0ZS5pbm5lckhUTUw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICB3YXJuJDIoJ2ludmFsaWQgdGVtcGxhdGUgb3B0aW9uOicgKyB0ZW1wbGF0ZSwgdGhpcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVsKSB7XG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICB0ZW1wbGF0ZSA9IGdldE91dGVySFRNTChlbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRlbXBsYXRlKSB7XG4gICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICAgICAgICAgICAgbWFyaygnY29tcGlsZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIF9hID0gY29tcGlsZVRvRnVuY3Rpb25zKHRlbXBsYXRlLCB7XG4gICAgICAgICAgICAgICAgb3V0cHV0U291cmNlUmFuZ2U6IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicsXG4gICAgICAgICAgICAgICAgc2hvdWxkRGVjb2RlTmV3bGluZXM6IHNob3VsZERlY29kZU5ld2xpbmVzLFxuICAgICAgICAgICAgICAgIHNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZjogc2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmLFxuICAgICAgICAgICAgICAgIGRlbGltaXRlcnM6IG9wdGlvbnMuZGVsaW1pdGVycyxcbiAgICAgICAgICAgICAgICBjb21tZW50czogb3B0aW9ucy5jb21tZW50c1xuICAgICAgICAgICAgfSwgdGhpcyksIHJlbmRlciA9IF9hLnJlbmRlciwgc3RhdGljUmVuZGVyRm5zID0gX2Euc3RhdGljUmVuZGVyRm5zO1xuICAgICAgICAgICAgb3B0aW9ucy5yZW5kZXIgPSByZW5kZXI7XG4gICAgICAgICAgICBvcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRlckZucztcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgICAgICAgICAgICBtYXJrKCdjb21waWxlIGVuZCcpO1xuICAgICAgICAgICAgICAgIG1lYXN1cmUoXCJ2dWUgXCIuY29uY2F0KHRoaXMuX25hbWUsIFwiIGNvbXBpbGVcIiksICdjb21waWxlJywgJ2NvbXBpbGUgZW5kJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1vdW50LmNhbGwodGhpcywgZWwsIGh5ZHJhdGluZyk7XG59O1xuLyoqXG4gKiBHZXQgb3V0ZXJIVE1MIG9mIGVsZW1lbnRzLCB0YWtpbmcgY2FyZVxuICogb2YgU1ZHIGVsZW1lbnRzIGluIElFIGFzIHdlbGwuXG4gKi9cbmZ1bmN0aW9uIGdldE91dGVySFRNTChlbCkge1xuICAgIGlmIChlbC5vdXRlckhUTUwpIHtcbiAgICAgICAgcmV0dXJuIGVsLm91dGVySFRNTDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGVsLmNsb25lTm9kZSh0cnVlKSk7XG4gICAgICAgIHJldHVybiBjb250YWluZXIuaW5uZXJIVE1MO1xuICAgIH1cbn1cblZ1ZS5jb21waWxlID0gY29tcGlsZVRvRnVuY3Rpb25zO1xuXG5leHBvcnQgeyBFZmZlY3RTY29wZSwgY29tcHV0ZWQsIGN1c3RvbVJlZiwgVnVlIGFzIGRlZmF1bHQsIGRlZmluZUFzeW5jQ29tcG9uZW50LCBkZWZpbmVDb21wb25lbnQsIGRlbCwgZWZmZWN0U2NvcGUsIGdldEN1cnJlbnRJbnN0YW5jZSwgZ2V0Q3VycmVudFNjb3BlLCBoLCBpbmplY3QsIGlzUHJveHksIGlzUmVhY3RpdmUsIGlzUmVhZG9ubHksIGlzUmVmLCBpc1NoYWxsb3csIG1hcmtSYXcsIG1lcmdlRGVmYXVsdHMsIG5leHRUaWNrLCBvbkFjdGl2YXRlZCwgb25CZWZvcmVNb3VudCwgb25CZWZvcmVVbm1vdW50LCBvbkJlZm9yZVVwZGF0ZSwgb25EZWFjdGl2YXRlZCwgb25FcnJvckNhcHR1cmVkLCBvbk1vdW50ZWQsIG9uUmVuZGVyVHJhY2tlZCwgb25SZW5kZXJUcmlnZ2VyZWQsIG9uU2NvcGVEaXNwb3NlLCBvblNlcnZlclByZWZldGNoLCBvblVubW91bnRlZCwgb25VcGRhdGVkLCBwcm92aWRlLCBwcm94eVJlZnMsIHJlYWN0aXZlLCByZWFkb25seSwgcmVmJDEgYXMgcmVmLCBzZXQsIHNoYWxsb3dSZWFjdGl2ZSwgc2hhbGxvd1JlYWRvbmx5LCBzaGFsbG93UmVmLCB0b1JhdywgdG9SZWYsIHRvUmVmcywgdHJpZ2dlclJlZiwgdW5yZWYsIHVzZUF0dHJzLCB1c2VDc3NNb2R1bGUsIHVzZUNzc1ZhcnMsIHVzZUxpc3RlbmVycywgdXNlU2xvdHMsIHZlcnNpb24sIHdhdGNoLCB3YXRjaEVmZmVjdCwgd2F0Y2hQb3N0RWZmZWN0LCB3YXRjaFN5bmNFZmZlY3QgfTtcbiJdLCJuYW1lcyI6WyJtb3VudGVkIiwiY29uc29sZSIsImxvZyIsInJlbmRlciIsIl92bSIsIl9jIiwiX3NlbGYiLCJfdiIsInN0YXRpY1JlbmRlckZucyIsIl93aXRoU3RyaXBwZWQiLCJ3aW5kb3ciLCJfIiwicmVxdWlyZSIsIlN3YWwiLCJQb3BwZXIiLCIkIiwialF1ZXJ5IiwiZSIsImF4aW9zIiwiZGVmYXVsdHMiLCJoZWFkZXJzIiwiY29tbW9uIiwiVnVlIiwiY29tcG9uZW50IiwiYXBwIiwiZWwiLCJwZXJtaXNzaW9uVHJlZSIsIm9uIiwiaXMiLCJzaWJsaW5ncyIsImZpbmQiLCJhdHRyIiwicmVtb3ZlQXR0ciIsImVhY2giLCJkaXNhYmxlU3VibWl0QnV0dG9ucyIsImZvcm0iLCJlbmFibGVTdWJtaXRCdXR0b25zIiwic3VibWl0IiwiX3RoaXMiLCJwcmV2ZW50RGVmYXVsdCIsImZpcmUiLCJ0aXRsZSIsInNob3dDYW5jZWxCdXR0b24iLCJjb25maXJtQnV0dG9uVGV4dCIsImNhbmNlbEJ1dHRvblRleHQiLCJpY29uIiwidGhlbiIsInJlc3VsdCIsInZhbHVlIiwiX3RoaXMyIiwiX3RoaXMzIiwibG9jYXRpb24iLCJhc3NpZ24iLCJoYXNoIiwidGFyZ2V0IiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsInRhYiIsInRvb2x0aXAiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/resources/views/backend/courses/create.blade.php b/resources/views/backend/courses/create.blade.php new file mode 100644 index 00000000..02de6f48 --- /dev/null +++ b/resources/views/backend/courses/create.blade.php @@ -0,0 +1,7 @@ +@extends('backend.layouts.app') + +@section('title', __('Courses')) + +@section('content') + @livewire('backend.create-courses') +@endsection diff --git a/resources/views/backend/courses/delete.blade.php b/resources/views/backend/courses/delete.blade.php new file mode 100644 index 00000000..238cdbc1 --- /dev/null +++ b/resources/views/backend/courses/delete.blade.php @@ -0,0 +1,31 @@ +@extends('backend.layouts.app') + +@section('title', __('Announcement')) + +@section('content') +
+ + + Announcements : Delete | {{ $announcement->id }} + + + +

Are you sure you want to delete + "{{ $announcement->message }}" ? +

+
+ {!! Form::open([ + 'url' => route('dashboard.announcements.destroy', compact('announcement')), + 'method' => 'delete', + 'class' => 'container', + ]) !!} + + Back + {!! Form::submit('Delete', ['class' => 'btn btn-danger']) !!} + + {!! Form::close() !!} +
+
+
+
+@endsection diff --git a/resources/views/backend/courses/edit.blade.php b/resources/views/backend/courses/edit.blade.php new file mode 100644 index 00000000..d09c37bd --- /dev/null +++ b/resources/views/backend/courses/edit.blade.php @@ -0,0 +1,114 @@ +@extends('backend.layouts.app') + +@section('title', __('Announcements')) + +@section('content') +
+ {!! Form::open([ + 'url' => route('dashboard.announcements.update', compact('announcement')), + 'method' => 'put', + 'class' => 'container', + 'files' => true, + 'enctype' => 'multipart/form-data', + ]) !!} + + + + Announcements : Edit | {{ $announcement->id }} + + + + +
+ {!! Form::label('area', 'Area*', ['class' => 'col-md-2 col-form-label']) !!} + +
+ {!! Form::select('area', $areas, $announcement->area, [ + 'class' => 'form-control', + 'required' => true, + 'placeholder' => '', + ]) !!} + @error('area') + {{ $message }} + @enderror +
+
+ + +
+ {!! Form::label('type', 'Type*', ['class' => 'col-md-2 col-form-label']) !!} + +
+ {!! Form::select('type', $types, $announcement->type, [ + 'class' => 'form-control', + 'required' => true, + 'placeholder' => '', + ]) !!} + @error('type') + {{ $message }} + @enderror +
+
+ + +
+ {!! Form::label('message', 'Display Message*', ['class' => 'col-md-2 col-form-label']) !!} + +
+ {!! Form::textarea('message', $announcement->message, [ + 'class' => 'form-control', + 'rows' => 3, + 'required' => true, + ]) !!} + @error('message') + {{ $message }} + @enderror +
+
+ + +
+ {!! Form::label('enabled', 'Enabled*', ['class' => 'col-md-2 form-check-label']) !!} + +
+ enabled == 1 ? 'checked' : '' }} /> + @error('enabled') + {{ $message }} + @enderror +
+
+ + +
+ {!! Form::label('starts_at', 'Starts at*', ['class' => 'col-md-2 col-form-label']) !!} + +
+ {!! Form::datetimeLocal('starts_at', $announcement->starts_at, ['class' => 'form-control', 'required' => true]) !!} + @error('starts_at') + {{ $message }} + @enderror +
+
+ + +
+ {!! Form::label('ends_at', 'Ends at*', ['class' => 'col-md-2 col-form-label']) !!} + +
+ {!! Form::datetimeLocal('ends_at', $announcement->ends_at, ['class' => 'form-control', 'required' => true]) !!} + @error('ends_at') + {{ $message }} + @enderror +
+
+ +
+ + {!! Form::submit('Update', ['class' => 'btn btn-primary float-right']) !!} + + +
+ {!! Form::close() !!} +
+@endsection diff --git a/resources/views/backend/courses/index-table-row.blade.php b/resources/views/backend/courses/index-table-row.blade.php new file mode 100644 index 00000000..3e3c6ac4 --- /dev/null +++ b/resources/views/backend/courses/index-table-row.blade.php @@ -0,0 +1,42 @@ + + @if ($row->area == App\Domains\Announcement\Models\Announcement::TYPE_FRONTEND) + Frontend + @elseif($row->area == App\Domains\Announcement\Models\Announcement::TYPE_BACKEND) + Backend + @else + Both + @endif + + + + {{ App\Domains\Announcement\Models\Announcement::types()[$row->type] }} + + + + {{ $row->message }} + + + + {{ $row->enabled ? 'Enabled' : 'Disabled' }} + + + + {{ $row->starts_at }} + + + + {{ $row->ends_at }} + + + +
+
+ + + + +
+
+
diff --git a/resources/views/backend/courses/index.blade.php b/resources/views/backend/courses/index.blade.php new file mode 100644 index 00000000..c1cfbcdf --- /dev/null +++ b/resources/views/backend/courses/index.blade.php @@ -0,0 +1,34 @@ +@extends('backend.layouts.app') + +@section('title', __('Manage')) + +@section('content') +
+ + + Announcements + + + @if (1) + + + + + @endif + + + + @if (session('Success')) +
+ {{ session('Success') }} + +
+ @endif + + +
+
+
+@endsection diff --git a/resources/views/backend/includes/sidebar.blade.php b/resources/views/backend/includes/sidebar.blade.php index 3553720d..15b0aeac 100644 --- a/resources/views/backend/includes/sidebar.blade.php +++ b/resources/views/backend/includes/sidebar.blade.php @@ -72,7 +72,7 @@ class="c-sidebar-nav-dropdown {{ activeClass(Route::is('admin.auth.user.*') || R @if ($logged_in_user->hasAllAccess()) {{-- Announcements --}}
  • - + + + + + + +
    + + + + +
    + + + + + + + + diff --git a/resources/views/livewire/backend/create-courses.blade.php b/resources/views/livewire/backend/create-courses.blade.php new file mode 100644 index 00000000..e86edb8c --- /dev/null +++ b/resources/views/livewire/backend/create-courses.blade.php @@ -0,0 +1,72 @@ + + + Course : Create + + + +
    +
    +
    + 1 +
    +
    + 2 +
    +
    + 3 +
    +
    + @if ($formStep == 1) +
    +
    +
    +
    Basics
    +

    This is the first step of the form.

    +
    +
    +
    + @elseif ($formStep == 2) +
    +
    +
    +
    ILOs & Objectives
    +

    This is the second step of the form.

    +
    +
    +
    + @elseif ($formStep == 3) +
    +
    +
    +
    Modules & References
    +
    References
    + +
    +
    +
    + @endif +
    +
    + + + + +
    diff --git a/routes/backend/courses.php b/routes/backend/courses.php new file mode 100644 index 00000000..dbb7a5a0 --- /dev/null +++ b/routes/backend/courses.php @@ -0,0 +1,55 @@ +name('courses.index') + ->breadcrumbs(function (Trail $trail) { + $trail->push(__('Home'), route('dashboard.home')) + ->push(__('Courses'), route('dashboard.courses.index')); + }); + + // Create + Route::get('courses/create', [CourseController::class, 'create']) + ->name('courses.create') + ->breadcrumbs(function (Trail $trail) { + $trail->push(__('Home'), route('dashboard.home')) + ->push(__('Courses'), route('dashboard.courses.index')) + ->push(__('Create')); + }); + + // Store + Route::post('courses/', [AnnouncementController::class, 'store']) + ->name('courses.store'); + + // Edit + Route::get('courses/edit/{announcement}', [AnnouncementController::class, 'edit']) + ->name('courses.edit') + ->breadcrumbs(function (Trail $trail) { + $trail->push(__('Home'), route('dashboard.home')) + ->push(__('Courses'), route('dashboard.courses.index')) + ->push(__('Edit')); + }); + + // Update + Route::put('courses/{announcement}', [AnnouncementController::class, 'update']) + ->name('courses.update'); + + // Delete + Route::get('courses/delete/{announcement}', [AnnouncementController::class, 'delete']) + ->name('courses.delete') + ->breadcrumbs(function (Trail $trail) { + $trail->push(__('Home'), route('dashboard.home')) + ->push(__('Courses'), route('dashboard.courses.index')) + ->push(__('Delete')); + }); + + // Destroy + Route::delete('courses/{announcement}', [AnnouncementController::class, 'destroy']) + ->name('courses.destroy'); +}); diff --git a/yarn.lock b/yarn.lock index fe33347c..ee3ce4e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,29 +3,29 @@ "@ampproject/remapping@^2.2.0": - "integrity" "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==" - "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - "version" "2.2.1" + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.21.4": - "integrity" "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" - "version" "7.21.4" + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== dependencies: "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.0", "@babel/compat-data@^7.22.3": - "integrity" "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==" - "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz" + integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ== "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.15.8", "@babel/core@^7.4.0-0": - "integrity" "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz" - "version" "7.22.1" + version "7.22.1" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz" + integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.21.4" @@ -37,51 +37,51 @@ "@babel/template" "^7.21.9" "@babel/traverse" "^7.22.1" "@babel/types" "^7.22.0" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.2.2" - "semver" "^6.3.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" "@babel/generator@^7.22.0", "@babel/generator@^7.22.3": - "integrity" "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz" + integrity sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A== dependencies: "@babel/types" "^7.22.3" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" - "jsesc" "^2.5.1" + jsesc "^2.5.1" "@babel/helper-annotate-as-pure@^7.18.6": - "integrity" "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==" - "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - "integrity" "sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg==" - "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.3.tgz" + integrity sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg== dependencies: "@babel/types" "^7.22.3" "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.1": - "integrity" "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz" - "version" "7.22.1" + version "7.22.1" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz" + integrity sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ== dependencies: "@babel/compat-data" "^7.22.0" "@babel/helper-validator-option" "^7.21.0" - "browserslist" "^4.21.3" - "lru-cache" "^5.1.1" - "semver" "^6.3.0" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.21.0", "@babel/helper-create-class-features-plugin@^7.22.1": - "integrity" "sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz" - "version" "7.22.1" + version "7.22.1" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.1.tgz" + integrity sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.22.1" @@ -91,67 +91,67 @@ "@babel/helper-replace-supers" "^7.22.1" "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/helper-split-export-declaration" "^7.18.6" - "semver" "^6.3.0" + semver "^6.3.0" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.1": - "integrity" "sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.1.tgz" - "version" "7.22.1" + version "7.22.1" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.1.tgz" + integrity sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "regexpu-core" "^5.3.1" - "semver" "^6.3.0" + regexpu-core "^5.3.1" + semver "^6.3.0" "@babel/helper-define-polyfill-provider@^0.4.0": - "integrity" "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz" - "version" "0.4.0" + version "0.4.0" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz" + integrity sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg== dependencies: "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" "@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.1": - "integrity" "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==" - "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz" - "version" "7.22.1" + version "7.22.1" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz" + integrity sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA== "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": - "integrity" "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" - "version" "7.21.0" + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== dependencies: "@babel/template" "^7.20.7" "@babel/types" "^7.21.0" "@babel/helper-hoist-variables@^7.18.6": - "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6" "@babel/helper-member-expression-to-functions@^7.22.0": - "integrity" "sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==" - "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.3.tgz" + integrity sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA== dependencies: "@babel/types" "^7.22.3" "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.21.4": - "integrity" "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz" - "version" "7.21.4" + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz" + integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== dependencies: "@babel/types" "^7.21.4" "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.5", "@babel/helper-module-transforms@^7.22.1": - "integrity" "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz" - "version" "7.22.1" + version "7.22.1" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz" + integrity sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw== dependencies: "@babel/helper-environment-visitor" "^7.22.1" "@babel/helper-module-imports" "^7.21.4" @@ -163,21 +163,21 @@ "@babel/types" "^7.22.0" "@babel/helper-optimise-call-expression@^7.18.6": - "integrity" "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==" - "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.21.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - "integrity" "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz" + integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== "@babel/helper-remap-async-to-generator@^7.18.9": - "integrity" "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==" - "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" @@ -185,9 +185,9 @@ "@babel/types" "^7.18.9" "@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7", "@babel/helper-replace-supers@^7.22.1": - "integrity" "sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz" - "version" "7.22.1" + version "7.22.1" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.1.tgz" + integrity sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ== dependencies: "@babel/helper-environment-visitor" "^7.22.1" "@babel/helper-member-expression-to-functions" "^7.22.0" @@ -197,45 +197,45 @@ "@babel/types" "^7.22.0" "@babel/helper-simple-access@^7.21.5": - "integrity" "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz" + integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== dependencies: "@babel/types" "^7.21.5" "@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - "integrity" "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==" - "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" - "version" "7.20.0" + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== dependencies: "@babel/types" "^7.20.0" "@babel/helper-split-export-declaration@^7.18.6": - "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.21.5": - "integrity" "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==" - "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz" + integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - "integrity" "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - "version" "7.19.1" + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.21.0": - "integrity" "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" - "version" "7.21.0" + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== "@babel/helper-wrap-function@^7.18.9": - "integrity" "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz" - "version" "7.20.5" + version "7.20.5" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== dependencies: "@babel/helper-function-name" "^7.19.0" "@babel/template" "^7.18.10" @@ -243,48 +243,48 @@ "@babel/types" "^7.20.5" "@babel/helpers@^7.22.0": - "integrity" "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz" + integrity sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w== dependencies: "@babel/template" "^7.21.9" "@babel/traverse" "^7.22.1" "@babel/types" "^7.22.3" "@babel/highlight@^7.18.6": - "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: "@babel/helper-validator-identifier" "^7.18.6" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" + chalk "^2.0.0" + js-tokens "^4.0.0" "@babel/parser@^7.1.0", "@babel/parser@^7.18.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.9", "@babel/parser@^7.22.0", "@babel/parser@^7.22.4": - "integrity" "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz" - "version" "7.22.4" + version "7.22.4" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz" + integrity sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - "integrity" "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.3": - "integrity" "sha512-6r4yRwEnorYByILoDRnEqxtojYKuiIv9FojW2E8GUKo9eWBwbKcd9IiZOZpdyXc64RmyGGyPu3/uAcrz/dq2kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.3.tgz" + integrity sha512-6r4yRwEnorYByILoDRnEqxtojYKuiIv9FojW2E8GUKo9eWBwbKcd9IiZOZpdyXc64RmyGGyPu3/uAcrz/dq2kQ== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-transform-optional-chaining" "^7.22.3" "@babel/plugin-proposal-object-rest-spread@^7.15.6": - "integrity" "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" - "version" "7.20.7" + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: "@babel/compat-data" "^7.20.5" "@babel/helper-compilation-targets" "^7.20.7" @@ -293,9 +293,9 @@ "@babel/plugin-transform-parameters" "^7.20.7" "@babel/plugin-proposal-private-property-in-object@^7.21.0": - "integrity" "sha512-3YybmT8FN4sZFXp0kTr9Gbu90wAIhC3feNung+qcRQ1wALGoSHgOz1c+fR3ZLGZ0LXqIpYmtE6Faua6tMDarUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.10.tgz" - "version" "7.21.10" + version "7.21.10" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.10.tgz" + integrity sha512-3YybmT8FN4sZFXp0kTr9Gbu90wAIhC3feNung+qcRQ1wALGoSHgOz1c+fR3ZLGZ0LXqIpYmtE6Faua6tMDarUg== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-create-class-features-plugin" "^7.21.0" @@ -303,151 +303,151 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - "integrity" "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-import-assertions@^7.20.0": - "integrity" "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" - "version" "7.20.0" + version "7.20.0" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-import-attributes@^7.22.3": - "integrity" "sha512-i35jZJv6aO7hxEbIWQ41adVfOzjm9dcYDNeWlBMd8p0ZQRtNUCBrmGwZt+H5lb+oOC9a3svp956KP0oWGA1YsA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.3.tgz" + integrity sha512-i35jZJv6aO7hxEbIWQ41adVfOzjm9dcYDNeWlBMd8p0ZQRtNUCBrmGwZt+H5lb+oOC9a3svp956KP0oWGA1YsA== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-import-meta@^7.10.4": - "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - "integrity" "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-arrow-functions@^7.21.5": - "integrity" "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz" + integrity sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-async-generator-functions@^7.22.3": - "integrity" "sha512-36A4Aq48t66btydbZd5Fk0/xJqbpg/v4QWI4AH4cYHBXy9Mu42UOupZpebKFiCFNT9S9rJFcsld0gsv0ayLjtA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.3.tgz" + integrity sha512-36A4Aq48t66btydbZd5Fk0/xJqbpg/v4QWI4AH4cYHBXy9Mu42UOupZpebKFiCFNT9S9rJFcsld0gsv0ayLjtA== dependencies: "@babel/helper-environment-visitor" "^7.22.1" "@babel/helper-plugin-utils" "^7.21.5" @@ -455,49 +455,49 @@ "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-transform-async-to-generator@^7.20.7": - "integrity" "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz" - "version" "7.20.7" + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== dependencies: "@babel/helper-module-imports" "^7.18.6" "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-transform-block-scoped-functions@^7.18.6": - "integrity" "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.21.0": - "integrity" "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz" - "version" "7.21.0" + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz" + integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-class-properties@^7.22.3": - "integrity" "sha512-mASLsd6rhOrLZ5F3WbCxkzl67mmOnqik0zrg5W6D/X0QMW7HtvnoL1dRARLKIbMP3vXwkwziuLesPqWVGIl6Bw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.3.tgz" + integrity sha512-mASLsd6rhOrLZ5F3WbCxkzl67mmOnqik0zrg5W6D/X0QMW7HtvnoL1dRARLKIbMP3vXwkwziuLesPqWVGIl6Bw== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.1" "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-class-static-block@^7.22.3": - "integrity" "sha512-5BirgNWNOx7cwbTJCOmKFJ1pZjwk5MUfMIwiBBvsirCJMZeQgs5pk6i1OlkVg+1Vef5LfBahFOrdCnAWvkVKMw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.3.tgz" + integrity sha512-5BirgNWNOx7cwbTJCOmKFJ1pZjwk5MUfMIwiBBvsirCJMZeQgs5pk6i1OlkVg+1Vef5LfBahFOrdCnAWvkVKMw== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.1" "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-transform-classes@^7.21.0": - "integrity" "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz" - "version" "7.21.0" + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz" + integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-compilation-targets" "^7.20.7" @@ -507,129 +507,129 @@ "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" - "globals" "^11.1.0" + globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.21.5": - "integrity" "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz" + integrity sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/template" "^7.20.7" "@babel/plugin-transform-destructuring@^7.21.3": - "integrity" "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz" - "version" "7.21.3" + version "7.21.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz" + integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - "integrity" "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-duplicate-keys@^7.18.9": - "integrity" "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-dynamic-import@^7.22.1": - "integrity" "sha512-rlhWtONnVBPdmt+jeewS0qSnMz/3yLFrqAP8hHC6EDcrYRSyuz9f9yQhHvVn2Ad6+yO9fHXac5piudeYrInxwQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.1.tgz" - "version" "7.22.1" + version "7.22.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.1.tgz" + integrity sha512-rlhWtONnVBPdmt+jeewS0qSnMz/3yLFrqAP8hHC6EDcrYRSyuz9f9yQhHvVn2Ad6+yO9fHXac5piudeYrInxwQ== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-transform-exponentiation-operator@^7.18.6": - "integrity" "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-export-namespace-from@^7.22.3": - "integrity" "sha512-5Ti1cHLTDnt3vX61P9KZ5IG09bFXp4cDVFJIAeCZuxu9OXXJJZp5iP0n/rzM2+iAutJY+KWEyyHcRaHlpQ/P5g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.3.tgz" + integrity sha512-5Ti1cHLTDnt3vX61P9KZ5IG09bFXp4cDVFJIAeCZuxu9OXXJJZp5iP0n/rzM2+iAutJY+KWEyyHcRaHlpQ/P5g== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-transform-for-of@^7.21.5": - "integrity" "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz" + integrity sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-function-name@^7.18.9": - "integrity" "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== dependencies: "@babel/helper-compilation-targets" "^7.18.9" "@babel/helper-function-name" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-json-strings@^7.22.3": - "integrity" "sha512-IuvOMdeOOY2X4hRNAT6kwbePtK21BUyrAEgLKviL8pL6AEEVUVcqtRdN/HJXBLGIbt9T3ETmXRnFedRRmQNTYw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.3.tgz" + integrity sha512-IuvOMdeOOY2X4hRNAT6kwbePtK21BUyrAEgLKviL8pL6AEEVUVcqtRdN/HJXBLGIbt9T3ETmXRnFedRRmQNTYw== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-transform-literals@^7.18.9": - "integrity" "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-logical-assignment-operators@^7.22.3": - "integrity" "sha512-CbayIfOw4av2v/HYZEsH+Klks3NC2/MFIR3QR8gnpGNNPEaq2fdlVCRYG/paKs7/5hvBLQ+H70pGWOHtlNEWNA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.3.tgz" + integrity sha512-CbayIfOw4av2v/HYZEsH+Klks3NC2/MFIR3QR8gnpGNNPEaq2fdlVCRYG/paKs7/5hvBLQ+H70pGWOHtlNEWNA== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-transform-member-expression-literals@^7.18.6": - "integrity" "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.20.11": - "integrity" "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz" - "version" "7.20.11" + version "7.20.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: "@babel/helper-module-transforms" "^7.20.11" "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-modules-commonjs@^7.21.5": - "integrity" "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz" + integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ== dependencies: "@babel/helper-module-transforms" "^7.21.5" "@babel/helper-plugin-utils" "^7.21.5" "@babel/helper-simple-access" "^7.21.5" "@babel/plugin-transform-modules-systemjs@^7.22.3": - "integrity" "sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.3.tgz" + integrity sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw== dependencies: "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-module-transforms" "^7.22.1" @@ -637,48 +637,48 @@ "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6": - "integrity" "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== dependencies: "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex@^7.22.3": - "integrity" "sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.3.tgz" + integrity sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.1" "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-new-target@^7.22.3": - "integrity" "sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.3.tgz" + integrity sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-nullish-coalescing-operator@^7.22.3": - "integrity" "sha512-CpaoNp16nX7ROtLONNuCyenYdY/l7ZsR6aoVa7rW7nMWisoNoQNIH5Iay/4LDyRjKMuElMqXiBoOQCDLTMGZiw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.3.tgz" + integrity sha512-CpaoNp16nX7ROtLONNuCyenYdY/l7ZsR6aoVa7rW7nMWisoNoQNIH5Iay/4LDyRjKMuElMqXiBoOQCDLTMGZiw== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-transform-numeric-separator@^7.22.3": - "integrity" "sha512-+AF88fPDJrnseMh5vD9+SH6wq4ZMvpiTMHh58uLs+giMEyASFVhcT3NkoyO+NebFCNnpHJEq5AXO2txV4AGPDQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.3.tgz" + integrity sha512-+AF88fPDJrnseMh5vD9+SH6wq4ZMvpiTMHh58uLs+giMEyASFVhcT3NkoyO+NebFCNnpHJEq5AXO2txV4AGPDQ== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-transform-object-rest-spread@^7.22.3": - "integrity" "sha512-38bzTsqMMCI46/TQnJwPPpy33EjLCc1Gsm2hRTF6zTMWnKsN61vdrpuzIEGQyKEhDSYDKyZHrrd5FMj4gcUHhw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.3.tgz" + integrity sha512-38bzTsqMMCI46/TQnJwPPpy33EjLCc1Gsm2hRTF6zTMWnKsN61vdrpuzIEGQyKEhDSYDKyZHrrd5FMj4gcUHhw== dependencies: "@babel/compat-data" "^7.22.3" "@babel/helper-compilation-targets" "^7.22.1" @@ -687,49 +687,49 @@ "@babel/plugin-transform-parameters" "^7.22.3" "@babel/plugin-transform-object-super@^7.18.6": - "integrity" "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" "@babel/plugin-transform-optional-catch-binding@^7.22.3": - "integrity" "sha512-bnDFWXFzWY0BsOyqaoSXvMQ2F35zutQipugog/rqotL2S4ciFOKlRYUu9djt4iq09oh2/34hqfRR2k1dIvuu4g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.3.tgz" + integrity sha512-bnDFWXFzWY0BsOyqaoSXvMQ2F35zutQipugog/rqotL2S4ciFOKlRYUu9djt4iq09oh2/34hqfRR2k1dIvuu4g== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-transform-optional-chaining@^7.22.3": - "integrity" "sha512-63v3/UFFxhPKT8j8u1jTTGVyITxl7/7AfOqK8C5gz1rHURPUGe3y5mvIf68eYKGoBNahtJnTxBKug4BQOnzeJg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.3.tgz" + integrity sha512-63v3/UFFxhPKT8j8u1jTTGVyITxl7/7AfOqK8C5gz1rHURPUGe3y5mvIf68eYKGoBNahtJnTxBKug4BQOnzeJg== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.3": - "integrity" "sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.3.tgz" + integrity sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-private-methods@^7.22.3": - "integrity" "sha512-fC7jtjBPFqhqpPAE+O4LKwnLq7gGkD3ZmC2E3i4qWH34mH3gOg2Xrq5YMHUq6DM30xhqM1DNftiRaSqVjEG+ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.3.tgz" + integrity sha512-fC7jtjBPFqhqpPAE+O4LKwnLq7gGkD3ZmC2E3i4qWH34mH3gOg2Xrq5YMHUq6DM30xhqM1DNftiRaSqVjEG+ug== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.1" "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-private-property-in-object@^7.22.3": - "integrity" "sha512-C7MMl4qWLpgVCbXfj3UW8rR1xeCnisQ0cU7YJHV//8oNBS0aCIVg1vFnZXxOckHhEpQyqNNkWmvSEWnMLlc+Vw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.3.tgz" + integrity sha512-C7MMl4qWLpgVCbXfj3UW8rR1xeCnisQ0cU7YJHV//8oNBS0aCIVg1vFnZXxOckHhEpQyqNNkWmvSEWnMLlc+Vw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-create-class-features-plugin" "^7.22.1" @@ -737,110 +737,110 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-transform-property-literals@^7.18.6": - "integrity" "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-regenerator@^7.21.5": - "integrity" "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz" + integrity sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w== dependencies: "@babel/helper-plugin-utils" "^7.21.5" - "regenerator-transform" "^0.15.1" + regenerator-transform "^0.15.1" "@babel/plugin-transform-reserved-words@^7.18.6": - "integrity" "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-runtime@^7.15.8": - "integrity" "sha512-Urkiz1m4zqiRo17klj+l3nXgiRTFQng91Bc1eiLF7BMQu1e7wE5Gcq9xSv062IF068NHjcutSbIMev60gXxAvA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.4.tgz" - "version" "7.22.4" + version "7.22.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.4.tgz" + integrity sha512-Urkiz1m4zqiRo17klj+l3nXgiRTFQng91Bc1eiLF7BMQu1e7wE5Gcq9xSv062IF068NHjcutSbIMev60gXxAvA== dependencies: "@babel/helper-module-imports" "^7.21.4" "@babel/helper-plugin-utils" "^7.21.5" - "babel-plugin-polyfill-corejs2" "^0.4.3" - "babel-plugin-polyfill-corejs3" "^0.8.1" - "babel-plugin-polyfill-regenerator" "^0.5.0" - "semver" "^6.3.0" + babel-plugin-polyfill-corejs2 "^0.4.3" + babel-plugin-polyfill-corejs3 "^0.8.1" + babel-plugin-polyfill-regenerator "^0.5.0" + semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.18.6": - "integrity" "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.20.7": - "integrity" "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz" - "version" "7.20.7" + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-transform-sticky-regex@^7.18.6": - "integrity" "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-template-literals@^7.18.9": - "integrity" "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typeof-symbol@^7.18.9": - "integrity" "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" - "version" "7.18.9" + version "7.18.9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-unicode-escapes@^7.21.5": - "integrity" "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz" - "version" "7.21.5" + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz" + integrity sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-unicode-property-regex@^7.22.3": - "integrity" "sha512-5ScJ+OmdX+O6HRuMGW4kv7RL9vIKdtdAj9wuWUKy1wbHY3jaM/UlyIiC1G7J6UJiiyMukjjK0QwL3P0vBd0yYg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.3.tgz" + integrity sha512-5ScJ+OmdX+O6HRuMGW4kv7RL9vIKdtdAj9wuWUKy1wbHY3jaM/UlyIiC1G7J6UJiiyMukjjK0QwL3P0vBd0yYg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.1" "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-unicode-regex@^7.18.6": - "integrity" "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-unicode-sets-regex@^7.22.3": - "integrity" "sha512-hNufLdkF8vqywRp+P55j4FHXqAX2LRUccoZHH7AFn1pq5ZOO2ISKW9w13bFZVjBoTqeve2HOgoJCcaziJVhGNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.3.tgz" + integrity sha512-hNufLdkF8vqywRp+P55j4FHXqAX2LRUccoZHH7AFn1pq5ZOO2ISKW9w13bFZVjBoTqeve2HOgoJCcaziJVhGNw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.1" "@babel/helper-plugin-utils" "^7.21.5" "@babel/preset-env@^7.15.8": - "integrity" "sha512-c3lHOjbwBv0TkhYCr+XCR6wKcSZ1QbQTVdSkZUaVpLv8CVWotBMArWUi5UAJrcrQaEnleVkkvaV8F/pmc/STZQ==" - "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.4.tgz" - "version" "7.22.4" + version "7.22.4" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.4.tgz" + integrity sha512-c3lHOjbwBv0TkhYCr+XCR6wKcSZ1QbQTVdSkZUaVpLv8CVWotBMArWUi5UAJrcrQaEnleVkkvaV8F/pmc/STZQ== dependencies: "@babel/compat-data" "^7.22.3" "@babel/helper-compilation-targets" "^7.22.1" @@ -917,48 +917,48 @@ "@babel/plugin-transform-unicode-sets-regex" "^7.22.3" "@babel/preset-modules" "^0.1.5" "@babel/types" "^7.22.4" - "babel-plugin-polyfill-corejs2" "^0.4.3" - "babel-plugin-polyfill-corejs3" "^0.8.1" - "babel-plugin-polyfill-regenerator" "^0.5.0" - "core-js-compat" "^3.30.2" - "semver" "^6.3.0" + babel-plugin-polyfill-corejs2 "^0.4.3" + babel-plugin-polyfill-corejs3 "^0.8.1" + babel-plugin-polyfill-regenerator "^0.5.0" + core-js-compat "^3.30.2" + semver "^6.3.0" "@babel/preset-modules@^0.1.5": - "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - "version" "0.1.5" + version "0.1.5" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" - "esutils" "^2.0.2" + esutils "^2.0.2" "@babel/regjsgen@^0.8.0": - "integrity" "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - "resolved" "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" - "version" "0.8.0" + version "0.8.0" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.15.4", "@babel/runtime@^7.8.4": - "integrity" "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz" - "version" "7.22.3" + version "7.22.3" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz" + integrity sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ== dependencies: - "regenerator-runtime" "^0.13.11" + regenerator-runtime "^0.13.11" "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.21.9": - "integrity" "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz" - "version" "7.21.9" + version "7.21.9" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz" + integrity sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ== dependencies: "@babel/code-frame" "^7.21.4" "@babel/parser" "^7.21.9" "@babel/types" "^7.21.5" "@babel/traverse@^7.20.5", "@babel/traverse@^7.22.1": - "integrity" "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz" - "version" "7.22.4" + version "7.22.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz" + integrity sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ== dependencies: "@babel/code-frame" "^7.21.4" "@babel/generator" "^7.22.3" @@ -968,123 +968,123 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/parser" "^7.22.4" "@babel/types" "^7.22.4" - "debug" "^4.1.0" - "globals" "^11.1.0" + debug "^4.1.0" + globals "^11.1.0" "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.22.0", "@babel/types@^7.22.3", "@babel/types@^7.22.4", "@babel/types@^7.4.4": - "integrity" "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz" - "version" "7.22.4" + version "7.22.4" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz" + integrity sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA== dependencies: "@babel/helper-string-parser" "^7.21.5" "@babel/helper-validator-identifier" "^7.19.1" - "to-fast-properties" "^2.0.0" + to-fast-properties "^2.0.0" "@coreui/coreui@^3.0.0": - "integrity" "sha512-WqzockdWVkXUNmNwlqdu+AxM+9JoiWGe4rKaySu/dZme1NvVOn2ukjJlpTkssal8UKcSHyitzNixtkMCmUxE1A==" - "resolved" "https://registry.npmjs.org/@coreui/coreui/-/coreui-3.4.0.tgz" - "version" "3.4.0" + version "3.4.0" + resolved "https://registry.npmjs.org/@coreui/coreui/-/coreui-3.4.0.tgz" + integrity sha512-WqzockdWVkXUNmNwlqdu+AxM+9JoiWGe4rKaySu/dZme1NvVOn2ukjJlpTkssal8UKcSHyitzNixtkMCmUxE1A== "@coreui/icons@^1.0.1": - "integrity" "sha512-DAlvdHRC+HHecdy52vskbNzNKEpu6wHDvSlsHGrwOqNxQl1YLhGEtqAW4sKpyVE3GgysNCywUWZGFlLp8I3LgA==" - "resolved" "https://registry.npmjs.org/@coreui/icons/-/icons-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@coreui/icons/-/icons-1.0.1.tgz" + integrity sha512-DAlvdHRC+HHecdy52vskbNzNKEpu6wHDvSlsHGrwOqNxQl1YLhGEtqAW4sKpyVE3GgysNCywUWZGFlLp8I3LgA== "@discoveryjs/json-ext@^0.5.0": - "integrity" "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" - "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" - "version" "0.5.7" + version "0.5.7" + resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@fortawesome/fontawesome-free@^5.12.1": - "integrity" "sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w==" - "resolved" "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz" - "version" "5.15.3" + version "5.15.3" + resolved "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz" + integrity sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w== "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - "integrity" "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - "version" "0.3.3" + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@3.1.0": - "integrity" "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - "version" "3.1.0" + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.1": - "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/source-map@^0.3.3": - "integrity" "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==" - "resolved" "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz" - "version" "0.3.3" + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz" + integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/sourcemap-codec@^1.4.10": - "integrity" "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - "version" "1.4.15" + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/sourcemap-codec@1.4.14": - "integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - "version" "1.4.14" + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - "integrity" "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" - "version" "0.3.18" + version "0.3.18" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== dependencies: "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" "@leichtgewicht/ip-codec@^2.0.1": - "integrity" "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - "resolved" "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" - "version" "2.0.4" + version "2.0.4" + resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== "@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" + run-parallel "^1.1.9" "@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" + fastq "^1.6.0" "@popperjs/core@^2.5.1", "@popperjs/core@^2.5.4": - "integrity" "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" - "resolved" "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" - "version" "2.11.8" + version "2.11.8" + resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@trysound/sax@0.2.0": - "integrity" "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - "resolved" "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - "version" "0.2.0" + version "0.2.0" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@types/babel__core@^7.1.16": - "integrity" "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==" - "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz" - "version" "7.20.1" + version "7.20.1" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz" + integrity sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw== dependencies: "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" @@ -1093,90 +1093,90 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - "integrity" "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==" - "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - "version" "7.6.4" + version "7.6.4" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" - "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - "version" "7.4.1" + version "7.4.1" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*": - "integrity" "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==" - "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz" - "version" "7.20.1" + version "7.20.1" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz" + integrity sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg== dependencies: "@babel/types" "^7.20.7" "@types/body-parser@*": - "integrity" "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==" - "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" - "version" "1.19.2" + version "1.19.2" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - "integrity" "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==" - "resolved" "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" - "version" "3.5.10" + version "3.5.10" + resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== dependencies: "@types/node" "*" "@types/clean-css@^4.2.5": - "integrity" "sha512-Ze1tf+LnGPmG6hBFMi0B4TEB0mhF7EiMM5oyjLDNPE9hxrPU0W+5+bHvO+eFPA+bt0iC1zkQMoU/iGdRVjcRbw==" - "resolved" "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.6.tgz" - "version" "4.2.6" + version "4.2.6" + resolved "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.6.tgz" + integrity sha512-Ze1tf+LnGPmG6hBFMi0B4TEB0mhF7EiMM5oyjLDNPE9hxrPU0W+5+bHvO+eFPA+bt0iC1zkQMoU/iGdRVjcRbw== dependencies: "@types/node" "*" - "source-map" "^0.6.0" + source-map "^0.6.0" "@types/connect-history-api-fallback@^1.3.5": - "integrity" "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==" - "resolved" "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz" - "version" "1.5.0" + version "1.5.0" + resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz" + integrity sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig== dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - "integrity" "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==" - "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" - "version" "3.4.35" + version "3.4.35" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.3": - "integrity" "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==" - "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" - "version" "3.7.4" + version "3.7.4" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - "integrity" "sha512-nbq2mvc/tBrK9zQQuItvjJl++GTN5j06DaPtp3hZCpngmG6Q3xoyEmd0TwZI0gAy/G1X0zhGBbr2imsGFdFV0g==" - "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.0.tgz" - "version" "8.40.0" + version "8.40.0" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.0.tgz" + integrity sha512-nbq2mvc/tBrK9zQQuItvjJl++GTN5j06DaPtp3hZCpngmG6Q3xoyEmd0TwZI0gAy/G1X0zhGBbr2imsGFdFV0g== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^1.0.0": - "integrity" "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - "integrity" "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==" - "resolved" "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz" - "version" "4.17.35" + version "4.17.35" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz" + integrity sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg== dependencies: "@types/node" "*" "@types/qs" "*" @@ -1184,9 +1184,9 @@ "@types/send" "*" "@types/express@*", "@types/express@^4.17.13": - "integrity" "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==" - "resolved" "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz" - "version" "4.17.17" + version "4.17.17" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz" + integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -1194,203 +1194,203 @@ "@types/serve-static" "*" "@types/glob@^7.1.1": - "integrity" "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==" - "resolved" "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" - "version" "7.2.0" + version "7.2.0" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/http-proxy@^1.17.8": - "integrity" "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==" - "resolved" "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz" - "version" "1.17.11" + version "1.17.11" + resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz" + integrity sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA== dependencies: "@types/node" "*" "@types/imagemin-gifsicle@^7.0.1": - "integrity" "sha512-kUz6sUh0P95JOS0RGEaaemWUrASuw+dLsWIveK2UZJx74id/B9epgblMkCk/r5MjUWbZ83wFvacG5Rb/f97gyA==" - "resolved" "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.1.tgz" - "version" "7.0.1" + version "7.0.1" + resolved "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.1.tgz" + integrity sha512-kUz6sUh0P95JOS0RGEaaemWUrASuw+dLsWIveK2UZJx74id/B9epgblMkCk/r5MjUWbZ83wFvacG5Rb/f97gyA== dependencies: "@types/imagemin" "*" "@types/imagemin-mozjpeg@^8.0.1": - "integrity" "sha512-kMQWEoKxxhlnH4POI3qfW9DjXlQfi80ux3l2b3j5R3eudSCoUIzKQLkfMjNJ6eMYnMWBcB+rfQOWqIzdIwFGKw==" - "resolved" "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.1.tgz" - "version" "8.0.1" + version "8.0.1" + resolved "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.1.tgz" + integrity sha512-kMQWEoKxxhlnH4POI3qfW9DjXlQfi80ux3l2b3j5R3eudSCoUIzKQLkfMjNJ6eMYnMWBcB+rfQOWqIzdIwFGKw== dependencies: "@types/imagemin" "*" "@types/imagemin-optipng@^5.2.1": - "integrity" "sha512-XCM/3q+HUL7v4zOqMI+dJ5dTxT+MUukY9KU49DSnYb/4yWtSMHJyADP+WHSMVzTR63J2ZvfUOzSilzBNEQW78g==" - "resolved" "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz" - "version" "5.2.1" + version "5.2.1" + resolved "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz" + integrity sha512-XCM/3q+HUL7v4zOqMI+dJ5dTxT+MUukY9KU49DSnYb/4yWtSMHJyADP+WHSMVzTR63J2ZvfUOzSilzBNEQW78g== dependencies: "@types/imagemin" "*" "@types/imagemin-svgo@^8.0.0": - "integrity" "sha512-YafkdrVAcr38U0Ln1C+L1n4SIZqC47VBHTyxCq7gTUSd1R9MdIvMcrljWlgU1M9O68WZDeQWUrKipKYfEOCOvQ==" - "resolved" "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-8.0.1.tgz" - "version" "8.0.1" + version "8.0.1" + resolved "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-8.0.1.tgz" + integrity sha512-YafkdrVAcr38U0Ln1C+L1n4SIZqC47VBHTyxCq7gTUSd1R9MdIvMcrljWlgU1M9O68WZDeQWUrKipKYfEOCOvQ== dependencies: "@types/imagemin" "*" "@types/svgo" "^1" "@types/imagemin@*": - "integrity" "sha512-BiNd5FazD5ZmJUYD9txsbrttL0P0welrb9yAPn6ykKK3kWufwFsxYqw5KdggfZQDjiNYwsBrX+Fwei0Xsw4oAw==" - "resolved" "https://registry.npmjs.org/@types/imagemin/-/imagemin-7.0.0.tgz" - "version" "7.0.0" + version "7.0.0" + resolved "https://registry.npmjs.org/@types/imagemin/-/imagemin-7.0.0.tgz" + integrity sha512-BiNd5FazD5ZmJUYD9txsbrttL0P0welrb9yAPn6ykKK3kWufwFsxYqw5KdggfZQDjiNYwsBrX+Fwei0Xsw4oAw== dependencies: "@types/node" "*" "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - "integrity" "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" - "version" "7.0.12" + version "7.0.12" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== "@types/mime@*", "@types/mime@^1": - "integrity" "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" - "resolved" "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" - "version" "1.3.2" + version "1.3.2" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== "@types/minimatch@*": - "integrity" "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==" - "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" - "version" "5.1.2" + version "5.1.2" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/node@*": - "integrity" "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz" - "version" "15.12.2" + version "15.12.2" + resolved "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz" + integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww== "@types/parse-json@^4.0.0": - "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/qs@*": - "integrity" "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" - "version" "6.9.7" + version "6.9.7" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== "@types/range-parser@*": - "integrity" "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" - "version" "1.2.4" + version "1.2.4" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/retry@0.12.0": - "integrity" "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - "resolved" "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" - "version" "0.12.0" + version "0.12.0" + resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/send@*": - "integrity" "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==" - "resolved" "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz" - "version" "0.17.1" + version "0.17.1" + resolved "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz" + integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== dependencies: "@types/mime" "^1" "@types/node" "*" "@types/serve-index@^1.9.1": - "integrity" "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==" - "resolved" "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" - "version" "1.9.1" + version "1.9.1" + resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" + integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - "integrity" "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==" - "resolved" "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz" - "version" "1.15.1" + version "1.15.1" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz" + integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== dependencies: "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": - "integrity" "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==" - "resolved" "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" - "version" "0.3.33" + version "0.3.33" + resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== dependencies: "@types/node" "*" "@types/svgo@^1": - "integrity" "sha512-y9Pw8IK50OqFRDpdI9Is29KlWiENVW9FDvlTmGHelvTfR2brYFJbsClvulZfeq6YKacFrDsG9a39w0kJZdHLaw==" - "resolved" "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.5.tgz" - "version" "1.3.5" + version "1.3.5" + resolved "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.5.tgz" + integrity sha512-y9Pw8IK50OqFRDpdI9Is29KlWiENVW9FDvlTmGHelvTfR2brYFJbsClvulZfeq6YKacFrDsG9a39w0kJZdHLaw== "@types/ws@^8.5.1": - "integrity" "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==" - "resolved" "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz" - "version" "8.5.4" + version "8.5.4" + resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz" + integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== dependencies: "@types/node" "*" "@vue/compiler-sfc@2.7.14": - "integrity" "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==" - "resolved" "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz" - "version" "2.7.14" + version "2.7.14" + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz" + integrity sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA== dependencies: "@babel/parser" "^7.18.4" - "postcss" "^8.4.14" - "source-map" "^0.6.1" + postcss "^8.4.14" + source-map "^0.6.1" "@vue/component-compiler-utils@^3.1.0": - "integrity" "sha512-Mci9WJYLRjyJEBkGHMPxZ1ihJ9l6gOy2Gr6hpYZUNpQoe5+nbpeb3w00aP+PSHJygCF+fxJsqp7Af1zGDITzuw==" - "resolved" "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "consolidate" "^0.15.1" - "hash-sum" "^1.0.2" - "lru-cache" "^4.1.2" - "merge-source-map" "^1.1.0" - "postcss-selector-parser" "^6.0.2" - "source-map" "~0.6.1" - "vue-template-es2015-compiler" "^1.9.0" + version "3.2.1" + resolved "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.1.tgz" + integrity sha512-Mci9WJYLRjyJEBkGHMPxZ1ihJ9l6gOy2Gr6hpYZUNpQoe5+nbpeb3w00aP+PSHJygCF+fxJsqp7Af1zGDITzuw== + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" optionalDependencies: - "prettier" "^1.18.2" + prettier "^1.18.2" "@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": - "integrity" "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== dependencies: "@webassemblyjs/helper-numbers" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/floating-point-hex-parser@1.11.6": - "integrity" "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== "@webassemblyjs/helper-api-error@1.11.6": - "integrity" "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== "@webassemblyjs/helper-buffer@1.11.6": - "integrity" "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== "@webassemblyjs/helper-numbers@1.11.6": - "integrity" "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.6" "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.6": - "integrity" "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== "@webassemblyjs/helper-wasm-section@1.11.6": - "integrity" "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-buffer" "1.11.6" @@ -1398,28 +1398,28 @@ "@webassemblyjs/wasm-gen" "1.11.6" "@webassemblyjs/ieee754@1.11.6": - "integrity" "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.6": - "integrity" "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.6": - "integrity" "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== "@webassemblyjs/wasm-edit@^1.11.5": - "integrity" "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-buffer" "1.11.6" @@ -1431,9 +1431,9 @@ "@webassemblyjs/wast-printer" "1.11.6" "@webassemblyjs/wasm-gen@1.11.6": - "integrity" "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" @@ -1442,9 +1442,9 @@ "@webassemblyjs/utf8" "1.11.6" "@webassemblyjs/wasm-opt@1.11.6": - "integrity" "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-buffer" "1.11.6" @@ -1452,9 +1452,9 @@ "@webassemblyjs/wasm-parser" "1.11.6" "@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": - "integrity" "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-api-error" "1.11.6" @@ -1464,2068 +1464,2056 @@ "@webassemblyjs/utf8" "1.11.6" "@webassemblyjs/wast-printer@1.11.6": - "integrity" "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== dependencies: "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.2.0": - "integrity" "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==" - "resolved" "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== "@webpack-cli/info@^1.5.0": - "integrity" "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==" - "resolved" "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz" - "version" "1.5.0" + version "1.5.0" + resolved "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== dependencies: - "envinfo" "^7.7.3" + envinfo "^7.7.3" "@webpack-cli/serve@^1.7.0": - "integrity" "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==" - "resolved" "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz" - "version" "1.7.0" + version "1.7.0" + resolved "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== "@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" - -"accepts@~1.3.4", "accepts@~1.3.5", "accepts@~1.3.8": - "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" - "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - "version" "1.3.8" - dependencies: - "mime-types" "~2.1.34" - "negotiator" "0.6.3" - -"acorn-import-assertions@^1.9.0": - "integrity" "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==" - "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - "version" "1.9.0" - -"acorn@^8", "acorn@^8.7.1", "acorn@^8.8.2": - "integrity" "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" - "version" "8.8.2" - -"adjust-sourcemap-loader@3.0.0": - "integrity" "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==" - "resolved" "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "loader-utils" "^2.0.0" - "regex-parser" "^2.2.11" - -"ajv-formats@^2.1.1": - "integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==" - "resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ajv" "^8.0.0" - -"ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv-keywords@^5.1.0": - "integrity" "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "fast-deep-equal" "^3.1.3" - -"ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ajv@^8.0.0": - "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - "version" "8.12.0" - dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" - -"ajv@^8.8.2", "ajv@^8.9.0": - "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - "version" "8.12.0" - dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" - -"alpinejs@^2.3.5": - "integrity" "sha512-5yOUtckn4CBp0qsHpo2qgjZyZit84uXvHbB7NJ27sn4FA6UlFl2i9PGUAdTXkcbFvvxDJBM+zpOD8RuNYFvQAw==" - "resolved" "https://registry.npmjs.org/alpinejs/-/alpinejs-2.8.2.tgz" - "version" "2.8.2" - -"ansi-escapes@^4.3.1": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-html-community@^0.0.8": - "integrity" "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - "resolved" "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" - "version" "0.0.8" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"anymatch@~3.1.2": - "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"arity-n@^1.0.4": - "integrity" "sha1-2edrEXM+CFacCEeuezmyhgswt0U=" - "resolved" "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz" - "version" "1.0.4" - -"array-flatten@^2.1.2": - "integrity" "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" - "version" "2.1.2" - -"array-flatten@1.1.1": - "integrity" "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - "version" "1.1.1" - -"array-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"asn1.js@^5.2.0": - "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==" - "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" - "version" "5.4.1" - dependencies: - "bn.js" "^4.0.0" - "inherits" "^2.0.1" - "minimalistic-assert" "^1.0.0" - "safer-buffer" "^2.1.0" - -"assert@^1.1.1": - "integrity" "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==" - "resolved" "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "object-assign" "^4.1.1" - "util" "0.10.3" - -"atob@^2.1.2": - "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - "version" "2.1.2" - -"autoprefixer@^10.4.0": - "integrity" "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==" - "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz" - "version" "10.4.14" - dependencies: - "browserslist" "^4.21.5" - "caniuse-lite" "^1.0.30001464" - "fraction.js" "^4.2.0" - "normalize-range" "^0.1.2" - "picocolors" "^1.0.0" - "postcss-value-parser" "^4.2.0" - -"axios@^0.21.1": - "integrity" "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" - "version" "0.21.4" - dependencies: - "follow-redirects" "^1.14.0" - -"babel-loader@^8.2.3": - "integrity" "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==" - "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" - "version" "8.3.0" - dependencies: - "find-cache-dir" "^3.3.1" - "loader-utils" "^2.0.0" - "make-dir" "^3.1.0" - "schema-utils" "^2.6.5" - -"babel-plugin-polyfill-corejs2@^0.4.3": - "integrity" "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz" - "version" "0.4.3" + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn@^8, acorn@^8.7.1, acorn@^8.8.2: + version "8.8.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +adjust-sourcemap-loader@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz" + integrity sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw== + dependencies: + loader-utils "^2.0.0" + regex-parser "^2.2.11" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@^8.8.2, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +alpinejs@^2.3.5: + version "2.8.2" + resolved "https://registry.npmjs.org/alpinejs/-/alpinejs-2.8.2.tgz" + integrity sha512-5yOUtckn4CBp0qsHpo2qgjZyZit84uXvHbB7NJ27sn4FA6UlFl2i9PGUAdTXkcbFvvxDJBM+zpOD8RuNYFvQAw== + +ansi-escapes@^4.3.1: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz" + integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ== + +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autoprefixer@^10.4.0: + version "10.4.14" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz" + integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== + dependencies: + browserslist "^4.21.5" + caniuse-lite "^1.0.30001464" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +babel-loader@^8.2.3: + version "8.3.0" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-polyfill-corejs2@^0.4.3: + version "0.4.3" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz" + integrity sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw== dependencies: "@babel/compat-data" "^7.17.7" "@babel/helper-define-polyfill-provider" "^0.4.0" - "semver" "^6.1.1" + semver "^6.1.1" -"babel-plugin-polyfill-corejs3@^0.8.1": - "integrity" "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz" - "version" "0.8.1" +babel-plugin-polyfill-corejs3@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz" + integrity sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q== dependencies: "@babel/helper-define-polyfill-provider" "^0.4.0" - "core-js-compat" "^3.30.1" + core-js-compat "^3.30.1" -"babel-plugin-polyfill-regenerator@^0.5.0": - "integrity" "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz" - "version" "0.5.0" +babel-plugin-polyfill-regenerator@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz" + integrity sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g== dependencies: "@babel/helper-define-polyfill-provider" "^0.4.0" -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base64-js@^1.0.2": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"batch@0.6.1": - "integrity" "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - "resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - "version" "0.6.1" - -"big.js@^5.2.2": - "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - "version" "5.2.2" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"bluebird@^3.1.1": - "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - "version" "3.7.2" - -"bn.js@^4.0.0": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^4.1.0": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^4.11.9": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^5.0.0", "bn.js@^5.1.1": - "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - "version" "5.2.0" - -"body-parser@1.20.1": - "integrity" "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==" - "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - "version" "1.20.1" - dependencies: - "bytes" "3.1.2" - "content-type" "~1.0.4" - "debug" "2.6.9" - "depd" "2.0.0" - "destroy" "1.2.0" - "http-errors" "2.0.0" - "iconv-lite" "0.4.24" - "on-finished" "2.4.1" - "qs" "6.11.0" - "raw-body" "2.5.1" - "type-is" "~1.6.18" - "unpipe" "1.0.0" - -"bonjour-service@^1.0.11": - "integrity" "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==" - "resolved" "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "array-flatten" "^2.1.2" - "dns-equal" "^1.0.0" - "fast-deep-equal" "^3.1.3" - "multicast-dns" "^7.2.5" - -"boolbase@^1.0.0": - "integrity" "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - "version" "1.0.0" - -"bootstrap@^4.5.0": - "integrity" "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==" - "resolved" "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz" - "version" "4.6.2" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"braces@^3.0.2", "braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"brorand@^1.0.1", "brorand@^1.1.0": - "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - "version" "1.1.0" - -"browserify-aes@^1.0.0", "browserify-aes@^1.0.4": - "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==" - "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "buffer-xor" "^1.0.3" - "cipher-base" "^1.0.0" - "create-hash" "^1.1.0" - "evp_bytestokey" "^1.0.3" - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"browserify-cipher@^1.0.0": - "integrity" "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==" - "resolved" "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "browserify-aes" "^1.0.4" - "browserify-des" "^1.0.0" - "evp_bytestokey" "^1.0.0" - -"browserify-des@^1.0.0": - "integrity" "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==" - "resolved" "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "cipher-base" "^1.0.1" - "des.js" "^1.0.0" - "inherits" "^2.0.1" - "safe-buffer" "^5.1.2" - -"browserify-rsa@^4.0.0", "browserify-rsa@^4.0.1": - "integrity" "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==" - "resolved" "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "bn.js" "^5.0.0" - "randombytes" "^2.0.1" - -"browserify-sign@^4.0.0": - "integrity" "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==" - "resolved" "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "bn.js" "^5.1.1" - "browserify-rsa" "^4.0.1" - "create-hash" "^1.2.0" - "create-hmac" "^1.1.7" - "elliptic" "^6.5.3" - "inherits" "^2.0.4" - "parse-asn1" "^5.1.5" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"browserify-zlib@^0.2.0": - "integrity" "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==" - "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "pako" "~1.0.5" - -"browserslist@^4.0.0", "browserslist@^4.14.5", "browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@^4.21.5", "browserslist@>= 4.21.0": - "integrity" "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz" - "version" "4.21.7" - dependencies: - "caniuse-lite" "^1.0.30001489" - "electron-to-chromium" "^1.4.411" - "node-releases" "^2.0.12" - "update-browserslist-db" "^1.0.11" - -"buffer-from@^1.0.0": - "integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" - "version" "1.1.1" - -"buffer-xor@^1.0.3": - "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" - "version" "1.0.3" - -"buffer@^4.3.0": - "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" - "version" "4.9.2" - dependencies: - "base64-js" "^1.0.2" - "ieee754" "^1.1.4" - "isarray" "^1.0.0" - -"builtin-status-codes@^3.0.0": - "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" - "version" "3.0.0" - -"bytes@3.0.0": - "integrity" "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - "version" "3.0.0" - -"bytes@3.1.2": - "integrity" "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - "version" "3.1.2" - -"call-bind@^1.0.0": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camel-case@^4.1.1": - "integrity" "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==" - "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "pascal-case" "^3.1.2" - "tslib" "^2.0.3" - -"camelcase@5.3.1": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"caniuse-api@^3.0.0": - "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" - "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "browserslist" "^4.0.0" - "caniuse-lite" "^1.0.0" - "lodash.memoize" "^4.1.2" - "lodash.uniq" "^4.5.0" - -"caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30001464", "caniuse-lite@^1.0.30001489": - "integrity" "sha512-sY2B5Qyl46ZzfYDegrl8GBCzdawSLT4ThM9b9F+aDYUrAG2zCOyMbd2Tq34mS1g4ZKBfjRlzOohQMxx28x6wJg==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001494.tgz" - "version" "1.0.30001494" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^4.1.0", "chalk@^4.1.2": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"charenc@0.0.2": - "integrity" "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" - "resolved" "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" - "version" "0.0.2" - -"chokidar@^3.5.2", "chokidar@^3.5.3", "chokidar@>=3.0.0 <4.0.0": - "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - "version" "3.5.3" - dependencies: - "anymatch" "~3.1.2" - "braces" "~3.0.2" - "glob-parent" "~5.1.2" - "is-binary-path" "~2.1.0" - "is-glob" "~4.0.1" - "normalize-path" "~3.0.0" - "readdirp" "~3.6.0" +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bluebird@^3.1.1: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^4.1.0: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.1.1" + resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz" + integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== + dependencies: + array-flatten "^2.1.2" + dns-equal "^1.0.0" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +bootstrap@^4.5.0: + version "4.6.2" + resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz" + integrity sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5, "browserslist@>= 4.21.0": + version "4.21.7" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz" + integrity sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA== + dependencies: + caniuse-lite "^1.0.30001489" + electron-to-chromium "^1.4.411" + node-releases "^2.0.12" + update-browserslist-db "^1.0.11" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.1: + version "4.1.2" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001489: + version "1.0.30001494" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001494.tgz" + integrity sha512-sY2B5Qyl46ZzfYDegrl8GBCzdawSLT4ThM9b9F+aDYUrAG2zCOyMbd2Tq34mS1g4ZKBfjRlzOohQMxx28x6wJg== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +charenc@0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" + integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== + +chokidar@^3.5.2, chokidar@^3.5.3, "chokidar@>=3.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" optionalDependencies: - "fsevents" "~2.3.2" + fsevents "~2.3.2" -"chrome-trace-event@^1.0.2": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -"ci-info@^3.0.0": - "integrity" "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz" - "version" "3.2.0" +ci-info@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== -"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3": - "integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==" - "resolved" "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" - "version" "1.0.4" +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" + inherits "^2.0.1" + safe-buffer "^5.0.1" -"clean-css@^4.2.3": - "integrity" "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==" - "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz" - "version" "4.2.3" +clean-css@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== dependencies: - "source-map" "~0.6.0" + source-map "~0.6.0" -"clean-css@^5.2.4": - "integrity" "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==" - "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz" - "version" "5.3.2" +clean-css@^5.2.4: + version "5.3.2" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz" + integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== dependencies: - "source-map" "~0.6.0" + source-map "~0.6.0" -"cli-table3@^0.6.0": - "integrity" "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==" - "resolved" "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz" - "version" "0.6.0" +cli-table3@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz" + integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ== dependencies: - "object-assign" "^4.1.0" - "string-width" "^4.2.0" + object-assign "^4.1.0" + string-width "^4.2.0" optionalDependencies: - "colors" "^1.1.2" - -"cliui@^8.0.1": - "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - "version" "8.0.1" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.1" - "wrap-ansi" "^7.0.0" - -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" - -"collect.js@^4.28.5": - "integrity" "sha512-NAyuk1DnCotRaDZIS5kJ4sptgkwOeYqElird10yziN5JBuwYOGkOTguhNcPn5g344IfylZecxNYZAVXgv19p5Q==" - "resolved" "https://registry.npmjs.org/collect.js/-/collect.js-4.28.6.tgz" - "version" "4.28.6" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"colord@^2.9.1": - "integrity" "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - "resolved" "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" - "version" "2.9.3" - -"colorette@^2.0.10", "colorette@^2.0.14": - "integrity" "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" - "version" "2.0.20" - -"colors@^1.1.2": - "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" - "version" "1.4.0" - -"commander@^2.20.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^2.9.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^4.1.1": - "integrity" "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - "version" "4.1.1" - -"commander@^7.0.0", "commander@^7.2.0": - "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - "version" "7.2.0" - -"commondir@^1.0.1": - "integrity" "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - "version" "1.0.1" - -"compose-function@3.0.3": - "integrity" "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=" - "resolved" "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "arity-n" "^1.0.4" - -"compressible@~2.0.16": - "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" - "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - "version" "2.0.18" - dependencies: - "mime-db" ">= 1.43.0 < 2" - -"compression@^1.7.4": - "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" - "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - "version" "1.7.4" - dependencies: - "accepts" "~1.3.5" - "bytes" "3.0.0" - "compressible" "~2.0.16" - "debug" "2.6.9" - "on-headers" "~1.0.2" - "safe-buffer" "5.1.2" - "vary" "~1.1.2" - -"concat-map@0.0.1": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"concat@^1.0.3": - "integrity" "sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg=" - "resolved" "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "commander" "^2.9.0" - -"connect-history-api-fallback@^2.0.0": - "integrity" "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - "resolved" "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" - "version" "2.0.0" - -"consola@^2.15.0": - "integrity" "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - "resolved" "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - "version" "2.15.3" - -"console-browserify@^1.1.0": - "integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" - "version" "1.2.0" - -"consolidate@^0.15.1": - "integrity" "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==" - "resolved" "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz" - "version" "0.15.1" - dependencies: - "bluebird" "^3.1.1" - -"constants-browserify@^1.0.0": - "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" - "version" "1.0.0" - -"content-disposition@0.5.4": - "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" - "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - "version" "0.5.4" - dependencies: - "safe-buffer" "5.2.1" - -"content-type@~1.0.4": - "integrity" "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" - "version" "1.0.5" - -"convert-source-map@^0.3.3": - "integrity" "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz" - "version" "0.3.5" - -"convert-source-map@^1.7.0", "convert-source-map@1.7.0": - "integrity" "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "safe-buffer" "~5.1.1" - -"cookie-signature@1.0.6": - "integrity" "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - "version" "1.0.6" - -"cookie@0.5.0": - "integrity" "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - "version" "0.5.0" - -"core-js-compat@^3.30.1", "core-js-compat@^3.30.2": - "integrity" "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==" - "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz" - "version" "3.30.2" - dependencies: - "browserslist" "^4.21.5" - -"core-util-is@~1.0.0": - "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - "version" "1.0.2" - -"cosmiconfig@^7.0.0": - "integrity" "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" - "version" "7.1.0" + colors "^1.1.2" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +collect.js@^4.28.5: + version "4.28.6" + resolved "https://registry.npmjs.org/collect.js/-/collect.js-4.28.6.tgz" + integrity sha512-NAyuk1DnCotRaDZIS5kJ4sptgkwOeYqElird10yziN5JBuwYOGkOTguhNcPn5g344IfylZecxNYZAVXgv19p5Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10, colorette@^2.0.14: + version "2.0.20" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +colors@^1.1.2: + version "1.4.0" + resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^2.9.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^7.0.0, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz" + integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg== + dependencies: + arity-n "^1.0.4" + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz" + integrity sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg= sha512-f/ZaH1aLe64qHgTILdldbvyfGiGF4uzeo9IuXUloIOLQzFmIPloy9QbZadNsuVv0j5qbKQvQb/H/UYf2UsKTpw== + dependencies: + commander "^2.9.0" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +consola@^2.15.0: + version "2.15.3" + resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz" + integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= sha512-+4nRk0k3oEpwUB7/CalD7xE2z4VmtEnnq0GO2IPTkrooTrAhEsWvuLF5iWP1dXrwluki/azwXV1ve7gtYuPldg== + +convert-source-map@^1.7.0, convert-source-map@1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +core-js-compat@^3.30.1, core-js-compat@^3.30.2: + version "3.30.2" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz" + integrity sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA== + dependencies: + browserslist "^4.21.5" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" - "import-fresh" "^3.2.1" - "parse-json" "^5.0.0" - "path-type" "^4.0.0" - "yaml" "^1.10.0" - -"create-ecdh@^4.0.0": - "integrity" "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==" - "resolved" "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "bn.js" "^4.1.0" - "elliptic" "^6.5.3" - -"create-hash@^1.1.0", "create-hash@^1.1.2", "create-hash@^1.2.0": - "integrity" "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==" - "resolved" "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "cipher-base" "^1.0.1" - "inherits" "^2.0.1" - "md5.js" "^1.3.4" - "ripemd160" "^2.0.1" - "sha.js" "^2.4.0" - -"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7": - "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==" - "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "cipher-base" "^1.0.3" - "create-hash" "^1.1.0" - "inherits" "^2.0.1" - "ripemd160" "^2.0.0" - "safe-buffer" "^5.0.1" - "sha.js" "^2.4.8" - -"cross-env@^7.0": - "integrity" "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==" - "resolved" "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "cross-spawn" "^7.0.1" - -"cross-spawn@^7.0.1", "cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"crypt@0.0.2": - "integrity" "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" - "resolved" "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz" - "version" "0.0.2" - -"crypto-browserify@^3.11.0": - "integrity" "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==" - "resolved" "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" - "version" "3.12.0" - dependencies: - "browserify-cipher" "^1.0.0" - "browserify-sign" "^4.0.0" - "create-ecdh" "^4.0.0" - "create-hash" "^1.1.0" - "create-hmac" "^1.1.0" - "diffie-hellman" "^5.0.0" - "inherits" "^2.0.1" - "pbkdf2" "^3.0.3" - "public-encrypt" "^4.0.0" - "randombytes" "^2.0.0" - "randomfill" "^1.0.3" - -"css-declaration-sorter@^6.3.1": - "integrity" "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==" - "resolved" "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz" - "version" "6.4.0" - -"css-loader@*", "css-loader@^5.2.6": - "integrity" "sha512-0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w==" - "resolved" "https://registry.npmjs.org/css-loader/-/css-loader-5.2.6.tgz" - "version" "5.2.6" - dependencies: - "icss-utils" "^5.1.0" - "loader-utils" "^2.0.0" - "postcss" "^8.2.15" - "postcss-modules-extract-imports" "^3.0.0" - "postcss-modules-local-by-default" "^4.0.0" - "postcss-modules-scope" "^3.0.0" - "postcss-modules-values" "^4.0.0" - "postcss-value-parser" "^4.1.0" - "schema-utils" "^3.0.0" - "semver" "^7.3.5" - -"css-select@^4.1.3": - "integrity" "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "boolbase" "^1.0.0" - "css-what" "^6.0.1" - "domhandler" "^4.3.1" - "domutils" "^2.8.0" - "nth-check" "^2.0.1" - -"css-tree@^1.1.2", "css-tree@^1.1.3": - "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "mdn-data" "2.0.14" - "source-map" "^0.6.1" - -"css-what@^6.0.1": - "integrity" "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - "version" "6.1.0" - -"css@^2.0.0": - "integrity" "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==" - "resolved" "https://registry.npmjs.org/css/-/css-2.2.4.tgz" - "version" "2.2.4" - dependencies: - "inherits" "^2.0.3" - "source-map" "^0.6.1" - "source-map-resolve" "^0.5.2" - "urix" "^0.1.0" - -"cssesc@^3.0.0": - "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - "version" "3.0.0" - -"cssnano-preset-default@^5.2.14": - "integrity" "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==" - "resolved" "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz" - "version" "5.2.14" - dependencies: - "css-declaration-sorter" "^6.3.1" - "cssnano-utils" "^3.1.0" - "postcss-calc" "^8.2.3" - "postcss-colormin" "^5.3.1" - "postcss-convert-values" "^5.1.3" - "postcss-discard-comments" "^5.1.2" - "postcss-discard-duplicates" "^5.1.0" - "postcss-discard-empty" "^5.1.1" - "postcss-discard-overridden" "^5.1.0" - "postcss-merge-longhand" "^5.1.7" - "postcss-merge-rules" "^5.1.4" - "postcss-minify-font-values" "^5.1.0" - "postcss-minify-gradients" "^5.1.1" - "postcss-minify-params" "^5.1.4" - "postcss-minify-selectors" "^5.2.1" - "postcss-normalize-charset" "^5.1.0" - "postcss-normalize-display-values" "^5.1.0" - "postcss-normalize-positions" "^5.1.1" - "postcss-normalize-repeat-style" "^5.1.1" - "postcss-normalize-string" "^5.1.0" - "postcss-normalize-timing-functions" "^5.1.0" - "postcss-normalize-unicode" "^5.1.1" - "postcss-normalize-url" "^5.1.0" - "postcss-normalize-whitespace" "^5.1.1" - "postcss-ordered-values" "^5.1.3" - "postcss-reduce-initial" "^5.1.2" - "postcss-reduce-transforms" "^5.1.0" - "postcss-svgo" "^5.1.0" - "postcss-unique-selectors" "^5.1.1" - -"cssnano-utils@^3.1.0": - "integrity" "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" - "resolved" "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" - "version" "3.1.0" - -"cssnano@^5.0.8": - "integrity" "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==" - "resolved" "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz" - "version" "5.1.15" - dependencies: - "cssnano-preset-default" "^5.2.14" - "lilconfig" "^2.0.3" - "yaml" "^1.10.2" - -"csso@^4.2.0": - "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" - "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "css-tree" "^1.1.2" - -"csstype@^3.1.0": - "integrity" "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" - "version" "3.1.2" - -"d@^1.0.1", "d@1": - "integrity" "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==" - "resolved" "https://registry.npmjs.org/d/-/d-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "es5-ext" "^0.10.50" - "type" "^1.0.1" - -"de-indent@^1.0.2": - "integrity" "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" - "resolved" "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" - "version" "1.0.2" - -"debug@^4.1.0", "debug@^4.1.1": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "ms" "2.1.2" - -"debug@2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"decode-uri-component@^0.2.0": - "integrity" "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" - "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" - "version" "0.2.2" - -"default-gateway@^6.0.3": - "integrity" "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==" - "resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" - "version" "6.0.3" - dependencies: - "execa" "^5.0.0" - -"define-lazy-prop@^2.0.0": - "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - "version" "2.0.0" - -"depd@~1.1.2": - "integrity" "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - "version" "1.1.2" - -"depd@2.0.0": - "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - "version" "2.0.0" - -"des.js@^1.0.0": - "integrity" "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==" - "resolved" "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "inherits" "^2.0.1" - "minimalistic-assert" "^1.0.0" - -"destroy@1.2.0": - "integrity" "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - "version" "1.2.0" - -"detect-node@^2.0.4": - "integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - "version" "2.1.0" - -"diffie-hellman@^5.0.0": - "integrity" "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==" - "resolved" "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "bn.js" "^4.1.0" - "miller-rabin" "^4.0.0" - "randombytes" "^2.0.0" - -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-env@^7.0: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + +cross-spawn@^7.0.1, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypt@0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz" + integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-declaration-sorter@^6.3.1: + version "6.4.0" + resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz" + integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== + +css-loader@*, css-loader@^5.2.6: + version "5.2.6" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-5.2.6.tgz" + integrity sha512-0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w== + dependencies: + icss-utils "^5.1.0" + loader-utils "^2.0.0" + postcss "^8.2.15" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^3.0.0" + semver "^7.3.5" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.npmjs.org/css/-/css-2.2.4.tgz" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz" + integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.1" + postcss-convert-values "^5.1.3" + postcss-discard-comments "^5.1.2" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.4" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.4" + postcss-minify-selectors "^5.2.1" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.1" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.3" + postcss-reduce-initial "^5.1.2" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.8: + version "5.1.15" + resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz" + integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== + dependencies: + cssnano-preset-default "^5.2.14" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csstype@^3.1.0: + version "3.1.2" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +d@^1.0.1, d@1: + version "1.0.1" + resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" + integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + +debug@^4.1.0, debug@^4.1.1: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" -"dns-equal@^1.0.0": - "integrity" "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - "resolved" "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" - "version" "1.0.0" +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== -"dns-packet@^5.2.2": - "integrity" "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==" - "resolved" "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz" - "version" "5.6.0" +dns-packet@^5.2.2: + version "5.6.0" + resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz" + integrity sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" -"dom-serializer@^1.0.1": - "integrity" "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^4.2.0" - "entities" "^2.0.0" - -"domain-browser@^1.1.1": - "integrity" "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" - "version" "1.2.0" - -"domelementtype@^2.0.1", "domelementtype@^2.2.0": - "integrity" "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - "version" "2.3.0" - -"domhandler@^3.0.0": - "integrity" "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "domelementtype" "^2.0.1" - -"domhandler@^4.2.0": - "integrity" "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "domelementtype" "^2.2.0" - -"domhandler@^4.3.1": - "integrity" "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "domelementtype" "^2.2.0" - -"domutils@^2.0.0", "domutils@^2.8.0": - "integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "dom-serializer" "^1.0.1" - "domelementtype" "^2.2.0" - "domhandler" "^4.2.0" - -"dot-case@^3.0.4": - "integrity" "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==" - "resolved" "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"dotenv-expand@^5.1.0": - "integrity" "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - "resolved" "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" - "version" "5.1.0" - -"dotenv@^10.0.0": - "integrity" "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" - "version" "10.0.0" - -"ee-first@1.1.1": - "integrity" "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - "version" "1.1.1" - -"electron-to-chromium@^1.4.411": - "integrity" "sha512-jdie3RiEgygvDTyS2sgjq71B36q2cDSBfPlwzUyuOrfYTNoYWyBxxjGJV/HAu3A2hB0Y+HesvCVkVAFoCKwCSw==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.419.tgz" - "version" "1.4.419" - -"elliptic@^6.5.3": - "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" - "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - "version" "6.5.4" - dependencies: - "bn.js" "^4.11.9" - "brorand" "^1.1.0" - "hash.js" "^1.0.0" - "hmac-drbg" "^1.0.1" - "inherits" "^2.0.4" - "minimalistic-assert" "^1.0.1" - "minimalistic-crypto-utils" "^1.0.1" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"emojis-list@^3.0.0": - "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - "version" "3.0.0" - -"encodeurl@~1.0.2": - "integrity" "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - "version" "1.0.2" - -"enhanced-resolve@^5.14.1": - "integrity" "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz" - "version" "5.14.1" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"entities@^2.0.0": - "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - "version" "2.2.0" - -"envinfo@^7.7.3": - "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" - "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" - "version" "7.8.1" - -"error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"es-module-lexer@^1.2.1": - "integrity" "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==" - "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz" - "version" "1.2.1" - -"es5-ext@^0.10.35", "es5-ext@^0.10.50": - "integrity" "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==" - "resolved" "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz" - "version" "0.10.53" - dependencies: - "es6-iterator" "~2.0.3" - "es6-symbol" "~3.1.3" - "next-tick" "~1.0.0" - -"es6-iterator@~2.0.3", "es6-iterator@2.0.3": - "integrity" "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=" - "resolved" "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" - "version" "2.0.3" - dependencies: - "d" "1" - "es5-ext" "^0.10.35" - "es6-symbol" "^3.1.1" - -"es6-symbol@^3.1.1", "es6-symbol@~3.1.3": - "integrity" "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==" - "resolved" "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "d" "^1.0.1" - "ext" "^1.1.2" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-html@~1.0.3": - "integrity" "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - "version" "1.0.3" - -"escape-string-regexp@^1.0.5": - "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"eslint-scope@5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.2.0": - "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - "version" "5.2.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"etag@~1.8.1": - "integrity" "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - "version" "1.8.1" - -"eventemitter3@^4.0.0": - "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - "version" "4.0.7" - -"events@^3.0.0", "events@^3.2.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3": - "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" - "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "md5.js" "^1.3.4" - "safe-buffer" "^5.1.1" - -"execa@^5.0.0": - "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "cross-spawn" "^7.0.3" - "get-stream" "^6.0.0" - "human-signals" "^2.1.0" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.1" - "onetime" "^5.1.2" - "signal-exit" "^3.0.3" - "strip-final-newline" "^2.0.0" - -"express@^4.17.3": - "integrity" "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==" - "resolved" "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - "version" "4.18.2" - dependencies: - "accepts" "~1.3.8" - "array-flatten" "1.1.1" - "body-parser" "1.20.1" - "content-disposition" "0.5.4" - "content-type" "~1.0.4" - "cookie" "0.5.0" - "cookie-signature" "1.0.6" - "debug" "2.6.9" - "depd" "2.0.0" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "etag" "~1.8.1" - "finalhandler" "1.2.0" - "fresh" "0.5.2" - "http-errors" "2.0.0" - "merge-descriptors" "1.0.1" - "methods" "~1.1.2" - "on-finished" "2.4.1" - "parseurl" "~1.3.3" - "path-to-regexp" "0.1.7" - "proxy-addr" "~2.0.7" - "qs" "6.11.0" - "range-parser" "~1.2.1" - "safe-buffer" "5.2.1" - "send" "0.18.0" - "serve-static" "1.15.0" - "setprototypeof" "1.2.0" - "statuses" "2.0.1" - "type-is" "~1.6.18" - "utils-merge" "1.0.1" - "vary" "~1.1.2" - -"ext@^1.1.2": - "integrity" "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==" - "resolved" "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "type" "^2.0.0" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-glob@^3.0.3": - "integrity" "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - "version" "3.2.12" +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^3.0.0: + version "3.3.0" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz" + integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== + dependencies: + domelementtype "^2.0.1" + +domhandler@^4.2.0: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.0.0, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.411: + version "1.4.419" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.419.tgz" + integrity sha512-jdie3RiEgygvDTyS2sgjq71B36q2cDSBfPlwzUyuOrfYTNoYWyBxxjGJV/HAu3A2hB0Y+HesvCVkVAFoCKwCSw== + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +enhanced-resolve@^5.14.1: + version "5.14.1" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz" + integrity sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-module-lexer@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz" + integrity sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg== + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@~2.0.3, es6-iterator@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.0.0, events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.0.3: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - "glob-parent" "^5.1.2" - "merge2" "^1.3.0" - "micromatch" "^4.0.4" - -"fast-json-stable-stringify@^2.0.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fastest-levenshtein@^1.0.12": - "integrity" "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==" - "resolved" "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" - "version" "1.0.16" - -"fastq@^1.6.0": - "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "reusify" "^1.0.4" - -"faye-websocket@^0.11.3": - "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" - "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - "version" "0.11.4" - dependencies: - "websocket-driver" ">=0.5.1" - -"figures@^3.2.0": - "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "escape-string-regexp" "^1.0.5" - -"file-loader@^6.2.0": - "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" - "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - -"file-type@^12.0.0": - "integrity" "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==" - "resolved" "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz" - "version" "12.4.2" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"finalhandler@1.2.0": - "integrity" "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==" - "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "debug" "2.6.9" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "on-finished" "2.4.1" - "parseurl" "~1.3.3" - "statuses" "2.0.1" - "unpipe" "~1.0.0" - -"find-cache-dir@^3.3.1": - "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^3.0.2" - "pkg-dir" "^4.1.0" - -"find-up@^4.0.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"follow-redirects@^1.0.0", "follow-redirects@^1.14.0": - "integrity" "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - "version" "1.15.2" - -"font-awesome@^4.7.0": - "integrity" "sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg==" - "resolved" "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz" - "version" "4.7.0" - -"forwarded@0.2.0": - "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - "version" "0.2.0" - -"fraction.js@^4.2.0": - "integrity" "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" - "version" "4.2.0" - -"fresh@0.5.2": - "integrity" "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - "version" "0.5.2" - -"fs-extra@^10.0.0": - "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-monkey@^1.0.3": - "integrity" "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==" - "resolved" "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz" - "version" "1.0.4" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@~2.3.2": - "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - "version" "2.3.2" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-intrinsic@^1.0.2": - "integrity" "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-proto" "^1.0.1" - "has-symbols" "^1.0.3" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"glob-parent@^5.1.2", "glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob-to-regexp@^0.4.1": - "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - "version" "0.4.1" - -"glob@^7.1.3", "glob@^7.2.0": - "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - "version" "7.2.3" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.1.1" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globby@^10.0.0": - "integrity" "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==" - "resolved" "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz" - "version" "10.0.2" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +figures@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-type@^12.0.0: + version "12.4.2" + resolved "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz" + integrity sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +follow-redirects@^1.0.0, follow-redirects@^1.14.0: + version "1.15.2" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +font-awesome@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz" + integrity sha512-U6kGnykA/6bFmg1M/oT9EkFeIYv7JlX3bozwQJWiiLz6L0w3F5vBVPxHlwyX/vtNq1ckcpRKOB9f2Qal/VtFpg== + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz" + integrity sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2: + version "1.2.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3, glob@^7.2.0: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globby@^10.0.0: + version "10.0.2" + resolved "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== dependencies: "@types/glob" "^7.1.1" - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.0.3" - "glob" "^7.1.3" - "ignore" "^5.1.1" - "merge2" "^1.2.3" - "slash" "^3.0.0" - -"graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.2", "graceful-fs@^4.2.4", "graceful-fs@^4.2.6", "graceful-fs@^4.2.9": - "integrity" "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - "version" "4.2.11" - -"growly@^1.3.0": - "integrity" "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==" - "resolved" "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" - "version" "1.3.0" - -"handle-thing@^2.0.0": - "integrity" "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - "resolved" "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" - "version" "2.0.1" - -"has-flag@^3.0.0": - "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-proto@^1.0.1": - "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - "version" "1.0.1" - -"has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"hash-base@^3.0.0": - "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" - "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "inherits" "^2.0.4" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"hash-sum@^1.0.2": - "integrity" "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=" - "resolved" "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz" - "version" "1.0.2" - -"hash.js@^1.0.0", "hash.js@^1.0.3": - "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" - "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "inherits" "^2.0.3" - "minimalistic-assert" "^1.0.1" - -"he@^1.1.0", "he@^1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"hmac-drbg@^1.0.1": - "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=" - "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "hash.js" "^1.0.3" - "minimalistic-assert" "^1.0.0" - "minimalistic-crypto-utils" "^1.0.1" - -"hpack.js@^2.1.6": - "integrity" "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==" - "resolved" "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - "version" "2.1.6" - dependencies: - "inherits" "^2.0.1" - "obuf" "^1.0.0" - "readable-stream" "^2.0.1" - "wbuf" "^1.1.0" - -"html-entities@^2.3.2": - "integrity" "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" - "resolved" "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz" - "version" "2.3.3" - -"html-loader@^1.3.2": - "integrity" "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==" - "resolved" "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "html-minifier-terser" "^5.1.1" - "htmlparser2" "^4.1.0" - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - -"html-minifier-terser@^5.1.1": - "integrity" "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==" - "resolved" "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "camel-case" "^4.1.1" - "clean-css" "^4.2.3" - "commander" "^4.1.1" - "he" "^1.2.0" - "param-case" "^3.0.3" - "relateurl" "^0.2.7" - "terser" "^4.6.3" - -"htmlparser2@^4.1.0": - "integrity" "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==" - "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^3.0.0" - "domutils" "^2.0.0" - "entities" "^2.0.0" - -"http-deceiver@^1.2.7": - "integrity" "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - "resolved" "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - "version" "1.2.7" - -"http-errors@~1.6.2": - "integrity" "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - "version" "1.6.3" - dependencies: - "depd" "~1.1.2" - "inherits" "2.0.3" - "setprototypeof" "1.1.0" - "statuses" ">= 1.4.0 < 2" - -"http-errors@2.0.0": - "integrity" "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "depd" "2.0.0" - "inherits" "2.0.4" - "setprototypeof" "1.2.0" - "statuses" "2.0.1" - "toidentifier" "1.0.1" - -"http-parser-js@>=0.5.1": - "integrity" "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" - "version" "0.5.8" - -"http-proxy-middleware@^2.0.3": - "integrity" "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==" - "resolved" "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - "version" "2.0.6" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" + integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA== + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@^1.1.0, he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz" + integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== + +html-loader@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz" + integrity sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA== + dependencies: + html-minifier-terser "^5.1.1" + htmlparser2 "^4.1.0" + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +html-minifier-terser@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz" + integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +htmlparser2@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz" + integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== + dependencies: + domelementtype "^2.0.1" + domhandler "^3.0.0" + domutils "^2.0.0" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== dependencies: "@types/http-proxy" "^1.17.8" - "http-proxy" "^1.18.1" - "is-glob" "^4.0.1" - "is-plain-obj" "^3.0.0" - "micromatch" "^4.0.2" - -"http-proxy@^1.18.1": - "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" - "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - "version" "1.18.1" - dependencies: - "eventemitter3" "^4.0.0" - "follow-redirects" "^1.0.0" - "requires-port" "^1.0.0" - -"https-browserify@^1.0.0": - "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" - "version" "1.0.0" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"iconv-lite@0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"icss-utils@^5.0.0", "icss-utils@^5.1.0": - "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" - "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - "version" "5.1.0" - -"ieee754@^1.1.4": - "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - "version" "1.2.1" - -"ignore@^5.1.1": - "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - "version" "5.2.4" - -"imagemin@^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "imagemin@^7.0.1": - "integrity" "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==" - "resolved" "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "file-type" "^12.0.0" - "globby" "^10.0.0" - "graceful-fs" "^4.2.2" - "junk" "^3.1.0" - "make-dir" "^3.0.0" - "p-pipe" "^3.0.0" - "replace-ext" "^1.0.0" - -"img-loader@^4.0.0": - "integrity" "sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ==" - "resolved" "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "loader-utils" "^1.1.0" - -"import-fresh@^3.2.1": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-local@^3.0.2": - "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "pkg-dir" "^4.2.0" - "resolve-cwd" "^3.0.0" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"inherits@2.0.1": - "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - "version" "2.0.1" - -"inherits@2.0.3": - "integrity" "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - "version" "2.0.3" - -"interpret@^2.2.0": - "integrity" "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" - "version" "2.2.0" - -"ipaddr.js@^2.0.1": - "integrity" "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" - "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - "version" "2.1.0" - -"ipaddr.js@1.9.1": - "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - "version" "1.9.1" - -"is-arrayish@^0.2.1": - "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" - -"is-buffer@~1.1.6": - "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - "version" "1.1.6" - -"is-core-module@^2.11.0": - "integrity" "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz" - "version" "2.12.1" - dependencies: - "has" "^1.0.3" - -"is-docker@^2.0.0", "is-docker@^2.1.1": - "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - "version" "2.2.1" - -"is-extglob@^2.1.1": - "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-glob@^4.0.1", "is-glob@~4.0.1": - "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-extglob" "^2.1.1" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-plain-obj@^3.0.0": - "integrity" "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" - "version" "3.0.0" - -"is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" - -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" - -"is-wsl@^2.2.0": - "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "is-docker" "^2.0.0" - -"isarray@^1.0.0", "isarray@~1.0.0": - "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isexe@^2.0.0": - "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^3.0.1": - "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"jest-worker@^27.4.5": - "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - "version" "27.5.1" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.1.1: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +"imagemin@^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", imagemin@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz" + integrity sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w== + dependencies: + file-type "^12.0.0" + globby "^10.0.0" + graceful-fs "^4.2.2" + junk "^3.1.0" + make-dir "^3.0.0" + p-pipe "^3.0.0" + replace-ext "^1.0.0" + +img-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz" + integrity sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ== + dependencies: + loader-utils "^1.1.0" + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@2, inherits@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@~1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-core-module@^2.11.0: + version "2.12.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== + dependencies: + has "^1.0.3" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" - -"jquery@^3.5.1", "jquery@1.9.1 - 3": - "integrity" "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" - "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz" - "version" "3.6.0" - -"js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-schema-traverse@^1.0.0": - "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - "version" "1.0.0" - -"json5@^1.0.1": - "integrity" "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "minimist" "^1.2.0" - -"json5@^2.1.2", "json5@^2.2.2": - "integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - "version" "2.2.3" - -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "universalify" "^2.0.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jquery@^3.5.1, "jquery@1.9.1 - 3": + version "3.6.0" + resolved "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz" + integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" optionalDependencies: - "graceful-fs" "^4.1.6" + graceful-fs "^4.1.6" -"junk@^3.1.0": - "integrity" "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==" - "resolved" "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz" - "version" "3.1.0" +junk@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz" + integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== -"kind-of@^6.0.2": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -"klona@^2.0.5": - "integrity" "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" - "resolved" "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz" - "version" "2.0.6" +klona@^2.0.5: + version "2.0.6" + resolved "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== -"laravel-mix@^6.0.28": - "integrity" "sha512-bBMFpFjp26XfijPvY5y9zGKud7VqlyOE0OWUcPo3vTBY5asw8LTjafAbee1dhfLz6PWNqDziz69CP78ELSpfKw==" - "resolved" "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.49.tgz" - "version" "6.0.49" +laravel-mix@^6.0.28: + version "6.0.49" + resolved "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.49.tgz" + integrity sha512-bBMFpFjp26XfijPvY5y9zGKud7VqlyOE0OWUcPo3vTBY5asw8LTjafAbee1dhfLz6PWNqDziz69CP78ELSpfKw== dependencies: "@babel/core" "^7.15.8" "@babel/plugin-proposal-object-rest-spread" "^7.15.6" @@ -3539,1980 +3527,1997 @@ "@types/imagemin-mozjpeg" "^8.0.1" "@types/imagemin-optipng" "^5.2.1" "@types/imagemin-svgo" "^8.0.0" - "autoprefixer" "^10.4.0" - "babel-loader" "^8.2.3" - "chalk" "^4.1.2" - "chokidar" "^3.5.2" - "clean-css" "^5.2.4" - "cli-table3" "^0.6.0" - "collect.js" "^4.28.5" - "commander" "^7.2.0" - "concat" "^1.0.3" - "css-loader" "^5.2.6" - "cssnano" "^5.0.8" - "dotenv" "^10.0.0" - "dotenv-expand" "^5.1.0" - "file-loader" "^6.2.0" - "fs-extra" "^10.0.0" - "glob" "^7.2.0" - "html-loader" "^1.3.2" - "imagemin" "^7.0.1" - "img-loader" "^4.0.0" - "lodash" "^4.17.21" - "md5" "^2.3.0" - "mini-css-extract-plugin" "^1.6.2" - "node-libs-browser" "^2.2.1" - "postcss-load-config" "^3.1.0" - "postcss-loader" "^6.2.0" - "semver" "^7.3.5" - "strip-ansi" "^6.0.0" - "style-loader" "^2.0.0" - "terser" "^5.9.0" - "terser-webpack-plugin" "^5.2.4" - "vue-style-loader" "^4.1.3" - "webpack" "^5.60.0" - "webpack-cli" "^4.9.1" - "webpack-dev-server" "^4.7.3" - "webpack-merge" "^5.8.0" - "webpack-notifier" "^1.14.1" - "webpackbar" "^5.0.0-3" - "yargs" "^17.2.1" - -"launch-editor@^2.6.0": - "integrity" "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==" - "resolved" "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz" - "version" "2.6.0" - dependencies: - "picocolors" "^1.0.0" - "shell-quote" "^1.7.3" - -"lilconfig@^2.0.3", "lilconfig@^2.0.5": - "integrity" "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" - "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" - "version" "2.1.0" - -"lines-and-columns@^1.1.6": - "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - "version" "1.2.4" - -"loader-runner@^4.2.0": - "integrity" "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" - "version" "4.2.0" - -"loader-utils@^1.0.2", "loader-utils@^1.1.0", "loader-utils@^1.2.3": - "integrity" "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz" - "version" "1.4.2" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^1.0.1" - -"loader-utils@^2.0.0": - "integrity" "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^2.1.2" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"lodash.debounce@^4.0.8": - "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash.memoize@^4.1.2": - "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - "version" "4.1.2" - -"lodash.uniq@^4.5.0": - "integrity" "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - "version" "4.5.0" - -"lodash@^4.17.19", "lodash@^4.17.21": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"lower-case@^2.0.2": - "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" - "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "tslib" "^2.0.3" - -"lru-cache@^4.1.2": - "integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" - "version" "4.1.5" - dependencies: - "pseudomap" "^1.0.2" - "yallist" "^2.1.2" - -"lru-cache@^5.1.1": - "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "yallist" "^3.0.2" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"make-dir@^3.0.0", "make-dir@^3.0.2", "make-dir@^3.1.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"md5.js@^1.3.4": - "integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==" - "resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" - "safe-buffer" "^5.1.2" - -"md5@^2.3.0": - "integrity" "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==" - "resolved" "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "charenc" "0.0.2" - "crypt" "0.0.2" - "is-buffer" "~1.1.6" - -"mdn-data@2.0.14": - "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - "version" "2.0.14" - -"media-typer@0.3.0": - "integrity" "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - "version" "0.3.0" - -"memfs@^3.4.3": - "integrity" "sha512-4kbWXbVZ+LU4XFDS2CuA7frnwz2HxCMB/0yOXc86q7aCQrfWKkL11t6al1e2CsVC7uhnBNTQ1TfUsAxVauO9IQ==" - "resolved" "https://registry.npmjs.org/memfs/-/memfs-3.5.2.tgz" - "version" "3.5.2" - dependencies: - "fs-monkey" "^1.0.3" - -"merge-descriptors@1.0.1": - "integrity" "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - "version" "1.0.1" - -"merge-source-map@^1.1.0": - "integrity" "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==" - "resolved" "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "source-map" "^0.6.1" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"merge2@^1.2.3", "merge2@^1.3.0": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"methods@~1.1.2": - "integrity" "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - "version" "1.1.2" - -"micromatch@^4.0.2", "micromatch@^4.0.4": - "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "braces" "^3.0.2" - "picomatch" "^2.3.1" - -"miller-rabin@^4.0.0": - "integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==" - "resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "bn.js" "^4.0.0" - "brorand" "^1.0.1" - -"mime-db@>= 1.43.0 < 2", "mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.27", "mime-types@^2.1.31", "mime-types@~2.1.17", "mime-types@~2.1.24", "mime-types@~2.1.34": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime@1.6.0": - "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - "version" "1.6.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"mini-css-extract-plugin@^1.6.2": - "integrity" "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==" - "resolved" "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz" - "version" "1.6.2" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - "webpack-sources" "^1.1.0" - -"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-crypto-utils@^1.0.1": - "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.1.1": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist@^1.2.0": - "integrity" "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - "version" "1.2.8" - -"ms@2.0.0": - "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.1.3": - "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - "version" "2.1.3" - -"multicast-dns@^7.2.5": - "integrity" "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==" - "resolved" "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" - "version" "7.2.5" - dependencies: - "dns-packet" "^5.2.2" - "thunky" "^1.0.2" - -"nanoid@^3.3.6": - "integrity" "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" - "version" "3.3.6" - -"negotiator@0.6.3": - "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - "version" "0.6.3" - -"neo-async@^2.6.1", "neo-async@^2.6.2": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"next-tick@~1.0.0": - "integrity" "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - "resolved" "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz" - "version" "1.0.0" - -"no-case@^3.0.4": - "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" - "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "lower-case" "^2.0.2" - "tslib" "^2.0.3" - -"node-forge@^1": - "integrity" "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - "version" "1.3.1" - -"node-libs-browser@^2.2.1": - "integrity" "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==" - "resolved" "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "assert" "^1.1.1" - "browserify-zlib" "^0.2.0" - "buffer" "^4.3.0" - "console-browserify" "^1.1.0" - "constants-browserify" "^1.0.0" - "crypto-browserify" "^3.11.0" - "domain-browser" "^1.1.1" - "events" "^3.0.0" - "https-browserify" "^1.0.0" - "os-browserify" "^0.3.0" - "path-browserify" "0.0.1" - "process" "^0.11.10" - "punycode" "^1.2.4" - "querystring-es3" "^0.2.0" - "readable-stream" "^2.3.3" - "stream-browserify" "^2.0.1" - "stream-http" "^2.7.2" - "string_decoder" "^1.0.0" - "timers-browserify" "^2.0.4" - "tty-browserify" "0.0.0" - "url" "^0.11.0" - "util" "^0.11.0" - "vm-browserify" "^1.0.1" - -"node-notifier@^9.0.0": - "integrity" "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==" - "resolved" "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz" - "version" "9.0.1" - dependencies: - "growly" "^1.3.0" - "is-wsl" "^2.2.0" - "semver" "^7.3.2" - "shellwords" "^0.1.1" - "uuid" "^8.3.0" - "which" "^2.0.2" - -"node-releases@^2.0.12": - "integrity" "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz" - "version" "2.0.12" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"normalize-range@^0.1.2": - "integrity" "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - "version" "0.1.2" - -"normalize-url@^6.0.1": - "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - "version" "6.1.0" - -"npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"nth-check@^2.0.1": - "integrity" "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "boolbase" "^1.0.0" - -"object-assign@^4.1.0", "object-assign@^4.1.1": - "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-inspect@^1.9.0": - "integrity" "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" - "version" "1.12.3" - -"obuf@^1.0.0", "obuf@^1.1.2": - "integrity" "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - "resolved" "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - "version" "1.1.2" - -"on-finished@2.4.1": - "integrity" "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==" - "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - "version" "2.4.1" - dependencies: - "ee-first" "1.1.1" - -"on-headers@~1.0.2": - "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - "version" "1.0.2" - -"once@^1.3.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"open@^8.0.9": - "integrity" "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" - "resolved" "https://registry.npmjs.org/open/-/open-8.4.2.tgz" - "version" "8.4.2" - dependencies: - "define-lazy-prop" "^2.0.0" - "is-docker" "^2.1.1" - "is-wsl" "^2.2.0" - -"os-browserify@^0.3.0": - "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" - "version" "0.3.0" - -"p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "p-limit" "^2.2.0" + autoprefixer "^10.4.0" + babel-loader "^8.2.3" + chalk "^4.1.2" + chokidar "^3.5.2" + clean-css "^5.2.4" + cli-table3 "^0.6.0" + collect.js "^4.28.5" + commander "^7.2.0" + concat "^1.0.3" + css-loader "^5.2.6" + cssnano "^5.0.8" + dotenv "^10.0.0" + dotenv-expand "^5.1.0" + file-loader "^6.2.0" + fs-extra "^10.0.0" + glob "^7.2.0" + html-loader "^1.3.2" + imagemin "^7.0.1" + img-loader "^4.0.0" + lodash "^4.17.21" + md5 "^2.3.0" + mini-css-extract-plugin "^1.6.2" + node-libs-browser "^2.2.1" + postcss-load-config "^3.1.0" + postcss-loader "^6.2.0" + semver "^7.3.5" + strip-ansi "^6.0.0" + style-loader "^2.0.0" + terser "^5.9.0" + terser-webpack-plugin "^5.2.4" + vue-style-loader "^4.1.3" + webpack "^5.60.0" + webpack-cli "^4.9.1" + webpack-dev-server "^4.7.3" + webpack-merge "^5.8.0" + webpack-notifier "^1.14.1" + webpackbar "^5.0.0-3" + yargs "^17.2.1" + +launch-editor@^2.6.0: + version "2.6.0" + resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz" + integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.7.3" + +lilconfig@^2.0.3, lilconfig@^2.0.5: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + +loader-utils@^1.0.2: + version "1.4.2" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^1.1.0: + version "1.4.2" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^1.2.3: + version "1.4.2" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.19, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^4.1.2: + version "4.1.5" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +md5@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz" + integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== + dependencies: + charenc "0.0.2" + crypt "0.0.2" + is-buffer "~1.1.6" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.3: + version "3.5.2" + resolved "https://registry.npmjs.org/memfs/-/memfs-3.5.2.tgz" + integrity sha512-4kbWXbVZ+LU4XFDS2CuA7frnwz2HxCMB/0yOXc86q7aCQrfWKkL11t6al1e2CsVC7uhnBNTQ1TfUsAxVauO9IQ== + dependencies: + fs-monkey "^1.0.3" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3, merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mini-css-extract-plugin@^1.6.2: + version "1.6.2" + resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz" + integrity sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.1, neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= sha512-mc/caHeUcdjnC/boPWJefDr4KUIWQNv+tlnFnJd38QMou86QtxQzBJfxgGRzvx8jazYRqrVlaHarfO72uNxPOg== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-notifier@^9.0.0: + version "9.0.1" + resolved "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz" + integrity sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^2.0.12: + version "2.0.12" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz" + integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9: + version "8.4.2" + resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" -"p-pipe@^3.0.0": - "integrity" "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==" - "resolved" "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz" - "version" "3.1.0" +p-pipe@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz" + integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== -"p-retry@^4.5.0": - "integrity" "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==" - "resolved" "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" - "version" "4.6.2" +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: "@types/retry" "0.12.0" - "retry" "^0.13.1" + retry "^0.13.1" -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -"pako@~1.0.5": - "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" - "version" "1.0.11" +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -"param-case@^3.0.3": - "integrity" "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==" - "resolved" "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - "version" "3.0.4" +param-case@^3.0.3: + version "3.0.4" + resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: - "dot-case" "^3.0.4" - "tslib" "^2.0.3" + dot-case "^3.0.4" + tslib "^2.0.3" -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: - "callsites" "^3.0.0" + callsites "^3.0.0" -"parse-asn1@^5.0.0", "parse-asn1@^5.1.5": - "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==" - "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" - "version" "5.1.6" +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - "asn1.js" "^5.2.0" - "browserify-aes" "^1.0.0" - "evp_bytestokey" "^1.0.0" - "pbkdf2" "^3.0.3" - "safe-buffer" "^5.1.1" + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" -"parse-json@^5.0.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" - "error-ex" "^1.3.1" - "json-parse-even-better-errors" "^2.3.0" - "lines-and-columns" "^1.1.6" - -"parseurl@~1.3.2", "parseurl@~1.3.3": - "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - "version" "1.3.3" - -"pascal-case@^3.1.2": - "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" - "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"path-browserify@0.0.1": - "integrity" "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" - "version" "0.0.1" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.7": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-to-regexp@0.1.7": - "integrity" "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - "version" "0.1.7" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"pbkdf2@^3.0.3": - "integrity" "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==" - "resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "create-hash" "^1.1.2" - "create-hmac" "^1.1.4" - "ripemd160" "^2.0.1" - "safe-buffer" "^5.0.1" - "sha.js" "^2.4.8" - -"perfect-scrollbar@^1.5.0": - "integrity" "sha512-MrSImINnIh3Tm1hdPT6bji6fmIeRorVEegQvyUnhqko2hDGTHhmjPefHXfxG/Jb8xVbfCwgmUIlIajERGXjVXQ==" - "resolved" "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.1.tgz" - "version" "1.5.1" - -"picocolors@^1.0.0": - "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - "version" "1.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.3.1": - "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - "version" "2.3.1" - -"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"popper.js@^1.16.1": - "integrity" "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" - "resolved" "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz" - "version" "1.16.1" - -"postcss-calc@^8.2.3": - "integrity" "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==" - "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" - "version" "8.2.4" - dependencies: - "postcss-selector-parser" "^6.0.9" - "postcss-value-parser" "^4.2.0" - -"postcss-colormin@^5.3.1": - "integrity" "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==" - "resolved" "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz" - "version" "5.3.1" - dependencies: - "browserslist" "^4.21.4" - "caniuse-api" "^3.0.0" - "colord" "^2.9.1" - "postcss-value-parser" "^4.2.0" - -"postcss-convert-values@^5.1.3": - "integrity" "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==" - "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" - "version" "5.1.3" - dependencies: - "browserslist" "^4.21.4" - "postcss-value-parser" "^4.2.0" - -"postcss-discard-comments@^5.1.2": - "integrity" "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" - "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" - "version" "5.1.2" - -"postcss-discard-duplicates@^5.1.0": - "integrity" "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" - "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" - "version" "5.1.0" - -"postcss-discard-empty@^5.1.1": - "integrity" "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" - "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" - "version" "5.1.1" - -"postcss-discard-overridden@^5.1.0": - "integrity" "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" - "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" - "version" "5.1.0" - -"postcss-load-config@^3.1.0": - "integrity" "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==" - "resolved" "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" - "version" "3.1.4" - dependencies: - "lilconfig" "^2.0.5" - "yaml" "^1.10.2" - -"postcss-loader@^6.2.0": - "integrity" "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==" - "resolved" "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" - "version" "6.2.1" - dependencies: - "cosmiconfig" "^7.0.0" - "klona" "^2.0.5" - "semver" "^7.3.5" - -"postcss-merge-longhand@^5.1.7": - "integrity" "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==" - "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" - "version" "5.1.7" - dependencies: - "postcss-value-parser" "^4.2.0" - "stylehacks" "^5.1.1" - -"postcss-merge-rules@^5.1.4": - "integrity" "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==" - "resolved" "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz" - "version" "5.1.4" - dependencies: - "browserslist" "^4.21.4" - "caniuse-api" "^3.0.0" - "cssnano-utils" "^3.1.0" - "postcss-selector-parser" "^6.0.5" - -"postcss-minify-font-values@^5.1.0": - "integrity" "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==" - "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "postcss-value-parser" "^4.2.0" - -"postcss-minify-gradients@^5.1.1": - "integrity" "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==" - "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "colord" "^2.9.1" - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" - -"postcss-minify-params@^5.1.4": - "integrity" "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==" - "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" - "version" "5.1.4" - dependencies: - "browserslist" "^4.21.4" - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" - -"postcss-minify-selectors@^5.2.1": - "integrity" "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==" - "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "postcss-selector-parser" "^6.0.5" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +perfect-scrollbar@^1.5.0: + version "1.5.1" + resolved "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.1.tgz" + integrity sha512-MrSImINnIh3Tm1hdPT6bji6fmIeRorVEegQvyUnhqko2hDGTHhmjPefHXfxG/Jb8xVbfCwgmUIlIajERGXjVXQ== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +popper.js@^1.16.1: + version "1.16.1" + resolved "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz" + integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz" + integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-load-config@^3.1.0: + version "3.1.4" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" + integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== + dependencies: + lilconfig "^2.0.5" + yaml "^1.10.2" + +postcss-loader@^6.2.0: + version "6.2.1" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz" + integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== + dependencies: + postcss-selector-parser "^6.0.5" -"postcss-modules-extract-imports@^3.0.0": - "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" - "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - "version" "3.0.0" +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -"postcss-modules-local-by-default@^4.0.0": - "integrity" "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" - "version" "4.0.0" +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== dependencies: - "icss-utils" "^5.0.0" - "postcss-selector-parser" "^6.0.2" - "postcss-value-parser" "^4.1.0" + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" -"postcss-modules-scope@^3.0.0": - "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" - "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - "version" "3.0.0" +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: - "postcss-selector-parser" "^6.0.4" + postcss-selector-parser "^6.0.4" -"postcss-modules-values@^4.0.0": - "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - "version" "4.0.0" +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - "icss-utils" "^5.0.0" + icss-utils "^5.0.0" -"postcss-normalize-charset@^5.1.0": - "integrity" "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== -"postcss-normalize-display-values@^5.1.0": - "integrity" "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-positions@^5.1.1": - "integrity" "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" - "version" "5.1.1" +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-repeat-style@^5.1.1": - "integrity" "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==" - "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" - "version" "5.1.1" +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-string@^5.1.0": - "integrity" "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==" - "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-timing-functions@^5.1.0": - "integrity" "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-unicode@^5.1.1": - "integrity" "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" - "version" "5.1.1" +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== dependencies: - "browserslist" "^4.21.4" - "postcss-value-parser" "^4.2.0" + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" -"postcss-normalize-url@^5.1.0": - "integrity" "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==" - "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: - "normalize-url" "^6.0.1" - "postcss-value-parser" "^4.2.0" + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" -"postcss-normalize-whitespace@^5.1.1": - "integrity" "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" - "version" "5.1.1" +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-ordered-values@^5.1.3": - "integrity" "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==" - "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" - "version" "5.1.3" +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -"postcss-reduce-initial@^5.1.2": - "integrity" "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==" - "resolved" "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "browserslist" "^4.21.4" - "caniuse-api" "^3.0.0" - -"postcss-reduce-transforms@^5.1.0": - "integrity" "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==" - "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "postcss-value-parser" "^4.2.0" - -"postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4", "postcss-selector-parser@^6.0.5", "postcss-selector-parser@^6.0.9": - "integrity" "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==" - "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" - "version" "6.0.13" - dependencies: - "cssesc" "^3.0.0" - "util-deprecate" "^1.0.2" - -"postcss-svgo@^5.1.0": - "integrity" "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==" - "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "postcss-value-parser" "^4.2.0" - "svgo" "^2.7.0" - -"postcss-unique-selectors@^5.1.1": - "integrity" "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==" - "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "postcss-selector-parser" "^6.0.5" - -"postcss-value-parser@^4.1.0", "postcss-value-parser@^4.2.0": - "integrity" "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - "version" "4.2.0" - -"postcss@^7.0.0 || ^8.0.1", "postcss@^8.0.9", "postcss@^8.1", "postcss@^8.1.0", "postcss@^8.2.15", "postcss@^8.2.2", "postcss@^8.3.11", "postcss@^8.4.14", "postcss@>=8.0.9": - "integrity" "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz" - "version" "8.4.24" - dependencies: - "nanoid" "^3.3.6" - "picocolors" "^1.0.0" - "source-map-js" "^1.0.2" - -"postcss@7.0.36": - "integrity" "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" - "version" "7.0.36" - dependencies: - "chalk" "^2.4.2" - "source-map" "^0.6.1" - "supports-color" "^6.1.0" - -"prettier@^1.18.2": - "integrity" "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - "resolved" "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" - "version" "1.19.1" - -"pretty-time@^1.1.0": - "integrity" "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" - "resolved" "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" - "version" "1.1.0" - -"process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"process@^0.11.10": - "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - "version" "0.11.10" - -"proxy-addr@~2.0.7": - "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" - "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "forwarded" "0.2.0" - "ipaddr.js" "1.9.1" - -"pseudomap@^1.0.2": - "integrity" "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - "resolved" "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - "version" "1.0.2" - -"public-encrypt@^4.0.0": - "integrity" "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==" - "resolved" "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "bn.js" "^4.1.0" - "browserify-rsa" "^4.0.0" - "create-hash" "^1.1.0" - "parse-asn1" "^5.0.0" - "randombytes" "^2.0.1" - "safe-buffer" "^5.1.2" - -"punycode@^1.2.4": - "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - "version" "1.4.1" - -"punycode@^2.1.0": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"punycode@1.3.2": - "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - "version" "1.3.2" - -"qs@6.11.0": - "integrity" "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - "version" "6.11.0" - dependencies: - "side-channel" "^1.0.4" - -"querystring-es3@^0.2.0": - "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" - "version" "0.2.1" - -"querystring@0.2.0": - "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - "version" "0.2.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5", "randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"randomfill@^1.0.3": - "integrity" "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==" - "resolved" "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "randombytes" "^2.0.5" - "safe-buffer" "^5.1.0" - -"range-parser@^1.2.1", "range-parser@~1.2.1": - "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - "version" "1.2.1" - -"raw-body@2.5.1": - "integrity" "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==" - "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - "version" "2.5.1" - dependencies: - "bytes" "3.1.2" - "http-errors" "2.0.0" - "iconv-lite" "0.4.24" - "unpipe" "1.0.0" - -"readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.3.3", "readable-stream@^2.3.6": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^3.0.6": - "integrity" "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - "version" "3.6.2" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.6.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"rechoir@^0.7.0": - "integrity" "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" - "version" "0.7.1" - dependencies: - "resolve" "^1.9.0" - -"regenerate-unicode-properties@^10.1.0": - "integrity" "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "regenerate" "^1.4.2" - -"regenerate@^1.4.2": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" - -"regenerator-runtime@^0.13.11": - "integrity" "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - "version" "0.13.11" - -"regenerator-transform@^0.15.1": - "integrity" "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" - "version" "0.15.1" +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz" + integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.13" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^2.7.0" + +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1, postcss@^8.1.0, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.3.11, postcss@^8.4.14, postcss@>=8.0.9: + version "8.4.24" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz" + integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@7.0.36: + version "7.0.36" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz" + integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prettier@^1.18.2: + version "1.19.1" + resolved "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +pretty-time@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6: + version "2.3.7" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.7.0: + version "0.7.1" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== + dependencies: + resolve "^1.9.0" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== dependencies: "@babel/runtime" "^7.8.4" -"regex-parser@^2.2.11": - "integrity" "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - "resolved" "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz" - "version" "2.2.11" +regex-parser@^2.2.11: + version "2.2.11" + resolved "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz" + integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== -"regexpu-core@^5.3.1": - "integrity" "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==" - "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" - "version" "5.3.2" +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== dependencies: "@babel/regjsgen" "^0.8.0" - "regenerate" "^1.4.2" - "regenerate-unicode-properties" "^10.1.0" - "regjsparser" "^0.9.1" - "unicode-match-property-ecmascript" "^2.0.0" - "unicode-match-property-value-ecmascript" "^2.1.0" - -"regjsparser@^0.9.1": - "integrity" "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "jsesc" "~0.5.0" - -"relateurl@^0.2.7": - "integrity" "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - "resolved" "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - "version" "0.2.7" - -"replace-ext@^1.0.0": - "integrity" "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" - "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" - "version" "1.0.1" - -"require-directory@^2.1.1": - "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"require-from-string@^2.0.2": - "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - "version" "2.0.2" - -"requires-port@^1.0.0": - "integrity" "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - "version" "1.0.0" - -"resolve-cwd@^3.0.0": - "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "resolve-from" "^5.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-from@^5.0.0": - "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - "version" "5.0.0" - -"resolve-url-loader@^3.1.0": - "integrity" "sha512-mgFMCmrV/tA4738EsFmPFE5/MaqSgUMe8LK971kVEKA/RrNVb7+VqFsg/qmKyythf34eyq476qIobP/gfFBGSQ==" - "resolved" "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "adjust-sourcemap-loader" "3.0.0" - "camelcase" "5.3.1" - "compose-function" "3.0.3" - "convert-source-map" "1.7.0" - "es6-iterator" "2.0.3" - "loader-utils" "^1.2.3" - "postcss" "7.0.36" - "rework" "1.0.1" - "rework-visit" "1.0.0" - "source-map" "0.6.1" - -"resolve-url@^0.2.1": - "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - "version" "0.2.1" - -"resolve@^1.14.2", "resolve@^1.9.0": - "integrity" "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" - "version" "1.22.2" - dependencies: - "is-core-module" "^2.11.0" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"retry@^0.13.1": - "integrity" "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - "resolved" "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - "version" "0.13.1" - -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" - -"rework-visit@1.0.0": - "integrity" "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" - "resolved" "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz" - "version" "1.0.0" - -"rework@1.0.1": - "integrity" "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=" - "resolved" "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "convert-source-map" "^0.3.3" - "css" "^2.0.0" - -"rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"ripemd160@^2.0.0", "ripemd160@^2.0.1": - "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" - "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" - -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "queue-microtask" "^1.2.2" - -"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@>=5.1.0", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safe-buffer@^5.2.0": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-buffer@5.2.1": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" - -"sass-loader@^8.0.0": - "integrity" "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==" - "resolved" "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz" - "version" "8.0.2" - dependencies: - "clone-deep" "^4.0.1" - "loader-utils" "^1.2.3" - "neo-async" "^2.6.1" - "schema-utils" "^2.6.1" - "semver" "^6.3.0" - -"sass@^1.20.1", "sass@^1.3.0": - "integrity" "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==" - "resolved" "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz" - "version" "1.34.1" - dependencies: - "chokidar" ">=3.0.0 <4.0.0" - -"schema-utils@^2.6.1", "schema-utils@^2.6.5": - "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - "version" "2.7.1" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url-loader@^3.1.0: + version "3.1.5" + resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.5.tgz" + integrity sha512-mgFMCmrV/tA4738EsFmPFE5/MaqSgUMe8LK971kVEKA/RrNVb7+VqFsg/qmKyythf34eyq476qIobP/gfFBGSQ== + dependencies: + adjust-sourcemap-loader "3.0.0" + camelcase "5.3.1" + compose-function "3.0.3" + convert-source-map "1.7.0" + es6-iterator "2.0.3" + loader-utils "^1.2.3" + postcss "7.0.36" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve@^1.14.2, resolve@^1.9.0: + version "1.22.2" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= sha512-W6V2fix7nCLUYX1v6eGPrBOZlc03/faqzP4sUxMAJMBMOPYhfV/RyLegTufn5gJKaOITyi+gvf0LXDZ9NzkHnQ== + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= sha512-eEjL8FdkdsxApd0yWVZgBGzfCQiT8yqSc2H1p4jpZpQdtz7ohETiDMoje5PlM8I9WgkqkreVxFUKYOiJdVWDXw== + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@>=5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@^5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-loader@^8.0.0: + version "8.0.2" + resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz" + integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + +sass@^1.20.1, sass@^1.3.0: + version "1.34.1" + resolved "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz" + integrity sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + +schema-utils@^2.6.1: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" - "ajv" "^6.12.4" - "ajv-keywords" "^3.5.2" + ajv "^6.12.4" + ajv-keywords "^3.5.2" -"schema-utils@^3.0.0": - "integrity" "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz" - "version" "3.0.0" +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz" + integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== dependencies: "@types/json-schema" "^7.0.6" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -"schema-utils@^3.1.1": - "integrity" "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" - "version" "3.1.2" +schema-utils@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" + integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== dependencies: "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -"schema-utils@^3.1.2": - "integrity" "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" - "version" "3.1.2" +schema-utils@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" + integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== dependencies: "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -"schema-utils@^4.0.0": - "integrity" "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz" - "version" "4.0.1" +schema-utils@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz" + integrity sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ== dependencies: "@types/json-schema" "^7.0.9" - "ajv" "^8.9.0" - "ajv-formats" "^2.1.1" - "ajv-keywords" "^5.1.0" - -"select-hose@^2.0.0": - "integrity" "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - "resolved" "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - "version" "2.0.0" - -"selfsigned@^2.1.1": - "integrity" "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==" - "resolved" "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "node-forge" "^1" - -"semver@^6.0.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.1": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.2": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.3.2", "semver@^7.3.5": - "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - "version" "7.3.5" - dependencies: - "lru-cache" "^6.0.0" - -"send@0.18.0": - "integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==" - "resolved" "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - "version" "0.18.0" - dependencies: - "debug" "2.6.9" - "depd" "2.0.0" - "destroy" "1.2.0" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "etag" "~1.8.1" - "fresh" "0.5.2" - "http-errors" "2.0.0" - "mime" "1.6.0" - "ms" "2.1.3" - "on-finished" "2.4.1" - "range-parser" "~1.2.1" - "statuses" "2.0.1" - -"serialize-javascript@^6.0.1": - "integrity" "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "randombytes" "^2.1.0" - -"serve-index@^1.9.1": - "integrity" "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==" - "resolved" "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - "version" "1.9.1" - dependencies: - "accepts" "~1.3.4" - "batch" "0.6.1" - "debug" "2.6.9" - "escape-html" "~1.0.3" - "http-errors" "~1.6.2" - "mime-types" "~2.1.17" - "parseurl" "~1.3.2" - -"serve-static@1.15.0": - "integrity" "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==" - "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "parseurl" "~1.3.3" - "send" "0.18.0" - -"setimmediate@^1.0.4": - "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - "version" "1.0.5" - -"setprototypeof@1.1.0": - "integrity" "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" - "version" "1.1.0" - -"setprototypeof@1.2.0": - "integrity" "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - "version" "1.2.0" - -"sha.js@^2.4.0", "sha.js@^2.4.8": - "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" - "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - "version" "2.4.11" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^6.0.2" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"shell-quote@^1.7.3": - "integrity" "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" - "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" - "version" "1.8.1" - -"shellwords@^0.1.1": - "integrity" "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" - "resolved" "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" - "version" "0.1.1" - -"side-channel@^1.0.4": - "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" - "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.0" - "get-intrinsic" "^1.0.2" - "object-inspect" "^1.9.0" - -"signal-exit@^3.0.3": - "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - "version" "3.0.7" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"sockjs@^0.3.24": - "integrity" "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==" - "resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" - "version" "0.3.24" - dependencies: - "faye-websocket" "^0.11.3" - "uuid" "^8.3.2" - "websocket-driver" "^0.7.4" - -"source-list-map@^2.0.0": - "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - "version" "2.0.1" - -"source-map-js@^1.0.2": - "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - "version" "1.0.2" - -"source-map-resolve@^0.5.2": - "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" - "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "atob" "^2.1.2" - "decode-uri-component" "^0.2.0" - "resolve-url" "^0.2.1" - "source-map-url" "^0.4.0" - "urix" "^0.1.0" - -"source-map-support@~0.5.12", "source-map-support@~0.5.20": - "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - "version" "0.5.21" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map-url@^0.4.0": - "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - "version" "0.4.1" - -"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.0", "source-map@~0.6.1", "source-map@0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"spdy-transport@^3.0.0": - "integrity" "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==" - "resolved" "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "debug" "^4.1.0" - "detect-node" "^2.0.4" - "hpack.js" "^2.1.6" - "obuf" "^1.1.2" - "readable-stream" "^3.0.6" - "wbuf" "^1.7.3" - -"spdy@^4.0.2": - "integrity" "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==" - "resolved" "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "debug" "^4.1.0" - "handle-thing" "^2.0.0" - "http-deceiver" "^1.2.7" - "select-hose" "^2.0.0" - "spdy-transport" "^3.0.0" - -"stable@^0.1.8": - "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - "version" "0.1.8" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" + integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== + dependencies: + node-forge "^1" + +semver@^6.0.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.1.1: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.1.2: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.2, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3: + version "1.8.1" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@~0.5.12, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1, source-map@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== "statuses@>= 1.4.0 < 2": - "integrity" "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - "version" "1.5.0" - -"statuses@2.0.1": - "integrity" "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - "version" "2.0.1" + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"std-env@^2.2.1": - "integrity" "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==" - "resolved" "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz" - "version" "2.3.0" +std-env@^2.2.1: + version "2.3.0" + resolved "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz" + integrity sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw== dependencies: - "ci-info" "^3.0.0" - -"stream-browserify@^2.0.1": - "integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==" - "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" - "version" "2.0.2" + ci-info "^3.0.0" + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== dependencies: - "inherits" "~2.0.1" - "readable-stream" "^2.0.2" + inherits "~2.0.1" + readable-stream "^2.0.2" -"stream-http@^2.7.2": - "integrity" "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==" - "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" - "version" "2.8.3" +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== dependencies: - "builtin-status-codes" "^3.0.0" - "inherits" "^2.0.1" - "readable-stream" "^2.3.6" - "to-arraybuffer" "^1.0.0" - "xtend" "^4.0.0" + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" -"string_decoder@^1.0.0", "string_decoder@^1.1.1", "string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" +string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: - "safe-buffer" "~5.1.0" + safe-buffer "~5.1.0" -"string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - "ansi-regex" "^5.0.1" + ansi-regex "^5.0.1" -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -"style-loader@^2.0.0": - "integrity" "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==" - "resolved" "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz" - "version" "2.0.0" +style-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz" + integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" + loader-utils "^2.0.0" + schema-utils "^3.0.0" -"stylehacks@^5.1.1": - "integrity" "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==" - "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" - "version" "5.1.1" +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== dependencies: - "browserslist" "^4.21.4" - "postcss-selector-parser" "^6.0.4" + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: - "has-flag" "^3.0.0" + has-flag "^3.0.0" -"supports-color@^6.1.0": - "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" - "version" "6.1.0" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: - "has-flag" "^3.0.0" + has-flag "^3.0.0" -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: - "has-flag" "^4.0.0" + has-flag "^4.0.0" -"supports-color@^8.0.0": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: - "has-flag" "^4.0.0" + has-flag "^4.0.0" -"supports-preserve-symlinks-flag@^1.0.0": - "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - "version" "1.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -"svgo@^2.7.0": - "integrity" "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - "version" "2.8.0" +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: "@trysound/sax" "0.2.0" - "commander" "^7.2.0" - "css-select" "^4.1.3" - "css-tree" "^1.1.3" - "csso" "^4.2.0" - "picocolors" "^1.0.0" - "stable" "^0.1.8" - -"sweetalert2@^9.8.2": - "integrity" "sha512-HkpPZVMYsnhFUBLdy/LvkU9snggKP3VAuSVnPhVXjxdg02lWbFx0W8H3m7A+WMWw2diXZS1wIa4m67XkNxdvew==" - "resolved" "https://registry.npmjs.org/sweetalert2/-/sweetalert2-9.17.2.tgz" - "version" "9.17.2" - -"tapable@^2.1.1", "tapable@^2.2.0": - "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - "version" "2.2.1" - -"terser-webpack-plugin@^5.2.4", "terser-webpack-plugin@^5.3.7": - "integrity" "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" - "version" "5.3.9" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +sweetalert2@^9.8.2: + version "9.17.2" + resolved "https://registry.npmjs.org/sweetalert2/-/sweetalert2-9.17.2.tgz" + integrity sha512-HkpPZVMYsnhFUBLdy/LvkU9snggKP3VAuSVnPhVXjxdg02lWbFx0W8H3m7A+WMWw2diXZS1wIa4m67XkNxdvew== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.2.4, terser-webpack-plugin@^5.3.7: + version "5.3.9" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" + integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== dependencies: "@jridgewell/trace-mapping" "^0.3.17" - "jest-worker" "^27.4.5" - "schema-utils" "^3.1.1" - "serialize-javascript" "^6.0.1" - "terser" "^5.16.8" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.16.8" -"terser@^4.6.3": - "integrity" "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==" - "resolved" "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz" - "version" "4.8.1" +terser@^4.6.3: + version "4.8.1" + resolved "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz" + integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== dependencies: - "commander" "^2.20.0" - "source-map" "~0.6.1" - "source-map-support" "~0.5.12" - -"terser@^5.16.8": - "integrity" "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==" - "resolved" "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz" - "version" "5.17.7" - dependencies: - "@jridgewell/source-map" "^0.3.3" - "acorn" "^8.8.2" - "commander" "^2.20.0" - "source-map-support" "~0.5.20" + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" -"terser@^5.9.0": - "integrity" "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==" - "resolved" "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz" - "version" "5.17.7" +terser@^5.16.8, terser@^5.9.0: + version "5.17.7" + resolved "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz" + integrity sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ== dependencies: "@jridgewell/source-map" "^0.3.3" - "acorn" "^8.8.2" - "commander" "^2.20.0" - "source-map-support" "~0.5.20" - -"text-table@^0.2.0": - "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"thunky@^1.0.2": - "integrity" "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - "resolved" "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" - "version" "1.1.0" - -"timers-browserify@^2.0.4": - "integrity" "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==" - "resolved" "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" - "version" "2.0.12" - dependencies: - "setimmediate" "^1.0.4" - -"to-arraybuffer@^1.0.0": - "integrity" "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - "resolved" "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" - "version" "1.0.1" - -"to-fast-properties@^2.0.0": - "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"toidentifier@1.0.1": - "integrity" "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - "version" "1.0.1" - -"tslib@^2.0.3": - "integrity" "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" - "version" "2.3.0" - -"tty-browserify@0.0.0": - "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" - "version" "0.0.0" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"type-is@~1.6.18": - "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" - "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - "version" "1.6.18" - dependencies: - "media-typer" "0.3.0" - "mime-types" "~2.1.24" - -"type@^1.0.1": - "integrity" "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" - "resolved" "https://registry.npmjs.org/type/-/type-1.2.0.tgz" - "version" "1.2.0" - -"type@^2.0.0": - "integrity" "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" - "resolved" "https://registry.npmjs.org/type/-/type-2.5.0.tgz" - "version" "2.5.0" - -"unicode-canonical-property-names-ecmascript@^2.0.0": - "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-match-property-ecmascript@^2.0.0": - "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "unicode-canonical-property-names-ecmascript" "^2.0.0" - "unicode-property-aliases-ecmascript" "^2.0.0" - -"unicode-match-property-value-ecmascript@^2.1.0": - "integrity" "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - "version" "2.1.0" - -"unicode-property-aliases-ecmascript@^2.0.0": - "integrity" "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" - "version" "2.1.0" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"unpipe@~1.0.0", "unpipe@1.0.0": - "integrity" "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - "version" "1.0.0" - -"update-browserslist-db@^1.0.11": - "integrity" "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==" - "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" - "version" "1.0.11" - dependencies: - "escalade" "^3.1.1" - "picocolors" "^1.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"urix@^0.1.0": - "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - "version" "0.1.0" - -"url@^0.11.0": - "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=" - "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" - "version" "0.11.0" - dependencies: - "punycode" "1.3.2" - "querystring" "0.2.0" - -"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": - "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"util@^0.11.0": - "integrity" "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==" - "resolved" "https://registry.npmjs.org/util/-/util-0.11.1.tgz" - "version" "0.11.1" - dependencies: - "inherits" "2.0.3" - -"util@0.10.3": - "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=" - "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz" - "version" "0.10.3" - dependencies: - "inherits" "2.0.1" - -"utils-merge@1.0.1": - "integrity" "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - "version" "1.0.1" - -"uuid@^8.3.0", "uuid@^8.3.2": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"vary@~1.1.2": - "integrity" "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - "version" "1.1.2" - -"vm-browserify@^1.0.1": - "integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - "resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" - "version" "1.1.2" - -"vue-hot-reload-api@^2.3.0": - "integrity" "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==" - "resolved" "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz" - "version" "2.3.4" - -"vue-loader@^15.9.5": - "integrity" "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==" - "resolved" "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.1.tgz" - "version" "15.10.1" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +tslib@^2.0.3: + version "2.3.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.5.0" + resolved "https://registry.npmjs.org/type/-/type-2.5.0.tgz" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@~1.0.0, unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.npmjs.org/util/-/util-0.10.3.tgz" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== + dependencies: + inherits "2.0.1" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.0, uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz" + integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== + +vue-loader@^15.9.5: + version "15.10.1" + resolved "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.1.tgz" + integrity sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA== dependencies: "@vue/component-compiler-utils" "^3.1.0" - "hash-sum" "^1.0.2" - "loader-utils" "^1.1.0" - "vue-hot-reload-api" "^2.3.0" - "vue-style-loader" "^4.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" -"vue-style-loader@^4.1.0", "vue-style-loader@^4.1.3": - "integrity" "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==" - "resolved" "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz" - "version" "4.1.3" +vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz" + integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== dependencies: - "hash-sum" "^1.0.2" - "loader-utils" "^1.0.2" + hash-sum "^1.0.2" + loader-utils "^1.0.2" -"vue-template-compiler@^2.6.10": - "integrity" "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==" - "resolved" "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz" - "version" "2.6.14" +vue-template-compiler@^2.6.10: + version "2.6.14" + resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz" + integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== dependencies: - "de-indent" "^1.0.2" - "he" "^1.1.0" + de-indent "^1.0.2" + he "^1.1.0" -"vue-template-es2015-compiler@^1.9.0": - "integrity" "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==" - "resolved" "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz" - "version" "1.9.1" +vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz" + integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== -"vue@^2.7.14": - "integrity" "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==" - "resolved" "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz" - "version" "2.7.14" +vue@^2.7.14: + version "2.7.14" + resolved "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz" + integrity sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ== dependencies: "@vue/compiler-sfc" "2.7.14" - "csstype" "^3.1.0" + csstype "^3.1.0" -"watchpack@^2.4.0": - "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - "version" "2.4.0" +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.1.2" + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" -"wbuf@^1.1.0", "wbuf@^1.7.3": - "integrity" "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==" - "resolved" "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" - "version" "1.7.3" +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== dependencies: - "minimalistic-assert" "^1.0.0" + minimalistic-assert "^1.0.0" -"webpack-cli@^4.9.1", "webpack-cli@4.x.x": - "integrity" "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==" - "resolved" "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz" - "version" "4.10.0" +webpack-cli@^4.9.1, webpack-cli@4.x.x: + version "4.10.0" + resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== dependencies: "@discoveryjs/json-ext" "^0.5.0" "@webpack-cli/configtest" "^1.2.0" "@webpack-cli/info" "^1.5.0" "@webpack-cli/serve" "^1.7.0" - "colorette" "^2.0.14" - "commander" "^7.0.0" - "cross-spawn" "^7.0.3" - "fastest-levenshtein" "^1.0.12" - "import-local" "^3.0.2" - "interpret" "^2.2.0" - "rechoir" "^0.7.0" - "webpack-merge" "^5.7.3" - -"webpack-dev-middleware@^5.3.1": - "integrity" "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==" - "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" - "version" "5.3.3" - dependencies: - "colorette" "^2.0.10" - "memfs" "^3.4.3" - "mime-types" "^2.1.31" - "range-parser" "^1.2.1" - "schema-utils" "^4.0.0" - -"webpack-dev-server@^4.7.3": - "integrity" "sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ==" - "resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz" - "version" "4.15.0" + colorette "^2.0.14" + commander "^7.0.0" + cross-spawn "^7.0.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^2.2.0" + rechoir "^0.7.0" + webpack-merge "^5.7.3" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.7.3: + version "4.15.0" + resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz" + integrity sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -5521,192 +5526,192 @@ "@types/serve-static" "^1.13.10" "@types/sockjs" "^0.3.33" "@types/ws" "^8.5.1" - "ansi-html-community" "^0.0.8" - "bonjour-service" "^1.0.11" - "chokidar" "^3.5.3" - "colorette" "^2.0.10" - "compression" "^1.7.4" - "connect-history-api-fallback" "^2.0.0" - "default-gateway" "^6.0.3" - "express" "^4.17.3" - "graceful-fs" "^4.2.6" - "html-entities" "^2.3.2" - "http-proxy-middleware" "^2.0.3" - "ipaddr.js" "^2.0.1" - "launch-editor" "^2.6.0" - "open" "^8.0.9" - "p-retry" "^4.5.0" - "rimraf" "^3.0.2" - "schema-utils" "^4.0.0" - "selfsigned" "^2.1.1" - "serve-index" "^1.9.1" - "sockjs" "^0.3.24" - "spdy" "^4.0.2" - "webpack-dev-middleware" "^5.3.1" - "ws" "^8.13.0" - -"webpack-merge@^5.7.3", "webpack-merge@^5.8.0": - "integrity" "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==" - "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz" - "version" "5.9.0" - dependencies: - "clone-deep" "^4.0.1" - "wildcard" "^2.0.0" - -"webpack-notifier@^1.14.1": - "integrity" "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==" - "resolved" "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "node-notifier" "^9.0.0" - "strip-ansi" "^6.0.0" - -"webpack-sources@^1.1.0": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack-sources@^3.2.3": - "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - "version" "3.2.3" - -"webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.36.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.0.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.60.0", "webpack@>=2", "webpack@3 || 4 || 5", "webpack@4.x.x || 5.x.x": - "integrity" "sha512-7gazTiYqwo5OSqwH1tigLDL2r3qDeP2dOKYgd+LlXpsUMqDTklg6tOghexqky0/+6QY38kb/R/uRPUleuL43zg==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.85.0.tgz" - "version" "5.85.0" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^5.7.3, webpack-merge@^5.8.0: + version "5.9.0" + resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz" + integrity sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-notifier@^1.14.1: + version "1.15.0" + resolved "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz" + integrity sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ== + dependencies: + node-notifier "^9.0.0" + strip-ansi "^6.0.0" + +webpack-sources@^1.1.0: + version "1.4.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +"webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.36.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.60.0, webpack@>=2, "webpack@3 || 4 || 5", "webpack@4.x.x || 5.x.x": + version "5.85.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.85.0.tgz" + integrity sha512-7gazTiYqwo5OSqwH1tigLDL2r3qDeP2dOKYgd+LlXpsUMqDTklg6tOghexqky0/+6QY38kb/R/uRPUleuL43zg== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.0" "@webassemblyjs/ast" "^1.11.5" "@webassemblyjs/wasm-edit" "^1.11.5" "@webassemblyjs/wasm-parser" "^1.11.5" - "acorn" "^8.7.1" - "acorn-import-assertions" "^1.9.0" - "browserslist" "^4.14.5" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^5.14.1" - "es-module-lexer" "^1.2.1" - "eslint-scope" "5.1.1" - "events" "^3.2.0" - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.2.9" - "json-parse-even-better-errors" "^2.3.1" - "loader-runner" "^4.2.0" - "mime-types" "^2.1.27" - "neo-async" "^2.6.2" - "schema-utils" "^3.1.2" - "tapable" "^2.1.1" - "terser-webpack-plugin" "^5.3.7" - "watchpack" "^2.4.0" - "webpack-sources" "^3.2.3" - -"webpackbar@^5.0.0-3": - "integrity" "sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g==" - "resolved" "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz" - "version" "5.0.0-3" - dependencies: - "ansi-escapes" "^4.3.1" - "chalk" "^4.1.0" - "consola" "^2.15.0" - "figures" "^3.2.0" - "pretty-time" "^1.1.0" - "std-env" "^2.2.1" - "text-table" "^0.2.0" - "wrap-ansi" "^7.0.0" - -"websocket-driver@^0.7.4", "websocket-driver@>=0.5.1": - "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" - "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - "version" "0.7.4" - dependencies: - "http-parser-js" ">=0.5.1" - "safe-buffer" ">=5.1.0" - "websocket-extensions" ">=0.1.1" - -"websocket-extensions@>=0.1.1": - "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" - "version" "0.1.4" - -"which@^2.0.1", "which@^2.0.2": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"wildcard@^2.0.0": - "integrity" "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" - "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" - "version" "2.0.1" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"ws@^8.13.0": - "integrity" "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==" - "resolved" "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" - "version" "8.13.0" - -"xtend@^4.0.0": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^2.1.2": - "integrity" "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - "version" "2.1.2" - -"yallist@^3.0.2": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yaml@^1.10.0", "yaml@^1.10.2": - "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - "version" "1.10.2" - -"yargs-parser@^21.1.1": - "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - "version" "21.1.1" - -"yargs@^17.2.1": - "integrity" "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - "version" "17.7.2" - dependencies: - "cliui" "^8.0.1" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.3" - "y18n" "^5.0.5" - "yargs-parser" "^21.1.1" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.14.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.2" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.7" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +webpackbar@^5.0.0-3: + version "5.0.0-3" + resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz" + integrity sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g== + dependencies: + ansi-escapes "^4.3.1" + chalk "^4.1.0" + consola "^2.15.0" + figures "^3.2.0" + pretty-time "^1.1.0" + std-env "^2.2.1" + text-table "^0.2.0" + wrap-ansi "^7.0.0" + +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^8.13.0: + version "8.13.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.2.1: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" From 360f59fb2990ac5bea2e42f16b5b0d520279e83f Mon Sep 17 00:00:00 2001 From: IsharaEkanayaka Date: Fri, 23 Aug 2024 00:35:54 +0530 Subject: [PATCH 02/72] update local Storage Management for addItem component --- .../components/backend/addItem.blade.php | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/resources/views/components/backend/addItem.blade.php b/resources/views/components/backend/addItem.blade.php index 11fb2952..d6231168 100644 --- a/resources/views/components/backend/addItem.blade.php +++ b/resources/views/components/backend/addItem.blade.php @@ -1,19 +1,25 @@
    -
    +
    -
    @@ -33,12 +39,28 @@
    - - - + + +
    - +
    From 8f423f58c0703338615afefaee66ef928b1ce232 Mon Sep 17 00:00:00 2001 From: IsharaEkanayaka Date: Fri, 23 Aug 2024 05:43:10 +0530 Subject: [PATCH 03/72] Switch from localStorage to sessionStorage for temporary item persistence --- resources/views/components/backend/addItem.blade.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/views/components/backend/addItem.blade.php b/resources/views/components/backend/addItem.blade.php index d6231168..93ca7888 100644 --- a/resources/views/components/backend/addItem.blade.php +++ b/resources/views/components/backend/addItem.blade.php @@ -2,12 +2,12 @@
    + x-init="$watch('items', value => sessionStorage.setItem('items', JSON.stringify(value)))">
    @@ -42,25 +42,25 @@
    - +
    From 81199cdd179146b2f3d77db4139a0a844258a768 Mon Sep 17 00:00:00 2001 From: IsharaEkanayaka Date: Fri, 23 Aug 2024 19:25:22 +0530 Subject: [PATCH 04/72] add 2 features to addItem blade component --- .../components/backend/addItem.blade.php | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/resources/views/components/backend/addItem.blade.php b/resources/views/components/backend/addItem.blade.php index 93ca7888..d94002b1 100644 --- a/resources/views/components/backend/addItem.blade.php +++ b/resources/views/components/backend/addItem.blade.php @@ -5,23 +5,28 @@ items: JSON.parse(sessionStorage.getItem('items') || '[]'), userInput: '', selectedItem: null, - editIndex: null + editIndex: null, + isEditing: false }" x-init="$watch('items', value => sessionStorage.setItem('items', JSON.stringify(value)))">
    - + sessionStorage.setItem('items', JSON.stringify(items)); + }"> +
    @@ -30,7 +35,7 @@